summaryrefslogtreecommitdiffabout
path: root/korganizer
Unidiff
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/mainwindow.cpp113
-rw-r--r--korganizer/mainwindow.h1
2 files changed, 57 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
@@ -1033,11 +1033,12 @@ void MainWindow::initActions()
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 );
@@ -1845,6 +1846,44 @@ void 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 ) {
@@ -1859,38 +1898,9 @@ void MainWindow::save()
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 ..." ));
@@ -2300,35 +2310,23 @@ void MainWindow::configureAgenda( int item )
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 == "" )
@@ -2359,6 +2357,7 @@ void MainWindow::loadCalendar()
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()
diff --git a/korganizer/mainwindow.h b/korganizer/mainwindow.h
index 9a8bc7f..c9817c3 100644
--- a/korganizer/mainwindow.h
+++ b/korganizer/mainwindow.h
@@ -81,6 +81,7 @@ class MainWindow : public QMainWindow
81 void slotModifiedChanged( bool ); 81 void slotModifiedChanged( bool );
82 82
83 void save(); 83 void save();
84 void backupAllFiles();
84 void saveStopTimer(); 85 void saveStopTimer();
85 void configureToolBar( int ); 86 void configureToolBar( int );
86 void printSel(); 87 void printSel();