summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/kaddressbook/germantranslation.txt5
-rw-r--r--bin/kdepim/pwmanager/germantranslation.txt5
-rw-r--r--korganizer/mainwindow.cpp5
-rw-r--r--microkde/kapplication.cpp13
4 files changed, 18 insertions, 10 deletions
diff --git a/bin/kdepim/kaddressbook/germantranslation.txt b/bin/kdepim/kaddressbook/germantranslation.txt
index 85aed43..50056c4 100644
--- a/bin/kdepim/kaddressbook/germantranslation.txt
+++ b/bin/kdepim/kaddressbook/germantranslation.txt
@@ -713,52 +713,57 @@
713{ "Connected! Sending request for remote file ...","Verbunden! Sende Daten Anfrage..." }, 713{ "Connected! Sending request for remote file ...","Verbunden! Sende Daten Anfrage..." },
714{ "Trying to connect to remote...","Versuche mit Gegenstelle zu verbinden..." }, 714{ "Trying to connect to remote...","Versuche mit Gegenstelle zu verbinden..." },
715{ "Connection to remote\nhost timed out!\nDid you forgot to enable\nsyncing on remote host?","Verbindungsversuch wegen\nZeitüberschreitung gescheitert!\nWurde vergessen Pi-Sync auf\nder Gegenstelle anzuschalten?" }, 715{ "Connection to remote\nhost timed out!\nDid you forgot to enable\nsyncing on remote host?","Verbindungsversuch wegen\nZeitüberschreitung gescheitert!\nWurde vergessen Pi-Sync auf\nder Gegenstelle anzuschalten?" },
716{ "ERROR: Receiving remote file failed.","FEHLER: Empfang der entfernten Daten fehlgeschlagen." }, 716{ "ERROR: Receiving remote file failed.","FEHLER: Empfang der entfernten Daten fehlgeschlagen." },
717{ "Error","Fehler" }, 717{ "Error","Fehler" },
718{ ""You entered an invalid date!\n Date changed to current date.","Ungültiges Datum eingegeben.\nSetze heutiges Datum." }, 718{ ""You entered an invalid date!\n Date changed to current date.","Ungültiges Datum eingegeben.\nSetze heutiges Datum." },
719{ "You entered an invalid date!\n Will use current date instead.","Ungültiges Datum eingegeben.\nSetze stattdessen heutiges Datum." }, 719{ "You entered an invalid date!\n Will use current date instead.","Ungültiges Datum eingegeben.\nSetze stattdessen heutiges Datum." },
720{ "Warning","Warnung" }, 720{ "Warning","Warnung" },
721{ "Select week number","Wähle Wochen Nummer" }, 721{ "Select week number","Wähle Wochen Nummer" },
722{ "Februar","Februar" }, 722{ "Februar","Februar" },
723{ "Pi-Sync options for device: ","Pi-Sync Einstellungen für Gerät: " }, 723{ "Pi-Sync options for device: ","Pi-Sync Einstellungen für Gerät: " },
724{ "Password for remote access:","Passwort für fernen Zugriff:" }, 724{ "Password for remote access:","Passwort für fernen Zugriff:" },
725{ "Remote IP address:","Ferne IP Adresse:" }, 725{ "Remote IP address:","Ferne IP Adresse:" },
726{ "Remote port number:","Ferne Port Nummer:" }, 726{ "Remote port number:","Ferne Port Nummer:" },
727{ "Remote file saved to temp file.","Ferne Daten in temp Datei gespeichert." }, 727{ "Remote file saved to temp file.","Ferne Daten in temp Datei gespeichert." },
728{ "Remote from: ","Fern von: " }, 728{ "Remote from: ","Fern von: " },
729{ "Local from: ","Lokal von: " }, 729{ "Local from: ","Lokal von: " },
730{ "Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n %d incoming filtered out\n %d outgoing filtered out\n","Synchronisationsübersicht:\n\n %d lokal hinzugefügt\n %d fern hinzugefügt\n %d lokal geändert\n %d fern geändert\n %d lokal gelöscht\n %d fern gelöscht\n %d eingehende ausgefiltert\n %d ausgehende ausgefiltert\n" }, 730{ "Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n %d incoming filtered out\n %d outgoing filtered out\n","Synchronisationsübersicht:\n\n %d lokal hinzugefügt\n %d fern hinzugefügt\n %d lokal geändert\n %d fern geändert\n %d lokal gelöscht\n %d fern gelöscht\n %d eingehende ausgefiltert\n %d ausgehende ausgefiltert\n" },
731{ "Local calendar changed!\n","Lokaler Kalender geändert!\n" }, 731{ "Local calendar changed!\n","Lokaler Kalender geändert!\n" },
732{ "Write back","Schreibe zurück" }, 732{ "Write back","Schreibe zurück" },
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" },
762{ "Use standard backup dir","Standard Backupverzeichnis" },
763{ "Number of Backups:","Anzahl der Backups" },
764{ "Make backup every ","Mache ein Backup alle " },
765{ " days"," Tage" },
761{ "","" }, 766{ "","" },
762{ "","" }, 767{ "","" },
763{ "","" }, 768{ "","" },
764{ "","" }, \ No newline at end of file 769{ "","" }, \ No newline at end of file
diff --git a/bin/kdepim/pwmanager/germantranslation.txt b/bin/kdepim/pwmanager/germantranslation.txt
index a50dd04..38896fb 100644
--- a/bin/kdepim/pwmanager/germantranslation.txt
+++ b/bin/kdepim/pwmanager/germantranslation.txt
@@ -308,55 +308,60 @@
308{ "Username:","Benutzername:" }, 308{ "Username:","Benutzername:" },
309{ "Password:","Passwort:" }, 309{ "Password:","Passwort:" },
310{ "&Reveal","&Offen zeigen" }, 310{ "&Reveal","&Offen zeigen" },
311{ "&Generate","&Generiere" }, 311{ "&Generate","&Generiere" },
312{ "&Password","&Passwort" }, 312{ "&Password","&Passwort" },
313{ "&Comments","Kommentar" }, 313{ "&Comments","Kommentar" },
314{ "Launcher:","Launcher:" }, 314{ "Launcher:","Launcher:" },
315{ "$d = Description","$d = Beschreibung" }, 315{ "$d = Description","$d = Beschreibung" },
316{ "$n = Username","$n = Benutzername" }, 316{ "$n = Username","$n = Benutzername" },
317{ "$c = Comment","$c = Kommentar" }, 317{ "$c = Comment","$c = Kommentar" },
318{ "$u = URL","$u = URL" }, 318{ "$u = URL","$u = URL" },
319{ "$p = Password","$p = Passwort" }, 319{ "$p = Password","$p = Passwort" },
320{ "&Launcher","&Launcher" }, 320{ "&Launcher","&Launcher" },
321{ "Password generator","Passwort Generator" }, 321{ "Password generator","Passwort Generator" },
322{ "Character set:","Buchstaben Set:" }, 322{ "Character set:","Buchstaben Set:" },
323{ "Lowercase (abc)","Klein (abc)" }, 323{ "Lowercase (abc)","Klein (abc)" },
324{ "Uppercase (ABC)","Groß (ABC)" }, 324{ "Uppercase (ABC)","Groß (ABC)" },
325{ "Numbers (123)","Nummmern (123)" }, 325{ "Numbers (123)","Nummmern (123)" },
326{ "Special characters:","Spezielle Buchstaben:" }, 326{ "Special characters:","Spezielle Buchstaben:" },
327{ "Spaces (blank characters)","Leerzeichen" }, 327{ "Spaces (blank characters)","Leerzeichen" },
328{ "User defined:","Benutzer definiert:" }, 328{ "User defined:","Benutzer definiert:" },
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" },
357{ "Use standard backup dir","Standard Backupverzeichnis" },
358{ "Number of Backups:","Anzahl der Backups" },
359{ "Make backup every ","Mache ein Backup alle " },
360{ " days"," Tage" },
356{ "","" }, 361{ "","" },
357{ "","" }, 362{ "","" },
358{ "","" }, 363{ "","" },
359{ "","" }, 364{ "","" },
360{ "","" }, 365{ "","" },
361{ "","" }, 366{ "","" },
362 367
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index 9ad0694..eed023c 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -1722,142 +1722,141 @@ void MainWindow::saveOnClose()
1722 } 1722 }
1723#ifdef DESKTOP_VERSION 1723#ifdef DESKTOP_VERSION
1724 1724
1725 QPoint myP; 1725 QPoint myP;
1726 myP = mapFromGlobal( iconToolBar->mapToGlobal( QPoint( 0,0) ) ); 1726 myP = mapFromGlobal( iconToolBar->mapToGlobal( QPoint( 0,0) ) );
1727 if ( p->mToolBarHor ) 1727 if ( p->mToolBarHor )
1728 p->mToolBarUp = myP.y() > height()/2; 1728 p->mToolBarUp = myP.y() > height()/2;
1729 else 1729 else
1730 p->mToolBarUp = myP.x() > width()/2; 1730 p->mToolBarUp = myP.x() > width()/2;
1731 myP = mapFromGlobal( viewToolBar->mapToGlobal( QPoint( 0,0) ) ); 1731 myP = mapFromGlobal( viewToolBar->mapToGlobal( QPoint( 0,0) ) );
1732 if ( p->mToolBarHorV ) 1732 if ( p->mToolBarHorV )
1733 p->mToolBarUpV = myP.y() > height()/2; 1733 p->mToolBarUpV = myP.y() > height()/2;
1734 else 1734 else
1735 p->mToolBarUpV = myP.x() > width()/2 ; 1735 p->mToolBarUpV = myP.x() > width()/2 ;
1736 myP = mapFromGlobal( navigatorToolBar->mapToGlobal( QPoint( 0,0) ) ); 1736 myP = mapFromGlobal( navigatorToolBar->mapToGlobal( QPoint( 0,0) ) );
1737 if ( p->mToolBarHorN ) 1737 if ( p->mToolBarHorN )
1738 p->mToolBarUpN = myP.y() > height()/2; 1738 p->mToolBarUpN = myP.y() > height()/2;
1739 else 1739 else
1740 p->mToolBarUpN = myP.x() > width()/2 ; 1740 p->mToolBarUpN = myP.x() > width()/2 ;
1741 if ( filterToolBar ) { 1741 if ( filterToolBar ) {
1742 myP = mapFromGlobal( filterToolBar->mapToGlobal( QPoint( 0,0) ) ); 1742 myP = mapFromGlobal( filterToolBar->mapToGlobal( QPoint( 0,0) ) );
1743 if ( p->mToolBarHorF ) 1743 if ( p->mToolBarHorF )
1744 p->mToolBarUpF = myP.y() > height()/2; 1744 p->mToolBarUpF = myP.y() > height()/2;
1745 else 1745 else
1746 p->mToolBarUpF = myP.x() > width()/2 ; 1746 p->mToolBarUpF = myP.x() > width()/2 ;
1747 } 1747 }
1748#else 1748#else
1749 if ( p->mToolBarHor ) 1749 if ( p->mToolBarHor )
1750 p->mToolBarUp = iconToolBar->y() > height()/2; 1750 p->mToolBarUp = iconToolBar->y() > height()/2;
1751 else 1751 else
1752 p->mToolBarUp = iconToolBar->x() > width()/2; 1752 p->mToolBarUp = iconToolBar->x() > width()/2;
1753 if ( p->mToolBarHorV ) 1753 if ( p->mToolBarHorV )
1754 p->mToolBarUpV = viewToolBar->y() > height()/2; 1754 p->mToolBarUpV = viewToolBar->y() > height()/2;
1755 else 1755 else
1756 p->mToolBarUpV = viewToolBar->x() > width()/2 ; 1756 p->mToolBarUpV = viewToolBar->x() > width()/2 ;
1757 1757
1758 if ( p->mToolBarHorN ) 1758 if ( p->mToolBarHorN )
1759 p->mToolBarUpN = navigatorToolBar->y() > height()/2; 1759 p->mToolBarUpN = navigatorToolBar->y() > height()/2;
1760 else 1760 else
1761 p->mToolBarUpN = navigatorToolBar->x() > width()/2 ; 1761 p->mToolBarUpN = navigatorToolBar->x() > width()/2 ;
1762 if ( filterToolBar ) { 1762 if ( filterToolBar ) {
1763 if ( p->mToolBarHorF ) 1763 if ( p->mToolBarHorF )
1764 p->mToolBarUpF = filterToolBar->y() > height()/2; 1764 p->mToolBarUpF = filterToolBar->y() > height()/2;
1765 else 1765 else
1766 p->mToolBarUpF = filterToolBar->x() > width()/2 ; 1766 p->mToolBarUpF = filterToolBar->x() > width()/2 ;
1767 } 1767 }
1768#endif 1768#endif
1769 1769
1770
1771 mView->writeSettings();
1772 if ( mCalendarModifiedFlag || mView->checkFileChanged( defaultFileName())) 1770 if ( mCalendarModifiedFlag || mView->checkFileChanged( defaultFileName()))
1773 save(); 1771 save();
1772 mView->writeSettings();
1774} 1773}
1775void MainWindow::slotModifiedChanged( bool changed ) 1774void MainWindow::slotModifiedChanged( bool changed )
1776{ 1775{
1777 if ( mBlockAtStartup ) 1776 if ( mBlockAtStartup )
1778 return; 1777 return;
1779 1778
1780 int msec; 1779 int msec;
1781 // we store the changes after 1 minute, 1780 // we store the changes after 1 minute,
1782 // and for safety reasons after 10 minutes again 1781 // and for safety reasons after 10 minutes again
1783 if ( !mSyncManager->blockSave() ) 1782 if ( !mSyncManager->blockSave() )
1784 msec = (1000 * 60*KOPrefs::instance()->mAutoSaveInterval) +1000; 1783 msec = (1000 * 60*KOPrefs::instance()->mAutoSaveInterval) +1000;
1785 else 1784 else
1786 msec = 1000 * 600; 1785 msec = 1000 * 600;
1787 mSaveTimer.start( msec, true ); // 1 minute 1786 mSaveTimer.start( msec, true ); // 1 minute
1788 qDebug("KO: Saving File in %d secs!", msec/1000); 1787 qDebug("KO: Saving File in %d secs!", msec/1000);
1789 mCalendarModifiedFlag = true; 1788 mCalendarModifiedFlag = true;
1790} 1789}
1791void MainWindow::saveStopTimer() 1790void MainWindow::saveStopTimer()
1792{ 1791{
1793 mSaveTimer.stop(); 1792 mSaveTimer.stop();
1794} 1793}
1795void MainWindow::save() 1794void MainWindow::save()
1796{ 1795{
1797 if ( !mCalendarModifiedFlag ) { 1796 if ( !mCalendarModifiedFlag ) {
1798 qDebug("KO: Calendar not modified. Nothing saved."); 1797 qDebug("KO: Calendar not modified. Nothing saved.");
1799 return; 1798 return;
1800 } 1799 }
1801 if ( mSyncManager->blockSave() ) 1800 if ( mSyncManager->blockSave() )
1802 return; 1801 return;
1803 mSyncManager->setBlockSave(true); 1802 mSyncManager->setBlockSave(true);
1804 if ( mView->checkFileVersion( defaultFileName()) ) { 1803 if ( mView->checkFileVersion( defaultFileName()) ) {
1805 if ( KPimGlobalPrefs::instance()->mBackupEnabled ){ 1804 if ( KPimGlobalPrefs::instance()->mBackupEnabled ){
1806 QDate reference ( 2000,1,1); 1805 QDate reference ( 2000,1,1);
1807 int daysTo = reference.daysTo ( QDate::currentDate() ); 1806 int daysTo = reference.daysTo ( QDate::currentDate() );
1808 if ( daysTo - KPimGlobalPrefs::instance()->mBackupDayCount >= KOPrefs::instance()->mLastBackupDate ) { 1807 if ( daysTo - KPimGlobalPrefs::instance()->mBackupDayCount >= KOPrefs::instance()->mLastBackupDate ) {
1809 setCaption(i18n("KO/Pi:Creating backup ... please wait ..." )); 1808 setCaption(i18n("KO/Pi:Creating backup ... please wait ..." ));
1810 qDebug("KO: Last backup was %d days ago ", daysTo - KOPrefs::instance()->mLastBackupDate); 1809 qDebug("KO: Last backup was %d days ago ", daysTo - KOPrefs::instance()->mLastBackupDate);
1811 // we need the file path, the backup dir and the number of bups as param 1810 // we need the file path, the backup dir and the number of bups as param
1812 QString bupDir = KPimGlobalPrefs::instance()->mBackupDatadir; 1811 QString bupDir = KPimGlobalPrefs::instance()->mBackupDatadir;
1813 if ( KPimGlobalPrefs::instance()->mBackupUseDefaultDir) 1812 if ( KPimGlobalPrefs::instance()->mBackupUseDefaultDir)
1814 bupDir = KGlobalSettings::backupDataDir(); 1813 bupDir = KGlobalSettings::backupDataDir();
1815 int retval = KApplication::createBackup( defaultFileName(), bupDir, KPimGlobalPrefs::instance()->mBackupNumbers );//55;//call backup 1814 int retval = KApplication::createBackup( defaultFileName(), bupDir, KPimGlobalPrefs::instance()->mBackupNumbers );
1816 if ( retval == 0 ) { 1815 if ( retval == 0 ) {
1817 qDebug("KO: Backup cancelled. Will try again tomorrow "); 1816 qDebug("KO: Backup cancelled. Will try again tomorrow ");
1818 // retval == 0 : backup skipped for today, try again tomorrow 1817 // retval == 0 : backup skipped for today, try again tomorrow
1819 KOPrefs::instance()->mLastBackupDate = daysTo- KPimGlobalPrefs::instance()->mBackupDayCount+1; 1818 KOPrefs::instance()->mLastBackupDate = daysTo- KPimGlobalPrefs::instance()->mBackupDayCount+1;
1820 } else if ( retval == 1 ){ 1819 } else if ( retval == 1 ){
1821 qDebug("KO: Backup created."); 1820 qDebug("KO: Backup created.");
1822 // backup ok 1821 // backup ok
1823 KOPrefs::instance()->mLastBackupDate = daysTo; 1822 KOPrefs::instance()->mLastBackupDate = daysTo;
1824 1823
1825 } else if ( retval == 2 ){ 1824 } else if ( retval == 2 ){
1826 qDebug("KO: Backup globally cancelled."); 1825 qDebug("KO: Backup globally cancelled.");
1827 // backup globally cancelled 1826 // backup globally cancelled
1828 KPimGlobalPrefs::instance()->mBackupEnabled = false; 1827 KPimGlobalPrefs::instance()->mBackupEnabled = false;
1829 } 1828 }
1830 // retval == 3: do nothing, try again later 1829 // retval == 3: do nothing, try again later
1831 } 1830 }
1832 ; // KPimGlobalPrefs::instance()->mLastBackupDate 1831 ; // KPimGlobalPrefs::instance()->mLastBackupDate
1833 } 1832 }
1834 QTime neededSaveTime = QDateTime::currentDateTime().time(); 1833 QTime neededSaveTime = QDateTime::currentDateTime().time();
1835 setCaption(i18n("KO/Pi:Saving Data to File ..." )); 1834 setCaption(i18n("KO/Pi:Saving Data to File ..." ));
1836 qDebug("KO: Start saving data to file!"); 1835 qDebug("KO: Start saving data to file!");
1837 mView->saveCalendar( defaultFileName() ); 1836 mView->saveCalendar( defaultFileName() );
1838 mCalendarModifiedFlag = false; 1837 mCalendarModifiedFlag = false;
1839 int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() ); 1838 int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() );
1840 qDebug("KO: Needed %d ms for saving.",msNeeded ); 1839 qDebug("KO: Needed %d ms for saving.",msNeeded );
1841 QString savemes; 1840 QString savemes;
1842 savemes.sprintf(i18n("KO/Pi:File Saved. Needed %d sec, %d ms"),(msNeeded/1000)%100,msNeeded%1000 ); 1841 savemes.sprintf(i18n("KO/Pi:File Saved. Needed %d sec, %d ms"),(msNeeded/1000)%100,msNeeded%1000 );
1843 setCaption(savemes); 1842 setCaption(savemes);
1844 } else 1843 } else
1845 setCaption(i18n("Saving cancelled!")); 1844 setCaption(i18n("Saving cancelled!"));
1846 mSyncManager->setBlockSave( false ); 1845 mSyncManager->setBlockSave( false );
1847} 1846}
1848 1847
1849void MainWindow::keyReleaseEvent ( QKeyEvent * e) 1848void MainWindow::keyReleaseEvent ( QKeyEvent * e)
1850{ 1849{
1851 if ( !e->isAutoRepeat() ) { 1850 if ( !e->isAutoRepeat() ) {
1852 mFlagKeyPressed = false; 1851 mFlagKeyPressed = false;
1853 } 1852 }
1854} 1853}
1855void MainWindow::keyPressEvent ( QKeyEvent * e ) 1854void MainWindow::keyPressEvent ( QKeyEvent * e )
1856{ 1855{
1857 qApp->processEvents(); 1856 qApp->processEvents();
1858 if ( e->isAutoRepeat() && !mFlagKeyPressed ) { 1857 if ( e->isAutoRepeat() && !mFlagKeyPressed ) {
1859 e->ignore(); 1858 e->ignore();
1860 // qDebug(" ignore %d",e->isAutoRepeat() ); 1859 // qDebug(" ignore %d",e->isAutoRepeat() );
1861 return; 1860 return;
1862 } 1861 }
1863 if (! e->isAutoRepeat() ) 1862 if (! e->isAutoRepeat() )
diff --git a/microkde/kapplication.cpp b/microkde/kapplication.cpp
index 566bb41..2c9e3b6 100644
--- a/microkde/kapplication.cpp
+++ b/microkde/kapplication.cpp
@@ -125,123 +125,122 @@ void KApplication::showText(QString caption, QString text)
125 dia.exec(); 125 dia.exec();
126 126
127} 127}
128 128
129#include <qlabel.h> 129#include <qlabel.h>
130#include <qpushbutton.h> 130#include <qpushbutton.h>
131#include <qlayout.h> 131#include <qlayout.h>
132#include <qdir.h> 132#include <qdir.h>
133#include <qradiobutton.h> 133#include <qradiobutton.h>
134#include <qbuttongroup.h> 134#include <qbuttongroup.h>
135#include "kglobal.h" 135#include "kglobal.h"
136#include "klocale.h" 136#include "klocale.h"
137 137
138class KBackupPrefs : public QDialog 138class KBackupPrefs : public QDialog
139{ 139{
140 public: 140 public:
141 KBackupPrefs( QString message , QWidget *parent=0, const char *name=0 ) : 141 KBackupPrefs( QString message , QWidget *parent=0, const char *name=0 ) :
142 QDialog( parent, name, true ) 142 QDialog( parent, name, true )
143 { 143 {
144 setCaption( i18n("Backup Failed!") ); 144 setCaption( i18n("Backup Failed!") );
145 QVBoxLayout* lay = new QVBoxLayout( this ); 145 QVBoxLayout* lay = new QVBoxLayout( this );
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 KBackupPrefs noDir( i18n("<b>Backup directory does not exist: </b>") + dp.right(30));
179 if ( !noDir.exec() ) return 3; 179 if ( !noDir.exec() ) return 3;
180 if ( noDir.againTomorrow() ) { 180 if ( noDir.againTomorrow() ) {
181 return 0; 181 return 0;
182 } else if ( noDir.later() ) { 182 } else if ( noDir.later() ) {
183 return 3; 183 return 3;
184 } else if ( !noDir.again() ) { 184 } else if ( !noDir.again() ) {
185 return 2; 185 return 2;
186 } 186 }
187 } else { 187 } else {
188 tryAgain = false; 188 tryAgain = false;
189 } 189 }
190 } 190 }
191 // we have a valid dir! 191 // we have a valid dir!
192 QStringList allFileList = bupDir.entryList(QDir::Files); 192 QStringList allFileList = bupDir.entryList(QDir::Files);
193 QFileInfo fileInfo ( fn ); 193 QFileInfo fileInfo ( fn );
194 QString fName = fileInfo.fileName (); 194 QString fName = fileInfo.fileName ();
195 QStringList fileList; 195 QStringList fileList;
196 196
197 int i; 197 int i;
198 for ( i = 0; i < allFileList.count(); ++i ) { 198 for ( i = 0; i < allFileList.count(); ++i ) {
199 QString fi = allFileList[i]; 199 QString fi = allFileList[i];
200 if ( fi. find( fName ) > -1 ) 200 if ( fi. find( fName ) > -1 )
201 fileList.append( fi ); 201 fileList.append( fi );
202 } 202 }
203 qDebug("%d backup files exist ", fileList.count()); 203 qDebug("KApp: %d backup files exist ", fileList.count());
204 int count = fileList.count(); 204 int count = fileList.count();
205 fileList.sort(); 205 fileList.sort();
206 int remCount = 0; 206 int remCount = 0;
207 while ( count >= numBup ) { 207 while ( count >= numBup ) {
208 QString fnr = dp + "/"+fileList[remCount]; 208 QString fnr = dp + "/"+fileList[remCount];
209 QFile::remove( fnr ); 209 QFile::remove( fnr );
210 --count; 210 --count;
211 ++remCount; 211 ++remCount;
212 } 212 }
213 QDateTime mRunStart = QDateTime::currentDateTime(); 213 QDateTime mRunStart = QDateTime::currentDateTime();
214 QString file = "%1%2%3-%4%5%6-"; 214 QString file = "%1%2%3-%4%5%6-";
215 file = file.arg( mRunStart.date().year(), 4).arg( mRunStart.date().month(),2 ).arg( mRunStart.date().day(), 2 ).arg( mRunStart.time().hour(),2 ).arg( mRunStart.time().minute(),2 ).arg( mRunStart.time().second(),2 ); 215 file = file.arg( mRunStart.date().year(), 4).arg( mRunStart.date().month(),2 ).arg( mRunStart.date().day(), 2 ).arg( mRunStart.time().hour(),2 ).arg( mRunStart.time().minute(),2 ).arg( mRunStart.time().second(),2 );
216 file.replace ( QRegExp (" "), "0" ); 216 file.replace ( QRegExp (" "), "0" );
217 file += fName ; 217 file += fName ;
218 file = dp + "/"+file; 218 file = dp + file;
219 QString command; 219 QString command;
220 int res = 0; 220 int res = 0;
221#ifdef _WIN32_ 221#ifdef _WIN32_
222 command = "xcopy "+ fn+ " "+file; 222 command = "copy \""+ QDir::convertSeparators( fn)+ "\" \""+QDir::convertSeparators(file)+ "\" ";
223 command = QDir::convertSeparators( command );
224#else 223#else
225 command = "cp "+ fn+ " "+file; 224 command = "cp "+ fn+ " "+file;
226#endif 225#endif
227 qDebug("command %s ",command.latin1() ); 226 //qDebug("command %s ",command.latin1() );
228 tryAgain = true; 227 tryAgain = true;
229 while ( tryAgain ) { 228 while ( tryAgain ) {
230 res = system ( command.latin1() ); 229 res = system ( command.latin1() );
231 qDebug("copy result %d ", res); 230 qDebug("KApp: Copy result %d ", res);
232 if ( res != 0 ) { 231 if ( res != 0 ) {
233 KBackupPrefs noDir( i18n("<b>The backup copy command failed!</b>")); 232 KBackupPrefs noDir( i18n("<b>The backup copy command failed!</b>"));
234 if ( !noDir.exec() ) return 3; 233 if ( !noDir.exec() ) return 3;
235 if ( noDir.againTomorrow() ) { 234 if ( noDir.againTomorrow() ) {
236 return 0; 235 return 0;
237 } else if ( noDir.later() ) { 236 } else if ( noDir.later() ) {
238 return 3; 237 return 3;
239 } else if ( !noDir.again() ) { 238 } else if ( !noDir.again() ) {
240 return 2; 239 return 2;
241 } 240 }
242 } else { 241 } else {
243 tryAgain = false; 242 tryAgain = false;
244 } 243 }
245 } 244 }
246 return 1; 245 return 1;
247} 246}