author | zautrix <zautrix> | 2004-09-22 23:36:37 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2004-09-22 23:36:37 (UTC) |
commit | e2bc785d2f98d2aeac6ab6a5e39ff4f6e679517b (patch) (unidiff) | |
tree | f45771acfd61a0ddda6b253082f243acac473d33 /korganizer | |
parent | 772411a6c16f9b2299bd173116faeb4482325bcc (diff) | |
download | kdepimpi-e2bc785d2f98d2aeac6ab6a5e39ff4f6e679517b.zip kdepimpi-e2bc785d2f98d2aeac6ab6a5e39ff4f6e679517b.tar.gz kdepimpi-e2bc785d2f98d2aeac6ab6a5e39ff4f6e679517b.tar.bz2 |
bugfixes
-rw-r--r-- | korganizer/mainwindow.cpp | 32 | ||||
-rw-r--r-- | korganizer/mainwindow.h | 1 |
2 files changed, 19 insertions, 14 deletions
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp index ebe761a..2e6b5c8 100644 --- a/korganizer/mainwindow.cpp +++ b/korganizer/mainwindow.cpp | |||
@@ -28,96 +28,97 @@ | |||
28 | #include <qmenubar.h> | 28 | #include <qmenubar.h> |
29 | #include <qtoolbar.h> | 29 | #include <qtoolbar.h> |
30 | #include <qapplication.h> | 30 | #include <qapplication.h> |
31 | //#include <resource.h> | 31 | //#include <resource.h> |
32 | 32 | ||
33 | #endif | 33 | #endif |
34 | #include <libkcal/calendarlocal.h> | 34 | #include <libkcal/calendarlocal.h> |
35 | #include <libkcal/todo.h> | 35 | #include <libkcal/todo.h> |
36 | #include <libkdepim/ksyncprofile.h> | 36 | #include <libkdepim/ksyncprofile.h> |
37 | #include <libkcal/kincidenceformatter.h> | 37 | #include <libkcal/kincidenceformatter.h> |
38 | #include <libkdepim/kpimglobalprefs.h> | 38 | #include <libkdepim/kpimglobalprefs.h> |
39 | 39 | ||
40 | #include "calendarview.h" | 40 | #include "calendarview.h" |
41 | #include "koviewmanager.h" | 41 | #include "koviewmanager.h" |
42 | #include "datenavigator.h" | 42 | #include "datenavigator.h" |
43 | #include "koagendaview.h" | 43 | #include "koagendaview.h" |
44 | #include "koagenda.h" | 44 | #include "koagenda.h" |
45 | #include "kodialogmanager.h" | 45 | #include "kodialogmanager.h" |
46 | #include "kdialogbase.h" | 46 | #include "kdialogbase.h" |
47 | #include "kapplication.h" | 47 | #include "kapplication.h" |
48 | #include "kofilterview.h" | 48 | #include "kofilterview.h" |
49 | #include "kstandarddirs.h" | 49 | #include "kstandarddirs.h" |
50 | #include "koprefs.h" | 50 | #include "koprefs.h" |
51 | #include "kfiledialog.h" | 51 | #include "kfiledialog.h" |
52 | #include "koglobals.h" | 52 | #include "koglobals.h" |
53 | #include "kglobal.h" | 53 | #include "kglobal.h" |
54 | #include "klocale.h" | 54 | #include "klocale.h" |
55 | #include "kconfig.h" | 55 | #include "kconfig.h" |
56 | #include "simplealarmclient.h" | 56 | #include "simplealarmclient.h" |
57 | #include "externalapphandler.h" | 57 | #include "externalapphandler.h" |
58 | 58 | ||
59 | using namespace KCal; | 59 | using namespace KCal; |
60 | #ifndef _WIN32_ | 60 | #ifndef _WIN32_ |
61 | #include <unistd.h> | 61 | #include <unistd.h> |
62 | #else | 62 | #else |
63 | #include "koimportoldialog.h" | 63 | #include "koimportoldialog.h" |
64 | #endif | 64 | #endif |
65 | #include "mainwindow.h" | 65 | #include "mainwindow.h" |
66 | 66 | ||
67 | int globalFlagBlockStartup; | 67 | int globalFlagBlockStartup; |
68 | MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) : | 68 | MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) : |
69 | QMainWindow( parent, name ) | 69 | QMainWindow( parent, name ) |
70 | { | 70 | { |
71 | 71 | ||
72 | #ifdef DESKTOP_VERSION | 72 | #ifdef DESKTOP_VERSION |
73 | setFont( QFont("Arial"), 14 ); | 73 | setFont( QFont("Arial"), 14 ); |
74 | #endif | 74 | #endif |
75 | mCommandSocket = 0; | 75 | mCommandSocket = 0; |
76 | mCommandSocketFinish = 0; | ||
76 | mSyncActionDialog = 0; | 77 | mSyncActionDialog = 0; |
77 | mServerSocket = 0; | 78 | mServerSocket = 0; |
78 | mClosed = false; | 79 | mClosed = false; |
79 | //QString confFile = KStandardDirs::appDir() + "config/korganizerrc"; | 80 | //QString confFile = KStandardDirs::appDir() + "config/korganizerrc"; |
80 | QString confFile = locateLocal("config","korganizerrc"); | 81 | QString confFile = locateLocal("config","korganizerrc"); |
81 | QFileInfo finf ( confFile ); | 82 | QFileInfo finf ( confFile ); |
82 | bool showWarning = !finf.exists(); | 83 | bool showWarning = !finf.exists(); |
83 | setIcon(SmallIcon( "ko24" ) ); | 84 | setIcon(SmallIcon( "ko24" ) ); |
84 | mBlockAtStartup = true; | 85 | mBlockAtStartup = true; |
85 | mFlagKeyPressed = false; | 86 | mFlagKeyPressed = false; |
86 | setCaption("KOrganizer/Pi"); | 87 | setCaption("KOrganizer/Pi"); |
87 | KOPrefs *p = KOPrefs::instance(); | 88 | KOPrefs *p = KOPrefs::instance(); |
88 | KPimGlobalPrefs::instance()->setGlobalConfig(); | 89 | KPimGlobalPrefs::instance()->setGlobalConfig(); |
89 | // if ( QApplication::desktop()->height() > 480 ) { | 90 | // if ( QApplication::desktop()->height() > 480 ) { |
90 | // if ( p->mHourSize == 4 ) | 91 | // if ( p->mHourSize == 4 ) |
91 | // p->mHourSize = 6; | 92 | // p->mHourSize = 6; |
92 | // } | 93 | // } |
93 | if ( p->mHourSize > 18 ) | 94 | if ( p->mHourSize > 18 ) |
94 | p->mHourSize = 18; | 95 | p->mHourSize = 18; |
95 | QMainWindow::ToolBarDock tbd; | 96 | QMainWindow::ToolBarDock tbd; |
96 | if ( p->mToolBarHor ) { | 97 | if ( p->mToolBarHor ) { |
97 | if ( p->mToolBarUp ) | 98 | if ( p->mToolBarUp ) |
98 | tbd = Bottom; | 99 | tbd = Bottom; |
99 | else | 100 | else |
100 | tbd = Top; | 101 | tbd = Top; |
101 | } | 102 | } |
102 | else { | 103 | else { |
103 | if ( p->mToolBarUp ) | 104 | if ( p->mToolBarUp ) |
104 | tbd = Right; | 105 | tbd = Right; |
105 | else | 106 | else |
106 | tbd = Left; | 107 | tbd = Left; |
107 | } | 108 | } |
108 | if ( KOPrefs::instance()->mUseAppColors ) | 109 | if ( KOPrefs::instance()->mUseAppColors ) |
109 | QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true ); | 110 | QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true ); |
110 | globalFlagBlockStartup = 1; | 111 | globalFlagBlockStartup = 1; |
111 | iconToolBar = new QPEToolBar( this ); | 112 | iconToolBar = new QPEToolBar( this ); |
112 | addToolBar (iconToolBar , tbd ); | 113 | addToolBar (iconToolBar , tbd ); |
113 | mBlockSaveFlag = false; | 114 | mBlockSaveFlag = false; |
114 | mCalendarModifiedFlag = false; | 115 | mCalendarModifiedFlag = false; |
115 | 116 | ||
116 | QLabel* splash = new QLabel(i18n("KO/Pi is starting ... "), this ); | 117 | QLabel* splash = new QLabel(i18n("KO/Pi is starting ... "), this ); |
117 | splash->setAlignment ( AlignCenter ); | 118 | splash->setAlignment ( AlignCenter ); |
118 | setCentralWidget( splash ); | 119 | setCentralWidget( splash ); |
119 | #ifndef DESKTOP_VERSION | 120 | #ifndef DESKTOP_VERSION |
120 | showMaximized(); | 121 | showMaximized(); |
121 | #endif | 122 | #endif |
122 | //qDebug("Mainwidget x %d y %d w %d h %d", x(), y(), width(), height ()); | 123 | //qDebug("Mainwidget x %d y %d w %d h %d", x(), y(), width(), height ()); |
123 | setDefaultPreferences(); | 124 | setDefaultPreferences(); |
@@ -1936,282 +1937,285 @@ void MainWindow::enableQuick() | |||
1936 | connect( mServerSocket, SIGNAL ( getFile(QSocket*) ), this, SLOT ( getFile(QSocket*) ) ); | 1937 | connect( mServerSocket, SIGNAL ( getFile(QSocket*) ), this, SLOT ( getFile(QSocket*) ) ); |
1937 | } | 1938 | } |
1938 | void MainWindow::sendFile(QSocket* socket) | 1939 | void MainWindow::sendFile(QSocket* socket) |
1939 | { | 1940 | { |
1940 | setCaption( i18n("Received request for file") ); | 1941 | setCaption( i18n("Received request for file") ); |
1941 | qDebug("MainWindow::sendFile(QSocket* s) "); | 1942 | qDebug("MainWindow::sendFile(QSocket* s) "); |
1942 | if ( mSyncActionDialog ) | 1943 | if ( mSyncActionDialog ) |
1943 | delete mSyncActionDialog; | 1944 | delete mSyncActionDialog; |
1944 | mSyncActionDialog = new QDialog ( this, "input-dialog", true ); | 1945 | mSyncActionDialog = new QDialog ( this, "input-dialog", true ); |
1945 | mSyncActionDialog->setCaption(i18n("KO/Pi - WARNING")); | 1946 | mSyncActionDialog->setCaption(i18n("KO/Pi - WARNING")); |
1946 | QLabel* label = new QLabel( i18n("Synchronizing...\nDo not use\nthis application!\n"), mSyncActionDialog ); | 1947 | QLabel* label = new QLabel( i18n("Synchronizing...\nDo not use\nthis application!\n"), mSyncActionDialog ); |
1947 | QVBoxLayout* lay = new QVBoxLayout( mSyncActionDialog ); | 1948 | QVBoxLayout* lay = new QVBoxLayout( mSyncActionDialog ); |
1948 | lay->addWidget( label); | 1949 | lay->addWidget( label); |
1949 | lay->setMargin(7); | 1950 | lay->setMargin(7); |
1950 | lay->setSpacing(7); | 1951 | lay->setSpacing(7); |
1951 | mSyncActionDialog->setFixedSize( 200,100 ); | 1952 | mSyncActionDialog->setFixedSize( 200,100 ); |
1952 | mSyncActionDialog->show(); | 1953 | mSyncActionDialog->show(); |
1953 | qApp->processEvents(); | 1954 | qApp->processEvents(); |
1954 | qDebug("saving ... "); | 1955 | qDebug("saving ... "); |
1955 | save(); | 1956 | save(); |
1956 | QString fileName = defaultFileName(); | 1957 | QString fileName = defaultFileName(); |
1957 | QFile file( fileName ); | 1958 | QFile file( fileName ); |
1958 | if (!file.open( IO_ReadOnly ) ) { | 1959 | if (!file.open( IO_ReadOnly ) ) { |
1959 | setCaption( i18n("Error open file") ); | 1960 | setCaption( i18n("Error open file") ); |
1960 | delete mSyncActionDialog; | 1961 | delete mSyncActionDialog; |
1961 | mSyncActionDialog = 0; | 1962 | mSyncActionDialog = 0; |
1962 | qDebug("error open cal file "); | 1963 | qDebug("error open cal file "); |
1963 | return ; | 1964 | return ; |
1964 | 1965 | ||
1965 | } | 1966 | } |
1966 | setCaption( i18n("Sending file...") ); | 1967 | setCaption( i18n("Sending file...") ); |
1967 | QTextStream ts( &file ); | 1968 | QTextStream ts( &file ); |
1968 | ts.setCodec( QTextCodec::codecForName("utf8") ); | 1969 | ts.setCodec( QTextCodec::codecForName("utf8") ); |
1969 | QTextStream os( socket ); | 1970 | QTextStream os( socket ); |
1970 | os.setCodec( QTextCodec::codecForName("utf8") ); | 1971 | os.setCodec( QTextCodec::codecForName("utf8") ); |
1971 | //os.setEncoding( QTextStream::UnicodeUTF8 ); | 1972 | //os.setEncoding( QTextStream::UnicodeUTF8 ); |
1972 | while ( ! ts.atEnd() ) { | 1973 | while ( ! ts.atEnd() ) { |
1973 | os << ts.readLine() << "\n"; | 1974 | os << ts.readLine() << "\n"; |
1974 | } | 1975 | } |
1975 | //os << ts.read(); | 1976 | //os << ts.read(); |
1976 | socket->close(); | 1977 | socket->close(); |
1977 | file.close(); | 1978 | file.close(); |
1978 | setCaption( i18n("File sent. Waiting to get back synced file") ); | 1979 | setCaption( i18n("File sent. Waiting to get back synced file") ); |
1979 | qDebug("file sent "); | 1980 | qDebug("file sent "); |
1980 | } | 1981 | } |
1981 | void MainWindow::getFile(QSocket* socket) | 1982 | void MainWindow::getFile(QSocket* socket) |
1982 | { | 1983 | { |
1983 | setCaption( i18n("Receiving synced file...") ); | 1984 | setCaption( i18n("Receiving synced file...") ); |
1984 | qDebug("MainWindow::sendFile(QSocket* s) "); | ||
1985 | 1985 | ||
1986 | QString fileName = defaultFileName(); | 1986 | QString fileName = defaultFileName(); |
1987 | QFile file( fileName ); | 1987 | QFile file( fileName ); |
1988 | if (!file.open( IO_WriteOnly ) ) { | 1988 | if (!file.open( IO_WriteOnly ) ) { |
1989 | setCaption( i18n("Error open file") ); | 1989 | setCaption( i18n("Error open file") ); |
1990 | delete mSyncActionDialog; | 1990 | delete mSyncActionDialog; |
1991 | mSyncActionDialog = 0; | 1991 | mSyncActionDialog = 0; |
1992 | qDebug("error open cal file "); | 1992 | qDebug("error open cal file "); |
1993 | return ; | 1993 | return ; |
1994 | 1994 | ||
1995 | } | 1995 | } |
1996 | 1996 | ||
1997 | mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1)); | 1997 | mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1)); |
1998 | QTextStream ts( &file ); | 1998 | QTextStream ts( &file ); |
1999 | ts.setCodec( QTextCodec::codecForName("utf8") ); | 1999 | ts.setCodec( QTextCodec::codecForName("utf8") ); |
2000 | bool first = true; | 2000 | bool first = true; |
2001 | while ( socket->canReadLine () || first ) { | 2001 | while ( socket->canReadLine () || first ) { |
2002 | first = false; | 2002 | first = false; |
2003 | while ( socket->canReadLine () ) { | 2003 | while ( socket->canReadLine () ) { |
2004 | ts << socket->readLine (); | 2004 | ts << socket->readLine (); |
2005 | } | 2005 | } |
2006 | socket->waitForMore ( 5000 ); | 2006 | socket->waitForMore ( 5000 ); |
2007 | } | 2007 | } |
2008 | setCaption( i18n("File received - reloading calendar...") ); | 2008 | setCaption( i18n("File received - reloading calendar...") ); |
2009 | file.close(); | 2009 | file.close(); |
2010 | socket->close(); | 2010 | socket->close(); |
2011 | mView->watchSavedFile(); | 2011 | mView->watchSavedFile(); |
2012 | mView->openCalendar( defaultFileName() ); | 2012 | mView->openCalendar( defaultFileName() ); |
2013 | setCaption( i18n("Easy-Pi-Sync successful!") ); | 2013 | setCaption( i18n("Easy-Pi-Sync successful!") ); |
2014 | delete mSyncActionDialog; | 2014 | delete mSyncActionDialog; |
2015 | mSyncActionDialog = 0; | 2015 | mSyncActionDialog = 0; |
2016 | 2016 | ||
2017 | 2017 | ||
2018 | } | 2018 | } |
2019 | void MainWindow::endConnect() | 2019 | void MainWindow::endConnect() |
2020 | { | 2020 | { |
2021 | setCaption( i18n("No file received - syncing successful") ); | 2021 | setCaption( i18n("No file received - syncing successful") ); |
2022 | delete mSyncActionDialog; | 2022 | delete mSyncActionDialog; |
2023 | mSyncActionDialog = 0; | 2023 | mSyncActionDialog = 0; |
2024 | } | 2024 | } |
2025 | void MainWindow::performQuick() | 2025 | void MainWindow::performQuick() |
2026 | { | 2026 | { |
2027 | setCaption( i18n("Please input connection settings") ); | 2027 | setCaption( i18n("Please input connection settings") ); |
2028 | QString retfile = ""; | 2028 | QString retfile = ""; |
2029 | QDialog dia ( this, "input-dialog", true ); | 2029 | QDialog dia ( this, "input-dialog", true ); |
2030 | QLineEdit lab ( &dia ); | 2030 | QLineEdit lab ( &dia ); |
2031 | QVBoxLayout lay( &dia ); | 2031 | QVBoxLayout lay( &dia ); |
2032 | QLabel label ( i18n("IP address\n(Example: 192.168.0.40)"), &dia ); | 2032 | QLabel label ( i18n("IP address\n(Example: 192.168.0.40)"), &dia ); |
2033 | lay.addWidget( &label); | 2033 | lay.addWidget( &label); |
2034 | lab.setText( KOPrefs::instance()->mActiveSyncIP ); | 2034 | lab.setText( KOPrefs::instance()->mActiveSyncIP ); |
2035 | lay.setMargin(7); | 2035 | lay.setMargin(7); |
2036 | lay.setSpacing(7); | 2036 | lay.setSpacing(7); |
2037 | lay.addWidget( &lab); | 2037 | lay.addWidget( &lab); |
2038 | QLabel label2 ( i18n("Port number (Default: 9197)"), &dia ); | 2038 | QLabel label2 ( i18n("Port number (Default: 9197)"), &dia ); |
2039 | lay.addWidget( &label2); | 2039 | lay.addWidget( &label2); |
2040 | QLineEdit lab2 ( &dia ); | 2040 | QLineEdit lab2 ( &dia ); |
2041 | lab2.setText( KOPrefs::instance()->mActiveSyncPort ); | 2041 | lab2.setText( KOPrefs::instance()->mActiveSyncPort ); |
2042 | lay.addWidget( &lab2); | 2042 | lay.addWidget( &lab2); |
2043 | dia.setFixedSize( 230,200 ); | 2043 | dia.setFixedSize( 230,200 ); |
2044 | dia.setCaption( i18n("Enter port for Easy-Pi-Sync ") ); | 2044 | dia.setCaption( i18n("Enter port for Easy-Pi-Sync ") ); |
2045 | QPushButton pb ( "OK", &dia); | 2045 | QPushButton pb ( "OK", &dia); |
2046 | lay.addWidget( &pb ); | 2046 | lay.addWidget( &pb ); |
2047 | connect(&pb, SIGNAL( clicked() ), &dia, SLOT ( accept() ) ); | 2047 | connect(&pb, SIGNAL( clicked() ), &dia, SLOT ( accept() ) ); |
2048 | dia.show(); | 2048 | dia.show(); |
2049 | int res = dia.exec(); | 2049 | int res = dia.exec(); |
2050 | if ( !res ) { | 2050 | if ( !res ) { |
2051 | setCaption( i18n("Syncing cancelled!") ); | 2051 | setCaption( i18n("Syncing cancelled!") ); |
2052 | return; | 2052 | return; |
2053 | } | 2053 | } |
2054 | dia.hide(); | 2054 | dia.hide(); |
2055 | KOPrefs::instance()->mActiveSyncPort = lab2.text(); | 2055 | KOPrefs::instance()->mActiveSyncPort = lab2.text(); |
2056 | KOPrefs::instance()->mActiveSyncIP = lab.text(); | 2056 | KOPrefs::instance()->mActiveSyncIP = lab.text(); |
2057 | qApp->processEvents(); | 2057 | qApp->processEvents(); |
2058 | performQuickQuick(); | 2058 | performQuickQuick(); |
2059 | } | 2059 | } |
2060 | 2060 | ||
2061 | void MainWindow::performQuickQuick() | 2061 | void MainWindow::performQuickQuick() |
2062 | { | 2062 | { |
2063 | // setCaption( i18n("") ); | 2063 | // setCaption( i18n("") ); |
2064 | 2064 | ||
2065 | bool ok; | 2065 | bool ok; |
2066 | Q_UINT16 port = KOPrefs::instance()->mActiveSyncPort.toUInt(&ok); | 2066 | Q_UINT16 port = KOPrefs::instance()->mActiveSyncPort.toUInt(&ok); |
2067 | if ( ! ok ) { | 2067 | if ( ! ok ) { |
2068 | setCaption( i18n("Sorry, no valid port.Syncing cancelled.") ); | 2068 | setCaption( i18n("Sorry, no valid port.Syncing cancelled.") ); |
2069 | return; | 2069 | return; |
2070 | } | 2070 | } |
2071 | if ( mCommandSocket ) | 2071 | if ( !mCommandSocket ) { |
2072 | delete mCommandSocket; | 2072 | mCommandSocket = new QSocket( this ); |
2073 | mCommandSocket = new QSocket( this ); | 2073 | // delete mCommandSocket; |
2074 | connect( mCommandSocket, SIGNAL(readyRead()), this, SLOT(readFileFromSocket()) ); | 2074 | //mCommandSocket = new QSocket( this ); |
2075 | connect( mCommandSocket, SIGNAL(readyRead()), this, SLOT(readFileFromSocket()) ); | ||
2076 | } | ||
2075 | QString host = KOPrefs::instance()->mActiveSyncIP; | 2077 | QString host = KOPrefs::instance()->mActiveSyncIP; |
2076 | mCommandSocket->connectToHost( host, port ); | 2078 | mCommandSocket->connectToHost( host, port ); |
2077 | QTextStream os( mCommandSocket ); | 2079 | QTextStream os( mCommandSocket ); |
2078 | os.setEncoding( QTextStream::UnicodeUTF8 ); | 2080 | os.setEncoding( QTextStream::UnicodeUTF8 ); |
2079 | os << "GET\r\n"; | 2081 | os << "GET\r\n"; |
2080 | setCaption( i18n("Sending request for remote file ...") ); | 2082 | setCaption( i18n("Sending request for remote file ...") ); |
2081 | 2083 | ||
2082 | } | 2084 | } |
2083 | void MainWindow::readFileFromSocket() | 2085 | void MainWindow::readFileFromSocket() |
2084 | { | 2086 | { |
2085 | setCaption( i18n("Receiving remote file ...") ); | 2087 | setCaption( i18n("Receiving remote file ...") ); |
2086 | qDebug("MainWindow::readFileFromSocket() "); | 2088 | qDebug("MainWindow::readFileFromSocket() "); |
2087 | QString fileName; | 2089 | QString fileName; |
2088 | #ifdef _WIN32_ | 2090 | #ifdef _WIN32_ |
2089 | fileName = defaultFileName() +"sync"; | 2091 | fileName = defaultFileName() +"sync"; |
2090 | #else | 2092 | #else |
2091 | fileName = "/tmp/kopitempfile.ics"; | 2093 | fileName = "/tmp/kopitempfile.ics"; |
2092 | #endif | 2094 | #endif |
2093 | QFile file( fileName ); | 2095 | QFile file( fileName ); |
2094 | if (!file.open( IO_WriteOnly ) ) { | 2096 | if (!file.open( IO_WriteOnly ) ) { |
2095 | setCaption( i18n("Error: Cannot open temp file for write.") ); | 2097 | setCaption( i18n("Error: Cannot open temp file for write.") ); |
2096 | qDebug("Error open calender file for writing: %s",fileName.latin1() ); | 2098 | qDebug("Error open calender file for writing: %s",fileName.latin1() ); |
2097 | return ; | 2099 | return ; |
2098 | } | 2100 | } |
2099 | 2101 | ||
2100 | //QTextStream os2( mCommandSocket ); | 2102 | //QTextStream os2( mCommandSocket ); |
2101 | //os2.setEncoding( QTextStream::UnicodeUTF8 ); | 2103 | //os2.setEncoding( QTextStream::UnicodeUTF8 ); |
2102 | 2104 | ||
2103 | QTextStream ts( &file ); | 2105 | QTextStream ts( &file ); |
2104 | ts.setCodec( QTextCodec::codecForName("utf8") ); | 2106 | ts.setCodec( QTextCodec::codecForName("utf8") ); |
2105 | bool first = true; | 2107 | bool first = true; |
2106 | while ( mCommandSocket->canReadLine () || first) { | 2108 | while ( mCommandSocket->canReadLine () || first) { |
2107 | first = false; | 2109 | first = false; |
2108 | while ( mCommandSocket->canReadLine () ) { | 2110 | while ( mCommandSocket->canReadLine () ) { |
2109 | ts << mCommandSocket->readLine (); | 2111 | ts << mCommandSocket->readLine (); |
2110 | } | 2112 | } |
2111 | mCommandSocket->waitForMore ( 5000 ); | 2113 | mCommandSocket->waitForMore ( 5000 ); |
2112 | } | 2114 | } |
2113 | file.close(); | 2115 | file.close(); |
2114 | mCommandSocket->close(); | 2116 | mCommandSocket->close(); |
2115 | delete mCommandSocket; | 2117 | //delete mCommandSocket; |
2116 | setCaption( i18n("Remote file saved to temp file.") ); | 2118 | setCaption( i18n("Remote file saved to temp file.") ); |
2117 | mCommandSocket = 0; | 2119 | //mCommandSocket = 0; |
2118 | mCurrentSyncProfile = 2 ; // last file | 2120 | mCurrentSyncProfile = 2 ; // last file |
2119 | mView->setSyncDevice(KOPrefs::instance()->mSyncProfileNames[mCurrentSyncProfile] ); | 2121 | mView->setSyncDevice(KOPrefs::instance()->mSyncProfileNames[mCurrentSyncProfile] ); |
2120 | mView->setSyncName( KOPrefs::instance()->mLocalMachineName ); | 2122 | mView->setSyncName( KOPrefs::instance()->mLocalMachineName ); |
2121 | KConfig config ( locateLocal( "config","ksyncprofilesrc" ) ); | 2123 | KConfig config ( locateLocal( "config","ksyncprofilesrc" ) ); |
2122 | KSyncProfile* temp = new KSyncProfile (); | 2124 | KSyncProfile* temp = new KSyncProfile (); |
2123 | temp->setName(KOPrefs::instance()->mSyncProfileNames[mCurrentSyncProfile]); | 2125 | temp->setName(KOPrefs::instance()->mSyncProfileNames[mCurrentSyncProfile]); |
2124 | temp->readConfig(&config); | 2126 | temp->readConfig(&config); |
2125 | KOPrefs::instance()->mAskForPreferences = temp->getAskForPreferences(); | 2127 | KOPrefs::instance()->mAskForPreferences = temp->getAskForPreferences(); |
2126 | KOPrefs::instance()->mSyncAlgoPrefs = temp->getSyncPrefs(); | 2128 | KOPrefs::instance()->mSyncAlgoPrefs = temp->getSyncPrefs(); |
2127 | KOPrefs::instance()->mWriteBackFile = temp->getWriteBackFile(); | 2129 | KOPrefs::instance()->mWriteBackFile = temp->getWriteBackFile(); |
2128 | KOPrefs::instance()->mWriteBackExistingOnly = temp->getWriteBackExisting(); | 2130 | KOPrefs::instance()->mWriteBackExistingOnly = temp->getWriteBackExisting(); |
2129 | KOPrefs::instance()->mWriteBackInFuture = 0; | 2131 | KOPrefs::instance()->mWriteBackInFuture = 0; |
2130 | if ( temp->getWriteBackFuture() ) | 2132 | if ( temp->getWriteBackFuture() ) |
2131 | KOPrefs::instance()->mWriteBackInFuture = temp->getWriteBackFutureWeeks( ); | 2133 | KOPrefs::instance()->mWriteBackInFuture = temp->getWriteBackFutureWeeks( ); |
2132 | KOPrefs::instance()->mShowSyncSummary = temp->getShowSummaryAfterSync(); | 2134 | KOPrefs::instance()->mShowSyncSummary = temp->getShowSummaryAfterSync(); |
2133 | 2135 | ||
2134 | setCaption( i18n("Remote file saved to temp file.") ); | 2136 | setCaption( i18n("Remote file saved to temp file.") ); |
2135 | if ( ! syncWithFile( fileName , true ) ) { | 2137 | if ( ! syncWithFile( fileName , true ) ) { |
2136 | setCaption( i18n("Syncing failed.") ); | 2138 | setCaption( i18n("Syncing failed.") ); |
2137 | qDebug("Syncing failed "); | 2139 | qDebug("Syncing failed "); |
2138 | return; | 2140 | return; |
2139 | } | 2141 | } |
2140 | 2142 | ||
2141 | mCommandSocket = new QSocket( this ); | 2143 | if ( !mCommandSocketFinish ) { |
2142 | QString host = KOPrefs::instance()->mActiveSyncIP; | 2144 | mCommandSocketFinish = new QSocket( this ); |
2143 | mCommandSocket->connectToHost( KOPrefs::instance()->mActiveSyncIP, KOPrefs::instance()->mActiveSyncPort.toUInt() ); | 2145 | } |
2146 | mCommandSocketFinish->connectToHost( KOPrefs::instance()->mActiveSyncIP, KOPrefs::instance()->mActiveSyncPort.toUInt() ); | ||
2144 | 2147 | ||
2148 | QString host = KOPrefs::instance()->mActiveSyncIP; | ||
2145 | QFile file2( fileName ); | 2149 | QFile file2( fileName ); |
2146 | if (!file2.open( IO_ReadOnly ) ) { | 2150 | if (!file2.open( IO_ReadOnly ) ) { |
2147 | setCaption( i18n("Error: Cannot open temp file for read.") ); | 2151 | setCaption( i18n("Error: Cannot open temp file for read.") ); |
2148 | qDebug("error open cal file "); | 2152 | qDebug("error open cal file "); |
2149 | return ; | 2153 | return ; |
2150 | 2154 | ||
2151 | } | 2155 | } |
2152 | setCaption( i18n("Sending back synced file...") ); | 2156 | setCaption( i18n("Sending back synced file...") ); |
2153 | QTextStream ts2( &file2 ); | 2157 | QTextStream ts2( &file2 ); |
2154 | ts2.setCodec( QTextCodec::codecForName("utf8") ); | 2158 | ts2.setCodec( QTextCodec::codecForName("utf8") ); |
2155 | QTextStream os2( mCommandSocket ); | 2159 | QTextStream os2( mCommandSocketFinish ); |
2156 | os2.setCodec( QTextCodec::codecForName("utf8") ); | 2160 | os2.setCodec( QTextCodec::codecForName("utf8") ); |
2157 | //os.setEncoding( QTextStream::UnicodeUTF8 ); | 2161 | //os.setEncoding( QTextStream::UnicodeUTF8 ); |
2158 | if ( KOPrefs::instance()->mWriteBackFile ) { | 2162 | if ( KOPrefs::instance()->mWriteBackFile ) { |
2159 | os2 << "PUT\r\n"; | 2163 | os2 << "PUT\r\n"; |
2160 | while ( ! ts2.atEnd() ) { | 2164 | while ( ! ts2.atEnd() ) { |
2161 | os2 << ts2.readLine() << "\n"; | 2165 | os2 << ts2.readLine() << "\n"; |
2162 | } | 2166 | } |
2163 | } else { | 2167 | } else { |
2164 | os2 << "STOP\r\n"; | 2168 | os2 << "STOP\r\n"; |
2165 | } | 2169 | } |
2166 | mCommandSocket->close(); | 2170 | mCommandSocketFinish->close(); |
2167 | file.close(); | 2171 | file.close(); |
2168 | delete mCommandSocket; | 2172 | //delete ( mCommandSocket); |
2169 | mCommandSocket = 0; | 2173 | //mCommandSocket = 0; |
2170 | qDebug("Syncing succesful! "); | 2174 | qDebug("Syncing succesful! "); |
2171 | setCaption( i18n("Easy-Pi-Sync succesful!") ); | 2175 | setCaption( i18n("Easy-Pi-Sync succesful!") ); |
2172 | 2176 | ||
2173 | 2177 | ||
2174 | } | 2178 | } |
2175 | 2179 | ||
2176 | void MainWindow::syncLocalFile() | 2180 | void MainWindow::syncLocalFile() |
2177 | { | 2181 | { |
2178 | 2182 | ||
2179 | QString fn =KOPrefs::instance()->mLastSyncedLocalFile; | 2183 | QString fn =KOPrefs::instance()->mLastSyncedLocalFile; |
2180 | 2184 | ||
2181 | fn =KFileDialog:: getOpenFileName( fn, i18n("Sync filename(*.ics/*.vcs)"), this ); | 2185 | fn =KFileDialog:: getOpenFileName( fn, i18n("Sync filename(*.ics/*.vcs)"), this ); |
2182 | if ( fn == "" ) | 2186 | if ( fn == "" ) |
2183 | return; | 2187 | return; |
2184 | //mView->setSyncDevice("local-file" ); | 2188 | //mView->setSyncDevice("local-file" ); |
2185 | if ( syncWithFile( fn, false ) ) { | 2189 | if ( syncWithFile( fn, false ) ) { |
2186 | // Event* e = mView->getLastSyncEvent(); | 2190 | // Event* e = mView->getLastSyncEvent(); |
2187 | // e->setReadOnly( false ); | 2191 | // e->setReadOnly( false ); |
2188 | // e->setLocation( i18n("Local file: ")+ KOPrefs::instance()->mLastSyncedLocalFile); | 2192 | // e->setLocation( i18n("Local file: ")+ KOPrefs::instance()->mLastSyncedLocalFile); |
2189 | // e->setReadOnly( true ); | 2193 | // e->setReadOnly( true ); |
2190 | } | 2194 | } |
2191 | 2195 | ||
2192 | } | 2196 | } |
2193 | 2197 | ||
2194 | bool MainWindow::syncWithFile( QString fn , bool quick ) | 2198 | bool MainWindow::syncWithFile( QString fn , bool quick ) |
2195 | { | 2199 | { |
2196 | bool ret = false; | 2200 | bool ret = false; |
2197 | QFileInfo info; | 2201 | QFileInfo info; |
2198 | info.setFile( fn ); | 2202 | info.setFile( fn ); |
2199 | QString mess; | 2203 | QString mess; |
2200 | bool loadbup = true; | 2204 | bool loadbup = true; |
2201 | if ( !info. exists() ) { | 2205 | if ( !info. exists() ) { |
2202 | mess = i18n( "Sync file \n...%1\ndoes not exist!\nNothing synced!\n").arg(fn.right( 30) ); | 2206 | mess = i18n( "Sync file \n...%1\ndoes not exist!\nNothing synced!\n").arg(fn.right( 30) ); |
2203 | int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), | 2207 | int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), |
2204 | mess ); | 2208 | mess ); |
2205 | return ret; | 2209 | return ret; |
2206 | } | 2210 | } |
2207 | int result = 0; | 2211 | int result = 0; |
2208 | if ( !quick ) { | 2212 | if ( !quick ) { |
2209 | mess = i18n("Sync with file \n...%1\nfrom:\n%2\n").arg(fn.right( 25)).arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false )); | 2213 | mess = i18n("Sync with file \n...%1\nfrom:\n%2\n").arg(fn.right( 25)).arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false )); |
2210 | result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), | 2214 | result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), |
2211 | mess, | 2215 | mess, |
2212 | i18n("Sync"), i18n("Cancel"), 0, | 2216 | i18n("Sync"), i18n("Cancel"), 0, |
2213 | 0, 1 ); | 2217 | 0, 1 ); |
2214 | if ( result ) | 2218 | if ( result ) |
2215 | return false; | 2219 | return false; |
2216 | } | 2220 | } |
2217 | if ( KOPrefs::instance()->mAskForPreferences ) | 2221 | if ( KOPrefs::instance()->mAskForPreferences ) |
diff --git a/korganizer/mainwindow.h b/korganizer/mainwindow.h index 9bb2302..5985d56 100644 --- a/korganizer/mainwindow.h +++ b/korganizer/mainwindow.h | |||
@@ -102,85 +102,86 @@ class MainWindow : public QMainWindow | |||
102 | void aboutAutoSaving();; | 102 | void aboutAutoSaving();; |
103 | void aboutKnownBugs(); | 103 | void aboutKnownBugs(); |
104 | 104 | ||
105 | void processIncidenceSelection( Incidence * ); | 105 | void processIncidenceSelection( Incidence * ); |
106 | 106 | ||
107 | void importQtopia(); | 107 | void importQtopia(); |
108 | void importBday(); | 108 | void importBday(); |
109 | void importOL(); | 109 | void importOL(); |
110 | void importIcal(); | 110 | void importIcal(); |
111 | void importFile( QString, bool ); | 111 | void importFile( QString, bool ); |
112 | void quickImportIcal(); | 112 | void quickImportIcal(); |
113 | 113 | ||
114 | void slotModifiedChanged( bool ); | 114 | void slotModifiedChanged( bool ); |
115 | 115 | ||
116 | void save(); | 116 | void save(); |
117 | void configureToolBar( int ); | 117 | void configureToolBar( int ); |
118 | void printSel(); | 118 | void printSel(); |
119 | void printCal(); | 119 | void printCal(); |
120 | void saveCalendar(); | 120 | void saveCalendar(); |
121 | void loadCalendar(); | 121 | void loadCalendar(); |
122 | void exportVCalendar(); | 122 | void exportVCalendar(); |
123 | void fillFilterMenu(); | 123 | void fillFilterMenu(); |
124 | void selectFilter( int ); | 124 | void selectFilter( int ); |
125 | 125 | ||
126 | void slotSyncMenu( int ); | 126 | void slotSyncMenu( int ); |
127 | void syncSSH(); | 127 | void syncSSH(); |
128 | void confSync(); | 128 | void confSync(); |
129 | void syncSharp(); | 129 | void syncSharp(); |
130 | void syncPhone(); | 130 | void syncPhone(); |
131 | void syncLocalFile(); | 131 | void syncLocalFile(); |
132 | bool syncWithFile( QString, bool ); | 132 | bool syncWithFile( QString, bool ); |
133 | void quickSyncLocalFile(); | 133 | void quickSyncLocalFile(); |
134 | 134 | ||
135 | 135 | ||
136 | protected: | 136 | protected: |
137 | void displayText( QString, QString); | 137 | void displayText( QString, QString); |
138 | void displayFile( QString, QString); | 138 | void displayFile( QString, QString); |
139 | 139 | ||
140 | void enableIncidenceActions( bool ); | 140 | void enableIncidenceActions( bool ); |
141 | 141 | ||
142 | private slots: | 142 | private slots: |
143 | void fillSyncMenu(); | 143 | void fillSyncMenu(); |
144 | void sendFile(QSocket* s); | 144 | void sendFile(QSocket* s); |
145 | void getFile(QSocket* socket); | 145 | void getFile(QSocket* socket); |
146 | void readFileFromSocket(); | 146 | void readFileFromSocket(); |
147 | void endConnect(); | 147 | void endConnect(); |
148 | private: | 148 | private: |
149 | QSocket* mCommandSocket; | 149 | QSocket* mCommandSocket; |
150 | QSocket* mCommandSocketFinish; | ||
150 | KServerSocket * mServerSocket; | 151 | KServerSocket * mServerSocket; |
151 | bool mClosed; | 152 | bool mClosed; |
152 | void saveOnClose(); | 153 | void saveOnClose(); |
153 | int mCurrentSyncProfile; | 154 | int mCurrentSyncProfile; |
154 | void enableQuick(); | 155 | void enableQuick(); |
155 | void performQuick(); | 156 | void performQuick(); |
156 | void performQuickQuick(); | 157 | void performQuickQuick(); |
157 | void syncRemote( KSyncProfile* , bool ask = true); | 158 | void syncRemote( KSyncProfile* , bool ask = true); |
158 | bool mFlagKeyPressed; | 159 | bool mFlagKeyPressed; |
159 | bool mBlockAtStartup; | 160 | bool mBlockAtStartup; |
160 | QPEToolBar *iconToolBar; | 161 | QPEToolBar *iconToolBar; |
161 | void initActions(); | 162 | void initActions(); |
162 | void setDefaultPreferences(); | 163 | void setDefaultPreferences(); |
163 | void keyPressEvent ( QKeyEvent * ) ; | 164 | void keyPressEvent ( QKeyEvent * ) ; |
164 | void keyReleaseEvent ( QKeyEvent * ) ; | 165 | void keyReleaseEvent ( QKeyEvent * ) ; |
165 | QPopupMenu *configureToolBarMenu; | 166 | QPopupMenu *configureToolBarMenu; |
166 | QPopupMenu *selectFilterMenu; | 167 | QPopupMenu *selectFilterMenu; |
167 | QPopupMenu *configureAgendaMenu, *syncMenu; | 168 | QPopupMenu *configureAgendaMenu, *syncMenu; |
168 | CalendarLocal *mCalendar; | 169 | CalendarLocal *mCalendar; |
169 | CalendarView *mView; | 170 | CalendarView *mView; |
170 | QString getPassword(); | 171 | QString getPassword(); |
171 | QAction *mNewSubTodoAction; | 172 | QAction *mNewSubTodoAction; |
172 | 173 | ||
173 | QAction *mShowAction; | 174 | QAction *mShowAction; |
174 | QAction *mEditAction; | 175 | QAction *mEditAction; |
175 | QAction *mDeleteAction; | 176 | QAction *mDeleteAction; |
176 | void closeEvent( QCloseEvent* ce ); | 177 | void closeEvent( QCloseEvent* ce ); |
177 | SimpleAlarmClient mAlarmClient; | 178 | SimpleAlarmClient mAlarmClient; |
178 | QTimer mSaveTimer; | 179 | QTimer mSaveTimer; |
179 | bool mBlockSaveFlag; | 180 | bool mBlockSaveFlag; |
180 | bool mCalendarModifiedFlag; | 181 | bool mCalendarModifiedFlag; |
181 | QPixmap loadPixmap( QString ); | 182 | QPixmap loadPixmap( QString ); |
182 | QDialog * mSyncActionDialog; | 183 | QDialog * mSyncActionDialog; |
183 | }; | 184 | }; |
184 | 185 | ||
185 | 186 | ||
186 | #endif | 187 | #endif |