summaryrefslogtreecommitdiffabout
path: root/korganizer
Unidiff
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/mainwindow.cpp105
-rw-r--r--korganizer/mainwindow.h38
2 files changed, 101 insertions, 42 deletions
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index 2e6b5c8..460bbdc 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -1,38 +1,40 @@
1#include <stdlib.h> 1#include <stdlib.h>
2 2
3#include <qaction.h> 3#include <qaction.h>
4#include <qpopupmenu.h> 4#include <qpopupmenu.h>
5#include <qpainter.h> 5#include <qpainter.h>
6#include <qwhatsthis.h> 6#include <qwhatsthis.h>
7#include <qpushbutton.h>
7#include <qmessagebox.h> 8#include <qmessagebox.h>
8#include <qlineedit.h> 9#include <qlineedit.h>
9#include <qtextcodec.h> 10#include <qtextcodec.h>
10#include <qfile.h> 11#include <qfile.h>
11#include <qdir.h> 12#include <qdir.h>
12#include <qapp.h> 13#include <qapp.h>
13#include <qfileinfo.h> 14#include <qfileinfo.h>
14#include <qlabel.h> 15#include <qlabel.h>
15#include <qmap.h> 16#include <qmap.h>
16#include <qwmatrix.h> 17#include <qwmatrix.h>
17#include <qtextbrowser.h> 18#include <qtextbrowser.h>
18#include <qtextstream.h> 19#include <qtextstream.h>
19#ifndef DESKTOP_VERSION 20#ifndef DESKTOP_VERSION
20#include <qpe/global.h> 21#include <qpe/global.h>
21#include <qpe/qpemenubar.h> 22#include <qpe/qpemenubar.h>
22#include <qpe/qpetoolbar.h> 23#include <qpe/qpetoolbar.h>
23#include <qpe/resource.h> 24#include <qpe/resource.h>
24#include <qpe/qpeapplication.h> 25#include <qpe/qpeapplication.h>
25#include <qtopia/alarmserver.h> 26#include <qtopia/alarmserver.h>
26#include <qtopia/qcopenvelope_qws.h> 27#include <qtopia/qcopenvelope_qws.h>
28#include <unistd.h> // for sleep
27#else 29#else
28#include <qmenubar.h> 30#include <qmenubar.h>
29#include <qtoolbar.h> 31#include <qtoolbar.h>
30#include <qapplication.h> 32#include <qapplication.h>
31//#include <resource.h> 33//#include <resource.h>
32 34
33#endif 35#endif
34#include <libkcal/calendarlocal.h> 36#include <libkcal/calendarlocal.h>
35#include <libkcal/todo.h> 37#include <libkcal/todo.h>
36#include <libkdepim/ksyncprofile.h> 38#include <libkdepim/ksyncprofile.h>
37#include <libkcal/kincidenceformatter.h> 39#include <libkcal/kincidenceformatter.h>
38#include <libkdepim/kpimglobalprefs.h> 40#include <libkdepim/kpimglobalprefs.h>
@@ -1137,30 +1139,25 @@ void MainWindow::displayFile( QString fn, QString cap )
1137} 1139}
1138void MainWindow::features() 1140void MainWindow::features()
1139{ 1141{
1140 1142
1141 displayFile( "featuresKOPI.txt",i18n("KO/Pi Features and hints") ); 1143 displayFile( "featuresKOPI.txt",i18n("KO/Pi Features and hints") );
1142} 1144}
1143 1145
1144void MainWindow::usertrans() 1146void MainWindow::usertrans()
1145{ 1147{
1146 1148
1147 displayFile( "usertranslationHOWTO.txt",i18n("KO/Pi User translation HowTo") ); 1149 displayFile( "usertranslationHOWTO.txt",i18n("KO/Pi User translation HowTo") );
1148} 1150}
1149#if 0 1151
1150#include <libkcal/vcalformat.h>
1151#include <libkcal/event.h>
1152#include <libkcal/todo.h>
1153#include <libkcal/incidence.h>
1154#endif
1155void MainWindow::synchowto() 1152void MainWindow::synchowto()
1156{ 1153{
1157#if 0 1154#if 0
1158 QPtrList<Incidence> er = mCalendar->rawIncidences(); 1155 QPtrList<Incidence> er = mCalendar->rawIncidences();
1159 Incidence* inR = er.first(); 1156 Incidence* inR = er.first();
1160 VCalFormat vf; 1157 VCalFormat vf;
1161 QString strout; 1158 QString strout;
1162 while ( inR ) { 1159 while ( inR ) {
1163 if ( inR->type() == "Todo" ) 1160 if ( inR->type() == "Todo" )
1164 strout = vf.todoToString( (Todo *) inR ); 1161 strout = vf.todoToString( (Todo *) inR );
1165 if ( inR->type() == "Event" ) 1162 if ( inR->type() == "Event" )
1166 strout = vf.eventToString( (Event *) inR ); 1163 strout = vf.eventToString( (Event *) inR );
@@ -1419,25 +1416,24 @@ void MainWindow::slotModifiedChanged( bool changed )
1419 return; 1416 return;
1420 int msec; 1417 int msec;
1421 // we store the changes after 1 minute, 1418 // we store the changes after 1 minute,
1422 // and for safety reasons after 10 minutes again 1419 // and for safety reasons after 10 minutes again
1423 if ( !mBlockSaveFlag ) 1420 if ( !mBlockSaveFlag )
1424 msec = (1000 * 60*KOPrefs::instance()->mAutoSaveInterval) +1000; 1421 msec = (1000 * 60*KOPrefs::instance()->mAutoSaveInterval) +1000;
1425 else 1422 else
1426 msec = 1000 * 600; 1423 msec = 1000 * 600;
1427 mSaveTimer.start( msec, true ); // 1 minute 1424 mSaveTimer.start( msec, true ); // 1 minute
1428 qDebug("KO: Saving File in %d secs!", msec/1000); 1425 qDebug("KO: Saving File in %d secs!", msec/1000);
1429 mCalendarModifiedFlag = true; 1426 mCalendarModifiedFlag = true;
1430} 1427}
1431#include <qfileinfo.h>
1432void MainWindow::save() 1428void MainWindow::save()
1433{ 1429{
1434 if ( mBlockSaveFlag ) 1430 if ( mBlockSaveFlag )
1435 return; 1431 return;
1436 bool store = mBlockSaveFlag; 1432 bool store = mBlockSaveFlag;
1437 mBlockSaveFlag = true; 1433 mBlockSaveFlag = true;
1438 if ( mView->checkFileVersion( defaultFileName()) ) { 1434 if ( mView->checkFileVersion( defaultFileName()) ) {
1439 1435
1440 QTime neededSaveTime = QDateTime::currentDateTime().time(); 1436 QTime neededSaveTime = QDateTime::currentDateTime().time();
1441 setCaption(i18n("KO/Pi:Saving Data to File ..." )); 1437 setCaption(i18n("KO/Pi:Saving Data to File ..." ));
1442 qDebug("KO: Start saving data to file!"); 1438 qDebug("KO: Start saving data to file!");
1443 mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1)); 1439 mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1));
@@ -1857,25 +1853,24 @@ void MainWindow::exportVCalendar()
1857 if ( createbup ) { 1853 if ( createbup ) {
1858 if ( mView->exportVCalendar( fn ) ) { 1854 if ( mView->exportVCalendar( fn ) ) {
1859 KOPrefs::instance()->mLastVcalFile = fn; 1855 KOPrefs::instance()->mLastVcalFile = fn;
1860 if ( fn.length() > 20 ) 1856 if ( fn.length() > 20 )
1861 mes = i18n("KO/Pi:Exported to ...%1").arg(fn.right(20)) ; 1857 mes = i18n("KO/Pi:Exported to ...%1").arg(fn.right(20)) ;
1862 else 1858 else
1863 mes = i18n("KO/Pi:Exported to %1").arg(fn ); 1859 mes = i18n("KO/Pi:Exported to %1").arg(fn );
1864 setCaption(mes); 1860 setCaption(mes);
1865 } 1861 }
1866 } 1862 }
1867 1863
1868} 1864}
1869#include <qpushbutton.h>
1870QString MainWindow::getPassword( ) 1865QString MainWindow::getPassword( )
1871{ 1866{
1872 QString retfile = ""; 1867 QString retfile = "";
1873 QDialog dia ( this, "input-dialog", true ); 1868 QDialog dia ( this, "input-dialog", true );
1874 QLineEdit lab ( &dia ); 1869 QLineEdit lab ( &dia );
1875 lab.setEchoMode( QLineEdit::Password ); 1870 lab.setEchoMode( QLineEdit::Password );
1876 QVBoxLayout lay( &dia ); 1871 QVBoxLayout lay( &dia );
1877 lay.setMargin(7); 1872 lay.setMargin(7);
1878 lay.setSpacing(7); 1873 lay.setSpacing(7);
1879 lay.addWidget( &lab); 1874 lay.addWidget( &lab);
1880 dia.setFixedSize( 230,50 ); 1875 dia.setFixedSize( 230,50 );
1881 dia.setCaption( i18n("Enter password") ); 1876 dia.setCaption( i18n("Enter password") );
@@ -1992,27 +1987,60 @@ void MainWindow::getFile(QSocket* socket)
1992 qDebug("error open cal file "); 1987 qDebug("error open cal file ");
1993 return ; 1988 return ;
1994 1989
1995 } 1990 }
1996 1991
1997 mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1)); 1992 mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1));
1998 QTextStream ts( &file ); 1993 QTextStream ts( &file );
1999 ts.setCodec( QTextCodec::codecForName("utf8") ); 1994 ts.setCodec( QTextCodec::codecForName("utf8") );
2000 bool first = true; 1995 bool first = true;
2001 while ( socket->canReadLine () || first ) { 1996 while ( socket->canReadLine () || first ) {
2002 first = false; 1997 first = false;
2003 while ( socket->canReadLine () ) { 1998 while ( socket->canReadLine () ) {
1999 qDebug("avail %d ", socket->bytesAvailable () );
2004 ts << socket->readLine (); 2000 ts << socket->readLine ();
2005 } 2001 }
2002 QTime ti;
2003 ti.start();
2004 while ( ti.elapsed () < 5000 && !socket->canReadLine () ) {
2005 qDebug("waiting1a %d %d ",ti.elapsed (), socket->bytesAvailable () );
2006 //qApp->processEvents();
2007 qDebug("waiting1b %d ",ti.elapsed () );
2008 if ( !socket->canReadLine () ) {
2009 qDebug("waiting1c %d ",ti.elapsed () );
2010 usleep( 100000);
2011 }
2012 //socket->waitForMore ( 100 );
2013 }
2014 ts << socket->readLine ();
2015#if 0
2016#ifdef DESKTOP_VERSION
2006 socket->waitForMore ( 5000 ); 2017 socket->waitForMore ( 5000 );
2018#else
2019 // socket->waitForMore ( 5000 );
2020 // seems to be broken in qt2
2021 bool stop = false;
2022 QTime ti;
2023 ti.start();
2024 while ( ti.elapsed < 5000 && !stop ) {
2025 qApp->processEvents();
2026 if ( socket->canReadLine () )
2027 stop = true ;
2028 else {
2029 usleep( 100000 );
2030
2031 }
2032 }
2033#endif
2034#endif
2007 } 2035 }
2008 setCaption( i18n("File received - reloading calendar...") ); 2036 setCaption( i18n("File received - reloading calendar...") );
2009 file.close(); 2037 file.close();
2010 socket->close(); 2038 socket->close();
2011 mView->watchSavedFile(); 2039 mView->watchSavedFile();
2012 mView->openCalendar( defaultFileName() ); 2040 mView->openCalendar( defaultFileName() );
2013 setCaption( i18n("Easy-Pi-Sync successful!") ); 2041 setCaption( i18n("Easy-Pi-Sync successful!") );
2014 delete mSyncActionDialog; 2042 delete mSyncActionDialog;
2015 mSyncActionDialog = 0; 2043 mSyncActionDialog = 0;
2016 2044
2017 2045
2018} 2046}
@@ -2100,26 +2128,34 @@ QString fileName;
2100 } 2128 }
2101 2129
2102 //QTextStream os2( mCommandSocket ); 2130 //QTextStream os2( mCommandSocket );
2103 //os2.setEncoding( QTextStream::UnicodeUTF8 ); 2131 //os2.setEncoding( QTextStream::UnicodeUTF8 );
2104 2132
2105 QTextStream ts( &file ); 2133 QTextStream ts( &file );
2106 ts.setCodec( QTextCodec::codecForName("utf8") ); 2134 ts.setCodec( QTextCodec::codecForName("utf8") );
2107 bool first = true; 2135 bool first = true;
2108 while ( mCommandSocket->canReadLine () || first) { 2136 while ( mCommandSocket->canReadLine () || first) {
2109 first = false; 2137 first = false;
2110 while ( mCommandSocket->canReadLine () ) { 2138 while ( mCommandSocket->canReadLine () ) {
2111 ts << mCommandSocket->readLine (); 2139 ts << mCommandSocket->readLine ();
2140 }
2141 QTime ti;
2142 ti.start();
2143 while ( ti.elapsed () < 5000 && !mCommandSocket->canReadLine () ) {
2144 qApp->processEvents();
2145 qDebug("waiting2 %d ",ti.elapsed () );
2146 if ( !mCommandSocket->canReadLine () )
2147 mCommandSocket->waitForMore ( 100 );
2112 } 2148 }
2113 mCommandSocket->waitForMore ( 5000 ); 2149 //mCommandSocket->waitForMore ( 5000 );
2114 } 2150 }
2115 file.close(); 2151 file.close();
2116 mCommandSocket->close(); 2152 mCommandSocket->close();
2117 //delete mCommandSocket; 2153 //delete mCommandSocket;
2118 setCaption( i18n("Remote file saved to temp file.") ); 2154 setCaption( i18n("Remote file saved to temp file.") );
2119 //mCommandSocket = 0; 2155 //mCommandSocket = 0;
2120 mCurrentSyncProfile = 2 ; // last file 2156 mCurrentSyncProfile = 2 ; // last file
2121 mView->setSyncDevice(KOPrefs::instance()->mSyncProfileNames[mCurrentSyncProfile] ); 2157 mView->setSyncDevice(KOPrefs::instance()->mSyncProfileNames[mCurrentSyncProfile] );
2122 mView->setSyncName( KOPrefs::instance()->mLocalMachineName ); 2158 mView->setSyncName( KOPrefs::instance()->mLocalMachineName );
2123 KConfig config ( locateLocal( "config","ksyncprofilesrc" ) ); 2159 KConfig config ( locateLocal( "config","ksyncprofilesrc" ) );
2124 KSyncProfile* temp = new KSyncProfile (); 2160 KSyncProfile* temp = new KSyncProfile ();
2125 temp->setName(KOPrefs::instance()->mSyncProfileNames[mCurrentSyncProfile]); 2161 temp->setName(KOPrefs::instance()->mSyncProfileNames[mCurrentSyncProfile]);
@@ -2443,12 +2479,63 @@ void MainWindow::syncPhone()
2443 2479
2444} 2480}
2445 2481
2446void MainWindow::printSel( ) 2482void MainWindow::printSel( )
2447{ 2483{
2448 mView->viewManager()->agendaView()->agenda()->printSelection(); 2484 mView->viewManager()->agendaView()->agenda()->printSelection();
2449} 2485}
2450 2486
2451void MainWindow::printCal() 2487void MainWindow::printCal()
2452{ 2488{
2453 mView->print();//mCp->showDialog(); 2489 mView->print();//mCp->showDialog();
2454} 2490}
2491
2492
2493
2494KServerSocket:: KServerSocket ( Q_UINT16 port, int backlog, QObject * parent, const char * name ) : QServerSocket( port, backlog, parent, name ){;};
2495
2496void KServerSocket::newConnection ( int socket )
2497{
2498 qDebug("KServerSocket:New connection %d ", socket);
2499 QSocket* s = new QSocket( this );
2500 connect( s, SIGNAL(readyRead()), this, SLOT(readClient()) );
2501 connect( s, SIGNAL(delayedCloseFinished()), this, SLOT(discardClient()) );
2502 s->setSocket( socket );
2503}
2504
2505void KServerSocket::discardClient()
2506{
2507 qDebug(" KServerSocket::discardClient()");
2508 QSocket* socket = (QSocket*)sender();
2509 delete socket;
2510 //emit endConnect();
2511}
2512void KServerSocket::readClient()
2513{
2514 qDebug("KServerSocket readClient()");
2515 QSocket* socket = (QSocket*)sender();
2516 if ( socket->canReadLine() ) {
2517 QStringList tokens = QStringList::split( QRegExp("[ \r\n][ \r\n]*"), socket->readLine() );
2518 qDebug("KServerSocket socket->canReadLine()");
2519 if ( tokens[0] == "GET" ) {
2520 emit sendFile( socket );
2521 }
2522 if ( tokens[0] == "PUT" ) {
2523 emit getFile( socket );
2524 }
2525 if ( tokens[0] == "STOP" ) {
2526 emit endConnect();
2527 }
2528 }
2529}
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
diff --git a/korganizer/mainwindow.h b/korganizer/mainwindow.h
index 5985d56..7b4fd27 100644
--- a/korganizer/mainwindow.h
+++ b/korganizer/mainwindow.h
@@ -18,63 +18,35 @@ class KSyncProfile;
18#define QPEMenuBar QMenuBar 18#define QPEMenuBar QMenuBar
19#endif 19#endif
20class QPEToolBar; 20class QPEToolBar;
21#include <qserversocket.h> 21#include <qserversocket.h>
22#include <qsocket.h> 22#include <qsocket.h>
23#include <qnetworkprotocol.h> 23#include <qnetworkprotocol.h>
24 24
25class KServerSocket : public QServerSocket 25class KServerSocket : public QServerSocket
26{ 26{
27 Q_OBJECT 27 Q_OBJECT
28 28
29public: 29public:
30 KServerSocket ( Q_UINT16 port, int backlog = 0, QObject * parent=0, const char * name=0 ) : 30 KServerSocket ( Q_UINT16 port, int backlog = 0, QObject * parent=0, const char * name=0 );
31 QServerSocket( port, backlog, parent, name ){;}; 31
32 void newConnection ( int socket ) 32 void newConnection ( int socket ) ;
33 {
34 qDebug("KServerSocket:New connection %d ", socket);
35 QSocket* s = new QSocket( this );
36 connect( s, SIGNAL(readyRead()), this, SLOT(readClient()) );
37 connect( s, SIGNAL(delayedCloseFinished()), this, SLOT(discardClient()) );
38 s->setSocket( socket );
39 }
40 33
41signals: 34signals:
42 void sendFile(QSocket*); 35 void sendFile(QSocket*);
43 void getFile(QSocket*); 36 void getFile(QSocket*);
44 void endConnect(); 37 void endConnect();
45private slots: 38private slots:
46 void discardClient() 39 void discardClient();
47 { 40 void readClient();
48 QSocket* socket = (QSocket*)sender();
49 delete socket;
50 //emit endConnect();
51 }
52 void readClient()
53 {
54 qDebug("readClient() ");
55 QSocket* socket = (QSocket*)sender();
56 if ( socket->canReadLine() ) {
57 QStringList tokens = QStringList::split( QRegExp("[ \r\n][ \r\n]*"), socket->readLine() );
58 if ( tokens[0] == "GET" ) {
59 emit sendFile( socket );
60 }
61 if ( tokens[0] == "PUT" ) {
62 emit getFile( socket );
63 }
64 if ( tokens[0] == "STOP" ) {
65 emit endConnect();
66 }
67 }
68 }
69}; 41};
70 42
71 43
72namespace KCal { 44namespace KCal {
73class CalendarLocal; 45class CalendarLocal;
74} 46}
75 47
76using namespace KCal; 48using namespace KCal;
77 49
78class MainWindow : public QMainWindow 50class MainWindow : public QMainWindow
79{ 51{
80 Q_OBJECT 52 Q_OBJECT