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
@@ -637,133 +637,142 @@
637{ "Draw &separators","Zeichne &Trennlinie" }, 637{ "Draw &separators","Zeichne &Trennlinie" },
638{ "Separator &width:","Trennlinien &Breite:" }, 638{ "Separator &width:","Trennlinien &Breite:" },
639{ "&Padding:","Füllung:" }, 639{ "&Padding:","Füllung:" },
640{ "Cards","Karten" }, 640{ "Cards","Karten" },
641{ "&Margin:","&Rand:" }, 641{ "&Margin:","&Rand:" },
642{ "Draw &borders","Zeichne Ränder" }, 642{ "Draw &borders","Zeichne Ränder" },
643{ "The item margin is the distance (in pixels) between the item edge and the item data. Most noticeably, incrementing the item margin will add space between the focus rectangle and the item data.","The item margin is the distance (in pixels) between the item edge and the item data. Most noticeably, incrementing the item margin will add space between the focus rectangle and the item data." }, 643{ "The item margin is the distance (in pixels) between the item edge and the item data. Most noticeably, incrementing the item margin will add space between the focus rectangle and the item data.","The item margin is the distance (in pixels) between the item edge and the item data. Most noticeably, incrementing the item margin will add space between the focus rectangle and the item data." },
644{ "The Item Spacing decides the distance (in pixels) between the items and anything else: the view borders, other items or column separators.","The Item Spacing decides the distance (in pixels) between the items and anything else: the view borders, other items or column separators." }, 644{ "The Item Spacing decides the distance (in pixels) between the items and anything else: the view borders, other items or column separators.","The Item Spacing decides the distance (in pixels) between the items and anything else: the view borders, other items or column separators." },
645{ "Sets the width of column separators","Sets the width of column separators" }, 645{ "Sets the width of column separators","Sets the width of column separators" },
646{ "&Layout","&Layout" }, 646{ "&Layout","&Layout" },
647{ "Show &empty fields","Zeige leere Felder" }, 647{ "Show &empty fields","Zeige leere Felder" },
648{ "Show field &labels","Zeige Feld Label" }, 648{ "Show field &labels","Zeige Feld Label" },
649{ "Be&havior","Ver&halten" }, 649{ "Be&havior","Ver&halten" },
650{ "Header, Border and Separator Color","Kopf, Rand und Trennlinien Farbe" }, 650{ "Header, Border and Separator Color","Kopf, Rand und Trennlinien Farbe" },
651{ "<qt>Are you sure that you want to delete the view <b>%1</b>?</qt>","<qt>Sind Sie sicher, dass Sie die Ansicht <b>%1</b> löschen möchten?</qt>" }, 651{ "<qt>Are you sure that you want to delete the view <b>%1</b>?</qt>","<qt>Sind Sie sicher, dass Sie die Ansicht <b>%1</b> löschen möchten?</qt>" },
652{ "Confirm Delete","Bestätige Löschen" }, 652{ "Confirm Delete","Bestätige Löschen" },
653{ "Edit Address Book Filter","Editiere Adressbuch Filter" }, 653{ "Edit Address Book Filter","Editiere Adressbuch Filter" },
654{ "Category rule","Kategorie Regel" }, 654{ "Category rule","Kategorie Regel" },
655{ "Include categories","Inklusive" }, 655{ "Include categories","Inklusive" },
656{ "Exclude categories","Exclusive" }, 656{ "Exclude categories","Exclusive" },
657{ "Include contacts, that are:","Schließe folgende Kontakte ein:" }, 657{ "Include contacts, that are:","Schließe folgende Kontakte ein:" },
658{ "public","Öffentlich" }, 658{ "public","Öffentlich" },
659{ "private","Privat" }, 659{ "private","Privat" },
660{ "confidential","Vertraulich" }, 660{ "confidential","Vertraulich" },
661{ "Configure Resources","Konfiguriere Resourcen" }, 661{ "Configure Resources","Konfiguriere Resourcen" },
662{ "Resource Configuration","Resource Konfiguration" }, 662{ "Resource Configuration","Resource Konfiguration" },
663{ "Resources","Resourcen" }, 663{ "Resources","Resourcen" },
664{ "Standard","Standard" }, 664{ "Standard","Standard" },
665{ "&Use as Standard","Setze als Standard" }, 665{ "&Use as Standard","Setze als Standard" },
666{ "Select type of the new resource:","Selektiere Typ der neuen Resource:" }, 666{ "Select type of the new resource:","Selektiere Typ der neuen Resource:" },
667{ "General Settings","Allgemeine Einstellungen" }, 667{ "General Settings","Allgemeine Einstellungen" },
668{ "Read-only","Nur-Lesen" }, 668{ "Read-only","Nur-Lesen" },
669{ "Include in sync","Schließe in Sync mit ein" }, 669{ "Include in sync","Schließe in Sync mit ein" },
670{ "%1 Resource Settings","%1 Resource Einstellungen" }, 670{ "%1 Resource Settings","%1 Resource Einstellungen" },
671{ "Format:","Format:" }, 671{ "Format:","Format:" },
672{ "Location:","Ort:" }, 672{ "Location:","Ort:" },
673{ "Full Menu bar (restart)","Volle Menu Leiste (Neustart!)" }, 673{ "Full Menu bar (restart)","Volle Menu Leiste (Neustart!)" },
674{ "Language","Sprache" }, 674{ "Language","Sprache" },
675{ "Time Format","Zeit Format" }, 675{ "Time Format","Zeit Format" },
676{ "Time Zone","Zeit Zone" }, 676{ "Time Zone","Zeit Zone" },
677{ "Data storage path","Daten Speicherpfad" }, 677{ "Data storage path","Daten Speicherpfad" },
678{ "Your current storage dir is:\n%1\nYour mail is stored in:\n(storagedir)/apps/kopiemail/localmail","Aktuelles Speicherverzeichnis ist:\n%1\nIhre Mail wird gespeichert in:\n(speicherverz.)/apps/kopiemail/localmail" }, 678{ "Your current storage dir is:\n%1\nYour mail is stored in:\n(storagedir)/apps/kopiemail/localmail","Aktuelles Speicherverzeichnis ist:\n%1\nIhre Mail wird gespeichert in:\n(speicherverz.)/apps/kopiemail/localmail" },
679{ "<b>New data storage dir:</b>","<b>Neues Datenspeicherverzeichnis:</b>" }, 679{ "<b>New data storage dir:</b>","<b>Neues Datenspeicherverzeichnis:</b>" },
680{ "New dirs are created automatically","Neue Verzeichnisse werden aut. erstellt" }, 680{ "New dirs are created automatically","Neue Verzeichnisse werden aut. erstellt" },
681{ "Save settings","Speichere Einstellungen" }, 681{ "Save settings","Speichere Einstellungen" },
682{ "Save standard","Speichere Standard" }, 682{ "Save standard","Speichere Standard" },
683{ "Save","Speichern" }, 683{ "Save","Speichern" },
684{ "<b>New settings are used\nafter a restart</b>","<b>Neue Einstellungen werden nach\neinem Neustart genutzt</b>" }, 684{ "<b>New settings are used\nafter a restart</b>","<b>Neue Einstellungen werden nach\neinem Neustart genutzt</b>" },
685{ "Settings are stored in\n%1","Einstellungen werden gespeichert in:\n%1" }, 685{ "Settings are stored in\n%1","Einstellungen werden gespeichert in:\n%1" },
686{ "Multiple Sync options","Multi Sync Optionen" }, 686{ "Multiple Sync options","Multi Sync Optionen" },
687{ "Sync algo options","Sync Ablauf Optionen" }, 687{ "Sync algo options","Sync Ablauf Optionen" },
688{ "Apply filter when adding data to local:","Filter für das Hinzufügen von Daten zu Lokal:" }, 688{ "Apply filter when adding data to local:","Filter für das Hinzufügen von Daten zu Lokal:" },
689{ "Incoming calendar filter:","Eingehender Kalender Filter:" }, 689{ "Incoming calendar filter:","Eingehender Kalender Filter:" },
690{ "Incoming addressbook filter:","Eingehender Adressbuch Filter:" }, 690{ "Incoming addressbook filter:","Eingehender Adressbuch Filter:" },
691{ "Write back options","Optionen zum Zurückschreiben" }, 691{ "Write back options","Optionen zum Zurückschreiben" },
692{ "Write back (on remote) existing entries only","Schreibe nur existierende (auf Entfernt) Einträge zurück" }, 692{ "Write back (on remote) existing entries only","Schreibe nur existierende (auf Entfernt) Einträge zurück" },
693{ "Apply filter when adding data to remote:","Filter für das Hinzufügen von Daten zu Entfernt:" }, 693{ "Apply filter when adding data to remote:","Filter für das Hinzufügen von Daten zu Entfernt:" },
694{ "Outgoing calendar filter:","Ausgehender Kalender Filter:" }, 694{ "Outgoing calendar filter:","Ausgehender Kalender Filter:" },
695{ "Outgoing addressbook filter:","Ausgehender Adressbuch Filter:" }, 695{ "Outgoing addressbook filter:","Ausgehender Adressbuch Filter:" },
696{ "Write back (calendar) entries for time period only","Schreibe nur Kalender Einträge für Zeitspanne zurück" }, 696{ "Write back (calendar) entries for time period only","Schreibe nur Kalender Einträge für Zeitspanne zurück" },
697{ "Time period","Zeitspanne" }, 697{ "Time period","Zeitspanne" },
698{ "From ","Von " }, 698{ "From ","Von " },
699{ " weeks in the past to "," Wochen in der Vergangenheit bis zu " }, 699{ " weeks in the past to "," Wochen in der Vergangenheit bis zu " },
700{ " weeks in the future "," Wochen in der Zukunft " }, 700{ " weeks in the future "," Wochen in der Zukunft " },
701{ "Profile kind specific settings","Profil Art abhängige Einstellungen" }, 701{ "Profile kind specific settings","Profil Art abhängige Einstellungen" },
702{ "Local temp file:","Lokale temp Datei:" }, 702{ "Local temp file:","Lokale temp Datei:" },
703{ "Multiple profiles with same name!\nPlease use unique profile names!","Mehrere Profile mit demselben Namen!\nBitte verschiedene Namen benutzen!" }, 703{ "Multiple profiles with same name!\nPlease use unique profile names!","Mehrere Profile mit demselben Namen!\nBitte verschiedene Namen benutzen!" },
704{ "Aborted! Nothing synced!","Abgebrochen! Nichts wurde gesynct!" }, 704{ "Aborted! Nothing synced!","Abgebrochen! Nichts wurde gesynct!" },
705{ "You cannot remove your standard resource!\n Please select a new standard resource first.","Standard Resource kann\nnicht entfernt werden!\nBitte eine andere Resource\nals Standard setzen." }, 705{ "You cannot remove your standard resource!\n Please select a new standard resource first.","Standard Resource kann\nnicht entfernt werden!\nBitte eine andere Resource\nals Standard setzen." },
706{ "Sorry","Tut mir leid" }, 706{ "Sorry","Tut mir leid" },
707{ "You cannot use a read-only<br> resource as standard!","Man kann nicht eine read-only<br> Resource als Standard setzen!" }, 707{ "You cannot use a read-only<br> resource as standard!","Man kann nicht eine read-only<br> Resource als Standard setzen!" },
708{ "Please restart to get the \nchanged resources (re)loaded!\n","Bitte starten Sie jetzt\ndas Programm neu, um die geänderten\nResourcen neu zu laden!\n" }, 708{ "Please restart to get the \nchanged resources (re)loaded!\n","Bitte starten Sie jetzt\ndas Programm neu, um die geänderten\nResourcen neu zu laden!\n" },
709{ "The selected file does not\ninclude a valid vCard.\nPlease check the file and try again.\n","Die gewählte Datei enthält\nkeine gültige vCard.\nBitte prüfen Sie die Datei\nund versuchen es erneut.\n" }, 709{ "The selected file does not\ninclude a valid vCard.\nPlease check the file and try again.\n","Die gewählte Datei enthält\nkeine gültige vCard.\nBitte prüfen Sie die Datei\nund versuchen es erneut.\n" },
710{ "Unable to load resource '%1'","Resource kann nicht geladen werden: '%1'" }, 710{ "Unable to load resource '%1'","Resource kann nicht geladen werden: '%1'" },
711{ "Some changes are only\neffective after a restart!\n","Einige Änderungen werden erst\nnach einem Neustart übernommen!\n" }, 711{ "Some changes are only\neffective after a restart!\n","Einige Änderungen werden erst\nnach einem Neustart übernommen!\n" },
712{ "Syncing aborted. Nothing synced.","Syncing abgebrochen.Nichts wurde gesynct." }, 712{ "Syncing aborted. Nothing synced.","Syncing abgebrochen.Nichts wurde gesynct." },
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" }, 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
@@ -1233,141 +1233,141 @@
1233{ "W","W" }, 1233{ "W","W" },
1234{ "Click on this to\nselect week number","Klicke hierauf um\ndie Woche auszuwählen" }, 1234{ "Click on this to\nselect week number","Klicke hierauf um\ndie Woche auszuwählen" },
1235{ "T: %1","T: %1" }, 1235{ "T: %1","T: %1" },
1236{ "Start: ","Start: " }, 1236{ "Start: ","Start: " },
1237{ "Pi-Sync options for device: ","Pi-Sync Einstellungen für Gerät: " }, 1237{ "Pi-Sync options for device: ","Pi-Sync Einstellungen für Gerät: " },
1238{ "Password for remote access:","Passwort für fernen Zugriff:" }, 1238{ "Password for remote access:","Passwort für fernen Zugriff:" },
1239{ "Remote IP address:","Ferne IP Adresse:" }, 1239{ "Remote IP address:","Ferne IP Adresse:" },
1240{ "Remote port number:","Ferne Port Nummer:" }, 1240{ "Remote port number:","Ferne Port Nummer:" },
1241{ "Remote file saved to temp file.","Ferne Daten in temp Datei gespeichert." }, 1241{ "Remote file saved to temp file.","Ferne Daten in temp Datei gespeichert." },
1242{ "Remote from: ","Fern von: " }, 1242{ "Remote from: ","Fern von: " },
1243{ "Local from: ","Lokal von: " }, 1243{ "Local from: ","Lokal von: " },
1244{ "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" }, 1244{ "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" },
1245{ "Local calendar changed!\n","Lokaler Kalender geändert!\n" }, 1245{ "Local calendar changed!\n","Lokaler Kalender geändert!\n" },
1246{ "Write back","Schreibe zurück" }, 1246{ "Write back","Schreibe zurück" },
1247{ "KO/Pi Synchronization","KO/Pi Synchronisation" }, 1247{ "KO/Pi Synchronization","KO/Pi Synchronisation" },
1248{ "Pi-Sync succesful!","Pi-Sync erfolgreich!" }, 1248{ "Pi-Sync succesful!","Pi-Sync erfolgreich!" },
1249{ "Received sync request","Sync Anfrage erhalten" }, 1249{ "Received sync request","Sync Anfrage erhalten" },
1250{ "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." }, 1250{ "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." },
1251{ "Saving Data to temp file ...","Speichere Daten in temp Datei..." }, 1251{ "Saving Data to temp file ...","Speichere Daten in temp Datei..." },
1252{ "Data saved to temp file!","Daten in temp Datei gespeichert!" }, 1252{ "Data saved to temp file!","Daten in temp Datei gespeichert!" },
1253{ "Sending file...","Sende Datei..." }, 1253{ "Sending file...","Sende Datei..." },
1254{ "Waiting for synced file...","Warte auf gesyncte Daten..." }, 1254{ "Waiting for synced file...","Warte auf gesyncte Daten..." },
1255{ "Receiving synced file...","Gesyncte Daten erhalten..." }, 1255{ "Receiving synced file...","Gesyncte Daten erhalten..." },
1256{ "Received %1 bytes","%1 Bytes erhalten" }, 1256{ "Received %1 bytes","%1 Bytes erhalten" },
1257{ "Writing file to disk...","Speichere Datei..." }, 1257{ "Writing file to disk...","Speichere Datei..." },
1258{ "Pi-Sync successful!","Pi-Sync erfolgreich!" }, 1258{ "Pi-Sync successful!","Pi-Sync erfolgreich!" },
1259{ "Clock skew of\nsyncing devices\nis %1 seconds!","Uhrzeitunterschied der\nsyncenden Geräte\nist %1 Sekunden!" }, 1259{ "Clock skew of\nsyncing devices\nis %1 seconds!","Uhrzeitunterschied der\nsyncenden Geräte\nist %1 Sekunden!" },
1260{ "Synchronize!","Synchronisiere!" }, 1260{ "Synchronize!","Synchronisiere!" },
1261{ "High clock skew!","Großer Uhrzeitunterschied!" }, 1261{ "High clock skew!","Großer Uhrzeitunterschied!" },
1262{ "ADJUST\nYOUR\nCLOCKS!","JUSTIERE\nDIE\nUHREN!" }, 1262{ "ADJUST\nYOUR\nCLOCKS!","JUSTIERE\nDIE\nUHREN!" },
1263{ "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!" }, 1263{ "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!" },
1264{ "This is a %1 recurring todo.","Das ist eine %1 wiederholende Aufgabe." }, 1264{ "This is a %1 recurring todo.","Das ist eine %1 wiederholende Aufgabe." },
1265{ "<p><b>Start on:</b> %1</p>","<p><b>Start am:</b> %1</p>" }, 1265{ "<p><b>Start on:</b> %1</p>","<p><b>Start am:</b> %1</p>" },
1266{ "List week view","Listenwochenansicht" }, 1266{ "List week view","Listenwochenansicht" },
1267{ "List week","Listenwochenansicht" }, 1267{ "List week","Listenwochenansicht" },
1268{ "Next Week","Nächste Woche" }, 1268{ "Next Week","Nächste Woche" },
1269{ "Previous Week","Vorherige Woche" }, 1269{ "Previous Week","Vorherige Woche" },
1270{ "No items were found matching\nyour search expression.\nUse the wildcard characters\n'*' and '?' where needed.","Keine Einträge gefunden die\ndem Suchausdruck entsprechen.\nBenutze Platzhalter Zeichen\n'*' und '?' wo benötigt." }, 1270{ "No items were found matching\nyour search expression.\nUse the wildcard characters\n'*' and '?' where needed.","Keine Einträge gefunden die\ndem Suchausdruck entsprechen.\nBenutze Platzhalter Zeichen\n'*' und '?' wo benötigt." },
1271{ "Show in todo/event viewer:","Zeige in Termin/Todo Anzeige:" }, 1271{ "Show in todo/event viewer:","Zeige in Termin/Todo Anzeige:" },
1272{ "Details","Details" }, 1272{ "Details","Details" },
1273{ "Created time","Erstellt Zeit" }, 1273{ "Created time","Erstellt Zeit" },
1274{ "Last modified time","Geändert Zeit" }, 1274{ "Last modified time","Geändert Zeit" },
1275{ "Show in What'sThis quick overview:","Zeige in What'sThis Schnellübersicht:" }, 1275{ "Show in What'sThis quick overview:","Zeige in What'sThis Schnellübersicht:" },
1276{ "View Options","Anzeige Optionen" }, 1276{ "View Options","Anzeige Optionen" },
1277{ "<b>Created: ","<b>Erstellt am: " }, 1277{ "<b>Created: ","<b>Erstellt am: " },
1278{ "<b>Last modified: ","<b>Zuletzt geändert am: " }, 1278{ "<b>Last modified: ","<b>Zuletzt geändert am: " },
1279{ "Journal: ","Journal: " }, 1279{ "Journal: ","Journal: " },
1280{ "yearly","jährlich" }, 1280{ "yearly","jährlich" },
1281{ "(%1) ","%1-" }, 1281{ "(%1) ","%1-" },
1282{ "<p><b>K</b>: Week view in Month view syle</p>\n","<p><b>K</b>: Wochenansicht in Art der Monatsansicht</p>\n" }, 1282{ "<p><b>K</b>: Week view in Month view syle</p>\n","<p><b>K</b>: Wochenansicht in Art der Monatsansicht</p>\n" },
1283{ "Enable tooltips displaying summary of ev.","Titel-Tooltips anzeigen" }, 1283{ "Enable tooltips displaying summary of ev.","Titel-Tooltips anzeigen" },
1284{ "Enable scrollbars in month view cells","Scrollbar in Zellen anzeigen" }, 1284{ "Enable scrollbars in month view cells","Scrollbar in Zellen anzeigen" },
1285{ "Summary/Loc.","Titel/Ort" }, 1285{ "Summary/Loc.","Titel/Ort" },
1286{ "No items found. Use '*' and '?' where needed.","Nichts gefunden. Benutze '*' and '?' wo benötigt." }, 1286{ "No items found. Use '*' and '?' where needed.","Nichts gefunden. Benutze '*' and '?' wo benötigt." },
1287{ "Week Number","Wochennummer" }, 1287{ "Week Number","Wochennummer" },
1288{ "Import","Importiere" }, 1288{ "Import","Importiere" },
1289{ "Export","Exportiere" }, 1289{ "Export","Exportiere" },
1290{ "Beam","Beame" }, 1290{ "Beam","Beame" },
1291{ "Export selected","Exportiere Selektierte" }, 1291{ "Export selected","Exportiere Selektierte" },
1292{ "As iCal (ics) file...","Als iCal (ics) Datei..." }, 1292{ "As iCal (ics) file...","Als iCal (ics) Datei..." },
1293{ "As vCal (vcs) file...","Als vCal (vcs) Datei..." }, 1293{ "As vCal (vcs) file...","Als vCal (vcs) Datei..." },
1294{ "Journal/Details...","Journale/Details..." }, 1294{ "Journal/Details...","Journale/Details..." },
1295{ "Agenda View","Agenda Ansicht" }, 1295{ "Agenda View","Agenda Ansicht" },
1296{ "Show current time","Zeige aktuelle Zeit" }, 1296{ "Show current time","Zeige aktuelle Zeit" },
1297{ "Edit new item","Bearbeite neuen Eintrag" }, 1297{ "Edit new item","Bearbeite neuen Eintrag" },
1298{ "Please select at least one\nof the types to search for:\n\nEvents\nTodos\nJournals","Bitte wählen Sie mindestens\neinen dieser Typen\num darin zu suchen:\n\nTermine\nTodos\nJournale" }, 1298{ "Please select at least one\nof the types to search for:\n\nEvents\nTodos\nJournals","Bitte wählen Sie mindestens\neinen dieser Typen\num darin zu suchen:\n\nTermine\nTodos\nJournale" },
1299{ "There is no next alarm.","Es gibt keinen nächsten Alarm." }, 1299{ "There is no next alarm.","Es gibt keinen nächsten Alarm." },
1300{ "%1 %2 - %3 (next event/todo with alarm)","%1 %2 - %3 (nächster Termin/Todo mit Alarm)" }, 1300{ "%1 %2 - %3 (next event/todo with alarm)","%1 %2 - %3 (nächster Termin/Todo mit Alarm)" },
1301{ "The next alarm is in:\n","Der nächste Alarm ist in:\n" }, 1301{ "The next alarm is in:\n","Der nächste Alarm ist in:\n" },
1302{ "%1 days\n","%1 Tagen\n" }, 1302{ "%1 days\n","%1 Tagen\n" },
1303{ "1 day\n","1 Tag\n" }, 1303{ "1 day\n","1 Tag\n" },
1304{ "%1 hours\n","%1 Stunden\n" }, 1304{ "%1 hours\n","%1 Stunden\n" },
1305{ "1 hour\n","1 Stunde\n" }, 1305{ "1 hour\n","1 Stunde\n" },
1306{ "%1 minutes\n","%1 Minuten\n" }, 1306{ "%1 minutes\n","%1 Minuten\n" },
1307{ "1 minute\n","1 Minute\n" }, 1307{ "1 minute\n","1 Minute\n" },
1308{ "Only one toolbar","Nur eine Toolbar" }, 1308{ "Only one toolbar","Nur eine Toolbar" },
1309{ "Print","Drucke" }, 1309{ "Print","Drucke" },
1310{ "Print selected event / todo...","Drucke ausgewählten Termin / Todo..." }, 1310{ "Print selected event / todo...","Drucke ausgewählten Termin / Todo..." },
1311{ "There is nothing selected!","Es ist nichts ausgewählt!" }, 1311{ "There is nothing selected!","Es ist nichts ausgewählt!" },
1312{ "\n\nDo you really want to print this item?","\n\nMöchten Sie wirklich diesen Eintrag ausdrucken? " }, 1312{ "\n\nDo you really want to print this item?","\n\nMöchten Sie wirklich diesen Eintrag ausdrucken? " },
1313{ "KO/Pi Print Confirmation","KO/Pi Druckbestätigung" }, 1313{ "KO/Pi Print Confirmation","KO/Pi Druckbestätigung" },
1314{ "This prints the view as you see it.\n(With the complete content, of course.)\nYou may change the print layout by resizing the view.\nPrint unscaled may print several pages\ndepending on the amount of data.\nPrint scaled down will print all on one page.\nPrint scaled up/down will print all on one page,\nbut will scale up the text to page boundaries,\nif the text is smaller than the page.\nYou can select page geometry setup in the next dialog.\n","Dies druckt die Ansicht wie man sie sieht.\n(Mit dem kompletten Inhalt natürlich.)\nMan kann das Layout ändern durch ändern der Fenstergröße.\nDrucke unskaliert druckt ggf. mehrere Seiten\nabhängig von der Menge der Daten.\nDrucke runterskaliert um auf eine Seite zu passen\ndruckt alles auf eine Seite.\nDrucke hoch/runterskaliert um genau auf eine Seite zu passen\nvergrößert den Text gegebenenfalls.\nDas Seitenlayout kann im nächsten Dialog gewählt werden.\n" }, 1314{ "This prints the view as you see it.\n(With the complete content, of course.)\nYou may change the print layout by resizing the view.\nPrint unscaled may print several pages\ndepending on the amount of data.\nPrint scaled down will print all on one page.\nPrint scaled up/down will print all on one page,\nbut will scale up the text to page boundaries,\nif the text is smaller than the page.\nYou can select page geometry setup in the next dialog.\n","Dies druckt die Ansicht wie man sie sieht.\n(Mit dem kompletten Inhalt natürlich.)\nMan kann das Layout ändern durch ändern der Fenstergröße.\nDrucke unskaliert druckt ggf. mehrere Seiten\nabhängig von der Menge der Daten.\nDrucke runterskaliert um auf eine Seite zu passen\ndruckt alles auf eine Seite.\nDrucke hoch/runterskaliert um genau auf eine Seite zu passen\nvergrößert den Text gegebenenfalls.\nDas Seitenlayout kann im nächsten Dialog gewählt werden.\n" },
1315{ "KO/Pi Printout","KO/Pi Ausdruck" }, 1315{ "KO/Pi Printout","KO/Pi Ausdruck" },
1316{ "Print unscaled","Drucke unskaliert" }, 1316{ "Print unscaled","Drucke unskaliert" },
1317{ "Print scaled down to fit one page","Drucke runterskaliert um auf eine Seite zu passen." }, 1317{ "Print scaled down to fit one page","Drucke runterskaliert um auf eine Seite zu passen." },
1318{ "Print scaled up/down to fit one page","Drucke hoch/runterskaliert um genau auf eine Seite zu passen." }, 1318{ "Print scaled up/down to fit one page","Drucke hoch/runterskaliert um genau auf eine Seite zu passen." },
1319{ "Printout Mode","Druck Modus" }, 1319{ "Printout Mode","Druck Modus" },
1320{ "Filter menu icon","Filtermenu Icon" }, 1320{ "Filter menu icon","Filtermenu Icon" },
1321{ "<p><b>A+(shift or ctrl)</b>: Show occurence of next alarm</p>\n","<p><b>A+(shift oder ctrl)</b>: Zeige Zeit bis zum nächsten Alarm</p>\n" }, 1321{ "<p><b>A+(shift or ctrl)</b>: Show occurence of next alarm</p>\n","<p><b>A+(shift oder ctrl)</b>: Zeige Zeit bis zum nächsten Alarm</p>\n" },
1322{ "<p><b>N</b>: Switch to next view which has a toolbar icon</p>\n","<p><b>N</b>: Wechsle zur nächsten Ansicht, die ein Icon in der Toolbar hat</p>\n" }, 1322{ "<p><b>N</b>: Switch to next view which has a toolbar icon</p>\n","<p><b>N</b>: Wechsle zur nächsten Ansicht, die ein Icon in der Toolbar hat</p>\n" },
1323{ "%1d","%1t" }, 1323{ "%1d","%1t" },
1324{ "%1h","%1std" }, 1324{ "%1h","%1std" },
1325{ "%1min","%1min" }, 1325{ "%1min","%1min" },
1326{ "( %1 before )","( %1 vorher )" }, 1326{ "( %1 before )","( %1 vorher )" },
1327{ "The next alarm is in\nless than one minute!","Der nächste Alarm kommt in\nweniger als einer Minute!" }, 1327{ "The next alarm is in\nless than one minute!","Der nächste Alarm kommt in\nweniger als einer Minute!" },
1328{ "\nThe internal alarm notification is disabled!\n","\nDie interne Alarmbenachrichtigung ist ausgeschaltet!\n" }, 1328{ "\nThe internal alarm notification is disabled!\n","\nDie interne Alarmbenachrichtigung ist ausgeschaltet!\n" },
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
@@ -233,135 +233,144 @@
233{ "&Rename","&Umbenennen" }, 233{ "&Rename","&Umbenennen" },
234{ "Username","Benutzername" }, 234{ "Username","Benutzername" },
235{ "Password","Passwort" }, 235{ "Password","Passwort" },
236{ "Launcher","Launcher" }, 236{ "Launcher","Launcher" },
237{ "copy password to clipboard","Kopiere Passwort ins Clipboard" }, 237{ "copy password to clipboard","Kopiere Passwort ins Clipboard" },
238{ "copy username to clipboard","Kopiere Benutzername ins Clipboard" }, 238{ "copy username to clipboard","Kopiere Benutzername ins Clipboard" },
239{ "copy description to clipboard","Kopiere Beschreibung ins Clipboard" }, 239{ "copy description to clipboard","Kopiere Beschreibung ins Clipboard" },
240{ "copy url to clipboard","Kopiere URL ins Clipboard" }, 240{ "copy url to clipboard","Kopiere URL ins Clipboard" },
241{ "copy launcher to clipboard","Kopiere Launcher ins Clipboard" }, 241{ "copy launcher to clipboard","Kopiere Launcher ins Clipboard" },
242{ "copy comment to clipboard","Kopiere Kommentare ins Clipboard" }, 242{ "copy comment to clipboard","Kopiere Kommentare ins Clipboard" },
243{ "Execute "Launcher"",""Launcher" ausführen" }, 243{ "Execute "Launcher"",""Launcher" ausführen" },
244{ "Go to "URL"","Gehe zu "URL"" }, 244{ "Go to "URL"","Gehe zu "URL"" },
245{ "Ready.","Fertig." }, 245{ "Ready.","Fertig." },
246{ "password filename(*.pwm)","passwort dateiname(*.pwm)" }, 246{ "password filename(*.pwm)","passwort dateiname(*.pwm)" },
247{ "File error","Datei Fehler" }, 247{ "File error","Datei Fehler" },
248{ "Could not read file!","Kann Datei nicht lesen!" }, 248{ "Could not read file!","Kann Datei nicht lesen!" },
249{ "Master-password","Master-Passwort" }, 249{ "Master-password","Master-Passwort" },
250{ "Please enter the master-password:","Bitter Master-Passwort eingeben:" }, 250{ "Please enter the master-password:","Bitter Master-Passwort eingeben:" },
251{ "Wrong master-password!\nPlease try again.","Falsches Master-Passwort!\nBitte erneut versuchen." }, 251{ "Wrong master-password!\nPlease try again.","Falsches Master-Passwort!\nBitte erneut versuchen." },
252{ "password error","Passwort Fehler" }, 252{ "password error","Passwort Fehler" },
253{ "Successfully opened file.","Datei erfolgreich geöffnet." }, 253{ "Successfully opened file.","Datei erfolgreich geöffnet." },
254{ "DEEP-LOCKED","TOTAL-GESPERRT" }, 254{ "DEEP-LOCKED","TOTAL-GESPERRT" },
255{ "This file is DEEP-LOCKED!\nThat means all data has been encrypted\nand written out to the file. If you want\nto see the entries, please UNLOCK the file.\nWhile unlocking, you will be prompted for the\nmaster-password or the key-card.","Diese Datei ist TOTAL-GESPERRT!\nDas bedeutet, dass alle Daten verschlüsselt\nsind und in die Datei geschrieben wurden.\nWenn Sie die Einträge sehen möchten\nENTSPERREN Sie bitte die Datei.\nZum Entsperren werden Sie nach\ndem Master-Passwort gefragt." }, 255{ "This file is DEEP-LOCKED!\nThat means all data has been encrypted\nand written out to the file. If you want\nto see the entries, please UNLOCK the file.\nWhile unlocking, you will be prompted for the\nmaster-password or the key-card.","Diese Datei ist TOTAL-GESPERRT!\nDas bedeutet, dass alle Daten verschlüsselt\nsind und in die Datei geschrieben wurden.\nWenn Sie die Einträge sehen möchten\nENTSPERREN Sie bitte die Datei.\nZum Entsperren werden Sie nach\ndem Master-Passwort gefragt." },
256{ "<LOCKED>","<GESPERRT>" }, 256{ "<LOCKED>","<GESPERRT>" },
257{ "To unlock click the icon on the left.","Zum Entsperren auf linkes Icon klicken." }, 257{ "To unlock click the icon on the left.","Zum Entsperren auf linkes Icon klicken." },
258{ "PwManager","PwManager" }, 258{ "PwManager","PwManager" },
259{ "Window-style:","Window-Stil:" }, 259{ "Window-style:","Window-Stil:" },
260{ "Category on top","Kategorien oben" }, 260{ "Category on top","Kategorien oben" },
261{ "Category-list left/top","Kategorien links oben" }, 261{ "Category-list left/top","Kategorien links oben" },
262{ "Font for Password entries:","Schrift für Passwort Einträge:" }, 262{ "Font for Password entries:","Schrift für Passwort Einträge:" },
263{ "Font for Password summary:","Schrift für Passwort Übersicht:" }, 263{ "Font for Password summary:","Schrift für Passwort Übersicht:" },
264{ "Font:","Schriftart:" }, 264{ "Font:","Schriftart:" },
265{ "Summary","Übersicht" }, 265{ "Summary","Übersicht" },
266{ "Compression:","Kompression:" }, 266{ "Compression:","Kompression:" },
267{ "gzip","gzip" }, 267{ "gzip","gzip" },
268{ "Encryption:","Verschlüsselung:" }, 268{ "Encryption:","Verschlüsselung:" },
269{ "Blowfish (128 bit)","Blowfish (128 bit)" }, 269{ "Blowfish (128 bit)","Blowfish (128 bit)" },
270{ "AES-128, Rijndael (128 bit)","AES-128, Rijndael (128 bit)" }, 270{ "AES-128, Rijndael (128 bit)","AES-128, Rijndael (128 bit)" },
271{ "AES-192, Rijndael (192 bit)","AES-192, Rijndael (192 bit)" }, 271{ "AES-192, Rijndael (192 bit)","AES-192, Rijndael (192 bit)" },
272{ "AES-256, Rijndael (256 bit)","AES-256, Rijndael (256 bit)" }, 272{ "AES-256, Rijndael (256 bit)","AES-256, Rijndael (256 bit)" },
273{ "Triple-DES (168 bit)","Triple-DES (168 bit)" }, 273{ "Triple-DES (168 bit)","Triple-DES (168 bit)" },
274{ "Twofish (256 bit)","Twofish (256 bit)" }, 274{ "Twofish (256 bit)","Twofish (256 bit)" },
275{ "Twofish-128 (128 bit)","Twofish-128 (128 bit)" }, 275{ "Twofish-128 (128 bit)","Twofish-128 (128 bit)" },
276{ "Hashing:","Hashing:" }, 276{ "Hashing:","Hashing:" },
277{ "SHA-160, SHA1 (160 bit)","SHA-160, SHA1 (160 bit)" }, 277{ "SHA-160, SHA1 (160 bit)","SHA-160, SHA1 (160 bit)" },
278{ "SHA-256 (256 bit)","SHA-256 (256 bit)" }, 278{ "SHA-256 (256 bit)","SHA-256 (256 bit)" },
279{ "SHA-384 (384 bit)","SHA-384 (384 bit)" }, 279{ "SHA-384 (384 bit)","SHA-384 (384 bit)" },
280{ "SHA-512 (512 bit)","SHA-512 (512 bit)" }, 280{ "SHA-512 (512 bit)","SHA-512 (512 bit)" },
281{ "MD5 (128 bit)","MD5 (128 bit)" }, 281{ "MD5 (128 bit)","MD5 (128 bit)" },
282{ "RIPE-MD-160 (160 bit)","RIPE-MD-160 (160 bit)" }, 282{ "RIPE-MD-160 (160 bit)","RIPE-MD-160 (160 bit)" },
283{ "Tiger (192 bit)","Tiger (192 bit)" }, 283{ "Tiger (192 bit)","Tiger (192 bit)" },
284{ "Permissions:","Zugriffsrechte:" }, 284{ "Permissions:","Zugriffsrechte:" },
285{ "Make backup before saving","Mache Backup vor dem Speichern" }, 285{ "Make backup before saving","Mache Backup vor dem Speichern" },
286{ "Password timeout\n(timeout to hold password in\nmemory,so you don't have to\nre-enter it,if you\nalready have entered it)\n[set to 0 to disable]:","Passwort Timeout\n(Timeout um das Passwort\nim Speicher zu halten,\nso dass es nicht noch mal\neingegeben werden muß.)\n[Setze auf 0 zum deaktivieren]:" }, 286{ "Password timeout\n(timeout to hold password in\nmemory,so you don't have to\nre-enter it,if you\nalready have entered it)\n[set to 0 to disable]:","Passwort Timeout\n(Timeout um das Passwort\nim Speicher zu halten,\nso dass es nicht noch mal\neingegeben werden muß.)\n[Setze auf 0 zum deaktivieren]:" },
287{ "Auto-lock timeout\n(auto lock document after this\namount of seconds)\n[set to 0 to disable]:","(Total-)Sperr-Timeout\n(Sperre Dokument total nach\ndieser Anzahl Sekunden)\n[Setze auf 0 zum deaktivieren]:" }, 287{ "Auto-lock timeout\n(auto lock document after this\namount of seconds)\n[set to 0 to disable]:","(Total-)Sperr-Timeout\n(Sperre Dokument total nach\ndieser Anzahl Sekunden)\n[Setze auf 0 zum deaktivieren]:" },
288{ "deep-lock on autolock","Sperre total beim Sperr-Timeout" }, 288{ "deep-lock on autolock","Sperre total beim Sperr-Timeout" },
289{ "open deeplocked","Öffne total gesperrt" }, 289{ "open deeplocked","Öffne total gesperrt" },
290{ "Favourite browser:","Bevorzugter Browser:" }, 290{ "Favourite browser:","Bevorzugter Browser:" },
291{ "Favourite x-terminal:","Bevorzugtes x-terminal:" }, 291{ "Favourite x-terminal:","Bevorzugtes x-terminal:" },
292{ "Open document with passwords unlocked","Öffne Dokument mit Passwort ungesperrt" }, 292{ "Open document with passwords unlocked","Öffne Dokument mit Passwort ungesperrt" },
293{ "Look && feel","Aussehen" }, 293{ "Look && feel","Aussehen" },
294{ "File","Datei" }, 294{ "File","Datei" },
295{ "Timeout","Timeout" }, 295{ "Timeout","Timeout" },
296{ "Autostart","Autostart" }, 296{ "Autostart","Autostart" },
297{ "External apps","Externe Applik." }, 297{ "External apps","Externe Applik." },
298{ "Miscellaneous","Verschiedenes" }, 298{ "Miscellaneous","Verschiedenes" },
299{ "+01:00 Europe/Oslo(CET)","+01:00 Europe/Oslo(CET)" }, 299{ "+01:00 Europe/Oslo(CET)","+01:00 Europe/Oslo(CET)" },
300{ "edit category descriptions","Ändere Label für Kategorie" }, 300{ "edit category descriptions","Ändere Label für Kategorie" },
301{ "Close","Schließen" }, 301{ "Close","Schließen" },
302{ "Category:","Category:" }, 302{ "Category:","Category:" },
303{ "Text1 (Description):","Text1 (Beschreibung):" }, 303{ "Text1 (Description):","Text1 (Beschreibung):" },
304{ "Text2 (Username):","Text2 (Benutzername):" }, 304{ "Text2 (Username):","Text2 (Benutzername):" },
305{ "Text3 (Password):","Text3 (Passwort):" }, 305{ "Text3 (Password):","Text3 (Passwort):" },
306{ "edit/add a password entry","Ändere/hinzufüge Passwort Eintrag" }, 306{ "edit/add a password entry","Ändere/hinzufüge Passwort Eintrag" },
307{ "Description:","Beschreibung:" }, 307{ "Description:","Beschreibung:" },
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" }, 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,84 +1,84 @@
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.
36A small command line program is included 36A small command line program is included
37to make it possible to sync with the KDE-desktop applications. 37to make it possible to sync with the KDE-desktop applications.
38You do not need to call this program from the commandline, 38You do not need to call this program from the commandline,
39it is called from the KDE-Pim/Pi apps when you choose there: 39it is called from the KDE-Pim/Pi apps when you choose there:
40Sync with KDE_Desktop. 40Sync with KDE_Desktop.
41If something is going wrong, please start the 41If something is going wrong, please start the
42KDE-Pim/Pi program itself from the console to get detailed output. 42KDE-Pim/Pi program itself from the console to get detailed output.
43 43
44After installation, you should have a 44After installation, you should have a
45PIM-pi 45PIM-pi
46folder in your KDE start menu, where you can 46folder in your KDE start menu, where you can
47start the applications from. 47start the applications from.
48 48
49These programs makes it possible to sync your Zaurus easily 49These programs makes it possible to sync your Zaurus easily
50(with the KDE-Pim/Pi programs running on the Zaurus) 50(with the KDE-Pim/Pi programs running on the Zaurus)
51with the KDE-desktop calendar/addressbook data. 51with the KDE-desktop calendar/addressbook data.
52If you want to use that, you have to update your 52If you want to use that, you have to update your
53KDE-desktop to version 3.3.0 or higher. 53KDE-desktop to version 3.3.0 or higher.
54SuSE 9.2 contains KDE 3.3.0 such that no update is needed. 54SuSE 9.2 contains KDE 3.3.0 such that no update is needed.
55Actually - after the (non difficult) configuration is set up - 55Actually - after the (non difficult) configuration is set up -
56with two mouseklicks on the Zaurus, 56with two mouseklicks on the Zaurus,
57the Zaurus syncs with the corresponding KDE-Pim/Pi 57the Zaurus syncs with the corresponding KDE-Pim/Pi
58program on the Linux Desktop which syncs automatically 58program on the Linux Desktop which syncs automatically
59with the KDE-desktop data. 59with the KDE-desktop data.
60 60
61If you want to use the KDE-desktop calendar/addressbook applications, 61If you want to use the KDE-desktop calendar/addressbook applications,
62just install these apps in this package and use them as a syncing tool for the 62just install these apps in this package and use them as a syncing tool for the
63Zaurus <-> KDE-desktop sync. 63Zaurus <-> KDE-desktop sync.
64The sync requires a network connection from your Zaurus to 64The sync requires a network connection from your Zaurus to
65the PC. A detailed Sync HowTo is available in the 65the PC. A detailed Sync HowTo is available in the
66Help menu of the applications. 66Help menu of the applications.
67 67
68These applications makes it also possible, that you can sync 68These applications makes it also possible, that you can sync
69(or just export the data to) your mobile phone with your 69(or just export the data to) your mobile phone with your
70data of the KDE-desktop calendar/addressbook applications. 70data of the KDE-desktop calendar/addressbook applications.
71This is tested and working for Nokia mobile phones, 71This is tested and working for Nokia mobile phones,
72it may work with others as well. 72it may work with others as well.
73(More info about that: -> Sync HowTo) 73(More info about that: -> Sync HowTo)
74 74
75NOTE: 75NOTE:
76When using SuSE 9.1 you have to update your KDE to 3.3.x 76When using SuSE 9.1 you have to update your KDE to 3.3.x
77and you have to make an online update in SuSE 9.1 to make it 77and you have to make an online update in SuSE 9.1 to make it
78possible to get the infrared connection working, such that 78possible to get the infrared connection working, such that
79you can sync your (Nokia) mobile phone via infrared. 79you can sync your (Nokia) mobile phone via infrared.
80 80
81%files 81%files
82/opt/kde3/share/applnk/PIM-pi/ 82/opt/kde3/share/applnk/PIM-pi/
83/opt/kdepimpi/ 83/opt/kdepimpi/
84/usr/lib/libmicro* 84/usr/lib/libmicro*
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index 3c0259f..94d7293 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -1682,257 +1682,257 @@ void MainWindow::importBday()
1682 1682
1683 1683
1684} 1684}
1685void MainWindow::importQtopia() 1685void MainWindow::importQtopia()
1686{ 1686{
1687 //#ifndef DESKTOP_VERSION 1687 //#ifndef DESKTOP_VERSION
1688 QString mess = i18n("When importing a calendar twice\nduplicated events will be ignored!\nYou can create a backup file with\nFile - Save Calendar Backup\nto revert importing"); 1688 QString mess = i18n("When importing a calendar twice\nduplicated events will be ignored!\nYou can create a backup file with\nFile - Save Calendar Backup\nto revert importing");
1689#ifdef DESKTOP_VERSION 1689#ifdef DESKTOP_VERSION
1690 mess += i18n("The content of the following files will be\nimported (located in your home directory (hd)):\n(hd)/Applications/datebook/datebook.xml\n(hd)/Applications/todolist/todolist.xml\nThe following category file will be used:\n(hd)/Settings/Categories.xml"); 1690 mess += i18n("The content of the following files will be\nimported (located in your home directory (hd)):\n(hd)/Applications/datebook/datebook.xml\n(hd)/Applications/todolist/todolist.xml\nThe following category file will be used:\n(hd)/Settings/Categories.xml");
1691#endif 1691#endif
1692 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mess, 1692 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mess,
1693 i18n("Import!"), i18n("Cancel"), 0, 1693 i18n("Import!"), i18n("Cancel"), 0,
1694 0, 1 ); 1694 0, 1 );
1695 if ( result == 0 ) { 1695 if ( result == 0 ) {
1696#ifndef DESKTOP_VERSION 1696#ifndef DESKTOP_VERSION
1697 QString datebook = Global::applicationFileName( "datebook", "datebook.xml"); 1697 QString datebook = Global::applicationFileName( "datebook", "datebook.xml");
1698 QString todolist = Global::applicationFileName( "todolist", "todolist.xml"); 1698 QString todolist = Global::applicationFileName( "todolist", "todolist.xml");
1699 QString categories = QString( getenv( "HOME" ) ) + "/Settings/Categories.xml"; 1699 QString categories = QString( getenv( "HOME" ) ) + "/Settings/Categories.xml";
1700#else 1700#else
1701 QString datebook = QDir::homeDirPath()+ "/Applications/datebook/datebook.xml"; 1701 QString datebook = QDir::homeDirPath()+ "/Applications/datebook/datebook.xml";
1702 QString todolist = QDir::homeDirPath()+ "/Applications/todolist/todolist.xml"; 1702 QString todolist = QDir::homeDirPath()+ "/Applications/todolist/todolist.xml";
1703 QString categories = QDir::homeDirPath()+ "/Settings/Categories.xml"; 1703 QString categories = QDir::homeDirPath()+ "/Settings/Categories.xml";
1704#endif 1704#endif
1705 mView->importQtopia( categories, datebook, todolist ); 1705 mView->importQtopia( categories, datebook, todolist );
1706 } 1706 }
1707#if 0 1707#if 0
1708 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), 1708 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
1709 i18n("Not supported \non desktop!\n"), 1709 i18n("Not supported \non desktop!\n"),
1710 i18n("Ok"), i18n("Cancel"), 0, 1710 i18n("Ok"), i18n("Cancel"), 0,
1711 0, 1 ); 1711 0, 1 );
1712 1712
1713#endif 1713#endif
1714} 1714}
1715 1715
1716void MainWindow::saveOnClose() 1716void MainWindow::saveOnClose()
1717{ 1717{
1718 KOPrefs *p = KOPrefs::instance(); 1718 KOPrefs *p = KOPrefs::instance();
1719 p->mToolBarHor = ( iconToolBar->orientation () == Qt:: Horizontal ); 1719 p->mToolBarHor = ( iconToolBar->orientation () == Qt:: Horizontal );
1720 p->mToolBarHorV = ( viewToolBar->orientation () == Qt:: Horizontal ); 1720 p->mToolBarHorV = ( viewToolBar->orientation () == Qt:: Horizontal );
1721 p->mToolBarHorN = ( navigatorToolBar->orientation () == Qt:: Horizontal ); 1721 p->mToolBarHorN = ( navigatorToolBar->orientation () == Qt:: Horizontal );
1722 if ( filterToolBar ) { 1722 if ( filterToolBar ) {
1723 p->mToolBarHorF = ( filterToolBar->orientation () == Qt:: Horizontal ); 1723 p->mToolBarHorF = ( filterToolBar->orientation () == Qt:: Horizontal );
1724 } 1724 }
1725#ifdef DESKTOP_VERSION 1725#ifdef DESKTOP_VERSION
1726 1726
1727 QPoint myP; 1727 QPoint myP;
1728 myP = mapFromGlobal( iconToolBar->mapToGlobal( QPoint( 0,0) ) ); 1728 myP = mapFromGlobal( iconToolBar->mapToGlobal( QPoint( 0,0) ) );
1729 if ( p->mToolBarHor ) 1729 if ( p->mToolBarHor )
1730 p->mToolBarUp = myP.y() > height()/2; 1730 p->mToolBarUp = myP.y() > height()/2;
1731 else 1731 else
1732 p->mToolBarUp = myP.x() > width()/2; 1732 p->mToolBarUp = myP.x() > width()/2;
1733 myP = mapFromGlobal( viewToolBar->mapToGlobal( QPoint( 0,0) ) ); 1733 myP = mapFromGlobal( viewToolBar->mapToGlobal( QPoint( 0,0) ) );
1734 if ( p->mToolBarHorV ) 1734 if ( p->mToolBarHorV )
1735 p->mToolBarUpV = myP.y() > height()/2; 1735 p->mToolBarUpV = myP.y() > height()/2;
1736 else 1736 else
1737 p->mToolBarUpV = myP.x() > width()/2 ; 1737 p->mToolBarUpV = myP.x() > width()/2 ;
1738 myP = mapFromGlobal( navigatorToolBar->mapToGlobal( QPoint( 0,0) ) ); 1738 myP = mapFromGlobal( navigatorToolBar->mapToGlobal( QPoint( 0,0) ) );
1739 if ( p->mToolBarHorN ) 1739 if ( p->mToolBarHorN )
1740 p->mToolBarUpN = myP.y() > height()/2; 1740 p->mToolBarUpN = myP.y() > height()/2;
1741 else 1741 else
1742 p->mToolBarUpN = myP.x() > width()/2 ; 1742 p->mToolBarUpN = myP.x() > width()/2 ;
1743 if ( filterToolBar ) { 1743 if ( filterToolBar ) {
1744 myP = mapFromGlobal( filterToolBar->mapToGlobal( QPoint( 0,0) ) ); 1744 myP = mapFromGlobal( filterToolBar->mapToGlobal( QPoint( 0,0) ) );
1745 if ( p->mToolBarHorF ) 1745 if ( p->mToolBarHorF )
1746 p->mToolBarUpF = myP.y() > height()/2; 1746 p->mToolBarUpF = myP.y() > height()/2;
1747 else 1747 else
1748 p->mToolBarUpF = myP.x() > width()/2 ; 1748 p->mToolBarUpF = myP.x() > width()/2 ;
1749 } 1749 }
1750#else 1750#else
1751 if ( p->mToolBarHor ) 1751 if ( p->mToolBarHor )
1752 p->mToolBarUp = iconToolBar->y() > height()/2; 1752 p->mToolBarUp = iconToolBar->y() > height()/2;
1753 else 1753 else
1754 p->mToolBarUp = iconToolBar->x() > width()/2; 1754 p->mToolBarUp = iconToolBar->x() > width()/2;
1755 if ( p->mToolBarHorV ) 1755 if ( p->mToolBarHorV )
1756 p->mToolBarUpV = viewToolBar->y() > height()/2; 1756 p->mToolBarUpV = viewToolBar->y() > height()/2;
1757 else 1757 else
1758 p->mToolBarUpV = viewToolBar->x() > width()/2 ; 1758 p->mToolBarUpV = viewToolBar->x() > width()/2 ;
1759 1759
1760 if ( p->mToolBarHorN ) 1760 if ( p->mToolBarHorN )
1761 p->mToolBarUpN = navigatorToolBar->y() > height()/2; 1761 p->mToolBarUpN = navigatorToolBar->y() > height()/2;
1762 else 1762 else
1763 p->mToolBarUpN = navigatorToolBar->x() > width()/2 ; 1763 p->mToolBarUpN = navigatorToolBar->x() > width()/2 ;
1764 if ( filterToolBar ) { 1764 if ( filterToolBar ) {
1765 if ( p->mToolBarHorF ) 1765 if ( p->mToolBarHorF )
1766 p->mToolBarUpF = filterToolBar->y() > height()/2; 1766 p->mToolBarUpF = filterToolBar->y() > height()/2;
1767 else 1767 else
1768 p->mToolBarUpF = filterToolBar->x() > width()/2 ; 1768 p->mToolBarUpF = filterToolBar->x() > width()/2 ;
1769 } 1769 }
1770#endif 1770#endif
1771 1771
1772 if ( mCalendarModifiedFlag || mView->checkFileChanged( defaultFileName())) 1772 if ( mCalendarModifiedFlag || mView->checkFileChanged( defaultFileName()))
1773 save(); 1773 save();
1774 mView->writeSettings(); 1774 mView->writeSettings();
1775} 1775}
1776void MainWindow::slotModifiedChanged( bool changed ) 1776void MainWindow::slotModifiedChanged( bool changed )
1777{ 1777{
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;
1843 savemes.sprintf(i18n("KO/Pi:File Saved. Needed %d sec, %d ms"),(msNeeded/1000)%100,msNeeded%1000 ); 1843 savemes.sprintf(i18n("KO/Pi:File Saved. Needed %d sec, %d ms"),(msNeeded/1000)%100,msNeeded%1000 );
1844 setCaption(savemes); 1844 setCaption(savemes);
1845 } else 1845 } else
1846 setCaption(i18n("Saving cancelled!")); 1846 setCaption(i18n("Saving cancelled!"));
1847 mSyncManager->setBlockSave( false ); 1847 mSyncManager->setBlockSave( false );
1848} 1848}
1849 1849
1850void MainWindow::keyReleaseEvent ( QKeyEvent * e) 1850void MainWindow::keyReleaseEvent ( QKeyEvent * e)
1851{ 1851{
1852 if ( !e->isAutoRepeat() ) { 1852 if ( !e->isAutoRepeat() ) {
1853 mFlagKeyPressed = false; 1853 mFlagKeyPressed = false;
1854 } 1854 }
1855} 1855}
1856void MainWindow::keyPressEvent ( QKeyEvent * e ) 1856void MainWindow::keyPressEvent ( QKeyEvent * e )
1857{ 1857{
1858 qApp->processEvents(); 1858 qApp->processEvents();
1859 if ( e->isAutoRepeat() && !mFlagKeyPressed ) { 1859 if ( e->isAutoRepeat() && !mFlagKeyPressed ) {
1860 e->ignore(); 1860 e->ignore();
1861 // qDebug(" ignore %d",e->isAutoRepeat() ); 1861 // qDebug(" ignore %d",e->isAutoRepeat() );
1862 return; 1862 return;
1863 } 1863 }
1864 if (! e->isAutoRepeat() ) 1864 if (! e->isAutoRepeat() )
1865 mFlagKeyPressed = true; 1865 mFlagKeyPressed = true;
1866 KOPrefs *p = KOPrefs::instance(); 1866 KOPrefs *p = KOPrefs::instance();
1867 bool showSelectedDates = false; 1867 bool showSelectedDates = false;
1868 int size; 1868 int size;
1869 int pro = 0; 1869 int pro = 0;
1870 //qDebug("MainWindow::keyPressEvent "); 1870 //qDebug("MainWindow::keyPressEvent ");
1871 switch ( e->key() ) { 1871 switch ( e->key() ) {
1872 case Qt::Key_Right: 1872 case Qt::Key_Right:
1873 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton) 1873 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton)
1874 mView->goNextMonth(); 1874 mView->goNextMonth();
1875 else 1875 else
1876 mView->goNext(); 1876 mView->goNext();
1877 showSelectedDates = true; 1877 showSelectedDates = true;
1878 break; 1878 break;
1879 case Qt::Key_Left: 1879 case Qt::Key_Left:
1880 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) 1880 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton )
1881 mView->goPreviousMonth(); 1881 mView->goPreviousMonth();
1882 else 1882 else
1883 mView->goPrevious(); 1883 mView->goPrevious();
1884 showSelectedDates = true; 1884 showSelectedDates = true;
1885 break; 1885 break;
1886 case Qt::Key_Down: 1886 case Qt::Key_Down:
1887 mView->viewManager()->agendaView()->scrollOneHourDown(); 1887 mView->viewManager()->agendaView()->scrollOneHourDown();
1888 break; 1888 break;
1889 case Qt::Key_Up: 1889 case Qt::Key_Up:
1890 mView->viewManager()->agendaView()->scrollOneHourUp(); 1890 mView->viewManager()->agendaView()->scrollOneHourUp();
1891 break; 1891 break;
1892 case Qt::Key_K: 1892 case Qt::Key_K:
1893 mView->viewManager()->showMonthViewWeek(); 1893 mView->viewManager()->showMonthViewWeek();
1894 break; 1894 break;
1895 case Qt::Key_I: 1895 case Qt::Key_I:
1896 mView->showIncidence(); 1896 mView->showIncidence();
1897 break; 1897 break;
1898 case Qt::Key_Delete: 1898 case Qt::Key_Delete:
1899 case Qt::Key_Backspace: 1899 case Qt::Key_Backspace:
1900 mView->deleteIncidence(); 1900 mView->deleteIncidence();
1901 break; 1901 break;
1902 case Qt::Key_D: 1902 case Qt::Key_D:
1903 mView->viewManager()->showDayView(); 1903 mView->viewManager()->showDayView();
1904 showSelectedDates = true; 1904 showSelectedDates = true;
1905 break; 1905 break;
1906 case Qt::Key_O: 1906 case Qt::Key_O:
1907 mView->toggleFilerEnabled( ); 1907 mView->toggleFilerEnabled( );
1908 break; 1908 break;
1909 case Qt::Key_0: 1909 case Qt::Key_0:
1910 case Qt::Key_1: 1910 case Qt::Key_1:
1911 case Qt::Key_2: 1911 case Qt::Key_2:
1912 case Qt::Key_3: 1912 case Qt::Key_3:
1913 case Qt::Key_4: 1913 case Qt::Key_4:
1914 case Qt::Key_5: 1914 case Qt::Key_5:
1915 case Qt::Key_6: 1915 case Qt::Key_6:
1916 case Qt::Key_7: 1916 case Qt::Key_7:
1917 case Qt::Key_8: 1917 case Qt::Key_8:
1918 case Qt::Key_9: 1918 case Qt::Key_9:
1919 pro = e->key()-48; 1919 pro = e->key()-48;
1920 if ( pro == 0 ) 1920 if ( pro == 0 )
1921 pro = 10; 1921 pro = 10;
1922 if ( e->state() == Qt::ControlButton) 1922 if ( e->state() == Qt::ControlButton)
1923 pro += 10; 1923 pro += 10;
1924 break; 1924 break;
1925 case Qt::Key_M: 1925 case Qt::Key_M:
1926 mView->viewManager()->showMonthView(); 1926 mView->viewManager()->showMonthView();
1927 showSelectedDates = true; 1927 showSelectedDates = true;
1928 break; 1928 break;
1929 case Qt::Key_Insert: 1929 case Qt::Key_Insert:
1930 mView->newEvent(); 1930 mView->newEvent();
1931 break; 1931 break;
1932 case Qt::Key_S : 1932 case Qt::Key_S :
1933 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton) 1933 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton)
1934 mView->newSubTodo(); 1934 mView->newSubTodo();
1935 else 1935 else
1936 mView->dialogManager()->showSearchDialog(); 1936 mView->dialogManager()->showSearchDialog();
1937 break; 1937 break;
1938 case Qt::Key_Y : 1938 case Qt::Key_Y :
diff --git a/microkde/kapplication.cpp b/microkde/kapplication.cpp
index 2c9e3b6..f36c5ae 100644
--- a/microkde/kapplication.cpp
+++ b/microkde/kapplication.cpp
@@ -50,197 +50,200 @@ void KApplication::showLicence()
50void KApplication::testCoords( int* x, int* y, int* wid, int * hei ) 50void KApplication::testCoords( int* x, int* y, int* wid, int * hei )
51{ 51{
52 int dWid = QApplication::desktop()->width() ; 52 int dWid = QApplication::desktop()->width() ;
53 int dHei = QApplication::desktop()->height(); 53 int dHei = QApplication::desktop()->height();
54 if ( *x + *wid > dWid ) { 54 if ( *x + *wid > dWid ) {
55 *x = 0; 55 *x = 0;
56 if ( *wid > dWid ) 56 if ( *wid > dWid )
57 *wid = dWid; 57 *wid = dWid;
58 } 58 }
59 if ( *y + *hei > dHei ) { 59 if ( *y + *hei > dHei ) {
60 *y = 0; 60 *y = 0;
61 if ( *hei > dHei ) 61 if ( *hei > dHei )
62 *hei = dHei; 62 *hei = dHei;
63 } 63 }
64} 64}
65void KApplication::showFile(QString caption, QString fn) 65void KApplication::showFile(QString caption, QString fn)
66{ 66{
67 QString text; 67 QString text;
68 QString fileName; 68 QString fileName;
69#ifndef DESKTOP_VERSION 69#ifndef DESKTOP_VERSION
70 fileName = getenv("QPEDIR"); 70 fileName = getenv("QPEDIR");
71 fileName += "/pics/" + fn ; 71 fileName += "/pics/" + fn ;
72#else 72#else
73 fileName = qApp->applicationDirPath () + "/" + fn; 73 fileName = qApp->applicationDirPath () + "/" + fn;
74#endif 74#endif
75 QFile file( fileName ); 75 QFile file( fileName );
76 if (!file.open( IO_ReadOnly ) ) { 76 if (!file.open( IO_ReadOnly ) ) {
77 return ; 77 return ;
78 } 78 }
79 QTextStream ts( &file ); 79 QTextStream ts( &file );
80 text = ts.read(); 80 text = ts.read();
81 file.close(); 81 file.close();
82 KApplication::showText( caption, text ); 82 KApplication::showText( caption, text );
83 83
84} 84}
85 85
86bool KApplication::convert2latin1(QString fileName) 86bool KApplication::convert2latin1(QString fileName)
87{ 87{
88 QString text; 88 QString text;
89 QFile file( fileName ); 89 QFile file( fileName );
90 if (!file.open( IO_ReadOnly ) ) { 90 if (!file.open( IO_ReadOnly ) ) {
91 return false; 91 return false;
92 92
93 } 93 }
94 QTextStream ts( &file ); 94 QTextStream ts( &file );
95 ts.setEncoding( QTextStream::UnicodeUTF8 ); 95 ts.setEncoding( QTextStream::UnicodeUTF8 );
96 text = ts.read(); 96 text = ts.read();
97 file.close(); 97 file.close();
98 if (!file.open( IO_WriteOnly ) ) { 98 if (!file.open( IO_WriteOnly ) ) {
99 return false; 99 return false;
100 } 100 }
101 QTextStream tsIn( &file ); 101 QTextStream tsIn( &file );
102 tsIn.setEncoding( QTextStream::Latin1 ); 102 tsIn.setEncoding( QTextStream::Latin1 );
103 tsIn << text.latin1(); 103 tsIn << text.latin1();
104 file.close(); 104 file.close();
105 return true; 105 return true;
106 106
107 107
108} 108}
109void KApplication::showText(QString caption, QString text) 109void KApplication::showText(QString caption, QString text)
110{ 110{
111 QDialog dia( 0, "name", true ); ; 111 QDialog dia( 0, "name", true ); ;
112 dia.setCaption( caption ); 112 dia.setCaption( caption );
113 QVBoxLayout* lay = new QVBoxLayout( &dia ); 113 QVBoxLayout* lay = new QVBoxLayout( &dia );
114 lay->setSpacing( 3 ); 114 lay->setSpacing( 3 );
115 lay->setMargin( 3 ); 115 lay->setMargin( 3 );
116 KTextEdit tb ( &dia ); 116 KTextEdit tb ( &dia );
117 tb.setWordWrap( QMultiLineEdit::WidgetWidth ); 117 tb.setWordWrap( QMultiLineEdit::WidgetWidth );
118 lay->addWidget( &tb ); 118 lay->addWidget( &tb );
119 tb.setText( text ); 119 tb.setText( text );
120#ifdef DESKTOP_VERSION 120#ifdef DESKTOP_VERSION
121 dia.resize( 640, 480); 121 dia.resize( 640, 480);
122#else 122#else
123 dia.showMaximized(); 123 dia.showMaximized();
124#endif 124#endif
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 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;
211 ++remCount; 214 ++remCount;
212 } 215 }
213 QDateTime mRunStart = QDateTime::currentDateTime(); 216 QDateTime mRunStart = QDateTime::currentDateTime();
214 QString file = "%1%2%3-%4%5%6-"; 217 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 ); 218 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" ); 219 file.replace ( QRegExp (" "), "0" );
217 file += fName ; 220 file += fName ;
218 file = dp + file; 221 file = dp + file;
219 QString command; 222 QString command;
220 int res = 0; 223 int res = 0;
221#ifdef _WIN32_ 224#ifdef _WIN32_
222 command = "copy \""+ QDir::convertSeparators( fn)+ "\" \""+QDir::convertSeparators(file)+ "\" "; 225 command = "copy \""+ QDir::convertSeparators( fn)+ "\" \""+QDir::convertSeparators(file)+ "\" ";
223#else 226#else
224 command = "cp "+ fn+ " "+file; 227 command = "cp "+ fn+ " "+file;
225#endif 228#endif
226 //qDebug("command %s ",command.latin1() ); 229 //qDebug("command %s ",command.latin1() );
227 tryAgain = true; 230 tryAgain = true;
228 while ( tryAgain ) { 231 while ( tryAgain ) {
229 res = system ( command.latin1() ); 232 res = system ( command.latin1() );
230 qDebug("KApp: Copy result %d ", res); 233 qDebug("KApp: Copy result %d ", res);
231 if ( res != 0 ) { 234 if ( res != 0 ) {
232 KBackupPrefs noDir( i18n("<b>The backup copy command failed!</b>")); 235 KBackupPrefs noDir( i18n("<b>The backup copy command failed!</b>"));
233 if ( !noDir.exec() ) return 3; 236 if ( !noDir.exec() ) return 3;
234 if ( noDir.againTomorrow() ) { 237 if ( noDir.againTomorrow() ) {
235 return 0; 238 return 0;
236 } else if ( noDir.later() ) { 239 } else if ( noDir.later() ) {
237 return 3; 240 return 3;
238 } else if ( !noDir.again() ) { 241 } else if ( !noDir.again() ) {
239 return 2; 242 return 2;
240 } 243 }
241 } else { 244 } else {
242 tryAgain = false; 245 tryAgain = false;
243 } 246 }
244 } 247 }
245 return 1; 248 return 1;
246} 249}
diff --git a/version b/version
index 0e45ddc..c0ee423 100644
--- a/version
+++ b/version
@@ -1 +1 @@
version = "2.1.2"; version = "2.1.3";