-rw-r--r-- | bin/kdepim/korganizer/germantranslation.txt | 8 | ||||
-rw-r--r-- | korganizer/mainwindow.cpp | 113 | ||||
-rw-r--r-- | korganizer/mainwindow.h | 1 |
3 files changed, 64 insertions, 58 deletions
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt index 90521ec..2ade5bd 100644 --- a/bin/kdepim/korganizer/germantranslation.txt +++ b/bin/kdepim/korganizer/germantranslation.txt | |||
@@ -1359,3 +1359,3 @@ | |||
1359 | { " days"," Tage" }, | 1359 | { " days"," Tage" }, |
1360 | { "Creating backup ... please wait ...","Erzeuge Backup ... bitte warten ..." }, | 1360 | { "Creating backup ... please wait ...","Erstelle Backup ... bitte warten ..." }, |
1361 | { "Backup Failed!","Backup Problem!" }, | 1361 | { "Backup Failed!","Backup Problem!" }, |
@@ -1452,2 +1452,8 @@ | |||
1452 | { "Department","Abteilung" }, | 1452 | { "Department","Abteilung" }, |
1453 | { "Backup cancelled","Backup abgebrochen" }, | ||
1454 | { "Backup globally disabled","Backup global abgeschaltet" }, | ||
1455 | { "Backup succesfully finished","Backup erfolgreich beendet" }, | ||
1456 | { "(Hint: You can enable automatic backup in the global settings!)","(Hinweis: Sie können ein automatisches Backup in den globalen Einstellungen konfigurieren!)" }, | ||
1457 | { "This will <b>backup all calendar files</b> to the directory %1 %2","Das schreibt ein <b>Backup aller Kalenderdateien</b> in das Verzeichnis %1 %2" }, | ||
1458 | { "","" }, | ||
1453 | { "","" }, | 1459 | { "","" }, |
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp index 48320a5..b9d8742 100644 --- a/korganizer/mainwindow.cpp +++ b/korganizer/mainwindow.cpp | |||
@@ -1035,2 +1035,3 @@ void MainWindow::initActions() | |||
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, |
@@ -1039,3 +1040,3 @@ void MainWindow::initActions() | |||
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, |
@@ -1847,2 +1848,40 @@ void MainWindow::saveStopTimer() | |||
1847 | } | 1848 | } |
1849 | void 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 | } | ||
1848 | void MainWindow::save() | 1887 | void MainWindow::save() |
@@ -1861,34 +1900,5 @@ void MainWindow::save() | |||
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 | } |
@@ -2302,26 +2312,12 @@ void 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 | } |
@@ -2330,3 +2326,5 @@ void MainWindow::loadCalendar() | |||
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 ); |
@@ -2361,2 +2359,3 @@ void MainWindow::loadCalendar() | |||
2361 | } | 2359 | } |
2360 | #endif | ||
2362 | 2361 | ||
diff --git a/korganizer/mainwindow.h b/korganizer/mainwindow.h index 9a8bc7f..c9817c3 100644 --- a/korganizer/mainwindow.h +++ b/korganizer/mainwindow.h | |||
@@ -83,2 +83,3 @@ class MainWindow : public QMainWindow | |||
83 | void save(); | 83 | void save(); |
84 | void backupAllFiles(); | ||
84 | void saveStopTimer(); | 85 | void saveStopTimer(); |