diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2011-04-13 00:46:47 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2011-04-13 00:46:47 +0000 |
commit | 67e29a054cfcb1b0d2fe6b0a316cf6b3eec087b7 (patch) | |
tree | 5f52a9eada2e9f3654fc327d7c14dfef570a6ecb /libkpimexchange/core | |
parent | 2ee4bf4fd5eff93b2fbef0ff8e8063edffc5da5c (diff) | |
download | tdepim-67e29a054cfcb1b0d2fe6b0a316cf6b3eec087b7.tar.gz tdepim-67e29a054cfcb1b0d2fe6b0a316cf6b3eec087b7.zip |
Initial conversion of kdepim to TQt
This will probably require some tweaking before it will build under Qt4,
however Qt3 builds are OK. Any alterations this commit makes to kdepim
behaviour under Qt3 are unintentional and should be fixed.
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1227832 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'libkpimexchange/core')
-rw-r--r-- | libkpimexchange/core/exchangeaccount.cpp | 10 | ||||
-rw-r--r-- | libkpimexchange/core/exchangeaccount.h | 7 | ||||
-rw-r--r-- | libkpimexchange/core/exchangeclient.cpp | 2 | ||||
-rw-r--r-- | libkpimexchange/core/exchangeclient.h | 3 | ||||
-rw-r--r-- | libkpimexchange/core/exchangedelete.cpp | 2 | ||||
-rw-r--r-- | libkpimexchange/core/exchangedelete.h | 1 | ||||
-rw-r--r-- | libkpimexchange/core/exchangedownload.cpp | 16 | ||||
-rw-r--r-- | libkpimexchange/core/exchangedownload.h | 3 | ||||
-rw-r--r-- | libkpimexchange/core/exchangemonitor.cpp | 12 | ||||
-rw-r--r-- | libkpimexchange/core/exchangemonitor.h | 1 | ||||
-rw-r--r-- | libkpimexchange/core/exchangeprogress.cpp | 4 | ||||
-rw-r--r-- | libkpimexchange/core/exchangeprogress.h | 3 | ||||
-rw-r--r-- | libkpimexchange/core/exchangeupload.cpp | 12 | ||||
-rw-r--r-- | libkpimexchange/core/exchangeupload.h | 1 |
14 files changed, 42 insertions, 35 deletions
diff --git a/libkpimexchange/core/exchangeaccount.cpp b/libkpimexchange/core/exchangeaccount.cpp index a974f2645..01ca1f02c 100644 --- a/libkpimexchange/core/exchangeaccount.cpp +++ b/libkpimexchange/core/exchangeaccount.cpp @@ -217,7 +217,7 @@ void ExchangeAccount::calcFolderURLs() { kdDebug() << "ExchangeAccount::calcFolderURLs" << endl; TQDomDocument doc; - TQDomElement root = addElement( doc, doc, "DAV:", "propfind" ); + TQDomElement root = addElement( doc, doc, "DAV:", "proptqfind" ); TQDomElement prop = addElement( doc, root, "DAV:", "prop" ); addElement( doc, prop, "urn:schemas:httpmail:", "calendar" ); // For later use: @@ -299,13 +299,13 @@ TQString ExchangeAccount::tryMailbox( const TQString &_url, const TQString &user TQString tmpFile; if ( !KIO::NetAccess::download( url, tmpFile, 0 ) ) { kdWarning() << "Trying to find mailbox failed: not able to download " << url.prettyURL() << endl; - return TQString::null; + return TQString(); } TQFile file( tmpFile ); if ( !file.open( IO_ReadOnly ) ) { kdWarning() << "Trying to find mailbox failed: not able to open temp file " << tmpFile << endl; KIO::NetAccess::removeTempFile( tmpFile ); - return TQString::null; + return TQString(); } TQTextStream stream( &file ); @@ -313,10 +313,10 @@ TQString ExchangeAccount::tryMailbox( const TQString &_url, const TQString &user TQString result; while ( !stream.eof() ) { line = stream.readLine(); // line of text excluding '\n' - int pos = line.find( "<BASE href=\"", 0, FALSE ); + int pos = line.tqfind( "<BASE href=\"", 0, FALSE ); if ( pos < 0 ) continue; - int end = line.find( "\"", pos+12, FALSE ); + int end = line.tqfind( "\"", pos+12, FALSE ); if ( pos < 0 ) { kdWarning() << "Strange, found no closing quote in " << line << endl; continue; diff --git a/libkpimexchange/core/exchangeaccount.h b/libkpimexchange/core/exchangeaccount.h index 244fc944b..3dfc266da 100644 --- a/libkpimexchange/core/exchangeaccount.h +++ b/libkpimexchange/core/exchangeaccount.h @@ -32,13 +32,14 @@ namespace KPIM { -class KDE_EXPORT ExchangeAccount : public QObject +class KDE_EXPORT ExchangeAccount : public TQObject { Q_OBJECT + TQ_OBJECT public: ExchangeAccount( const TQString &host, const TQString &port, const TQString &account, const TQString &password, - const TQString &mailbox = TQString::null ); + const TQString &mailbox = TQString() ); /** Create a new account object, read data from group app data */ @@ -63,7 +64,7 @@ class KDE_EXPORT ExchangeAccount : public QObject KURL baseURL(); KURL calendarURL(); - // Returns the mailbox URL of this user. TQString::null if unsuccessful + // Returns the mailbox URL of this user. TQString() if unsuccessful static TQString tryFindMailbox( const TQString &host, const TQString &port, const TQString &user, const TQString &password ); diff --git a/libkpimexchange/core/exchangeclient.cpp b/libkpimexchange/core/exchangeclient.cpp index 1047f36ef..cc84822ec 100644 --- a/libkpimexchange/core/exchangeclient.cpp +++ b/libkpimexchange/core/exchangeclient.cpp @@ -100,7 +100,7 @@ void ExchangeClient::test() TQString query = "<propfind xmlns=\"DAV:\" xmlns:h=\"urn:schemas:httpmail:\">\r\n" " <allprop/>\r\n" - "</propfind>\r\n"; + "</proptqfind>\r\n"; KIO::DavJob* job = new KIO::DavJob( url, (int) KIO::DAV_PROPFIND, query, false ); job->addMetaData( "davDepth", "0" ); diff --git a/libkpimexchange/core/exchangeclient.h b/libkpimexchange/core/exchangeclient.h index 2a1e6b508..056bcaa1f 100644 --- a/libkpimexchange/core/exchangeclient.h +++ b/libkpimexchange/core/exchangeclient.h @@ -47,8 +47,9 @@ class ExchangeDelete; class KDE_EXPORT ExchangeClient : public TQObject { Q_OBJECT + TQ_OBJECT public: - ExchangeClient( ExchangeAccount* account, const TQString& mTimeZoneId=TQString::null ); + ExchangeClient( ExchangeAccount* account, const TQString& mTimeZoneId=TQString() ); ~ExchangeClient(); /** diff --git a/libkpimexchange/core/exchangedelete.cpp b/libkpimexchange/core/exchangedelete.cpp index f88b22efd..eecfbd7f3 100644 --- a/libkpimexchange/core/exchangedelete.cpp +++ b/libkpimexchange/core/exchangedelete.cpp @@ -115,7 +115,7 @@ void ExchangeDelete::slotDeleteResult( KIO::Job* job ) emit finished( this, ExchangeClient::CommunicationError, "IO Error: " + TQString::number(job->error()) + ":" + job->errorString() ); return; } - emit finished( this, ExchangeClient::ResultOK, TQString::null ); + emit finished( this, ExchangeClient::ResultOK, TQString() ); } #include "exchangedelete.moc" diff --git a/libkpimexchange/core/exchangedelete.h b/libkpimexchange/core/exchangedelete.h index fb91b9122..9c82d86be 100644 --- a/libkpimexchange/core/exchangedelete.h +++ b/libkpimexchange/core/exchangedelete.h @@ -35,6 +35,7 @@ class ExchangeAccount; class KDE_EXPORT ExchangeDelete : public TQObject { Q_OBJECT + TQ_OBJECT public: ExchangeDelete( KCal::Event* event, ExchangeAccount* account, TQWidget* window=0 ); ~ExchangeDelete(); diff --git a/libkpimexchange/core/exchangedownload.cpp b/libkpimexchange/core/exchangedownload.cpp index 16b1a1a32..a13672d90 100644 --- a/libkpimexchange/core/exchangedownload.cpp +++ b/libkpimexchange/core/exchangedownload.cpp @@ -231,7 +231,7 @@ void ExchangeDownload::handleAppointments( const TQDomDocument &response, item = item.nextSibling().toElement() ) { //kdDebug() << "Current item:" << item.tagName() << endl; TQDomNodeList propstats = item.elementsByTagNameNS( "DAV:", "propstat" ); - // kdDebug() << "Item has " << propstats.count() << " propstat children" << endl; + // kdDebug() << "Item has " << propstats.count() << " propstat tqchildren" << endl; for( uint i=0; i < propstats.count(); i++ ) { TQDomElement propstat = propstats.item(i).toElement(); TQDomElement prop = propstat.namedItem( "prop" ).toElement(); @@ -308,7 +308,7 @@ void ExchangeDownload::handleRecurrence( TQString uid ) void ExchangeDownload::readAppointment( const KURL& url ) { TQDomDocument doc; - TQDomElement root = addElement( doc, doc, "DAV:", "propfind" ); + TQDomElement root = addElement( doc, doc, "DAV:", "proptqfind" ); TQDomElement prop = addElement( doc, root, "DAV:", "prop" ); addElement( doc, prop, "urn:schemas:calendar:", "uid" ); addElement( doc, prop, "urn:schemas:calendar:", "timezoneid" ); @@ -401,7 +401,7 @@ void ExchangeDownload::slotPropFindResult( KIO::Job *job ) TQString lastModified = prop.namedItem( "lastmodified" ).toElement().text(); if ( !lastModified.isEmpty() ) { - TQDateTime dt = utcAsZone( TQDateTime::fromString( lastModified, Qt::ISODate ), localTimeZoneId ); + TQDateTime dt = utcAsZone( TQDateTime::fromString( lastModified, TQt::ISODate ), localTimeZoneId ); event->setLastModified( dt ); kdDebug() << "Got lastModified:" << lastModified << ", " << dt.toString() << endl; } @@ -436,7 +436,7 @@ void ExchangeDownload::slotPropFindResult( KIO::Job *job ) TQString created = prop.namedItem( "created" ).toElement().text(); if ( !created.isEmpty() ) { - TQDateTime dt = utcAsZone( TQDateTime::fromString( created, Qt::ISODate ), + TQDateTime dt = utcAsZone( TQDateTime::fromString( created, TQt::ISODate ), localTimeZoneId ); event->setCreated( dt ); kdDebug() << "got created: " << dt.toString() << endl; @@ -444,7 +444,7 @@ void ExchangeDownload::slotPropFindResult( KIO::Job *job ) TQString dtstart = prop.namedItem( "dtstart" ).toElement().text(); if ( !dtstart.isEmpty() ) { - TQDateTime dt = utcAsZone( TQDateTime::fromString( dtstart, Qt::ISODate ), + TQDateTime dt = utcAsZone( TQDateTime::fromString( dtstart, TQt::ISODate ), localTimeZoneId ); event->setDtStart( dt ); kdDebug() << "got dtstart: " << dtstart << " becomes in timezone " << dt.toString() << endl; @@ -457,7 +457,7 @@ void ExchangeDownload::slotPropFindResult( KIO::Job *job ) TQString dtend = prop.namedItem( "dtend" ).toElement().text(); if ( !dtend.isEmpty() ) { - TQDateTime dt = utcAsZone( TQDateTime::fromString( dtend, Qt::ISODate ), + TQDateTime dt = utcAsZone( TQDateTime::fromString( dtend, TQt::ISODate ), localTimeZoneId ); // Outlook thinks differently about floating event timing than libkcal if ( floats ) dt = dt.addDays( -1 ); @@ -510,7 +510,7 @@ void ExchangeDownload::slotPropFindResult( KIO::Job *job ) list = exdate.elementsByTagNameNS( "xml:", "v" ); for( uint i=0; i < list.count(); i++ ) { TQDomElement item = list.item(i).toElement(); - TQDate date = utcAsZone( TQDateTime::fromString( item.text(), Qt::ISODate ), localTimeZoneId ).date(); + TQDate date = utcAsZone( TQDateTime::fromString( item.text(), TQt::ISODate ), localTimeZoneId ).date(); exdates.append( date ); // kdDebug() << "Got exdate: " << date.toString() << endl; } @@ -582,7 +582,7 @@ void ExchangeDownload::slotPropFindResult( KIO::Job *job ) if ( mCalendar ) { KCal::Event *oldEvent = mCalendar->event( event->uid() ); if ( oldEvent ) { - kdWarning() << "Already got his event, tqreplace it..." << endl; + kdWarning() << "Already got his event, replace it..." << endl; mCalendar->deleteEvent( oldEvent ); } kdDebug() << "ADD EVENT" << endl; diff --git a/libkpimexchange/core/exchangedownload.h b/libkpimexchange/core/exchangedownload.h index 6eab9f565..9993a56f0 100644 --- a/libkpimexchange/core/exchangedownload.h +++ b/libkpimexchange/core/exchangedownload.h @@ -37,6 +37,7 @@ class ExchangeAccount; class ExchangeDownload : public TQObject { Q_OBJECT + TQ_OBJECT public: ExchangeDownload( ExchangeAccount* account, TQWidget* window=0 ); ~ExchangeDownload(); @@ -62,7 +63,7 @@ class ExchangeDownload : public TQObject { void handleAppointments( const TQDomDocument &, bool recurrence ); void readAppointment( const KURL& url ); void handleRecurrence( TQString uid ); - void finishUp( int result, const TQString& moreInfo=TQString::null ); + void finishUp( int result, const TQString& moreInfo=TQString() ); void finishUp( int result, KIO::Job* job ); void increaseDownloads(); diff --git a/libkpimexchange/core/exchangemonitor.cpp b/libkpimexchange/core/exchangemonitor.cpp index ae33a3693..ddb953135 100644 --- a/libkpimexchange/core/exchangemonitor.cpp +++ b/libkpimexchange/core/exchangemonitor.cpp @@ -129,7 +129,7 @@ ExchangeMonitor::~ExchangeMonitor() if ( ! mSubscriptionMap.isEmpty() ) { TQString headers = "Subscription-ID: " + makeIDString( mSubscriptionMap.keys() ); kdDebug() << "Subsubscribing all watches, headers:" << endl << headers << endl; - KIO::DavJob *job = new KIO::DavJob( mAccount->calendarURL(), (int) KIO::DAV_UNSUBSCRIBE, TQString::null, false ); + KIO::DavJob *job = new KIO::DavJob( mAccount->calendarURL(), (int) KIO::DAV_UNSUBSCRIBE, TQString(), false ); job->addMetaData( "customHTTPHeader", headers ); // Can't do, this is a destructor! // job->addMetaData( "PropagateHttpHeader", "true" ); @@ -158,7 +158,7 @@ void ExchangeMonitor::addWatch( const KURL &url, int mode, int depth ) kdDebug() << "Headers: " << headers << endl; KURL myURL = toDAV( url ); - KIO::DavJob *job = new KIO::DavJob( myURL, (int) KIO::DAV_SUBSCRIBE, TQString::null, false ); + KIO::DavJob *job = new KIO::DavJob( myURL, (int) KIO::DAV_SUBSCRIBE, TQString(), false ); job->addMetaData( "customHTTPHeader", headers ); job->addMetaData( "PropagateHttpHeader", "true" ); connect(job, TQT_SIGNAL(result( KIO::Job * )), this, TQT_SLOT(slotSubscribeResult(KIO::Job *))); @@ -179,7 +179,7 @@ void ExchangeMonitor::removeWatch( const KURL &url ) void ExchangeMonitor::removeWatch( ID id ) { - KIO::DavJob *job = new KIO::DavJob( mAccount->calendarURL(), (int) KIO::DAV_UNSUBSCRIBE, TQString::null, false ); + KIO::DavJob *job = new KIO::DavJob( mAccount->calendarURL(), (int) KIO::DAV_UNSUBSCRIBE, TQString(), false ); job->addMetaData( "customHTTPHeader", "Subscription-id: " + TQString::number( id )); job->addMetaData( "PropagateHttpHeader", "true" ); connect(job, TQT_SIGNAL(result( KIO::Job * )), this, TQT_SLOT(slotUnsubscribeResult(KIO::Job *))); @@ -200,7 +200,7 @@ void ExchangeMonitor::slotSubscribeResult( KIO::Job * job ) TQStringList headers = TQStringList::split( "\n", job->queryMetaData( "HTTP-Headers" ) ); for ( TQStringList::Iterator it = headers.begin(); it != headers.end(); ++it ) { - int colon = (*it).find( ": " ); + int colon = (*it).tqfind( ": " ); if ( colon<0 ) continue; TQString tag = (*it).left( colon ).stripWhiteSpace().lower(); TQString value = (*it).mid( colon+1 ).stripWhiteSpace(); @@ -321,7 +321,7 @@ void ExchangeMonitor::poll( const IDList& IDs ) { // } // confirm it - KIO::DavJob *job = new KIO::DavJob( mAccount->calendarURL(), (int) KIO::DAV_POLL, TQString::null, false ); + KIO::DavJob *job = new KIO::DavJob( mAccount->calendarURL(), (int) KIO::DAV_POLL, TQString(), false ); job->addMetaData( "customHTTPHeader", "Subscription-ID: " + makeIDString( IDs ) ); connect(job, TQT_SIGNAL(result( KIO::Job * )), this, TQT_SLOT(slotPollResult(KIO::Job *))); } @@ -366,7 +366,7 @@ void ExchangeMonitor::slotRenewTimer() { kdDebug() << "ExchangeMonitor::slotRenewTimer()" << endl; - KIO::DavJob *job = new KIO::DavJob( mAccount->calendarURL(), (int) KIO::DAV_SUBSCRIBE, TQString::null, false ); + KIO::DavJob *job = new KIO::DavJob( mAccount->calendarURL(), (int) KIO::DAV_SUBSCRIBE, TQString(), false ); job->addMetaData( "customHTTPHeader", "Subscription-id: " + makeIDString( mSubscriptionMap.keys() ) ); connect(job, TQT_SIGNAL(result( KIO::Job * )), this, TQT_SLOT(slotRenewResult(KIO::Job *))); } diff --git a/libkpimexchange/core/exchangemonitor.h b/libkpimexchange/core/exchangemonitor.h index e70053bf5..773f65f0f 100644 --- a/libkpimexchange/core/exchangemonitor.h +++ b/libkpimexchange/core/exchangemonitor.h @@ -41,6 +41,7 @@ class ExchangeAccount; class ExchangeMonitor : public TQObject { Q_OBJECT + TQ_OBJECT public: typedef long ID; typedef TQValueList<ID> IDList; diff --git a/libkpimexchange/core/exchangeprogress.cpp b/libkpimexchange/core/exchangeprogress.cpp index bee71b572..84be823ae 100644 --- a/libkpimexchange/core/exchangeprogress.cpp +++ b/libkpimexchange/core/exchangeprogress.cpp @@ -33,8 +33,8 @@ #include "exchangeprogress.h" using namespace KPIM; -ExchangeProgress::ExchangeProgress(TQWidget *parent) - : KProgressDialog(parent, "", i18n("Exchange Download Progress"), i18n("Exchange Plugin"), "text" ) +ExchangeProgress::ExchangeProgress(TQWidget *tqparent) + : KProgressDialog(tqparent, "", i18n("Exchange Download Progress"), i18n("Exchange Plugin"), "text" ) { m_finished = 0; m_total = 0; diff --git a/libkpimexchange/core/exchangeprogress.h b/libkpimexchange/core/exchangeprogress.h index a2fd05a4b..17438c18d 100644 --- a/libkpimexchange/core/exchangeprogress.h +++ b/libkpimexchange/core/exchangeprogress.h @@ -29,9 +29,10 @@ namespace KPIM { class ExchangeProgress : public KProgressDialog { Q_OBJECT + TQ_OBJECT public: - ExchangeProgress(TQWidget *parent=0); + ExchangeProgress(TQWidget *tqparent=0); virtual ~ExchangeProgress(); public slots: diff --git a/libkpimexchange/core/exchangeupload.cpp b/libkpimexchange/core/exchangeupload.cpp index f62d6a321..6582e57ea 100644 --- a/libkpimexchange/core/exchangeupload.cpp +++ b/libkpimexchange/core/exchangeupload.cpp @@ -139,7 +139,7 @@ void ExchangeUpload::tryExist() kdDebug() << "Trying to see whether " << url.prettyURL() << " exists" << endl; TQDomDocument doc; - TQDomElement root = addElement( doc, doc, "DAV:", "propfind" ); + TQDomElement root = addElement( doc, doc, "DAV:", "proptqfind" ); TQDomElement prop = addElement( doc, root, "DAV:", "prop" ); addElement( doc, prop, "DAV:", "displayname" ); addElement( doc, prop, "urn:schemas:calendar", "uid" ); @@ -262,11 +262,11 @@ void ExchangeUpload::startUpload( const KURL &url ) kdDebug() << "ExchangeUpload::mTimeZoneId=" << mTimeZoneId << endl; addElement( doc, prop, "urn:schemas:calendar:", "dtstart", - zoneAsUtc( event->dtStart(), mTimeZoneId ).toString( Qt::ISODate ) + "Z" ); + zoneAsUtc( event->dtStart(), mTimeZoneId ).toString( TQt::ISODate ) + "Z" ); // event->dtStart().toString( "yyyy-MM-ddThh:mm:ss.zzzZ" ) ); // 2002-06-04T08:00:00.000Z" ); addElement( doc, prop, "urn:schemas:calendar:", "dtend", - zoneAsUtc( event->dtEnd(), mTimeZoneId ).toString( Qt::ISODate ) + "Z" ); + zoneAsUtc( event->dtEnd(), mTimeZoneId ).toString( TQt::ISODate ) + "Z" ); #if 0 addElement( doc, prop, "urn:schemas:calendar:", "dtstart", event->dtStart().toString( "yyyy-MM-ddThh:mm:ss.zzz" )+ offsetString ); @@ -275,7 +275,7 @@ void ExchangeUpload::startUpload( const KURL &url ) addElement( doc, prop, "urn:schemas:calendar:", "dtend", event->dtEnd().toString( "yyyy-MM-ddThh:mm:ss.zzz" ) + offsetString ); #endif - addElement( doc, prop, "urn:schemas:calendar:", "lastmodified", zoneAsUtc( event->lastModified(), mTimeZoneId ).toString( Qt::ISODate )+"Z" ); + addElement( doc, prop, "urn:schemas:calendar:", "lastmodified", zoneAsUtc( event->lastModified(), mTimeZoneId ).toString( TQt::ISODate )+"Z" ); // addElement( doc, prop, "urn:schemas:calendar:", "meetingstatus", "confirmed" ); addElement( doc, prop, "urn:schemas:httpmail:", "textdescription", event->description() ); @@ -308,7 +308,7 @@ void ExchangeUpload::startUpload( const KURL &url ) KCal::DateList::iterator it; for ( it = exdates.begin(); it != exdates.end(); ++it ) { TQString date = (*it).toString( "yyyy-MM-ddT00:00:00.000" )+ offsetString; -// TQString date = zoneAsUtc( (*it), mTimeZoneId ).toString( Qt::ISODate ); +// TQString date = zoneAsUtc( (*it), mTimeZoneId ).toString( TQt::ISODate ); addElement( doc, exdate, "xml:", "v", date ); } } @@ -365,7 +365,7 @@ void ExchangeUpload::slotPatchResult( KIO::Job *job ) emit finished( this, ExchangeClient::EventWriteError, "Upload error response: \n" + response.toString() ); else - emit finished( this, ExchangeClient::ResultOK, TQString::null ); + emit finished( this, ExchangeClient::ResultOK, TQString() ); } #include "exchangeupload.moc" diff --git a/libkpimexchange/core/exchangeupload.h b/libkpimexchange/core/exchangeupload.h index 953451a86..f2ab403c7 100644 --- a/libkpimexchange/core/exchangeupload.h +++ b/libkpimexchange/core/exchangeupload.h @@ -35,6 +35,7 @@ class ExchangeAccount; class KDE_EXPORT ExchangeUpload : public TQObject { Q_OBJECT + TQ_OBJECT public: ExchangeUpload( KCal::Event* event, ExchangeAccount* account, const TQString& timeZoneId, TQWidget* window=0 ); ~ExchangeUpload(); |