summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/kaddressbook/germantranslation.txt11
-rw-r--r--bin/kdepim/korganizer/germantranslation.txt18
-rw-r--r--bin/kdepim/korganizer/journal.pngbin631 -> 607 bytes
-rw-r--r--bin/kdepim/pwmanager/germantranslation.txt9
-rw-r--r--desktop/rpm/kdepim_rpm2
-rw-r--r--korganizer/mainwindow.cpp2
-rw-r--r--microkde/kapplication.cpp5
-rw-r--r--version2
8 files changed, 35 insertions, 14 deletions
diff --git a/bin/kdepim/kaddressbook/germantranslation.txt b/bin/kdepim/kaddressbook/germantranslation.txt
index 50056c4..ef4ab3f 100644
--- a/bin/kdepim/kaddressbook/germantranslation.txt
+++ b/bin/kdepim/kaddressbook/germantranslation.txt
@@ -733,37 +733,46 @@
733{ "Pi-Sync succesful!","Pi-Sync erfolgreich!" }, 733{ "Pi-Sync succesful!","Pi-Sync erfolgreich!" },
734{ "Received sync request","Sync Anfrage erhalten" }, 734{ "Received sync request","Sync Anfrage erhalten" },
735{ "Synchronizing from remote ...\n\nDo not use this application!\n\nIf syncing fails\nyou can close this dialog.","Ferne Synchronisation ...\n\nBenutze diese Anwendung nicht!\n\nWenn das Syncen fehlschlägt kann\ndieser Dialog geschlossen werden." }, 735{ "Synchronizing from remote ...\n\nDo not use this application!\n\nIf syncing fails\nyou can close this dialog.","Ferne Synchronisation ...\n\nBenutze diese Anwendung nicht!\n\nWenn das Syncen fehlschlägt kann\ndieser Dialog geschlossen werden." },
736{ "Saving Data to temp file ...","Speichere Daten in temp Datei..." }, 736{ "Saving Data to temp file ...","Speichere Daten in temp Datei..." },
737{ "Data saved to temp file!","Daten in temp Datei gespeichert!" }, 737{ "Data saved to temp file!","Daten in temp Datei gespeichert!" },
738{ "Sending file...","Sende Datei..." }, 738{ "Sending file...","Sende Datei..." },
739{ "Waiting for synced file...","Warte auf gesyncte Daten..." }, 739{ "Waiting for synced file...","Warte auf gesyncte Daten..." },
740{ "Receiving synced file...","Gesyncte Daten erhalten..." }, 740{ "Receiving synced file...","Gesyncte Daten erhalten..." },
741{ "Received %1 bytes","%1 Bytes erhalten" }, 741{ "Received %1 bytes","%1 Bytes erhalten" },
742{ "Writing file to disk...","Speichere Datei..." }, 742{ "Writing file to disk...","Speichere Datei..." },
743{ "Pi-Sync successful!","Pi-Sync erfolgreich!" }, 743{ "Pi-Sync successful!","Pi-Sync erfolgreich!" },
744{ "Clock skew of\nsyncing devices\nis %1 seconds!","Uhrzeitunterschied der\nsyncenden Geräte\nist %1 Sekunden!" }, 744{ "Clock skew of\nsyncing devices\nis %1 seconds!","Uhrzeitunterschied der\nsyncenden Geräte\nist %1 Sekunden!" },
745{ "Synchronize!","Synchronisiere!" }, 745{ "Synchronize!","Synchronisiere!" },
746{ "High clock skew!","Großer Uhrzeitunterschied!" }, 746{ "High clock skew!","Großer Uhrzeitunterschied!" },
747{ "ADJUST\nYOUR\nCLOCKS!","JUSTIERE\nDIE\nUHREN!" }, 747{ "ADJUST\nYOUR\nCLOCKS!","JUSTIERE\nDIE\nUHREN!" },
748{ "The clocks of the syncing\ndevices have a difference\nof more than 5 minutes.\nPlease adjust your clocks.\nYou may get wrong syncing results!\nPlease confirm synchronization!","Die Uhren der syncenden Geräte\nhaben einen Unterschied von\nmehr als 5 Minuten. Bitte die\nUhrzeiten anpassen. Sie können\nfalsche Sync-Resultate erhalten!\nBitte das Syncen bestätigen!" }, 748{ "The clocks of the syncing\ndevices have a difference\nof more than 5 minutes.\nPlease adjust your clocks.\nYou may get wrong syncing results!\nPlease confirm synchronization!","Die Uhren der syncenden Geräte\nhaben einen Unterschied von\nmehr als 5 Minuten. Bitte die\nUhrzeiten anpassen. Sie können\nfalsche Sync-Resultate erhalten!\nBitte das Syncen bestätigen!" },
749{ "Change search field enable jump bar","Ändere Suchfeld um Jumpbar anzuzeigen" }, 749{ "Change search field enable jump bar","Ändere Suchfeld um Jumpbar anzuzeigen" },
750{ "Search with '*' prefix (wildcard)","Suche mit '*' Prefix (Wildcard)" }, 750{ "Search with '*' prefix (wildcard)","Suche mit '*' Prefix (Wildcard)" },
751{ "Shrink searchfield in portrait view","Verkleinere Suchfeld im Portraitmodus" }, 751{ "Shrink searchfield in portrait view","Verkleinere Suchfeld im Portraitmodus" },
752{ "Edit new contact","Bearbeite neuen Kontakt" }, 752{ "Edit new contact","Bearbeite neuen Kontakt" },
753{ "Edit ","Bearbeite " }, 753{ "Edit ","Bearbeite " },
754{ "No contact changed!","Kein Kontakt verändert" }, 754{ "No contact changed!","Kein Kontakt verändert" },
755{ "%1 contacts changed!","%1 Kontakte geändert!" }, 755{ "%1 contacts changed!","%1 Kontakte geändert!" },
756{ "Mobile (home)","Handy (Arbeit)" }, 756{ "Mobile (home)","Handy (Arbeit)" },
757{ "Mobile (work)","Handy (Privat)" }, 757{ "Mobile (work)","Handy (Privat)" },
758{ "Def.Formatted Name","Def. Format. Name" }, 758{ "Def.Formatted Name","Def. Format. Name" },
759{ "Colors","Farben" }, 759{ "Colors","Farben" },
760{ "Alternating background of list views","Abwechselnder Hintergrund für Listen" }, 760{ "Alternating background of list views","Abwechselnder Hintergrund für Listen" },
761{ "Backup enabled","Backup angeschaltet" }, 761{ "Backup enabled","Backup angeschaltet" },
762{ "Use standard backup dir","Standard Backupverzeichnis" }, 762{ "Use standard backup dir","Standard Backupverzeichnis" },
763{ "Number of Backups:","Anzahl der Backups" }, 763{ "Number of Backups:","Anzahl der Backups" },
764{ "Make backup every ","Mache ein Backup alle " }, 764{ "Make backup every ","Mache ein Backup alle " },
765{ " days"," Tage" }, 765{ " days"," Tage" },
766{ "Creating backup ... please wait ...","Erzeuge Backup ... bitte warten ..." },
767{ "Backup Failed!","Backup Problem!" },
768{ "Try again now","Versuche jetzt nochmal" },
769{ "Try again later","Versuche später nochmal" },
770{ "Try again tomorrow","Versuche morgen nochmal" },
771{ "Disable backup","Schalte Backup ab" },
772{ "<b>Backup directory does not exist: </b>","<b>Backup Verzeichnis existiert nicht: </b>" },
773{ "<b>The backup copy command failed!</b>","<b>Das Backup Kopierkommando is fehlgeschlagen!</b>" },
774{ "Choose action","Wähle Aktion" },
766{ "","" }, 775{ "","" },
767{ "","" }, 776{ "","" },
768{ "","" }, 777{ "","" },
769{ "","" }, \ No newline at end of file 778{ "","" }, \ No newline at end of file
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt
index 9e9a1a1..bba9f87 100644
--- a/bin/kdepim/korganizer/germantranslation.txt
+++ b/bin/kdepim/korganizer/germantranslation.txt
@@ -1329,45 +1329,45 @@
1329{ "Enable it in the settings menu, TAB alarm.","Schalten Sie sie an im Menu Einstellungen, TAB Alarm." }, 1329{ "Enable it in the settings menu, TAB alarm.","Schalten Sie sie an im Menu Einstellungen, TAB Alarm." },
1330{ "Show Sync Events","Zeige Sync-Ereignisse" }, 1330{ "Show Sync Events","Zeige Sync-Ereignisse" },
1331{ "Use short date in WN+Event view","Zeige Kurzdatum in WN+Terminanzeige" }, 1331{ "Use short date in WN+Event view","Zeige Kurzdatum in WN+Terminanzeige" },
1332{ "Number of max.displayed todo prios:","Anzahl max.angezeigter Todo-Prios:" }, 1332{ "Number of max.displayed todo prios:","Anzahl max.angezeigter Todo-Prios:" },
1333{ " on "," am " }, 1333{ " on "," am " },
1334{ "On: ","Am: " }, 1334{ "On: ","Am: " },
1335{ "<i>The recurrence is computed from the start datetime!</i>","<i>Die Wiederholung wird vom Startwert aus berechnet!</i>" }, 1335{ "<i>The recurrence is computed from the start datetime!</i>","<i>Die Wiederholung wird vom Startwert aus berechnet!</i>" },
1336{ "Start/Stop todo...","Starte/Stoppe Todo..." }, 1336{ "Start/Stop todo...","Starte/Stoppe Todo..." },
1337{ "Color for running todos:","Farbe für laufende Todos:" }, 1337{ "Color for running todos:","Farbe für laufende Todos:" },
1338{ "The todo\n%1\nis started.\nDo you want to set\nthe state to stopped?","Das Todo\n%1\nist gestartet.\nWollen Sie es\nauf gestoppt setzen?" }, 1338{ "The todo\n%1\nis started.\nDo you want to set\nthe state to stopped?","Das Todo\n%1\nist gestartet.\nWollen Sie es\nauf gestoppt setzen?" },
1339{ "Todo is started","Todo is gestarted" }, 1339{ "Todo is started","Todo is gestarted" },
1340{ "Stop todo","Stoppe Todo" }, 1340{ "Stop todo","Stoppe Todo" },
1341{ "Todo is stopped","Todo ist gestoppt" }, 1341{ "Todo is stopped","Todo ist gestoppt" },
1342{ "Start todo","Starte Todo" }, 1342{ "Start todo","Starte Todo" },
1343{ "The todo\n%1\nis stopped.\nDo you want to set\nthe state to started?","Das Todo\n%1\nist gestoppt.\nWollen Sie es auf\ngestartet setzen?" }, 1343{ "The todo\n%1\nis stopped.\nDo you want to set\nthe state to started?","Das Todo\n%1\nist gestoppt.\nWollen Sie es auf\ngestartet setzen?" },
1344{ "The todo\n%1\nwill be cloned!\nIt has subtodos!\nDo you want to clone\nall subtodos as well?","Das Todo\n%1\nwird geklont!\nEs hat Untertodos!\nMöchten Sie alle\nUntertodos auch klonen?" }, 1344{ "The todo\n%1\nwill be cloned!\nIt has subtodos!\nDo you want to clone\nall subtodos as well?","Das Todo\n%1\nwird geklont!\nEs hat Untertodos!\nMöchten Sie alle\nUntertodos auch klonen?" },
1345{ "Todo has subtodos","Todo hat Untertodos" }, 1345{ "Todo has subtodos","Todo hat Untertodos" },
1346{ "Block popup until mouse button release","Sperre Popup bis Mausknopf losgelassen" }, 1346{ "Block popup until mouse button release","Sperre Popup bis Mausknopf losgelassen" },
1347{ "Colors","Farben" }, 1347{ "Colors","Farben" },
1348{ "Click on new parent item","Klicke auf neues Übertodo" }, 1348{ "Click on new parent item","Klicke auf neues Übertodo" },
1349{ "Reparenting aborted!","Übertodo setzen abgebrochen" }, 1349{ "Reparenting aborted!","Übertodo setzen abgebrochen" },
1350{ "Cannot move Todo to itself\nor a child of itself","Kann nicht Todo auf\nsich selbst oder\nein Untertodo verschieben" }, 1350{ "Cannot move Todo to itself\nor a child of itself","Kann nicht Todo auf\nsich selbst oder\nein Untertodo verschieben" },
1351{ "Recursive reparenting not possible!","Rekursives Verschieben nicht möglich" }, 1351{ "Recursive reparenting not possible!","Rekursives Verschieben nicht möglich" },
1352{ "Delete all completed todos?\n(Completed recurring todos\nwill not be deleted!)","Entferne alle erledigten Todos?\n(Erledigte wiederholende Todos\nwerden nicht gelöscht!)" }, 1352{ "Delete all completed todos?\n(Completed recurring todos\nwill not be deleted!)","Entferne alle erledigten Todos?\n(Erledigte wiederholende Todos\nwerden nicht gelöscht!)" },
1353{ "Alternating background of list views","Abwechselnder Hintergrund für Listen" }, 1353{ "Alternating background of list views","Abwechselnder Hintergrund für Listen" },
1354{ "times","Zeiten" }, 1354{ "times","Zeiten" },
1355{ "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?" }, 1355{ "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?" },
1356{ "Backup enabled","Backup angeschaltet" }, 1356{ "Backup enabled","Backup angeschaltet" },
1357{ "Use standard backup dir","Standard Backupverzeichnis" }, 1357{ "Use standard backup dir","Standard Backupverzeichnis" },
1358{ "Number of Backups:","Anzahl der Backups" }, 1358{ "Number of Backups:","Anzahl der Backups" },
1359{ "Make backup every ","Mache ein Backup alle " }, 1359{ "Make backup every ","Mache ein Backup alle " },
1360{ " days"," Tage" }, 1360{ " days"," Tage" },
1361{ "","" }, 1361{ "Creating backup ... please wait ...","Erzeuge Backup ... bitte warten ..." },
1362{ "","" }, 1362{ "Backup Failed!","Backup Problem!" },
1363{ "","" }, 1363{ "Try again now","Versuche jetzt nochmal" },
1364{ "","" }, 1364{ "Try again later","Versuche später nochmal" },
1365{ "","" }, 1365{ "Try again tomorrow","Versuche morgen nochmal" },
1366{ "","" }, 1366{ "Disable backup","Schalte Backup ab" },
1367{ "","" }, 1367{ "<b>Backup directory does not exist: </b>","<b>Backup Verzeichnis existiert nicht: </b>" },
1368{ "","" }, 1368{ "<b>The backup copy command failed!</b>","<b>Das Backup Kopierkommando is fehlgeschlagen!</b>" },
1369{ "","" }, 1369{ "Choose action","Wähle Aktion" },
1370{ "","" }, 1370{ "","" },
1371{ "","" }, 1371{ "","" },
1372{ "","" }, 1372{ "","" },
1373{ "","" }, 1373{ "","" },
diff --git a/bin/kdepim/korganizer/journal.png b/bin/kdepim/korganizer/journal.png
index 875b8ba..ed0a9bc 100644
--- a/bin/kdepim/korganizer/journal.png
+++ b/bin/kdepim/korganizer/journal.png
Binary files differ
diff --git a/bin/kdepim/pwmanager/germantranslation.txt b/bin/kdepim/pwmanager/germantranslation.txt
index 38896fb..06fa727 100644
--- a/bin/kdepim/pwmanager/germantranslation.txt
+++ b/bin/kdepim/pwmanager/germantranslation.txt
@@ -329,39 +329,48 @@
329{ "Password Length:","Passwort Länge:" }, 329{ "Password Length:","Passwort Länge:" },
330{ "Enable Filtering to get better passwords","Enable Filtering to get better passwords" }, 330{ "Enable Filtering to get better passwords","Enable Filtering to get better passwords" },
331{ "no password","Kein Passwort" }, 331{ "no password","Kein Passwort" },
332{ "Sorry, you haven't set a password.","Sorry, Sie haben kein Passwort angegeben." }, 332{ "Sorry, you haven't set a password.","Sorry, Sie haben kein Passwort angegeben." },
333{ "not saved, yet","not saved, yet" }, 333{ "not saved, yet","not saved, yet" },
334{ "Can't deep-lock, because the document\nhasn't been saved, yet. Please save\nto a file and try again.","Kann nicht tiefsperren, weil das\nDokument noch nicht gespeichert wurde.\nBitte speichern und noch einmal versuchen." }, 334{ "Can't deep-lock, because the document\nhasn't been saved, yet. Please save\nto a file and try again.","Kann nicht tiefsperren, weil das\nDokument noch nicht gespeichert wurde.\nBitte speichern und noch einmal versuchen." },
335{ "Find","Finde" }, 335{ "Find","Finde" },
336{ "&Exact match","Genaue Übereinstimmung" }, 336{ "&Exact match","Genaue Übereinstimmung" },
337{ "&Case sensitive","Großschrift abhängig" }, 337{ "&Case sensitive","Großschrift abhängig" },
338{ "Search in Column","Suche in Spalten" }, 338{ "Search in Column","Suche in Spalten" },
339{ "&Description","Beschreibung" }, 339{ "&Description","Beschreibung" },
340{ "C&omment","Kommentar" }, 340{ "C&omment","Kommentar" },
341{ "&Username","Benutzername" }, 341{ "&Username","Benutzername" },
342{ "U&RL","URL" }, 342{ "U&RL","URL" },
343{ "delete?","Löschen?" }, 343{ "delete?","Löschen?" },
344{ "Do you really want to delete\nthe selected entry","Wollen Sie wirklich\nden Eintrag löschen:" }, 344{ "Do you really want to delete\nthe selected entry","Wollen Sie wirklich\nden Eintrag löschen:" },
345{ "Save?","Speichern?" }, 345{ "Save?","Speichern?" },
346{ ""\nhas been modified.\nDo you want to save it?",""\nwurde geändert.\nMöchten Sie speichern?" }, 346{ ""\nhas been modified.\nDo you want to save it?",""\nwurde geändert.\nMöchten Sie speichern?" },
347{ "The list\n "","Die Liste\n "" }, 347{ "The list\n "","Die Liste\n "" },
348{ "nothing to do","Nichts zu tun" }, 348{ "nothing to do","Nichts zu tun" },
349{ "Sorry, there's nothing to save.\nPlease first add some passwords.","Sorry, es gibt nichts zu speichern.\nBitte erst Passwörter hinzufügen." }, 349{ "Sorry, there's nothing to save.\nPlease first add some passwords.","Sorry, es gibt nichts zu speichern.\nBitte erst Passwörter hinzufügen." },
350{ "Add new password","Passwort hinzufügen" }, 350{ "Add new password","Passwort hinzufügen" },
351{ "Successfully saved data.","Datei gespeichert." }, 351{ "Successfully saved data.","Datei gespeichert." },
352{ "Category:","Kategorie:" }, 352{ "Category:","Kategorie:" },
353{ "LOCKED","GESPERRT" }, 353{ "LOCKED","GESPERRT" },
354{ "Colors","Farben" }, 354{ "Colors","Farben" },
355{ "Alternating background of list views","Abwechselnder Hintergrund für Listen" }, 355{ "Alternating background of list views","Abwechselnder Hintergrund für Listen" },
356{ "Backup enabled","Backup angeschaltet" }, 356{ "Backup enabled","Backup angeschaltet" },
357{ "Use standard backup dir","Standard Backupverzeichnis" }, 357{ "Use standard backup dir","Standard Backupverzeichnis" },
358{ "Number of Backups:","Anzahl der Backups" }, 358{ "Number of Backups:","Anzahl der Backups" },
359{ "Make backup every ","Mache ein Backup alle " }, 359{ "Make backup every ","Mache ein Backup alle " },
360{ " days"," Tage" }, 360{ " days"," Tage" },
361{ "Creating backup ... please wait ...","Erzeuge Backup ... bitte warten ..." },
362{ "Backup Failed!","Backup Problem!" },
363{ "Try again now","Versuche jetzt nochmal" },
364{ "Try again later","Versuche später nochmal" },
365{ "Try again tomorrow","Versuche morgen nochmal" },
366{ "Disable backup","Schalte Backup ab" },
367{ "<b>Backup directory does not exist: </b>","<b>Backup Verzeichnis existiert nicht: </b>" },
368{ "<b>The backup copy command failed!</b>","<b>Das Backup Kopierkommando is fehlgeschlagen!</b>" },
369{ "Choose action","Wähle Aktion" },
361{ "","" }, 370{ "","" },
362{ "","" }, 371{ "","" },
363{ "","" }, 372{ "","" },
364{ "","" }, 373{ "","" },
365{ "","" }, 374{ "","" },
366{ "","" }, 375{ "","" },
367 376
diff --git a/desktop/rpm/kdepim_rpm b/desktop/rpm/kdepim_rpm
index 464c9d0..8b8504d 100644
--- a/desktop/rpm/kdepim_rpm
+++ b/desktop/rpm/kdepim_rpm
@@ -1,35 +1,35 @@
1Summary: A collection of PIM programs 1Summary: A collection of PIM programs
2Name: KDE-Pim-Pi 2Name: KDE-Pim-Pi
3Version: 2.1.2 3Version: 2.1.3
4Release: SuSE_9.2 4Release: SuSE_9.2
5Copyright:GPL 5Copyright:GPL
6Group: Productivity/Pim 6Group: Productivity/Pim
7Source:http://sourceforge.net/projects/kdepimpi/ 7Source:http://sourceforge.net/projects/kdepimpi/
8URL:http://sourceforge.net/projects/kdepimpi/ 8URL:http://sourceforge.net/projects/kdepimpi/
9Packager: zautrix 9Packager: zautrix
10 10
11%description 11%description
12This package contains the platform-independent PIM programs from 12This package contains the platform-independent PIM programs from
13www.pi-sync.info, compiled for SuSE 9.2: 13www.pi-sync.info, compiled for SuSE 9.2:
14KTimeTacker/Pi 14KTimeTacker/Pi
15KPhone/Pi 15KPhone/Pi
16KAddressbook/Pi 16KAddressbook/Pi
17KOrganizer/Pi 17KOrganizer/Pi
18PasswordManager/Pi 18PasswordManager/Pi
19KOPieMail/Pi 19KOPieMail/Pi
20 20
21These applications do not need anything from the KDE-desktop 21These applications do not need anything from the KDE-desktop
22at all to run on Linux. However, there is a dependency from 22at all to run on Linux. However, there is a dependency from
23two KDE libs, because a small command line program is included 23two KDE libs, because a small command line program is included
24to make it possible to sync with the KDE-desktop applications. 24to make it possible to sync with the KDE-desktop applications.
25 25
26These applications are independent from the KDE-desktop 26These applications are independent from the KDE-desktop
27environment. That means, nothing of your existing 27environment. That means, nothing of your existing
28KDE-desktop setup will be changed, or any data 28KDE-desktop setup will be changed, or any data
29(calendar-addressbook) used by the KDE-desktop 29(calendar-addressbook) used by the KDE-desktop
30applications will be changed or accessed. 30applications will be changed or accessed.
31These applications stores their data and config in 31These applications stores their data and config in
32$HOME/kdepim/ 32$HOME/kdepim/
33However, because the same file format is used, 33However, because the same file format is used,
34an easy exchange of data with the KDE-desktop 34an easy exchange of data with the KDE-desktop
35is possible. 35is possible.
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index 3c0259f..94d7293 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -1778,65 +1778,65 @@ void MainWindow::slotModifiedChanged( bool changed )
1778 if ( mBlockAtStartup ) 1778 if ( mBlockAtStartup )
1779 return; 1779 return;
1780 1780
1781 int msec; 1781 int msec;
1782 // we store the changes after 1 minute, 1782 // we store the changes after 1 minute,
1783 // and for safety reasons after 10 minutes again 1783 // and for safety reasons after 10 minutes again
1784 if ( !mSyncManager->blockSave() ) 1784 if ( !mSyncManager->blockSave() )
1785 msec = (1000 * 60*KOPrefs::instance()->mAutoSaveInterval) +1000; 1785 msec = (1000 * 60*KOPrefs::instance()->mAutoSaveInterval) +1000;
1786 else 1786 else
1787 msec = 1000 * 600; 1787 msec = 1000 * 600;
1788 mSaveTimer.start( msec, true ); // 1 minute 1788 mSaveTimer.start( msec, true ); // 1 minute
1789 qDebug("KO: Saving File in %d secs!", msec/1000); 1789 qDebug("KO: Saving File in %d secs!", msec/1000);
1790 mCalendarModifiedFlag = true; 1790 mCalendarModifiedFlag = true;
1791} 1791}
1792void MainWindow::saveStopTimer() 1792void MainWindow::saveStopTimer()
1793{ 1793{
1794 mSaveTimer.stop(); 1794 mSaveTimer.stop();
1795} 1795}
1796void MainWindow::save() 1796void MainWindow::save()
1797{ 1797{
1798 if ( !mCalendarModifiedFlag ) { 1798 if ( !mCalendarModifiedFlag ) {
1799 qDebug("KO: Calendar not modified. Nothing saved."); 1799 qDebug("KO: Calendar not modified. Nothing saved.");
1800 return; 1800 return;
1801 } 1801 }
1802 if ( mSyncManager->blockSave() ) 1802 if ( mSyncManager->blockSave() )
1803 return; 1803 return;
1804 mSyncManager->setBlockSave(true); 1804 mSyncManager->setBlockSave(true);
1805 if ( mView->checkFileVersion( defaultFileName()) ) { 1805 if ( mView->checkFileVersion( defaultFileName()) ) {
1806 if ( KPimGlobalPrefs::instance()->mBackupEnabled ){ 1806 if ( KPimGlobalPrefs::instance()->mBackupEnabled ){
1807 QDate reference ( 2000,1,1); 1807 QDate reference ( 2000,1,1);
1808 int daysTo = reference.daysTo ( QDate::currentDate() ); 1808 int daysTo = reference.daysTo ( QDate::currentDate() );
1809 if ( daysTo - KPimGlobalPrefs::instance()->mBackupDayCount >= KOPrefs::instance()->mLastBackupDate ) { 1809 if ( daysTo - KPimGlobalPrefs::instance()->mBackupDayCount >= KOPrefs::instance()->mLastBackupDate ) {
1810 setCaption(i18n("KO/Pi:Creating backup ... please wait ..." )); 1810 setCaption(i18n("Creating backup ... please wait ..." ));
1811 qDebug("KO: Last backup was %d days ago ", daysTo - KOPrefs::instance()->mLastBackupDate); 1811 qDebug("KO: Last backup was %d days ago ", daysTo - KOPrefs::instance()->mLastBackupDate);
1812 // we need the file path, the backup dir and the number of bups as param 1812 // we need the file path, the backup dir and the number of bups as param
1813 QString bupDir = KPimGlobalPrefs::instance()->mBackupDatadir; 1813 QString bupDir = KPimGlobalPrefs::instance()->mBackupDatadir;
1814 if ( KPimGlobalPrefs::instance()->mBackupUseDefaultDir) 1814 if ( KPimGlobalPrefs::instance()->mBackupUseDefaultDir)
1815 bupDir = KGlobalSettings::backupDataDir(); 1815 bupDir = KGlobalSettings::backupDataDir();
1816 int retval = KApplication::createBackup( defaultFileName(), bupDir, KPimGlobalPrefs::instance()->mBackupNumbers ); 1816 int retval = KApplication::createBackup( defaultFileName(), bupDir, KPimGlobalPrefs::instance()->mBackupNumbers );
1817 if ( retval == 0 ) { 1817 if ( retval == 0 ) {
1818 qDebug("KO: Backup cancelled. Will try again tomorrow "); 1818 qDebug("KO: Backup cancelled. Will try again tomorrow ");
1819 // retval == 0 : backup skipped for today, try again tomorrow 1819 // retval == 0 : backup skipped for today, try again tomorrow
1820 KOPrefs::instance()->mLastBackupDate = daysTo- KPimGlobalPrefs::instance()->mBackupDayCount+1; 1820 KOPrefs::instance()->mLastBackupDate = daysTo- KPimGlobalPrefs::instance()->mBackupDayCount+1;
1821 } else if ( retval == 1 ){ 1821 } else if ( retval == 1 ){
1822 qDebug("KO: Backup created."); 1822 qDebug("KO: Backup created.");
1823 // backup ok 1823 // backup ok
1824 KOPrefs::instance()->mLastBackupDate = daysTo; 1824 KOPrefs::instance()->mLastBackupDate = daysTo;
1825 1825
1826 } else if ( retval == 2 ){ 1826 } else if ( retval == 2 ){
1827 qDebug("KO: Backup globally cancelled."); 1827 qDebug("KO: Backup globally cancelled.");
1828 // backup globally cancelled 1828 // backup globally cancelled
1829 KPimGlobalPrefs::instance()->mBackupEnabled = false; 1829 KPimGlobalPrefs::instance()->mBackupEnabled = false;
1830 } 1830 }
1831 // retval == 3: do nothing, try again later 1831 // retval == 3: do nothing, try again later
1832 } 1832 }
1833 ; // KPimGlobalPrefs::instance()->mLastBackupDate 1833 ; // KPimGlobalPrefs::instance()->mLastBackupDate
1834 } 1834 }
1835 QTime neededSaveTime = QDateTime::currentDateTime().time(); 1835 QTime neededSaveTime = QDateTime::currentDateTime().time();
1836 setCaption(i18n("KO/Pi:Saving Data to File ..." )); 1836 setCaption(i18n("KO/Pi:Saving Data to File ..." ));
1837 qDebug("KO: Start saving data to file!"); 1837 qDebug("KO: Start saving data to file!");
1838 mView->saveCalendar( defaultFileName() ); 1838 mView->saveCalendar( defaultFileName() );
1839 mCalendarModifiedFlag = false; 1839 mCalendarModifiedFlag = false;
1840 int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() ); 1840 int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() );
1841 qDebug("KO: Needed %d ms for saving.",msNeeded ); 1841 qDebug("KO: Needed %d ms for saving.",msNeeded );
1842 QString savemes; 1842 QString savemes;
diff --git a/microkde/kapplication.cpp b/microkde/kapplication.cpp
index 2c9e3b6..f36c5ae 100644
--- a/microkde/kapplication.cpp
+++ b/microkde/kapplication.cpp
@@ -146,65 +146,68 @@ class KBackupPrefs : public QDialog
146 lay->setSpacing( 3 ); 146 lay->setSpacing( 3 );
147 lay->setMargin( 3 ); 147 lay->setMargin( 3 );
148 QLabel * lab = new QLabel( message, this ); 148 QLabel * lab = new QLabel( message, this );
149 lay->addWidget( lab ); 149 lay->addWidget( lab );
150 QButtonGroup* format = new QButtonGroup( 1, Horizontal, i18n("Choose action"), this ); 150 QButtonGroup* format = new QButtonGroup( 1, Horizontal, i18n("Choose action"), this );
151 lay->addWidget( format ); 151 lay->addWidget( format );
152 format->setExclusive ( true ) ; 152 format->setExclusive ( true ) ;
153 vcal = new QRadioButton(i18n("Try again now"), format ); 153 vcal = new QRadioButton(i18n("Try again now"), format );
154 tcal = new QRadioButton(i18n("Try again later"), format ); 154 tcal = new QRadioButton(i18n("Try again later"), format );
155 ical = new QRadioButton(i18n("Try again tomorrow"), format ); 155 ical = new QRadioButton(i18n("Try again tomorrow"), format );
156 ocal = new QRadioButton(i18n("Disable backup"), format ); 156 ocal = new QRadioButton(i18n("Disable backup"), format );
157 vcal->setChecked( true ); 157 vcal->setChecked( true );
158 QPushButton * ok = new QPushButton( i18n("OK"), this ); 158 QPushButton * ok = new QPushButton( i18n("OK"), this );
159 lay->addWidget(ok ); 159 lay->addWidget(ok );
160 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); 160 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) );
161 } 161 }
162 162
163 bool again() { return vcal->isChecked(); } 163 bool again() { return vcal->isChecked(); }
164 bool later() { return tcal->isChecked(); } 164 bool later() { return tcal->isChecked(); }
165 bool againTomorrow() { return ical->isChecked(); } 165 bool againTomorrow() { return ical->isChecked(); }
166private: 166private:
167 QRadioButton* vcal, *ical, *ocal, *tcal; 167 QRadioButton* vcal, *ical, *ocal, *tcal;
168}; 168};
169int KApplication::createBackup( QString fn, QString dp, int numBup ) 169int KApplication::createBackup( QString fn, QString dp, int numBup )
170{ 170{
171 if ( numBup < 1) return 3; 171 if ( numBup < 1) return 3;
172 int ret = 3; 172 int ret = 3;
173 //qDebug("KApplication::createBackup %s --- %s --- %d", fn.latin1(), dp.latin1(), numBup); 173 //qDebug("KApplication::createBackup %s --- %s --- %d", fn.latin1(), dp.latin1(), numBup);
174 QDir bupDir ( dp ); 174 QDir bupDir ( dp );
175 bool tryAgain = true; 175 bool tryAgain = true;
176 while ( tryAgain ) { 176 while ( tryAgain ) {
177 if ( !bupDir.exists() ) { 177 if ( !bupDir.exists() ) {
178 KBackupPrefs noDir( i18n("<b>Backup directory does not exist: </b>") + dp.right(30)); 178 QString bd = dp.right(25);
179 if ( dp.length() > 25 )
180 bd = "..." + bd;
181 KBackupPrefs noDir( i18n("<b>Backup directory does not exist: </b>") + bd);
179 if ( !noDir.exec() ) return 3; 182 if ( !noDir.exec() ) return 3;
180 if ( noDir.againTomorrow() ) { 183 if ( noDir.againTomorrow() ) {
181 return 0; 184 return 0;
182 } else if ( noDir.later() ) { 185 } else if ( noDir.later() ) {
183 return 3; 186 return 3;
184 } else if ( !noDir.again() ) { 187 } else if ( !noDir.again() ) {
185 return 2; 188 return 2;
186 } 189 }
187 } else { 190 } else {
188 tryAgain = false; 191 tryAgain = false;
189 } 192 }
190 } 193 }
191 // we have a valid dir! 194 // we have a valid dir!
192 QStringList allFileList = bupDir.entryList(QDir::Files); 195 QStringList allFileList = bupDir.entryList(QDir::Files);
193 QFileInfo fileInfo ( fn ); 196 QFileInfo fileInfo ( fn );
194 QString fName = fileInfo.fileName (); 197 QString fName = fileInfo.fileName ();
195 QStringList fileList; 198 QStringList fileList;
196 199
197 int i; 200 int i;
198 for ( i = 0; i < allFileList.count(); ++i ) { 201 for ( i = 0; i < allFileList.count(); ++i ) {
199 QString fi = allFileList[i]; 202 QString fi = allFileList[i];
200 if ( fi. find( fName ) > -1 ) 203 if ( fi. find( fName ) > -1 )
201 fileList.append( fi ); 204 fileList.append( fi );
202 } 205 }
203 qDebug("KApp: %d backup files exist ", fileList.count()); 206 qDebug("KApp: %d backup files exist ", fileList.count());
204 int count = fileList.count(); 207 int count = fileList.count();
205 fileList.sort(); 208 fileList.sort();
206 int remCount = 0; 209 int remCount = 0;
207 while ( count >= numBup ) { 210 while ( count >= numBup ) {
208 QString fnr = dp + "/"+fileList[remCount]; 211 QString fnr = dp + "/"+fileList[remCount];
209 QFile::remove( fnr ); 212 QFile::remove( fnr );
210 --count; 213 --count;
diff --git a/version b/version
index 0e45ddc..c0ee423 100644
--- a/version
+++ b/version
@@ -1 +1 @@
version = "2.1.2"; version = "2.1.3";