summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/mainwindow.cpp23
-rw-r--r--korganizer/mainwindow.h1
2 files changed, 15 insertions, 9 deletions
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index fe7e6d3..b7176a1 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -2481,123 +2481,128 @@ void KServerSocket::readBackFileFromSocket()
2481 } 2481 }
2482 2482
2483 // mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1)); 2483 // mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1));
2484 QTextStream ts ( &file ); 2484 QTextStream ts ( &file );
2485 ts.setCodec( QTextCodec::codecForName("utf8") ); 2485 ts.setCodec( QTextCodec::codecForName("utf8") );
2486 mSyncActionDialog->setCaption( i18n("Writing file to disk...") ); 2486 mSyncActionDialog->setCaption( i18n("Writing file to disk...") );
2487 ts << piFileString; 2487 ts << piFileString;
2488 mSocket->close(); 2488 mSocket->close();
2489 if ( mSocket->state() == QSocket::Idle ) 2489 if ( mSocket->state() == QSocket::Idle )
2490 QTimer::singleShot( 10, this , SLOT ( discardClient())); 2490 QTimer::singleShot( 10, this , SLOT ( discardClient()));
2491 file.close(); 2491 file.close();
2492 delete mSyncActionDialog; 2492 delete mSyncActionDialog;
2493 mSyncActionDialog = 0; 2493 mSyncActionDialog = 0;
2494 piFileString = ""; 2494 piFileString = "";
2495 emit file_received( true ); 2495 emit file_received( true );
2496 2496
2497} 2497}
2498 2498
2499KCommandSocket::KCommandSocket ( QString password, Q_UINT16 port, QString host, QObject * parent, const char * name ): QObject( parent, name ) 2499KCommandSocket::KCommandSocket ( QString password, Q_UINT16 port, QString host, QObject * parent, const char * name ): QObject( parent, name )
2500{ 2500{
2501 mPassWord = password; 2501 mPassWord = password;
2502 mSocket = 0; 2502 mSocket = 0;
2503 mPort = port; 2503 mPort = port;
2504 mHost = host; 2504 mHost = host;
2505 2505
2506 mRetVal = false; 2506 mRetVal = false;
2507 mTimerSocket = new QTimer ( this ); 2507 mTimerSocket = new QTimer ( this );
2508 connect( mTimerSocket, SIGNAL ( timeout () ), this, SLOT ( deleteSocket() ) ); 2508 connect( mTimerSocket, SIGNAL ( timeout () ), this, SLOT ( deleteSocket() ) );
2509} 2509}
2510void KCommandSocket::readFile( QString fn ) 2510void KCommandSocket::readFile( QString fn )
2511{ 2511{
2512 if ( !mSocket ) { 2512 if ( !mSocket ) {
2513 mSocket = new QSocket( this ); 2513 mSocket = new QSocket( this );
2514 connect( mSocket, SIGNAL(readyRead()), this, SLOT(startReadFileFromSocket()) ); 2514 connect( mSocket, SIGNAL(readyRead()), this, SLOT(startReadFileFromSocket()) );
2515 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) ); 2515 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) );
2516 } 2516 }
2517 mFileString = ""; 2517 mFileString = "";
2518 mFileName = fn; 2518 mFileName = fn;
2519 mFirst = true; 2519 mFirst = true;
2520 mSocket->connectToHost( mHost, mPort ); 2520 mSocket->connectToHost( mHost, mPort );
2521 QTextStream os( mSocket ); 2521 QTextStream os( mSocket );
2522 os.setEncoding( QTextStream::UnicodeUTF8 ); 2522 os.setEncoding( QTextStream::UnicodeUTF8 );
2523 os << "GET " << mPassWord << "\r\n"; 2523 os << "GET " << mPassWord << "\r\n";
2524 mTimerSocket->start( 10000 ); 2524 mTimerSocket->start( 10000 );
2525} 2525}
2526 2526
2527void KCommandSocket::writeFile( QString fileName ) 2527void KCommandSocket::writeFile( QString fileName )
2528{ 2528{
2529 QFile file2( fileName );
2530 if (!file2.open( IO_ReadOnly ) ) {
2531 mRetVal= false;
2532 deleteSocket();
2533 return ;
2534
2535 }
2536 if ( !mSocket ) { 2529 if ( !mSocket ) {
2537 mSocket = new QSocket( this ); 2530 mSocket = new QSocket( this );
2538 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) ); 2531 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) );
2532 connect( mSocket, SIGNAL(connected ()), this, SLOT(writeFileToSocket()) );
2539 } 2533 }
2534 mFileName = fileName ;
2540 mSocket->connectToHost( mHost, mPort ); 2535 mSocket->connectToHost( mHost, mPort );
2536}
2537void KCommandSocket::writeFileToSocket()
2538{
2539 QFile file2( mFileName );
2540 if (!file2.open( IO_ReadOnly ) ) {
2541 mRetVal= false;
2542 mSocket->close();
2543 if ( mSocket->state() == QSocket::Idle )
2544 QTimer::singleShot( 10, this , SLOT ( deleteSocket()));
2545 return ;
2546 }
2541 QTextStream ts2( &file2 ); 2547 QTextStream ts2( &file2 );
2542 ts2.setCodec( QTextCodec::codecForName("utf8") ); 2548 ts2.setCodec( QTextCodec::codecForName("utf8") );
2543 QTextStream os2( mSocket ); 2549 QTextStream os2( mSocket );
2544 os2.setCodec( QTextCodec::codecForName("utf8") ); 2550 os2.setCodec( QTextCodec::codecForName("utf8") );
2545 os2 << "PUT " << mPassWord << "\r\n";; 2551 os2 << "PUT " << mPassWord << "\r\n";;
2546 while ( ! ts2.atEnd() ) { 2552 while ( ! ts2.atEnd() ) {
2547 os2 << ts2.readLine() << "\n"; 2553 os2 << ts2.readLine() << "\n";
2548 } 2554 }
2549 mRetVal= true; 2555 mRetVal= true;
2556 file2.close();
2550 mSocket->close(); 2557 mSocket->close();
2551 if ( mSocket->state() == QSocket::Idle ) 2558 if ( mSocket->state() == QSocket::Idle )
2552 QTimer::singleShot( 10, this , SLOT ( deleteSocket())); 2559 QTimer::singleShot( 10, this , SLOT ( deleteSocket()));
2553 file2.close();
2554} 2560}
2555
2556void KCommandSocket::sendStop() 2561void KCommandSocket::sendStop()
2557{ 2562{
2558 if ( !mSocket ) { 2563 if ( !mSocket ) {
2559 mSocket = new QSocket( this ); 2564 mSocket = new QSocket( this );
2560 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) ); 2565 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) );
2561 } 2566 }
2562 mSocket->connectToHost( mHost, mPort ); 2567 mSocket->connectToHost( mHost, mPort );
2563 QTextStream os2( mSocket ); 2568 QTextStream os2( mSocket );
2564 os2.setCodec( QTextCodec::codecForName("utf8") ); 2569 os2.setCodec( QTextCodec::codecForName("utf8") );
2565 os2 << "STOP\r\n"; 2570 os2 << "STOP\r\n";
2566 mRetVal= true; 2571 mRetVal= true;
2567 mSocket->close(); 2572 mSocket->close();
2568 if ( mSocket->state() == QSocket::Idle ) 2573 if ( mSocket->state() == QSocket::Idle )
2569 QTimer::singleShot( 10, this , SLOT ( deleteSocket())); 2574 QTimer::singleShot( 10, this , SLOT ( deleteSocket()));
2570} 2575}
2571 2576
2572void KCommandSocket::startReadFileFromSocket() 2577void KCommandSocket::startReadFileFromSocket()
2573{ 2578{
2574 if ( ! mFirst ) 2579 if ( ! mFirst )
2575 return; 2580 return;
2576 mFirst = false; 2581 mFirst = false;
2577 mTimerSocket->stop(); 2582 mTimerSocket->stop();
2578 mFileString = ""; 2583 mFileString = "";
2579 mTime.start(); 2584 mTime.start();
2580 QTimer::singleShot( 1, this , SLOT (readFileFromSocket( ) )); 2585 QTimer::singleShot( 1, this , SLOT (readFileFromSocket( ) ));
2581 2586
2582} 2587}
2583void KCommandSocket::readFileFromSocket() 2588void KCommandSocket::readFileFromSocket()
2584{ 2589{
2585 //qDebug("readBackFileFromSocket() %d ", mTime.elapsed ()); 2590 //qDebug("readBackFileFromSocket() %d ", mTime.elapsed ());
2586 while ( mSocket->canReadLine () ) { 2591 while ( mSocket->canReadLine () ) {
2587 mTime.restart(); 2592 mTime.restart();
2588 QString line = mSocket->readLine (); 2593 QString line = mSocket->readLine ();
2589 mFileString += line; 2594 mFileString += line;
2590 //qDebug("readline: %s ", line.latin1()); 2595 //qDebug("readline: %s ", line.latin1());
2591 } 2596 }
2592 if ( mTime.elapsed () < 3000 ) { 2597 if ( mTime.elapsed () < 3000 ) {
2593 // wait for more 2598 // wait for more
2594 //qDebug("waitformore "); 2599 //qDebug("waitformore ");
2595 QTimer::singleShot( 100, this , SLOT (readFileFromSocket( ) )); 2600 QTimer::singleShot( 100, this , SLOT (readFileFromSocket( ) ));
2596 return; 2601 return;
2597 } 2602 }
2598 QString fileName = mFileName; 2603 QString fileName = mFileName;
2599 QFile file ( fileName ); 2604 QFile file ( fileName );
2600 if (!file.open( IO_WriteOnly ) ) { 2605 if (!file.open( IO_WriteOnly ) ) {
2601 mFileString = ""; 2606 mFileString = "";
2602 mRetVal = false; 2607 mRetVal = false;
2603 qDebug("Error open temp calender file for writing: %s",fileName.latin1() ); 2608 qDebug("Error open temp calender file for writing: %s",fileName.latin1() );
diff --git a/korganizer/mainwindow.h b/korganizer/mainwindow.h
index f8b2334..90b3a88 100644
--- a/korganizer/mainwindow.h
+++ b/korganizer/mainwindow.h
@@ -30,96 +30,97 @@ class KServerSocket : public QServerSocket
30 Q_OBJECT 30 Q_OBJECT
31 31
32public: 32public:
33 KServerSocket ( QString password, Q_UINT16 port, int backlog = 0, QObject * parent=0, const char * name=0 ); 33 KServerSocket ( QString password, Q_UINT16 port, int backlog = 0, QObject * parent=0, const char * name=0 );
34 34
35 void newConnection ( int socket ) ; 35 void newConnection ( int socket ) ;
36 void setFileName( QString fn ) {mFileName = fn;}; 36 void setFileName( QString fn ) {mFileName = fn;};
37 37
38signals: 38signals:
39 //void sendFile(QSocket*); 39 //void sendFile(QSocket*);
40 //void getFile(QSocket*); 40 //void getFile(QSocket*);
41 void file_received( bool ); 41 void file_received( bool );
42 //void file_sent(); 42 //void file_sent();
43 void saveFile(); 43 void saveFile();
44 void endConnect(); 44 void endConnect();
45private slots: 45private slots:
46 void discardClient(); 46 void discardClient();
47 void readClient(); 47 void readClient();
48 void readBackFileFromSocket(); 48 void readBackFileFromSocket();
49 private : 49 private :
50 void send_file(); 50 void send_file();
51 void get_file(); 51 void get_file();
52 void end_connect(); 52 void end_connect();
53 QDialog* mSyncActionDialog; 53 QDialog* mSyncActionDialog;
54 QSocket* mSocket; 54 QSocket* mSocket;
55 QString mPassWord; 55 QString mPassWord;
56 QString mFileName; 56 QString mFileName;
57 QTime piTime; 57 QTime piTime;
58 QString piFileString; 58 QString piFileString;
59}; 59};
60 60
61class KCommandSocket : public QObject 61class KCommandSocket : public QObject
62{ 62{
63 Q_OBJECT 63 Q_OBJECT
64 64
65public: 65public:
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 );
68 void writeFile( QString ); 68 void writeFile( QString );
69 void sendStop(); 69 void sendStop();
70 70
71 71
72signals: 72signals:
73 void commandFinished( KCommandSocket*, bool ); 73 void commandFinished( KCommandSocket*, bool );
74private slots: 74private slots:
75 void startReadFileFromSocket(); 75 void startReadFileFromSocket();
76 void readFileFromSocket(); 76 void readFileFromSocket();
77 void deleteSocket(); 77 void deleteSocket();
78 void writeFileToSocket();
78 private : 79 private :
79 QSocket* mSocket; 80 QSocket* mSocket;
80 QString mPassWord; 81 QString mPassWord;
81 Q_UINT16 mPort; 82 Q_UINT16 mPort;
82 QString mHost; 83 QString mHost;
83 QString mFileName; 84 QString mFileName;
84 QTimer* mTimerSocket; 85 QTimer* mTimerSocket;
85 bool mRetVal; 86 bool mRetVal;
86 QTime mTime; 87 QTime mTime;
87 QString mFileString; 88 QString mFileString;
88 bool mFirst; 89 bool mFirst;
89}; 90};
90 91
91namespace KCal { 92namespace KCal {
92class CalendarLocal; 93class CalendarLocal;
93} 94}
94 95
95using namespace KCal; 96using namespace KCal;
96 97
97class MainWindow : public QMainWindow 98class MainWindow : public QMainWindow
98{ 99{
99 Q_OBJECT 100 Q_OBJECT
100 public: 101 public:
101 MainWindow( QWidget *parent = 0, const char *name = 0, QString command = ""); 102 MainWindow( QWidget *parent = 0, const char *name = 0, QString command = "");
102 ~MainWindow(); 103 ~MainWindow();
103 public slots: 104 public slots:
104 virtual void showMaximized (); 105 virtual void showMaximized ();
105 void configureAgenda( int ); 106 void configureAgenda( int );
106 void recieve( const QCString& msg, const QByteArray& data ); 107 void recieve( const QCString& msg, const QByteArray& data );
107 static QString defaultFileName(); 108 static QString defaultFileName();
108 static QString resourcePath(); 109 static QString resourcePath();
109 protected slots: 110 protected slots:
110 void setCaptionToDates(); 111 void setCaptionToDates();
111 int ringSync(); 112 int ringSync();
112 void multiSync( bool askforPrefs = false ); 113 void multiSync( bool askforPrefs = false );
113 void about(); 114 void about();
114 void licence(); 115 void licence();
115 void faq(); 116 void faq();
116 void usertrans(); 117 void usertrans();
117 void features(); 118 void features();
118 void synchowto(); 119 void synchowto();
119 void whatsNew(); 120 void whatsNew();
120 void keyBindings(); 121 void keyBindings();
121 void aboutAutoSaving();; 122 void aboutAutoSaving();;
122 void aboutKnownBugs(); 123 void aboutKnownBugs();
123 124
124 void processIncidenceSelection( Incidence * ); 125 void processIncidenceSelection( Incidence * );
125 126