summaryrefslogtreecommitdiffabout
path: root/korganizer/mainwindow.cpp
authorzautrix <zautrix>2005-06-26 13:45:09 (UTC)
committer zautrix <zautrix>2005-06-26 13:45:09 (UTC)
commitbb565390dd1c31929780df60e2bb06e9259f4d0b (patch) (unidiff)
tree3f9f8b72ba68958553e8b20f5061ab55ec7b50f1 /korganizer/mainwindow.cpp
parentd9255cd129d42abf08efc11ff9b29e831e05e803 (diff)
downloadkdepimpi-bb565390dd1c31929780df60e2bb06e9259f4d0b.zip
kdepimpi-bb565390dd1c31929780df60e2bb06e9259f4d0b.tar.gz
kdepimpi-bb565390dd1c31929780df60e2bb06e9259f4d0b.tar.bz2
fixxx
Diffstat (limited to 'korganizer/mainwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/mainwindow.cpp113
1 files changed, 56 insertions, 57 deletions
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index 48320a5..b9d8742 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -1030,17 +1030,18 @@ void MainWindow::initActions()
1030 action->addTo( importMenu_X ); 1030 action->addTo( importMenu_X );
1031 connect( action, SIGNAL( activated() ), SLOT( importOL() ) ); 1031 connect( action, SIGNAL( activated() ), SLOT( importOL() ) );
1032#endif 1032#endif
1033 //#endif 1033 //#endif
1034 1034
1035 //importMenu->insertSeparator(); 1035 //importMenu->insertSeparator();
1036#if 0
1036 action = new QAction( "load_cal", i18n("Load Calendar Backup"), 0, 1037 action = new QAction( "load_cal", i18n("Load Calendar Backup"), 0,
1037 this ); 1038 this );
1038 action->addTo( importMenu ); 1039 action->addTo( importMenu );
1039 connect( action, SIGNAL( activated() ), SLOT( loadCalendar() ) ); 1040 connect( action, SIGNAL( activated() ), SLOT( loadCalendar() ) );
1040 1041#endif
1041 action = new QAction( "save_cal", i18n("Save Calendar Backup"), 0, 1042 action = new QAction( "save_cal", i18n("Save Calendar Backup"), 0,
1042 this ); 1043 this );
1043 action->addTo( importMenu ); 1044 action->addTo( importMenu );
1044 connect( action, SIGNAL( activated() ), SLOT( saveCalendar() ) ); 1045 connect( action, SIGNAL( activated() ), SLOT( saveCalendar() ) );
1045 importMenu->insertSeparator(); 1046 importMenu->insertSeparator();
1046 importMenu->insertItem( i18n("Import"), importMenu_X ); 1047 importMenu->insertItem( i18n("Import"), importMenu_X );
@@ -1842,12 +1843,50 @@ void MainWindow::slotModifiedChanged( bool changed )
1842 mCalendarModifiedFlag = true; 1843 mCalendarModifiedFlag = true;
1843} 1844}
1844void MainWindow::saveStopTimer() 1845void MainWindow::saveStopTimer()
1845{ 1846{
1846 mSaveTimer.stop(); 1847 mSaveTimer.stop();
1847} 1848}
1849void MainWindow::backupAllFiles()
1850{
1851 QDate reference ( 2000,1,1);
1852 int daysTo = reference.daysTo ( QDate::currentDate() );
1853 setCaption(i18n("Creating backup ... please wait ..." ));
1854 qDebug("KO: Last backup was %d days ago ", daysTo - KOPrefs::instance()->mLastBackupDate);
1855 // we need the file path, the backup dir and the number of bups as param
1856 QString bupDir = KPimGlobalPrefs::instance()->mBackupDatadir;
1857 if ( KPimGlobalPrefs::instance()->mBackupUseDefaultDir)
1858 bupDir = KGlobalSettings::backupDataDir();
1859 int retval = KApplication::createBackup( defaultFileName(), bupDir, KPimGlobalPrefs::instance()->mBackupNumbers );
1860 if ( retval == 0 ) {
1861 setCaption(i18n("Backup cancelled" ));
1862 qDebug("KO: Backup cancelled. Will try again tomorrow ");
1863 // retval == 0 : backup skipped for today, try again tomorrow
1864 KOPrefs::instance()->mLastBackupDate = daysTo- KPimGlobalPrefs::instance()->mBackupDayCount+1;
1865 } else if ( retval == 1 ){
1866 qDebug("KO: Backup created.");
1867 // backup ok
1868 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars;
1869 KopiCalendarFile * cal = calendars.first();
1870 cal = calendars.next();
1871 while ( cal ) {
1872 if ( !cal->mErrorOnLoad ) {
1873 int retval = KApplication::createBackup( cal->mFileName, bupDir, KPimGlobalPrefs::instance()->mBackupNumbers );
1874 }
1875 cal = calendars.next();
1876 }
1877 KOPrefs::instance()->mLastBackupDate = daysTo;
1878 setCaption(i18n("Backup succesfully finished" ));
1879 } else if ( retval == 2 ){
1880 setCaption(i18n("Backup globally disabled" ));
1881 qDebug("KO: Backup globally cancelled.");
1882 // backup globally cancelled
1883 KPimGlobalPrefs::instance()->mBackupEnabled = false;
1884 }
1885 // retval == 3: do nothing, try again later
1886}
1848void MainWindow::save() 1887void MainWindow::save()
1849{ 1888{
1850 if ( !mCalendarModifiedFlag ) { 1889 if ( !mCalendarModifiedFlag ) {
1851 qDebug("KO: Calendar not modified. Nothing saved."); 1890 qDebug("KO: Calendar not modified. Nothing saved.");
1852 return; 1891 return;
1853 } 1892 }
@@ -1856,44 +1895,15 @@ void MainWindow::save()
1856 mSyncManager->setBlockSave(true); 1895 mSyncManager->setBlockSave(true);
1857 if ( mView->checkAllFileVersions() ) { 1896 if ( mView->checkAllFileVersions() ) {
1858 if ( KPimGlobalPrefs::instance()->mBackupEnabled ){ 1897 if ( KPimGlobalPrefs::instance()->mBackupEnabled ){
1859 QDate reference ( 2000,1,1); 1898 QDate reference ( 2000,1,1);
1860 int daysTo = reference.daysTo ( QDate::currentDate() ); 1899 int daysTo = reference.daysTo ( QDate::currentDate() );
1861 if ( daysTo - KPimGlobalPrefs::instance()->mBackupDayCount >= KOPrefs::instance()->mLastBackupDate ) { 1900 if ( daysTo - KPimGlobalPrefs::instance()->mBackupDayCount >= KOPrefs::instance()->mLastBackupDate ) {
1862 setCaption(i18n("Creating backup ... please wait ..." )); 1901 backupAllFiles();
1863 qDebug("KO: Last backup was %d days ago ", daysTo - KOPrefs::instance()->mLastBackupDate);
1864 // we need the file path, the backup dir and the number of bups as param
1865 QString bupDir = KPimGlobalPrefs::instance()->mBackupDatadir;
1866 if ( KPimGlobalPrefs::instance()->mBackupUseDefaultDir)
1867 bupDir = KGlobalSettings::backupDataDir();
1868 int retval = KApplication::createBackup( defaultFileName(), bupDir, KPimGlobalPrefs::instance()->mBackupNumbers );
1869 if ( retval == 0 ) {
1870 qDebug("KO: Backup cancelled. Will try again tomorrow ");
1871 // retval == 0 : backup skipped for today, try again tomorrow
1872 KOPrefs::instance()->mLastBackupDate = daysTo- KPimGlobalPrefs::instance()->mBackupDayCount+1;
1873 } else if ( retval == 1 ){
1874 qDebug("KO: Backup created.");
1875 // backup ok
1876 QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars;
1877 KopiCalendarFile * cal = calendars.first();
1878 cal = calendars.next();
1879 while ( cal ) {
1880 if ( !cal->mErrorOnLoad ) {
1881 int retval = KApplication::createBackup( cal->mFileName, bupDir, KPimGlobalPrefs::instance()->mBackupNumbers );
1882 }
1883 cal = calendars.next();
1884 }
1885 KOPrefs::instance()->mLastBackupDate = daysTo;
1886 } else if ( retval == 2 ){
1887 qDebug("KO: Backup globally cancelled.");
1888 // backup globally cancelled
1889 KPimGlobalPrefs::instance()->mBackupEnabled = false;
1890 }
1891 // retval == 3: do nothing, try again later
1892 } 1902 }
1893 ; // KPimGlobalPrefs::instance()->mLastBackupDate 1903 ; // KPimGlobalPrefs::instance()->mLastBackupDate
1894 } 1904 }
1895 QTime neededSaveTime = QDateTime::currentDateTime().time(); 1905 QTime neededSaveTime = QDateTime::currentDateTime().time();
1896 setCaption(i18n("KO/Pi:Saving Data to File ..." )); 1906 setCaption(i18n("KO/Pi:Saving Data to File ..." ));
1897 qDebug("KO: Start saving data to file!"); 1907 qDebug("KO: Start saving data to file!");
1898 mView->saveCalendars(); 1908 mView->saveCalendars();
1899 mCalendarModifiedFlag = false; 1909 mCalendarModifiedFlag = false;
@@ -2297,41 +2307,29 @@ void MainWindow::configureAgenda( int item )
2297 KOPrefs::instance()->mHourSize=item; 2307 KOPrefs::instance()->mHourSize=item;
2298 mView->viewManager()->agendaView()->updateConfig(); 2308 mView->viewManager()->agendaView()->updateConfig();
2299} 2309}
2300 2310
2301void MainWindow::saveCalendar() 2311void MainWindow::saveCalendar()
2302{ 2312{
2303 QString fn = KOPrefs::instance()->mLastSaveFile; 2313
2304 fn = KFileDialog::getSaveFileName( fn, i18n("Save backup filename"), this ); 2314 QString bupDir = KPimGlobalPrefs::instance()->mBackupDatadir;
2305 2315 if ( KPimGlobalPrefs::instance()->mBackupUseDefaultDir)
2306 if ( fn == "" ) 2316 bupDir = KGlobalSettings::backupDataDir();
2307 return; 2317 bupDir = KGlobal::formatMessage ( bupDir, 0 );
2308 QFileInfo info; 2318 QString bupHint;
2309 info.setFile( fn ); 2319 if ( !KPimGlobalPrefs::instance()->mBackupEnabled )
2310 QString mes; 2320 bupHint = i18n("(Hint: You can enable automatic backup in the global settings!)");
2311 bool createbup = true; 2321 if ( KMessageBox::warningContinueCancel( this, i18n("This will <b>backup all calendar files</b> to the directory %1 %2").arg(bupDir).arg(bupHint),i18n("Information") ) != KMessageBox::Continue ) return;
2312 if ( info. exists() ) { 2322 backupAllFiles();
2313 mes = i18n("Backup file\nalready exists!\nOld backup file from:\n%1\nOverwrite?\n").arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false )) ;
2314 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mes,
2315 i18n("Overwrite!"), i18n("Cancel"), 0,
2316 0, 1 );
2317 if ( result != 0 ) {
2318 createbup = false;
2319 }
2320 }
2321 if ( createbup ) {
2322 mView->saveCalendar( fn );
2323 mes = i18n("KO/Pi:Saved %1").arg(fn);
2324 KOPrefs::instance()->mLastSaveFile = fn;
2325 setCaption(mes);
2326 }
2327} 2323}
2328void MainWindow::loadCalendar() 2324void MainWindow::loadCalendar()
2329{ 2325{
2330 2326
2331 QString fn = KOPrefs::instance()->mLastLoadFile; 2327
2328#if 0
2329 QString fn = KOPrefs::instance()->mLastLoadFile;
2332 fn = KFileDialog::getOpenFileName( fn, i18n("Load backup filename"), this ); 2330 fn = KFileDialog::getOpenFileName( fn, i18n("Load backup filename"), this );
2333 2331
2334 if ( fn == "" ) 2332 if ( fn == "" )
2335 return; 2333 return;
2336 QFileInfo info; 2334 QFileInfo info;
2337 info.setFile( fn ); 2335 info.setFile( fn );
@@ -2356,12 +2354,13 @@ void MainWindow::loadCalendar()
2356 if ( loadbup ) { 2354 if ( loadbup ) {
2357 mView->openCalendar( fn ); 2355 mView->openCalendar( fn );
2358 KOPrefs::instance()->mLastLoadFile = fn; 2356 KOPrefs::instance()->mLastLoadFile = fn;
2359 mess = i18n("KO/Pi:Loaded %1").arg(fn) ; 2357 mess = i18n("KO/Pi:Loaded %1").arg(fn) ;
2360 setCaption(mess); 2358 setCaption(mess);
2361 } 2359 }
2360#endif
2362 2361
2363} 2362}
2364void MainWindow::quickImportIcal() 2363void MainWindow::quickImportIcal()
2365{ 2364{
2366 importFile( KOPrefs::instance()->mLastImportFile, false ); 2365 importFile( KOPrefs::instance()->mLastImportFile, false );
2367} 2366}