summaryrefslogtreecommitdiffabout
path: root/korganizer
authorzautrix <zautrix>2004-10-07 17:51:17 (UTC)
committer zautrix <zautrix>2004-10-07 17:51:17 (UTC)
commit1f1538e5707b59bfcff2014901f29a65589229e3 (patch) (side-by-side diff)
tree0d91a303524e6ac9f7c954f01a0e1d09d0e305e7 /korganizer
parentbb8293c794d82a57bc93af85ccd89b601356d577 (diff)
downloadkdepimpi-1f1538e5707b59bfcff2014901f29a65589229e3.zip
kdepimpi-1f1538e5707b59bfcff2014901f29a65589229e3.tar.gz
kdepimpi-1f1538e5707b59bfcff2014901f29a65589229e3.tar.bz2
many cleanups
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/calendarview.cpp136
-rw-r--r--korganizer/calendarview.h11
-rw-r--r--korganizer/koprefs.cpp3
-rw-r--r--korganizer/koprefs.h20
-rw-r--r--korganizer/mainwindow.cpp556
-rw-r--r--korganizer/mainwindow.h24
6 files changed, 83 insertions, 667 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp
index ea9607d..b56f1f9 100644
--- a/korganizer/calendarview.cpp
+++ b/korganizer/calendarview.cpp
@@ -701,17 +701,5 @@ void CalendarView::createPrinter()
void CalendarView::confSync()
{
- static KSyncPrefsDialog* sp = 0;
- if ( ! sp ) {
- sp = new KSyncPrefsDialog( this, "syncprefs", true );
- }
- sp->usrReadConfig();
-#ifndef DESKTOP_VERSION
- sp->showMaximized();
-#else
- sp->show();
-#endif
- sp->exec();
- KOPrefs::instance()->mSyncProfileNames = sp->getSyncProfileNames();
- KOPrefs::instance()->mLocalMachineName = sp->getLocalMachineName ();
+ //DELETE
}
@@ -878,5 +866,5 @@ Event* CalendarView::getLastSyncEvent()
lse->setUid( "last-syncEvent-"+mCurrentSyncDevice );
QString sum = "";
- if ( KOPrefs::instance()->mExternSyncProfiles.contains( mCurrentSyncDevice ) )
+ if ( mSyncManager->mExternSyncProfiles.contains( mCurrentSyncDevice ) )
sum = "E: ";
lse->setSummary(sum+mCurrentSyncDevice + i18n(" - sync event"));
@@ -1120,5 +1108,5 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
++deletedEventL;
} else {
- if ( ! KOPrefs::instance()->mWriteBackExistingOnly ) {
+ if ( ! mSyncManager->mWriteBackExistingOnly ) {
inL->removeID(mCurrentSyncDevice );
++addedEventR;
@@ -1136,5 +1124,5 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
++deletedEventL;
} else {
- if ( ! KOPrefs::instance()->mWriteBackExistingOnly ) {
+ if ( ! mSyncManager->mWriteBackExistingOnly ) {
++addedEventR;
inL->setLastModified( modifiedCalendar );
@@ -1148,10 +1136,10 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
}
int delFut = 0;
- if ( KOPrefs::instance()->mWriteBackInFuture ) {
+ if ( mSyncManager->mWriteBackInFuture ) {
er = remote->rawIncidences();
inR = er.first();
QDateTime dt;
QDateTime cur = QDateTime::currentDateTime().addDays( -7 );
- QDateTime end = cur.addDays( (KOPrefs::instance()->mWriteBackInFuture +1 ) *7 );
+ QDateTime end = cur.addDays( (mSyncManager->mWriteBackInFuture +1 ) *7 );
while ( inR ) {
if ( inR->type() == "Todo" ) {
@@ -1193,8 +1181,8 @@ bool CalendarView::synchronizeCalendar( Calendar* local, Calendar* remote, int
QString delmess;
if ( delFut ) {
- delmess.sprintf( i18n("%d items skipped on remote,\nbecause they are in the past or\nmore than %d weeks in the future.\n"),delFut, KOPrefs::instance()->mWriteBackInFuture );
+ delmess.sprintf( i18n("%d items skipped on remote,\nbecause they are in the past or\nmore than %d weeks in the future.\n"),delFut, mSyncManager->mWriteBackInFuture );
mes += delmess;
}
- if ( KOPrefs::instance()->mShowSyncSummary ) {
+ if ( mSyncManager->mShowSyncSummary ) {
KMessageBox::information(this, mes, i18n("KO/Pi Synchronization") );
}
@@ -1226,5 +1214,5 @@ bool CalendarView::syncCalendar(QString filename, int mode)
getEventViewerDialog()->setSyncMode( false );
if ( syncOK ) {
- if ( KOPrefs::instance()->mWriteBackFile )
+ if ( mSyncManager->mWriteBackFile )
{
storage->setSaveFormat( new ICalFormat() );
@@ -1242,12 +1230,10 @@ bool CalendarView::syncCalendar(QString filename, int mode)
void CalendarView::syncPhone()
{
- syncExternal( 1 );
+ //DELETE
}
void CalendarView::syncExternal( int mode )
{
mGlobalSyncMode = SYNC_MODE_EXTERNAL;
- //mCurrentSyncDevice = "sharp-DTM";
- if ( KOPrefs::instance()->mAskForPreferences )
- edit_sync_options();
+
qApp->processEvents();
CalendarLocal* calendar = new CalendarLocal();
@@ -1266,7 +1252,7 @@ void CalendarView::syncExternal( int mode )
if ( mode == 1 ) { // phone
phoneFormat = new PhoneFormat (mCurrentSyncDevice,
- KOPrefs::instance()->mPhoneDevice,
- KOPrefs::instance()->mPhoneConnection,
- KOPrefs::instance()->mPhoneModel);
+ mSyncManager->mPhoneDevice,
+ mSyncManager->mPhoneConnection,
+ mSyncManager->mPhoneModel);
loadSuccess = phoneFormat->load( calendar,mCalendar);
@@ -1275,9 +1261,9 @@ void CalendarView::syncExternal( int mode )
if ( loadSuccess ) {
getEventViewerDialog()->setSyncMode( true );
- syncOK = synchronizeCalendar( mCalendar, calendar, KOPrefs::instance()->mSyncAlgoPrefs );
+ syncOK = synchronizeCalendar( mCalendar, calendar, mSyncManager->mSyncAlgoPrefs );
getEventViewerDialog()->setSyncMode( false );
qApp->processEvents();
if ( syncOK ) {
- if ( KOPrefs::instance()->mWriteBackFile )
+ if ( mSyncManager->mWriteBackFile )
{
QPtrList<Incidence> iL = mCalendar->rawIncidences();
@@ -1330,5 +1316,5 @@ void CalendarView::syncExternal( int mode )
void CalendarView::syncSharp()
{
- syncExternal( 0 );
+ //DELETE
}
@@ -1518,5 +1504,5 @@ bool CalendarView::importQtopia( const QString &categories,
mGlobalSyncMode = SYNC_MODE_QTOPIA;
mCurrentSyncDevice = "qtopia-XML";
- if ( KOPrefs::instance()->mAskForPreferences )
+ if ( mSyncManager->mAskForPreferences )
edit_sync_options();
qApp->processEvents();
@@ -1536,9 +1522,9 @@ bool CalendarView::importQtopia( const QString &categories,
if ( loadOk ) {
getEventViewerDialog()->setSyncMode( true );
- syncOK = synchronizeCalendar( mCalendar, calendar, KOPrefs::instance()->mSyncAlgoPrefs );
+ syncOK = synchronizeCalendar( mCalendar, calendar, mSyncManager->mSyncAlgoPrefs );
getEventViewerDialog()->setSyncMode( false );
qApp->processEvents();
if ( syncOK ) {
- if ( KOPrefs::instance()->mWriteBackFile )
+ if ( mSyncManager->mWriteBackFile )
{
// write back XML file
@@ -1684,9 +1670,9 @@ bool CalendarView::checkFileVersion(QString fn)
setSyncDevice("deleteaftersync" );
- KOPrefs::instance()->mAskForPreferences = true;
- KOPrefs::instance()->mSyncAlgoPrefs = 3;
- KOPrefs::instance()->mWriteBackFile = false;
- KOPrefs::instance()->mWriteBackExistingOnly = false;
- KOPrefs::instance()->mShowSyncSummary = false;
+ mSyncManager->mAskForPreferences = true;
+ mSyncManager->mSyncAlgoPrefs = 3;
+ mSyncManager->mWriteBackFile = false;
+ mSyncManager->mWriteBackExistingOnly = false;
+ mSyncManager->mShowSyncSummary = false;
syncCalendar( fn, 3 );
Event * e = getLastSyncEvent();
@@ -2199,51 +2185,5 @@ void CalendarView::edit_options()
void CalendarView::edit_sync_options()
{
- //mDialogManager->showSyncOptions();
- //KOPrefs::instance()->mSyncAlgoPrefs
- QDialog dia( this, "dia", true );
- dia.setCaption( i18n("Device: " ) +mCurrentSyncDevice );
- QButtonGroup gr ( 1, Qt::Horizontal, i18n("Sync preferences"), &dia);
- QVBoxLayout lay ( &dia );
- lay.setSpacing( 2 );
- lay.setMargin( 3 );
- lay.addWidget(&gr);
- QRadioButton loc ( i18n("Take local entry on conflict"), &gr );
- QRadioButton rem ( i18n("Take remote entry on conflict"), &gr );
- QRadioButton newest( i18n("Take newest entry on conflict"), &gr );
- QRadioButton ask( i18n("Ask for every entry on conflict"), &gr );
- QRadioButton f_loc( i18n("Force: Take local entry always"), &gr );
- QRadioButton f_rem( i18n("Force: Take remote entry always"), &gr );
- //QRadioButton both( i18n("Take both on conflict"), &gr );
- QPushButton pb ( "OK", &dia);
- lay.addWidget( &pb );
- connect(&pb, SIGNAL( clicked() ), &dia, SLOT ( accept() ) );
- switch ( KOPrefs::instance()->mSyncAlgoPrefs ) {
- case 0:
- loc.setChecked( true);
- break;
- case 1:
- rem.setChecked( true );
- break;
- case 2:
- newest.setChecked( true);
- break;
- case 3:
- ask.setChecked( true);
- break;
- case 4:
- f_loc.setChecked( true);
- break;
- case 5:
- f_rem.setChecked( true);
- break;
- case 6:
- // both.setChecked( true);
- break;
- default:
- break;
- }
- if ( dia.exec() ) {
- KOPrefs::instance()->mSyncAlgoPrefs = rem.isChecked()*1+newest.isChecked()*2+ ask.isChecked()*3+ f_loc.isChecked()*4+ f_rem.isChecked()*5;//+ both.isChecked()*6 ;
- }
+ // DELETE
}
@@ -3769,5 +3709,25 @@ void CalendarView::keyPressEvent ( QKeyEvent *e)
}
-//#include "calendarview.moc"
-//#include "calendarviewbase.moc"
+bool CalendarView::sync(KSyncManager* manager, QString filename, int mode)
+{
+ // mSyncManager = manager;
+ mCurrentSyncDevice = mSyncManager->getCurrentSyncDevice();
+ mCurrentSyncName = mSyncManager->getCurrentSyncName();
+ return syncCalendar( filename, mode );
+}
+bool CalendarView::syncExternal(KSyncManager* manager, QString resource)
+{
+ //mSyncManager = manager;
+ mCurrentSyncDevice = mSyncManager->getCurrentSyncDevice();
+ mCurrentSyncName = mSyncManager->getCurrentSyncName();
+ if ( resource == "sharp" )
+ syncExternal( 0 );
+ if ( resource == "phone" )
+ syncExternal( 1 );
+ // pending setmodified
+}
+void CalendarView::setSyncManager(KSyncManager* manager)
+{
+ mSyncManager = manager;
+}
diff --git a/korganizer/calendarview.h b/korganizer/calendarview.h
index 8d329a9..751b8d9 100644
--- a/korganizer/calendarview.h
+++ b/korganizer/calendarview.h
@@ -43,4 +43,6 @@
#include <korganizer/calendarviewbase.h>
+#include <ksyncmanager.h>
+
class QWidgetStack;
class QSplitter;
@@ -78,5 +80,5 @@ using namespace KCal;
@author Cornelius Schumacher
*/
-class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Observer
+class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Observer, public KSyncInterface
{
Q_OBJECT
@@ -461,6 +463,10 @@ class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Obser
// show a standard warning
// returns KMsgBox::yesNoCancel()
- int msgCalModified();
+ int msgCalModified();
+ virtual bool sync(KSyncManager* manager, QString filename, int mode);
+
+ virtual bool syncExternal(KSyncManager* manager, QString resource);
void confSync();
+ void setSyncManager(KSyncManager* manager);
void setLoadedFileVersion(QDateTime);
bool checkFileVersion(QString fn);
@@ -485,4 +491,5 @@ class CalendarView : public KOrg::CalendarViewBase, public KCal::Calendar::Obser
private:
+ KSyncManager* mSyncManager;
AlarmDialog * mAlarmDialog;
QString mAlarmNotification;
diff --git a/korganizer/koprefs.cpp b/korganizer/koprefs.cpp
index 1210094..13035e0 100644
--- a/korganizer/koprefs.cpp
+++ b/korganizer/koprefs.cpp
@@ -197,6 +197,4 @@ KOPrefs::KOPrefs() :
addItemBool("ShowSyncEvents",&mShowSyncEvents,false);
addItemInt("LastSyncTime",&mLastSyncTime,0);
- addItemInt("SyncAlgoPrefs",&mSyncAlgoPrefs,3);
- addItemInt("RingSyncAlgoPrefs",&mRingSyncAlgoPrefs,3);
#ifdef _WIN32_
@@ -218,5 +216,4 @@ KOPrefs::KOPrefs() :
addItemString("LastSaveFile", &mLastSaveFile ,hdp +"mybackup.ics" );
addItemString("LastLoadFile", &mLastLoadFile ,hdp +"mybackup.ics" );
- addItemString("LastSyncedLocalFile", &mLastSyncedLocalFile ,hdp +"lastsync.ics" );
diff --git a/korganizer/koprefs.h b/korganizer/koprefs.h
index ff09e19..03df59b 100644
--- a/korganizer/koprefs.h
+++ b/korganizer/koprefs.h
@@ -195,27 +195,8 @@ class KOPrefs : public KPimPrefs
bool mAskForQuit;
bool mUsePassWd;
- bool mWriteBackFile;
- int mWriteBackInFuture;
- bool mAskForPreferences;
- bool mShowSyncSummary;
bool mShowSyncEvents;
bool mShowTodoInAgenda;
- bool mWriteBackExistingOnly;
-
- QString mRemoteIP;
- QString mRemoteUser;
- QString mRemotePassWd;
- QString mRemoteFile;
- QString mLocalTempFile;
- QString mPhoneDevice;
- QString mPhoneConnection;
- QString mPhoneModel;
int mLastSyncTime;
- int mSyncAlgoPrefs;
- int mRingSyncAlgoPrefs;
- QStringList mSyncProfileNames;
- QStringList mExternSyncProfiles;
- QString mLocalMachineName;
void setCategoryColor(QString cat,const QColor & color);
QColor *categoryColor(QString cat);
@@ -231,5 +212,4 @@ class KOPrefs : public KPimPrefs
QString mLastSaveFile;
QString mLastLoadFile;
- QString mLastSyncedLocalFile;
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index e3324ee..f7766f8 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -127,5 +127,5 @@ MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) :
QMainWindow( parent, name )
{
- mPassWordPiSync = "abc";
+
#ifdef DESKTOP_VERSION
setFont( QFont("Arial"), 14 );
@@ -143,8 +143,4 @@ MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) :
KOPrefs *p = KOPrefs::instance();
KPimGlobalPrefs::instance()->setGlobalConfig();
- // if ( QApplication::desktop()->height() > 480 ) {
-// if ( p->mHourSize == 4 )
-// p->mHourSize = 6;
-// }
if ( p->mHourSize > 18 )
p->mHourSize = 18;
@@ -167,5 +163,4 @@ MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) :
iconToolBar = new QPEToolBar( this );
addToolBar (iconToolBar , tbd );
- mBlockSaveFlag = false;
mCalendarModifiedFlag = false;
@@ -182,5 +177,8 @@ MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) :
mView->hide();
//mView->resize(splash->size() );
- initActions();
+ initActions();
+ mSyncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)mView, KSyncManager::KOPI, KOPrefs::instance(), syncMenu);
+ mSyncManager->setBlockSave(false);
+ mView->setSyncManager(mSyncManager);
#ifndef DESKTOP_VERSION
iconToolBar->show();
@@ -253,5 +251,15 @@ MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) :
// qApp->processEvents();
//qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ());
- fillSyncMenu();
+ //fillSyncMenu();
+
+
+ connect(mSyncManager , SIGNAL( save() ), this, SLOT( save() ) );
+ connect(mSyncManager , SIGNAL( request_file() ), this, SLOT( syncFileRequest() ) );
+ connect(mSyncManager , SIGNAL( getFile( bool )), this, SLOT(getFile( bool ) ) );
+ mSyncManager->setDefaultFileName( defaultFileName());
+ mSyncManager->fillSyncMenu();
+
+
+
mView->viewManager()->agendaView()->setStartHour( KOPrefs::instance()->mDayBegins );
if ( showWarning ) {
@@ -396,5 +404,5 @@ void MainWindow::recieve( const QCString& cmsg, const QByteArray& data )
}
else if ( msg == "-ringSync" ) {
- multiSync( false );
+ mSyncManager->multiSync( false );
}
else if ( msg == "-showWeek" ) {
@@ -941,232 +949,5 @@ void MainWindow::initActions()
connect( configureAgendaMenu, SIGNAL( activated( int ) ),this, SLOT(configureAgenda( int ) ) );
}
-void MainWindow::fillSyncMenu()
-{
- if ( syncMenu->count() )
- syncMenu->clear();
- syncMenu->insertItem( i18n("Configure..."), 0 );
- syncMenu->insertSeparator();
- if ( mServerSocket == 0 ) {
- syncMenu->insertItem( i18n("Enable Pi-Sync"), 2 );
- } else {
- syncMenu->insertItem( i18n("Disable Pi-Sync"), 3 );
- }
- syncMenu->insertSeparator();
- syncMenu->insertItem( i18n("Multiple sync"), 1 );
- syncMenu->insertSeparator();
- KConfig config ( locateLocal( "config","ksyncprofilesrc" ) );
- config.setGroup("General");
- QStringList prof = config.readListEntry("SyncProfileNames");
- KOPrefs::instance()->mLocalMachineName = config.readEntry("LocalMachineName","undefined");
- if ( prof.count() < 3 ) {
- prof.clear();
- prof << i18n("Sharp_DTM");
- prof << i18n("Local_file");
- prof << i18n("Last_file");
- KSyncProfile* temp = new KSyncProfile ();
- temp->setName( prof[0] );
- temp->writeConfig(&config);
- temp->setName( prof[1] );
- temp->writeConfig(&config);
- temp->setName( prof[2] );
- temp->writeConfig(&config);
- config.setGroup("General");
- config.writeEntry("SyncProfileNames",prof);
- config.writeEntry("ExternSyncProfiles","Sharp_DTM");
- config.sync();
- delete temp;
- }
- KOPrefs::instance()->mExternSyncProfiles = config.readListEntry("ExternSyncProfiles");
- KOPrefs::instance()->mSyncProfileNames = prof;
- int i;
- for ( i = 0; i < prof.count(); ++i ) {
-
- syncMenu->insertItem( prof[i], 1000+i );
- if ( i == 2 )
- syncMenu->insertSeparator();
- }
- QDir app_dir;
- if ( !app_dir.exists(QDir::homeDirPath()+"/Applications/dtm" ) ) {
- syncMenu->setItemEnabled( false , 1000 );
- }
-}
-
-int MainWindow::ringSync()
-{
- int syncedProfiles = 0;
- int i;
- QTime timer;
- KConfig config ( locateLocal( "config","ksyncprofilesrc" ) );
- QStringList syncProfileNames = KOPrefs::instance()->mSyncProfileNames;
- KSyncProfile* temp = new KSyncProfile ();
- KOPrefs::instance()->mAskForPreferences = false;
- for ( i = 0; i < syncProfileNames.count(); ++i ) {
- mCurrentSyncProfile = i;
- temp->setName(syncProfileNames[mCurrentSyncProfile]);
- temp->readConfig(&config);
- if ( temp->getIncludeInRingSync() && ( i < 1 || i > 2 )) {
- setCaption(i18n("Profile ")+syncProfileNames[mCurrentSyncProfile]+ i18n(" is synced ... "));
- ++syncedProfiles;
- // KOPrefs::instance()->mAskForPreferences = temp->getAskForPreferences();
- KOPrefs::instance()->mWriteBackFile = temp->getWriteBackFile();
- KOPrefs::instance()->mWriteBackExistingOnly = temp->getWriteBackExisting();
- KOPrefs::instance()->mWriteBackInFuture = 0;
- if ( temp->getWriteBackFuture() )
- KOPrefs::instance()->mWriteBackInFuture = temp->getWriteBackFutureWeeks( );
- KOPrefs::instance()->mShowSyncSummary = false;
- mView->setSyncDevice(syncProfileNames[i] );
- mView->setSyncName( KOPrefs::instance()->mLocalMachineName );
- if ( i == 0 ) {
- syncSharp();
- } else {
- if ( temp->getIsLocalFileSync() ) {
- if ( syncWithFile( temp->getRemoteFileName( ), true ) )
- KOPrefs::instance()->mLastSyncedLocalFile = temp->getRemoteFileName();
- } else {
- if ( temp->getIsPhoneSync() ) {
- KOPrefs::instance()->mPhoneDevice = temp->getPhoneDevice( ) ;
- KOPrefs::instance()->mPhoneConnection = temp->getPhoneConnection( );
- KOPrefs::instance()->mPhoneModel = temp->getPhoneModel( );
- syncPhone();
- } else if ( temp->getIsPiSync() ) {
- mPassWordPiSync = temp->getRemotePw();
- KOPrefs::instance()->mActiveSyncPort = temp->getRemotePort();
- KOPrefs::instance()->mActiveSyncIP = temp->getRemoteIP();
- syncPi();
- } else
- syncRemote( temp, false );
-
- }
- }
- timer.start();
- setCaption(i18n("Multiple sync in progress ... please wait!") );
- while ( timer.elapsed () < 2000 ) {
- qApp->processEvents();
-#ifndef _WIN32_
- sleep (1);
-#endif
- }
-
- }
-
- }
- delete temp;
- return syncedProfiles;
-}
-
-void MainWindow::multiSync( bool askforPrefs )
-{
- if (mBlockSaveFlag)
- return;
- mBlockSaveFlag = true;
- QString question = i18n("Do you really want\nto multiple sync\nwith all checked profiles?\nSyncing takes some\ntime - all profiles\nare synced twice!");
- if ( QMessageBox::information( this, i18n("KO/Pi Sync"),
- question,
- i18n("Yes"), i18n("No"),
- 0, 0 ) != 0 ) {
- mBlockSaveFlag = false;
- setCaption(i18n("Aborted! Nothing synced!"));
- return;
- }
- mView->setSyncDevice(i18n("Multiple profiles") );
- KOPrefs::instance()->mSyncAlgoPrefs = KOPrefs::instance()->mRingSyncAlgoPrefs;
- if ( askforPrefs ) {
- mView->edit_sync_options();
- KOPrefs::instance()->mRingSyncAlgoPrefs = KOPrefs::instance()->mSyncAlgoPrefs;
- }
- setCaption(i18n("Multiple sync started.") );
- qApp->processEvents();
- int num = ringSync() ;
- if ( num > 1 )
- ringSync();
- mBlockSaveFlag = false;
- if ( num )
- save();
- if ( num )
- setCaption(i18n("%1 profiles synced. Multiple sync completed!").arg(num) );
- else
- setCaption(i18n("Nothing synced! No profiles defined for multisync!"));
- return;
-}
-void MainWindow::slotSyncMenu( int action )
-{
- qDebug("syncaction %d ", action);
- if ( action == 0 ) {
-
- // seems to be a Qt2 event handling bug
- // syncmenu.clear causes a segfault at first time
- // when we call it after the main event loop, it is ok
- // same behaviour when calling OM/Pi via QCOP for the first time
- QTimer::singleShot ( 1, this, SLOT ( confSync() ) );
- //confSync();
- return;
- }
- if ( action == 1 ) {
- multiSync( true );
- return;
- }
- if ( action == 2 ) {
- enableQuick();
- QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) );
- return;
- }
- if ( action == 3 ) {
- delete mServerSocket;
- mServerSocket = 0;
- QTimer::singleShot ( 1, this, SLOT ( fillSyncMenu() ) );
- return;
- }
-
- if (mBlockSaveFlag)
- return;
- mBlockSaveFlag = true;
- mCurrentSyncProfile = action - 1000 ;
- mView->setSyncDevice(KOPrefs::instance()->mSyncProfileNames[mCurrentSyncProfile] );
- mView->setSyncName( KOPrefs::instance()->mLocalMachineName );
- KConfig config ( locateLocal( "config","ksyncprofilesrc" ) );
- KSyncProfile* temp = new KSyncProfile ();
- temp->setName(KOPrefs::instance()->mSyncProfileNames[mCurrentSyncProfile]);
- temp->readConfig(&config);
- KOPrefs::instance()->mAskForPreferences = temp->getAskForPreferences();
- KOPrefs::instance()->mSyncAlgoPrefs = temp->getSyncPrefs();
- KOPrefs::instance()->mWriteBackFile = temp->getWriteBackFile();
- KOPrefs::instance()->mWriteBackExistingOnly = temp->getWriteBackExisting();
- KOPrefs::instance()->mWriteBackInFuture = 0;
- if ( temp->getWriteBackFuture() )
- KOPrefs::instance()->mWriteBackInFuture = temp->getWriteBackFutureWeeks( );
- KOPrefs::instance()->mShowSyncSummary = temp->getShowSummaryAfterSync();
- if ( action == 1000 ) {
- syncSharp();
-
- } else if ( action == 1001 ) {
- syncLocalFile();
-
- } else if ( action == 1002 ) {
- quickSyncLocalFile();
-
- } else if ( action >= 1003 ) {
- if ( temp->getIsLocalFileSync() ) {
- if ( syncWithFile( temp->getRemoteFileName( ), false ) )
- KOPrefs::instance()->mLastSyncedLocalFile = temp->getRemoteFileName();
- } else {
- if ( temp->getIsPhoneSync() ) {
- KOPrefs::instance()->mPhoneDevice = temp->getPhoneDevice( ) ;
- KOPrefs::instance()->mPhoneConnection = temp->getPhoneConnection( );
- KOPrefs::instance()->mPhoneModel = temp->getPhoneModel( );
- syncPhone();
- } else if ( temp->getIsPiSync() ) {
- mPassWordPiSync = temp->getRemotePw();
- KOPrefs::instance()->mActiveSyncPort = temp->getRemotePort();
- KOPrefs::instance()->mActiveSyncIP = temp->getRemoteIP();
- syncPi();
- } else
- syncRemote( temp );
-
- }
- }
- delete temp;
- mBlockSaveFlag = false;
-}
void MainWindow::exportToPhone( int mode )
{
@@ -1585,5 +1366,5 @@ void MainWindow::slotModifiedChanged( bool changed )
// we store the changes after 1 minute,
// and for safety reasons after 10 minutes again
- if ( !mBlockSaveFlag )
+ if ( !mSyncManager->blockSave() )
msec = (1000 * 60*KOPrefs::instance()->mAutoSaveInterval) +1000;
else
@@ -1595,8 +1376,7 @@ void MainWindow::slotModifiedChanged( bool changed )
void MainWindow::save()
{
- if ( mBlockSaveFlag )
+ if ( mSyncManager->blockSave() )
return;
- bool store = mBlockSaveFlag;
- mBlockSaveFlag = true;
+ mSyncManager->setBlockSave(true);
if ( mView->checkFileVersion( defaultFileName()) ) {
@@ -1616,5 +1396,5 @@ void MainWindow::save()
setCaption(i18n("Saving cancelled!"));
mCalendarModifiedFlag = false;
- mBlockSaveFlag = store;
+ mSyncManager->setBlockSave( false );
}
@@ -2030,78 +1810,9 @@ void MainWindow::exportVCalendar()
}
-QString MainWindow::getPassword( )
-{
- QString retfile = "";
- QDialog dia ( this, "input-dialog", true );
- QLineEdit lab ( &dia );
- lab.setEchoMode( QLineEdit::Password );
- QVBoxLayout lay( &dia );
- lay.setMargin(7);
- lay.setSpacing(7);
- lay.addWidget( &lab);
- dia.setFixedSize( 230,50 );
- dia.setCaption( i18n("Enter password") );
- QPushButton pb ( "OK", &dia);
- lay.addWidget( &pb );
- connect(&pb, SIGNAL( clicked() ), &dia, SLOT ( accept() ) );
- dia.show();
- int res = dia.exec();
- if ( res )
- retfile = lab.text();
- dia.hide();
- qApp->processEvents();
- return retfile;
-
-}
-void MainWindow::enableQuick()
+void MainWindow::syncFileRequest()
{
- QDialog dia ( this, "input-dialog", true );
- QLineEdit lab ( &dia );
- QVBoxLayout lay( &dia );
- lab.setText( KOPrefs::instance()->mPassiveSyncPort );
- lay.setMargin(7);
- lay.setSpacing(7);
- QLabel label ( i18n("Port number (Default: 9197)"), &dia );
- lay.addWidget( &label);
- lay.addWidget( &lab);
-
- QLineEdit lepw ( &dia );
- lepw.setText( KOPrefs::instance()->mPassiveSyncPw );
- QLabel label2 ( i18n("Password to enable\naccess from remote:"), &dia );
- lay.addWidget( &label2);
- lay.addWidget( &lepw);
- dia.setFixedSize( 230,80 );
- dia.setCaption( i18n("Enter port for Pi-Sync") );
- QPushButton pb ( "OK", &dia);
- lay.addWidget( &pb );
- connect(&pb, SIGNAL( clicked() ), &dia, SLOT ( accept() ) );
- dia.show();
- if ( ! dia.exec() )
- return;
- dia.hide();
- qApp->processEvents();
- KOPrefs::instance()->mPassiveSyncPw = lepw.text();
- KOPrefs::instance()->mPassiveSyncPort = lab.text();
- bool ok;
- Q_UINT16 port = KOPrefs::instance()->mPassiveSyncPort.toUInt(&ok);
- if ( ! ok ) {
- KMessageBox::information( this, i18n("No valid port"));
- return;
- }
- //qDebug("port %d ", port);
- mServerSocket = new KServerSocket ( KOPrefs::instance()->mPassiveSyncPw, port ,1 );
- mServerSocket->setFileName( defaultFileName() );
- //qDebug("connected ");
- if ( !mServerSocket->ok() ) {
- KMessageBox::information( this, i18n("Failed to bind or\nlisten to the port!"));
- delete mServerSocket;
- mServerSocket = 0;
- return;
- }
- connect( mServerSocket, SIGNAL ( saveFile() ), this, SLOT ( save() ) );
- connect( mServerSocket, SIGNAL ( file_received( bool ) ), this, SLOT ( getFile( bool ) ) );
+ save();
}
-
void MainWindow::getFile( bool success )
{
@@ -2116,225 +1827,4 @@ void MainWindow::getFile( bool success )
}
-
-void MainWindow::syncPi()
-{
- qApp->processEvents();
- bool ok;
- Q_UINT16 port = KOPrefs::instance()->mActiveSyncPort.toUInt(&ok);
- if ( ! ok ) {
- setCaption( i18n("Sorry, no valid port.Syncing cancelled.") );
- return;
- }
- KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, port, KOPrefs::instance()->mActiveSyncIP, this );
- connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) );
- setCaption( i18n("Sending request for remote file ...") );
- commandSocket->readFile( syncFileName() );
-}
-
-void MainWindow::deleteCommandSocket(KCommandSocket*s, int state)
-{
- qDebug("MainWindow::deleteCommandSocket %d", state);
-
- //enum { success, errorW, errorR, quiet };
- if ( state == KCommandSocket::errorR ) {
- setCaption( i18n("ERROR: Receiving remote file failed.") );
- delete s;
- KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, KOPrefs::instance()->mActiveSyncPort.toUInt(), KOPrefs::instance()->mActiveSyncIP, this );
- connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) );
- commandSocket->sendStop();
- return;
-
- } else if ( state == KCommandSocket::errorW ) {
- setCaption( i18n("ERROR:Writing back file failed.") );
-
- } else if ( state == KCommandSocket::successR ) {
- QTimer::singleShot( 1, this , SLOT ( readFileFromSocket()));
-
- } else if ( state == KCommandSocket::successW ) {
- setCaption( i18n("Pi-Sync succesful!") );
- }
-
- delete s;
-}
-
-void MainWindow::readFileFromSocket()
-{
- QString fileName = syncFileName();
- setCaption( i18n("Remote file saved to temp file.") );
- if ( ! syncWithFile( fileName , true ) ) {
- setCaption( i18n("Syncing failed.") );
- qDebug("Syncing failed ");
- return;
- }
- KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, KOPrefs::instance()->mActiveSyncPort.toUInt(), KOPrefs::instance()->mActiveSyncIP, this );
- connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) );
- if ( KOPrefs::instance()->mWriteBackFile )
- commandSocket->writeFile( fileName );
- else {
- commandSocket->sendStop();
- setCaption( i18n("Pi-Sync succesful!") );
- }
-}
-
-void MainWindow::syncLocalFile()
-{
-
- QString fn =KOPrefs::instance()->mLastSyncedLocalFile;
-
- fn =KFileDialog:: getOpenFileName( fn, i18n("Sync filename(*.ics/*.vcs)"), this );
- if ( fn == "" )
- return;
- //mView->setSyncDevice("local-file" );
- if ( syncWithFile( fn, false ) ) {
- // Event* e = mView->getLastSyncEvent();
-// e->setReadOnly( false );
-// e->setLocation( i18n("Local file: ")+ KOPrefs::instance()->mLastSyncedLocalFile);
-// e->setReadOnly( true );
- }
-
-}
-
-bool MainWindow::syncWithFile( QString fn , bool quick )
-{
- bool ret = false;
- QFileInfo info;
- info.setFile( fn );
- QString mess;
- bool loadbup = true;
- if ( !info. exists() ) {
- mess = i18n( "Sync file \n...%1\ndoes not exist!\nNothing synced!\n").arg(fn.right( 30) );
- int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
- mess );
- return ret;
- }
- int result = 0;
- if ( !quick ) {
- mess = i18n("Sync with file \n...%1\nfrom:\n%2\n").arg(fn.right( 25)).arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false ));
- result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
- mess,
- i18n("Sync"), i18n("Cancel"), 0,
- 0, 1 );
- if ( result )
- return false;
- }
- if ( KOPrefs::instance()->mAskForPreferences )
- mView->edit_sync_options();
- if ( result == 0 ) {
- //qDebug("Now sycing ... ");
- if ( ret = mView->syncCalendar( fn, KOPrefs::instance()->mSyncAlgoPrefs ) )
- setCaption( i18n("Synchronization successful") );
- else
- setCaption( i18n("Sync cancelled or failed. Nothing synced.") );
- if ( ! quick )
- KOPrefs::instance()->mLastSyncedLocalFile = fn;
- slotModifiedChanged( true );
- }
- return ret;
-}
-void MainWindow::quickSyncLocalFile()
-{
- //mView->setSyncDevice("local-file" );
- //qDebug("quickSyncLocalFile() ");
- if ( syncWithFile( KOPrefs::instance()->mLastSyncedLocalFile, false ) ) {
- // Event* e = mView->getLastSyncEvent();
-// e->setReadOnly( false );
-// e->setLocation( i18n("Quick with file: ")+ KOPrefs::instance()->mLastSyncedLocalFile);
-// e->setReadOnly( true );
-
- }
-}
-
-void MainWindow::confSync()
-{
- mView->confSync();
- fillSyncMenu();
-}
-void MainWindow::syncRemote( KSyncProfile* prof, bool ask)
-{
- QString question;
- if ( ask ) {
- question = i18n("Do you really want\nto remote sync\nwith profile \n")+ prof->getName()+" ?\n";
- if ( QMessageBox::information( this, i18n("KO/Pi Sync"),
- question,
- i18n("Yes"), i18n("No"),
- 0, 0 ) != 0 )
- return;
- }
- QString command = prof->getPreSyncCommand();
- int fi;
- if ( (fi = command.find("$PWD$")) > 0 ) {
- QString pwd = getPassword();
- command = command.left( fi )+ pwd + command.mid( fi+5 );
-
- }
- int maxlen = 30;
- if ( QApplication::desktop()->width() > 320 )
- maxlen += 25;
- setCaption ( i18n( "Copy remote file to local machine..." ) );
- int fileSize = 0;
- int result = system ( command );
- // 0 : okay
- // 256: no such file or dir
- //
- qDebug("KO: Remote copy result(0 = okay): %d ",result );
- if ( result != 0 ) {
- int len = maxlen;
- while ( len < command.length() ) {
- command.insert( len , "\n" );
- len += maxlen +2;
- }
- question = i18n("Sorry, the copy command failed!\nCommand was:\n%1\n \nTry command on console to get more\ndetailed info about the reason.\n").arg (command) ;
- QMessageBox::information( this, i18n("KO/Pi Sync - ERROR"),
- question,
- i18n("Okay!")) ;
- setCaption ("KO/Pi");
- return;
- }
- setCaption ( i18n( "Copying succeed." ) );
- //qDebug(" file **%s** ",prof->getLocalTempFile().latin1() );
- if ( syncWithFile( prof->getLocalTempFile(), true ) ) {
-// Event* e = mView->getLastSyncEvent();
-// e->setReadOnly( false );
-// e->setLocation( KOPrefs::instance()->mSyncProfileNames[mCurrentSyncProfile]);
-// e->setReadOnly( true );
- if ( KOPrefs::instance()->mWriteBackFile ) {
- command = prof->getPostSyncCommand();
- int fi;
- if ( (fi = command.find("$PWD$")) > 0 ) {
- QString pwd = getPassword();
- command = command.left( fi )+ pwd + command.mid( fi+5 );
-
- }
- setCaption ( i18n( "Writing back file ..." ) );
- result = system ( command );
- qDebug("KO: Writing back file result: %d ", result);
- if ( result != 0 ) {
- setCaption ( i18n( "Writing back file result: " )+QString::number( result ) );
- return;
- } else {
- setCaption ( i18n( "Syncronization sucessfully completed" ) );
- }
- }
- }
- return;
-}
-
-void MainWindow::syncSharp()
-{
- if ( mCalendarModifiedFlag )
- save();
- mView->syncSharp();
- slotModifiedChanged( true );
-
-}
-void MainWindow::syncPhone()
-{
- if ( mCalendarModifiedFlag )
- save();
- mView->syncPhone();
- slotModifiedChanged( true );
-
-}
-
void MainWindow::printSel( )
{
diff --git a/korganizer/mainwindow.h b/korganizer/mainwindow.h
index 0da0be0..ee7bd87 100644
--- a/korganizer/mainwindow.h
+++ b/korganizer/mainwindow.h
@@ -45,6 +45,4 @@ class MainWindow : public QMainWindow
protected slots:
void setCaptionToDates();
- int ringSync();
- void multiSync( bool askforPrefs = false );
void about();
void licence();
@@ -80,13 +78,4 @@ class MainWindow : public QMainWindow
void exportToPhone( int );
- void slotSyncMenu( int );
- void confSync();
- void syncSharp();
- void syncPhone();
- void syncPi();
- void syncLocalFile();
- bool syncWithFile( QString, bool );
- void quickSyncLocalFile();
-
protected:
@@ -100,17 +89,12 @@ class MainWindow : public QMainWindow
QString piFileString;
QTime piTime;
- void deleteCommandSocket(KCommandSocket* s, int state );
- void fillSyncMenu();
void getFile( bool );
- void readFileFromSocket();
+ void syncFileRequest();
private:
+ KSyncManager* mSyncManager;
//QTimer* mTimerCommandSocket;
- QString mPassWordPiSync;
KServerSocket * mServerSocket;
bool mClosed;
void saveOnClose();
- int mCurrentSyncProfile;
- void enableQuick();
- void syncRemote( KSyncProfile* , bool ask = true);
bool mFlagKeyPressed;
bool mBlockAtStartup;
@@ -125,5 +109,4 @@ class MainWindow : public QMainWindow
CalendarLocal *mCalendar;
CalendarView *mView;
- QString getPassword();
QAction *mNewSubTodoAction;
@@ -136,9 +119,8 @@ class MainWindow : public QMainWindow
QAction *mCancelAction;
-
void closeEvent( QCloseEvent* ce );
SimpleAlarmClient mAlarmClient;
QTimer mSaveTimer;
- bool mBlockSaveFlag;
+ //bool mBlockSaveFlag;
bool mCalendarModifiedFlag;
QPixmap loadPixmap( QString );