summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libkdepim/ksyncmanager.cpp126
-rw-r--r--libkdepim/ksyncmanager.h93
2 files changed, 100 insertions, 119 deletions
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp
index 568c2a9..01309d5 100644
--- a/libkdepim/ksyncmanager.cpp
+++ b/libkdepim/ksyncmanager.cpp
@@ -1,30 +1,30 @@
1/* 1/*
2 This file is part of KDE-Pim/Pi. 2 This file is part of KDE-Pim/Pi.
3 Copyright (c) 2004 Ulf Schenk 3 Copyright (c) 2004 Ulf Schenk
4 4
5 This library is free software; you can redistribute it and/or 5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public 6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either 7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version. 8 version 2 of the License, or (at your option) any later version.
9 9
10 This library is distributed in the hope that it will be useful, 10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details. 13 Library General Public License for more details.
14 14
15 You should have received a copy of the GNU Library General Public License 15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to 16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA. 18 Boston, MA 02111-1307, USA.
19*/ 19*/
20 20
21// $Id$ 21// $Id$
22 22
23#include "ksyncmanager.h" 23#include "ksyncmanager.h"
24 24
25#include <stdlib.h> 25#include <stdlib.h>
26 26
27#ifndef _WIN32_ 27#ifndef _WIN32_
28#include <unistd.h> 28#include <unistd.h>
29#endif 29#endif
30 30
@@ -64,25 +64,25 @@ KSyncManager::KSyncManager(QWidget* parent, KSyncInterface* implementation, Targ
64 int w = 300; 64 int w = 300;
65 if ( QApplication::desktop()->width() < 320 ) 65 if ( QApplication::desktop()->width() < 320 )
66 w = 220; 66 w = 220;
67 int h = bar->sizeHint().height() ; 67 int h = bar->sizeHint().height() ;
68 int dw = QApplication::desktop()->width(); 68 int dw = QApplication::desktop()->width();
69 int dh = QApplication::desktop()->height(); 69 int dh = QApplication::desktop()->height();
70 bar->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 70 bar->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
71 71
72} 72}
73 73
74KSyncManager::~KSyncManager() 74KSyncManager::~KSyncManager()
75{ 75{
76 delete bar; 76 delete bar;
77} 77}
78 78
79 79
80void KSyncManager::fillSyncMenu() 80void KSyncManager::fillSyncMenu()
81{ 81{
82 if ( mSyncMenu->count() ) 82 if ( mSyncMenu->count() )
83 mSyncMenu->clear(); 83 mSyncMenu->clear();
84 84
85 mSyncMenu->insertItem( i18n("Configure..."), 0 ); 85 mSyncMenu->insertItem( i18n("Configure..."), 0 );
86 mSyncMenu->insertSeparator(); 86 mSyncMenu->insertSeparator();
87 if ( mServerSocket == 0 ) { 87 if ( mServerSocket == 0 ) {
88 mSyncMenu->insertItem( i18n("Enable Pi-Sync"), 2 ); 88 mSyncMenu->insertItem( i18n("Enable Pi-Sync"), 2 );
@@ -156,25 +156,25 @@ void KSyncManager::slotSyncMenu( int action )
156 enableQuick(); 156 enableQuick();
157 QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) ); 157 QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) );
158 return; 158 return;
159 } 159 }
160 if ( action == 3 ) { 160 if ( action == 3 ) {
161 delete mServerSocket; 161 delete mServerSocket;
162 mServerSocket = 0; 162 mServerSocket = 0;
163 QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) ); 163 QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) );
164 return; 164 return;
165 } 165 }
166 166
167 if (blockSave()) 167 if (blockSave())
168 return; 168 return;
169 169
170 setBlockSave(true); 170 setBlockSave(true);
171 171
172 mCurrentSyncProfile = action - 1000 ; 172 mCurrentSyncProfile = action - 1000 ;
173 mCurrentSyncDevice = mSyncProfileNames[mCurrentSyncProfile] ; 173 mCurrentSyncDevice = mSyncProfileNames[mCurrentSyncProfile] ;
174 mCurrentSyncName = mLocalMachineName ; 174 mCurrentSyncName = mLocalMachineName ;
175 KConfig config ( locateLocal( "config","ksyncprofilesrc" ) ); 175 KConfig config ( locateLocal( "config","ksyncprofilesrc" ) );
176 KSyncProfile* temp = new KSyncProfile (); 176 KSyncProfile* temp = new KSyncProfile ();
177 temp->setName(mSyncProfileNames[mCurrentSyncProfile]); 177 temp->setName(mSyncProfileNames[mCurrentSyncProfile]);
178 temp->readConfig(&config); 178 temp->readConfig(&config);
179 mAskForPreferences = temp->getAskForPreferences(); 179 mAskForPreferences = temp->getAskForPreferences();
180 mSyncAlgoPrefs = temp->getSyncPrefs(); 180 mSyncAlgoPrefs = temp->getSyncPrefs();
@@ -291,40 +291,40 @@ void KSyncManager::enableQuick()
291 return; 291 return;
292 } 292 }
293 connect( mServerSocket, SIGNAL ( request_file() ),this, SIGNAL ( request_file() ) ); 293 connect( mServerSocket, SIGNAL ( request_file() ),this, SIGNAL ( request_file() ) );
294 connect( mServerSocket, SIGNAL ( file_received( bool ) ), this, SIGNAL ( getFile( bool ) ) ); 294 connect( mServerSocket, SIGNAL ( file_received( bool ) ), this, SIGNAL ( getFile( bool ) ) );
295} 295}
296 296
297void KSyncManager::syncLocalFile() 297void KSyncManager::syncLocalFile()
298{ 298{
299 299
300 QString fn =mPrefs->mLastSyncedLocalFile; 300 QString fn =mPrefs->mLastSyncedLocalFile;
301 QString ext; 301 QString ext;
302 302
303 switch(mTargetApp) 303 switch(mTargetApp)
304 { 304 {
305 case (KAPI): 305 case (KAPI):
306 ext = "(*.vcf)"; 306 ext = "(*.vcf)";
307 break; 307 break;
308 case (KOPI): 308 case (KOPI):
309 ext = "(*.ics/*.vcs)"; 309 ext = "(*.ics/*.vcs)";
310 break; 310 break;
311 case (PWMPI): 311 case (PWMPI):
312 ext = "(*.pwm)"; 312 ext = "(*.pwm)";
313 break; 313 break;
314 default: 314 default:
315 qDebug("KSyncManager::syncLocalFile: invalid apptype selected"); 315 qDebug("KSyncManager::syncLocalFile: invalid apptype selected");
316 break; 316 break;
317 317
318 } 318 }
319 319
320 fn =KFileDialog:: getOpenFileName( fn, i18n("Sync filename"+ext), mParent ); 320 fn =KFileDialog:: getOpenFileName( fn, i18n("Sync filename"+ext), mParent );
321 if ( fn == "" ) 321 if ( fn == "" )
322 return; 322 return;
323 if ( syncWithFile( fn, false ) ) { 323 if ( syncWithFile( fn, false ) ) {
324 qDebug("syncLocalFile() successful "); 324 qDebug("syncLocalFile() successful ");
325 } 325 }
326 326
327} 327}
328 328
329bool KSyncManager::syncWithFile( QString fn , bool quick ) 329bool KSyncManager::syncWithFile( QString fn , bool quick )
330{ 330{
@@ -381,25 +381,25 @@ void KSyncManager::multiSync( bool askforPrefs )
381 if ( QMessageBox::information( mParent, i18n("KDE-Pim Sync"), 381 if ( QMessageBox::information( mParent, i18n("KDE-Pim Sync"),
382 question, 382 question,
383 i18n("Yes"), i18n("No"), 383 i18n("Yes"), i18n("No"),
384 0, 0 ) != 0 ) { 384 0, 0 ) != 0 ) {
385 setBlockSave(false); 385 setBlockSave(false);
386 mParent->topLevelWidget()->setCaption(i18n("Aborted! Nothing synced!")); 386 mParent->topLevelWidget()->setCaption(i18n("Aborted! Nothing synced!"));
387 return; 387 return;
388 } 388 }
389 mCurrentSyncDevice = i18n("Multiple profiles") ; 389 mCurrentSyncDevice = i18n("Multiple profiles") ;
390 mSyncAlgoPrefs = mPrefs->mRingSyncAlgoPrefs; 390 mSyncAlgoPrefs = mPrefs->mRingSyncAlgoPrefs;
391 if ( askforPrefs ) { 391 if ( askforPrefs ) {
392 edit_sync_options(); 392 edit_sync_options();
393 mRingSyncAlgoPrefs = mSyncAlgoPrefs; 393 mPrefs->mRingSyncAlgoPrefs = mSyncAlgoPrefs;
394 } 394 }
395 mParent->topLevelWidget()->setCaption(i18n("Multiple sync started.") ); 395 mParent->topLevelWidget()->setCaption(i18n("Multiple sync started.") );
396 qApp->processEvents(); 396 qApp->processEvents();
397 int num = ringSync() ; 397 int num = ringSync() ;
398 if ( num > 1 ) 398 if ( num > 1 )
399 ringSync(); 399 ringSync();
400 setBlockSave(false); 400 setBlockSave(false);
401 if ( num ) 401 if ( num )
402 emit save(); 402 emit save();
403 if ( num ) 403 if ( num )
404 mParent->topLevelWidget()->setCaption(i18n("%1 profiles synced. Multiple sync complete!").arg(num) ); 404 mParent->topLevelWidget()->setCaption(i18n("%1 profiles synced. Multiple sync complete!").arg(num) );
405 else 405 else
@@ -511,30 +511,30 @@ int KSyncManager::ringSync()
511 511
512 } 512 }
513 513
514 } 514 }
515 delete temp; 515 delete temp;
516 return syncedProfiles; 516 return syncedProfiles;
517} 517}
518 518
519void KSyncManager::syncRemote( KSyncProfile* prof, bool ask) 519void KSyncManager::syncRemote( KSyncProfile* prof, bool ask)
520{ 520{
521 QString question; 521 QString question;
522 if ( ask ) { 522 if ( ask ) {
523 question = i18n("Do you really want\nto remote sync\nwith profile \n")+ prof->getName()+" ?\n"; 523 question = i18n("Do you really want\nto remote sync\nwith profile \n")+ prof->getName()+" ?\n";
524 if ( QMessageBox::information( mParent, i18n("Sync"), 524 if ( QMessageBox::information( mParent, i18n("Sync"),
525 question, 525 question,
526 i18n("Yes"), i18n("No"), 526 i18n("Yes"), i18n("No"),
527 0, 0 ) != 0 ) 527 0, 0 ) != 0 )
528 return; 528 return;
529 } 529 }
530 530
531 QString preCommand; 531 QString preCommand;
532 QString localTempFile; 532 QString localTempFile;
533 QString postCommand; 533 QString postCommand;
534 534
535 switch(mTargetApp) 535 switch(mTargetApp)
536 { 536 {
537 case (KAPI): 537 case (KAPI):
538 preCommand = prof->getPreSyncCommandAB(); 538 preCommand = prof->getPreSyncCommandAB();
539 postCommand = prof->getPostSyncCommandAB(); 539 postCommand = prof->getPostSyncCommandAB();
540 localTempFile = prof->getLocalTempFileAB(); 540 localTempFile = prof->getLocalTempFileAB();
@@ -730,43 +730,43 @@ bool KSyncManager::syncExternalApplication(QString resource)
730 730
731} 731}
732 732
733void KSyncManager::syncPhone() 733void KSyncManager::syncPhone()
734{ 734{
735 735
736 syncExternalApplication("phone"); 736 syncExternalApplication("phone");
737 737
738} 738}
739 739
740void KSyncManager::showProgressBar(int percentage, QString caption, int total) 740void KSyncManager::showProgressBar(int percentage, QString caption, int total)
741{ 741{
742 if (!bar->isVisible()) 742 if (!bar->isVisible())
743 { 743 {
744 bar->setCaption (caption); 744 bar->setCaption (caption);
745 bar->setTotalSteps ( total ) ; 745 bar->setTotalSteps ( total ) ;
746 746
747 bar->show(); 747 bar->show();
748 } 748 }
749 749
750 bar->setProgress( percentage ); 750 bar->setProgress( percentage );
751} 751}
752 752
753void KSyncManager::hideProgressBar() 753void KSyncManager::hideProgressBar()
754{ 754{
755 bar->hide(); 755 bar->hide();
756} 756}
757 757
758bool KSyncManager::isProgressBarCanceled() 758bool KSyncManager::isProgressBarCanceled()
759{ 759{
760 return !bar->isVisible(); 760 return !bar->isVisible();
761} 761}
762 762
763QString KSyncManager::syncFileName() 763QString KSyncManager::syncFileName()
764{ 764{
765 765
766 QString fn = "tempfile"; 766 QString fn = "tempfile";
767 switch(mTargetApp) 767 switch(mTargetApp)
768 { 768 {
769 case (KAPI): 769 case (KAPI):
770 fn = "tempsyncab.vcf"; 770 fn = "tempsyncab.vcf";
771 break; 771 break;
772 case (KOPI): 772 case (KOPI):
@@ -798,41 +798,41 @@ void KSyncManager::syncPi()
798 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, port, mActiveSyncIP, this ); 798 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, port, mActiveSyncIP, this );
799 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); 799 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) );
800 mParent->topLevelWidget()->setCaption( i18n("Sending request for remote file ...") ); 800 mParent->topLevelWidget()->setCaption( i18n("Sending request for remote file ...") );
801 commandSocket->readFile( syncFileName() ); 801 commandSocket->readFile( syncFileName() );
802} 802}
803 803
804void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state) 804void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state)
805{ 805{
806 qDebug("MainWindow::deleteCommandSocket %d", state); 806 qDebug("MainWindow::deleteCommandSocket %d", state);
807 807
808 //enum { success, errorW, errorR, quiet }; 808 //enum { success, errorW, errorR, quiet };
809 if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ) { 809 if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ) {
810 mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") ); 810 mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") );
811 delete s; 811 delete s;
812 if ( state == KCommandSocket::errorR ) { 812 if ( state == KCommandSocket::errorR ) {
813 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this ); 813 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this );
814 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) ); 814 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) );
815 commandSocket->sendStop(); 815 commandSocket->sendStop();
816 } 816 }
817 return; 817 return;
818 818
819 } else if ( state == KCommandSocket::errorW ) { 819 } else if ( state == KCommandSocket::errorW ) {
820 mParent->topLevelWidget()->setCaption( i18n("ERROR:Writing back file failed.") ); 820 mParent->topLevelWidget()->setCaption( i18n("ERROR:Writing back file failed.") );
821 821
822 } else if ( state == KCommandSocket::successR ) { 822 } else if ( state == KCommandSocket::successR ) {
823 QTimer::singleShot( 1, this , SLOT ( readFileFromSocket())); 823 QTimer::singleShot( 1, this , SLOT ( readFileFromSocket()));
824 824
825 } else if ( state == KCommandSocket::successW ) { 825 } else if ( state == KCommandSocket::successW ) {
826 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync succesful!") ); 826 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync succesful!") );
827 } 827 }
828 828
829 delete s; 829 delete s;
830} 830}
831 831
832void KSyncManager::readFileFromSocket() 832void KSyncManager::readFileFromSocket()
833{ 833{
834 QString fileName = syncFileName(); 834 QString fileName = syncFileName();
835 mParent->topLevelWidget()->setCaption( i18n("Remote file saved to temp file.") ); 835 mParent->topLevelWidget()->setCaption( i18n("Remote file saved to temp file.") );
836 if ( ! syncWithFile( fileName , true ) ) { 836 if ( ! syncWithFile( fileName , true ) ) {
837 mParent->topLevelWidget()->setCaption( i18n("Syncing failed.") ); 837 mParent->topLevelWidget()->setCaption( i18n("Syncing failed.") );
838 qDebug("Syncing failed "); 838 qDebug("Syncing failed ");
@@ -1147,28 +1147,28 @@ void KCommandSocket::readFileFromSocket()
1147 mFileString = ""; 1147 mFileString = "";
1148 mRetVal = successR; 1148 mRetVal = successR;
1149 mSocket->close(); 1149 mSocket->close();
1150 // if state is not idle, deleteSocket(); is called via 1150 // if state is not idle, deleteSocket(); is called via
1151 // connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) ); 1151 // connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) );
1152 if ( mSocket->state() == QSocket::Idle ) 1152 if ( mSocket->state() == QSocket::Idle )
1153 deleteSocket(); 1153 deleteSocket();
1154} 1154}
1155 1155
1156void KCommandSocket::deleteSocket() 1156void KCommandSocket::deleteSocket()
1157{ 1157{
1158 if ( mTimerSocket->isActive () ) { 1158 if ( mTimerSocket->isActive () ) {
1159 mTimerSocket->stop(); 1159 mTimerSocket->stop();
1160 KMessageBox::information( 0, i18n("ERROR:\nConnection to remote host timed out!\nDid you forgot to enable\nsyncing on remote host? ")); 1160 KMessageBox::information( 0, i18n("ERROR:\nConnection to remote host timed out!\nDid you forgot to enable\nsyncing on remote host? "));
1161 mRetVal = errorTO; 1161 mRetVal = errorTO;
1162 if ( mSocket ) { 1162 if ( mSocket ) {
1163 mSocket->close(); 1163 mSocket->close();
1164 if ( mSocket->state() == QSocket::Idle ) 1164 if ( mSocket->state() == QSocket::Idle )
1165 deleteSocket(); 1165 deleteSocket();
1166 return; 1166 return;
1167 } 1167 }
1168 } 1168 }
1169 //qDebug("KCommandSocket::deleteSocket() %d", mRetVal ); 1169 //qDebug("KCommandSocket::deleteSocket() %d", mRetVal );
1170 if ( mSocket) 1170 if ( mSocket)
1171 delete mSocket; 1171 delete mSocket;
1172 mSocket = 0; 1172 mSocket = 0;
1173 emit commandFinished( this, mRetVal ); 1173 emit commandFinished( this, mRetVal );
1174} 1174}
diff --git a/libkdepim/ksyncmanager.h b/libkdepim/ksyncmanager.h
index 7027894..1f7c7e7 100644
--- a/libkdepim/ksyncmanager.h
+++ b/libkdepim/ksyncmanager.h
@@ -1,32 +1,32 @@
1/* 1/*
2 This file is part of KDE-Pim/Pi. 2 This file is part of KDE-Pim/Pi.
3 Copyright (c) 2004 Ulf Schenk 3 Copyright (c) 2004 Ulf Schenk
4 4
5 This library is free software; you can redistribute it and/or 5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public 6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either 7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version. 8 version 2 of the License, or (at your option) any later version.
9 9
10 This library is distributed in the hope that it will be useful, 10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details. 13 Library General Public License for more details.
14 14
15 You should have received a copy of the GNU Library General Public License 15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to 16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA. 18 Boston, MA 02111-1307, USA.
19 19
20$Id$ 20 $Id$
21*/ 21*/
22#ifndef _KSYNCMANAGER_H 22#ifndef _KSYNCMANAGER_H
23#define _KSYNCMANAGER_H 23#define _KSYNCMANAGER_H
24 24
25#include <qobject.h> 25#include <qobject.h>
26#include <qstring.h> 26#include <qstring.h>
27#include <qsocket.h> 27#include <qsocket.h>
28#include <qdatetime.h> 28#include <qdatetime.h>
29#include <qserversocket.h> 29#include <qserversocket.h>
30#include <qtextstream.h> 30#include <qtextstream.h>
31#include <qregexp.h> 31#include <qregexp.h>
32 32
@@ -34,193 +34,174 @@ class QPopupMenu;
34class KSyncProfile; 34class KSyncProfile;
35class KPimPrefs; 35class KPimPrefs;
36class QWidget; 36class QWidget;
37class KSyncManager; 37class KSyncManager;
38class KSyncInterface; 38class KSyncInterface;
39class QProgressBar; 39class QProgressBar;
40 40
41 41
42class KServerSocket : public QServerSocket 42class KServerSocket : public QServerSocket
43{ 43{
44 Q_OBJECT 44 Q_OBJECT
45 45
46public: 46 public:
47 KServerSocket ( QString password, Q_UINT16 port, int backlog = 0, QObject * parent=0, const char * name=0 ); 47 KServerSocket ( QString password, Q_UINT16 port, int backlog = 0, QObject * parent=0, const char * name=0 );
48 48
49 void newConnection ( int socket ) ; 49 void newConnection ( int socket ) ;
50 void setFileName( QString fn ) {mFileName = fn;}; 50 void setFileName( QString fn ) {mFileName = fn;};
51 51 signals:
52signals:
53 void file_received( bool ); 52 void file_received( bool );
54 void request_file(); 53 void request_file();
55 void saveFile(); 54 void saveFile();
56 void endConnect(); 55 void endConnect();
57private slots: 56 private slots:
58 void discardClient(); 57 void discardClient();
59 void readClient(); 58 void readClient();
60 void readBackFileFromSocket(); 59 void readBackFileFromSocket();
61 private : 60 private :
62 bool blockRC; 61 bool blockRC;
63 void send_file(); 62 void send_file();
64 void get_file(); 63 void get_file();
65 void end_connect(); 64 void end_connect();
66 QDialog* mSyncActionDialog; 65 QDialog* mSyncActionDialog;
67 QSocket* mSocket; 66 QSocket* mSocket;
68 QString mPassWord; 67 QString mPassWord;
69 QString mFileName; 68 QString mFileName;
70 QTime piTime; 69 QTime piTime;
71 QString piFileString; 70 QString piFileString;
72}; 71};
73 72
74class KCommandSocket : public QObject 73class KCommandSocket : public QObject
75{ 74{
76 Q_OBJECT 75 Q_OBJECT
77public: 76 public:
78 enum state { successR, errorR, successW, errorW, errorTO, quiet }; 77 enum state { successR, errorR, successW, errorW, errorTO, quiet };
79 KCommandSocket ( QString password, Q_UINT16 port, QString host, QObject * parent=0, const char * name=0 ); 78 KCommandSocket ( QString password, Q_UINT16 port, QString host, QObject * parent=0, const char * name=0 );
80 void readFile( QString ); 79 void readFile( QString );
81 void writeFile( QString ); 80 void writeFile( QString );
82 void sendStop(); 81 void sendStop();
83 82
84 83 signals:
85signals:
86 void commandFinished( KCommandSocket*, int ); 84 void commandFinished( KCommandSocket*, int );
87private slots: 85 private slots:
88 void startReadFileFromSocket(); 86 void startReadFileFromSocket();
89 void readFileFromSocket(); 87 void readFileFromSocket();
90 void deleteSocket(); 88 void deleteSocket();
91 void writeFileToSocket(); 89 void writeFileToSocket();
92 private : 90 private :
93 QSocket* mSocket; 91 QSocket* mSocket;
94 QString mPassWord; 92 QString mPassWord;
95 Q_UINT16 mPort; 93 Q_UINT16 mPort;
96 QString mHost; 94 QString mHost;
97 QString mFileName; 95 QString mFileName;
98 QTimer* mTimerSocket; 96 QTimer* mTimerSocket;
99 int mRetVal; 97 int mRetVal;
100 QTime mTime; 98 QTime mTime;
101 QString mFileString; 99 QString mFileString;
102 bool mFirst; 100 bool mFirst;
103}; 101};
104 102
105 103
106class KSyncManager : public QObject 104class KSyncManager : public QObject
107{ 105{
108 Q_OBJECT 106 Q_OBJECT
109 107
110 public: 108 public:
111 enum TargetApp { 109 enum TargetApp {
112 KOPI = 0, 110 KOPI = 0,
113 KAPI = 1, 111 KAPI = 1,
114 PWMPI = 2 }; 112 PWMPI = 2 };
115
116 113
117 KSyncManager(QWidget* parent, KSyncInterface* implementation, TargetApp ta, KPimPrefs* prefs, QPopupMenu* syncmenu); 114 KSyncManager(QWidget* parent, KSyncInterface* implementation, TargetApp ta, KPimPrefs* prefs, QPopupMenu* syncmenu);
118 ~KSyncManager() ; 115 ~KSyncManager() ;
119 116
120 void multiSync( bool askforPrefs ); 117 void multiSync( bool askforPrefs );
121 bool blockSave() { return mBlockSaveFlag; } 118 bool blockSave() { return mBlockSaveFlag; }
122 void setBlockSave(bool sa) { mBlockSaveFlag = sa; } 119 void setBlockSave(bool sa) { mBlockSaveFlag = sa; }
123 void setDefaultFileName( QString s) { mDefFileName = s ;} 120 void setDefaultFileName( QString s) { mDefFileName = s ;}
124 QString defaultFileName() { return mDefFileName ;} 121 QString defaultFileName() { return mDefFileName ;}
125 QString syncFileName(); 122 QString syncFileName();
126 void fillSyncMenu();
127 123
128 QString getCurrentSyncDevice() { return mCurrentSyncDevice; } 124 QString getCurrentSyncDevice() { return mCurrentSyncDevice; }
129 QString getCurrentSyncName() { return mCurrentSyncName; } 125 QString getCurrentSyncName() { return mCurrentSyncName; }
130 126
131 void showProgressBar(int percentage, QString caption = QString::null, int total=100); 127 void showProgressBar(int percentage, QString caption = QString::null, int total=100);
132 void hideProgressBar(); 128 void hideProgressBar();
133 bool isProgressBarCanceled(); 129 bool isProgressBarCanceled();
134 130
135 // sync stuff 131 // sync stuff
136 QString mLocalMachineName; 132 QString mLocalMachineName;
137 QStringList mExternSyncProfiles; 133 QStringList mExternSyncProfiles;
138 QStringList mSyncProfileNames; 134 QStringList mSyncProfileNames;
139 bool mAskForPreferences; 135 bool mAskForPreferences;
140 bool mShowSyncSummary; 136 bool mShowSyncSummary;
141 bool mShowSyncEvents;
142 bool mShowTodoInAgenda;
143 bool mWriteBackExistingOnly; 137 bool mWriteBackExistingOnly;
144 int mSyncAlgoPrefs; 138 int mSyncAlgoPrefs;
145 int mRingSyncAlgoPrefs;
146 bool mWriteBackFile; 139 bool mWriteBackFile;
147 int mWriteBackInFuture; 140 int mWriteBackInFuture;
148 QString mPhoneDevice; 141 QString mPhoneDevice;
149 QString mPhoneConnection; 142 QString mPhoneConnection;
150 QString mPhoneModel; 143 QString mPhoneModel;
151 QString mPassWordPiSync; 144 QString mPassWordPiSync;
152 QString mActiveSyncPort; 145 QString mActiveSyncPort;
153 QString mActiveSyncIP ; 146 QString mActiveSyncIP ;
154 147
155 signals: 148 signals:
156 void save(); 149 void save();
157 void request_file(); 150 void request_file();
158 void getFile( bool ); 151 void getFile( bool );
159 152
160 public slots: 153 public slots:
161 void slotSyncMenu( int ); 154 void slotSyncMenu( int );
162 void deleteCommandSocket(KCommandSocket*s, int state); 155 void deleteCommandSocket(KCommandSocket*s, int state);
163 void readFileFromSocket(); 156 void readFileFromSocket();
157 void fillSyncMenu();
164 158
165 private: 159 private:
166 // LR *******************************
167 // sync stuff!
168 void syncPi(); 160 void syncPi();
169 KServerSocket * mServerSocket; 161 KServerSocket * mServerSocket;
170 void enableQuick(); 162 void enableQuick();
171 KPimPrefs* mPrefs; 163 KPimPrefs* mPrefs;
172 QString mDefFileName; 164 QString mDefFileName;
173 QString mCurrentSyncDevice; 165 QString mCurrentSyncDevice;
174 QString mCurrentSyncName; 166 QString mCurrentSyncName;
175 void quickSyncLocalFile(); 167 void quickSyncLocalFile();
176 bool syncWithFile( QString fn , bool quick ); 168 bool syncWithFile( QString fn , bool quick );
177 void syncLocalFile(); 169 void syncLocalFile();
178 void syncPhone(); 170 void syncPhone();
179 void syncSharp(); 171 void syncSharp();
180 bool syncExternalApplication(QString); 172 bool syncExternalApplication(QString);
181 int mCurrentSyncProfile ; 173 int mCurrentSyncProfile ;
182 void syncRemote( KSyncProfile* prof, bool ask = true); 174 void syncRemote( KSyncProfile* prof, bool ask = true);
183 void edit_sync_options(); 175 void edit_sync_options();
184 int ringSync(); 176 int ringSync();
185 QString getPassword( ); 177 QString getPassword( );
186 178
187 private slots: 179 private slots:
188 void confSync(); 180 void confSync();
189 // *********************
190
191 private: 181 private:
192 bool mBlockSaveFlag; 182 bool mBlockSaveFlag;
193
194
195 QWidget* mParent; 183 QWidget* mParent;
196 KSyncInterface* mImplementation; 184 KSyncInterface* mImplementation;
197 TargetApp mTargetApp; 185 TargetApp mTargetApp;
198 QPopupMenu* mSyncMenu; 186 QPopupMenu* mSyncMenu;
199
200 QProgressBar* bar; 187 QProgressBar* bar;
201 188
202
203
204
205
206}; 189};
207 190
208 191
209class KSyncInterface 192class KSyncInterface
210{ 193{
211
212
213 public : 194 public :
214 virtual bool sync(KSyncManager* manager, QString filename, int mode) = 0; 195 virtual bool sync(KSyncManager* manager, QString filename, int mode) = 0;
215
216 virtual bool syncExternal(KSyncManager* manager, QString resource) 196 virtual bool syncExternal(KSyncManager* manager, QString resource)
217 { 197 {
218 // empty implementation, because some syncable applications do not have an external(sharpdtm) syncmode, like pwmanager. 198 // empty implementation, because some syncable applications do not
219 return false; 199 // have an external(sharpdtm) syncmode, like pwmanager.
220 } 200 return false;
201 }
221 202
222 203
223}; 204};
224 205
225 206
226#endif 207#endif