summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/korganizer/germantranslation.txt8
-rw-r--r--korganizer/mainwindow.cpp113
-rw-r--r--korganizer/mainwindow.h1
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
@@ -1344,33 +1344,33 @@
{ "Todo has subtodos","Todo hat Untertodos" },
{ "Block popup until mouse button release","Sperre Popup bis Mausknopf losgelassen" },
{ "Colors","Farben" },
{ "Click on new parent item","Klicke auf neues Übertodo" },
{ "Reparenting aborted!","Übertodo setzen abgebrochen" },
{ "Cannot move Todo to itself\nor a child of itself","Kann nicht Todo auf\nsich selbst oder\nein Untertodo verschieben" },
{ "Recursive reparenting not possible!","Rekursives Verschieben nicht möglich" },
{ "Delete all completed todos?\n(Completed recurring todos\nwill not be deleted!)","Entferne alle erledigten Todos?\n(Erledigte wiederholende Todos\nwerden nicht gelöscht!)" },
{ "Alternating background of list views","Abwechselnder Hintergrund für Listen" },
{ "times","Zeiten" },
{ "The todo\n%1\nhas subtodos!\nDo you want to set\nthe categories for\nall subtodos as well?","Das Todo\n%1\nhat Untertodos!\nMöchten Sie die Kategorien\nauch für alle Untertodos setzen?" },
{ "Backup enabled","Backup angeschaltet" },
{ "Use standard backup dir","Standard Backupverzeichnis" },
{ "Number of Backups:","Anzahl der Backups" },
{ "Make backup every ","Mache ein Backup alle " },
{ " days"," Tage" },
-{ "Creating backup ... please wait ...","Erzeuge Backup ... bitte warten ..." },
+{ "Creating backup ... please wait ...","Erstelle Backup ... bitte warten ..." },
{ "Backup Failed!","Backup Problem!" },
{ "Try again now","Versuche jetzt nochmal" },
{ "Try again later","Versuche später nochmal" },
{ "Try again tomorrow","Versuche morgen nochmal" },
{ "Disable backup","Schalte Backup ab" },
{ "<b>Backup directory does not exist: </b>","<b>Backup Verzeichnis existiert nicht: </b>" },
{ "<b>The backup copy command failed!</b>","<b>Das Backup Kopierkommando is fehlgeschlagen!</b>" },
{ "Choose action","Wähle Aktion" },
{ "Comment for todo:","Kommentar zum Todo:" },
{ "Stop+note","Stop+Notiz" },
{ "Agenda view shows completed todos","Agenda Ansicht zeigt erledigte Todos" },
{ "KO/Pi: Missing alarms!","KO/Pi: Verpasste Alarme!" },
{ "You missed the alarms for the following events or todos:","Sie verpassten die Alarme für folgende Termine oder Todos:" },
{ "Print complete list","Drucke komplette Liste" },
{ "Hide all selected","Verstecke Selektierte" },
{ "Add items","hinzufügen" },
@@ -1437,22 +1437,28 @@
{ "Todo started! Double click again to stop!","Todo gestartet! Doppelklicke um es zu stoppen!" },
{ "Please choose the <b>default calendar</b> in this column. Newly created or imported items are added to the default calendar.","Bitte wählen Sie den <b>Default-Kalender</b> in dieser Spalte. Neu angelegte oder importierte Einträge werden dem Default-Kalender hinzugefügt." },
{ "Spouse","Ehegatte" },
{ "Notes","Notizen" },
{ "Messanger","Messanger" },
{ "Assistant","Assistent" },
{ "Manager","Manager" },
{ "Secrecy","Sichtbar" },
{ "male","männlich" },
{ "female","weiblich" },
{ "Hide!","Verbergen!" },
{ "Show!","Anzeigen!" },
{ "Details","Details" },
{ "Profession","Beruf" },
{ "Children","Kinder" },
{ "Department","Abteilung" },
+{ "Backup cancelled","Backup abgebrochen" },
+{ "Backup globally disabled","Backup global abgeschaltet" },
+{ "Backup succesfully finished","Backup erfolgreich beendet" },
+{ "(Hint: You can enable automatic backup in the global settings!)","(Hinweis: Sie können ein automatisches Backup in den globalen Einstellungen konfigurieren!)" },
+{ "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" },
+{ "","" },
{ "","" },
{ "","" },
{ "","" },
{ "","" },
{ "","" },
{ "","" }, \ No newline at end of file
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index 48320a5..b9d8742 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -1020,37 +1020,38 @@ void MainWindow::initActions()
importMenu_X->insertSeparator();
action = new QAction( "import_qtopia", i18n("Import Opie/Qtopia Cal."), 0,
this );
action->addTo( importMenu_X );
connect( action, SIGNAL( activated() ), SLOT( importQtopia() ) );
//#else
#ifdef _OL_IMPORT_
importMenu_X->insertSeparator();
action = new QAction( "import_ol", i18n("Import from OL"), 0,
this );
action->addTo( importMenu_X );
connect( action, SIGNAL( activated() ), SLOT( importOL() ) );
#endif
//#endif
//importMenu->insertSeparator();
+#if 0
action = new QAction( "load_cal", i18n("Load Calendar Backup"), 0,
this );
action->addTo( importMenu );
connect( action, SIGNAL( activated() ), SLOT( loadCalendar() ) );
-
+#endif
action = new QAction( "save_cal", i18n("Save Calendar Backup"), 0,
this );
action->addTo( importMenu );
connect( action, SIGNAL( activated() ), SLOT( saveCalendar() ) );
importMenu->insertSeparator();
importMenu->insertItem( i18n("Import"), importMenu_X );
//importMenu->insertSeparator();
action = new QAction( "import_qtopia", i18n("Export VCalendar"), 0,
this );
action->addTo( exportMenu_X );
connect( action, SIGNAL( activated() ), SLOT( exportVCalendar() ) );
//LR
QPopupMenu *ex2phone = new QPopupMenu( this );
ex2phone->insertItem(i18n("Complete calendar..."), 1 );
@@ -1832,78 +1833,87 @@ void MainWindow::slotModifiedChanged( bool changed )
int msec;
// we store the changes after 1 minute,
// and for safety reasons after 10 minutes again
if ( !mSyncManager->blockSave() )
msec = (1000 * 60*KOPrefs::instance()->mAutoSaveInterval) +1000;
else
msec = 1000 * 600;
mSaveTimer.start( msec, true ); // 1 minute
qDebug("KO: Saving File in %d secs!", msec/1000);
mCalendarModifiedFlag = true;
}
void MainWindow::saveStopTimer()
{
mSaveTimer.stop();
}
+void MainWindow::backupAllFiles()
+{
+ QDate reference ( 2000,1,1);
+ int daysTo = reference.daysTo ( QDate::currentDate() );
+ setCaption(i18n("Creating backup ... please wait ..." ));
+ qDebug("KO: Last backup was %d days ago ", daysTo - KOPrefs::instance()->mLastBackupDate);
+ // we need the file path, the backup dir and the number of bups as param
+ QString bupDir = KPimGlobalPrefs::instance()->mBackupDatadir;
+ if ( KPimGlobalPrefs::instance()->mBackupUseDefaultDir)
+ bupDir = KGlobalSettings::backupDataDir();
+ int retval = KApplication::createBackup( defaultFileName(), bupDir, KPimGlobalPrefs::instance()->mBackupNumbers );
+ if ( retval == 0 ) {
+ setCaption(i18n("Backup cancelled" ));
+ qDebug("KO: Backup cancelled. Will try again tomorrow ");
+ // retval == 0 : backup skipped for today, try again tomorrow
+ KOPrefs::instance()->mLastBackupDate = daysTo- KPimGlobalPrefs::instance()->mBackupDayCount+1;
+ } else if ( retval == 1 ){
+ qDebug("KO: Backup created.");
+ // backup ok
+ QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars;
+ KopiCalendarFile * cal = calendars.first();
+ cal = calendars.next();
+ while ( cal ) {
+ if ( !cal->mErrorOnLoad ) {
+ int retval = KApplication::createBackup( cal->mFileName, bupDir, KPimGlobalPrefs::instance()->mBackupNumbers );
+ }
+ cal = calendars.next();
+ }
+ KOPrefs::instance()->mLastBackupDate = daysTo;
+ setCaption(i18n("Backup succesfully finished" ));
+ } else if ( retval == 2 ){
+ setCaption(i18n("Backup globally disabled" ));
+ qDebug("KO: Backup globally cancelled.");
+ // backup globally cancelled
+ KPimGlobalPrefs::instance()->mBackupEnabled = false;
+ }
+ // retval == 3: do nothing, try again later
+}
void MainWindow::save()
{
if ( !mCalendarModifiedFlag ) {
qDebug("KO: Calendar not modified. Nothing saved.");
return;
}
if ( mSyncManager->blockSave() )
return;
mSyncManager->setBlockSave(true);
if ( mView->checkAllFileVersions() ) {
if ( KPimGlobalPrefs::instance()->mBackupEnabled ){
QDate reference ( 2000,1,1);
int daysTo = reference.daysTo ( QDate::currentDate() );
if ( daysTo - KPimGlobalPrefs::instance()->mBackupDayCount >= KOPrefs::instance()->mLastBackupDate ) {
- setCaption(i18n("Creating backup ... please wait ..." ));
- qDebug("KO: Last backup was %d days ago ", daysTo - KOPrefs::instance()->mLastBackupDate);
- // we need the file path, the backup dir and the number of bups as param
- QString bupDir = KPimGlobalPrefs::instance()->mBackupDatadir;
- if ( KPimGlobalPrefs::instance()->mBackupUseDefaultDir)
- bupDir = KGlobalSettings::backupDataDir();
- int retval = KApplication::createBackup( defaultFileName(), bupDir, KPimGlobalPrefs::instance()->mBackupNumbers );
- if ( retval == 0 ) {
- qDebug("KO: Backup cancelled. Will try again tomorrow ");
- // retval == 0 : backup skipped for today, try again tomorrow
- KOPrefs::instance()->mLastBackupDate = daysTo- KPimGlobalPrefs::instance()->mBackupDayCount+1;
- } else if ( retval == 1 ){
- qDebug("KO: Backup created.");
- // backup ok
- QPtrList<KopiCalendarFile> calendars = KOPrefs::instance()->mCalendars;
- KopiCalendarFile * cal = calendars.first();
- cal = calendars.next();
- while ( cal ) {
- if ( !cal->mErrorOnLoad ) {
- int retval = KApplication::createBackup( cal->mFileName, bupDir, KPimGlobalPrefs::instance()->mBackupNumbers );
- }
- cal = calendars.next();
- }
- KOPrefs::instance()->mLastBackupDate = daysTo;
- } else if ( retval == 2 ){
- qDebug("KO: Backup globally cancelled.");
- // backup globally cancelled
- KPimGlobalPrefs::instance()->mBackupEnabled = false;
- }
- // retval == 3: do nothing, try again later
+ backupAllFiles();
}
- ; // KPimGlobalPrefs::instance()->mLastBackupDate
+ ; // KPimGlobalPrefs::instance()->mLastBackupDate
}
QTime neededSaveTime = QDateTime::currentDateTime().time();
setCaption(i18n("KO/Pi:Saving Data to File ..." ));
qDebug("KO: Start saving data to file!");
mView->saveCalendars();
mCalendarModifiedFlag = false;
int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() );
qDebug("KO: Needed %d ms for saving.",msNeeded );
QString savemes;
savemes.sprintf(i18n("KO/Pi:File Saved. Needed %d sec, %d ms"),(msNeeded/1000)%100,msNeeded%1000 );
setCaption(savemes);
} else
setCaption(i18n("Saving cancelled!"));
mSyncManager->setBlockSave( false );
}
@@ -2287,91 +2297,80 @@ void MainWindow::showConfigureAgenda( )
int iii;
for ( iii = 1;iii<= 10 ;++iii ){
configureAgendaMenu->setItemChecked( (iii+1)*2, false );
}
configureAgendaMenu->setItemChecked( (KOPrefs::instance()->mHourSize/2)*2, true );
}
void MainWindow::configureAgenda( int item )
{
if ( KOPrefs::instance()->mHourSize == item )
return;
KOPrefs::instance()->mHourSize=item;
mView->viewManager()->agendaView()->updateConfig();
}
void MainWindow::saveCalendar()
{
- QString fn = KOPrefs::instance()->mLastSaveFile;
- fn = KFileDialog::getSaveFileName( fn, i18n("Save backup filename"), this );
-
- if ( fn == "" )
- return;
- QFileInfo info;
- info.setFile( fn );
- QString mes;
- bool createbup = true;
- if ( info. exists() ) {
- mes = i18n("Backup file\nalready exists!\nOld backup file from:\n%1\nOverwrite?\n").arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false )) ;
- int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mes,
- i18n("Overwrite!"), i18n("Cancel"), 0,
- 0, 1 );
- if ( result != 0 ) {
- createbup = false;
- }
- }
- if ( createbup ) {
- mView->saveCalendar( fn );
- mes = i18n("KO/Pi:Saved %1").arg(fn);
- KOPrefs::instance()->mLastSaveFile = fn;
- setCaption(mes);
- }
+
+ QString bupDir = KPimGlobalPrefs::instance()->mBackupDatadir;
+ if ( KPimGlobalPrefs::instance()->mBackupUseDefaultDir)
+ bupDir = KGlobalSettings::backupDataDir();
+ bupDir = KGlobal::formatMessage ( bupDir, 0 );
+ QString bupHint;
+ if ( !KPimGlobalPrefs::instance()->mBackupEnabled )
+ bupHint = i18n("(Hint: You can enable automatic backup in the global settings!)");
+ 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;
+ backupAllFiles();
}
void MainWindow::loadCalendar()
{
- QString fn = KOPrefs::instance()->mLastLoadFile;
+
+#if 0
+ QString fn = KOPrefs::instance()->mLastLoadFile;
fn = KFileDialog::getOpenFileName( fn, i18n("Load backup filename"), this );
if ( fn == "" )
return;
QFileInfo info;
info.setFile( fn );
QString mess;
bool loadbup = true;
if ( info. exists() ) {
mess = i18n("Backup file from:\n%1\nLoading backup\nfile will delete\nyour current Data!\n").arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false ));
int result = QMessageBox::warning( this, "KO/Pi: Warning!",
mess,
i18n("Load!"), i18n("Cancel"), 0,
0, 1 );
if ( result != 0 ) {
loadbup = false;
}
} else {
QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
i18n("Backup file\ndoes not exist!\nNothing loaded!"), 0, 0,
0, 1 );
return;
}
if ( loadbup ) {
mView->openCalendar( fn );
KOPrefs::instance()->mLastLoadFile = fn;
mess = i18n("KO/Pi:Loaded %1").arg(fn) ;
setCaption(mess);
}
+#endif
}
void MainWindow::quickImportIcal()
{
importFile( KOPrefs::instance()->mLastImportFile, false );
}
void MainWindow::importFile( QString fn, bool quick )
{
QFileInfo info;
info.setFile( fn );
QString mess;
bool loadbup = true;
if ( !info. exists() ) {
mess = i18n("Import file \n...%1\ndoes not exist!\nNothing imported!\n").arg(fn.right( 30));
int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
mess );
diff --git a/korganizer/mainwindow.h b/korganizer/mainwindow.h
index 9a8bc7f..c9817c3 100644
--- a/korganizer/mainwindow.h
+++ b/korganizer/mainwindow.h
@@ -68,32 +68,33 @@ class MainWindow : public QMainWindow
void keyBindings();
void aboutAutoSaving();;
void aboutKnownBugs();
void processIncidenceSelection( Incidence * );
void importQtopia();
void importBday();
void importOL();
void importIcal();
void importFile( QString, bool );
void quickImportIcal();
void slotModifiedChanged( bool );
void save();
+ void backupAllFiles();
void saveStopTimer();
void configureToolBar( int );
void printSel();
void printCal();
void printListView();
void saveCalendar();
void loadCalendar();
void exportVCalendar();
void fillFilterMenu();
void fillFilterMenuTB();
void selectFilter( int );
void fillFilterMenuPopup();
void selectFilterPopup( int );
void exportToPhone( int );
void toggleBeamReceive();
void disableBR(bool);