summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp11
-rw-r--r--libkdepim/ksyncmanager.cpp16
-rw-r--r--libkdepim/ksyncmanager.h1
3 files changed, 24 insertions, 4 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index a08f243..326db88 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -926,9 +926,16 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
QPtrList<Event> eventLSyncSharp = local->getExternLastSyncEvents();
bool fullDateRange = false;
local->resetTempSyncStat();
- if ( mSyncKDE )
- remote->resetPilotStat(1);
mLastCalendarSync = QDateTime::currentDateTime();
+ if ( mSyncKDE ) {
+ remote->resetPilotStat(1);
+ if ( KSyncManager::mRequestedSyncEvent.isValid() ) {
+ mLastCalendarSync = KSyncManager::mRequestedSyncEvent;
+ qDebug("using extern time for calendar sync: %s ", mLastCalendarSync.toString().latin1() );
+ } else {
+ qDebug("ERROR: KSyncManager::mRequestedSyncEvent has invalid datatime ");
+ }
+ }
QDateTime modifiedCalendar = mLastCalendarSync;;
eventLSync = getLastSyncEvent();
eventR = remote->event("last-syncEvent-"+mCurrentSyncName );
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp
index feb184b..e09050e 100644
--- a/libkdepim/ksyncmanager.cpp
+++ b/libkdepim/ksyncmanager.cpp
@@ -55,6 +55,9 @@
#include <kconfig.h>
#include <kfiledialog.h>
+QDateTime KSyncManager::mRequestedSyncEvent;
+
+
KSyncManager::KSyncManager(QWidget* parent, KSyncInterface* implementation, TargetApp ta, KPimPrefs* prefs, QPopupMenu* syncmenu)
: QObject(), mParent(parent), mImplementation(implementation), mTargetApp(ta), mPrefs(prefs ),mSyncMenu(syncmenu)
{
@@ -1111,9 +1114,16 @@ void KServerSocket::readClient()
//qDebug("KServerSocket readline: %s ", line.latin1());
QStringList tokens = QStringList::split( QRegExp("[ \r\n][ \r\n]*"), line );
if ( tokens[0] == "GET" ) {
- if ( tokens[1] == mPassWord )
+ if ( tokens[1] == mPassWord ) {
//emit sendFile( mSocket );
+ bool ok = false;
+ QDateTime dt = KGlobal::locale()->readDateTime( tokens[2], KLocale::ISODate, &ok);
+ if ( ok )
+ KSyncManager::mRequestedSyncEvent = dt;
+ else
+ KSyncManager::mRequestedSyncEvent = QDateTime();
send_file();
+ }
else {
KMessageBox::error( 0, i18n("Got send file request\nwith invalid password"));
//qDebug("password %s, invalid password %s ",mPassWord.latin1(), tokens[1].latin1() );
@@ -1267,7 +1277,9 @@ void KCommandSocket::readFile( QString fn )
mSocket->connectToHost( mHost, mPort );
QTextStream os( mSocket );
os.setEncoding( QTextStream::Latin1 );
- os << "GET " << mPassWord << "\r\n";
+
+ QString curDt = KGlobal::locale()->formatDateTime(QDateTime::currentDateTime().addSecs(-1),true, true,KLocale::ISODate );
+ os << "GET " << mPassWord << curDt <<"\r\n";
mTimerSocket->start( 20000 );
}
diff --git a/libkdepim/ksyncmanager.h b/libkdepim/ksyncmanager.h
index aa32e28..2af891b 100644
--- a/libkdepim/ksyncmanager.h
+++ b/libkdepim/ksyncmanager.h
@@ -146,6 +146,7 @@ class KSyncManager : public QObject
QString mPassWordPiSync;
QString mActiveSyncPort;
QString mActiveSyncIP ;
+ static QDateTime mRequestedSyncEvent;
signals:
void save();