author | zautrix <zautrix> | 2005-09-17 22:07:21 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-09-17 22:07:21 (UTC) |
commit | 64199073c047a30f3cff85fe6ee30691ff0db2f7 (patch) (unidiff) | |
tree | 5ff49088999f2c02fb2a40760b881c02f50cfc35 | |
parent | e228113016abd6f75824633da9520c1ec1763f23 (diff) | |
download | kdepimpi-64199073c047a30f3cff85fe6ee30691ff0db2f7.zip kdepimpi-64199073c047a30f3cff85fe6ee30691ff0db2f7.tar.gz kdepimpi-64199073c047a30f3cff85fe6ee30691ff0db2f7.tar.bz2 |
savetimer
-rw-r--r-- | korganizer/calendarview.cpp | 4 | ||||
-rw-r--r-- | korganizer/mainwindow.cpp | 22 | ||||
-rw-r--r-- | korganizer/mainwindow.h | 2 |
3 files changed, 23 insertions, 5 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index 14094bb..79fb727 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp | |||
@@ -2471,66 +2471,66 @@ bool CalendarView::checkAllFileVersions() | |||
2471 | mCalendar->setDefaultCalendar( 1 ); | 2471 | mCalendar->setDefaultCalendar( 1 ); |
2472 | mCalendar->setDefaultCalendarEnabledOnly(); | 2472 | mCalendar->setDefaultCalendarEnabledOnly(); |
2473 | if ( !cal->isReadOnly && !cal->mErrorOnLoad ) { | 2473 | if ( !cal->isReadOnly && !cal->mErrorOnLoad ) { |
2474 | if ( !checkFileVersion(MainWindow::defaultFileName())) { | 2474 | if ( !checkFileVersion(MainWindow::defaultFileName())) { |
2475 | restoreCalendarSettings(); | 2475 | restoreCalendarSettings(); |
2476 | return false; | 2476 | return false; |
2477 | } | 2477 | } |
2478 | } | 2478 | } |
2479 | cal = calendars.next(); | 2479 | cal = calendars.next(); |
2480 | QDateTime storeTemp = loadedFileVersion; | 2480 | QDateTime storeTemp = loadedFileVersion; |
2481 | while ( cal ) { | 2481 | while ( cal ) { |
2482 | if ( !cal->isReadOnly && !cal->mErrorOnLoad ) { | 2482 | if ( !cal->isReadOnly && !cal->mErrorOnLoad ) { |
2483 | mCalendar->setDefaultCalendar( cal->mCalNumber ); | 2483 | mCalendar->setDefaultCalendar( cal->mCalNumber ); |
2484 | mCalendar->setDefaultCalendarEnabledOnly(); | 2484 | mCalendar->setDefaultCalendarEnabledOnly(); |
2485 | loadedFileVersion = cal->mLoadDt.addSecs( 15 ); | 2485 | loadedFileVersion = cal->mLoadDt.addSecs( 15 ); |
2486 | if ( !checkFileVersion(cal->mFileName )) { | 2486 | if ( !checkFileVersion(cal->mFileName )) { |
2487 | loadedFileVersion = storeTemp; | 2487 | loadedFileVersion = storeTemp; |
2488 | restoreCalendarSettings(); | 2488 | restoreCalendarSettings(); |
2489 | return false; | 2489 | return false; |
2490 | } | 2490 | } |
2491 | } | 2491 | } |
2492 | cal = calendars.next(); | 2492 | cal = calendars.next(); |
2493 | } | 2493 | } |
2494 | loadedFileVersion = storeTemp; | 2494 | loadedFileVersion = storeTemp; |
2495 | return true; | 2495 | return true; |
2496 | } | 2496 | } |
2497 | bool CalendarView::checkFileVersion(QString fn) | 2497 | bool CalendarView::checkFileVersion(QString fn) |
2498 | { | 2498 | { |
2499 | QFileInfo finf ( fn ); | 2499 | QFileInfo finf ( fn ); |
2500 | if ( !finf.exists() ) | 2500 | if ( !finf.exists() ) |
2501 | return true; | 2501 | return true; |
2502 | QDateTime dt = finf.lastModified (); | 2502 | QDateTime dt = finf.lastModified (); |
2503 | qDebug("loaded file version %s %s", fn.latin1(), loadedFileVersion.toString().latin1()); | 2503 | //qDebug("loaded file version %s %s", fn.latin1(), loadedFileVersion.toString().latin1()); |
2504 | qDebug("file on disk version %s %s", fn.latin1(),dt.toString().latin1()); | 2504 | //qDebug("file on disk version %s %s", fn.latin1(),dt.toString().latin1()); |
2505 | if ( dt <= loadedFileVersion ) | 2505 | if ( dt <= loadedFileVersion ) |
2506 | return true; | 2506 | return true; |
2507 | int km = KMessageBox::warningYesNoCancel(this, i18n("\nThe file\n%1\non disk has changed!\nFile size: %2 bytes.\nLast modified: %3\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n").arg(KGlobal::formatMessage(fn,0)).arg( QString::number( finf.size())).arg( KGlobal::locale()->formatDateTime(finf.lastModified (), true, true)) , | 2507 | int km = KMessageBox::warningYesNoCancel(this, i18n("\nThe file\n%1\non disk has changed!\nFile size: %2 bytes.\nLast modified: %3\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n").arg(KGlobal::formatMessage(fn,0)).arg( QString::number( finf.size())).arg( KGlobal::locale()->formatDateTime(finf.lastModified (), true, true)) , |
2508 | i18n("KO/Pi Warning"),i18n("Overwrite"), | 2508 | i18n("KO/Pi Warning"),i18n("Overwrite"), |
2509 | i18n("Sync+save")); | 2509 | i18n("Sync+save")); |
2510 | 2510 | ||
2511 | if ( km == KMessageBox::Cancel ) | 2511 | if ( km == KMessageBox::Cancel ) |
2512 | return false; | 2512 | return false; |
2513 | if ( km == KMessageBox::Yes ) | 2513 | if ( km == KMessageBox::Yes ) |
2514 | return true; | 2514 | return true; |
2515 | 2515 | ||
2516 | setSyncDevice("deleteaftersync" ); | 2516 | setSyncDevice("deleteaftersync" ); |
2517 | mSyncManager->mAskForPreferences = true; | 2517 | mSyncManager->mAskForPreferences = true; |
2518 | mSyncManager->mSyncAlgoPrefs = 3; | 2518 | mSyncManager->mSyncAlgoPrefs = 3; |
2519 | mSyncManager->mWriteBackFile = false; | 2519 | mSyncManager->mWriteBackFile = false; |
2520 | mSyncManager->mWriteBackExistingOnly = false; | 2520 | mSyncManager->mWriteBackExistingOnly = false; |
2521 | mSyncManager->mShowSyncSummary = false; | 2521 | mSyncManager->mShowSyncSummary = false; |
2522 | syncCalendar( fn, 3 ); | 2522 | syncCalendar( fn, 3 ); |
2523 | Event * e = getLastSyncEvent(); | 2523 | Event * e = getLastSyncEvent(); |
2524 | if ( e ) | 2524 | if ( e ) |
2525 | mCalendar->deleteEvent( e ); | 2525 | mCalendar->deleteEvent( e ); |
2526 | return true; | 2526 | return true; |
2527 | } | 2527 | } |
2528 | bool CalendarView::saveCalendars() | 2528 | bool CalendarView::saveCalendars() |
2529 | { | 2529 | { |
2530 | QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; | 2530 | QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; |
2531 | KopiCalendarFile * cal = calendars.first(); | 2531 | KopiCalendarFile * cal = calendars.first(); |
2532 | mCalendar->setDefaultCalendar( 1 ); | 2532 | mCalendar->setDefaultCalendar( 1 ); |
2533 | mCalendar->setDefaultCalendarEnabledOnly(); | 2533 | mCalendar->setDefaultCalendarEnabledOnly(); |
2534 | QString saveError; | 2534 | QString saveError; |
2535 | if ( !saveCalendar( MainWindow::defaultFileName() ) ) | 2535 | if ( !saveCalendar( MainWindow::defaultFileName() ) ) |
2536 | saveError = cal->mName +"\n"; | 2536 | saveError = cal->mName +"\n"; |
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp index 70baf5c..2af605f 100644 --- a/korganizer/mainwindow.cpp +++ b/korganizer/mainwindow.cpp | |||
@@ -373,65 +373,66 @@ MainWindow::MainWindow( QWidget *parent, const char *name ) : | |||
373 | 373 | ||
374 | connect(mSyncManager , SIGNAL( save() ), this, SLOT( save() ) ); | 374 | connect(mSyncManager , SIGNAL( save() ), this, SLOT( save() ) ); |
375 | connect(mView , SIGNAL( saveStopTimer() ), this, SLOT( saveStopTimer() ) ); | 375 | connect(mView , SIGNAL( saveStopTimer() ), this, SLOT( saveStopTimer() ) ); |
376 | connect(mSyncManager , SIGNAL( request_file() ), this, SLOT( syncFileRequest() ) ); | 376 | connect(mSyncManager , SIGNAL( request_file() ), this, SLOT( syncFileRequest() ) ); |
377 | connect(mSyncManager , SIGNAL( getFile( bool )), this, SLOT(getFile( bool ) ) ); | 377 | connect(mSyncManager , SIGNAL( getFile( bool )), this, SLOT(getFile( bool ) ) ); |
378 | mSyncManager->setDefaultFileName( sentSyncFile()); | 378 | mSyncManager->setDefaultFileName( sentSyncFile()); |
379 | connect ( syncMenu, SIGNAL( activated ( int ) ), mSyncManager, SLOT (slotSyncMenu( int ) ) ); | 379 | connect ( syncMenu, SIGNAL( activated ( int ) ), mSyncManager, SLOT (slotSyncMenu( int ) ) ); |
380 | mSyncManager->fillSyncMenu(); | 380 | mSyncManager->fillSyncMenu(); |
381 | 381 | ||
382 | 382 | ||
383 | 383 | ||
384 | mView->viewManager()->agendaView()->setStartHour( KOPrefs::instance()->mDayBegins ); | 384 | mView->viewManager()->agendaView()->setStartHour( KOPrefs::instance()->mDayBegins ); |
385 | if ( showWarning ) { | 385 | if ( showWarning ) { |
386 | KMessageBox::information( this, | 386 | KMessageBox::information( this, |
387 | "You are starting KO/Pi for the first time.\nPlease read menu: Help-What's New,\nif you did an update!\nPlease choose your timezone in the \nConfigure Dialog TAB Time Zone!\nPlease choose your language\nin the TAB Locale!\nYou get the Configure Dialog\nvia Menu: Actions - Configure....\nClick OK to show the Configure Dialog!\n", "KO/Pi information"); | 387 | "You are starting KO/Pi for the first time.\nPlease read menu: Help-What's New,\nif you did an update!\nPlease choose your timezone in the \nConfigure Dialog TAB Time Zone!\nPlease choose your language\nin the TAB Locale!\nYou get the Configure Dialog\nvia Menu: Actions - Configure....\nClick OK to show the Configure Dialog!\n", "KO/Pi information"); |
388 | qApp->processEvents(); | 388 | qApp->processEvents(); |
389 | mView->dialogManager()->showSyncOptions(); | 389 | mView->dialogManager()->showSyncOptions(); |
390 | } | 390 | } |
391 | 391 | ||
392 | //US listen for result adressed from Ka/Pi | 392 | //US listen for result adressed from Ka/Pi |
393 | 393 | ||
394 | #ifndef DESKTOP_VERSION | 394 | #ifndef DESKTOP_VERSION |
395 | infrared = 0; | 395 | infrared = 0; |
396 | #endif | 396 | #endif |
397 | updateFilterToolbar(); | 397 | updateFilterToolbar(); |
398 | updateWeek( mView->startDate() ); | 398 | updateWeek( mView->startDate() ); |
399 | connect( mView->dateNavigator(), SIGNAL( datesSelected( const KCal::DateList & ) ), | 399 | connect( mView->dateNavigator(), SIGNAL( datesSelected( const KCal::DateList & ) ), |
400 | SLOT( updateWeekNum( const KCal::DateList & ) ) ); | 400 | SLOT( updateWeekNum( const KCal::DateList & ) ) ); |
401 | mBRdisabled = false; | 401 | mBRdisabled = false; |
402 | //toggleBeamReceive(); | 402 | //toggleBeamReceive(); |
403 | 403 | ||
404 | setCaption(i18n("Loading calendar files ... please wait" )); | 404 | setCaption(i18n("Loading calendar files ... please wait" )); |
405 | QTimer::singleShot( 10, this, SLOT ( loadDataAfterStart() )); | 405 | mSaveDelay = 0; |
406 | QTimer::singleShot( 1, this, SLOT ( loadDataAfterStart() )); | ||
406 | } | 407 | } |
407 | MainWindow::~MainWindow() | 408 | MainWindow::~MainWindow() |
408 | { | 409 | { |
409 | //qDebug("MainWindow::~MainWindow() "); | 410 | //qDebug("MainWindow::~MainWindow() "); |
410 | //save toolbar location | 411 | //save toolbar location |
411 | delete mCalendar; | 412 | delete mCalendar; |
412 | delete mSyncManager; | 413 | delete mSyncManager; |
413 | #ifndef DESKTOP_VERSION | 414 | #ifndef DESKTOP_VERSION |
414 | if ( infrared ) | 415 | if ( infrared ) |
415 | delete infrared; | 416 | delete infrared; |
416 | #endif | 417 | #endif |
417 | 418 | ||
418 | 419 | ||
419 | } | 420 | } |
420 | 421 | ||
421 | void MainWindow::loadDataAfterStart() | 422 | void MainWindow::loadDataAfterStart() |
422 | { | 423 | { |
423 | 424 | ||
424 | qDebug("KO: Start loading files..." ); | 425 | qDebug("KO: Start loading files..." ); |
425 | QTime neededSaveTime = QDateTime::currentDateTime().time(); | 426 | QTime neededSaveTime = QDateTime::currentDateTime().time(); |
426 | mView->loadCalendars(); | 427 | mView->loadCalendars(); |
427 | int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() ); | 428 | int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() ); |
428 | qDebug("KO: Calendar loading time: %d ms",msNeeded ); | 429 | qDebug("KO: Calendar loading time: %d ms",msNeeded ); |
429 | //QTimer::singleShot( 1000, mView, SLOT ( checkFiles() )); | 430 | //QTimer::singleShot( 1000, mView, SLOT ( checkFiles() )); |
430 | mView->setModified( false ); | 431 | mView->setModified( false ); |
431 | mBlockAtStartup = false; | 432 | mBlockAtStartup = false; |
432 | mView->setModified( false ); | 433 | mView->setModified( false ); |
433 | connect(mView , SIGNAL( save() ), this, SLOT( save() ) ); | 434 | connect(mView , SIGNAL( save() ), this, SLOT( save() ) ); |
434 | processIncidenceSelection( 0 ); | 435 | processIncidenceSelection( 0 ); |
435 | connect( mView, SIGNAL( incidenceSelected( Incidence * ) ), | 436 | connect( mView, SIGNAL( incidenceSelected( Incidence * ) ), |
436 | SLOT( processIncidenceSelection( Incidence * ) ) ); | 437 | SLOT( processIncidenceSelection( Incidence * ) ) ); |
437 | connect( mView, SIGNAL( modifiedChanged( bool ) ), | 438 | connect( mView, SIGNAL( modifiedChanged( bool ) ), |
@@ -1937,139 +1938,154 @@ void MainWindow::saveOnClose() | |||
1937 | if ( p->mToolBarHorN ) | 1938 | if ( p->mToolBarHorN ) |
1938 | p->mToolBarUpN = navigatorToolBar->y() > height()/2; | 1939 | p->mToolBarUpN = navigatorToolBar->y() > height()/2; |
1939 | else | 1940 | else |
1940 | p->mToolBarUpN = navigatorToolBar->x() > width()/2 ; | 1941 | p->mToolBarUpN = navigatorToolBar->x() > width()/2 ; |
1941 | if ( filterToolBar ) { | 1942 | if ( filterToolBar ) { |
1942 | if ( p->mToolBarHorF ) | 1943 | if ( p->mToolBarHorF ) |
1943 | p->mToolBarUpF = filterToolBar->y() > height()/2; | 1944 | p->mToolBarUpF = filterToolBar->y() > height()/2; |
1944 | else | 1945 | else |
1945 | p->mToolBarUpF = filterToolBar->x() > width()/2 ; | 1946 | p->mToolBarUpF = filterToolBar->x() > width()/2 ; |
1946 | } | 1947 | } |
1947 | #endif | 1948 | #endif |
1948 | save(); | 1949 | save(); |
1949 | mView->writeSettings(); | 1950 | mView->writeSettings(); |
1950 | mView->checkSuspendAlarm(); | 1951 | mView->checkSuspendAlarm(); |
1951 | } | 1952 | } |
1952 | void MainWindow::slotModifiedChanged( bool ) | 1953 | void MainWindow::slotModifiedChanged( bool ) |
1953 | { | 1954 | { |
1954 | if ( mBlockAtStartup ) | 1955 | if ( mBlockAtStartup ) |
1955 | return; | 1956 | return; |
1956 | 1957 | ||
1957 | int msec; | 1958 | int msec; |
1958 | if ( mCalendarModifiedFlag ) { | 1959 | if ( mCalendarModifiedFlag ) { |
1959 | //qDebug(" MainWindow timer is running "); | 1960 | //qDebug(" MainWindow timer is running "); |
1960 | return; | 1961 | return; |
1961 | } | 1962 | } |
1962 | // we store the changes after 1 minute, | 1963 | // we store the changes after 1 minute, |
1963 | // and for safety reasons after 10 minutes again | 1964 | // and for safety reasons after 10 minutes again |
1964 | if ( !mSyncManager->blockSave() ) | 1965 | if ( !mSyncManager->blockSave() ) |
1965 | msec = (1000 * 60*KOPrefs::instance()->mAutoSaveInterval) +1000; | 1966 | msec = (1000 * 60*KOPrefs::instance()->mAutoSaveInterval) +1000; |
1966 | else | 1967 | else |
1967 | msec = 1000 * 600; | 1968 | msec = 1000 * 600; |
1968 | mSaveTimer.start( msec, true ); // 1 minute | 1969 | mSaveTimer.start( msec, true ); // 1 minute |
1970 | mSaveTime.restart(); | ||
1971 | mSaveDelay = msec/1000; | ||
1969 | qDebug("KO: Saving File in %d secs!", msec/1000); | 1972 | qDebug("KO: Saving File in %d secs!", msec/1000); |
1970 | mCalendarModifiedFlag = true; | 1973 | mCalendarModifiedFlag = true; |
1971 | } | 1974 | } |
1972 | void MainWindow::saveStopTimer() | 1975 | void MainWindow::saveStopTimer() |
1973 | { | 1976 | { |
1974 | mSaveTimer.stop(); | 1977 | mSaveTimer.stop(); |
1975 | } | 1978 | } |
1976 | void MainWindow::backupAllFiles() | 1979 | void MainWindow::backupAllFiles() |
1977 | { | 1980 | { |
1978 | QDate reference ( 2000,1,1); | 1981 | QDate reference ( 2000,1,1); |
1979 | int daysTo = reference.daysTo ( QDate::currentDate() ); | 1982 | int daysTo = reference.daysTo ( QDate::currentDate() ); |
1980 | setCaption(i18n("Creating backup ... please wait ..." )); | 1983 | setCaption(i18n("Creating backup ... please wait ..." )); |
1981 | qDebug("KO: Last backup was %d days ago ", daysTo - KOPrefs::instance()->mLastBackupDate); | 1984 | qDebug("KO: Last backup was %d days ago ", daysTo - KOPrefs::instance()->mLastBackupDate); |
1982 | // we need the file path, the backup dir and the number of bups as param | 1985 | // we need the file path, the backup dir and the number of bups as param |
1983 | QString bupDir = KPimGlobalPrefs::instance()->mBackupDatadir; | 1986 | QString bupDir = KPimGlobalPrefs::instance()->mBackupDatadir; |
1984 | if ( KPimGlobalPrefs::instance()->mBackupUseDefaultDir) | 1987 | if ( KPimGlobalPrefs::instance()->mBackupUseDefaultDir) |
1985 | bupDir = KGlobalSettings::backupDataDir(); | 1988 | bupDir = KGlobalSettings::backupDataDir(); |
1986 | int retval = KApplication::createBackup( defaultFileName(), bupDir, KPimGlobalPrefs::instance()->mBackupNumbers ); | 1989 | int retval = KApplication::createBackup( defaultFileName(), bupDir, KPimGlobalPrefs::instance()->mBackupNumbers ); |
1987 | if ( retval == 0 ) { | 1990 | if ( retval == 0 ) { |
1988 | setCaption(i18n("Backup cancelled" )); | 1991 | setCaption(i18n("Backup cancelled" )); |
1989 | qDebug("KO: Backup cancelled. Will try again tomorrow "); | 1992 | qDebug("KO: Backup cancelled. Will try again tomorrow "); |
1990 | // retval == 0 : backup skipped for today, try again tomorrow | 1993 | // retval == 0 : backup skipped for today, try again tomorrow |
1991 | KOPrefs::instance()->mLastBackupDate = daysTo- KPimGlobalPrefs::instance()->mBackupDayCount+1; | 1994 | KOPrefs::instance()->mLastBackupDate = daysTo- KPimGlobalPrefs::instance()->mBackupDayCount+1; |
1992 | } else if ( retval == 1 ){ | 1995 | } else if ( retval == 1 ){ |
1993 | qDebug("KO: Backup created."); | 1996 | qDebug("KO: Backup created."); |
1994 | // backup ok | 1997 | // backup ok |
1995 | QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; | 1998 | QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars; |
1996 | KopiCalendarFile * cal = calendars.first(); | 1999 | KopiCalendarFile * cal = calendars.first(); |
1997 | cal = calendars.next(); | 2000 | cal = calendars.next(); |
1998 | while ( cal ) { | 2001 | while ( cal ) { |
1999 | if ( !cal->mErrorOnLoad ) { | 2002 | if ( !cal->mErrorOnLoad ) { |
2000 | KApplication::createBackup( cal->mFileName, bupDir, KPimGlobalPrefs::instance()->mBackupNumbers ); | 2003 | KApplication::createBackup( cal->mFileName, bupDir, KPimGlobalPrefs::instance()->mBackupNumbers ); |
2001 | } | 2004 | } |
2002 | cal = calendars.next(); | 2005 | cal = calendars.next(); |
2003 | } | 2006 | } |
2004 | KOPrefs::instance()->mLastBackupDate = daysTo; | 2007 | KOPrefs::instance()->mLastBackupDate = daysTo; |
2005 | setCaption(i18n("Backup succesfully finished" )); | 2008 | setCaption(i18n("Backup succesfully finished" )); |
2006 | } else if ( retval == 2 ){ | 2009 | } else if ( retval == 2 ){ |
2007 | setCaption(i18n("Backup globally disabled" )); | 2010 | setCaption(i18n("Backup globally disabled" )); |
2008 | qDebug("KO: Backup globally cancelled."); | 2011 | qDebug("KO: Backup globally cancelled."); |
2009 | // backup globally cancelled | 2012 | // backup globally cancelled |
2010 | KPimGlobalPrefs::instance()->mBackupEnabled = false; | 2013 | KPimGlobalPrefs::instance()->mBackupEnabled = false; |
2011 | } | 2014 | } |
2012 | // retval == 3: do nothing, try again later | 2015 | // retval == 3: do nothing, try again later |
2013 | } | 2016 | } |
2014 | void MainWindow::save() | 2017 | void MainWindow::save() |
2015 | { | 2018 | { |
2019 | if ( mSaveDelay ) { | ||
2020 | if ( mSaveDelay + 60 < mSaveTime.elapsed()/1000 ) { | ||
2021 | qDebug("KO: Save delay %d. Elapsed save time %d ", mSaveDelay, mSaveTime.elapsed()/1000 ); | ||
2022 | qDebug("KO: Restarting save timer"); | ||
2023 | int msec = 10000; | ||
2024 | mSaveTimer.start( msec, true ); // 1 minute | ||
2025 | mSaveTime.restart(); | ||
2026 | mSaveDelay = msec/1000; | ||
2027 | return; | ||
2028 | } | ||
2029 | } | ||
2016 | 2030 | ||
2017 | if ( mView->viewManager()->journalView() ) | 2031 | if ( mView->viewManager()->journalView() ) |
2018 | mView->viewManager()->journalView()->checkModified(); | 2032 | mView->viewManager()->journalView()->checkModified(); |
2019 | if ( !mCalendarModifiedFlag ) { | 2033 | if ( !mCalendarModifiedFlag ) { |
2020 | qDebug("KO: Calendar not modified. Nothing saved."); | 2034 | qDebug("KO: Calendar not modified. Nothing saved."); |
2021 | return; | 2035 | return; |
2022 | } | 2036 | } |
2023 | if ( mSyncManager->blockSave() ) { | 2037 | if ( mSyncManager->blockSave() ) { |
2024 | slotModifiedChanged( true ); | 2038 | slotModifiedChanged( true ); |
2025 | return; | 2039 | return; |
2026 | } | 2040 | } |
2041 | mSaveDelay = 0; | ||
2027 | mSyncManager->setBlockSave(true); | 2042 | mSyncManager->setBlockSave(true); |
2028 | if ( mView->checkAllFileVersions() ) { | 2043 | if ( mView->checkAllFileVersions() ) { |
2029 | if ( KPimGlobalPrefs::instance()->mBackupEnabled ){ | 2044 | if ( KPimGlobalPrefs::instance()->mBackupEnabled ){ |
2030 | QDate reference ( 2000,1,1); | 2045 | QDate reference ( 2000,1,1); |
2031 | int daysTo = reference.daysTo ( QDate::currentDate() ); | 2046 | int daysTo = reference.daysTo ( QDate::currentDate() ); |
2032 | if ( daysTo - KPimGlobalPrefs::instance()->mBackupDayCount >= KOPrefs::instance()->mLastBackupDate ) { | 2047 | if ( daysTo - KPimGlobalPrefs::instance()->mBackupDayCount >= KOPrefs::instance()->mLastBackupDate ) { |
2033 | backupAllFiles(); | 2048 | backupAllFiles(); |
2034 | } | 2049 | } |
2035 | ; // KPimGlobalPrefs::instance()->mLastBackupDate | 2050 | ; // KPimGlobalPrefs::instance()->mLastBackupDate |
2036 | } | 2051 | } |
2037 | QTime neededSaveTime = QDateTime::currentDateTime().time(); | 2052 | QTime neededSaveTime; |
2053 | neededSaveTime.start(); | ||
2038 | if ( !isMinimized () ) | 2054 | if ( !isMinimized () ) |
2039 | setCaption(i18n("KO/Pi:Saving Data to File ..." )); | 2055 | setCaption(i18n("KO/Pi:Saving Data to File ..." )); |
2040 | qDebug("KO: Start saving data to file!"); | 2056 | qDebug("KO: Start saving data to file!"); |
2041 | if ( mView->saveCalendars() ) | 2057 | if ( mView->saveCalendars() ) |
2042 | mCalendarModifiedFlag = false; | 2058 | mCalendarModifiedFlag = false; |
2043 | int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() ); | 2059 | int msNeeded = neededSaveTime.elapsed(); |
2044 | qDebug("KO: Needed %d ms for saving.",msNeeded ); | 2060 | qDebug("KO: Needed %d ms for saving.",msNeeded ); |
2045 | QString savemes; | 2061 | QString savemes; |
2046 | savemes.sprintf(i18n("KO/Pi:File Saved. Needed %d sec, %d ms"),(msNeeded/1000)%100,msNeeded%1000 ); | 2062 | savemes.sprintf(i18n("KO/Pi:File Saved. Needed %d sec, %d ms"),(msNeeded/1000)%100,msNeeded%1000 ); |
2047 | if ( !isMinimized () ) | 2063 | if ( !isMinimized () ) |
2048 | setCaption(savemes); | 2064 | setCaption(savemes); |
2049 | else | 2065 | else |
2050 | qDebug(savemes); | 2066 | qDebug(savemes); |
2051 | } else { | 2067 | } else { |
2052 | setCaption(i18n("Saving cancelled!")); | 2068 | setCaption(i18n("Saving cancelled!")); |
2053 | mCalendarModifiedFlag = false; | 2069 | mCalendarModifiedFlag = false; |
2054 | slotModifiedChanged( true ); | 2070 | slotModifiedChanged( true ); |
2055 | } | 2071 | } |
2056 | mSyncManager->setBlockSave( false ); | 2072 | mSyncManager->setBlockSave( false ); |
2057 | } | 2073 | } |
2058 | 2074 | ||
2059 | void MainWindow::keyReleaseEvent ( QKeyEvent * e) | 2075 | void MainWindow::keyReleaseEvent ( QKeyEvent * e) |
2060 | { | 2076 | { |
2061 | if ( !e->isAutoRepeat() ) { | 2077 | if ( !e->isAutoRepeat() ) { |
2062 | mFlagKeyPressed = false; | 2078 | mFlagKeyPressed = false; |
2063 | } | 2079 | } |
2064 | } | 2080 | } |
2065 | void MainWindow::keyPressEvent ( QKeyEvent * e ) | 2081 | void MainWindow::keyPressEvent ( QKeyEvent * e ) |
2066 | { | 2082 | { |
2067 | qApp->processEvents(); | 2083 | qApp->processEvents(); |
2068 | if ( e->isAutoRepeat() && !mFlagKeyPressed ) { | 2084 | if ( e->isAutoRepeat() && !mFlagKeyPressed ) { |
2069 | e->ignore(); | 2085 | e->ignore(); |
2070 | // qDebug(" ignore %d",e->isAutoRepeat() ); | 2086 | // qDebug(" ignore %d",e->isAutoRepeat() ); |
2071 | return; | 2087 | return; |
2072 | } | 2088 | } |
2073 | if (! e->isAutoRepeat() ) | 2089 | if (! e->isAutoRepeat() ) |
2074 | mFlagKeyPressed = true; | 2090 | mFlagKeyPressed = true; |
2075 | KOPrefs *p = KOPrefs::instance(); | 2091 | KOPrefs *p = KOPrefs::instance(); |
diff --git a/korganizer/mainwindow.h b/korganizer/mainwindow.h index fdcf7c4..657c0a8 100644 --- a/korganizer/mainwindow.h +++ b/korganizer/mainwindow.h | |||
@@ -145,40 +145,42 @@ class MainWindow : public QMainWindow | |||
145 | void setDefaultPreferences(); | 145 | void setDefaultPreferences(); |
146 | void resizeEvent( QResizeEvent* e); | 146 | void resizeEvent( QResizeEvent* e); |
147 | void keyPressEvent ( QKeyEvent * ) ; | 147 | void keyPressEvent ( QKeyEvent * ) ; |
148 | void keyReleaseEvent ( QKeyEvent * ) ; | 148 | void keyReleaseEvent ( QKeyEvent * ) ; |
149 | QPopupMenu *configureToolBarMenu; | 149 | QPopupMenu *configureToolBarMenu; |
150 | QPopupMenu *selectFilterMenu; | 150 | QPopupMenu *selectFilterMenu; |
151 | QPopupMenu *selectFilterMenuTB; | 151 | QPopupMenu *selectFilterMenuTB; |
152 | QPopupMenu *configureAgendaMenu, *syncMenu; | 152 | QPopupMenu *configureAgendaMenu, *syncMenu; |
153 | CalendarLocal *mCalendar; | 153 | CalendarLocal *mCalendar; |
154 | CalendarView *mView; | 154 | CalendarView *mView; |
155 | QAction *mNewSubTodoAction; | 155 | QAction *mNewSubTodoAction; |
156 | QAction *mWeekAction; | 156 | QAction *mWeekAction; |
157 | QFont mWeekFont; | 157 | QFont mWeekFont; |
158 | QPixmap mWeekPixmap; | 158 | QPixmap mWeekPixmap; |
159 | QColor mWeekBgColor; | 159 | QColor mWeekBgColor; |
160 | 160 | ||
161 | QAction *mShowAction; | 161 | QAction *mShowAction; |
162 | QAction *mEditAction; | 162 | QAction *mEditAction; |
163 | QAction *mDeleteAction; | 163 | QAction *mDeleteAction; |
164 | QAction *mCloneAction; | 164 | QAction *mCloneAction; |
165 | QAction *mMoveAction; | 165 | QAction *mMoveAction; |
166 | QAction *mBeamAction; | 166 | QAction *mBeamAction; |
167 | QAction *mCancelAction; | 167 | QAction *mCancelAction; |
168 | QAction *mPrintSelAction; | 168 | QAction *mPrintSelAction; |
169 | 169 | ||
170 | QAction *mToggleNav; | 170 | QAction *mToggleNav; |
171 | QAction *mToggleFilter; | 171 | QAction *mToggleFilter; |
172 | QAction *mToggleAllday; | 172 | QAction *mToggleAllday; |
173 | QAction *actionFilterMenuTB; | 173 | QAction *actionFilterMenuTB; |
174 | 174 | ||
175 | void closeEvent( QCloseEvent* ce ); | 175 | void closeEvent( QCloseEvent* ce ); |
176 | QTimer mSaveTimer; | 176 | QTimer mSaveTimer; |
177 | QTime mSaveTime; | ||
178 | int mSaveDelay; | ||
177 | //bool mBlockSaveFlag; | 179 | //bool mBlockSaveFlag; |
178 | bool mCalendarModifiedFlag; | 180 | bool mCalendarModifiedFlag; |
179 | QPixmap loadPixmap( QString ); | 181 | QPixmap loadPixmap( QString ); |
180 | QPixmap listviewPix, listviewPix0, listviewPix20, listviewPix40, listviewPix60, listviewPix80, journalPix; | 182 | QPixmap listviewPix, listviewPix0, listviewPix20, listviewPix40, listviewPix60, listviewPix80, journalPix; |
181 | }; | 183 | }; |
182 | 184 | ||
183 | 185 | ||
184 | #endif | 186 | #endif |