summaryrefslogtreecommitdiffabout
path: root/korganizer
authorzautrix <zautrix>2004-10-05 07:22:35 (UTC)
committer zautrix <zautrix>2004-10-05 07:22:35 (UTC)
commitfc2c103f45a6d4e4105259436266538c645f2c87 (patch) (unidiff)
tree7cab481e080b7db555129a17735152051882a31c /korganizer
parent0dd4cb1ff2bbd47788a5220363758226e5639edf (diff)
downloadkdepimpi-fc2c103f45a6d4e4105259436266538c645f2c87.zip
kdepimpi-fc2c103f45a6d4e4105259436266538c645f2c87.tar.gz
kdepimpi-fc2c103f45a6d4e4105259436266538c645f2c87.tar.bz2
sync fixes
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/mainwindow.cpp113
-rw-r--r--korganizer/mainwindow.h10
2 files changed, 48 insertions, 75 deletions
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index b7176a1..5aa75f5 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -1284,4 +1284,12 @@ QString MainWindow::defaultFileName()
1284 return locateLocal( "data", "korganizer/mycalendar.ics" ); 1284 return locateLocal( "data", "korganizer/mycalendar.ics" );
1285} 1285}
1286QString MainWindow::syncFileName()
1287{
1288#ifdef _WIN32_
1289 return locateLocal( "tmp", "synccalendar.ics" );
1290#else
1291 return QString( "/tmp/kopitempfile.ics" );
1292#endif
1293}
1286 1294
1287void MainWindow::processIncidenceSelection( Incidence *incidence ) 1295void MainWindow::processIncidenceSelection( Incidence *incidence )
@@ -1925,8 +1933,8 @@ void MainWindow::enableQuick()
1925 return; 1933 return;
1926 } 1934 }
1927 qDebug("port %d ", port); 1935 //qDebug("port %d ", port);
1928 mServerSocket = new KServerSocket ( passWordPiSync, port ,1 ); 1936 mServerSocket = new KServerSocket ( passWordPiSync, port ,1 );
1929 mServerSocket->setFileName( defaultFileName() ); 1937 mServerSocket->setFileName( defaultFileName() );
1930 qDebug("connected "); 1938 //qDebug("connected ");
1931 if ( !mServerSocket->ok() ) { 1939 if ( !mServerSocket->ok() ) {
1932 qWarning("Failed to bind to port %d", port); 1940 qWarning("Failed to bind to port %d", port);
@@ -1935,8 +1943,6 @@ void MainWindow::enableQuick()
1935 return; 1943 return;
1936 } 1944 }
1937 connect( mServerSocket, SIGNAL ( saveFile() ), this, SLOT ( save() ) ); 1945 connect( mServerSocket, SIGNAL ( saveFile() ), this, SLOT ( save() ) );
1938 connect( mServerSocket, SIGNAL ( file_received( bool ) ), this, SLOT ( getFile( bool ) ) ); 1946 connect( mServerSocket, SIGNAL ( file_received( bool ) ), this, SLOT ( getFile( bool ) ) );
1939 // connect( mServerSocket, SIGNAL ( sendFile(QSocket*) ), this, SLOT ( sendFile(QSocket*) ) );
1940 //connect( mServerSocket, SIGNAL ( getFile(QSocket*) ), this, SLOT ( getFile(QSocket*) ) );
1941} 1947}
1942 1948
@@ -1963,6 +1969,4 @@ void MainWindow::syncPi()
1963void MainWindow::performQuickQuick() 1969void MainWindow::performQuickQuick()
1964{ 1970{
1965 // setCaption( i18n("") );
1966
1967 bool ok; 1971 bool ok;
1968 Q_UINT16 port = KOPrefs::instance()->mActiveSyncPort.toUInt(&ok); 1972 Q_UINT16 port = KOPrefs::instance()->mActiveSyncPort.toUInt(&ok);
@@ -1971,69 +1975,38 @@ void MainWindow::performQuickQuick()
1971 return; 1975 return;
1972 } 1976 }
1973 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, port, KOPrefs::instance()->mActiveSyncIP, this ); 1977 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, port, KOPrefs::instance()->mActiveSyncIP, this );
1974 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, bool )), this, SLOT(deleteCommandSocket(KCommandSocket*,bool)) ); 1978 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) );
1975 setCaption( i18n("Sending request for remote file ...") ); 1979 setCaption( i18n("Sending request for remote file ...") );
1976 QString fileName; 1980 commandSocket->readFile( syncFileName() );
1977#ifdef _WIN32_
1978 fileName = defaultFileName() +"sync";
1979#else
1980 fileName = "/tmp/kopitempfile.ics";
1981#endif
1982 commandSocket->readFile( fileName );
1983} 1981}
1984void MainWindow::deleteCommandSocket(KCommandSocket*s, bool success) 1982void MainWindow::deleteCommandSocket(KCommandSocket*s, int state)
1985{ 1983{
1986 if ( ! success ) { 1984 qDebug("MainWindow::deleteCommandSocket %d", state);
1987 setCaption( i18n("ERROR:Receiving remote file failed.") ); 1985
1986 //enum { success, errorW, errorR, quiet };
1987 if ( state == KCommandSocket::errorR ) {
1988 setCaption( i18n("ERROR: Receiving remote file failed.") );
1988 delete s; 1989 delete s;
1989 // pending : send stop 1990 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, KOPrefs::instance()->mActiveSyncPort.toUInt(), KOPrefs::instance()->mActiveSyncIP, this );
1991 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) );
1992 commandSocket->sendStop();
1990 return; 1993 return;
1991 1994
1992 } 1995 } else if ( state == KCommandSocket::errorW ) {
1993 QTimer::singleShot( 1, this , SLOT ( readFileFromSocket()));
1994 qDebug("MainWindow::deleteCommandSocket ");
1995 delete s;
1996}
1997void MainWindow::deleteCommandSocketFinish(KCommandSocket* s, bool success )
1998{
1999 if ( ! success ) {
2000 setCaption( i18n("ERROR:Writing back file failed.") ); 1996 setCaption( i18n("ERROR:Writing back file failed.") );
2001 } else { 1997
2002 qDebug("Syncing succesful! "); 1998 } else if ( state == KCommandSocket::successR ) {
1999 QTimer::singleShot( 1, this , SLOT ( readFileFromSocket()));
2000
2001 } else if ( state == KCommandSocket::successW ) {
2003 setCaption( i18n("Pi-Sync succesful!") ); 2002 setCaption( i18n("Pi-Sync succesful!") );
2004 } 2003 }
2005 qDebug("MainWindow::deleteCommandSocketFinish "); 2004
2006 delete s; 2005 delete s;
2007} 2006}
2007
2008void MainWindow::readFileFromSocket() 2008void MainWindow::readFileFromSocket()
2009{ 2009{
2010 // mTimerCommandSocket->stop(); 2010 QString fileName = syncFileName();
2011 setCaption( i18n("Receiving remote file ...") );
2012 qDebug("MainWindow::readFileFromSocket() ");
2013 QString fileName;
2014#ifdef _WIN32_
2015 fileName = defaultFileName() +"sync";
2016#else
2017 fileName = "/tmp/kopitempfile.ics";
2018#endif
2019
2020 setCaption( i18n("Remote file saved to temp file.") );
2021 //mCommandSocket = 0;
2022 mCurrentSyncProfile = 2 ; // last file
2023 mView->setSyncDevice(KOPrefs::instance()->mSyncProfileNames[mCurrentSyncProfile] );
2024 mView->setSyncName( KOPrefs::instance()->mLocalMachineName );
2025 KConfig config ( locateLocal( "config","ksyncprofilesrc" ) );
2026 KSyncProfile* temp = new KSyncProfile ();
2027 temp->setName(KOPrefs::instance()->mSyncProfileNames[mCurrentSyncProfile]);
2028 temp->readConfig(&config);
2029 KOPrefs::instance()->mAskForPreferences = temp->getAskForPreferences();
2030 KOPrefs::instance()->mSyncAlgoPrefs = temp->getSyncPrefs();
2031 KOPrefs::instance()->mWriteBackFile = temp->getWriteBackFile();
2032 KOPrefs::instance()->mWriteBackExistingOnly = temp->getWriteBackExisting();
2033 KOPrefs::instance()->mWriteBackInFuture = 0;
2034 if ( temp->getWriteBackFuture() )
2035 KOPrefs::instance()->mWriteBackInFuture = temp->getWriteBackFutureWeeks( );
2036 KOPrefs::instance()->mShowSyncSummary = temp->getShowSummaryAfterSync();
2037 delete temp;
2038 setCaption( i18n("Remote file saved to temp file.") ); 2011 setCaption( i18n("Remote file saved to temp file.") );
2039 if ( ! syncWithFile( fileName , true ) ) { 2012 if ( ! syncWithFile( fileName , true ) ) {
@@ -2042,11 +2015,12 @@ void MainWindow::readFileFromSocket()
2042 return; 2015 return;
2043 } 2016 }
2044
2045 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, KOPrefs::instance()->mActiveSyncPort.toUInt(), KOPrefs::instance()->mActiveSyncIP, this ); 2017 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, KOPrefs::instance()->mActiveSyncPort.toUInt(), KOPrefs::instance()->mActiveSyncIP, this );
2046 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, bool )), this, SLOT(deleteCommandSocketFinish(KCommandSocket*,bool)) ); 2018 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) );
2047 if ( KOPrefs::instance()->mWriteBackFile ) 2019 if ( KOPrefs::instance()->mWriteBackFile )
2048 commandSocket->writeFile( fileName ); 2020 commandSocket->writeFile( fileName );
2049 else 2021 else {
2050 commandSocket->sendStop(); 2022 commandSocket->sendStop();
2023 setCaption( i18n("Pi-Sync succesful!") );
2024 }
2051} 2025}
2052 2026
@@ -2504,5 +2478,5 @@ KCommandSocket::KCommandSocket ( QString password, Q_UINT16 port, QString host,
2504 mHost = host; 2478 mHost = host;
2505 2479
2506 mRetVal = false; 2480 mRetVal = quiet;
2507 mTimerSocket = new QTimer ( this ); 2481 mTimerSocket = new QTimer ( this );
2508 connect( mTimerSocket, SIGNAL ( timeout () ), this, SLOT ( deleteSocket() ) ); 2482 connect( mTimerSocket, SIGNAL ( timeout () ), this, SLOT ( deleteSocket() ) );
@@ -2539,5 +2513,5 @@ void KCommandSocket::writeFileToSocket()
2539 QFile file2( mFileName ); 2513 QFile file2( mFileName );
2540 if (!file2.open( IO_ReadOnly ) ) { 2514 if (!file2.open( IO_ReadOnly ) ) {
2541 mRetVal= false; 2515 mRetVal= errorW;
2542 mSocket->close(); 2516 mSocket->close();
2543 if ( mSocket->state() == QSocket::Idle ) 2517 if ( mSocket->state() == QSocket::Idle )
@@ -2553,5 +2527,5 @@ void KCommandSocket::writeFileToSocket()
2553 os2 << ts2.readLine() << "\n"; 2527 os2 << ts2.readLine() << "\n";
2554 } 2528 }
2555 mRetVal= true; 2529 mRetVal= successW;
2556 file2.close(); 2530 file2.close();
2557 mSocket->close(); 2531 mSocket->close();
@@ -2569,5 +2543,4 @@ void KCommandSocket::sendStop()
2569 os2.setCodec( QTextCodec::codecForName("utf8") ); 2543 os2.setCodec( QTextCodec::codecForName("utf8") );
2570 os2 << "STOP\r\n"; 2544 os2 << "STOP\r\n";
2571 mRetVal= true;
2572 mSocket->close(); 2545 mSocket->close();
2573 if ( mSocket->state() == QSocket::Idle ) 2546 if ( mSocket->state() == QSocket::Idle )
@@ -2605,5 +2578,5 @@ void KCommandSocket::readFileFromSocket()
2605 if (!file.open( IO_WriteOnly ) ) { 2578 if (!file.open( IO_WriteOnly ) ) {
2606 mFileString = ""; 2579 mFileString = "";
2607 mRetVal = false; 2580 mRetVal = errorR;
2608 qDebug("Error open temp calender file for writing: %s",fileName.latin1() ); 2581 qDebug("Error open temp calender file for writing: %s",fileName.latin1() );
2609 deleteSocket(); 2582 deleteSocket();
@@ -2617,5 +2590,5 @@ void KCommandSocket::readFileFromSocket()
2617 file.close(); 2590 file.close();
2618 mFileString = ""; 2591 mFileString = "";
2619 mRetVal = true; 2592 mRetVal = successR;
2620 mSocket->close(); 2593 mSocket->close();
2621 // if state is not idle, deleteSocket(); is called via 2594 // if state is not idle, deleteSocket(); is called via
@@ -2630,5 +2603,5 @@ void KCommandSocket::deleteSocket()
2630 mTimerSocket->stop(); 2603 mTimerSocket->stop();
2631 KMessageBox::information( 0, i18n("ERROR:\nConnection to remote host timed out!\nDid you forgot to enable\nsyncing on remote host? ")); 2604 KMessageBox::information( 0, i18n("ERROR:\nConnection to remote host timed out!\nDid you forgot to enable\nsyncing on remote host? "));
2632 mRetVal = false; 2605 mRetVal = errorR;
2633 } 2606 }
2634 //qDebug("KCommandSocket::deleteSocket() %d", mRetVal ); 2607 //qDebug("KCommandSocket::deleteSocket() %d", mRetVal );
diff --git a/korganizer/mainwindow.h b/korganizer/mainwindow.h
index 90b3a88..4da371e 100644
--- a/korganizer/mainwindow.h
+++ b/korganizer/mainwindow.h
@@ -62,6 +62,6 @@ class KCommandSocket : public QObject
62{ 62{
63 Q_OBJECT 63 Q_OBJECT
64
65public: 64public:
65 enum state { successR, errorR, successW, errorW, quiet };
66 KCommandSocket ( QString password, Q_UINT16 port, QString host, QObject * parent=0, const char * name=0 ); 66 KCommandSocket ( QString password, Q_UINT16 port, QString host, QObject * parent=0, const char * name=0 );
67 void readFile( QString ); 67 void readFile( QString );
@@ -71,5 +71,5 @@ public:
71 71
72signals: 72signals:
73 void commandFinished( KCommandSocket*, bool ); 73 void commandFinished( KCommandSocket*, int );
74private slots: 74private slots:
75 void startReadFileFromSocket(); 75 void startReadFileFromSocket();
@@ -84,5 +84,5 @@ private slots:
84 QString mFileName; 84 QString mFileName;
85 QTimer* mTimerSocket; 85 QTimer* mTimerSocket;
86 bool mRetVal; 86 int mRetVal;
87 QTime mTime; 87 QTime mTime;
88 QString mFileString; 88 QString mFileString;
@@ -107,4 +107,5 @@ class MainWindow : public QMainWindow
107 void recieve( const QCString& msg, const QByteArray& data ); 107 void recieve( const QCString& msg, const QByteArray& data );
108 static QString defaultFileName(); 108 static QString defaultFileName();
109 static QString syncFileName();
109 static QString resourcePath(); 110 static QString resourcePath();
110 protected slots: 111 protected slots:
@@ -165,6 +166,5 @@ class MainWindow : public QMainWindow
165 QString piFileString; 166 QString piFileString;
166 QTime piTime; 167 QTime piTime;
167 void deleteCommandSocket(KCommandSocket* s, bool success); 168 void deleteCommandSocket(KCommandSocket* s, int state );
168 void deleteCommandSocketFinish(KCommandSocket* s, bool success);
169 void fillSyncMenu(); 169 void fillSyncMenu();
170 void getFile( bool ); 170 void getFile( bool );