summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2004-12-04 22:01:08 (UTC)
committer zautrix <zautrix>2004-12-04 22:01:08 (UTC)
commit9c7f3267a1d7db2dbc3bd6384e75cf8ffea1c3df (patch) (unidiff)
tree0b1707f003049d6c86b001d87e2c3e2525ac471e
parent33a7e96870517ccf4b1daf5bfcbac4755ee535b4 (diff)
downloadkdepimpi-9c7f3267a1d7db2dbc3bd6384e75cf8ffea1c3df.zip
kdepimpi-9c7f3267a1d7db2dbc3bd6384e75cf8ffea1c3df.tar.gz
kdepimpi-9c7f3267a1d7db2dbc3bd6384e75cf8ffea1c3df.tar.bz2
translation fixes
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/kaddressbook/germantranslation.txt17
-rw-r--r--bin/kdepim/kaddressbook/usertranslation.txt29
-rw-r--r--bin/kdepim/korganizer/germantranslation.txt4
-rw-r--r--bin/kdepim/korganizer/usertranslation.txt2
-rw-r--r--kaddressbook/kabcore.cpp5
-rw-r--r--korganizer/kowhatsnextview.cpp2
6 files changed, 53 insertions, 6 deletions
diff --git a/bin/kdepim/kaddressbook/germantranslation.txt b/bin/kdepim/kaddressbook/germantranslation.txt
index 85ca87d..b5ad650 100644
--- a/bin/kdepim/kaddressbook/germantranslation.txt
+++ b/bin/kdepim/kaddressbook/germantranslation.txt
@@ -1,539 +1,552 @@
1{ "file","Datei" }, 1{ "file","Datei" },
2{ "Choose one file","Wähle eine Datei" }, 2{ "Choose one file","Wähle eine Datei" },
3{ "dir","Verzeichnis" }, 3{ "dir","Verzeichnis" },
4{ "Choose a directory with may files","Wähle Verzeichnis" }, 4{ "Choose a directory with may files","Wähle Verzeichnis" },
5{ "ldap","ldap" }, 5{ "ldap","ldap" },
6{ "No description available","Keine Beschreibung verfügbar" }, 6{ "No description available","Keine Beschreibung verfügbar" },
7{ "Library files for "%1" not found in paths","Bibliothek für "%1" nicht gefunden" }, 7{ "Library files for "%1" not found in paths","Bibliothek für "%1" nicht gefunden" },
8{ "qtopia","qtopia" }, 8{ "qtopia","qtopia" },
9{ "Qtopia PIM Addressbook.","Qtopia PIM Adressbuch." }, 9{ "Qtopia PIM Addressbook.","Qtopia PIM Adressbuch." },
10{ "vCard","vCard" }, 10{ "vCard","vCard" },
11{ "vCard Format","vCard Format" }, 11{ "vCard Format","vCard Format" },
12{ "microkabcformat_binary","microkabcformat_binary" }, 12{ "microkabcformat_binary","microkabcformat_binary" },
13{ "Binary","Binary" }, 13{ "Binary","Binary" },
14{ "No description available.","Keine Beschreibung verfügbar." }, 14{ "No description available.","Keine Beschreibung verfügbar." },
15{ "Department","Abteilung" }, 15{ "Department","Abteilung" },
16{ "Profession","Beruf" }, 16{ "Profession","Beruf" },
17{ "Assistant's Name","Name d.Assistenten" }, 17{ "Assistant's Name","Name d.Assistenten" },
18{ "Manager's Name","Name d.Manager's" }, 18{ "Manager's Name","Name d.Manager's" },
19{ "Spouse's Name","Name d.Ehegatten" }, 19{ "Spouse's Name","Name d.Ehegatten" },
20{ "Office","Büro" }, 20{ "Office","Büro" },
21{ "IM Address","IM Adresse" }, 21{ "IM Address","IM Adresse" },
22{ "Anniversary","Jahrestag" }, 22{ "Anniversary","Jahrestag" },
23{ "Gender","Geschlecht" }, 23{ "Gender","Geschlecht" },
24{ "Children","Kinder" }, 24{ "Children","Kinder" },
25{ "FreeBusyUrl","FreeBusyUrl" }, 25{ "FreeBusyUrl","FreeBusyUrl" },
26{ "ExternalID","ExternalID" }, 26{ "ExternalID","ExternalID" },
27{ "Resource loaded: '%1'","Resource geladen: '%1'" }, 27{ "Resource loaded: '%1'","Resource geladen: '%1'" },
28{ "Select View","Ansicht wählen" }, 28{ "Select View","Ansicht wählen" },
29{ "Modify View...","Ansicht ändern..." }, 29{ "Modify View...","Ansicht ändern..." },
30{ "Add View...","Ansicht hinzufügen..." }, 30{ "Add View...","Ansicht hinzufügen..." },
31{ "Delete View","Ansicht löschen" }, 31{ "Delete View","Ansicht löschen" },
32{ "Refresh View","Ansicht aktualisieren" }, 32{ "Refresh View","Ansicht aktualisieren" },
33{ "Edit &Filters...","Bearbeite &Filter..." }, 33{ "Edit &Filters...","Bearbeite &Filter..." },
34{ "Select Filter","Filter wählen" }, 34{ "Select Filter","Filter wählen" },
35{ "Style:","Stil:" }, 35{ "Style:","Stil:" },
36{ "HTML table style.","HTML tabellen stil." }, 36{ "HTML table style.","HTML tabellen stil." },
37{ "Default Table View","Standard Tabellen Ansicht" }, 37{ "Default Table View","Standard Tabellen Ansicht" },
38{ "Show Extension Bar","Zeige Extension Bar" }, 38{ "Show Extension Bar","Zeige Extension Bar" },
39{ "None","Kein" }, 39{ "None","Kein" },
40{ "Name...","Name..." }, 40{ "Name...","Name..." },
41{ "Role:","Funktion:" }, 41{ "Role:","Funktion:" },
42{ "Organization:","Firma:" }, 42{ "Organization:","Firma:" },
43{ "Formatted name:","Formatt. Name:" }, 43{ "Formatted name:","Formatt. Name:" },
44{ "Edit Phone Numbers...","Bearbeite Telefonnummern..." }, 44{ "Edit Phone Numbers...","Bearbeite Telefonnummern..." },
45{ "Categories","Kategorien" }, 45{ "Categories","Kategorien" },
46{ "Public","Öffentlich" }, 46{ "Public","Öffentlich" },
47{ "Private","Privat" }, 47{ "Private","Privat" },
48{ "Confidential","Vertraulich" }, 48{ "Confidential","Vertraulich" },
49{ "&General","Allgemein" }, 49{ "&General","Allgemein" },
50{ "&Edit Addresses...","B&earbeite Adressen..." }, 50{ "&Edit Addresses...","B&earbeite Adressen..." },
51{ "Edit Email Addresses...","Bearbeite E-Mail Adressen..." }, 51{ "Edit Email Addresses...","Bearbeite E-Mail Adressen..." },
52{ "Email:","Email:" }, 52{ "Email:","Email:" },
53{ "URL:","URL:" }, 53{ "URL:","URL:" },
54{ "&IM address:","&IM address:" }, 54{ "&IM address:","&IM address:" },
55{ "&Address","&Adresse" }, 55{ "&Address","&Adresse" },
56{ "Department:","Abteilung:" }, 56{ "Department:","Abteilung:" },
57{ "Office:","Büro:" }, 57{ "Office:","Büro:" },
58{ "Profession:","Beruf:" }, 58{ "Profession:","Beruf:" },
59{ "Manager's name:","N.d.Manager's:" }, 59{ "Manager's name:","N.d.Manager's:" },
60{ "Assistant's name:","N.d.Assistenten:" }, 60{ "Assistant's name:","N.d.Assistenten:" },
61{ "Nick name:","Spitzname:" }, 61{ "Nick name:","Spitzname:" },
62{ "Spouse's name:","N.d.Ehegatten:" }, 62{ "Spouse's name:","N.d.Ehegatten:" },
63{ "Children's names:","N.d.Kinder:" }, 63{ "Children's names:","N.d.Kinder:" },
64{ "Birthday:","Geburtstag:" }, 64{ "Birthday:","Geburtstag:" },
65{ " Local Time","Ortszeit" }, 65{ " Local Time","Ortszeit" },
66{ "Mon","Mo" }, 66{ "Mon","Mo" },
67{ "Tue","Di" }, 67{ "Tue","Di" },
68{ "Wed","Mi" }, 68{ "Wed","Mi" },
69{ "Thu","Do" }, 69{ "Thu","Do" },
70{ "Fri","Fr" }, 70{ "Fri","Fr" },
71{ "Sat","Sa" }, 71{ "Sat","Sa" },
72{ "Sun","So" }, 72{ "Sun","So" },
73{ "January","Januar" }, 73{ "January","Januar" },
74{ "February","Februar" }, 74{ "February","Februar" },
75{ "March","März" }, 75{ "March","März" },
76{ "April","April" }, 76{ "April","April" },
77{ "May","Mai" }, 77{ "May","Mai" },
78{ "June","Juni" }, 78{ "June","Juni" },
79{ "July","July" }, 79{ "July","July" },
80{ "August","August" }, 80{ "August","August" },
81{ "September","September" }, 81{ "September","September" },
82{ "October","October" }, 82{ "October","October" },
83{ "November","November" }, 83{ "November","November" },
84{ "December","Dezember" }, 84{ "December","Dezember" },
85{ "tomorrow","Morgen" }, 85{ "tomorrow","Morgen" },
86{ "today","Heute" }, 86{ "today","Heute" },
87{ "yesterday","Gestern" }, 87{ "yesterday","Gestern" },
88{ "Monday","Montag" }, 88{ "Monday","Montag" },
89{ "Tuesday","Dienstag" }, 89{ "Tuesday","Dienstag" },
90{ "Wednesday","Mittwoch" }, 90{ "Wednesday","Mittwoch" },
91{ "Thursday","Donnerstag" }, 91{ "Thursday","Donnerstag" },
92{ "Friday","Freitag" }, 92{ "Friday","Freitag" },
93{ "Saturday","Samstag" }, 93{ "Saturday","Samstag" },
94{ "Sunday","Sonntag" }, 94{ "Sunday","Sonntag" },
95{ "Anniversary:","Jahrestag:" }, 95{ "Anniversary:","Jahrestag:" },
96{ "Gender:","Geschlecht:" }, 96{ "Gender:","Geschlecht:" },
97{ "ALIEN (gender undefined)","ALIEN (Geschlecht unbekannt)" }, 97{ "ALIEN (gender undefined)","ALIEN (Geschlecht unbekannt)" },
98{ "female","weiblich" }, 98{ "female","weiblich" },
99{ "male","männlich" }, 99{ "male","männlich" },
100{ "&Details","&Details" }, 100{ "&Details","&Details" },
101{ "Note:","Notiz:" }, 101{ "Note:","Notiz:" },
102{ "&Notes","&Notizen" }, 102{ "&Notes","&Notizen" },
103{ "Use geo data","Benutze geo Daten" }, 103{ "Use geo data","Benutze geo Daten" },
104{ "Latitude:","Breitengrad:" }, 104{ "Latitude:","Breitengrad:" },
105{ "Longitude:","Längengrad:" }, 105{ "Longitude:","Längengrad:" },
106{ "Edit Geo Data...","Edit geo Daten..." }, 106{ "Edit Geo Data...","Edit geo Daten..." },
107{ "Keys:","Schlüssel:" }, 107{ "Keys:","Schlüssel:" },
108{ "Add","Hinzufügen" }, 108{ "Add","Hinzufügen" },
109{ "Remove","Entfernen" }, 109{ "Remove","Entfernen" },
110{ "Export","Exportiere" }, 110{ "Export","Exportiere" },
111{ "&Misc","Verschiedenes" }, 111{ "&Misc","Verschiedenes" },
112{ "Photo","Foto" }, 112{ "Photo","Foto" },
113{ "Store as URL","Speichere als URL" }, 113{ "Store as URL","Speichere als URL" },
114{ "Logo","Logo" }, 114{ "Logo","Logo" },
115{ "&Images","B&ilder" }, 115{ "&Images","B&ilder" },
116{ "Home","Privat" }, 116{ "Home","Privat" },
117{ "Work","Geschäft" }, 117{ "Work","Geschäft" },
118{ "Mobile","Handy" }, 118{ "Mobile","Handy" },
119{ "Fax","Fax" }, 119{ "Fax","Fax" },
120{ "Contact Editor","Bearbeite Kontakt" }, 120{ "Contact Editor","Bearbeite Kontakt" },
121{ "&Mail...","&Mail..." }, 121{ "&Mail...","&Mail..." },
122{ "&Print...","Drucken..." }, 122{ "&Print...","Drucken..." },
123{ "&Save","&Speichern" }, 123{ "&Save","&Speichern" },
124{ "&New Contact...","&Neuer Kontakt..." }, 124{ "&New Contact...","&Neuer Kontakt..." },
125{ "Mail &vCard...","Mail &vCard..." }, 125{ "Mail &vCard...","Mail &vCard..." },
126{ "Selected to phone","Auswahl zum Telefon" }, 126{ "Selected to phone","Auswahl zum Telefon" },
127{ "Beam selected v&Card(s)","Beame ausgewählte v&Card(s)" }, 127{ "Beam selected v&Card(s)","Beame ausgewählte v&Card(s)" },
128{ "&Beam personal vCard","Beame persönliche vCard" }, 128{ "&Beam personal vCard","Beame persönliche vCard" },
129{ "&Edit Contact...","Bearbeite Kontakt..." }, 129{ "&Edit Contact...","Bearbeite Kontakt..." },
130{ "&Exit","B&eenden" }, 130{ "&Exit","B&eenden" },
131{ "&Copy","Kopieren" }, 131{ "&Copy","Kopieren" },
132{ "Cu&t","Ausschneiden" }, 132{ "Cu&t","Ausschneiden" },
133{ "&Paste","Einfügen" }, 133{ "&Paste","Einfügen" },
134{ "Select &All","Alles auswählen" }, 134{ "Select &All","Alles auswählen" },
135{ "&Undo","Rückgängig machen" }, 135{ "&Undo","Rückgängig machen" },
136{ "Re&do","Wiederherstellen" }, 136{ "Re&do","Wiederherstellen" },
137{ "&Delete Contact","Lösche Kontakt" }, 137{ "&Delete Contact","Lösche Kontakt" },
138{ "Configure &Resources...","Konfiguriere &Resourcen..." }, 138{ "Configure &Resources...","Konfiguriere &Resourcen..." },
139{ "&Configure %1...","Konfiguriere %1..." }, 139{ "&Configure %1...","Konfiguriere %1..." },
140{ "Configure S&hortcuts...","Konfiguriere S&hortcuts..." }, 140{ "Configure S&hortcuts...","Konfiguriere S&hortcuts..." },
141{ "Show Jump Bar","Zeige Jump Bar" }, 141{ "Show Jump Bar","Zeige Jump Bar" },
142{ "Show Details","Zeige Details" }, 142{ "Show Details","Zeige Details" },
143{ "Beam receive enabled","Beam (IR) Empfang AN" }, 143{ "Beam receive enabled","Beam (IR) Empfang AN" },
144{ "Set Who Am I","Setze "wer bin ich"" }, 144{ "Set Who Am I","Setze "wer bin ich"" },
145{ "Set Categories","Wähle Kategorien" }, 145{ "Set Categories","Wähle Kategorien" },
146{ "Edit Categories","Editiere Kategorien" }, 146{ "Edit Categories","Editiere Kategorien" },
147{ "Remove "voice"...","Entferne "voice"..." }, 147{ "Remove "voice"...","Entferne "voice"..." },
148{ "Import from Outlook...","Importiere aus Outlook..." }, 148{ "Import from Outlook...","Importiere aus Outlook..." },
149{ "Licence","Lizenz" }, 149{ "Licence","Lizenz" },
150{ "Faq","Fragen + Antworten" }, 150{ "Faq","Fragen + Antworten" },
151{ "What's New?","Was ist neu?" }, 151{ "What's New?","Was ist neu?" },
152{ "Sync HowTo","Sync Anleitung" }, 152{ "Sync HowTo","Sync Anleitung" },
153{ "&About KAddressBook","Über KAdressBuch" }, 153{ "&About KAddressBook","Über KAdressBuch" },
154{ "Select Incremental Search Field","Selektiere Such Feld" }, 154{ "Select Incremental Search Field","Selektiere Such Feld" },
155{ "Synchronize","Synchronisieren" }, 155{ "Synchronize","Synchronisieren" },
156{ "Configure...","Konfigurieren..." }, 156{ "Configure...","Konfigurieren..." },
157{ "Enable Pi-Sync","Aktiviere Pi-Sync" }, 157{ "Enable Pi-Sync","Aktiviere Pi-Sync" },
158{ "Multiple sync","Mehrfach Sync" }, 158{ "Multiple sync","Mehrfach Sync" },
159{ "Import CSV List...","Importiere CSV-Datei..." }, 159{ "Import CSV List...","Importiere CSV-Datei..." },
160{ "Export CSV List...","Exportiere CSV-Datei..." }, 160{ "Export CSV List...","Exportiere CSV-Datei..." },
161{ "Import KDE 2 Addressbook...","Importiere KDE 2 Adressbuch..." }, 161{ "Import KDE 2 Addressbook...","Importiere KDE 2 Adressbuch..." },
162{ "Import vCard...","Importiere vCard..." }, 162{ "Import vCard...","Importiere vCard..." },
163{ "Export vCard 3.0...","Exportiere vCard 3.0..." }, 163{ "Export vCard 3.0...","Exportiere vCard 3.0..." },
164{ "Import Qtopia...","Importiere Qtopia..." }, 164{ "Import Qtopia...","Importiere Qtopia..." },
165{ "Export Qtopia...","Exportiere Qtopia..." }, 165{ "Export Qtopia...","Exportiere Qtopia..." },
166{ "Edit Contact","Bearbeite Kontakt" }, 166{ "Edit Contact","Bearbeite Kontakt" },
167{ "Ok","Ok" }, 167{ "Ok","Ok" },
168{ "Apply","Anwenden" }, 168{ "Apply","Anwenden" },
169{ "Cancel","Abbrechen" }, 169{ "Cancel","Abbrechen" },
170{ "KAddressbook/Pi","KAdressbuch/Pi" }, 170{ "KAddressbook/Pi","KAdressbuch/Pi" },
171{ "No Filter","Kein Filter" }, 171{ "No Filter","Kein Filter" },
172{ "Given Name","Vorname" }, 172{ "Given Name","Vorname" },
173{ "Family Name","Nachname" }, 173{ "Family Name","Nachname" },
174{ "Email Address","E-Mail Adresse" }, 174{ "Email Address","E-Mail Adresse" },
175{ "All Fields","Alle Felder" }, 175{ "All Fields","Alle Felder" },
176{ "Question","Frage" }, 176{ "Question","Frage" },
177{ "After importing, phone numbers\nmay have two or more types.\n(E.g. work+voice)\nThese numbers are shown as "other".\nClick Yes to remove the voice type\nfrom numbers with more than one type.\n\nRemove voice type?","After importing, phone numbers\nmay have two or more types.\n(E.g. work+voice)\nThese numbers are shown as "other".\nClick Yes to remove the voice type\nfrom numbers with more than one type.\n\nRemove voice type?" }, 177{ "After importing, phone numbers\nmay have two or more types.\n(E.g. work+voice)\nThese numbers are shown as "other".\nClick Yes to remove the voice type\nfrom numbers with more than one type.\n\nRemove voice type?","After importing, phone numbers\nmay have two or more types.\n(E.g. work+voice)\nThese numbers are shown as "other".\nClick Yes to remove the voice type\nfrom numbers with more than one type.\n\nRemove voice type?" },
178{ "No","Nein" }, 178{ "No","Nein" },
179{ "Yes","Ja" }, 179{ "Yes","Ja" },
180{ "Synchronization Preferences","Einstellungen der Synchronisationsprofile" }, 180{ "Synchronization Preferences","Einstellungen der Synchronisationsprofile" },
181{ "Local device name:","Name dieses Gerätes:" }, 181{ "Local device name:","Name dieses Gerätes:" },
182{ "New profile","Neues Profil" }, 182{ "New profile","Neues Profil" },
183{ "Clone profile","Klone Profil" }, 183{ "Clone profile","Klone Profil" },
184{ "Delete profile","Lösche Profil" }, 184{ "Delete profile","Lösche Profil" },
185{ "Profile:","Profil:" }, 185{ "Profile:","Profil:" },
186{ "Ask for every entry on conflict","Frage bei Konflikten nach"}, 186{ "Ask for every entry on conflict","Frage bei Konflikten nach"},
187{ "Take local entry on conflict","Nimm lokalen Eintrag beim Konflikt" }, 187{ "Take local entry on conflict","Nimm lokalen Eintrag beim Konflikt" },
188{ "Take newest entry on conflict","Nimm neuesten Eintrag beim Konflikt" }, 188{ "Take newest entry on conflict","Nimm neuesten Eintrag beim Konflikt" },
189{ "Take remote entry on conflict","Nimm fernen Eintrag beim Konflikt" }, 189{ "Take remote entry on conflict","Nimm fernen Eintrag beim Konflikt" },
190{ "Include in multiple sync","Beziehe Profil in mehrfach Sync mit ein" }, 190{ "Include in multiple sync","Beziehe Profil in mehrfach Sync mit ein" },
191{ "Force: Take local entry always","Erzwinge: Nimm immer lokalen Eintrag" }, 191{ "Force: Take local entry always","Erzwinge: Nimm immer lokalen Eintrag" },
192{ "Force: Take remote entry always","Erzwinge: Nimm immer fernen Eintrag" }, 192{ "Force: Take remote entry always","Erzwinge: Nimm immer fernen Eintrag" },
193{ "Show summary after sync","Zeige Zusammenfassung nach dem Synchronisieren" }, 193{ "Show summary after sync","Zeige Zusammenfassung nach dem Synchronisieren" },
194{ "Write back file","Schreibe Datei zurück" }, 194{ "Write back file","Schreibe Datei zurück" },
195{ "Remote file (w down/upload command)","Entfernte Datei (via down/upload Kommando)" }, 195{ "Remote file (w down/upload command)","Entfernte Datei (via down/upload Kommando)" },
196{ "Pre sync (download) command:","Bevor Sync (download) Kommando:" }, 196{ "Pre sync (download) command:","Bevor Sync (download) Kommando:" },
197{ "Local device name:","Name dieses Gerätes:" }, 197{ "Local device name:","Name dieses Gerätes:" },
198{ "Ask for preferences before sync","Frage nach Synchronisationseinstellungen vor dem Syncen" }, 198{ "Ask for preferences before sync","Frage nach Synchronisationseinstellungen vor dem Syncen" },
199{ "Sync preferences","Synchronisations Einstellungen" }, 199{ "Sync preferences","Synchronisations Einstellungen" },
200{ "Profile kind","Profil Art" }, 200{ "Profile kind","Profil Art" },
201{ "Local file","Lokale Datei" }, 201{ "Local file","Lokale Datei" },
202{ "Local file:","Lokale Datei:" }, 202{ "Local file:","Lokale Datei:" },
203{ "Post sync (upload) command:","Nach Sync (upload) Kommando:" }, 203{ "Post sync (upload) command:","Nach Sync (upload) Kommando:" },
204{ "Fill in default values for:","Setze Beispiel Werte ein für:" }, 204{ "Fill in default values for:","Setze Beispiel Werte ein für:" },
205{ "Hint: Use $PWD$ for placeholder of password!","Hinweis: Benutze $PWD$ als Platzhalter für ein Passwort!" }, 205{ "Hint: Use $PWD$ for placeholder of password!","Hinweis: Benutze $PWD$ als Platzhalter für ein Passwort!" },
206{ "Synchronization Preferences","Einstellungen der Synchronisationsprofile"}, 206{ "Synchronization Preferences","Einstellungen der Synchronisationsprofile"},
207{ "Device","Gerät:" }, 207{ "Device","Gerät:" },
208{ "Sync with file \n...%1\nfrom:\n%2\n","Sync mit Datei \n...%1\nvom:\n%2\n" }, 208{ "Sync with file \n...%1\nfrom:\n%2\n","Sync mit Datei \n...%1\nvom:\n%2\n" },
209{ "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","Synchronisationsübersicht:\n\n %d items lokal hinzugefügt\n %d items entfernt hinzugefügt\n %d items lokal geändert\n %d items entfernt geändert\n %d items lokal gelöscht\n %d items entfernt gelöscht\n" }, 209{ "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","Synchronisationsübersicht:\n\n %d items lokal hinzugefügt\n %d items entfernt hinzugefügt\n %d items lokal geändert\n %d items entfernt geändert\n %d items lokal gelöscht\n %d items entfernt gelöscht\n" },
210{ "Synchronization successful","Synchronisation erfolgreich" }, 210{ "Synchronization successful","Synchronisation erfolgreich" },
211{ "Sync cancelled or failed. Nothing synced.","Sync abgebrochen oder fehlgeschlagen. Nichts wurde gesynced." }, 211{ "Sync cancelled or failed. Nothing synced.","Sync abgebrochen oder fehlgeschlagen. Nichts wurde gesynced." },
212{ "Sync file \n...%1\ndoes not exist!\nNothing synced!\n","Sync Datei \n...%1\nexistiert nicht!\nNichts wurde gesynced!\n" }, 212{ "Sync file \n...%1\ndoes not exist!\nNothing synced!\n","Sync Datei \n...%1\nexistiert nicht!\nNichts wurde gesynced!\n" },
213{ "Sync filename(*.ics/*.vcs)","Sync Dateiname(*.ics/*.vcs)" }, 213{ "Sync filename(*.ics/*.vcs)","Sync Dateiname(*.ics/*.vcs)" },
214{ "Enter password","Passwort eingeben" }, 214{ "Enter password","Passwort eingeben" },
215{ "Do you really want\nto remote sync\nwith profile \n","Wollen Sie wirklich\nmit dem entfernten\nProfil syncen: \n" }, 215{ "Do you really want\nto remote sync\nwith profile \n","Wollen Sie wirklich\nmit dem entfernten\nProfil syncen: \n" },
216{ "Copy remote file to local machine...","Kopiere entfernte Datei auf lokalen Rechner..." }, 216{ "Copy remote file to local machine...","Kopiere entfernte Datei auf lokalen Rechner..." },
217{ "Sorry, the copy command failed!\nCommand was:\n%1\n \nTry command on console to get more\ndetailed info about the reason.\n","Sorry, das Kopierkommando schlug fehl!\nKommando war:\n%1\n \nVersuche Kommando von Kosole um\nDetails für das Fehlschlagen\nzu erfahren.\n" }, 217{ "Sorry, the copy command failed!\nCommand was:\n%1\n \nTry command on console to get more\ndetailed info about the reason.\n","Sorry, das Kopierkommando schlug fehl!\nKommando war:\n%1\n \nVersuche Kommando von Kosole um\nDetails für das Fehlschlagen\nzu erfahren.\n" },
218{ "Writing back file result: ","Resultat des Dateizurückschreibens: " }, 218{ "Writing back file result: ","Resultat des Dateizurückschreibens: " },
219{ "Syncronization sucessfully completed","Synchronisation erfolgreich abgeschlossen" }, 219{ "Syncronization sucessfully completed","Synchronisation erfolgreich abgeschlossen" },
220{ "Used %1 Client","Benutzter %1 Client" }, 220{ "Used %1 Client","Benutzter %1 Client" },
221{ "No email client installed","Kein Email Klient installiert" }, 221{ "No email client installed","Kein Email Klient installiert" },
222{ "Userdefined email client","Benutzerdef. Email Klient" }, 222{ "Userdefined email client","Benutzerdef. Email Klient" },
223{ "OM/Pi email client","OM/Pi Email Klient" }, 223{ "OM/Pi email client","OM/Pi Email Klient" },
224{ "Include in multiple ","Beziehe in multiple " }, 224{ "Include in multiple ","Beziehe in multiple " },
225{ "calendar ","Kalender " }, 225{ "calendar ","Kalender " },
226{ "addressbook ","Adressbuch " }, 226{ "addressbook ","Adressbuch " },
227{ "pwmanager","PWmanager" }, 227{ "pwmanager","PWmanager" },
228{ " sync"," Sync ein" }, 228{ " sync"," Sync ein" },
229{ "Write back synced data","Schreibe gesyncte Daten zurück" }, 229{ "Write back synced data","Schreibe gesyncte Daten zurück" },
230{ "-- Write back (on remote) existing entries only","-- Schreibe nur existierende (entfernte) Einträge zurück" }, 230{ "-- Write back (on remote) existing entries only","-- Schreibe nur existierende (entfernte) Einträge zurück" },
231{ "-- Write back (calendar) entries in future only","-- Schreibe nur zukünftige Kalender-Einträge zurück" }, 231{ "-- Write back (calendar) entries in future only","-- Schreibe nur zukünftige Kalender-Einträge zurück" },
232{ "---- Max. weeks in future: ","---- Max. wochen in der Zukunft: " }, 232{ "---- Max. weeks in future: ","---- Max. wochen in der Zukunft: " },
233{ "Pi-Sync ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync ( direktes Kx/Pi zu Kx/Pi sync )" }, 233{ "Pi-Sync ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync ( direktes Kx/Pi zu Kx/Pi sync )" },
234{ "Mobile device (cell phone)","Mobiles Gerät (Handy)" }, 234{ "Mobile device (cell phone)","Mobiles Gerät (Handy)" },
235{ "Help...","Hilfe..." }, 235{ "Help...","Hilfe..." },
236{ "Local file Cal:","Lokale Datei Kal:" }, 236{ "Local file Cal:","Lokale Datei Kal:" },
237{ "Local file ABook:","Lokale Datei ABuch:" }, 237{ "Local file ABook:","Lokale Datei ABuch:" },
238{ "Local file PWMgr:","Lokale Datei PWMgr:" }, 238{ "Local file PWMgr:","Lokale Datei PWMgr:" },
239{ "Addressbook file (*.vcf) is used by KA/Pi","Adressbuch Datei (*.vcf) wird von KA/Pi genutzt" }, 239{ "Addressbook file (*.vcf) is used by KA/Pi","Adressbuch Datei (*.vcf) wird von KA/Pi genutzt" },
240{ "Calendar:","Kalender:" }, 240{ "Calendar:","Kalender:" },
241{ "AddressBook:","AdressBuch:" }, 241{ "AddressBook:","AdressBuch:" },
242{ "PWManager:","PWManager:" }, 242{ "PWManager:","PWManager:" },
243{ "Addressbook file is used by KA/Pi","Adressbuch Datei wird von KA/Pi genutzt" }, 243{ "Addressbook file is used by KA/Pi","Adressbuch Datei wird von KA/Pi genutzt" },
244{ "ssh/scp","ssh/scp" }, 244{ "ssh/scp","ssh/scp" },
245{ "ftp","ftp" }, 245{ "ftp","ftp" },
246{ "Password for remote access: (could be the same for each)","Passwort für entfernten Zugriff: (kann dasselbe sein für alle)" }, 246{ "Password for remote access: (could be the same for each)","Passwort für entfernten Zugriff: (kann dasselbe sein für alle)" },
247{ "Remote IP address: (could be the same for each)","Entfernte IP Adresse: (kann dasselbe sein für alle)" }, 247{ "Remote IP address: (could be the same for each)","Entfernte IP Adresse: (kann dasselbe sein für alle)" },
248{ "Remote port number: (should be different for each)","Entfernte Port Nummer: (Sollte für alle unterschiedlich sein)" }, 248{ "Remote port number: (should be different for each)","Entfernte Port Nummer: (Sollte für alle unterschiedlich sein)" },
249{ "command for downloading remote file to local device","Kommando zum Download der entfernten Datei zum lokalen Gerät" }, 249{ "command for downloading remote file to local device","Kommando zum Download der entfernten Datei zum lokalen Gerät" },
250{ "command for uploading local temp file to remote device","Kommando zum Upload der lokalen temp. Datei zum entfernten Gerät" }, 250{ "command for uploading local temp file to remote device","Kommando zum Upload der lokalen temp. Datei zum entfernten Gerät" },
251{ "Insert device where\nphone is connected. E.g.:\n","Füge Device ein, an dem\ndas Handy angeschlossen ist. Z.B.:\n" }, 251{ "Insert device where\nphone is connected. E.g.:\n","Füge Device ein, an dem\ndas Handy angeschlossen ist. Z.B.:\n" },
252{ "KDE-Pim sync config","KDE-Pim sync Konfig" }, 252{ "KDE-Pim sync config","KDE-Pim sync Konfig" },
253{ "Insert kind of connection,e.g.:\n","Füge Art der Verbindung ein,z.B.:\n" }, 253{ "Insert kind of connection,e.g.:\n","Füge Art der Verbindung ein,z.B.:\n" },
254{ "Recommended: Leave empty!\n(Such that model can\nbe auto detected)\nOr insert name of model:\n","Empfohlen: Leer lassen!\n(So dass das Model\nautomatisch erkannt\nwerden kann)\nOder füge Model Name ein:\n" }, 254{ "Recommended: Leave empty!\n(Such that model can\nbe auto detected)\nOr insert name of model:\n","Empfohlen: Leer lassen!\n(So dass das Model\nautomatisch erkannt\nwerden kann)\nOder füge Model Name ein:\n" },
255{ "Port number (Default: %1)","Port Nummer (Default: %1)" }, 255{ "Port number (Default: %1)","Port Nummer (Default: %1)" },
256{ "Password to enable\naccess from remote:","Passwort um entfernten\nZugriff zuzulassen:" }, 256{ "Password to enable\naccess from remote:","Passwort um entfernten\nZugriff zuzulassen:" },
257{ "Automatically start\nat application startup","Starte automatisch\nbeim Programmstart" }, 257{ "Automatically start\nat application startup","Starte automatisch\nbeim Programmstart" },
258{ "Automatically sync\nwith KDE-Desktop","Automatischer Sync\nmit dem KDE-Desktop" }, 258{ "Automatically sync\nwith KDE-Desktop","Automatischer Sync\nmit dem KDE-Desktop" },
259{ "Enter port for Pi-Sync","Port Nummer für Pi-Sync" }, 259{ "Enter port for Pi-Sync","Port Nummer für Pi-Sync" },
260{ "Disable Pi-Sync","Schalte Pi-Sync aus" }, 260{ "Disable Pi-Sync","Schalte Pi-Sync aus" },
261{ "Do you really want\nto multiple sync\nwith all checked profiles?\nSyncing takes some\ntime - all profiles\nare synced twice!","Wollen Sie wirklich\nmit allen selektierten\nProfilen \"Multi-Syncen\"?\nDas Syncen dauert einige Zeit -\nalle Profile werden zweimal gesynct!" }, 261{ "Do you really want\nto multiple sync\nwith all checked profiles?\nSyncing takes some\ntime - all profiles\nare synced twice!","Wollen Sie wirklich\nmit allen selektierten\nProfilen \"Multi-Syncen\"?\nDas Syncen dauert einige Zeit -\nalle Profile werden zweimal gesynct!" },
262{ "KDE-Pim Sync","KDE-Pim Sync" }, 262{ "KDE-Pim Sync","KDE-Pim Sync" },
263{ "Multiple profiles","Multi-Sync Profile" }, 263{ "Multiple profiles","Multi-Sync Profile" },
264{ "Device: ","Gerät: " }, 264{ "Device: ","Gerät: " },
265{ "Multiple sync started.","Multi-Sync gestartet." }, 265{ "Multiple sync started.","Multi-Sync gestartet." },
266{ "Nothing synced! No profiles defined for multisync!","Nichts gesynct! Keine Profile\nselektiert für Multi-Sync" }, 266{ "Nothing synced! No profiles defined for multisync!","Nichts gesynct! Keine Profile\nselektiert für Multi-Sync" },
267{ "KDE-Pim sync config","KDE-Pim Sync Konfig" }, 267{ "KDE-Pim sync config","KDE-Pim Sync Konfig" },
268{ "Insert kind of connection,e.g.:\n","Füge Art der Verbindung ein, z.B.:\n" }, 268{ "Insert kind of connection,e.g.:\n","Füge Art der Verbindung ein, z.B.:\n" },
269{ "Recommended: Leave empty!\n(Such that model can\nbe auto detected)\nOr insert name of model:\n","Empfohlen: Leer lassen!\n(So dass das Modell\nautomatisch\erkannt\nwerden kann)\nOder füge Model Name ein:\n" }, 269{ "Recommended: Leave empty!\n(Such that model can\nbe auto detected)\nOr insert name of model:\n","Empfohlen: Leer lassen!\n(So dass das Modell\nautomatisch\erkannt\nwerden kann)\nOder füge Model Name ein:\n" },
270{ "KO/Pi config error","KO/Pi Konfig. Fehler" }, 270{ "KO/Pi config error","KO/Pi Konfig. Fehler" },
271{ "Local device name undefined!\nPlease define device name!","Name dieses Gerätes undefiniert!\nBitte Namen angeben!" }, 271{ "Local device name undefined!\nPlease define device name!","Name dieses Gerätes undefiniert!\nBitte Namen angeben!" },
272{ "Edit Address Book Filters","Editiere Addressbuch Filter" }, 272{ "Edit Address Book Filters","Editiere Addressbuch Filter" },
273{ "&Add...","Hinzufügen..." }, 273{ "&Add...","Hinzufügen..." },
274{ "&Edit...","B&earbeiten..." }, 274{ "&Edit...","B&earbeiten..." },
275{ "&Remove","Entfe&rne" }, 275{ "&Remove","Entfe&rne" },
276{ "Modify View: ","Ansicht ändern: " }, 276{ "Modify View: ","Ansicht ändern: " },
277{ "Fields","Felder" }, 277{ "Fields","Felder" },
278{ "Select Fields to Display","Wähle anzuzeigende Felder" }, 278{ "Select Fields to Display","Wähle anzuzeigende Felder" },
279{ "All","Alles" }, 279{ "All","Alles" },
280{ "Frequent","Frequent" }, 280{ "Frequent","Frequent" },
281{ "Address","Adresse" }, 281{ "Address","Adresse" },
282{ "Email","E-Mail" }, 282{ "Email","E-Mail" },
283{ "Personal","Persönl." }, 283{ "Personal","Persönl." },
284{ "Organization","Organisation" }, 284{ "Organization","Organisation" },
285{ "Custom","Benutzerdefiniert" }, 285{ "Custom","Benutzerdefiniert" },
286{ "&Selected\nfields:","&Selectierte\nFelder:" }, 286{ "&Selected\nfields:","&Selectierte\nFelder:" },
287{ "Formatted Name","Format. Name" }, 287{ "Formatted Name","Format. Name" },
288{ "Additional Names","Mittelname" }, 288{ "Additional Names","Mittelname" },
289{ "Honorific Prefixes","Namen Prefix" }, 289{ "Honorific Prefixes","Namen Prefix" },
290{ "Honorific Suffixes","Namen Suffix" }, 290{ "Honorific Suffixes","Namen Suffix" },
291{ "Nick Name","Sptitzname" }, 291{ "Nick Name","Sptitzname" },
292{ "Birthday","Geburtstag" }, 292{ "Birthday","Geburtstag" },
293{ "Home Address Street","Privat Adresse Strasse" }, 293{ "Home Address Street","Privat Adresse Strasse" },
294{ "Home Address Locality","Privat Adresse Stadt" }, 294{ "Home Address Locality","Privat Adresse Stadt" },
295{ "Home Address Region","Privat Adresse Bundesland" }, 295{ "Home Address Region","Privat Adresse Bundesland" },
296{ "Home Address Postal Code","Privat Adresse PLZ" }, 296{ "Home Address Postal Code","Privat Adresse PLZ" },
297{ "Home Address Country","Privat Adresse Land" }, 297{ "Home Address Country","Privat Adresse Land" },
298{ "Home Address Label","Privat Adresse Label" }, 298{ "Home Address Label","Privat Adresse Label" },
299{ "Business Address Street","Büro Adresse Strasse" }, 299{ "Business Address Street","Büro Adresse Strasse" },
300{ "Business Address Locality","Büro Adresse Stadt" }, 300{ "Business Address Locality","Büro Adresse Stadt" },
301{ "Business Address Region","Büro Adresse Bundesland" }, 301{ "Business Address Region","Büro Adresse Bundesland" },
302{ "Business Address Postal Code","Büro Adresse PLZ" }, 302{ "Business Address Postal Code","Büro Adresse PLZ" },
303{ "Business Address Country","Büro Adresse Land" }, 303{ "Business Address Country","Büro Adresse Land" },
304{ "Business Address Label","Büro Adresse Label" }, 304{ "Business Address Label","Büro Adresse Label" },
305{ "Home Phone","Privat Telefon" }, 305{ "Home Phone","Privat Telefon" },
306{ "Business Phone","Büro Telefon" }, 306{ "Business Phone","Büro Telefon" },
307{ "Mobile Phone","Handy" }, 307{ "Mobile Phone","Handy" },
308{ "Home Fax","Privat Fax" }, 308{ "Home Fax","Privat Fax" },
309{ "Business Fax","Büro Fax" }, 309{ "Business Fax","Büro Fax" },
310{ "Car Phone","Autotelefon" }, 310{ "Car Phone","Autotelefon" },
311{ "ISDN","ISDN" }, 311{ "ISDN","ISDN" },
312{ "Pager","Pager" }, 312{ "Pager","Pager" },
313{ "Mail Client","Mail Client" }, 313{ "Mail Client","Mail Client" },
314{ "Title","Titel" }, 314{ "Title","Titel" },
315{ "Role","Rolle" }, 315{ "Role","Rolle" },
316{ "Note","Notiz" }, 316{ "Note","Notiz" },
317{ "URL","URL" }, 317{ "URL","URL" },
318{ "Resource","Resource" }, 318{ "Resource","Resource" },
319{ "SIP","SIP" }, 319{ "SIP","SIP" },
320{ "Default Filter","Default Filter" }, 320{ "Default Filter","Default Filter" },
321{ "The default filter will be activated whenever this view is displayed. This feature allows you to configure views that only interact with certain types of information based on the filter. Once the view is activated, the filter can be changed at anytime.","#The default filter will be activated whenever this view is displayed. This feature allows you to configure views that only interact with certain types of information based on the filter. Once the view is activated, the filter can be changed at anytime." }, 321{ "The default filter will be activated whenever this view is displayed. This feature allows you to configure views that only interact with certain types of information based on the filter. Once the view is activated, the filter can be changed at anytime.","#The default filter will be activated whenever this view is displayed. This feature allows you to configure views that only interact with certain types of information based on the filter. Once the view is activated, the filter can be changed at anytime." },
322{ "No default filter","Kein default Filter" }, 322{ "No default filter","Kein default Filter" },
323{ "Use last active filter","Nutze letzen aktiven Filter" }, 323{ "Use last active filter","Nutze letzen aktiven Filter" },
324{ "Use filter:","Nutze Filter:" }, 324{ "Use filter:","Nutze Filter:" },
325{ "Look & Feel","Look & Feel" }, 325{ "Look & Feel","Look & Feel" },
326{ "Row Separator","Reihen Separator" }, 326{ "Row Separator","Reihen Separator" },
327{ "Alternating backgrounds","Abwechselnder Hintergrund" }, 327{ "Alternating backgrounds","Abwechselnder Hintergrund" },
328{ "Single line","Einzelne Zeile" }, 328{ "Single line","Einzelne Zeile" },
329{ "Enable background image:","Hintergrundbild:" }, 329{ "Enable background image:","Hintergrundbild:" },
330{ "Enable contact tooltips","Contact Tooltips" }, 330{ "Enable contact tooltips","Contact Tooltips" },
331{ "&Enable custom Colors","Benutzerdef. Farben" }, 331{ "&Enable custom Colors","Benutzerdef. Farben" },
332{ "&Colors","Farben" }, 332{ "&Colors","Farben" },
333{ "If custom colors are enabled, you may choose the colors for the view below. Otherwise colors from your current KDE color scheme are used.","#If custom colors are enabled, you may choose the colors for the view below. Otherwise colors from your current KDE color scheme are used." }, 333{ "If custom colors are enabled, you may choose the colors for the view below. Otherwise colors from your current KDE color scheme are used.","#If custom colors are enabled, you may choose the colors for the view below. Otherwise colors from your current KDE color scheme are used." },
334{ "Double click or press RETURN on a item to select a color for the related strings in the view.","#Double click or press RETURN on a item to select a color for the related strings in the view." }, 334{ "Double click or press RETURN on a item to select a color for the related strings in the view.","#Double click or press RETURN on a item to select a color for the related strings in the view." },
335{ "&Enable custom fonts","B&enutzerdefinierte Schriften" }, 335{ "&Enable custom fonts","B&enutzerdefinierte Schriften" },
336{ "&Text font:","Textschriftart:" }, 336{ "&Text font:","Textschriftart:" },
337{ "&Header font:","Titelschriftart:" }, 337{ "&Header font:","Titelschriftart:" },
338{ "If custom fonts are enabled, you may choose which fonts to use for this view below. Otherwise the default KDE font will be used, in bold style for the header and normal style for the data.","#If custom fonts are enabled, you may choose which fonts to use for this view below. Otherwise the default KDE font will be used, in bold style for the header and normal style for the data." }, 338{ "If custom fonts are enabled, you may choose which fonts to use for this view below. Otherwise the default KDE font will be used, in bold style for the header and normal style for the data.","#If custom fonts are enabled, you may choose which fonts to use for this view below. Otherwise the default KDE font will be used, in bold style for the header and normal style for the data." },
339{ "&Fonts","Schri&ften" }, 339{ "&Fonts","Schri&ften" },
340{ "Background Color","Hintergrundfarbe" }, 340{ "Background Color","Hintergrundfarbe" },
341{ "Text Color","Textfarbe" }, 341{ "Text Color","Textfarbe" },
342{ "Header Background Color","Titel Hintergrundfarbe" }, 342{ "Header Background Color","Titel Hintergrundfarbe" },
343{ "Header Text Color","Titel Farbe" }, 343{ "Header Text Color","Titel Farbe" },
344{ "Highlight Color","Auswahlfarbe" }, 344{ "Highlight Color","Auswahlfarbe" },
345{ "Highlighted Text Color","Auswahltextfarbe" }, 345{ "Highlighted Text Color","Auswahltextfarbe" },
346{ "Alternating Background Color","Abwechselnder Hintergrundfarbe" }, 346{ "Alternating Background Color","Abwechselnder Hintergrundfarbe" },
347{ "Postal","Post" }, 347{ "Postal","Post" },
348{ "Dr.","Dr." }, 348{ "Dr.","Dr." },
349{ "Miss","Frl." }, 349{ "Miss","Frl." },
350{ "Mr.","Herr" }, 350{ "Mr.","Herr" },
351{ "Mrs.","Frau" }, 351{ "Mrs.","Frau" },
352{ "Ms.","Fr." }, 352{ "Ms.","Fr." },
353{ "Prof.","Prof." }, 353{ "Prof.","Prof." },
354{ "I","I" }, 354{ "I","I" },
355{ "II","II" }, 355{ "II","II" },
356{ "III","III" }, 356{ "III","III" },
357{ "Jr.","Jr." }, 357{ "Jr.","Jr." },
358{ "Sr.","Sr." }, 358{ "Sr.","Sr." },
359{ "Name:","Name:" }, 359{ "Name:","Name:" },
360{ "Documents","Dokumente" }, 360{ "Documents","Dokumente" },
361{ "Files","Dateien" }, 361{ "Files","Dateien" },
362{ "All Files","Alle Dateien" }, 362{ "All Files","Alle Dateien" },
363{ "Name","Name" }, 363{ "Name","Name" },
364{ "Size","Größe" }, 364{ "Size","Größe" },
365{ "Date","Datum" }, 365{ "Date","Datum" },
366{ "Mime Type","Mime Typ" }, 366{ "Mime Type","Mime Typ" },
367{ "Geo Data Input","Geo Dateneingabe" }, 367{ "Geo Data Input","Geo Dateneingabe" },
368{ "Sexagesimal","Sexagesimal" }, 368{ "Sexagesimal","Sexagesimal" },
369{ "North","Nord" }, 369{ "North","Nord" },
370{ "South","Süd" }, 370{ "South","Süd" },
371{ "East","Ost" }, 371{ "East","Ost" },
372{ "West","West" }, 372{ "West","West" },
373{ "Undefined","Unbestimmt" }, 373{ "Undefined","Unbestimmt" },
374{ "Edit Address","Bearbeite Adresse" }, 374{ "Edit Address","Bearbeite Adresse" },
375{ "Street:","Strasse:" }, 375{ "Street:","Strasse:" },
376{ "Post office box:","Postfach:" }, 376{ "Post office box:","Postfach:" },
377{ "Locality:","Stadt:" }, 377{ "Locality:","Stadt:" },
378{ "Region:","Region:" }, 378{ "Region:","Region:" },
379{ "Postal code:","PLZ:" }, 379{ "Postal code:","PLZ:" },
380{ "Country:","Staat:" }, 380{ "Country:","Staat:" },
381{ "This is the preferred address","Dies ist die bevorzugte Adresse" }, 381{ "This is the preferred address","Dies ist die bevorzugte Adresse" },
382{ "New...","Neu..." }, 382{ "New...","Neu..." },
383{ "Change Type","Ändere Art" }, 383{ "Change Type","Ändere Art" },
384{ "Edit Address Type","Ändere Address Art" }, 384{ "Edit Address Type","Ändere Address Art" },
385{ "Address Types","Address Art" }, 385{ "Address Types","Address Art" },
386{ "Domestic","Inland" }, 386{ "Domestic","Inland" },
387{ "International","International" }, 387{ "International","International" },
388{ "Parcel","Paket" }, 388{ "Parcel","Paket" },
389{ "Edit Contact Name","Ändere Kontakt Name" }, 389{ "Edit Contact Name","Ändere Kontakt Name" },
390{ "Honorific prefixes:","Namensprefixes:" }, 390{ "Honorific prefixes:","Namensprefixes:" },
391{ "Given name:","Vorname:" }, 391{ "Given name:","Vorname:" },
392{ "Additional names:","Mittelnamen:" }, 392{ "Additional names:","Mittelnamen:" },
393{ "Family names:","Nachname:" }, 393{ "Family names:","Nachname:" },
394{ "Honorific suffixes:","Namenssuffixe:" }, 394{ "Honorific suffixes:","Namenssuffixe:" },
395{ "Parse name automatically","Setze Namen automatisch" }, 395{ "Parse name automatically","Setze Namen automatisch" },
396{ "Edit Phone Numbers","Bearbeite Telefonnummern" }, 396{ "Edit Phone Numbers","Bearbeite Telefonnummern" },
397{ "Number","Nummer" }, 397{ "Number","Nummer" },
398{ "Type","Typ" }, 398{ "Type","Typ" },
399{ "Edit Phone Number","Bearbeite Telefonnummer" }, 399{ "Edit Phone Number","Bearbeite Telefonnummer" },
400{ "Number:","Nummer:" }, 400{ "Number:","Nummer:" },
401{ "This is the preferred phone number","Dies ist die bevorzugte Telefonnummer" }, 401{ "This is the preferred phone number","Dies ist die bevorzugte Telefonnummer" },
402{ "Types","Typen" }, 402{ "Types","Typen" },
403{ "Messenger","Messenger" }, 403{ "Messenger","Messenger" },
404{ "Other","Anderes" }, 404{ "Other","Anderes" },
405{ "Video","Video" }, 405{ "Video","Video" },
406{ "Mailbox","Mailbox" }, 406{ "Mailbox","Mailbox" },
407{ "Modem","Modem" }, 407{ "Modem","Modem" },
408{ "Car","Auto" }, 408{ "Car","Auto" },
409{ "PCS","PCS" }, 409{ "PCS","PCS" },
410{ "Category","Kategorie" }, 410{ "Category","Kategorie" },
411{ "Select Categories","Wähle Kategorien" }, 411{ "Select Categories","Wähle Kategorien" },
412{ " &Deselect All "," &Deselektiere alle " }, 412{ " &Deselect All "," &Deselektiere alle " },
413{ " &Edit Categories "," B&earbeite Kategorien " }, 413{ " &Edit Categories "," B&earbeite Kategorien " },
414{ "&OK","&OK" }, 414{ "&OK","&OK" },
415{ "&Cancel","Abbre&chen" }, 415{ "&Cancel","Abbre&chen" },
416{ "Configure","Konfiguriere" }, 416{ "Configure","Konfiguriere" },
417{ "Default","Voreinstellungen" }, 417{ "Default","Voreinstellungen" },
418{ "Addressbook","Adressbuch" }, 418{ "Addressbook","Adressbuch" },
419{ "Details view font","Schriftart Detailansicht" }, 419{ "Details view font","Schriftart Detailansicht" },
420{ "phone:123","phone:123" }, 420{ "phone:123","phone:123" },
421{ "Search only after <return> key pressed","Suche nur nach <return> Taste" }, 421{ "Search only after <return> key pressed","Suche nur nach <return> Taste" },
422{ "Honor KDE single click","Benutze KDE Einzelklick" }, 422{ "Honor KDE single click","Benutze KDE Einzelklick" },
423{ "Automatic name parsing for new addressees","Automa. Name Parsen für neue Einträge" }, 423{ "Automatic name parsing for new addressees","Automa. Name Parsen für neue Einträge" },
424{ "Display List and Details at once (restart)","Zeige Liste und Details zusammen(neustart)" }, 424{ "Display List and Details at once (restart)","Zeige Liste und Details zusammen(neustart)" },
425{ "Ask for quit when closing Ka/Pi","Vor Beenden von Ka/Pi nachfragen" }, 425{ "Ask for quit when closing Ka/Pi","Vor Beenden von Ka/Pi nachfragen" },
426{ "General","Algemein" }, 426{ "General","Algemein" },
427{ "Extensions (restart)","Extensions (restart)" }, 427{ "Extensions (restart)","Extensions (restart)" },
428{ "Description","Beschreibungen" }, 428{ "Description","Beschreibungen" },
429{ "Extensions","Extensions" }, 429{ "Extensions","Extensions" },
430{ "Prefixes","Prefixe" }, 430{ "Prefixes","Prefixe" },
431{ "Inclusions","Inclusions" }, 431{ "Inclusions","Inclusions" },
432{ "Suffixes","Suffixe" }, 432{ "Suffixes","Suffixe" },
433{ "Default formatted name:","Default format. Name:" }, 433{ "Default formatted name:","Default format. Name:" },
434{ "Empty","Leer" }, 434{ "Empty","Leer" },
435{ "Simple Name","Einfacher Name" }, 435{ "Simple Name","Einfacher Name" },
436{ "Full Name","Voller Name" }, 436{ "Full Name","Voller Name" },
437{ "Reverse Name","Namen umdrehen" }, 437{ "Reverse Name","Namen umdrehen" },
438{ "Contact","Kontakt" }, 438{ "Contact","Kontakt" },
439{ "Global","Allgemein" }, 439{ "Global","Allgemein" },
440{ "Phone","Telefon" }, 440{ "Phone","Telefon" },
441{ "SMS","SMS" }, 441{ "SMS","SMS" },
442{ "Language:(needs restart)","Sprache:(Neustart)" }, 442{ "Language:(needs restart)","Sprache:(Neustart)" },
443{ "English","English" }, 443{ "English","English" },
444{ "German","Deutsch" }, 444{ "German","Deutsch" },
445{ "French","Französisch" }, 445{ "French","Französisch" },
446{ "Italian","Italienisch" }, 446{ "Italian","Italienisch" },
447{ "User defined (usertranslation.txt)","Benutzerdef. (usertranslation.txt)" }, 447{ "User defined (usertranslation.txt)","Benutzerdef. (usertranslation.txt)" },
448{ "Time Format(nr):","Zeit Format(nr):" }, 448{ "Time Format(nr):","Zeit Format(nr):" },
449{ "24:00","24:00" }, 449{ "24:00","24:00" },
450{ "12:00am","12:00am" }, 450{ "12:00am","12:00am" },
451{ "Week starts on Sunday","Woche beginnt Sonntags" }, 451{ "Week starts on Sunday","Woche beginnt Sonntags" },
452{ "Locale","Locale" }, 452{ "Locale","Locale" },
453{ "Date Format:","Datums Format:" }, 453{ "Date Format:","Datums Format:" },
454{ "24.03.2004 (%d.%m.%Y|%A %d %B %Y)","24.03.2004 (%d.%m.%Y|%A %d %B %Y)" }, 454{ "24.03.2004 (%d.%m.%Y|%A %d %B %Y)","24.03.2004 (%d.%m.%Y|%A %d %B %Y)" },
455{ "03.24.2004 (%m.%d.%Y|%A %B %d %Y)","03.24.2004 (%m.%d.%Y|%A %B %d %Y)" }, 455{ "03.24.2004 (%m.%d.%Y|%A %B %d %Y)","03.24.2004 (%m.%d.%Y|%A %B %d %Y)" },
456{ "2004-03-24 (%Y-%m-%d|%A %Y %B %d)","2004-03-24 (%Y-%m-%d|%A %Y %B %d)" }, 456{ "2004-03-24 (%Y-%m-%d|%A %Y %B %d)","2004-03-24 (%Y-%m-%d|%A %Y %B %d)" },
457{ "User defined","Benutzerdefiniert" }, 457{ "User defined","Benutzerdefiniert" },
458{ "User long date:","Format langes Datum:" }, 458{ "User long date:","Format langes Datum:" },
459{ "User short date:","Format kurzes Datum:" }, 459{ "User short date:","Format kurzes Datum:" },
460{ "Daylight start:","Sommerzeit Beginn:" }, 460{ "Daylight start:","Sommerzeit Beginn:" },
461{ "Daylight end:","Sommerzeit Ende:" }, 461{ "Daylight end:","Sommerzeit Ende:" },
462{ "Actual start and end is the\nsunday before this date.","Tatsächlicher Beginn/Ende ist der\nSonntag vor diesem Datum!" }, 462{ "Actual start and end is the\nsunday before this date.","Tatsächlicher Beginn/Ende ist der\nSonntag vor diesem Datum!" },
463{ "Monday 19 April 2004: %A %d %B %Y","Monday 19 April 2004: %A %d %B %Y" }, 463{ "Monday 19 April 2004: %A %d %B %Y","Monday 19 April 2004: %A %d %B %Y" },
464{ "Mon 19.04.04: %a %d.%m.%y","Mon 19.04.04: %a %d.%m.%y" }, 464{ "Mon 19.04.04: %a %d.%m.%y","Mon 19.04.04: %a %d.%m.%y" },
465{ "Mon, 19.Apr.04: %a, %d.%b.%y","Mon, 19.Apr.04: %a, %d.%b.%y" }, 465{ "Mon, 19.Apr.04: %a, %d.%b.%y","Mon, 19.Apr.04: %a, %d.%b.%y" },
466{ "Date Format","Datums Format" }, 466{ "Date Format","Datums Format" },
467{ "Timezone:","Zeitzone:" }, 467{ "Timezone:","Zeitzone:" },
468{ "The year in the date is ignored.","Das Jahr vom Datum wird ignoriert." }, 468{ "The year in the date is ignored.","Das Jahr vom Datum wird ignoriert." },
469{ "Timezone has daylight saving","Zeitzone hat Sommerzeit" }, 469{ "Timezone has daylight saving","Zeitzone hat Sommerzeit" },
470{ "Add 30 min to selected Timezone","Addiere 30 min zur Zeitzone" }, 470{ "Add 30 min to selected Timezone","Addiere 30 min zur Zeitzone" },
471{ "Used Mail Client","Benutzter Mail Client" }, 471{ "Used Mail Client","Benutzter Mail Client" },
472{ "Channel:","Channel:" }, 472{ "Channel:","Channel:" },
473{ "Message:","Message:" }, 473{ "Message:","Message:" },
474{ "Parameters:","Parameter:" }, 474{ "Parameters:","Parameter:" },
475{ "HINT: Delimiter=; Name=%1,Email=%2","Hinweis: Begrenzer=; Name=%1,Email=%2" }, 475{ "HINT: Delimiter=; Name=%1,Email=%2","Hinweis: Begrenzer=; Name=%1,Email=%2" },
476{ "extra Message:","extra Message:" }, 476{ "extra Message:","extra Message:" },
477{ "extra Parameters:","extra Parameter:" }, 477{ "extra Parameters:","extra Parameter:" },
478{ "HINT: Emails=%1,Attachments=%2","Hinweis: Emails=%1,Attachments=%2" }, 478{ "HINT: Emails=%1,Attachments=%2","Hinweis: Emails=%1,Attachments=%2" },
479{ "External Apps.","Externe Appl." }, 479{ "External Apps.","Externe Appl." },
480{ "Used %1 Client","Benutzer %1 Client" }, 480{ "Used %1 Client","Benutzer %1 Client" },
481{ "No email client installed","Keine Email Client installiert" }, 481{ "No email client installed","Keine Email Client installiert" },
482{ "Userdefined email client","Benutzerdef. Email Client" }, 482{ "Userdefined email client","Benutzerdef. Email Client" },
483{ "OM/Pi email client","OM/Pi Email Client" }, 483{ "OM/Pi email client","OM/Pi Email Client" },
484{ "Close KA/Pi?","Schließe KA/Pi?" }, 484{ "Close KA/Pi?","Schließe KA/Pi?" },
485{ "\nChanges will be saved!","\nÄnderungen werden gespeichert!" }, 485{ "\nChanges will be saved!","\nÄnderungen werden gespeichert!" },
486{ "Yes!","Ja!" }, 486{ "Yes!","Ja!" },
487{ "There was an error while attempting to save\n the address book. Please check that some \nother application is not using it. ","#There was an error while attempting to save\n the address book. Please check that some \nother application is not using it. " }, 487{ "There was an error while attempting to save\n the address book. Please check that some \nother application is not using it. ","#There was an error while attempting to save\n the address book. Please check that some \nother application is not using it. " },
488{ "Saving addressbook ... ","Speichere Adressbuch ... " }, 488{ "Saving addressbook ... ","Speichere Adressbuch ... " },
489{ "Addressbook saved!","Adressbuch gespeichert!" }, 489{ "Addressbook saved!","Adressbuch gespeichert!" },
490{ "Default Table View","Default Tabellenansicht" }, 490{ "Default Table View","Default Tabellenansicht" },
491{ "Merge and Remove","Zusammenfügen/entfernen" }, 491{ "Merge and Remove","Zusammenfügen/entfernen" },
492{ "Merge","Zusammenfügen" }, 492{ "Merge","Zusammenfügen" },
493{ "Merge Contacts Editor","Contact-Zusammenfüge-Editor" }, 493{ "Merge Contacts Editor","Contact-Zusammenfüge-Editor" },
494{ "New List...","Neue Liste..." }, 494{ "New List...","Neue Liste..." },
495{ "Rename List...","Ändere Namen..." }, 495{ "Rename List...","Ändere Namen..." },
496{ "Remove List","Lösche Liste" }, 496{ "Remove List","Lösche Liste" },
497{ "Add Contact","Kontakt hinzu" }, 497{ "Add Contact","Kontakt hinzu" },
498{ "Change Email...","Ändere Email..." }, 498{ "Change Email...","Ändere Email..." },
499{ "Remove Contact","Entferne Kontakt" }, 499{ "Remove Contact","Entferne Kontakt" },
500{ "Use Preferred","Nutze Preferred" }, 500{ "Use Preferred","Nutze Preferred" },
501{ "Distribution List Editor","Distribution List Editor" }, 501{ "Distribution List Editor","Distribution List Editor" },
502{ "Choose which contacts to export","Wähle Kontakte zum Exportieren" }, 502{ "Choose which contacts to export","Wähle Kontakte zum Exportieren" },
503{ "Which contacts do you want to export?","Welche Kontakte sollen exportiert werden?" }, 503{ "Which contacts do you want to export?","Welche Kontakte sollen exportiert werden?" },
504{ "Contact Selection","Kontaktauswahl" }, 504{ "Contact Selection","Kontaktauswahl" },
505{ "&All","&Alle" }, 505{ "&All","&Alle" },
506{ "Export the entire address book","Exportiere das komplette Addressbuch" }, 506{ "Export the entire address book","Exportiere das komplette Addressbuch" },
507{ "&Selected","Au&sgewählte" }, 507{ "&Selected","Au&sgewählte" },
508{ "Only export contacts selected in KAddressBook.\nThis option is disabled if no contacts are selected.","###Only export contacts selected in KAddressBook.\nThis option is disabled if no contacts are selected." }, 508{ "Only export contacts selected in KAddressBook.\nThis option is disabled if no contacts are selected.","###Only export contacts selected in KAddressBook.\nThis option is disabled if no contacts are selected." },
509{ "By matching &filter","Zutreffender &Filter" }, 509{ "By matching &filter","Zutreffender &Filter" },
510{ "Only export contacts matching the selected filter.\nThis option is disabled if you haven't defined any filters","###Only export contacts matching the selected filter.\nThis option is disabled if you haven't defined any filters" }, 510{ "Only export contacts matching the selected filter.\nThis option is disabled if you haven't defined any filters","###Only export contacts matching the selected filter.\nThis option is disabled if you haven't defined any filters" },
511{ "By Cate&gories","Kategorien" }, 511{ "By Cate&gories","Kategorien" },
512{ "Only export contacts who are members of a category that is checked on the list to the left.\nThis option is disabled if you have no categories.","###Only export contacts who are members of a category that is checked on the list to the left.\nThis option is disabled if you have no categories." }, 512{ "Only export contacts who are members of a category that is checked on the list to the left.\nThis option is disabled if you have no categories.","###Only export contacts who are members of a category that is checked on the list to the left.\nThis option is disabled if you have no categories." },
513{ "Select a filter to decide which contacts to export.","Wähle Filter zum Export aus." }, 513{ "Select a filter to decide which contacts to export.","Wähle Filter zum Export aus." },
514{ "Check the categories whose members you want to export.","Wähle die Kategorien zum Export aus." }, 514{ "Check the categories whose members you want to export.","Wähle die Kategorien zum Export aus." },
515{ "Sorting","Sortieren" }, 515{ "Sorting","Sortieren" },
516{ "Criterion:","Merkmal:" }, 516{ "Criterion:","Merkmal:" },
517{ "Order:","Reihenfolge:" }, 517{ "Order:","Reihenfolge:" },
518{ "Ascending","Aufsteigend" }, 518{ "Ascending","Aufsteigend" },
519{ "Descending","Absteigend" }, 519{ "Descending","Absteigend" },
520{ "Save file","Datei speichern" }, 520{ "Save file","Datei speichern" },
521{ "Error","Fehler" }, 521{ "Error","Fehler" },
522{ "Unable to export contacts.","Exportieren der Kontakte geht nicht." }, 522{ "Unable to export contacts.","Exportieren der Kontakte geht nicht." },
523{ "\nNo unsaved changes detected!\nNothing will be saved!","\nKeine ungespeicherten\nÄnderungen erkannt!\nNichts wird gespeichert!" }, 523{ "\nNo unsaved changes detected!\nNothing will be saved!","\nKeine ungespeicherten\nÄnderungen erkannt!\nNichts wird gespeichert!" },
524{ "Manage new categories...","Verwalte neue Kategorien..." }, 524{ "Manage new categories...","Verwalte neue Kategorien..." },
525{ "&File","Datei" }, 525{ "&File","Datei" },
526{ "&Edit","Bearbeite" }, 526{ "&Edit","Bearbeite" },
527{ "&View","Ansichten" }, 527{ "&View","Ansichten" },
528{ "&Settings","Konfiguration" }, 528{ "&Settings","Konfiguration" },
529{ "&Change selected","Ändere Selekt." }, 529{ "&Change selected","Ändere Selekt." },
530{ "&Help","Hilfe" }, 530{ "&Help","Hilfe" },
531{ "","" }, 531{ "Remove sync info","Entferne Sync Info" },
532{ "","" }, 532{ "For all profiles","Für alle Profile" },
533{ "&Change","Ändere" },
534{ "Import xml (Qtopia)...","Importiere xml (Qtopia)..." },
535{ "Export xml (Qtopia)...","Exportiere xml (Qtopia)..." },
536{ "Export to phone","Exportiere aufs Handy..." },
537{ "Which contacts do you want to select?","Welche Kontakte möchten Sie wählen?" },
538{ "&Modify","Ändere" },
539{ "Choose which contacts to select","Bitte Kontakte auswählen!" },
540{ "After importing/loading/syncing\nthere may be new categories in\naddressees\nwhich are not in the category list.\nPlease choose what to do:\n ","Nach dem Importieren/Laden/Syncen\nkann es neue Kategorien in den \nKontakten geben, die nicht\nin der Kategorieliste enthalten sind.\nBitte wählen Sie, was passieren soll:\n " },
541{ "Manage new Categories","Verwalte neue Kategorien" },
542{ "Add to category list","Füge zur Kategorieliste hinzu" },
543{ "Remove from addressees","Entferne von den Kontakten" },
544{ "New categories not in list:","Kategorien, die nicht in der Liste sind:" },
545{ "A&dd","Hinzufügen" },
533{ "","" }, 546{ "","" },
534{ "","" }, 547{ "","" },
535{ "","" }, 548{ "","" },
536{ "","" }, 549{ "","" },
537{ "","" }, 550{ "","" },
538{ "","" }, 551{ "","" },
539{ "","" }, \ No newline at end of file 552{ "","" }, \ No newline at end of file
diff --git a/bin/kdepim/kaddressbook/usertranslation.txt b/bin/kdepim/kaddressbook/usertranslation.txt
index 16c4178..623b075 100644
--- a/bin/kdepim/kaddressbook/usertranslation.txt
+++ b/bin/kdepim/kaddressbook/usertranslation.txt
@@ -1,714 +1,743 @@
1{ "file","file" }, 1{ "file","file" },
2{ "Choose one file","Choose one file" }, 2{ "Choose one file","Choose one file" },
3{ "dir","dir" }, 3{ "dir","dir" },
4{ "Choose a directory with may files","Choose a directory with may files" }, 4{ "Choose a directory with may files","Choose a directory with may files" },
5{ "ldap","ldap" }, 5{ "ldap","ldap" },
6{ "No description available","No description available" }, 6{ "No description available","No description available" },
7{ "Library files for "%1" not found in paths","Library files for "%1" not found in paths" }, 7{ "Library files for "%1" not found in paths","Library files for "%1" not found in paths" },
8{ "qtopia","qtopia" }, 8{ "qtopia","qtopia" },
9{ "Qtopia PIM Addressbook.","Qtopia PIM Addressbook." }, 9{ "Qtopia PIM Addressbook.","Qtopia PIM Addressbook." },
10{ "vCard","vCard" }, 10{ "vCard","vCard" },
11{ "vCard Format","vCard Format" }, 11{ "vCard Format","vCard Format" },
12{ "microkabcformat_binary","microkabcformat_binary" }, 12{ "microkabcformat_binary","microkabcformat_binary" },
13{ "Binary","Binary" }, 13{ "Binary","Binary" },
14{ "No description available.","No description available." }, 14{ "No description available.","No description available." },
15{ "Department","Department" }, 15{ "Department","Department" },
16{ "Profession","Profession" }, 16{ "Profession","Profession" },
17{ "Assistant's Name","Assistant's Name" }, 17{ "Assistant's Name","Assistant's Name" },
18{ "Manager's Name","Manager's Name" }, 18{ "Manager's Name","Manager's Name" },
19{ "Spouse's Name","Spouse's Name" }, 19{ "Spouse's Name","Spouse's Name" },
20{ "Office","Office" }, 20{ "Office","Office" },
21{ "IM Address","IM Address" }, 21{ "IM Address","IM Address" },
22{ "Anniversary","Anniversary" }, 22{ "Anniversary","Anniversary" },
23{ "Gender","Gender" }, 23{ "Gender","Gender" },
24{ "Children","Children" }, 24{ "Children","Children" },
25{ "FreeBusyUrl","FreeBusyUrl" }, 25{ "FreeBusyUrl","FreeBusyUrl" },
26{ "ExternalID","ExternalID" }, 26{ "ExternalID","ExternalID" },
27{ "Resource loaded: '%1'","Resource loaded: '%1'" }, 27{ "Resource loaded: '%1'","Resource loaded: '%1'" },
28{ "Select View","Select View" }, 28{ "Select View","Select View" },
29{ "Modify View...","Modify View..." }, 29{ "Modify View...","Modify View..." },
30{ "Add View...","Add View..." }, 30{ "Add View...","Add View..." },
31{ "Delete View","Delete View" }, 31{ "Delete View","Delete View" },
32{ "Refresh View","Refresh View" }, 32{ "Refresh View","Refresh View" },
33{ "Edit &Filters...","Edit &Filters..." }, 33{ "Edit &Filters...","Edit &Filters..." },
34{ "Select Filter","Select Filter" }, 34{ "Select Filter","Select Filter" },
35{ "Style:","Style:" }, 35{ "Style:","Style:" },
36{ "HTML table style.","HTML table style." }, 36{ "HTML table style.","HTML table style." },
37{ "Default Table View","Default Table View" }, 37{ "Default Table View","Default Table View" },
38{ "Show Extension Bar","Show Extension Bar" }, 38{ "Show Extension Bar","Show Extension Bar" },
39{ "None","None" }, 39{ "None","None" },
40{ "Name...","Name..." }, 40{ "Name...","Name..." },
41{ "Role:","Role:" }, 41{ "Role:","Role:" },
42{ "Organization:","Organization:" }, 42{ "Organization:","Organization:" },
43{ "Formatted name:","Formatted name:" }, 43{ "Formatted name:","Formatted name:" },
44{ "Edit Phone Numbers...","Edit Phone Numbers..." }, 44{ "Edit Phone Numbers...","Edit Phone Numbers..." },
45{ "Categories","Categories" }, 45{ "Categories","Categories" },
46{ "Public","Public" }, 46{ "Public","Public" },
47{ "Private","Private" }, 47{ "Private","Private" },
48{ "Confidential","Confidential" }, 48{ "Confidential","Confidential" },
49{ "&General","&General" }, 49{ "&General","&General" },
50{ "&Edit Addresses...","&Edit Addresses..." }, 50{ "&Edit Addresses...","&Edit Addresses..." },
51{ "Edit Email Addresses...","Edit Email Addresses..." }, 51{ "Edit Email Addresses...","Edit Email Addresses..." },
52{ "Email:","Email:" }, 52{ "Email:","Email:" },
53{ "URL:","URL:" }, 53{ "URL:","URL:" },
54{ "&IM address:","&IM address:" }, 54{ "&IM address:","&IM address:" },
55{ "&Address","&Address" }, 55{ "&Address","&Address" },
56{ "Department:","Department:" }, 56{ "Department:","Department:" },
57{ "Office:","Office:" }, 57{ "Office:","Office:" },
58{ "Profession:","Profession:" }, 58{ "Profession:","Profession:" },
59{ "Manager's name:","Manager's name:" }, 59{ "Manager's name:","Manager's name:" },
60{ "Assistant's name:","Assistant's name:" }, 60{ "Assistant's name:","Assistant's name:" },
61{ "Nick name:","Nick name:" }, 61{ "Nick name:","Nick name:" },
62{ "Spouse's name:","Spouse's name:" }, 62{ "Spouse's name:","Spouse's name:" },
63{ "Children's names:","Children's names:" }, 63{ "Children's names:","Children's names:" },
64{ "Birthday:","Birthday:" }, 64{ "Birthday:","Birthday:" },
65{ " Local Time"," Local Time" }, 65{ " Local Time"," Local Time" },
66{ "Mon","Mon" }, 66{ "Mon","Mon" },
67{ "Tue","Tue" }, 67{ "Tue","Tue" },
68{ "Wed","Wed" }, 68{ "Wed","Wed" },
69{ "Thu","Thu" }, 69{ "Thu","Thu" },
70{ "Fri","Fri" }, 70{ "Fri","Fri" },
71{ "Sat","Sat" }, 71{ "Sat","Sat" },
72{ "Sun","Sun" }, 72{ "Sun","Sun" },
73{ "January","January" }, 73{ "January","January" },
74{ "February","February" }, 74{ "February","February" },
75{ "March","March" }, 75{ "March","March" },
76{ "April","April" }, 76{ "April","April" },
77{ "May","May" }, 77{ "May","May" },
78{ "June","June" }, 78{ "June","June" },
79{ "July","July" }, 79{ "July","July" },
80{ "August","August" }, 80{ "August","August" },
81{ "September","September" }, 81{ "September","September" },
82{ "October","October" }, 82{ "October","October" },
83{ "November","November" }, 83{ "November","November" },
84{ "December","December" }, 84{ "December","December" },
85{ "tomorrow","tomorrow" }, 85{ "tomorrow","tomorrow" },
86{ "today","today" }, 86{ "today","today" },
87{ "yesterday","yesterday" }, 87{ "yesterday","yesterday" },
88{ "Monday","Monday" }, 88{ "Monday","Monday" },
89{ "Tuesday","Tuesday" }, 89{ "Tuesday","Tuesday" },
90{ "Wednesday","Wednesday" }, 90{ "Wednesday","Wednesday" },
91{ "Thursday","Thursday" }, 91{ "Thursday","Thursday" },
92{ "Friday","Friday" }, 92{ "Friday","Friday" },
93{ "Saturday","Saturday" }, 93{ "Saturday","Saturday" },
94{ "Sunday","Sunday" }, 94{ "Sunday","Sunday" },
95{ "Anniversary:","Anniversary:" }, 95{ "Anniversary:","Anniversary:" },
96{ "Gender:","Gender:" }, 96{ "Gender:","Gender:" },
97{ "ALIEN (gender undefined)","ALIEN (gender undefined)" }, 97{ "ALIEN (gender undefined)","ALIEN (gender undefined)" },
98{ "female","female" }, 98{ "female","female" },
99{ "male","male" }, 99{ "male","male" },
100{ "&Details","&Details" }, 100{ "&Details","&Details" },
101{ "Note:","Note:" }, 101{ "Note:","Note:" },
102{ "&Notes","&Notes" }, 102{ "&Notes","&Notes" },
103{ "Use geo data","Use geo data" }, 103{ "Use geo data","Use geo data" },
104{ "Latitude:","Latitude:" }, 104{ "Latitude:","Latitude:" },
105{ "Longitude:","Longitude:" }, 105{ "Longitude:","Longitude:" },
106{ "Edit Geo Data...","Edit Geo Data..." }, 106{ "Edit Geo Data...","Edit Geo Data..." },
107{ "Keys:","Keys:" }, 107{ "Keys:","Keys:" },
108{ "Add","Add" }, 108{ "Add","Add" },
109{ "Remove","Remove" }, 109{ "Remove","Remove" },
110{ "Export","Export" }, 110{ "Export","Export" },
111{ "&Misc","&Misc" }, 111{ "&Misc","&Misc" },
112{ "Photo","Photo" }, 112{ "Photo","Photo" },
113{ "Store as URL","Store as URL" }, 113{ "Store as URL","Store as URL" },
114{ "Logo","Logo" }, 114{ "Logo","Logo" },
115{ "&Images","&Images" }, 115{ "&Images","&Images" },
116{ "Home","Home" }, 116{ "Home","Home" },
117{ "Work","Work" }, 117{ "Work","Work" },
118{ "Mobile","Mobile" }, 118{ "Mobile","Mobile" },
119{ "Fax","Fax" }, 119{ "Fax","Fax" },
120{ "Contact Editor","Contact Editor" }, 120{ "Contact Editor","Contact Editor" },
121{ "&Mail...","&Mail..." }, 121{ "&Mail...","&Mail..." },
122{ "&Print...","&Print..." }, 122{ "&Print...","&Print..." },
123{ "&Save","&Save" }, 123{ "&Save","&Save" },
124{ "&New Contact...","&New Contact..." }, 124{ "&New Contact...","&New Contact..." },
125{ "Mail &vCard...","Mail &vCard..." }, 125{ "Mail &vCard...","Mail &vCard..." },
126{ "Selected to phone","Selected to phone" }, 126{ "Selected to phone","Selected to phone" },
127{ "Beam selected v&Card(s)","Beam selected v&Card(s)" }, 127{ "Beam selected v&Card(s)","Beam selected v&Card(s)" },
128{ "&Beam personal vCard","&Beam personal vCard" }, 128{ "&Beam personal vCard","&Beam personal vCard" },
129{ "&Edit Contact...","&Edit Contact..." }, 129{ "&Edit Contact...","&Edit Contact..." },
130{ "&Exit","&Exit" }, 130{ "&Exit","&Exit" },
131{ "&Copy","&Copy" }, 131{ "&Copy","&Copy" },
132{ "Cu&t","Cu&t" }, 132{ "Cu&t","Cu&t" },
133{ "&Paste","&Paste" }, 133{ "&Paste","&Paste" },
134{ "Select &All","Select &All" }, 134{ "Select &All","Select &All" },
135{ "&Undo","&Undo" }, 135{ "&Undo","&Undo" },
136{ "Re&do","Re&do" }, 136{ "Re&do","Re&do" },
137{ "&Delete Contact","&Delete Contact" }, 137{ "&Delete Contact","&Delete Contact" },
138{ "Configure &Resources...","Configure &Resources..." }, 138{ "Configure &Resources...","Configure &Resources..." },
139{ "&Configure %1...","&Configure %1..." }, 139{ "&Configure %1...","&Configure %1..." },
140{ "Configure S&hortcuts...","Configure S&hortcuts..." }, 140{ "Configure S&hortcuts...","Configure S&hortcuts..." },
141{ "Show Jump Bar","Show Jump Bar" }, 141{ "Show Jump Bar","Show Jump Bar" },
142{ "Show Details","Show Details" }, 142{ "Show Details","Show Details" },
143{ "Beam receive enabled","Beam receice enabled" }, 143{ "Beam receive enabled","Beam receice enabled" },
144{ "Set Who Am I","Set Who Am I" }, 144{ "Set Who Am I","Set Who Am I" },
145{ "Set Categories","Set Categories" }, 145{ "Set Categories","Set Categories" },
146{ "Remove "voice"...","Remove "voice"..." }, 146{ "Remove "voice"...","Remove "voice"..." },
147{ "Import from Outlook...","Import from Outlook..." }, 147{ "Import from Outlook...","Import from Outlook..." },
148{ "Licence","Licence" }, 148{ "Licence","Licence" },
149{ "Faq","Faq" }, 149{ "Faq","Faq" },
150{ "What's New?","What's New?" }, 150{ "What's New?","What's New?" },
151{ "Sync HowTo","Sync HowTo" }, 151{ "Sync HowTo","Sync HowTo" },
152{ "&About KAddressBook","&About KAddressBook" }, 152{ "&About KAddressBook","&About KAddressBook" },
153{ "Select Incremental Search Field","Select Incremental Search Field" }, 153{ "Select Incremental Search Field","Select Incremental Search Field" },
154{ "Synchronize","Synchronize" }, 154{ "Synchronize","Synchronize" },
155{ "Configure...","Configure..." }, 155{ "Configure...","Configure..." },
156{ "Enable Pi-Sync","Enable Pi-Sync" }, 156{ "Enable Pi-Sync","Enable Pi-Sync" },
157{ "Multiple sync","Multiple sync" }, 157{ "Multiple sync","Multiple sync" },
158{ "Import CSV List...","Import CSV List..." }, 158{ "Import CSV List...","Import CSV List..." },
159{ "Export CSV List...","Export CSV List..." }, 159{ "Export CSV List...","Export CSV List..." },
160{ "Import KDE 2 Addressbook...","Import KDE 2 Addressbook..." }, 160{ "Import KDE 2 Addressbook...","Import KDE 2 Addressbook..." },
161{ "Import vCard...","Import vCard..." }, 161{ "Import vCard...","Import vCard..." },
162{ "Export vCard 3.0...","Export vCard 3.0..." }, 162{ "Export vCard 3.0...","Export vCard 3.0..." },
163{ "Import Qtopia...","Import Qtopia..." }, 163{ "Import Qtopia...","Import Qtopia..." },
164{ "Export Qtopia...","Export Qtopia..." }, 164{ "Export Qtopia...","Export Qtopia..." },
165{ "Edit Contact","Edit Contact" }, 165{ "Edit Contact","Edit Contact" },
166{ "Ok","Ok" }, 166{ "Ok","Ok" },
167{ "Apply","Apply" }, 167{ "Apply","Apply" },
168{ "Cancel","Cancel" }, 168{ "Cancel","Cancel" },
169{ "KAddressbook/Pi","KAddressbook/Pi" }, 169{ "KAddressbook/Pi","KAddressbook/Pi" },
170{ "No Filter","No Filter" }, 170{ "No Filter","No Filter" },
171{ "Given Name","Given Name" }, 171{ "Given Name","Given Name" },
172{ "Family Name","Family Name" }, 172{ "Family Name","Family Name" },
173{ "Email Address","Email Address" }, 173{ "Email Address","Email Address" },
174{ "All Fields","All Fields" }, 174{ "All Fields","All Fields" },
175{ "Question","Question" }, 175{ "Question","Question" },
176{ "After importing, phone numbers\nmay have two or more types.\n(E.g. work+voice)\nThese numbers are shown as "other".\nClick Yes to remove the voice type\nfrom numbers with more than one type.\n\nRemove voice type?","After importing, phone numbers\nmay have two or more types.\n(E.g. work+voice)\nThese numbers are shown as "other".\nClick Yes to remove the voice type\nfrom numbers with more than one type.\n\nRemove voice type?" }, 176{ "After importing, phone numbers\nmay have two or more types.\n(E.g. work+voice)\nThese numbers are shown as "other".\nClick Yes to remove the voice type\nfrom numbers with more than one type.\n\nRemove voice type?","After importing, phone numbers\nmay have two or more types.\n(E.g. work+voice)\nThese numbers are shown as "other".\nClick Yes to remove the voice type\nfrom numbers with more than one type.\n\nRemove voice type?" },
177{ "No","No" }, 177{ "No","No" },
178{ "Yes","Yes" }, 178{ "Yes","Yes" },
179{ "Synchronization Preferences","Synchronization Preferences" }, 179{ "Synchronization Preferences","Synchronization Preferences" },
180{ "Local device name:","Local device name:" }, 180{ "Local device name:","Local device name:" },
181{ "New profile","New profile" }, 181{ "New profile","New profile" },
182{ "Clone profile","Clone profile" }, 182{ "Clone profile","Clone profile" },
183{ "Delete profile","Delete profile" }, 183{ "Delete profile","Delete profile" },
184{ "Profile:","Profile:" }, 184{ "Profile:","Profile:" },
185{ "Include in multiple ","Include in multiple " }, 185{ "Include in multiple ","Include in multiple " },
186{ "calendar ","calendar " }, 186{ "calendar ","calendar " },
187{ "addressbook ","addressbook " }, 187{ "addressbook ","addressbook " },
188{ "pwmanager","pwmanager" }, 188{ "pwmanager","pwmanager" },
189{ " sync"," sync" }, 189{ " sync"," sync" },
190{ "Ask for preferences before sync","Ask for preferences before sync" }, 190{ "Ask for preferences before sync","Ask for preferences before sync" },
191{ "Sync preferences","Sync preferences" }, 191{ "Sync preferences","Sync preferences" },
192{ "Take local entry on conflict","Take local entry on conflict" }, 192{ "Take local entry on conflict","Take local entry on conflict" },
193{ "Take remote entry on conflict","Take remote entry on conflict" }, 193{ "Take remote entry on conflict","Take remote entry on conflict" },
194{ "Take newest entry on conflict","Take newest entry on conflict" }, 194{ "Take newest entry on conflict","Take newest entry on conflict" },
195{ "Ask for every entry on conflict","Ask for every entry on conflict" }, 195{ "Ask for every entry on conflict","Ask for every entry on conflict" },
196{ "Force: Take local entry always","Force: Take local entry always" }, 196{ "Force: Take local entry always","Force: Take local entry always" },
197{ "Force: Take remote entry always","Force: Take remote entry always" }, 197{ "Force: Take remote entry always","Force: Take remote entry always" },
198{ "Show summary after sync","Show summary after sync" }, 198{ "Show summary after sync","Show summary after sync" },
199{ "Write back synced data","Write back synced data" }, 199{ "Write back synced data","Write back synced data" },
200{ "-- Write back (on remote) existing entries only","-- Write back (on remote) existing entries only" }, 200{ "-- Write back (on remote) existing entries only","-- Write back (on remote) existing entries only" },
201{ "-- Write back (calendar) entries in future only","-- Write back (calendar) entries in future only" }, 201{ "-- Write back (calendar) entries in future only","-- Write back (calendar) entries in future only" },
202{ "---- Max. weeks in future: ","---- Max. weeks in future: " }, 202{ "---- Max. weeks in future: ","---- Max. weeks in future: " },
203{ "Profile kind","Profile kind" }, 203{ "Profile kind","Profile kind" },
204{ "Local file","Local file" }, 204{ "Local file","Local file" },
205{ "Pi-Sync ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync ( direct Kx/Pi to Kx/Pi sync )" }, 205{ "Pi-Sync ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync ( direct Kx/Pi to Kx/Pi sync )" },
206{ "Remote file (w down/upload command)","Remote file (w down/upload command)" }, 206{ "Remote file (w down/upload command)","Remote file (w down/upload command)" },
207{ "Mobile device (cell phone)","Mobile device (cell phone)" }, 207{ "Mobile device (cell phone)","Mobile device (cell phone)" },
208{ "I/O device: ","I/O device: " }, 208{ "I/O device: ","I/O device: " },
209{ "Help...","Help..." }, 209{ "Help...","Help..." },
210{ "Connection: ","Connection: " }, 210{ "Connection: ","Connection: " },
211{ "Model(opt.): ","Model(opt.): " }, 211{ "Model(opt.): ","Model(opt.): " },
212{ "Local file Cal:","Local file Cal:" }, 212{ "Local file Cal:","Local file Cal:" },
213{ "Local file ABook:","Local file ABook:" }, 213{ "Local file ABook:","Local file ABook:" },
214{ "Local file PWMgr:","Local file PWMgr:" }, 214{ "Local file PWMgr:","Local file PWMgr:" },
215{ "Choose...","Choose..." }, 215{ "Choose...","Choose..." },
216{ "Addressbook file (*.vcf) is used by KA/Pi","Addressbook file (*.vcf) is used by KA/Pi" }, 216{ "Addressbook file (*.vcf) is used by KA/Pi","Addressbook file (*.vcf) is used by KA/Pi" },
217{ "Calendar:","Calendar:" }, 217{ "Calendar:","Calendar:" },
218{ "AddressBook:","AddressBook:" }, 218{ "AddressBook:","AddressBook:" },
219{ "PWManager:","PWManager:" }, 219{ "PWManager:","PWManager:" },
220{ "Pre sync (download) command:","Pre sync (download) command:" }, 220{ "Pre sync (download) command:","Pre sync (download) command:" },
221{ "Local temp file:","Local temp file:" }, 221{ "Local temp file:","Local temp file:" },
222{ "Post sync (upload) command:","Post sync (upload) command:" }, 222{ "Post sync (upload) command:","Post sync (upload) command:" },
223{ "Addressbook file is used by KA/Pi","Addressbook file is used by KA/Pi" }, 223{ "Addressbook file is used by KA/Pi","Addressbook file is used by KA/Pi" },
224{ "Fill in default values for:","Fill in default values for:" }, 224{ "Fill in default values for:","Fill in default values for:" },
225{ "ssh/scp","ssh/scp" }, 225{ "ssh/scp","ssh/scp" },
226{ "ftp","ftp" }, 226{ "ftp","ftp" },
227{ "Hint: Use $PWD$ for placeholder of password!","Hint: Use $PWD$ for placeholder of password!" }, 227{ "Hint: Use $PWD$ for placeholder of password!","Hint: Use $PWD$ for placeholder of password!" },
228{ "Password for remote access: (could be the same for each)","Password for remote access: (could be the same for each)" }, 228{ "Password for remote access: (could be the same for each)","Password for remote access: (could be the same for each)" },
229{ "Remote IP address: (could be the same for each)","Remote IP address: (could be the same for each)" }, 229{ "Remote IP address: (could be the same for each)","Remote IP address: (could be the same for each)" },
230{ "Remote port number: (should be different for each)","Remote port number: (should be different for each)" }, 230{ "Remote port number: (should be different for each)","Remote port number: (should be different for each)" },
231{ "command for downloading remote file to local device","command for downloading remote file to local device" }, 231{ "command for downloading remote file to local device","command for downloading remote file to local device" },
232{ "command for uploading local temp file to remote device","command for uploading local temp file to remote device" }, 232{ "command for uploading local temp file to remote device","command for uploading local temp file to remote device" },
233{ "Insert device where\nphone is connected. E.g.:\n","Insert device where\nphone is connected. E.g.:\n" }, 233{ "Insert device where\nphone is connected. E.g.:\n","Insert device where\nphone is connected. E.g.:\n" },
234{ "KDE-Pim sync config","KDE-Pim sync config" }, 234{ "KDE-Pim sync config","KDE-Pim sync config" },
235{ "Insert kind of connection,e.g.:\n","Insert kind of connection,e.g.:\n" }, 235{ "Insert kind of connection,e.g.:\n","Insert kind of connection,e.g.:\n" },
236{ "Recommended: Leave empty!\n(Such that model can\nbe auto detected)\nOr insert name of model:\n","Recommended: Leave empty!\n(Such that model can\nbe auto detected)\nOr insert name of model:\n" }, 236{ "Recommended: Leave empty!\n(Such that model can\nbe auto detected)\nOr insert name of model:\n","Recommended: Leave empty!\n(Such that model can\nbe auto detected)\nOr insert name of model:\n" },
237{ "KO/Pi config error","KO/Pi config error" }, 237{ "KO/Pi config error","KO/Pi config error" },
238{ "Local device name undefined!\nPlease define device name!","Local device name undefined!\nPlease define device name!" }, 238{ "Local device name undefined!\nPlease define device name!","Local device name undefined!\nPlease define device name!" },
239{ "Edit Address Book Filters","Edit Address Book Filters" }, 239{ "Edit Address Book Filters","Edit Address Book Filters" },
240{ "&Add...","&Add..." }, 240{ "&Add...","&Add..." },
241{ "&Edit...","&Edit..." }, 241{ "&Edit...","&Edit..." },
242{ "&Remove","&Remove" }, 242{ "&Remove","&Remove" },
243{ "Modify View: ","Modify View: " }, 243{ "Modify View: ","Modify View: " },
244{ "Fields","Fields" }, 244{ "Fields","Fields" },
245{ "Select Fields to Display","Select Fields to Display" }, 245{ "Select Fields to Display","Select Fields to Display" },
246{ "All","All" }, 246{ "All","All" },
247{ "Frequent","Frequent" }, 247{ "Frequent","Frequent" },
248{ "Address","Address" }, 248{ "Address","Address" },
249{ "Email","Email" }, 249{ "Email","Email" },
250{ "Personal","Personal" }, 250{ "Personal","Personal" },
251{ "Organization","Organization" }, 251{ "Organization","Organization" },
252{ "Custom","Custom" }, 252{ "Custom","Custom" },
253{ "&Selected\nfields:","&Selected\nfields:" }, 253{ "&Selected\nfields:","&Selected\nfields:" },
254{ "Formatted Name","Formatted Name" }, 254{ "Formatted Name","Formatted Name" },
255{ "Additional Names","Additional Names" }, 255{ "Additional Names","Additional Names" },
256{ "Honorific Prefixes","Honorific Prefixes" }, 256{ "Honorific Prefixes","Honorific Prefixes" },
257{ "Honorific Suffixes","Honorific Suffixes" }, 257{ "Honorific Suffixes","Honorific Suffixes" },
258{ "Nick Name","Nick Name" }, 258{ "Nick Name","Nick Name" },
259{ "Birthday","Birthday" }, 259{ "Birthday","Birthday" },
260{ "Home Address Street","Home Address Street" }, 260{ "Home Address Street","Home Address Street" },
261{ "Home Address Locality","Home Address Locality" }, 261{ "Home Address Locality","Home Address Locality" },
262{ "Home Address Region","Home Address Region" }, 262{ "Home Address Region","Home Address Region" },
263{ "Home Address Postal Code","Home Address Postal Code" }, 263{ "Home Address Postal Code","Home Address Postal Code" },
264{ "Home Address Country","Home Address Country" }, 264{ "Home Address Country","Home Address Country" },
265{ "Home Address Label","Home Address Label" }, 265{ "Home Address Label","Home Address Label" },
266{ "Business Address Street","Business Address Street" }, 266{ "Business Address Street","Business Address Street" },
267{ "Business Address Locality","Business Address Locality" }, 267{ "Business Address Locality","Business Address Locality" },
268{ "Business Address Region","Business Address Region" }, 268{ "Business Address Region","Business Address Region" },
269{ "Business Address Postal Code","Business Address Postal Code" }, 269{ "Business Address Postal Code","Business Address Postal Code" },
270{ "Business Address Country","Business Address Country" }, 270{ "Business Address Country","Business Address Country" },
271{ "Business Address Label","Business Address Label" }, 271{ "Business Address Label","Business Address Label" },
272{ "Home Phone","Home Phone" }, 272{ "Home Phone","Home Phone" },
273{ "Business Phone","Business Phone" }, 273{ "Business Phone","Business Phone" },
274{ "Mobile Phone","Mobile Phone" }, 274{ "Mobile Phone","Mobile Phone" },
275{ "Home Fax","Home Fax" }, 275{ "Home Fax","Home Fax" },
276{ "Business Fax","Business Fax" }, 276{ "Business Fax","Business Fax" },
277{ "Car Phone","Car Phone" }, 277{ "Car Phone","Car Phone" },
278{ "ISDN","ISDN" }, 278{ "ISDN","ISDN" },
279{ "Pager","Pager" }, 279{ "Pager","Pager" },
280{ "Mail Client","Mail Client" }, 280{ "Mail Client","Mail Client" },
281{ "Title","Title" }, 281{ "Title","Title" },
282{ "Role","Role" }, 282{ "Role","Role" },
283{ "Note","Note" }, 283{ "Note","Note" },
284{ "URL","URL" }, 284{ "URL","URL" },
285{ "Resource","Resource" }, 285{ "Resource","Resource" },
286{ "SIP","SIP" }, 286{ "SIP","SIP" },
287{ "Default Filter","Default Filter" }, 287{ "Default Filter","Default Filter" },
288{ "The default filter will be activated whenever this view is displayed. This feature allows you to configure views that only interact with certain types of information based on the filter. Once the view is activated, the filter can be changed at anytime.","The default filter will be activated whenever this view is displayed. This feature allows you to configure views that only interact with certain types of information based on the filter. Once the view is activated, the filter can be changed at anytime." }, 288{ "The default filter will be activated whenever this view is displayed. This feature allows you to configure views that only interact with certain types of information based on the filter. Once the view is activated, the filter can be changed at anytime.","The default filter will be activated whenever this view is displayed. This feature allows you to configure views that only interact with certain types of information based on the filter. Once the view is activated, the filter can be changed at anytime." },
289{ "No default filter","No default filter" }, 289{ "No default filter","No default filter" },
290{ "Use last active filter","Use last active filter" }, 290{ "Use last active filter","Use last active filter" },
291{ "Use filter:","Use filter:" }, 291{ "Use filter:","Use filter:" },
292{ "Look & Feel","Look & Feel" }, 292{ "Look & Feel","Look & Feel" },
293{ "Row Separator","Row Separator" }, 293{ "Row Separator","Row Separator" },
294{ "Alternating backgrounds","Alternating backgrounds" }, 294{ "Alternating backgrounds","Alternating backgrounds" },
295{ "Single line","Single line" }, 295{ "Single line","Single line" },
296{ "Enable background image:","Enable background image:" }, 296{ "Enable background image:","Enable background image:" },
297{ "Enable contact tooltips","Enable contact tooltips" }, 297{ "Enable contact tooltips","Enable contact tooltips" },
298{ "&Enable custom Colors","&Enable custom Colors" }, 298{ "&Enable custom Colors","&Enable custom Colors" },
299{ "&Colors","&Colors" }, 299{ "&Colors","&Colors" },
300{ "If custom colors are enabled, you may choose the colors for the view below. Otherwise colors from your current KDE color scheme are used.","If custom colors are enabled, you may choose the colors for the view below. Otherwise colors from your current KDE color scheme are used." }, 300{ "If custom colors are enabled, you may choose the colors for the view below. Otherwise colors from your current KDE color scheme are used.","If custom colors are enabled, you may choose the colors for the view below. Otherwise colors from your current KDE color scheme are used." },
301{ "Double click or press RETURN on a item to select a color for the related strings in the view.","Double click or press RETURN on a item to select a color for the related strings in the view." }, 301{ "Double click or press RETURN on a item to select a color for the related strings in the view.","Double click or press RETURN on a item to select a color for the related strings in the view." },
302{ "&Enable custom fonts","&Enable custom fonts" }, 302{ "&Enable custom fonts","&Enable custom fonts" },
303{ "&Text font:","&Text font:" }, 303{ "&Text font:","&Text font:" },
304{ "&Header font:","&Header font:" }, 304{ "&Header font:","&Header font:" },
305{ "If custom fonts are enabled, you may choose which fonts to use for this view below. Otherwise the default KDE font will be used, in bold style for the header and normal style for the data.","If custom fonts are enabled, you may choose which fonts to use for this view below. Otherwise the default KDE font will be used, in bold style for the header and normal style for the data." }, 305{ "If custom fonts are enabled, you may choose which fonts to use for this view below. Otherwise the default KDE font will be used, in bold style for the header and normal style for the data.","If custom fonts are enabled, you may choose which fonts to use for this view below. Otherwise the default KDE font will be used, in bold style for the header and normal style for the data." },
306{ "&Fonts","&Fonts" }, 306{ "&Fonts","&Fonts" },
307{ "Background Color","Background Color" }, 307{ "Background Color","Background Color" },
308{ "Text Color","Text Color" }, 308{ "Text Color","Text Color" },
309{ "Header Background Color","Header Background Color" }, 309{ "Header Background Color","Header Background Color" },
310{ "Header Text Color","Header Text Color" }, 310{ "Header Text Color","Header Text Color" },
311{ "Highlight Color","Highlight Color" }, 311{ "Highlight Color","Highlight Color" },
312{ "Highlighted Text Color","Highlighted Text Color" }, 312{ "Highlighted Text Color","Highlighted Text Color" },
313{ "Alternating Background Color","Alternating Background Color" }, 313{ "Alternating Background Color","Alternating Background Color" },
314{ "Postal","Postal" }, 314{ "Postal","Postal" },
315{ "Dr.","Dr." }, 315{ "Dr.","Dr." },
316{ "Miss","Miss" }, 316{ "Miss","Miss" },
317{ "Mr.","Mr." }, 317{ "Mr.","Mr." },
318{ "Mrs.","Mrs." }, 318{ "Mrs.","Mrs." },
319{ "Ms.","Ms." }, 319{ "Ms.","Ms." },
320{ "Prof.","Prof." }, 320{ "Prof.","Prof." },
321{ "I","I" }, 321{ "I","I" },
322{ "II","II" }, 322{ "II","II" },
323{ "III","III" }, 323{ "III","III" },
324{ "Jr.","Jr." }, 324{ "Jr.","Jr." },
325{ "Sr.","Sr." }, 325{ "Sr.","Sr." },
326{ "Name:","Name:" }, 326{ "Name:","Name:" },
327{ "Documents","Documents" }, 327{ "Documents","Documents" },
328{ "Files","Files" }, 328{ "Files","Files" },
329{ "All Files","All Files" }, 329{ "All Files","All Files" },
330{ "Name","Name" }, 330{ "Name","Name" },
331{ "Size","Size" }, 331{ "Size","Size" },
332{ "Date","Date" }, 332{ "Date","Date" },
333{ "Mime Type","Mime Type" }, 333{ "Mime Type","Mime Type" },
334{ "Geo Data Input","Geo Data Input" }, 334{ "Geo Data Input","Geo Data Input" },
335{ "Sexagesimal","Sexagesimal" }, 335{ "Sexagesimal","Sexagesimal" },
336{ "North","North" }, 336{ "North","North" },
337{ "South","South" }, 337{ "South","South" },
338{ "East","East" }, 338{ "East","East" },
339{ "West","West" }, 339{ "West","West" },
340{ "Undefined","Undefined" }, 340{ "Undefined","Undefined" },
341{ "Edit Address","Edit Address" }, 341{ "Edit Address","Edit Address" },
342{ "Street:","Street:" }, 342{ "Street:","Street:" },
343{ "Post office box:","Post office box:" }, 343{ "Post office box:","Post office box:" },
344{ "Locality:","Locality:" }, 344{ "Locality:","Locality:" },
345{ "Region:","Region:" }, 345{ "Region:","Region:" },
346{ "Postal code:","Postal code:" }, 346{ "Postal code:","Postal code:" },
347{ "Country:","Country:" }, 347{ "Country:","Country:" },
348{ "Afghanistan","Afghanistan" }, 348{ "Afghanistan","Afghanistan" },
349{ "Albania","Albania" }, 349{ "Albania","Albania" },
350{ "Algeria","Algeria" }, 350{ "Algeria","Algeria" },
351{ "American Samoa","American Samoa" }, 351{ "American Samoa","American Samoa" },
352{ "Andorra","Andorra" }, 352{ "Andorra","Andorra" },
353{ "Angola","Angola" }, 353{ "Angola","Angola" },
354{ "Anguilla","Anguilla" }, 354{ "Anguilla","Anguilla" },
355{ "Antarctica","Antarctica" }, 355{ "Antarctica","Antarctica" },
356{ "Antigua and Barbuda","Antigua and Barbuda" }, 356{ "Antigua and Barbuda","Antigua and Barbuda" },
357{ "Argentina","Argentina" }, 357{ "Argentina","Argentina" },
358{ "Armenia","Armenia" }, 358{ "Armenia","Armenia" },
359{ "Aruba","Aruba" }, 359{ "Aruba","Aruba" },
360{ "Ashmore and Cartier Islands","Ashmore and Cartier Islands" }, 360{ "Ashmore and Cartier Islands","Ashmore and Cartier Islands" },
361{ "Australia","Australia" }, 361{ "Australia","Australia" },
362{ "Austria","Austria" }, 362{ "Austria","Austria" },
363{ "Azerbaijan","Azerbaijan" }, 363{ "Azerbaijan","Azerbaijan" },
364{ "Bahamas","Bahamas" }, 364{ "Bahamas","Bahamas" },
365{ "Bahrain","Bahrain" }, 365{ "Bahrain","Bahrain" },
366{ "Bangladesh","Bangladesh" }, 366{ "Bangladesh","Bangladesh" },
367{ "Barbados","Barbados" }, 367{ "Barbados","Barbados" },
368{ "Belarus","Belarus" }, 368{ "Belarus","Belarus" },
369{ "Belgium","Belgium" }, 369{ "Belgium","Belgium" },
370{ "Belize","Belize" }, 370{ "Belize","Belize" },
371{ "Benin","Benin" }, 371{ "Benin","Benin" },
372{ "Bermuda","Bermuda" }, 372{ "Bermuda","Bermuda" },
373{ "Bhutan","Bhutan" }, 373{ "Bhutan","Bhutan" },
374{ "Bolivia","Bolivia" }, 374{ "Bolivia","Bolivia" },
375{ "Bosnia and Herzegovina","Bosnia and Herzegovina" }, 375{ "Bosnia and Herzegovina","Bosnia and Herzegovina" },
376{ "Botswana","Botswana" }, 376{ "Botswana","Botswana" },
377{ "Brazil","Brazil" }, 377{ "Brazil","Brazil" },
378{ "Brunei","Brunei" }, 378{ "Brunei","Brunei" },
379{ "Bulgaria","Bulgaria" }, 379{ "Bulgaria","Bulgaria" },
380{ "Burkina Faso","Burkina Faso" }, 380{ "Burkina Faso","Burkina Faso" },
381{ "Burundi","Burundi" }, 381{ "Burundi","Burundi" },
382{ "Cambodia","Cambodia" }, 382{ "Cambodia","Cambodia" },
383{ "Cameroon","Cameroon" }, 383{ "Cameroon","Cameroon" },
384{ "Canada","Canada" }, 384{ "Canada","Canada" },
385{ "Cape Verde","Cape Verde" }, 385{ "Cape Verde","Cape Verde" },
386{ "Cayman Islands","Cayman Islands" }, 386{ "Cayman Islands","Cayman Islands" },
387{ "Central African Republic","Central African Republic" }, 387{ "Central African Republic","Central African Republic" },
388{ "Chad","Chad" }, 388{ "Chad","Chad" },
389{ "Chile","Chile" }, 389{ "Chile","Chile" },
390{ "China","China" }, 390{ "China","China" },
391{ "Colombia","Colombia" }, 391{ "Colombia","Colombia" },
392{ "Comoros","Comoros" }, 392{ "Comoros","Comoros" },
393{ "Congo","Congo" }, 393{ "Congo","Congo" },
394{ "Congo, Dem. Rep.","Congo, Dem. Rep." }, 394{ "Congo, Dem. Rep.","Congo, Dem. Rep." },
395{ "Costa Rica","Costa Rica" }, 395{ "Costa Rica","Costa Rica" },
396{ "Croatia","Croatia" }, 396{ "Croatia","Croatia" },
397{ "Cuba","Cuba" }, 397{ "Cuba","Cuba" },
398{ "Cyprus","Cyprus" }, 398{ "Cyprus","Cyprus" },
399{ "Czech Republic","Czech Republic" }, 399{ "Czech Republic","Czech Republic" },
400{ "Denmark","Denmark" }, 400{ "Denmark","Denmark" },
401{ "Djibouti","Djibouti" }, 401{ "Djibouti","Djibouti" },
402{ "Dominica","Dominica" }, 402{ "Dominica","Dominica" },
403{ "Dominican Republic","Dominican Republic" }, 403{ "Dominican Republic","Dominican Republic" },
404{ "Ecuador","Ecuador" }, 404{ "Ecuador","Ecuador" },
405{ "Egypt","Egypt" }, 405{ "Egypt","Egypt" },
406{ "El Salvador","El Salvador" }, 406{ "El Salvador","El Salvador" },
407{ "Equatorial Guinea","Equatorial Guinea" }, 407{ "Equatorial Guinea","Equatorial Guinea" },
408{ "Eritrea","Eritrea" }, 408{ "Eritrea","Eritrea" },
409{ "Estonia","Estonia" }, 409{ "Estonia","Estonia" },
410{ "England","England" }, 410{ "England","England" },
411{ "Ethiopia","Ethiopia" }, 411{ "Ethiopia","Ethiopia" },
412{ "European Union","European Union" }, 412{ "European Union","European Union" },
413{ "Faroe Islands","Faroe Islands" }, 413{ "Faroe Islands","Faroe Islands" },
414{ "Fiji","Fiji" }, 414{ "Fiji","Fiji" },
415{ "Finland","Finland" }, 415{ "Finland","Finland" },
416{ "France","France" }, 416{ "France","France" },
417{ "French Polynesia","French Polynesia" }, 417{ "French Polynesia","French Polynesia" },
418{ "Gabon","Gabon" }, 418{ "Gabon","Gabon" },
419{ "Gambia","Gambia" }, 419{ "Gambia","Gambia" },
420{ "Georgia","Georgia" }, 420{ "Georgia","Georgia" },
421{ "Germany","Germany" }, 421{ "Germany","Germany" },
422{ "Ghana","Ghana" }, 422{ "Ghana","Ghana" },
423{ "Greece","Greece" }, 423{ "Greece","Greece" },
424{ "Greenland","Greenland" }, 424{ "Greenland","Greenland" },
425{ "Grenada","Grenada" }, 425{ "Grenada","Grenada" },
426{ "Guam","Guam" }, 426{ "Guam","Guam" },
427{ "Guatemala","Guatemala" }, 427{ "Guatemala","Guatemala" },
428{ "Guinea","Guinea" }, 428{ "Guinea","Guinea" },
429{ "Guinea-Bissau","Guinea-Bissau" }, 429{ "Guinea-Bissau","Guinea-Bissau" },
430{ "Guyana","Guyana" }, 430{ "Guyana","Guyana" },
431{ "Haiti","Haiti" }, 431{ "Haiti","Haiti" },
432{ "Honduras","Honduras" }, 432{ "Honduras","Honduras" },
433{ "Hong Kong","Hong Kong" }, 433{ "Hong Kong","Hong Kong" },
434{ "Hungary","Hungary" }, 434{ "Hungary","Hungary" },
435{ "Iceland","Iceland" }, 435{ "Iceland","Iceland" },
436{ "India","India" }, 436{ "India","India" },
437{ "Indonesia","Indonesia" }, 437{ "Indonesia","Indonesia" },
438{ "Iran","Iran" }, 438{ "Iran","Iran" },
439{ "Iraq","Iraq" }, 439{ "Iraq","Iraq" },
440{ "Ireland","Ireland" }, 440{ "Ireland","Ireland" },
441{ "Israel","Israel" }, 441{ "Israel","Israel" },
442{ "Italy","Italy" }, 442{ "Italy","Italy" },
443{ "Ivory Coast","Ivory Coast" }, 443{ "Ivory Coast","Ivory Coast" },
444{ "Jamaica","Jamaica" }, 444{ "Jamaica","Jamaica" },
445{ "Japan","Japan" }, 445{ "Japan","Japan" },
446{ "Jordan","Jordan" }, 446{ "Jordan","Jordan" },
447{ "Kazakhstan","Kazakhstan" }, 447{ "Kazakhstan","Kazakhstan" },
448{ "Kenya","Kenya" }, 448{ "Kenya","Kenya" },
449{ "Kiribati","Kiribati" }, 449{ "Kiribati","Kiribati" },
450{ "Korea, North","Korea, North" }, 450{ "Korea, North","Korea, North" },
451{ "Korea, South","Korea, South" }, 451{ "Korea, South","Korea, South" },
452{ "Kuwait","Kuwait" }, 452{ "Kuwait","Kuwait" },
453{ "Kyrgyzstan","Kyrgyzstan" }, 453{ "Kyrgyzstan","Kyrgyzstan" },
454{ "Laos","Laos" }, 454{ "Laos","Laos" },
455{ "Latvia","Latvia" }, 455{ "Latvia","Latvia" },
456{ "Lebanon","Lebanon" }, 456{ "Lebanon","Lebanon" },
457{ "Lesotho","Lesotho" }, 457{ "Lesotho","Lesotho" },
458{ "Liberia","Liberia" }, 458{ "Liberia","Liberia" },
459{ "Libya","Libya" }, 459{ "Libya","Libya" },
460{ "Liechtenstein","Liechtenstein" }, 460{ "Liechtenstein","Liechtenstein" },
461{ "Lithuania","Lithuania" }, 461{ "Lithuania","Lithuania" },
462{ "Luxembourg","Luxembourg" }, 462{ "Luxembourg","Luxembourg" },
463{ "Macau","Macau" }, 463{ "Macau","Macau" },
464{ "Madagascar","Madagascar" }, 464{ "Madagascar","Madagascar" },
465{ "Malawi","Malawi" }, 465{ "Malawi","Malawi" },
466{ "Malaysia","Malaysia" }, 466{ "Malaysia","Malaysia" },
467{ "Maldives","Maldives" }, 467{ "Maldives","Maldives" },
468{ "Mali","Mali" }, 468{ "Mali","Mali" },
469{ "Malta","Malta" }, 469{ "Malta","Malta" },
470{ "Marshall Islands","Marshall Islands" }, 470{ "Marshall Islands","Marshall Islands" },
471{ "Martinique","Martinique" }, 471{ "Martinique","Martinique" },
472{ "Mauritania","Mauritania" }, 472{ "Mauritania","Mauritania" },
473{ "Mauritius","Mauritius" }, 473{ "Mauritius","Mauritius" },
474{ "Mexico","Mexico" }, 474{ "Mexico","Mexico" },
475{ "Micronesia, Federated States Of","Micronesia, Federated States Of" }, 475{ "Micronesia, Federated States Of","Micronesia, Federated States Of" },
476{ "Moldova","Moldova" }, 476{ "Moldova","Moldova" },
477{ "Monaco","Monaco" }, 477{ "Monaco","Monaco" },
478{ "Mongolia","Mongolia" }, 478{ "Mongolia","Mongolia" },
479{ "Montserrat","Montserrat" }, 479{ "Montserrat","Montserrat" },
480{ "Morocco","Morocco" }, 480{ "Morocco","Morocco" },
481{ "Mozambique","Mozambique" }, 481{ "Mozambique","Mozambique" },
482{ "Myanmar","Myanmar" }, 482{ "Myanmar","Myanmar" },
483{ "Namibia","Namibia" }, 483{ "Namibia","Namibia" },
484{ "Nauru","Nauru" }, 484{ "Nauru","Nauru" },
485{ "Nepal","Nepal" }, 485{ "Nepal","Nepal" },
486{ "Netherlands","Netherlands" }, 486{ "Netherlands","Netherlands" },
487{ "Netherlands Antilles","Netherlands Antilles" }, 487{ "Netherlands Antilles","Netherlands Antilles" },
488{ "New Caledonia","New Caledonia" }, 488{ "New Caledonia","New Caledonia" },
489{ "New Zealand","New Zealand" }, 489{ "New Zealand","New Zealand" },
490{ "Nicaragua","Nicaragua" }, 490{ "Nicaragua","Nicaragua" },
491{ "Niger","Niger" }, 491{ "Niger","Niger" },
492{ "Nigeria","Nigeria" }, 492{ "Nigeria","Nigeria" },
493{ "Niue","Niue" }, 493{ "Niue","Niue" },
494{ "North Korea","North Korea" }, 494{ "North Korea","North Korea" },
495{ "Northern Ireland","Northern Ireland" }, 495{ "Northern Ireland","Northern Ireland" },
496{ "Northern Mariana Islands","Northern Mariana Islands" }, 496{ "Northern Mariana Islands","Northern Mariana Islands" },
497{ "Norway","Norway" }, 497{ "Norway","Norway" },
498{ "Oman","Oman" }, 498{ "Oman","Oman" },
499{ "Pakistan","Pakistan" }, 499{ "Pakistan","Pakistan" },
500{ "Palau","Palau" }, 500{ "Palau","Palau" },
501{ "Palestinian","Palestinian" }, 501{ "Palestinian","Palestinian" },
502{ "Panama","Panama" }, 502{ "Panama","Panama" },
503{ "Papua New Guinea","Papua New Guinea" }, 503{ "Papua New Guinea","Papua New Guinea" },
504{ "Paraguay","Paraguay" }, 504{ "Paraguay","Paraguay" },
505{ "Peru","Peru" }, 505{ "Peru","Peru" },
506{ "Philippines","Philippines" }, 506{ "Philippines","Philippines" },
507{ "Poland","Poland" }, 507{ "Poland","Poland" },
508{ "Portugal","Portugal" }, 508{ "Portugal","Portugal" },
509{ "Puerto Rico","Puerto Rico" }, 509{ "Puerto Rico","Puerto Rico" },
510{ "Qatar","Qatar" }, 510{ "Qatar","Qatar" },
511{ "Romania","Romania" }, 511{ "Romania","Romania" },
512{ "Russia","Russia" }, 512{ "Russia","Russia" },
513{ "Rwanda","Rwanda" }, 513{ "Rwanda","Rwanda" },
514{ "St. Kitts and Nevis","St. Kitts and Nevis" }, 514{ "St. Kitts and Nevis","St. Kitts and Nevis" },
515{ "St. Lucia","St. Lucia" }, 515{ "St. Lucia","St. Lucia" },
516{ "St. Vincent and the Grenadines","St. Vincent and the Grenadines" }, 516{ "St. Vincent and the Grenadines","St. Vincent and the Grenadines" },
517{ "San Marino","San Marino" }, 517{ "San Marino","San Marino" },
518{ "Sao Tome and Principe","Sao Tome and Principe" }, 518{ "Sao Tome and Principe","Sao Tome and Principe" },
519{ "Saudi Arabia","Saudi Arabia" }, 519{ "Saudi Arabia","Saudi Arabia" },
520{ "Senegal","Senegal" }, 520{ "Senegal","Senegal" },
521{ "Serbia & Montenegro","Serbia & Montenegro" }, 521{ "Serbia & Montenegro","Serbia & Montenegro" },
522{ "Seychelles","Seychelles" }, 522{ "Seychelles","Seychelles" },
523{ "Sierra Leone","Sierra Leone" }, 523{ "Sierra Leone","Sierra Leone" },
524{ "Singapore","Singapore" }, 524{ "Singapore","Singapore" },
525{ "Slovakia","Slovakia" }, 525{ "Slovakia","Slovakia" },
526{ "Slovenia","Slovenia" }, 526{ "Slovenia","Slovenia" },
527{ "Solomon Islands","Solomon Islands" }, 527{ "Solomon Islands","Solomon Islands" },
528{ "Somalia","Somalia" }, 528{ "Somalia","Somalia" },
529{ "South Africa","South Africa" }, 529{ "South Africa","South Africa" },
530{ "South Korea","South Korea" }, 530{ "South Korea","South Korea" },
531{ "Spain","Spain" }, 531{ "Spain","Spain" },
532{ "Sri Lanka","Sri Lanka" }, 532{ "Sri Lanka","Sri Lanka" },
533{ "Sudan","Sudan" }, 533{ "Sudan","Sudan" },
534{ "Suriname","Suriname" }, 534{ "Suriname","Suriname" },
535{ "Swaziland","Swaziland" }, 535{ "Swaziland","Swaziland" },
536{ "Sweden","Sweden" }, 536{ "Sweden","Sweden" },
537{ "Switzerland","Switzerland" }, 537{ "Switzerland","Switzerland" },
538{ "Syria","Syria" }, 538{ "Syria","Syria" },
539{ "Taiwan","Taiwan" }, 539{ "Taiwan","Taiwan" },
540{ "Tajikistan","Tajikistan" }, 540{ "Tajikistan","Tajikistan" },
541{ "Tanzania","Tanzania" }, 541{ "Tanzania","Tanzania" },
542{ "Thailand","Thailand" }, 542{ "Thailand","Thailand" },
543{ "Tibet","Tibet" }, 543{ "Tibet","Tibet" },
544{ "Togo","Togo" }, 544{ "Togo","Togo" },
545{ "Tonga","Tonga" }, 545{ "Tonga","Tonga" },
546{ "Trinidad and Tobago","Trinidad and Tobago" }, 546{ "Trinidad and Tobago","Trinidad and Tobago" },
547{ "Tunisia","Tunisia" }, 547{ "Tunisia","Tunisia" },
548{ "Turkey","Turkey" }, 548{ "Turkey","Turkey" },
549{ "Turkmenistan","Turkmenistan" }, 549{ "Turkmenistan","Turkmenistan" },
550{ "Turks and Caicos Islands","Turks and Caicos Islands" }, 550{ "Turks and Caicos Islands","Turks and Caicos Islands" },
551{ "Tuvalu","Tuvalu" }, 551{ "Tuvalu","Tuvalu" },
552{ "Uganda ","Uganda " }, 552{ "Uganda ","Uganda " },
553{ "Ukraine","Ukraine" }, 553{ "Ukraine","Ukraine" },
554{ "United Arab Emirates","United Arab Emirates" }, 554{ "United Arab Emirates","United Arab Emirates" },
555{ "United Kingdom","United Kingdom" }, 555{ "United Kingdom","United Kingdom" },
556{ "United States","United States" }, 556{ "United States","United States" },
557{ "Uruguay","Uruguay" }, 557{ "Uruguay","Uruguay" },
558{ "Uzbekistan","Uzbekistan" }, 558{ "Uzbekistan","Uzbekistan" },
559{ "Vanuatu","Vanuatu" }, 559{ "Vanuatu","Vanuatu" },
560{ "Vatican City","Vatican City" }, 560{ "Vatican City","Vatican City" },
561{ "Venezuela","Venezuela" }, 561{ "Venezuela","Venezuela" },
562{ "Vietnam","Vietnam" }, 562{ "Vietnam","Vietnam" },
563{ "Western Samoa","Western Samoa" }, 563{ "Western Samoa","Western Samoa" },
564{ "Yemen","Yemen" }, 564{ "Yemen","Yemen" },
565{ "Yugoslavia","Yugoslavia" }, 565{ "Yugoslavia","Yugoslavia" },
566{ "Zaire","Zaire" }, 566{ "Zaire","Zaire" },
567{ "Zambia","Zambia" }, 567{ "Zambia","Zambia" },
568{ "Zimbabwe","Zimbabwe" }, 568{ "Zimbabwe","Zimbabwe" },
569{ "This is the preferred address","This is the preferred address" }, 569{ "This is the preferred address","This is the preferred address" },
570{ "New...","New..." }, 570{ "New...","New..." },
571{ "Change Type","Change Type" }, 571{ "Change Type","Change Type" },
572{ "Edit Address Type","Edit Address Type" }, 572{ "Edit Address Type","Edit Address Type" },
573{ "Address Types","Address Types" }, 573{ "Address Types","Address Types" },
574{ "Domestic","Domestic" }, 574{ "Domestic","Domestic" },
575{ "International","International" }, 575{ "International","International" },
576{ "Parcel","Parcel" }, 576{ "Parcel","Parcel" },
577{ "Edit Contact Name","Edit Contact Name" }, 577{ "Edit Contact Name","Edit Contact Name" },
578{ "Honorific prefixes:","Honorific prefixes:" }, 578{ "Honorific prefixes:","Honorific prefixes:" },
579{ "Given name:","Given name:" }, 579{ "Given name:","Given name:" },
580{ "Additional names:","Additional names:" }, 580{ "Additional names:","Additional names:" },
581{ "Family names:","Family names:" }, 581{ "Family names:","Family names:" },
582{ "Honorific suffixes:","Honorific suffixes:" }, 582{ "Honorific suffixes:","Honorific suffixes:" },
583{ "Parse name automatically","Parse name automatically" }, 583{ "Parse name automatically","Parse name automatically" },
584{ "Edit Phone Numbers","Edit Phone Numbers" }, 584{ "Edit Phone Numbers","Edit Phone Numbers" },
585{ "Number","Number" }, 585{ "Number","Number" },
586{ "Type","Type" }, 586{ "Type","Type" },
587{ "Edit Phone Number","Edit Phone Number" }, 587{ "Edit Phone Number","Edit Phone Number" },
588{ "Number:","Number:" }, 588{ "Number:","Number:" },
589{ "This is the preferred phone number","This is the preferred phone number" }, 589{ "This is the preferred phone number","This is the preferred phone number" },
590{ "Types","Types" }, 590{ "Types","Types" },
591{ "Messenger","Messenger" }, 591{ "Messenger","Messenger" },
592{ "Other","Other" }, 592{ "Other","Other" },
593{ "Video","Video" }, 593{ "Video","Video" },
594{ "Mailbox","Mailbox" }, 594{ "Mailbox","Mailbox" },
595{ "Modem","Modem" }, 595{ "Modem","Modem" },
596{ "Car","Car" }, 596{ "Car","Car" },
597{ "PCS","PCS" }, 597{ "PCS","PCS" },
598{ "Category","Category" }, 598{ "Category","Category" },
599{ "Select Categories","Select Categories" }, 599{ "Select Categories","Select Categories" },
600{ " &Deselect All "," &Deselect All " }, 600{ " &Deselect All "," &Deselect All " },
601{ " &Edit Categories "," &Edit Categories " }, 601{ " &Edit Categories "," &Edit Categories " },
602{ "&OK","&OK" }, 602{ "&OK","&OK" },
603{ "&Cancel","&Cancel" }, 603{ "&Cancel","&Cancel" },
604{ "Configure","Configure" }, 604{ "Configure","Configure" },
605{ "Default","Default" }, 605{ "Default","Default" },
606{ "Addressbook","Addressbook" }, 606{ "Addressbook","Addressbook" },
607{ "Details view font","Details view font" }, 607{ "Details view font","Details view font" },
608{ "phone:123","phone:123" }, 608{ "phone:123","phone:123" },
609{ "Search only after <return> key pressed","Search only after <return> key pressed" }, 609{ "Search only after <return> key pressed","Search only after <return> key pressed" },
610{ "Honor KDE single click","Honor KDE single click" }, 610{ "Honor KDE single click","Honor KDE single click" },
611{ "Automatic name parsing for new addressees","Automatic name parsing for new addressees" }, 611{ "Automatic name parsing for new addressees","Automatic name parsing for new addressees" },
612{ "Display List and Details at once (restart)","Display List and Details at once (restart)" }, 612{ "Display List and Details at once (restart)","Display List and Details at once (restart)" },
613{ "Ask for quit when closing Ka/Pi","Ask for quit when closing Ka/Pi" }, 613{ "Ask for quit when closing Ka/Pi","Ask for quit when closing Ka/Pi" },
614{ "General","General" }, 614{ "General","General" },
615{ "Extensions (restart)","Extensions (restart)" }, 615{ "Extensions (restart)","Extensions (restart)" },
616{ "Description","Description" }, 616{ "Description","Description" },
617{ "Extensions","Extensions" }, 617{ "Extensions","Extensions" },
618{ "Prefixes","Prefixes" }, 618{ "Prefixes","Prefixes" },
619{ "Inclusions","Inclusions" }, 619{ "Inclusions","Inclusions" },
620{ "Suffixes","Suffixes" }, 620{ "Suffixes","Suffixes" },
621{ "Default formatted name:","Default formatted name:" }, 621{ "Default formatted name:","Default formatted name:" },
622{ "Empty","Empty" }, 622{ "Empty","Empty" },
623{ "Simple Name","Simple Name" }, 623{ "Simple Name","Simple Name" },
624{ "Full Name","Full Name" }, 624{ "Full Name","Full Name" },
625{ "Reverse Name","Reverse Name" }, 625{ "Reverse Name","Reverse Name" },
626{ "Contact","Contact" }, 626{ "Contact","Contact" },
627{ "Global","Global" }, 627{ "Global","Global" },
628{ "Phone","Phone" }, 628{ "Phone","Phone" },
629{ "SMS","SMS" }, 629{ "SMS","SMS" },
630{ "Language:(needs restart)","Language:(needs restart)" }, 630{ "Language:(needs restart)","Language:(needs restart)" },
631{ "English","English" }, 631{ "English","English" },
632{ "German","Deutsch" }, 632{ "German","Deutsch" },
633{ "French","French" }, 633{ "French","French" },
634{ "Italian","Italian" }, 634{ "Italian","Italian" },
635{ "User defined (usertranslation.txt)","User defined (usertranslation.txt)" }, 635{ "User defined (usertranslation.txt)","User defined (usertranslation.txt)" },
636{ "Time Format(nr):","Time Format(nr):" }, 636{ "Time Format(nr):","Time Format(nr):" },
637{ "24:00","24:00" }, 637{ "24:00","24:00" },
638{ "12:00am","12:00am" }, 638{ "12:00am","12:00am" },
639{ "Week starts on Sunday","Week starts on Sunday" }, 639{ "Week starts on Sunday","Week starts on Sunday" },
640{ "Locale","Locale" }, 640{ "Locale","Locale" },
641{ "Date Format:","Date Format:" }, 641{ "Date Format:","Date Format:" },
642{ "24.03.2004 (%d.%m.%Y|%A %d %B %Y)","24.03.2004 (%d.%m.%Y|%A %d %B %Y)" }, 642{ "24.03.2004 (%d.%m.%Y|%A %d %B %Y)","24.03.2004 (%d.%m.%Y|%A %d %B %Y)" },
643{ "03.24.2004 (%m.%d.%Y|%A %B %d %Y)","03.24.2004 (%m.%d.%Y|%A %B %d %Y)" }, 643{ "03.24.2004 (%m.%d.%Y|%A %B %d %Y)","03.24.2004 (%m.%d.%Y|%A %B %d %Y)" },
644{ "2004-03-24 (%Y-%m-%d|%A %Y %B %d)","2004-03-24 (%Y-%m-%d|%A %Y %B %d)" }, 644{ "2004-03-24 (%Y-%m-%d|%A %Y %B %d)","2004-03-24 (%Y-%m-%d|%A %Y %B %d)" },
645{ "User defined","User defined" }, 645{ "User defined","User defined" },
646{ "User long date:","User long date:" }, 646{ "User long date:","User long date:" },
647{ "User short date:","User short date:" }, 647{ "User short date:","User short date:" },
648{ "Monday 19 April 2004: %A %d %B %Y","Monday 19 April 2004: %A %d %B %Y" }, 648{ "Monday 19 April 2004: %A %d %B %Y","Monday 19 April 2004: %A %d %B %Y" },
649{ "Mon 19.04.04: %a %d.%m.%y","Mon 19.04.04: %a %d.%m.%y" }, 649{ "Mon 19.04.04: %a %d.%m.%y","Mon 19.04.04: %a %d.%m.%y" },
650{ "Mon, 19.Apr.04: %a, %d.%b.%y","Mon, 19.Apr.04: %a, %d.%b.%y" }, 650{ "Mon, 19.Apr.04: %a, %d.%b.%y","Mon, 19.Apr.04: %a, %d.%b.%y" },
651{ "Date Format","Date Format" }, 651{ "Date Format","Date Format" },
652{ "Timezone:","Timezone:" }, 652{ "Timezone:","Timezone:" },
653{ "Add 30 min (+00:30) to selected Timezone","Add 30 min (+00:30) to selected Timezone" }, 653{ "Add 30 min (+00:30) to selected Timezone","Add 30 min (+00:30) to selected Timezone" },
654{ "Timezone has daylight saving","Timezone has daylight saving" }, 654{ "Timezone has daylight saving","Timezone has daylight saving" },
655{ "Actual start and end is the\nsunday before this date.","Actual start and end is the\nsunday before this date." }, 655{ "Actual start and end is the\nsunday before this date.","Actual start and end is the\nsunday before this date." },
656{ "The year in the date is ignored.","The year in the date is ignored." }, 656{ "The year in the date is ignored.","The year in the date is ignored." },
657{ "Daylight start:","Daylight start:" }, 657{ "Daylight start:","Daylight start:" },
658{ "Daylight end:","Daylight end:" }, 658{ "Daylight end:","Daylight end:" },
659{ "Time Zone","Time Zone" }, 659{ "Time Zone","Time Zone" },
660{ "Used Mail Client","Used Mail Client" }, 660{ "Used Mail Client","Used Mail Client" },
661{ "Channel:","Channel:" }, 661{ "Channel:","Channel:" },
662{ "Message:","Message:" }, 662{ "Message:","Message:" },
663{ "Parameters:","Parameters:" }, 663{ "Parameters:","Parameters:" },
664{ "HINT: Delimiter=; Name=%1,Email=%2","HINT: Delimiter=; Name=%1,Email=%2" }, 664{ "HINT: Delimiter=; Name=%1,Email=%2","HINT: Delimiter=; Name=%1,Email=%2" },
665{ "extra Message:","extra Message:" }, 665{ "extra Message:","extra Message:" },
666{ "extra Parameters:","extra Parameters:" }, 666{ "extra Parameters:","extra Parameters:" },
667{ "HINT: Emails=%1,Attachments=%2","HINT: Emails=%1,Attachments=%2" }, 667{ "HINT: Emails=%1,Attachments=%2","HINT: Emails=%1,Attachments=%2" },
668{ "External Apps.","External Apps." }, 668{ "External Apps.","External Apps." },
669{ "+01:00 Europa/Oslo(CET)","+01:00 Europa/Oslo(CET)" }, 669{ "+01:00 Europa/Oslo(CET)","+01:00 Europa/Oslo(CET)" },
670{ "Used %1 Client","Used %1 Client" }, 670{ "Used %1 Client","Used %1 Client" },
671{ "No email client installed","No email client installed" }, 671{ "No email client installed","No email client installed" },
672{ "Userdefined email client","Userdefined email client" }, 672{ "Userdefined email client","Userdefined email client" },
673{ "OM/Pi email client","OM/Pi email client" }, 673{ "OM/Pi email client","OM/Pi email client" },
674{ "Close KA/Pi?","Close KA/Pi?" }, 674{ "Close KA/Pi?","Close KA/Pi?" },
675{ "\nChanges will be saved!","\nChanges will be saved!" }, 675{ "\nChanges will be saved!","\nChanges will be saved!" },
676{ "Yes!","Yes!" }, 676{ "Yes!","Yes!" },
677{ "There was an error while attempting to save\n the address book. Please check that some \nother application is not using it. ","There was an error while attempting to save\n the address book. Please check that some \nother application is not using it. " }, 677{ "There was an error while attempting to save\n the address book. Please check that some \nother application is not using it. ","There was an error while attempting to save\n the address book. Please check that some \nother application is not using it. " },
678{ "Saving addressbook ... ","Saving addressbook ... " }, 678{ "Saving addressbook ... ","Saving addressbook ... " },
679{ "Addressbook saved!","Addressbook saved!" }, 679{ "Addressbook saved!","Addressbook saved!" },
680{ "Default Table View","Default Table View" }, 680{ "Default Table View","Default Table View" },
681{ "+01:00 Europe/Oslo(CET)","+01:00 Europe/Oslo(CET)" }, 681{ "+01:00 Europe/Oslo(CET)","+01:00 Europe/Oslo(CET)" },
682{ "Merge and Remove","Merge and Remove" }, 682{ "Merge and Remove","Merge and Remove" },
683{ "Merge","Merge" }, 683{ "Merge","Merge" },
684{ "Merge Contacts Editor","Merge Contacts Editor" }, 684{ "Merge Contacts Editor","Merge Contacts Editor" },
685{ "New List...","New List..." }, 685{ "New List...","New List..." },
686{ "Rename List...","Rename List..." }, 686{ "Rename List...","Rename List..." },
687{ "Remove List","Remove List" }, 687{ "Remove List","Remove List" },
688{ "Add Contact","Add Contact" }, 688{ "Add Contact","Add Contact" },
689{ "Change Email...","Change Email..." }, 689{ "Change Email...","Change Email..." },
690{ "Remove Contact","Remove Contact" }, 690{ "Remove Contact","Remove Contact" },
691{ "Use Preferred","Use Preferred" }, 691{ "Use Preferred","Use Preferred" },
692{ "Distribution List Editor","Distribution List Editor" }, 692{ "Distribution List Editor","Distribution List Editor" },
693{ "Choose which contacts to export","Choose which contacts to export" }, 693{ "Choose which contacts to export","Choose which contacts to export" },
694{ "Which contacts do you want to export?","Which contacts do you want to export?" }, 694{ "Which contacts do you want to export?","Which contacts do you want to export?" },
695{ "Contact Selection","Contact Selection" }, 695{ "Contact Selection","Contact Selection" },
696{ "&All","&All" }, 696{ "&All","&All" },
697{ "Export the entire address book","Export the entire address book" }, 697{ "Export the entire address book","Export the entire address book" },
698{ "&Selected","&Selected" }, 698{ "&Selected","&Selected" },
699{ "Only export contacts selected in KAddressBook.\nThis option is disabled if no contacts are selected.","Only export contacts selected in KAddressBook.\nThis option is disabled if no contacts are selected." }, 699{ "Only export contacts selected in KAddressBook.\nThis option is disabled if no contacts are selected.","Only export contacts selected in KAddressBook.\nThis option is disabled if no contacts are selected." },
700{ "By matching &filter","By matching &filter" }, 700{ "By matching &filter","By matching &filter" },
701{ "Only export contacts matching the selected filter.\nThis option is disabled if you haven't defined any filters","Only export contacts matching the selected filter.\nThis option is disabled if you haven't defined any filters" }, 701{ "Only export contacts matching the selected filter.\nThis option is disabled if you haven't defined any filters","Only export contacts matching the selected filter.\nThis option is disabled if you haven't defined any filters" },
702{ "By Cate&gories","By Cate&gories" }, 702{ "By Cate&gories","By Cate&gories" },
703{ "Only export contacts who are members of a category that is checked on the list to the left.\nThis option is disabled if you have no categories.","Only export contacts who are members of a category that is checked on the list to the left.\nThis option is disabled if you have no categories." }, 703{ "Only export contacts who are members of a category that is checked on the list to the left.\nThis option is disabled if you have no categories.","Only export contacts who are members of a category that is checked on the list to the left.\nThis option is disabled if you have no categories." },
704{ "Select a filter to decide which contacts to export.","Select a filter to decide which contacts to export." }, 704{ "Select a filter to decide which contacts to export.","Select a filter to decide which contacts to export." },
705{ "Check the categories whose members you want to export.","Check the categories whose members you want to export." }, 705{ "Check the categories whose members you want to export.","Check the categories whose members you want to export." },
706{ "Sorting","Sorting" }, 706{ "Sorting","Sorting" },
707{ "Criterion:","Criterion:" }, 707{ "Criterion:","Criterion:" },
708{ "Order:","Order:" }, 708{ "Order:","Order:" },
709{ "Ascending","Ascending" }, 709{ "Ascending","Ascending" },
710{ "Descending","Descending" }, 710{ "Descending","Descending" },
711{ "Save file","Save file" }, 711{ "Save file","Save file" },
712{ "Error","Error" }, 712{ "Error","Error" },
713{ "Unable to export contacts.","Unable to export contacts." }, 713{ "Unable to export contacts.","Unable to export contacts." },
714{ "\nNo unsaved changes detected!\nNothing will be saved!","\nNo unsaved changes detected!\nNothing will be saved!" }, 714{ "\nNo unsaved changes detected!\nNothing will be saved!","\nNo unsaved changes detected!\nNothing will be saved!" },
715{ "Manage new categories...","Verwalte neue Kategorien..." },
716{ "&File","Datei" },
717{ "&Edit","Bearbeite" },
718{ "&View","Ansichten" },
719{ "&Settings","Konfiguration" },
720{ "&Change selected","Ändere Selekt." },
721{ "&Help","Hilfe" },
722{ "Remove sync info","Entferne Sync Info" },
723{ "For all profiles","Für alle Profile" },
724{ "&Change","Ändere" },
725{ "Import xml (Qtopia)...","Importiere xml (Qtopia)..." },
726{ "Export xml (Qtopia)...","Exportiere xml (Qtopia)..." },
727{ "Export to phone","Exportiere aufs Handy..." },
728{ "Which contacts do you want to select?","Welche Kontakte möchten Sie wählen?" },
729{ "&Modify","Ändere" },
730{ "Choose which contacts to select","Bitte Kontakte auswählen!" },
731{ "After importing/loading/syncing\nthere may be new categories in\naddressees\nwhich are not in the category list.\nPlease choose what to do:\n ","Nach dem Importieren/Laden/Syncen\nkann es neue Kategorien in den \nKontakten geben, die nicht\nin der Kategorieliste enthalten sind.\nBitte wählen Sie, was passieren soll:\n " },
732{ "Manage new Categories","Verwalte neue Kategorien" },
733{ "Add to category list","Füge zur Kategorieliste hinzu" },
734{ "Remove from addressees","Entferne von den Kontakten" },
735{ "New categories not in list:","Kategorien, die nicht in der Liste sind:" },
736{ "A&dd","Hinzufügen" },
737{ "","" },
738{ "","" },
739{ "","" },
740{ "","" },
741{ "","" },
742{ "","" },
743{ "","" },
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt
index 8251259..5d35324 100644
--- a/bin/kdepim/korganizer/germantranslation.txt
+++ b/bin/kdepim/korganizer/germantranslation.txt
@@ -1,1063 +1,1063 @@
1{ "10 minutes","10 Minuten" }, 1{ "10 minutes","10 Minuten" },
2{ "10th","10." }, 2{ "10th","10." },
3{ "11th","11." }, 3{ "11th","11." },
4{ "12 pm Format","12 AM/PM Format" }, 4{ "12 pm Format","12 AM/PM Format" },
5{ "12th","12." }, 5{ "12th","12." },
6{ "13th","13." }, 6{ "13th","13." },
7{ "14th","14." }, 7{ "14th","14." },
8{ "15th","15." }, 8{ "15th","15." },
9{ "16th","16." }, 9{ "16th","16." },
10{ "17th","17." }, 10{ "17th","17." },
11{ "18th","18." }, 11{ "18th","18." },
12{ "19th","19." }, 12{ "19th","19." },
13{ "1 Day","1 Tag" }, 13{ "1 Day","1 Tag" },
14{ "1 h","1 Std" }, 14{ "1 h","1 Std" },
15{ "1 (high)","1 (hoch)" }, 15{ "1 (high)","1 (hoch)" },
16{ "5 (low)","5" }, 16{ "5 (low)","5" },
17{ "1st","1." }, 17{ "1st","1." },
18{ "20th","20." }, 18{ "20th","20." },
19{ "21st","21." }, 19{ "21st","21." },
20{ "22nd","22." }, 20{ "22nd","22." },
21{ "23rd","23." }, 21{ "23rd","23." },
22{ "24:00 Hour Format","24:00 Stunden Format" }, 22{ "24:00 Hour Format","24:00 Stunden Format" },
23{ "24th","24." }, 23{ "24th","24." },
24{ "25th","25." }, 24{ "25th","25." },
25{ "26th","26." }, 25{ "26th","26." },
26{ "27th","27." }, 26{ "27th","27." },
27{ "28th","28." }, 27{ "28th","28." },
28{ "29th","29." }, 28{ "29th","29." },
29{ "2nd","2." }, 29{ "2nd","2." },
30{ "30 minutes","30 Minuten" }, 30{ "30 minutes","30 Minuten" },
31{ "30th","30." }, 31{ "30th","30." },
32{ "31st","31." }, 32{ "31st","31." },
33{ "3rd","3." }, 33{ "3rd","3." },
34{ "4th","4." }, 34{ "4th","4." },
35{ "5 (lowest)","5 (Niedrigster)" }, 35{ "5 (lowest)","5 (Niedrigster)" },
36{ "5th","5." }, 36{ "5th","5." },
37{ "6th","6." }, 37{ "6th","6." },
38{ "7th","7." }, 38{ "7th","7." },
39{ "8th","8." }, 39{ "8th","8." },
40{ "9th","9." }, 40{ "9th","9." },
41{ "About...","Über..." }, 41{ "About...","Über..." },
42{ "&Accept","&Akzeptieren" }, 42{ "&Accept","&Akzeptieren" },
43{ "Accept","Akzeptieren" }, 43{ "Accept","Akzeptieren" },
44{ "Accept A&ll","A&lles Akzepieren" }, 44{ "Accept A&ll","A&lles Akzepieren" },
45{ "Access:","Zugriff:" }, 45{ "Access:","Zugriff:" },
46{ "A corresponding event is missing in your calendar!","Ein zugehöriger Termin fehlt in ihrem Kalender!" }, 46{ "A corresponding event is missing in your calendar!","Ein zugehöriger Termin fehlt in ihrem Kalender!" },
47{ "Actions","Aktionen" }, 47{ "Actions","Aktionen" },
48{ "Add Filter","Filter Hinzufügen" }, 48{ "Add Filter","Filter Hinzufügen" },
49{ "&Add","Hinzufügen" }, 49{ "&Add","Hinzufügen" },
50{ "Add","Hinzufügen" }, 50{ "Add","Hinzufügen" },
51{ "Additional email addresses:","Zusätzliche E-Mail Adressen:" }, 51{ "Additional email addresses:","Zusätzliche E-Mail Adressen:" },
52{ "Additional email address:","Zusätzliche E-Mail Adresse:" }, 52{ "Additional email address:","Zusätzliche E-Mail Adresse:" },
53{ "&Addressbook","&Adressbuch" }, 53{ "&Addressbook","&Adressbuch" },
54{ "Address &Book...","Adress&buch..." }, 54{ "Address &Book...","Adress&buch..." },
55{ "Agenda Size","Agende Größe" }, 55{ "Agenda Size","Agende Größe" },
56{ "Agenda Size:","Größe der Agenda:" }, 56{ "Agenda Size:","Größe der Agenda:" },
57{ "Agenda view:","Agenda Ansicht:" }, 57{ "Agenda view:","Agenda Ansicht:" },
58{ "Agenda view background color:","Hintergrund der Agenda Ansicht:" }, 58{ "Agenda view background color:","Hintergrund der Agenda Ansicht:" },
59{ "All attendees","Alle Teilnehmer" }, 59{ "All attendees","Alle Teilnehmer" },
60{ "AllDayAgenda Height:","Höhe Ganztages Agenda:" }, 60{ "AllDayAgenda Height:","Höhe Ganztages Agenda:" },
61{ "Allday","Ganztägig" }, 61{ "Allday","Ganztägig" },
62{ "Anonymous","Anonym" }, 62{ "Anonymous","Anonym" },
63{ "Apply","Anwenden" }, 63{ "Apply","Anwenden" },
64{ "Apr","Apr" }, 64{ "Apr","Apr" },
65{ "April","April" }, 65{ "April","April" },
66{"Ask for every entry on conflict","Frage bei Konflikten nach"}, 66{"Ask for every entry on conflict","Frage bei Konflikten nach"},
67{ "Ask for preferences before syncing","Vor dem Syncronisieren nachfragen" }, 67{ "Ask for preferences before syncing","Vor dem Syncronisieren nachfragen" },
68{ "Ask for quit when closing KO/Pi","Vor dem Beenden von KO/Pi nachfragen" }, 68{ "Ask for quit when closing KO/Pi","Vor dem Beenden von KO/Pi nachfragen" },
69{ "Attendees","Teilnehmer" }, 69{ "Attendees","Teilnehmer" },
70{ "Aug","Aug" }, 70{ "Aug","Aug" },
71{ "August","August" }, 71{ "August","August" },
72{ "Auto-Save","Automatisches Abspeichern" }, 72{ "Auto-Save","Automatisches Abspeichern" },
73{ "Auto save delay in minutes:","Verzög.autom.Speichern in Min" }, 73{ "Auto save delay in minutes:","Verzög.autom.Speichern in Min" },
74{ "Auto saving...","Automatische Sicherung..." }, 74{ "Auto saving...","Automatische Sicherung..." },
75{ "Begin on:","Starte mit:" }, 75{ "Begin on:","Starte mit:" },
76{ "Begins on: %1","Starte mit: %1" }, 76{ "Begins on: %1","Starte mit: %1" },
77{ "<b>From:</b> %1 <b>To:</b> %2","<b>Vom:</b> %1 <b>Zum:</b> %2" }, 77{ "<b>From:</b> %1 <b>To:</b> %2","<b>Vom:</b> %1 <b>Zum:</b> %2" },
78{ "Bigger","Größer" }, 78{ "Bigger","Größer" },
79{ "Biggest","Riesig" }, 79{ "Biggest","Riesig" },
80{ "Big","Groß" }, 80{ "Big","Groß" },
81{ "<b>On:</b> %1","<b>Am:</b> %1" }, 81{ "<b>On:</b> %1","<b>Am:</b> %1" },
82{ "<b>On:</b> %1 <b>From:S</b> %2 <b>To:</b> %3","<b>Am:</b> %1 <b>Vom:S</b> %2 <b>Zum:</b> %3" }, 82{ "<b>On:</b> %1 <b>From:S</b> %2 <b>To:</b> %3","<b>Am:</b> %1 <b>Vom:S</b> %2 <b>Zum:</b> %3" },
83{ "<b>Original event:</b><p>","<b>Original Termin:</b><p>" }, 83{ "<b>Original event:</b><p>","<b>Original Termin:</b><p>" },
84{ " - both are modified after last sync"," - beide wurden nach der letzten Syncronisation verändert" }, 84{ " - both are modified after last sync"," - beide wurden nach der letzten Syncronisation verändert" },
85{ "Busy","Belegt" }, 85{ "Busy","Belegt" },
86{ "&Cancel","Abbre&chen" }, 86{ "&Cancel","Abbre&chen" },
87{ "Cancel","Abbrechen" }, 87{ "Cancel","Abbrechen" },
88{ "Cannot delete To-Do\nwhich has children.","Kann Todo nicht löschen,\n da noch Einträge vorhanden sind" }, 88{ "Cannot delete To-Do\nwhich has children.","Kann Todo nicht löschen,\n da noch Einträge vorhanden sind" },
89{ "Cannot delete To-Do which has children.","Kann Todo nicht löschen, da noch Einträge vorhanden sind" }, 89{ "Cannot delete To-Do which has children.","Kann Todo nicht löschen, da noch Einträge vorhanden sind" },
90{ "Can't generate mail:\nNo event selected.","Kann e-Mail nicht erstellen:\nKein Termin ausgewählt." }, 90{ "Can't generate mail:\nNo event selected.","Kann e-Mail nicht erstellen:\nKein Termin ausgewählt." },
91{ "Categories...","Kategorien..." }, 91{ "Categories...","Kategorien..." },
92{ "Categories","Kategorien" }, 92{ "Categories","Kategorien" },
93{ "Category","Kategorie" }, 93{ "Category","Kategorie" },
94{ "Center View","Zentriere Ansicht" }, 94{ "Center View","Zentriere Ansicht" },
95{ "Change","Ändere" }, 95{ "Change","Ändere" },
96{ "Cinema","Kino" }, 96{ "Cinema","Kino" },
97{ "Click to add a new Todo","Hier klicken, um ein neues Todo anzulegen" }, 97{ "Click to add a new Todo","Hier klicken, um ein neues Todo anzulegen" },
98{ "Clone Item","Klone Eintrag" }, 98{ "Clone Item","Klone Eintrag" },
99{ "&Close","S&chließen" }, 99{ "&Close","S&chließen" },
100{ "Close","Schließen" }, 100{ "Close","Schließen" },
101{ "Close this dialog to abort deletion!","Zum Abbrechen des Löschvorganges Dialog schließen!" }, 101{ "Close this dialog to abort deletion!","Zum Abbrechen des Löschvorganges Dialog schließen!" },
102{ "Colors","Farben" }, 102{ "Colors","Farben" },
103{ "completed","erledigt" }, 103{ "completed","erledigt" },
104{ "completed on %1","erledigt am %1" }, 104{ "completed on %1","erledigt am %1" },
105{ "Complete","Erledigt" }, 105{ "Complete","Erledigt" },
106{ "Confidential","Vertraulich" }, 106{ "Confidential","Vertraulich" },
107{ "Configure...","Einstellungen..." }, 107{ "Configure...","Einstellungen..." },
108{ "Confirm &deletes","Löschvogang bestätigen" }, 108{ "Confirm &deletes","Löschvogang bestätigen" },
109{ "Couldn't load calendar\n '%1'.","Kann Kalender\n '%1' nicht laden." }, 109{ "Couldn't load calendar\n '%1'.","Kann Kalender\n '%1' nicht laden." },
110{ "Counter-event Viewer","Terminzähler Ansicht" }, 110{ "Counter-event Viewer","Terminzähler Ansicht" },
111{ "Daily ending hour:","Feierabend:" }, 111{ "Daily ending hour:","Feierabend:" },
112{ "Daily starting hour:","Anfangszeit:" }, 112{ "Daily starting hour:","Anfangszeit:" },
113{ "Daily","Täglich" }, 113{ "Daily","Täglich" },
114{ "Date Format","Datums Format" }, 114{ "Date Format","Datums Format" },
115{ "Date Format:","Datums Format:" }, 115{ "Date Format:","Datums Format:" },
116{ "DateNavigator:(nr)","Datums Navigator" }, 116{ "DateNavigator:(nr)","Datums Navigator" },
117{ "Dates: ","Datum: " }, 117{ "Dates: ","Datum: " },
118{ "Date && Time","Datum && Zeit" }, 118{ "Date && Time","Datum && Zeit" },
119{ "Day begins at:","Der Tag beginnt um:" }, 119{ "Day begins at:","Der Tag beginnt um:" },
120{ "Days in Next-X-Days:","Tage in Nächste-X-Tage:" }, 120{ "Days in Next-X-Days:","Tage in Nächste-X-Tage:" },
121{ "Days in What's Next:","Tage in What's Next:" }, 121{ "Days in What's Next:","Tage in What's Next:" },
122{ "day(s)","Tag(e)" }, 122{ "day(s)","Tag(e)" },
123{ "Days to show in Next-X-Days view:","Welche Tage in Nächste-X-Tagen anzeigen:" }, 123{ "Days to show in Next-X-Days view:","Welche Tage in Nächste-X-Tagen anzeigen:" },
124{ "day","Tag" }, 124{ "day","Tag" },
125{ "Dec","Dez" }, 125{ "Dec","Dez" },
126{ "December","Dezember" }, 126{ "December","Dezember" },
127{ "Default alarm time:","Standard Alarmzeit:" }, 127{ "Default alarm time:","Standard Alarmzeit:" },
128{ "Default appointment time:","Standard Termin Startzeit:" }, 128{ "Default appointment time:","Standard Termin Startzeit:" },
129{ "Default event color:","Standard Terminfarbe:" }, 129{ "Default event color:","Standard Terminfarbe:" },
130{ "Default","Standard" }, 130{ "Default","Standard" },
131{ "Def. duration of new app.:","Standard Termin Länge:" }, 131{ "Def. duration of new app.:","Standard Termin Länge:" },
132{ "Delete all completed To-Dos?","Alle bereits erledigten Todos löschen?" }, 132{ "Delete all completed To-Dos?","Alle bereits erledigten Todos löschen?" },
133{ "Delete All","Lösche alles" }, 133{ "Delete All","Lösche alles" },
134{ "Delete all selected","Lösche alle Selektierten" }, 134{ "Delete all selected","Lösche alle Selektierten" },
135{ "Delete Current","Aktuellen löschen" }, 135{ "Delete Current","Aktuellen löschen" },
136{ "Delete Event...","Lösche Termin..." }, 136{ "Delete Event...","Lösche Termin..." },
137{ "Delete Event","Lösche Termin" }, 137{ "Delete Event","Lösche Termin" },
138{ "&Delete","Löschen" }, 138{ "&Delete","Löschen" },
139{ "Delete...","Löschen..." }, 139{ "Delete...","Löschen..." },
140{ "Delete","Löschen" }, 140{ "Delete","Löschen" },
141{ "Delete Todo...","Lösche Todo..." }, 141{ "Delete Todo...","Lösche Todo..." },
142{ "Delete To-Do","Lösche Todo" }, 142{ "Delete To-Do","Lösche Todo" },
143{ "Deleting item %d ...","Lösche Eintrag %d..." }, 143{ "Deleting item %d ...","Lösche Eintrag %d..." },
144{ "Descriptions","Beschreibungen" }, 144{ "Descriptions","Beschreibungen" },
145{ "Deselect All","Deselektiere Alle" }, 145{ "Deselect All","Deselektiere Alle" },
146{ "Details","Details" }, 146{ "Details","Details" },
147{ "Dinner","Abendessen" }, 147{ "Dinner","Abendessen" },
148{ "Do you really want\nto close KO/Pi?","Möchten Sie wirklich\nKO/PI verlassen?" }, 148{ "Do you really want\nto close KO/Pi?","Möchten Sie wirklich\nKO/PI verlassen?" },
149{ "Due Date","Fällig am" }, 149{ "Due Date","Fällig am" },
150{ "Due: ","Fällig: "}, 150{ "Due: ","Fällig: "},
151{ "Due Time","Fällig um" }, 151{ "Due Time","Fällig um" },
152{ "Due:","Fällig:"}, 152{ "Due:","Fällig:"},
153{ "Duration: ","Dauer: " }, 153{ "Duration: ","Dauer: " },
154{ "Edit...","Bearbeite..." }, 154{ "Edit...","Bearbeite..." },
155{ "Edit","Bearbeite" }, 155{ "Edit","Bearbeite" },
156{ "Edit Event...","Bearbeite Termin..." }, 156{ "Edit Event...","Bearbeite Termin..." },
157{ "Edit Event","Bearbeite Termin" }, 157{ "Edit Event","Bearbeite Termin" },
158{ "Edit exceptions","Bearbeite Ausnahmen" }, 158{ "Edit exceptions","Bearbeite Ausnahmen" },
159{ "EditorBox:","Editor Fenster:" }, 159{ "EditorBox:","Editor Fenster:" },
160{ "Edit Recurrence Range","Bearbeite Wiederholung" }, 160{ "Edit Recurrence Range","Bearbeite Wiederholung" },
161{ "Edit Todo...","Berabeite Todo..." }, 161{ "Edit Todo...","Berabeite Todo..." },
162{ "Edit To-Do","Todo bearbeiten" }, 162{ "Edit To-Do","Todo bearbeiten" },
163{ "E&mail address:","E&mail Adresse:" }, 163{ "E&mail address:","E&mail Adresse:" },
164{ "(EmptyEmail)","(KeineEmail)" }, 164{ "(EmptyEmail)","(KeineEmail)" },
165{ "(EmptyName)","(KeinName)" }, 165{ "(EmptyName)","(KeinName)" },
166{ "Enable Recurrence","Wiederholender Termin" }, 166{ "Enable Recurrence","Wiederholender Termin" },
167{ "End after","Endet nach"}, 167{ "End after","Endet nach"},
168{ "End by:","Endet am"}, 168{ "End by:","Endet am"},
169{ "End Date","End Datum" }, 169{ "End Date","End Datum" },
170{ "End:","Ende:" }, 170{ "End:","Ende:" },
171{ "End Time","End Zeit" }, 171{ "End Time","End Zeit" },
172{ "English","Englisch" }, 172{ "English","Englisch" },
173{ "Event","Termin" }, 173{ "Event","Termin" },
174{ "Event list","Termin Liste" }, 174{ "Event list","Termin Liste" },
175{ "Events","Termine" }, 175{ "Events","Termine" },
176{ "Event Viewer:","Termin Übersicht:" }, 176{ "Event Viewer:","Termin Übersicht:" },
177{ "every","jede" }, 177{ "every","jede" },
178{ "Exceptions...","Ausnahmen..." }, 178{ "Exceptions...","Ausnahmen..." },
179{ "Exceptions","Ausnahmen" }, 179{ "Exceptions","Ausnahmen" },
180{ "Exclude holidays","Ohne freie Tage" }, 180{ "Exclude holidays","Ohne freie Tage" },
181{ "Exclude Saturdays","Ohne Samstage" }, 181{ "Exclude Saturdays","Ohne Samstage" },
182{ "Feb","Feb" }, 182{ "Feb","Feb" },
183{ "February","Februar" }, 183{ "February","Februar" },
184{ "&Find","Suche!" }, 184{ "&Find","Suche!" },
185{ "Fonts","Schriftart" }, 185{ "Fonts","Schriftart" },
186{ "Force take local entry always","Erzwinge:Nimm immer lokalen Eintrag" }, 186{ "Force take local entry always","Erzwinge:Nimm immer lokalen Eintrag" },
187{ "Force take remote entry always","Erzwinge:Nimm immer fernen Eintrag"}, 187{ "Force take remote entry always","Erzwinge:Nimm immer fernen Eintrag"},
188{ "Free","Frei" }, 188{ "Free","Frei" },
189{ "Friday","Freitag" }, 189{ "Friday","Freitag" },
190{ "Fri","Fr" }, 190{ "Fri","Fr" },
191{ "From:","Vom:" }, 191{ "From:","Vom:" },
192{ "Full &name:","Vor- und &Nachname:" }, 192{ "Full &name:","Vor- und &Nachname:" },
193{ "General","Allgemein" }, 193{ "General","Allgemein" },
194{ "German","Deutsch" }, 194{ "German","Deutsch" },
195{ "Gifts","Geschenke" }, 195{ "Gifts","Geschenke" },
196{ "Go to Today","Heute anzeigen" }, 196{ "Go to Today","Heute anzeigen" },
197{ "Help","Hilfe" }, 197{ "Help","Hilfe" },
198{ "Hide Dates","Daten ausblenden" }, 198{ "Hide Dates","Daten ausblenden" },
199{ "Highlight color:","Markierungen:" }, 199{ "Highlight color:","Markierungen:" },
200{ "Holiday color:","Freie Tage:" }, 200{ "Holiday color:","Freie Tage:" },
201{ "hour(s)","Stunde(n)" }, 201{ "hour(s)","Stunde(n)" },
202{ "In %1 days: ","In %1 Tagen: " }, 202{ "In %1 days: ","In %1 Tagen: " },
203{ "Incomplete Todo:","Unerledigte Aufgaben:" }, 203{ "Incomplete Todo:","Unerledigte Aufgaben:" },
204{ "Information","Information" }, 204{ "Information","Information" },
205{ "Invalid search expression,\ncannot perform ","Kann Suche nicht ausführen" }, 205{ "Invalid search expression,\ncannot perform ","Kann Suche nicht ausführen" },
206{ "Jan","Jan" }, 206{ "Jan","Jan" },
207{ "January","Januar" }, 207{ "January","Januar" },
208{ "JournalView:","Journal Ansicht:" }, 208{ "JournalView:","Journal Ansicht:" },
209{ "Journals","Journale" }, 209{ "Journals","Journale" },
210{ "Jul","Jul" }, 210{ "Jul","Jul" },
211{ "July","Juli" }, 211{ "July","Juli" },
212{ "Jump to date","Springe zum Datum" }, 212{ "Jump to date","Springe zum Datum" },
213{ "June","Juni" }, 213{ "June","Juni" },
214{ "Jun","Jun" }, 214{ "Jun","Jun" },
215{ "Key Bindings...","Tastenzuordnung..." }, 215{ "Key Bindings...","Tastenzuordnung..." },
216{ "Kids","Kinder" }, 216{ "Kids","Kinder" },
217{ "Known Problems...","Bekannte Probleme..." }, 217{ "Known Problems...","Bekannte Probleme..." },
218{ "KO/Pi Find ","KO/Pi Suchdialog " }, 218{ "KO/Pi Find ","KO/Pi Suchdialog " },
219{ "KO/Pi Find: ","KO/Pi Suchen: " }, 219{ "KO/Pi Find: ","KO/Pi Suchen: " },
220{ "KO/Pi is starting ... "," KO/Pi startet ... \n... Zeit für eine Kaffeepause ..." }, 220{ "KO/Pi is starting ... "," KO/Pi startet ... \n... Zeit für eine Kaffeepause ..." },
221{ "Language:(needs restart)","Sprache (Neustart!)" }, 221{ "Language:(needs restart)","Sprache (Neustart!)" },
222{ "Language:","Sprache" }, 222{ "Language:","Sprache" },
223{ "Large","Etwas mehr" }, 223{ "Large","Etwas mehr" },
224{ "List View:","Listenansicht:" }, 224{ "List View:","Listenansicht:" },
225{ "List View","Listenansicht" }, 225{ "List View","Listenansicht" },
226{ "Load/Save","Laden/Speichern" }, 226{ "Load/Save","Laden/Speichern" },
227{ "Load Template","Lade Vorlage" }, 227{ "Load Template","Lade Vorlage" },
228{ "Locale","Localisation" }, 228{ "Locale","Localisation" },
229{ "Local temp file:","Lokale temp. Datei:" }, 229{ "Local temp file:","Lokale temp. Datei:" },
230{ "Location: ","Ort: " }, 230{ "Location: ","Ort: " },
231{ "Location:","Ort:" }, 231{ "Location:","Ort:" },
232{ "Mail client","Mail Programm" }, 232{ "Mail client","Mail Programm" },
233{ "Mail Client","Mail Programm" }, 233{ "Mail Client","Mail Programm" },
234{ "March","März" }, 234{ "March","März" },
235{ "Mar","Mär" }, 235{ "Mar","Mär" },
236{ "May","Mai" }, 236{ "May","Mai" },
237{ "M. Bains line:","M. Bains Linie:" }, 237{ "M. Bains line:","M. Bains Linie:" },
238{ "Medium","Medium" }, 238{ "Medium","Medium" },
239{ "Method","Methode" }, 239{ "Method","Methode" },
240{ "minute(s)","Minute(n)" }, 240{ "minute(s)","Minute(n)" },
241{ "Monday","Montag" }, 241{ "Monday","Montag" },
242{ "Mon","Mo" }, 242{ "Mon","Mo" },
243{ "Monthly","Monatlich" }, 243{ "Monthly","Monatlich" },
244{ "Month not long enough","Monat ist nicht lang genug" }, 244{ "Month not long enough","Monat ist nicht lang genug" },
245{ "month(s)","Monat(e)" }, 245{ "month(s)","Monat(e)" },
246{ "Month view:","Monatsansicht:" }, 246{ "Month view:","Monatsansicht:" },
247{ "Month view uses category colors","Monatsansicht zeigt Kategorie Farben" }, 247{ "Month view uses category colors","Monatsansicht zeigt Kategorie Farben" },
248{ "Todo view uses category colors","To-Do Ansicht zeigt Kategorie Farben" }, 248{ "Todo view uses category colors","To-Do Ansicht zeigt Kategorie Farben" },
249{ "Move &Down","Nach unten verschieben" }, 249{ "Move &Down","Nach unten verschieben" },
250{ "Move &Up","Nach oben verschieben" }, 250{ "Move &Up","Nach oben verschieben" },
251{ "Name:","Name:" }, 251{ "Name:","Name:" },
252{ "Name","Name" }, 252{ "Name","Name" },
253{ "\nAre you sure you want\nto delete this event?","\nSind Sie sicher, dass Sie\nden Termin löschen möchten?" }, 253{ "\nAre you sure you want\nto delete this event?","\nSind Sie sicher, dass Sie\nden Termin löschen möchten?" },
254{ "%n Days","%n Tage" }, 254{ "%n Days","%n Tage" },
255{ "Never","Nie" }, 255{ "Never","Nie" },
256{ "New event...","Neuer Termin..." }, 256{ "New event...","Neuer Termin..." },
257{ "New event","Neuer Termin" }, 257{ "New event","Neuer Termin" },
258{ "New Event...","Neuer Termin..." }, 258{ "New Event...","Neuer Termin..." },
259{ "New Events/Todos should","Neue Termine/Todos sollten" }, 259{ "New Events/Todos should","Neue Termine/Todos sollten" },
260{ "&New","&Neu" }, 260{ "&New","&Neu" },
261{ "New","Neu", }, 261{ "New","Neu", },
262{ "New Sub-Todo...","Neues Sub-Todo..." }, 262{ "New Sub-Todo...","Neues Sub-Todo..." },
263{ "New Todo...","Neues Todo..." }, 263{ "New Todo...","Neues Todo..." },
264{ "Next Alarm: ","Nächster Alarm: ", }, 264{ "Next Alarm: ","Nächster Alarm: ", },
265{ "&Next Day","&Nächster Tag", }, 265{ "&Next Day","&Nächster Tag", },
266{ "Next days view uses full window","Nächste-X-Tage nutzt Vollbild" }, 266{ "Next days view uses full window","Nächste-X-Tage nutzt Vollbild" },
267{ "Next month","Nächster Monat" }, 267{ "Next month","Nächster Monat" },
268{ "&Next Week","&Nächste Woche" }, 268{ "&Next Week","&Nächste Woche" },
269{ "Next year","Nächstes Jahr" }, 269{ "Next year","Nächstes Jahr" },
270{ "Next Year","Nächstes Jahr" }, 270{ "Next Year","Nächstes Jahr" },
271{ "%n h","%n Std" }, 271{ "%n h","%n Std" },
272{ "No ending date","Kein End-Datum", }, 272{ "No ending date","Kein End-Datum", },
273{ "No event, nothing to do.","Kein Termin, nichts zu tun.", }, 273{ "No event, nothing to do.","Kein Termin, nichts zu tun.", },
274{ "No event selected.","Kein Termin selektiert" }, 274{ "No event selected.","Kein Termin selektiert" },
275{ "No","Nein" }, 275{ "No","Nein" },
276{ "No program set","Kein Programm ausgewählt", }, 276{ "No program set","Kein Programm ausgewählt", },
277{ "Normal","Normal" }, 277{ "Normal","Normal" },
278{ "[No selection]","Keine Selektion", }, 278{ "[No selection]","Keine Selektion", },
279{ "No sound set","Kein Sound ausgewählt", }, 279{ "No sound set","Kein Sound ausgewählt", },
280{ "no time ","keine Zeit ", }, 280{ "no time ","keine Zeit ", },
281{ "no time","keine Zeit", }, 281{ "no time","keine Zeit", },
282{ "No Time","Keine Zeit" }, 282{ "No Time","Keine Zeit" },
283{ "November","November" }, 283{ "November","November" },
284{ "Nov","Nov", }, 284{ "Nov","Nov", },
285{ "\nThis event recurs\nover multiple dates.\n","\nDieser Termin wiederholt sich an mehreren Tagen.\n" }, 285{ "\nThis event recurs\nover multiple dates.\n","\nDieser Termin wiederholt sich an mehreren Tagen.\n" },
286{ "occurrence(s)","Vorkommen" }, 286{ "occurrence(s)","Vorkommen" },
287{ "October","Oktober" }, 287{ "October","Oktober" },
288{ "Oct","Okt", }, 288{ "Oct","Okt", },
289{ "O-due!","Ü-fällig! " }, 289{ "O-due!","Ü-fällig! " },
290{ "&OK","&OK" }, 290{ "&OK","&OK" },
291{ "Ok+Show!","Ok+Anzeigen" }, 291{ "Ok+Show!","Ok+Anzeigen" },
292{ "Organizer: %1","Organisator %1" }, 292{ "Organizer: %1","Organisator %1" },
293{ "Organizer","Organisator" }, 293{ "Organizer","Organisator" },
294{ "Owner: ","Besitzer: " }, 294{ "Owner: ","Besitzer: " },
295{ "Owner:","Besitzer:" }, 295{ "Owner:","Besitzer:" },
296{ "<p><b>Priority:</b> %2</p>","<p><b>Priorität:</b> %2</p>" }, 296{ "<p><b>Priority:</b> %2</p>","<p><b>Priorität:</b> %2</p>" },
297{ "Pick a date to display","Wähle einen Tag zum anzeigen aus" }, 297{ "Pick a date to display","Wähle einen Tag zum anzeigen aus" },
298{ "Please specify a valid due date.","Bitte gültiges Fälligkeitsdatum angeben."}, 298{ "Please specify a valid due date.","Bitte gültiges Fälligkeitsdatum angeben."},
299{ "Please specify a valid end date, for example '%1'.","Bitte gültiges Enddatum angeben, z.B.'%1'." }, 299{ "Please specify a valid end date, for example '%1'.","Bitte gültiges Enddatum angeben, z.B.'%1'." },
300{ "Please specify a valid start date.","Bitte gültiges Startdatum angeben." }, 300{ "Please specify a valid start date.","Bitte gültiges Startdatum angeben." },
301{ "Please specify a valid start date, for example '%1'.","Bitte gültiges Startdatum angeben, z.B. '%1'." }, 301{ "Please specify a valid start date, for example '%1'.","Bitte gültiges Startdatum angeben, z.B. '%1'." },
302{ "Please specify a valid start time.","Bitte gültige Startzeit angeben."}, 302{ "Please specify a valid start time.","Bitte gültige Startzeit angeben."},
303{ "Please specify a valid start time, for example '%1'.","Bitte gültige Startzeit angeben, z.B. '%1'." }, 303{ "Please specify a valid start time, for example '%1'.","Bitte gültige Startzeit angeben, z.B. '%1'." },
304{ "Preferences - some settings need a restart (nr)","Einstellungen - teilweise Neustart erforderlich (bn)" }, 304{ "Preferences - some settings need a restart (nr)","Einstellungen - teilweise Neustart erforderlich (bn)" },
305{ "&Previous Day","Vorheriger Tag" }, 305{ "&Previous Day","Vorheriger Tag" },
306{ "Previous month","Vorheriger Monat" }, 306{ "Previous month","Vorheriger Monat" },
307{ "Previous Month","Vorheriger Monat" }, 307{ "Previous Month","Vorheriger Monat" },
308{ "&Previous Week","Vorherige Woche" }, 308{ "&Previous Week","Vorherige Woche" },
309{ "Previous year","Vorheriges Jahr" }, 309{ "Previous year","Vorheriges Jahr" },
310{ "Previous Year","Vorheriges Jahr" }, 310{ "Previous Year","Vorheriges Jahr" },
311{ "Printing","Drucken" }, 311{ "Printing","Drucken" },
312{ "Priority:","Priorität:" }, 312{ "Priority:","Priorität:" },
313{ "Private","Privat" }, 313{ "Private","Privat" },
314{ "Proceed","Weiter" }, 314{ "Proceed","Weiter" },
315{ "Public","Öffentlich" }, 315{ "Public","Öffentlich" },
316{ "Purge","Entferne" }, 316{ "Purge","Entferne" },
317{ "Purge Completed","Entferne erledigte ToDos" }, 317{ "Purge Completed","Entferne erledigte ToDos" },
318{ "Purge To-Dos","Todos bereinigen" }, 318{ "Purge To-Dos","Todos bereinigen" },
319{ "read-only","schreibgeschützt" }, 319{ "read-only","schreibgeschützt" },
320{ "Recur every","Wiederh. alle" }, 320{ "Recur every","Wiederh. alle" },
321{ "Recur in the month of","Wiederh. im Monat" }, 321{ "Recur in the month of","Wiederh. im Monat" },
322{ "Recur on the","Wiederh. am" }, 322{ "Recur on the","Wiederh. am" },
323{ "Recur on this day","Wiederh. am diesen Tag" }, 323{ "Recur on this day","Wiederh. am diesen Tag" },
324{ "Recurrence Range...","Wiederholungs Zeitraum..." }, 324{ "Recurrence Range...","Wiederholungs Zeitraum..." },
325{ "Recurrence Range","Wiederholungs Zeitraum" }, 325{ "Recurrence Range","Wiederholungs Zeitraum" },
326{ "Recurrence Rule","Wiederholungs Regel" }, 326{ "Recurrence Rule","Wiederholungs Regel" },
327{ "Recurrence","Wiederholung" }, 327{ "Recurrence","Wiederholung" },
328{ "Recurs","Wiederholung" }, 328{ "Recurs","Wiederholung" },
329{"&Reject","Abweisen"}, 329{"&Reject","Abweisen"},
330{ "Reminder:","Alarm:" }, 330{ "Reminder:","Alarm:" },
331{ "Rem.:","Alarm:" }, 331{ "Rem.:","Alarm:" },
332{ "Rem.","Alarm:" }, 332{ "Rem.","Alarm:" },
333{ "Remote file:","Remote Datei:"}, 333{ "Remote file:","Remote Datei:"},
334{ "Remote IP:","Remote (ferne) IP:" }, 334{ "Remote IP:","Remote (ferne) IP:" },
335{ "Remote syncing (via ssh/scp) network settings ","Remote Sync (via ssh/scp) Netzwerk Einstellungen " }, 335{ "Remote syncing (via ssh/scp) network settings ","Remote Sync (via ssh/scp) Netzwerk Einstellungen " },
336{ "Remote user:","Remote Benutzer"}, 336{ "Remote user:","Remote Benutzer"},
337{ "&Remove","Entfe&rnen" }, 337{ "&Remove","Entfe&rnen" },
338{ "Remove","Entfernen" }, 338{ "Remove","Entfernen" },
339{ "Request response","Bemerkung anfordern" }, 339{ "Request response","Bemerkung anfordern" },
340{ "Role:","Rolle:" }, 340{ "Role:","Rolle:" },
341{ "Role","Rolle" }, 341{ "Role","Rolle" },
342{ "Sat","Sa" }, 342{ "Sat","Sa" },
343{ "Saturday","Samstag" }, 343{ "Saturday","Samstag" },
344{ "Search for:","Suche nach:" }, 344{ "Search for:","Suche nach:" },
345{ "Search In","Suche in" }, 345{ "Search In","Suche in" },
346{ "Search...","Suche..." }, 346{ "Search...","Suche..." },
347{ "Search","Suche" }, 347{ "Search","Suche" },
348{ "Select Addresses","Wähle Adressen" }, 348{ "Select Addresses","Wähle Adressen" },
349{ "Select all","Selektiere Alle" }, 349{ "Select all","Selektiere Alle" },
350{ "Select a month","Wähle Monat" }, 350{ "Select a month","Wähle Monat" },
351{ "Select a week","Wähle Woche" }, 351{ "Select a week","Wähle Woche" },
352{ "Select a year","Wähle Jahr" }, 352{ "Select a year","Wähle Jahr" },
353{ "Send directly","Sende direkt" }, 353{ "Send directly","Sende direkt" },
354{ "&Send Messages","&Sende Nachrichten", }, 354{ "&Send Messages","&Sende Nachrichten", },
355{ "Sep","Sep" }, 355{ "Sep","Sep" },
356{ "September","September" }, 356{ "September","September" },
357{ "Shopping","Einkaufen" }, 357{ "Shopping","Einkaufen" },
358{ "Use short date in (WN/E) view","Kurzdatum in (WN/Termin) Ansicht" }, 358{ "Use short date in (WN/E) view","Kurzdatum in (WN/Termin) Ansicht" },
359{ "Show Dates","Zeige Daten" }, 359{ "Show Dates","Zeige Daten" },
360{ "Show events that recur daily in date nav.","Zeige tägl.wiederh.Term.in Datums Nav." }, 360{ "Show events that recur daily in date nav.","Zeige tägl.wiederh.Term.in Datums Nav." },
361{ "Show Event...","Zeige Termin..." }, 361{ "Show Event...","Zeige Termin..." },
362{ "Show ev. that recur weekly in date nav.","Zeige wöch.wiederh.Term.in Datums Nav." }, 362{ "Show ev. that recur weekly in date nav.","Zeige wöch.wiederh.Term.in Datums Nav." },
363{ "Show Marcus Bains line","Zeige Marcus Bains Linie" }, 363{ "Show Marcus Bains line","Zeige Marcus Bains Linie" },
364{ "Show summary after syncing","Zeige Zusammenfassung nach Sync." }, 364{ "Show summary after syncing","Zeige Zusammenfassung nach Sync." },
365{ "Show time as:","Zeige Zeit als" }, 365{ "Show time as:","Zeige Zeit als" },
366{ "Show Todo...","Zeige To-Do" }, 366{ "Show Todo...","Zeige To-Do" },
367{ "Show topmost todo prios in What's N.:","Anz. höchster Prios in What's N.:"}, 367{ "Show topmost todo prios in What's N.:","Anz. höchster Prios in What's N.:"},
368{ "Show topmost todo prios in What's Next:","Anz. höchster Prios in What's Next:"}, 368{ "Show topmost todo prios in What's Next:","Anz. höchster Prios in What's Next:"},
369{ "Show vertical screen (Needs restart)","Vertikaler Bildschirm-Layout (Neustart!)" }, 369{ "Show vertical screen (Needs restart)","Vertikaler Bildschirm-Layout (Neustart!)" },
370{ "&Show","Zeige" }, 370{ "&Show","Zeige" },
371{ "Show...","Zeige..." }, 371{ "Show...","Zeige..." },
372{ "Show","Zeige" }, 372{ "Show","Zeige" },
373{ "Small","Klein" }, 373{ "Small","Klein" },
374{ "Sorry","Entschuldigung" }, 374{ "Sorry","Entschuldigung" },
375{"Sorry, the copy command failed!\nCommand was:\n","Der Kopierbefehl schlug fehl!\nBefehl war:\n"}, 375{"Sorry, the copy command failed!\nCommand was:\n","Der Kopierbefehl schlug fehl!\nBefehl war:\n"},
376{ "Start:","Start:" }, 376{ "Start:","Start:" },
377{ "Start Date","Start Datum" }, 377{ "Start Date","Start Datum" },
378{ "Start date: %1","Start Datum: %1" }, 378{ "Start date: %1","Start Datum: %1" },
379{ "Start Time","Start Zeit" }, 379{ "Start Time","Start Zeit" },
380{ "Status:","Status:" }, 380{ "Status:","Status:" },
381{ "Status","Status:" }, 381{ "Status","Status:" },
382{ "Summaries","Titel" }, 382{ "Summaries","Titel" },
383{ "Summary:","Titel:" }, 383{ "Summary:","Titel:" },
384{ "Summary","Titel" }, 384{ "Summary","Titel" },
385{ "Sunday","Sonntag" }, 385{ "Sunday","Sonntag" },
386{ "Sun","So" }, 386{ "Sun","So" },
387{ "Sync preferences:","Sync Einstellungen" }, 387{ "Sync preferences:","Sync Einstellungen" },
388{ "Sync Prefs","Sync Einstellungen" }, 388{ "Sync Prefs","Sync Einstellungen" },
389{ "Syncronize","Daten abgleich" }, 389{ "Syncronize","Daten abgleich" },
390{ "Take local entry on conflict","Nimm lokalen Eintrag beim Konflikt" }, 390{ "Take local entry on conflict","Nimm lokalen Eintrag beim Konflikt" },
391{ "Take newest entry on conflict","Nimm neuesten Eintrag beim Konflikt" }, 391{ "Take newest entry on conflict","Nimm neuesten Eintrag beim Konflikt" },
392{ "Take remote entry on conflict","Nimm fernen Eintrag beim Konflikt" }, 392{ "Take remote entry on conflict","Nimm fernen Eintrag beim Konflikt" },
393{ "Template '%1' does not contain a valid Todo.","Template '%1' enthält kein gültiges To-Do" }, 393{ "Template '%1' does not contain a valid Todo.","Template '%1' enthält kein gültiges To-Do" },
394{ "Template does not contain a valid Event.","Template '%1' enthält keinen gültigen Termin" }, 394{ "Template does not contain a valid Event.","Template '%1' enthält keinen gültigen Termin" },
395{ "Template...","Vorlage..." }, 395{ "Template...","Vorlage..." },
396{ "This day","Dieser Tag" }, 396{ "This day","Dieser Tag" },
397{ "This is an experimental feature. ","Dieses Feature ist experimentel" }, 397{ "This is an experimental feature. ","Dieses Feature ist experimentel" },
398{ "This item will be\npermanently deleted.","Dieser Eintrag wird\nkomplett gelöscht." }, 398{ "This item will be\npermanently deleted.","Dieser Eintrag wird\nkomplett gelöscht." },
399{ "This item will be permanently deleted.", "Dieser Eintrag wird komplett gelöscht." }, 399{ "This item will be permanently deleted.", "Dieser Eintrag wird komplett gelöscht." },
400{ "Thu","Do" }, 400{ "Thu","Do" },
401{ "Thursday","Donnerstag" }, 401{ "Thursday","Donnerstag" },
402{ "Time associated","Mit Zeit" }, 402{ "Time associated","Mit Zeit" },
403{ "Time bar:","Uhrzeit Zeile:" }, 403{ "Time bar:","Uhrzeit Zeile:" },
404{ "Time && Date","Zeit und Datum" }, 404{ "Time && Date","Zeit und Datum" },
405{ "Time Format","Zeit Format" }, 405{ "Time Format","Zeit Format" },
406{ "Time Format(nr):","Zeit Format(Neustart!)" }, 406{ "Time Format(nr):","Zeit Format(Neustart!)" },
407{ "Date Labels:","Datumsleiste:" }, 407{ "Date Labels:","Datumsleiste:" },
408{ "Time: ","Zeit: " }, 408{ "Time: ","Zeit: " },
409{ "Timezone:","Zeitzone:" }, 409{ "Timezone:","Zeitzone:" },
410{ "Tiny","Sehr klein" }, 410{ "Tiny","Sehr klein" },
411{ "To: ","Bis: " }, 411{ "To: ","Bis: " },
412{ "To:","Bis:" }, 412{ "To:","Bis:" },
413{ "Today: ","Heute: " }, 413{ "Today: ","Heute: " },
414{ "Todo due today color:","Heute fällige To-Do's" }, 414{ "Todo due today color:","Heute fällige To-Do's" },
415{ "To-do items:","To-Do items:" }, 415{ "To-do items:","To-Do items:" },
416{ "Todo overdue color:","Überfällige To-Do's" }, 416{ "Todo overdue color:","Überfällige To-Do's" },
417{ "Todo","Todo" }, 417{ "Todo","Todo" },
418{ "To-do view shows completed Todos","To-do Ansicht zeigt erledigte To-dos" }, 418{ "To-do view shows completed Todos","To-do Ansicht zeigt erledigte To-dos" },
419{ "ToDoView:","Todo Ansicht:" }, 419{ "ToDoView:","Todo Ansicht:" },
420{ "Toggle Alarm","Wechsle Alarm" }, 420{ "Toggle Alarm","Wechsle Alarm" },
421{ "Toggle Allday","Umschalten Ganztag" }, 421{ "Toggle Allday","Umschalten Ganztag" },
422{ "Tomorrow: ","Morgen: " }, 422{ "Tomorrow: ","Morgen: " },
423{ "Tue","Di" }, 423{ "Tue","Di" },
424{ "Tuesday","Dienstag" }, 424{ "Tuesday","Dienstag" },
425{ "Two entries are in conflict, if: ","Zwei Einträge haben einen Konflikt, wenn:" }, 425{ "Two entries are in conflict, if: ","Zwei Einträge haben einen Konflikt, wenn:" },
426{ "Unable to find template '%1'.","Kann Vorlage '%1' nicht finden." }, 426{ "Unable to find template '%1'.","Kann Vorlage '%1' nicht finden." },
427{ "Unknown","Unbekannt" }, 427{ "Unknown","Unbekannt" },
428{ "Up","Hinauf" }, 428{ "Up","Hinauf" },
429{ "Use password (if not, ask when syncing)","Passwort: (sonst jedesmal anfragen)" }, 429{ "Use password (if not, ask when syncing)","Passwort: (sonst jedesmal anfragen)" },
430{ "User defined","Benutzerdefiniert" }, 430{ "User defined","Benutzerdefiniert" },
431{ "User long date:","Format langes Datum:" }, 431{ "User long date:","Format langes Datum:" },
432{ "User short date:","Forma kurzes Datum:" }, 432{ "User short date:","Forma kurzes Datum:" },
433{ "View","Ansicht" }, 433{ "View","Ansicht" },
434{ "View Fonts","Schriftarten Ansichten" }, 434{ "View Fonts","Schriftarten Ansichten" },
435{ "Views","Ansichten" }, 435{ "Views","Ansichten" },
436{ "Wed","Mi" }, 436{ "Wed","Mi" },
437{ "Wednesday","Mittwoch" }, 437{ "Wednesday","Mittwoch" },
438{ "Week %1","Woche %1" }, 438{ "Week %1","Woche %1" },
439{ "Weekly","Wöchentlich" }, 439{ "Weekly","Wöchentlich" },
440{ "Week starts on Sunday","Woche beginnt Sonntags" }, 440{ "Week starts on Sunday","Woche beginnt Sonntags" },
441{ "What's Next View:","What's Next Anz." }, 441{ "What's Next View:","What's Next Anz." },
442{ "What's next ?","Was kommt als nächstes?(What's Next)" }, 442{ "What's next ?","Was kommt als nächstes?(What's Next)" },
443{ "Working Hours","Tägliche Arbeitszeit" }, 443{ "Working Hours","Tägliche Arbeitszeit" },
444{ "Working hours color:","Arbeitszeit in der Agenda Ansicht:" }, 444{ "Working hours color:","Arbeitszeit in der Agenda Ansicht:" },
445{ "Write back existing entries only","Nur exisitierende Einträge zurückschreiben" }, 445{ "Write back existing entries only","Nur exisitierende Einträge zurückschreiben" },
446{ "Write back synced file","Syncronisierte Datei zurückschreiben" }, 446{ "Write back synced file","Syncronisierte Datei zurückschreiben" },
447{ "Yearly","Jährlich" }, 447{ "Yearly","Jährlich" },
448{ "year(s)","Jahr(e)" }, 448{ "year(s)","Jahr(e)" },
449{ "Yes","Ja" }, 449{ "Yes","Ja" },
450{ "You have %d item(s) selected.\n","Sie haben %d Einträge ausgewählt.\n" }, 450{ "You have %d item(s) selected.\n","Sie haben %d Einträge ausgewählt.\n" },
451{ "You have to restart KOrganizer for this setting to take effect.","Sie müssem Korganizer neu starten, damit diese Einstellung aktiviert wird." }, 451{ "You have to restart KOrganizer for this setting to take effect.","Sie müssem Korganizer neu starten, damit diese Einstellung aktiviert wird." },
452{ "week(s) on:","Woche(n) am: " }, 452{ "week(s) on:","Woche(n) am: " },
453{ "Full menu bar(nr)","Volle Menuleiste(bn)" }, 453{ "Full menu bar(nr)","Volle Menuleiste(bn)" },
454{ "Timezone has daylight saving","Zeitzone hat Sommerzeit" }, 454{ "Timezone has daylight saving","Zeitzone hat Sommerzeit" },
455{ "Actual start and end is the\nsunday before this date.","Tatsächlicher Beginn/Ende ist der\nSonntag vor diesem Datum!" }, 455{ "Actual start and end is the\nsunday before this date.","Tatsächlicher Beginn/Ende ist der\nSonntag vor diesem Datum!" },
456{ "The year in the date is ignored.","Das Jahr vom Datum wird ignoriert." }, 456{ "The year in the date is ignored.","Das Jahr vom Datum wird ignoriert." },
457{ "Daylight start:","Sommerzeit Beginn:" }, 457{ "Daylight start:","Sommerzeit Beginn:" },
458{ "Daylight end:","Sommerzeit Ende:" }, 458{ "Daylight end:","Sommerzeit Ende:" },
459{ "Time Zone","Zeitzone" }, 459{ "Time Zone","Zeitzone" },
460{ "Monday 19 April 2004: %A %d %B %Y","Montag 19 April 2004: %A %d %B %Y" }, 460{ "Monday 19 April 2004: %A %d %B %Y","Montag 19 April 2004: %A %d %B %Y" },
461{ "%A: Monday --- %a: Mon","%A: Montag --- %a: Mon" }, 461{ "%A: Monday --- %a: Mon","%A: Montag --- %a: Mon" },
462{ "minutely","minütlich" }, 462{ "minutely","minütlich" },
463{ "hourly","stündlich" }, 463{ "hourly","stündlich" },
464{ "daily","täglich" }, 464{ "daily","täglich" },
465{ "weekly","wöchentlich" }, 465{ "weekly","wöchentlich" },
466{ "monthly","monatlich" }, 466{ "monthly","monatlich" },
467{ "day-monthly","tag-monatlich" }, 467{ "day-monthly","tag-monatlich" },
468{ "month-yearly","monat-jährlich" }, 468{ "month-yearly","monat-jährlich" },
469{ "day-yearly","tag-jährlich" }, 469{ "day-yearly","tag-jährlich" },
470{ "position-yearly","pos-jährlich" }, 470{ "position-yearly","pos-jährlich" },
471{ "Edit item on doubleclick (if not, show)","Editiere mit Doppelklick(wenn nicht, zeige)" }, 471{ "Edit item on doubleclick (if not, show)","Editiere mit Doppelklick(wenn nicht, zeige)" },
472{ "Highlight current day in agenda","Hebe >>heute<< in Agenda hervor" }, 472{ "Highlight current day in agenda","Hebe >>heute<< in Agenda hervor" },
473{ "Use light color for highlight current day","Helle Farbe für >>heute<< Hervorhebung" }, 473{ "Use light color for highlight current day","Helle Farbe für >>heute<< Hervorhebung" },
474{ "Highlight selection in Time Edit","Hebe Auswahl in Zeit Edit hervor" }, 474{ "Highlight selection in Time Edit","Hebe Auswahl in Zeit Edit hervor" },
475{ "Hold fullscreen on view change","Behalte Vollbild bei Ansichswechsel" }, 475{ "Hold fullscreen on view change","Behalte Vollbild bei Ansichswechsel" },
476{ "Hold non-fullscreen on view change","Behalte Nicht-Vollbild bei Ansichtsw." }, 476{ "Hold non-fullscreen on view change","Behalte Nicht-Vollbild bei Ansichtsw." },
477{ "Event list view uses full window","Listenansicht nutzt Vollbild" }, 477{ "Event list view uses full window","Listenansicht nutzt Vollbild" },
478{ "Set agenda to DayBeginsAt on change","Setze Agenda auf TagBeginntUm bei Wechsel" }, 478{ "Set agenda to DayBeginsAt on change","Setze Agenda auf TagBeginntUm bei Wechsel" },
479{ "Set agenda to current time on change","Setze Agenda auf gegenw.Zeit bei Wechsel" }, 479{ "Set agenda to current time on change","Setze Agenda auf gegenw.Zeit bei Wechsel" },
480{ "Listview uses monthly timespan","Listenansicht zeigt monatliche Zeitspanne" }, 480{ "Listview uses monthly timespan","Listenansicht zeigt monatliche Zeitspanne" },
481{ "ViewChange","Ansichtswechsel" }, 481{ "ViewChange","Ansichtswechsel" },
482{ "Default alarm *.wav file:","Standard Alarm *.wav Datei:" }, 482{ "Default alarm *.wav file:","Standard Alarm *.wav Datei:" },
483{ "This setting is useless for 5500 user!","Diese Einst. ist nutzlos für 5500 Nutzer" }, 483{ "This setting is useless for 5500 user!","Diese Einst. ist nutzlos für 5500 Nutzer" },
484{ "File","Datei" }, 484{ "File","Datei" },
485{ "Clone...","Dupliziere.." }, 485{ "Clone...","Dupliziere.." },
486{ "Move...","Bewege..." }, 486{ "Move...","Bewege..." },
487{ "Beam...","Sende via IR..." }, 487{ "Beam...","Sende via IR..." },
488{ "&Clone...","Dupliziere.." }, 488{ "&Clone...","Dupliziere.." },
489{ "&Move...","Bewege..." }, 489{ "&Move...","Bewege..." },
490{ "&Beam...","Sende via IR..." }, 490{ "&Beam...","Sende via IR..." },
491{ "Show Completed","Zeige erledigte Todos" }, 491{ "Show Completed","Zeige erledigte Todos" },
492{ "Show Quick Todo","Zeige Quick Todo" }, 492{ "Show Quick Todo","Zeige Quick Todo" },
493{ "Unparent Todo","Un-sub Todo" }, 493{ "Unparent Todo","Un-sub Todo" },
494{ "Save selected to file...","Speichere Selektierte..." }, 494{ "Save selected to file...","Speichere Selektierte..." },
495{ "Add Categ. to selected...","Füge zu Selekt. Kateg. hinzu..." }, 495{ "Add Categ. to selected...","Füge zu Selekt. Kateg. hinzu..." },
496{ "Set Categ. for selected...","Setze Kateg. für Selekt." }, 496{ "Set Categ. for selected...","Setze Kateg. für Selekt." },
497{ "Beam selected via IR","Sende Selekt. via IR..." }, 497{ "Beam selected via IR","Sende Selekt. via IR..." },
498{ "Search","Suchen" }, 498{ "Search","Suchen" },
499{ "Date Picker","Datum auswählen" }, 499{ "Date Picker","Datum auswählen" },
500{ "Day View","Tagesansicht" }, 500{ "Day View","Tagesansicht" },
501{ "Work Week","Arbeitswoche" }, 501{ "Work Week","Arbeitswoche" },
502{ "Week","Wochenansicht" }, 502{ "Week","Wochenansicht" },
503{ "Month","Monatsansicht" }, 503{ "Month","Monatsansicht" },
504{ "Todo View","Todo Liste" }, 504{ "Todo View","Todo Liste" },
505{ "Journal","Journal Ansicht" }, 505{ "Journal","Journal Ansicht" },
506{ "Next days","Nächste Tage" }, 506{ "Next days","Nächste Tage" },
507{ "Print agenda selection...","Drucke Agendaselektion..." }, 507{ "Print agenda selection...","Drucke Agendaselektion..." },
508{ "Toggle DateNavigator","Navigator umschalten" }, 508{ "Toggle DateNavigator","Navigator umschalten" },
509{ "Toggle FilterView","Filteransicht umschalten" }, 509{ "Toggle FilterView","Filteransicht umschalten" },
510{ "Prev. month","Vorheriger Monat" }, 510{ "Prev. month","Vorheriger Monat" },
511{ "Go backward","Gehe zurück" }, 511{ "Go backward","Gehe zurück" },
512{ "Go forward","Gehe weiter" }, 512{ "Go forward","Gehe weiter" },
513{ "Synchronize","Synchronisieren" }, 513{ "Synchronize","Synchronisieren" },
514{ "AgendaSize","Agendagröße" }, 514{ "AgendaSize","Agendagröße" },
515{ "Import (*.ics/*.vcs) file","Importiere (*.ics/*.vcs) Datei" }, 515{ "Import (*.ics/*.vcs) file","Importiere (*.ics/*.vcs) Datei" },
516{ "Import last file","Importiere letzte Datei" }, 516{ "Import last file","Importiere letzte Datei" },
517{ "Import Opie/Qtopia Cal.","Importiere Opie/Qtopia Kal." }, 517{ "Import Opie/Qtopia Cal.","Importiere Opie/Qtopia Kal." },
518{ "Load Calendar Backup","Lade Kalender Backup" }, 518{ "Load Calendar Backup","Lade Kalender Backup" },
519{ "Save Calendar Backup","Speichere Kalender Backup" }, 519{ "Save Calendar Backup","Speichere Kalender Backup" },
520{ "Export VCalendar","Exportiere VCalendar" }, 520{ "Export VCalendar","Exportiere VCalendar" },
521{ "Manage new categories...","Verwalte neue Kategorien..." }, 521{ "Manage new categories...","Verwalte neue Kategorien..." },
522{ "Beam complete calendar...","Sende kompletten Kalender via IR" }, 522{ "Beam complete calendar...","Sende kompletten Kalender via IR" },
523{ "Beam filtered calendar...","Sende gefilterten Kalender via IR" }, 523{ "Beam filtered calendar...","Sende gefilterten Kalender via IR" },
524{ "Remote via ssh","Über Netzwerk via ssh" }, 524{ "Remote via ssh","Über Netzwerk via ssh" },
525{ "With local file","Mit lokaler Datei" }, 525{ "With local file","Mit lokaler Datei" },
526{ "With last file","Mit letzter Datei" }, 526{ "With last file","Mit letzter Datei" },
527{ "KO/Pi: Ready for beaming","KO/Pi: Bereit zum Senden" }, 527{ "KO/Pi: Ready for beaming","KO/Pi: Bereit zum Senden" },
528{ "KO/Pi:Beaming done","KO/Pi: Senden erfolgt" }, 528{ "KO/Pi:Beaming done","KO/Pi: Senden erfolgt" },
529{ "Save filename","Speichern: Dateinamen wählen" }, 529{ "Save filename","Speichern: Dateinamen wählen" },
530{ "File already exists!\nOld file from:\n%1\nOverwrite?\n","Dateiname existiert bereits!\nAlte Datei vom:\n%1\nÜberschreiben?\n" }, 530{ "File already exists!\nOld file from:\n%1\nOverwrite?\n","Dateiname existiert bereits!\nAlte Datei vom:\n%1\nÜberschreiben?\n" },
531{ "KO/Pi: Warning!","KO/Pi: Warnung!" }, 531{ "KO/Pi: Warning!","KO/Pi: Warnung!" },
532{ "Overwrite!","Überschreibe!" }, 532{ "Overwrite!","Überschreibe!" },
533{ "KO/Pi:Saved %1","KO/Pi:Gespeichert %1" }, 533{ "KO/Pi:Saved %1","KO/Pi:Gespeichert %1" },
534{ "All selected items will be\npermanently deleted.\n(Deleting items will take\nsome time on a PDA)\n","Alle selektierten Einträge werden\nunwiederbringlich gelöscht.\n(Löschen kann auf dem\nPDA einige Zeit dauern)\n" }, 534{ "All selected items will be\npermanently deleted.\n(Deleting items will take\nsome time on a PDA)\n","Alle selektierten Einträge werden\nunwiederbringlich gelöscht.\n(Löschen kann auf dem\nPDA einige Zeit dauern)\n" },
535{ "KO/Pi Confirmation","KO/Pi Bestätigung" }, 535{ "KO/Pi Confirmation","KO/Pi Bestätigung" },
536{ "Close dialog to abort deletion!","Schließe Dialog um das Löschen abzubrechen!" }, 536{ "Close dialog to abort deletion!","Schließe Dialog um das Löschen abzubrechen!" },
537{ "Deleting item %d ...","Lösche Eintrag %d ..." }, 537{ "Deleting item %d ...","Lösche Eintrag %d ..." },
538{ "%d items remaining in list.","%d Einträge sind in der Liste verblieben." }, 538{ "%d items remaining in list.","%d Einträge sind in der Liste verblieben." },
539{ "Size","Größe" }, 539{ "Size","Größe" },
540{ "Date","Datum" }, 540{ "Date","Datum" },
541{ "Mime Type","Datei Typ" }, 541{ "Mime Type","Datei Typ" },
542{ "All Files","Alle Dateien" }, 542{ "All Files","Alle Dateien" },
543{ "Files","Dateien" }, 543{ "Files","Dateien" },
544{ "Documents","DoKumente" }, 544{ "Documents","DoKumente" },
545{ "Select Categories","Selektiere Kategorien" }, 545{ "Select Categories","Selektiere Kategorien" },
546{ " &Deselect All "," Auswahl aufheben " }, 546{ " &Deselect All "," Auswahl aufheben " },
547{ "A&dd","Hinzu" }, 547{ "A&dd","Hinzu" },
548{ "&Modify","Ändern" }, 548{ "&Modify","Ändern" },
549{ "Edit Categories","Editiere Kategorien" }, 549{ "Edit Categories","Editiere Kategorien" },
550{ " &Edit Categories "," &Editiere Kategorien " }, 550{ " &Edit Categories "," &Editiere Kategorien " },
551{ "Beam Options","Beam Einstellungen" }, 551{ "Beam Options","Beam Einstellungen" },
552{ " With timezone "," Mit Zeitzone " }, 552{ " With timezone "," Mit Zeitzone " },
553{ " Local time ", " Lokale Zeit " }, 553{ " Local time ", " Lokale Zeit " },
554{ "Manage new Categories","Verwalte neue Kategorien" }, 554{ "Manage new Categories","Verwalte neue Kategorien" },
555{ "Add to category list","Füge zur Kategorieliste hinzu" }, 555{ "Add to category list","Füge zur Kategorieliste hinzu" },
556{ "Remove from Events/Todos","Entferne von Terminen/Todos" }, 556{ "Remove from Events/Todos","Entferne von Terminen/Todos" },
557{ "After importing/loading/syncing\nthere may be new categories in\nevents or todos\nwhich are not in the category list.\nPlease choose what to do:\n ","Nach dem Importieren/Laden/Syncen\nkann es neue Kategorien in den \nTerminen oder Todos geben, die nicht\nin der Kategorieliste enthalten sind.\nBitte wählen Sie, was passieren soll:\n " }, 557{ "After importing/loading/syncing\nthere may be new categories in\nevents or todos\nwhich are not in the category list.\nPlease choose what to do:\n ","Nach dem Importieren/Laden/Syncen\nkann es neue Kategorien in den \nTerminen oder Todos geben, die nicht\nin der Kategorieliste enthalten sind.\nBitte wählen Sie, was passieren soll:\n " },
558{ "New categories not in list:","Kategorien, die nicht in der Liste sind:" }, 558{ "New categories not in list:","Kategorien, die nicht in der Liste sind:" },
559{ "File format","Datei Format" }, 559{ "File format","Datei Format" },
560{ "Time format","Zeit Format" }, 560{ "Time format","Zeit Format" },
561{ "Delete all\ncompleted To-Dos?","Lösche alle\nerledigten To-Dos?" }, 561{ "Delete all\ncompleted To-Dos?","Lösche alle\nerledigten To-Dos?" },
562{ "KO/Pi:Saving Data to File ...","KO/Pi: Speichere Kalender in Datei ..." }, 562{ "KO/Pi:Saving Data to File ...","KO/Pi: Speichere Kalender in Datei ..." },
563{ "KO/Pi:File Saved. Needed %d sec, %d ms","KO/Pi: Abgespeichert in %d sec, %d ms" }, 563{ "KO/Pi:File Saved. Needed %d sec, %d ms","KO/Pi: Abgespeichert in %d sec, %d ms" },
564{ "h","Std" }, 564{ "h","Std" },
565{ "min","Min" }, 565{ "min","Min" },
566{ "hou","Std" }, 566{ "hou","Std" },
567{ "day","Tag" }, 567{ "day","Tag" },
568{ "French","Französich" }, 568{ "French","Französich" },
569{ "Time","Zeit" }, 569{ "Time","Zeit" },
570{ "Event Viewer","Termin Ansicht" }, 570{ "Event Viewer","Termin Ansicht" },
571{ "Cancel Sync","Sync Abbrechen" }, 571{ "Cancel Sync","Sync Abbrechen" },
572{ "Remote","Fern" }, 572{ "Remote","Fern" },
573{ "Local","Lokal" }, 573{ "Local","Lokal" },
574{ "Conflict! Please choose entry","Konflikt! Bitte Eintrag wählen" }, 574{ "Conflict! Please choose entry","Konflikt! Bitte Eintrag wählen" },
575{ "Local: ","Lokal: " }, 575{ "Local: ","Lokal: " },
576{ "Remote: ","Fern: " }, 576{ "Remote: ","Fern: " },
577{ "Last modified: ","Zuletzt geändert: " }, 577{ "Last modified: ","Zuletzt geändert: " },
578{ "Location: ","Ort: " }, 578{ "Location: ","Ort: " },
579{ "<p><b>From:</b> %1 </p><p><b>To:</b> %2</p>","<p><b>Von:</b> %1 </p><p><b>Bis:</b> %2</p>" }, 579{ "<p><b>From:</b> %1 </p><p><b>To:</b> %2</p>","<p><b>Von:</b> %1 </p><p><b>Bis:</b> %2</p>" },
580{ "<p><b>On:</b> %1</p>","<p><b>Am:</b> %1</p>" }, 580{ "<p><b>On:</b> %1</p>","<p><b>Am:</b> %1</p>" },
581{ "<p><b>From:</b> %1</p> ","<p><b>Von:</b> %1</p> " }, 581{ "<p><b>From:</b> %1</p> ","<p><b>Von:</b> %1</p> " },
582{ "<p><b>To:</b> %1</p>","<p><b>Bis:</b> %1</p>" }, 582{ "<p><b>To:</b> %1</p>","<p><b>Bis:</b> %1</p>" },
583{ "<p><b>On:</b> %1</p> ","<p><b>Am:</b> %1</p> " }, 583{ "<p><b>On:</b> %1</p> ","<p><b>Am:</b> %1</p> " },
584{ "<p><b>From:</b> %1 <b>To:</b> %2</p>","<p><b>Von:</b> %1 <b>Bis:</b> %2</p>" }, 584{ "<p><b>From:</b> %1 <b>To:</b> %2</p>","<p><b>Von:</b> %1 <b>Bis:</b> %2</p>" },
585{ "This is a %1 recurring event.","Das ist ein %1 wiederholender Termin." }, 585{ "This is a %1 recurring event.","Das ist ein %1 wiederholender Termin." },
586{ "<b>Next recurrence is on:</b>","<b>Nächste Wiederholung ist am:</b>" }, 586{ "<b>Next recurrence is on:</b>","<b>Nächste Wiederholung ist am:</b>" },
587{ "<b>Last recurrence was on:</b>","<b>Letzte Wiederholung war am:</b>" }, 587{ "<b>Last recurrence was on:</b>","<b>Letzte Wiederholung war am:</b>" },
588{ "( %1 min before )","( %1 min vorher )" }, 588{ "( %1 min before )","( %1 min vorher )" },
589{ "<b>Alarm on: ","<b>Alarm am: " }, 589{ "<b>Alarm on: ","<b>Alarm am: " },
590{ "<b>Details: </b>","<b>Details: </b>" }, 590{ "<b>Details: </b>","<b>Details: </b>" },
591{ "<p><b>Priority:</b> %2</p>","<p><b>Priorität:</b> %2</p>" }, 591{ "<p><b>Priority:</b> %2</p>","<p><b>Priorität:</b> %2</p>" },
592{ "<p><i>%1 % completed</i></p>","<p><i>%1 % erledigt</i></p>" }, 592{ "<p><i>%1 % completed</i></p>","<p><i>%1 % erledigt</i></p>" },
593{ "Organizer","Organisator" }, 593{ "Organizer","Organisator" },
594{ "Save","Speichern" }, 594{ "Save","Speichern" },
595{ "Exit (+save)","Beenden (+ speichern)" }, 595{ "Exit (+save)","Beenden (+ speichern)" },
596{ "Home","Zuhause" }, 596{ "Home","Zuhause" },
597{ "Office","Büro" }, 597{ "Office","Büro" },
598{ "Libary","Bücherei" }, 598{ "Libary","Bücherei" },
599{ "Doctor","Arzt" }, 599{ "Doctor","Arzt" },
600{ "Beach","Strand" }, 600{ "Beach","Strand" },
601{ "Conference room","Konferenzraum" }, 601{ "Conference room","Konferenzraum" },
602{ "Drive Home","Heimfahrt" }, 602{ "Drive Home","Heimfahrt" },
603{ "Watch TV","Tv gucken" }, 603{ "Watch TV","Tv gucken" },
604{ "Phone call","Telefonanruf" }, 604{ "Phone call","Telefonanruf" },
605{ "Pay bill","Rechnung bezahlen" }, 605{ "Pay bill","Rechnung bezahlen" },
606{ "Read book","Buch lesen" }, 606{ "Read book","Buch lesen" },
607{ "Watering plants","Pflanzen giessen" }, 607{ "Watering plants","Pflanzen giessen" },
608{"Appointment","Verabredung" }, 608{"Appointment","Verabredung" },
609{"Birthday","Geburtstag" }, 609{"Birthday","Geburtstag" },
610{"Business","Geschäft" }, 610{"Business","Geschäft" },
611{"Business Travel","Geschäftsreise" }, 611{"Business Travel","Geschäftsreise" },
612{"Cinema","Kino" }, 612{"Cinema","Kino" },
613{"Customer","Kunde" }, 613{"Customer","Kunde" },
614{"Break","Pause" }, 614{"Break","Pause" },
615{"Breakfast","Frühstück" }, 615{"Breakfast","Frühstück" },
616{"Competition","Wettkampf" }, 616{"Competition","Wettkampf" },
617{"Dinner","Abendessen" }, 617{"Dinner","Abendessen" },
618{"Education","Erziehung" }, 618{"Education","Erziehung" },
619{"Family","Familie" }, 619{"Family","Familie" },
620{"Favorites","Favoriten" }, 620{"Favorites","Favoriten" },
621{"Festival","Festival" }, 621{"Festival","Festival" },
622{"Fishing","Angeln" }, 622{"Fishing","Angeln" },
623{"Flight","Flug" }, 623{"Flight","Flug" },
624{"Gifts","Geschenk" }, 624{"Gifts","Geschenk" },
625{"Holiday","Feiertag" }, 625{"Holiday","Feiertag" },
626{"Holiday Cards","Ansichtskarten" }, 626{"Holiday Cards","Ansichtskarten" },
627{"Hot Contacts","Heisse Kontakte" }, 627{"Hot Contacts","Heisse Kontakte" },
628{"Hiking","Wandern" }, 628{"Hiking","Wandern" },
629{"Hunting","Jagen" }, 629{"Hunting","Jagen" },
630{"Key Customer","Wichtiger Kunde" }, 630{"Key Customer","Wichtiger Kunde" },
631{"Kids","Kinder" }, 631{"Kids","Kinder" },
632{"Lunch","Mittagessen" }, 632{"Lunch","Mittagessen" },
633{"Meeting","Treffen" }, 633{"Meeting","Treffen" },
634{"Miscellaneous","Verschiedenes" }, 634{"Miscellaneous","Verschiedenes" },
635{"Partner","Partner" }, 635{"Partner","Partner" },
636{"Party","Partie" }, 636{"Party","Partie" },
637{"Personal","Privat" }, 637{"Personal","Privat" },
638{"Personal Travel","Privatreise"}, 638{"Personal Travel","Privatreise"},
639{"PHB","PHB" }, 639{"PHB","PHB" },
640{"Phone Calls","Telefonanruf" }, 640{"Phone Calls","Telefonanruf" },
641{"Projects","Projekt" }, 641{"Projects","Projekt" },
642{"Recurring","Wiederholend" }, 642{"Recurring","Wiederholend" },
643{"School","Schule" }, 643{"School","Schule" },
644{"Shopping","Einkaufen" }, 644{"Shopping","Einkaufen" },
645{"Speach","Rede" }, 645{"Speach","Rede" },
646{"Special Occasion","Spez.Gelegenheit" }, 646{"Special Occasion","Spez.Gelegenheit" },
647{"Sports","Sport" }, 647{"Sports","Sport" },
648{"Talk","Vortrag" }, 648{"Talk","Vortrag" },
649{"Travel","Reise" }, 649{"Travel","Reise" },
650{"TV","TV" }, 650{"TV","TV" },
651{"Germany","Deutschland" }, 651{"Germany","Deutschland" },
652{"Sweden","Schweden" }, 652{"Sweden","Schweden" },
653{"Forest","Wald" }, 653{"Forest","Wald" },
654{ "Desert","Wüste" }, 654{ "Desert","Wüste" },
655{ "Kitchen","Küche" }, 655{ "Kitchen","Küche" },
656{ "Lake","See" }, 656{ "Lake","See" },
657{"University","Universität"}, 657{"University","Universität"},
658{"Vacation","Urlaub" }, 658{"Vacation","Urlaub" },
659{"VIP","VIP" }, 659{"VIP","VIP" },
660{ "Import Sharp Calendar","Importiere Sharp Kalender" }, 660{ "Import Sharp Calendar","Importiere Sharp Kalender" },
661{ "This todo has been cancelled!","Dieses Todo wurde gecancelt!" }, 661{ "This todo has been cancelled!","Dieses Todo wurde gecancelt!" },
662{ "This event has been cancelled!","Dieser Termin wurde gecancelt!" }, 662{ "This event has been cancelled!","Dieser Termin wurde gecancelt!" },
663{ "Cancelled","Gecancelt" }, 663{ "Cancelled","Gecancelt" },
664{ "Multiple sync","Mehrfach Sync" }, 664{ "Multiple sync","Mehrfach Sync" },
665{ "Local file","Lokale Datei" }, 665{ "Local file","Lokale Datei" },
666{ "Last file","Letzte Datei" }, 666{ "Last file","Letzte Datei" },
667{ "Keys + Colors...","Tasten + Farben..." }, 667{ "Keys + Colors...","Tasten + Farben..." },
668{ "Mini icons in toolbar(nr)","Mini Icons in ToolBar(bn)" }, 668{ "Mini icons in toolbar(nr)","Mini Icons in ToolBar(bn)" },
669{ "Quick load/save (w/o Unicode)","Schnelles Laden/Speichern (o Unicode)" }, 669{ "Quick load/save (w/o Unicode)","Schnelles Laden/Speichern (o Unicode)" },
670{ "Choose...","Wähle..." }, 670{ "Choose...","Wähle..." },
671{ "Use colors for application:","Setze Farben für Programm:" }, 671{ "Use colors for application:","Setze Farben für Programm:" },
672{ "Buttons, menus, etc.:","Knöpfe, Menu, etc.:" }, 672{ "Buttons, menus, etc.:","Knöpfe, Menu, etc.:" },
673{ "Frames, labels, etc.:","Rahmen, Label, etc.:" }, 673{ "Frames, labels, etc.:","Rahmen, Label, etc.:" },
674{ "Show parent To-Do's in What's Next view","Zeige Ober-Todo in What's Next Anz." }, 674{ "Show parent To-Do's in What's Next view","Zeige Ober-Todo in What's Next Anz." },
675{ "Show location in What's Next view","Zeige Ort in What's Next Anz." }, 675{ "Show location in What's Next view","Zeige Ort in What's Next Anz." },
676{ "Show events that recur ","Zeige Termine, die sich wiederholen:" }, 676{ "Show events that recur ","Zeige Termine, die sich wiederholen:" },
677{ "Show in every cell ","Zeige in jeder Zelle " }, 677{ "Show in every cell ","Zeige in jeder Zelle " },
678{ "short month","kurzen Monat" }, 678{ "short month","kurzen Monat" },
679{ "icons","Icons" }, 679{ "icons","Icons" },
680{ "Show Sat/Sun together","Zeige Sam/Son zusammen" }, 680{ "Show Sat/Sun together","Zeige Sam/Son zusammen" },
681{ "Categorie colors are applied to text","Kategorie Farben färben Text" }, 681{ "Categorie colors are applied to text","Kategorie Farben färben Text" },
682{ "Month view uses day colors","Monatsansicht zeigt Tagesfarben" }, 682{ "Month view uses day colors","Monatsansicht zeigt Tagesfarben" },
683{ "Day color odd months","Tagesfarbe ungerade Monate" }, 683{ "Day color odd months","Tagesfarbe ungerade Monate" },
684{ "Day color even months","Tagesfarbe gerade Monate" }, 684{ "Day color even months","Tagesfarbe gerade Monate" },
685{ "Color for Sundays + category \"Holiday\"","Farbe für Sonntag + Kateg.\" Feiertag\"" }, 685{ "Color for Sundays + category \"Holiday\"","Farbe für Sonntag + Kateg.\" Feiertag\"" },
686{ "To-do view shows complete as 'xx %'","Zeige Prozent erledigt als 'xx %'" }, 686{ "To-do view shows complete as 'xx %'","Zeige Prozent erledigt als 'xx %'" },
687{ "Small To-do view uses smaller font","Kleine To-do Ansicht nutzt kleineren Font" }, 687{ "Small To-do view uses smaller font","Kleine To-do Ansicht nutzt kleineren Font" },
688{ "Colors are applied to text","Farben werden auf Text angewendet" }, 688{ "Colors are applied to text","Farben werden auf Text angewendet" },
689{ "Use internal alarm notification","Nutze interne Alarm Benachrichtigung" }, 689{ "Use internal alarm notification","Nutze interne Alarm Benachrichtigung" },
690{ "Note: KO/Pi must be running to notify you about an alarm. Recommended for use on Zaurus: Disable this option and install KO/Pi alarm applet.\n","Achtung: KO/Pi muß ausgeführt werden damit die Benachrichtigung funktioniert. Empfehlung für Zaurus: Diese Option nicht wählen und KO/Pi Alarm Applet installieren.\n" }, 690{ "Note: KO/Pi must be running to notify you about an alarm. Recommended for use on Zaurus: Disable this option and install KO/Pi alarm applet.\n","Achtung: KO/Pi muß ausgeführt werden damit die Benachrichtigung funktioniert. Empfehlung für Zaurus: Diese Option nicht wählen und KO/Pi Alarm Applet installieren.\n" },
691{ "Play beeps count:","Anzahl der Alarmpiepse: " }, 691{ "Play beeps count:","Anzahl der Alarmpiepse: " },
692{ "Beeps interval in sec:","Zeitintervall der Alarmpiepse: " }, 692{ "Beeps interval in sec:","Zeitintervall der Alarmpiepse: " },
693{ "Default suspend time in min:","Standard Supendierungs Zeit: " }, 693{ "Default suspend time in min:","Standard Supendierungs Zeit: " },
694{ "Auto suspend count:","Anzahl der auto Suspendierungen" }, 694{ "Auto suspend count:","Anzahl der auto Suspendierungen" },
695{ "Alarm *.wav file for newly created alarm:","Alarm *.wav Datei für neu angelegte Alarme:" }, 695{ "Alarm *.wav file for newly created alarm:","Alarm *.wav Datei für neu angelegte Alarme:" },
696{ "New profile","Neues Profil" }, 696{ "New profile","Neues Profil" },
697{ "Clone profile","Klone Profil" }, 697{ "Clone profile","Klone Profil" },
698{ "Delete profile","Lösche Profil" }, 698{ "Delete profile","Lösche Profil" },
699{ "Profile:","Profil:" }, 699{ "Profile:","Profil:" },
700{ "Include in multiple sync","Beziehe Profil in mehrfach Sync mit ein" }, 700{ "Include in multiple sync","Beziehe Profil in mehrfach Sync mit ein" },
701{ "Force: Take local entry always","Erzwinge: Nimm immer lokalen Eintrag" }, 701{ "Force: Take local entry always","Erzwinge: Nimm immer lokalen Eintrag" },
702{ "Force: Take remote entry always","Erzwinge: Nimm immer fernen Eintrag" }, 702{ "Force: Take remote entry always","Erzwinge: Nimm immer fernen Eintrag" },
703{ "Show summary after sync","Zeige Zusammenfassung nach dem Synchronisieren" }, 703{ "Show summary after sync","Zeige Zusammenfassung nach dem Synchronisieren" },
704{ "Write back file","Schreibe Datei zurück" }, 704{ "Write back file","Schreibe Datei zurück" },
705{ "Remote file (w down/upload command)","Entfernte Datei (via down/upload Kommando)" }, 705{ "Remote file (w down/upload command)","Entfernte Datei (via down/upload Kommando)" },
706{ "Pre sync (download) command:","Bevor Sync (download) Kommando:" }, 706{ "Pre sync (download) command:","Bevor Sync (download) Kommando:" },
707{ "Local device name:","Name dieses Gerätes:" }, 707{ "Local device name:","Name dieses Gerätes:" },
708{ "Ask for preferences before sync","Frage nach Synchronisationseinstellungen vor dem Syncen" }, 708{ "Ask for preferences before sync","Frage nach Synchronisationseinstellungen vor dem Syncen" },
709{ "Sync preferences","Synchronisations Einstellungen" }, 709{ "Sync preferences","Synchronisations Einstellungen" },
710{ "Profile kind","Profil Art" }, 710{ "Profile kind","Profil Art" },
711{ "Local file","Lokale Datei" }, 711{ "Local file","Lokale Datei" },
712{ "Local file:","Lokale Datei:" }, 712{ "Local file:","Lokale Datei:" },
713{ "Post sync (upload) command:","Nach Sync (upload) Kommando:" }, 713{ "Post sync (upload) command:","Nach Sync (upload) Kommando:" },
714{ "Fill in default values for:","Setze Beispiel Werte ein für:" }, 714{ "Fill in default values for:","Setze Beispiel Werte ein für:" },
715{ "Hint: Use $PWD$ for placeholder of password!","Hinweis: Benutze $PWD$ als Platzhalter für ein Passwort!" }, 715{ "Hint: Use $PWD$ for placeholder of password!","Hinweis: Benutze $PWD$ als Platzhalter für ein Passwort!" },
716{ "Synchronization Preferences","Einstellungen der Synchronisationsprofile"}, 716{ "Synchronization Preferences","Einstellungen der Synchronisationsprofile"},
717{ "Device","Gerät:" }, 717{ "Device","Gerät:" },
718{ "Sync with file \n...%1\nfrom:\n%2\n","Sync mit Datei \n...%1\nvom:\n%2\n" }, 718{ "Sync with file \n...%1\nfrom:\n%2\n","Sync mit Datei \n...%1\nvom:\n%2\n" },
719{ "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","Synchronisationsübersicht:\n\n %d items lokal hinzugefügt\n %d items entfernt hinzugefügt\n %d items lokal geändert\n %d items entfernt geändert\n %d items lokal gelöscht\n %d items entfernt gelöscht\n" }, 719{ "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","Synchronisationsübersicht:\n\n %d items lokal hinzugefügt\n %d items entfernt hinzugefügt\n %d items lokal geändert\n %d items entfernt geändert\n %d items lokal gelöscht\n %d items entfernt gelöscht\n" },
720{ "Synchronization successful","Synchronisation erfolgreich" }, 720{ "Synchronization successful","Synchronisation erfolgreich" },
721{ "Sync cancelled or failed. Nothing synced.","Sync abgebrochen oder fehlgeschlagen. Nichts wurde gesynced." }, 721{ "Sync cancelled or failed. Nothing synced.","Sync abgebrochen oder fehlgeschlagen. Nichts wurde gesynced." },
722{ "Sync file \n...%1\ndoes not exist!\nNothing synced!\n","Sync Datei \n...%1\nexistiert nicht!\nNichts wurde gesynced!\n" }, 722{ "Sync file \n...%1\ndoes not exist!\nNothing synced!\n","Sync Datei \n...%1\nexistiert nicht!\nNichts wurde gesynced!\n" },
723{ "Sync filename(*.ics/*.vcs)","Sync Dateiname(*.ics/*.vcs)" }, 723{ "Sync filename(*.ics/*.vcs)","Sync Dateiname(*.ics/*.vcs)" },
724{ "Enter password","Passwort eingeben" }, 724{ "Enter password","Passwort eingeben" },
725{ "Do you really want\nto remote sync\nwith profile \n","Wollen Sie wirklich\nmit dem entfernten\nProfil syncen: \n" }, 725{ "Do you really want\nto remote sync\nwith profile \n","Wollen Sie wirklich\nmit dem entfernten\nProfil syncen: \n" },
726{ "Copy remote file to local machine...","Kopiere entfernte Datei auf lokalen Rechner..." }, 726{ "Copy remote file to local machine...","Kopiere entfernte Datei auf lokalen Rechner..." },
727{ "Sorry, the copy command failed!\nCommand was:\n%1\n \nTry command on console to get more\ndetailed info about the reason.\n","Sorry, das Kopierkommando schlug fehl!\nKommando war:\n%1\n \nVersuche Kommando von Kosole um\nDetails für das Fehlschlagen\nzu erfahren.\n" }, 727{ "Sorry, the copy command failed!\nCommand was:\n%1\n \nTry command on console to get more\ndetailed info about the reason.\n","Sorry, das Kopierkommando schlug fehl!\nKommando war:\n%1\n \nVersuche Kommando von Kosole um\nDetails für das Fehlschlagen\nzu erfahren.\n" },
728{ "Writing back file result: ","Resultat des Dateizurückschreibens: " }, 728{ "Writing back file result: ","Resultat des Dateizurückschreibens: " },
729{ "Syncronization sucessfully completed","Synchronisation erfolgreich abgeschlossen" }, 729{ "Syncronization sucessfully completed","Synchronisation erfolgreich abgeschlossen" },
730{ "Edit Calendar Filters","Editiere Kalendar Filter" }, 730{ "Edit Calendar Filters","Editiere Kalendar Filter" },
731{ "Enter filter name:","Neuer Filter Name:" }, 731{ "Enter filter name:","Neuer Filter Name:" },
732{ "Add Filter","Filter hinzufügen" }, 732{ "Add Filter","Filter hinzufügen" },
733{ "Question","Frage" }, 733{ "Question","Frage" },
734{ "Filter position: ","Filter Position: " }, 734{ "Filter position: ","Filter Position: " },
735{ "Month View","Monatsansicht" }, 735{ "Month View","Monatsansicht" },
736{ "This profil cannot be deleted!\n","Dieses Profil kann\nnicht gelöscht werden!" }, 736{ "This profil cannot be deleted!\n","Dieses Profil kann\nnicht gelöscht werden!" },
737{ "KO/Pi config error","KO/Pi Konfig. Fehler" }, 737{ "KO/Pi config error","KO/Pi Konfig. Fehler" },
738{ "Local device name undefined!\nPlease define device name!","Name dieses Gerätes undefiniert!\nBitte Namen angeben!" }, 738{ "Local device name undefined!\nPlease define device name!","Name dieses Gerätes undefiniert!\nBitte Namen angeben!" },
739{ "Multiple profiles with same name!\nPlease use unique profile names!","Mehrere Profile haben denselben Namen!\nBitte unterschiedliche Namen wählen!" }, 739{ "Multiple profiles with same name!\nPlease use unique profile names!","Mehrere Profile haben denselben Namen!\nBitte unterschiedliche Namen wählen!" },
740{ "Access: ","Zugriff: " }, 740{ "Access: ","Zugriff: " },
741{ "Needs Action","Aktion notwendig" }, 741{ "Needs Action","Aktion notwendig" },
742{ "Accepted","Akzeptiert" }, 742{ "Accepted","Akzeptiert" },
743{ "Declined","Abgelehnt" }, 743{ "Declined","Abgelehnt" },
744{ "Tentative","Vorläufig" }, 744{ "Tentative","Vorläufig" },
745{ "Delegated","Beauftragt" }, 745{ "Delegated","Beauftragt" },
746{ "Completed","Vollständig" }, 746{ "Completed","Vollständig" },
747{ "In Process","In Bearbeitung" }, 747{ "In Process","In Bearbeitung" },
748{ "Participant","Teilnehmer" }, 748{ "Participant","Teilnehmer" },
749{ "Optional Participant","Möglicher Teilnehmer" }, 749{ "Optional Participant","Möglicher Teilnehmer" },
750{ "Observer","Beobachter" }, 750{ "Observer","Beobachter" },
751{ "Chair","Vorsitzender" }, 751{ "Chair","Vorsitzender" },
752{ "Not supported \non desktop!\n","" }, 752{ "Not supported \non desktop!\n","" },
753{ "Nothing selected!\n\nThis prints the full width of the Agenda view as you see it!\n\nTo determine the vertical range of the printing, please select\na vertical range (with the left mouse button down) in one column. ","Es ist nichts selektiert!\nDieses druckt die volle Breite der Agenda View, so wie man sie sieht.\nUm die verticale Auswahl zum Drucken zu bestimmen,\nbitte einen verticalen Zeitraum (mit gedrückter linker Maustaste)\nin einer Spalte auswählen. " }, 753{ "Nothing selected!\n\nThis prints the full width of the Agenda view as you see it!\n\nTo determine the vertical range of the printing, please select\na vertical range (with the left mouse button down) in one column. ","Es ist nichts selektiert!\nDieses druckt die volle Breite der Agenda View, so wie man sie sieht.\nUm die verticale Auswahl zum Drucken zu bestimmen,\nbitte einen verticalen Zeitraum (mit gedrückter linker Maustaste)\nin einer Spalte auswählen. " },
754{ "Date range: ","Datums Zeitspanne: " }, 754{ "Date range: ","Datums Zeitspanne: " },
755{ "Not supported \non PDA!\n","Nicht verfügbar\nauf dem PDA. " }, 755{ "Not supported \non PDA!\n","Nicht verfügbar\nauf dem PDA. " },
756{ "Syncing - close to abort!","Syncing-schließe um abzubrechen." }, 756{ "Syncing - close to abort!","Syncing-schließe um abzubrechen." },
757{ "Add / remove events","Add./entferne Termine" }, 757{ "Add / remove events","Add./entferne Termine" },
758{ "File does not exist:\n '%1'.","Datei existiert nicht:\n '%1'." }, 758{ "File does not exist:\n '%1'.","Datei existiert nicht:\n '%1'." },
759{ "Couldn't load calendar\n '%1'.","Kann Kalender nicht laden:\n '%1'." }, 759{ "Couldn't load calendar\n '%1'.","Kann Kalender nicht laden:\n '%1'." },
760{ "\nThe file on disk has changed!\nFile size: %1 bytes.\nLast modified: %2\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n","\nDie gepeicherte Datei wurde verändert!\nDatei Grösse: %1 Bytes.\nZuletzt geändert: %2\nMöchten Sie:\n\n - Speichern und die Datei überschreiben?\n - Mit Datei Synchronisieren, dann speichern?\n - Abbrechen ohne zu speichern? \n" }, 760{ "\nThe file on disk has changed!\nFile size: %1 bytes.\nLast modified: %2\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n","\nDie gepeicherte Datei wurde verändert!\nDatei Grösse: %1 Bytes.\nZuletzt geändert: %2\nMöchten Sie:\n\n - Speichern und die Datei überschreiben?\n - Mit Datei Synchronisieren, dann speichern?\n - Abbrechen ohne zu speichern? \n" },
761{ "Overwrite","Überschreiben" }, 761{ "Overwrite","Überschreiben" },
762{ "Sync+save","Syncen+speichern" }, 762{ "Sync+save","Syncen+speichern" },
763{ "Default","Standard" }, 763{ "Default","Standard" },
764{ " Categories added to list! "," Kategorien zur Liste hinzugefügt! " }, 764{ " Categories added to list! "," Kategorien zur Liste hinzugefügt! " },
765{ " %d items?"," %d Einträge?" }, 765{ " %d items?"," %d Einträge?" },
766{ "\nThis event recurs\nover multiple dates.\nAre you sure you want\nto delete this event\nand all its recurrences?","\nDieses ist ein\nwiederholender Termin!.\nSind Sie sicher, dass Sie\ndiesen Termin und alle\nWiederholungen löschen möchten?" }, 766{ "\nThis event recurs\nover multiple dates.\nAre you sure you want\nto delete this event\nand all its recurrences?","\nDieses ist ein\nwiederholender Termin!.\nSind Sie sicher, dass Sie\ndiesen Termin und alle\nWiederholungen löschen möchten?" },
767{ " ?\n\nDelete:\n"," ?\n\nLösche:\n" }, 767{ " ?\n\nDelete:\n"," ?\n\nLösche:\n" },
768{ "Current","Aktuelle" }, 768{ "Current","Aktuelle" },
769{ "\nThis event recurs\nover multiple dates.\nDo you want to delete\nall it's recurrences,\nor only the current one on:\n","\nDieses ist ein\nwiederholender Termin!\nMöchten sie alle Wiederholungen\nlöschen, oder nur die aktuelle am:\n" }, 769{ "\nThis event recurs\nover multiple dates.\nDo you want to delete\nall it's recurrences,\nor only the current one on:\n","\nDieses ist ein\nwiederholender Termin!\nMöchten sie alle Wiederholungen\nlöschen, oder nur die aktuelle am:\n" },
770{ "All","Alle" }, 770{ "All","Alle" },
771{ "Data Loss Warning","Datenverlust Warnung" }, 771{ "Data Loss Warning","Datenverlust Warnung" },
772{ "Proceed","Weitermachen" }, 772{ "Proceed","Weitermachen" },
773{ "The journal entries can not be\nexported to a vCalendar file.","Die Journal Einträge können\nnicht in eine vCalendar\nDatei exportiert werden!" }, 773{ "The journal entries can not be\nexported to a vCalendar file.","Die Journal Einträge können\nnicht in eine vCalendar\nDatei exportiert werden!" },
774{ "Filter disabled ","Filter abgeschaltet" }, 774{ "Filter disabled ","Filter abgeschaltet" },
775{ "Filter selected: ","Gewählter Filter: " }, 775{ "Filter selected: ","Gewählter Filter: " },
776{ "Toggle Cancel","Gecancelt ändern" }, 776{ "Toggle Cancel","Gecancelt ändern" },
777{ "&Toggle Cancel","Gecancel&t ändern" }, 777{ "&Toggle Cancel","Gecancel&t ändern" },
778{ "Configure Toolbar","Konfiguriere Toolbar" }, 778{ "Configure Toolbar","Konfiguriere Toolbar" },
779{ "Stretched TB","Gedehnte TB" }, 779{ "Stretched TB","Gedehnte TB" },
780{ "Import file \n...%1\ndoes not exist!\nNothing imported!\n","Import Datei \n...%1\nexistiert nicht!\nNichts importiert!\n" }, 780{ "Import file \n...%1\ndoes not exist!\nNothing imported!\n","Import Datei \n...%1\nexistiert nicht!\nNichts importiert!\n" },
781{ "Import filename(*.ics/*.vcs)","Import Dateiname(*.ics/*.vcs)" }, 781{ "Import filename(*.ics/*.vcs)","Import Dateiname(*.ics/*.vcs)" },
782{ "When importing a calendar twice\nduplicated events will be ignored!\nYou can create a backup file with\nFile - Save Calendar Backup\nto revert importing","Wenn ein Kalender doppelt importiert\nwird, werden doppelte Einträge ignoriert!\nSie können eine Backup Datei anlegen unter\nDatei - Speichere Kalender Backup\num den Import rückgängig machen zu können.\n" }, 782{ "When importing a calendar twice\nduplicated events will be ignored!\nYou can create a backup file with\nFile - Save Calendar Backup\nto revert importing","Wenn ein Kalender doppelt importiert\nwird, werden doppelte Einträge ignoriert!\nSie können eine Backup Datei anlegen unter\nDatei - Speichere Kalender Backup\num den Import rückgängig machen zu können.\n" },
783{ "Not supported \non desktop!\n","Nur verfügbar auf PDA!" }, 783{ "Not supported \non desktop!\n","Nur verfügbar auf PDA!" },
784{ "Imported file successfully","Datei erfolgreich importiert" }, 784{ "Imported file successfully","Datei erfolgreich importiert" },
785{ "Error importing file","Fehler beim Importieren der Datei" }, 785{ "Error importing file","Fehler beim Importieren der Datei" },
786{ "Export vcal filename(*.vcs)","Export vcal Dateiname(*.vcs)" }, 786{ "Export vcal filename(*.vcs)","Export vcal Dateiname(*.vcs)" },
787{ "Save file\nalready exists!\nOld save file from:\n%1\nOverwrite?\n","Zu speichernde Datei\existiert bereits!\nExist. Datei vom:\n%1\nÜberschreiben?\n" }, 787{ "Save file\nalready exists!\nOld save file from:\n%1\nOverwrite?\n","Zu speichernde Datei\existiert bereits!\nExist. Datei vom:\n%1\nÜberschreiben?\n" },
788{ "Overwrite!","Überschreiben!" }, 788{ "Overwrite!","Überschreiben!" },
789{ "Import file \n...%1\nfrom:\n%2\nDuplicated entries\nwill not be imported!\n","Import Datei \n...%1\nvom:\n%2\nDuplizierte Einträge\nwerden nicht importiert!\n" }, 789{ "Import file \n...%1\nfrom:\n%2\nDuplicated entries\nwill not be imported!\n","Import Datei \n...%1\nvom:\n%2\nDuplizierte Einträge\nwerden nicht importiert!\n" },
790{ "Load backup filename","Lade Backup Dateiname" }, 790{ "Load backup filename","Lade Backup Dateiname" },
791{ "Backup file\ndoes not exist!\nNothing loaded!","Backup Datei\nexistiert nicht!\nNichts geladen!" }, 791{ "Backup file\ndoes not exist!\nNothing loaded!","Backup Datei\nexistiert nicht!\nNichts geladen!" },
792{ "KO/Pi:Loaded %1","KO/Pi:Geladen %1" }, 792{ "KO/Pi:Loaded %1","KO/Pi:Geladen %1" },
793{ "Save backup filename","Speichere Backup Dateiname" }, 793{ "Save backup filename","Speichere Backup Dateiname" },
794{ "Backup file\nalready exists!\nOld backup file from:\n%1\nOverwrite?\n","Backup Datei\nexistiert bereits!\nAlte Backup Datei vom:\n%1\nÜberschreiben?\n" }, 794{ "Backup file\nalready exists!\nOld backup file from:\n%1\nOverwrite?\n","Backup Datei\nexistiert bereits!\nAlte Backup Datei vom:\n%1\nÜberschreiben?\n" },
795{ "KO/Pi:Saved %1","KO/Pi:Gespeichert %1" }, 795{ "KO/Pi:Saved %1","KO/Pi:Gespeichert %1" },
796{ "Details of attendee","Teilnehmerdetails" }, 796{ "Details of attendee","Teilnehmerdetails" },
797{ "Work phone:\n","Telefon Arbeit:\n" }, 797{ "Work phone:\n","Telefon Arbeit:\n" },
798{ "Work mobile phone:\n","Mobiltelefon Arbeit:\n" }, 798{ "Work mobile phone:\n","Mobiltelefon Arbeit:\n" },
799{ "Home phone:\n","Telefon privat:\n" }, 799{ "Home phone:\n","Telefon privat:\n" },
800{ "Mobile home phone:\n","Mobiltelefon privat:\n" }, 800{ "Mobile home phone:\n","Mobiltelefon privat:\n" },
801{ "Email:\n","Email:\n" }, 801{ "Email:\n","Email:\n" },
802{ "Alarm disabled","Alarm deaktiviert" }, 802{ "Alarm disabled","Alarm deaktiviert" },
803{ "Audio.Al.: ","Audio Al.: " }, 803{ "Audio.Al.: ","Audio Al.: " },
804{ "Proc.Al.: ","Proc.Al.: " }, 804{ "Proc.Al.: ","Proc.Al.: " },
805{ "No sound set","Kein Sound definiert" }, 805{ "No sound set","Kein Sound definiert" },
806{ "*.wav|Wav Files","*.wav|Wav Dateien" }, 806{ "*.wav|Wav Files","*.wav|Wav Dateien" },
807{ "No program set","Kein Programm definiert" }, 807{ "No program set","Kein Programm definiert" },
808{ "Running '%1'","Ausführen '%1'" }, 808{ "Running '%1'","Ausführen '%1'" },
809{ "Playing '%1'","Abspielen '%1'" }, 809{ "Playing '%1'","Abspielen '%1'" },
810{ "Show Sync Events in WN/Agenda view","Zeige Sync Events in WN/Agenda Ansicht" }, 810{ "Show Sync Events in WN/Agenda view","Zeige Sync Events in WN/Agenda Ansicht" },
811{ "User defined (usertranslation.txt)","Benutzerdefiniert (usertranslation.txt)" }, 811{ "User defined (usertranslation.txt)","Benutzerdefiniert (usertranslation.txt)" },
812{ "Load!","Laden!" }, 812{ "Load!","Laden!" },
813{ "Backup file from:\n%1\nLoading backup\nfile will delete\nyour current Data!\n","Backup Datei vom:\n%1\nDas Laden der Backup Datei\nlöscht die aktuellen Daten!\n" }, 813{ "Backup file from:\n%1\nLoading backup\nfile will delete\nyour current Data!\n","Backup Datei vom:\n%1\nDas Laden der Backup Datei\nlöscht die aktuellen Daten!\n" },
814{ "KO/Pi Features and hints","KO/Pi Eigenschaften und Tipps" }, 814{ "KO/Pi Features and hints","KO/Pi Eigenschaften und Tipps" },
815{ "KO/Pi User translation HowTo","KO/Pi Benutzer-Übersetzung HowTo" }, 815{ "KO/Pi User translation HowTo","KO/Pi Benutzer-Übersetzung HowTo" },
816{ "KO/Pi Synchronization HowTo","KO/Pi Synchronisation HowTo" }, 816{ "KO/Pi Synchronization HowTo","KO/Pi Synchronisation HowTo" },
817{ "Features + hints...","Eigenschaften + Tipps..." }, 817{ "Features + hints...","Eigenschaften + Tipps..." },
818{ "User translation...","Benutzer Übersetzung..." }, 818{ "User translation...","Benutzer Übersetzung..." },
819{ "Sync HowTo...","Synchronisation HowTo..." }, 819{ "Sync HowTo...","Synchronisation HowTo..." },
820{ "Print calendar...","Drucke Kalender..." }, 820{ "Print calendar...","Drucke Kalender..." },
821{ "Anniversary","Jahrestag" }, 821{ "Anniversary","Jahrestag" },
822{ "When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n","Wenn Geburtstage mehrfach importiert\nwerden, werden doppelte Einträge ignoriert\nwenn sie nicht verändert wurden.\n" }, 822{ "When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n","Wenn Geburtstage mehrfach importiert\nwerden, werden doppelte Einträge ignoriert\nwenn sie nicht verändert wurden.\n" },
823{ "Import Birthdays (KA/Pi)","Importiere Geburtstage (KA/Pi)" }, 823{ "Import Birthdays (KA/Pi)","Importiere Geburtstage (KA/Pi)" },
824{ "Next recurrence is on: ","Nächste Wiederholung ist am:" }, 824{ "Next recurrence is on: ","Nächste Wiederholung ist am:" },
825{ "<b>Alarm on: </b>","<b>Alarm am: </b>" }, 825{ "<b>Alarm on: </b>","<b>Alarm am: </b>" },
826{ "<b>Access: </b>","<b>Zugriff: </b>" }, 826{ "<b>Access: </b>","<b>Zugriff: </b>" },
827{ "(%1 min before)","(%1 min vorher)" }, 827{ "(%1 min before)","(%1 min vorher)" },
828{ "<b>Categories: </b>","<b>Kategorien: </b>" }, 828{ "<b>Categories: </b>","<b>Kategorien: </b>" },
829{ "Save Journal/Description...","Speichere Journal/Details..." }, 829{ "Save Journal/Description...","Speichere Journal/Details..." },
830{ "This saves the text/details of selected\nJournals and Events/Todos\nto a text file.","Das speichert den Text bzw.\ndie Details von selektierten\nJournalen und Events/Todos\nin eine Textdatei." }, 830{ "This saves the text/details of selected\nJournals and Events/Todos\nto a text file.","Das speichert den Text bzw.\ndie Details von selektierten\nJournalen und Events/Todos\nin eine Textdatei." },
831{ "Continue","Weitermachen" }, 831{ "Continue","Weitermachen" },
832{ " birthdays/anniversaries added!"," Geburts-/Jahrestage hinzugefügt" }, 832{ " birthdays/anniversaries added!"," Geburts-/Jahrestage hinzugefügt" },
833{ "Attendee:","Teilnehmer:" }, 833{ "Attendee:","Teilnehmer:" },
834{ "Click OK to search ->","Klicke zum Suchen auf OK ->" }, 834{ "Click OK to search ->","Klicke zum Suchen auf OK ->" },
835{ "On day ","Am Tag " }, 835{ "On day ","Am Tag " },
836{ "%1 of ","%1 des Monats" }, 836{ "%1 of ","%1 des Monats" },
837{ "%1 of the year","%1 des Jahres" }, 837{ "%1 of the year","%1 des Jahres" },
838{ "Anonymous","Anonymo" }, 838{ "Anonymous","Anonymo" },
839{ "nobody@nowhere","niemand@nirgendwo" }, 839{ "nobody@nowhere","niemand@nirgendwo" },
840{ "calendar.html","calendar.html" }, 840{ "calendar.html","calendar.html" },
841{ " Local Time"," Locale Zeit" }, 841{ " Local Time"," Locale Zeit" },
842{ "Unknown Name","Unbekannter Name" }, 842{ "Unknown Name","Unbekannter Name" },
843{ "unknown@nowhere","unbekannt@nirgendwo" }, 843{ "unknown@nowhere","unbekannt@nirgendwo" },
844{ "Beam via IR!","Beam via IR!" }, 844{ "Beam via IR!","Beam via IR!" },
845{ "Next Month","Nächster Monat" }, 845{ "Next Month","Nächster Monat" },
846{ "Prio","Prio" }, 846{ "Prio","Prio" },
847{ "Reparent Todo","Mache Sub-Todo" }, 847{ "Reparent Todo","Mache Sub-Todo" },
848{ "tomorrow","morgen" }, 848{ "tomorrow","morgen" },
849{ "today","heute" }, 849{ "today","heute" },
850{ "yesterday","gestern" }, 850{ "yesterday","gestern" },
851{ "Ok","Ok" }, 851{ "Ok","Ok" },
852{ "Ok+Agenda","Ok+Agenda" }, 852{ "Ok+Agenda","Ok+Agenda" },
853{ "Email","Email" }, 853{ "Email","Email" },
854{ "RSVP","RSVP" }, 854{ "RSVP","RSVP" },
855{ "Email:","Email:" }, 855{ "Email:","Email:" },
856{ "Appointment Time ","Termin Zeit " }, 856{ "Appointment Time ","Termin Zeit " },
857{ "2","2" }, 857{ "2","2" },
858{ "3","3" }, 858{ "3","3" },
859{ "4","4" }, 859{ "4","4" },
860{ " 0 %"," 0 %" }, 860{ " 0 %"," 0 %" },
861{ " 20 %"," 20 %" }, 861{ " 20 %"," 20 %" },
862{ " 40 %"," 40 %" }, 862{ " 40 %"," 40 %" },
863{ " 60 %"," 60 %" }, 863{ " 60 %"," 60 %" },
864{ " 80 %"," 80 %" }, 864{ " 80 %"," 80 %" },
865{ "100 %","100 %" }, 865{ "100 %","100 %" },
866{ "Filter","Filter" }, 866{ "Filter","Filter" },
867{ "Configure","Konfiguriere" }, 867{ "Configure","Konfiguriere" },
868{ "What's Next","What's Next" }, 868{ "What's Next","What's Next" },
869{ "Complete calendar...","Kompletten Kalender..." }, 869{ "Complete calendar...","Kompletten Kalender..." },
870{ "Filtered calendar...","Gefilterten Kalender..." }, 870{ "Filtered calendar...","Gefilterten Kalender..." },
871{ "Export to phone","Exportiere zum Handy" }, 871{ "Export to phone","Exportiere zum Handy" },
872{ "Beam receive enabled","Beam Empfang an" }, 872{ "Beam receive enabled","Beam Empfang an" },
873{ "What's new?","Was ist neu?" }, 873{ "What's new?","Was ist neu?" },
874{ "FAQ...","FAQ..." }, 874{ "FAQ...","FAQ..." },
875{ "Licence...","Licence..." }, 875{ "Licence...","Licence..." },
876{ "What's This?","What's This?" }, 876{ "What's This?","What's This?" },
877{ "&Edit...","&Editiere..." }, 877{ "&Edit...","&Editiere..." },
878{ "Oktober","Oktober" }, 878{ "Oktober","Oktober" },
879{ "Title","Titel" }, 879{ "Title","Titel" },
880{ "%1 %","%1 %" }, 880{ "%1 %","%1 %" },
881{ "Enable Pi-Sync","Schalte Pi-Sync an" }, 881{ "Enable Pi-Sync","Schalte Pi-Sync an" },
882{ "Import!","Importiere!" }, 882{ "Import!","Importiere!" },
883{ "inserting birthdays - close to abort!","Burzeltage werden eingefügt - schließe um abzubrechen!" }, 883{ "inserting birthdays - close to abort!","Burzeltage werden eingefügt - schließe um abzubrechen!" },
884{ "Export to phone options","Export ans Handy Optionen" }, 884{ "Export to phone options","Export ans Handy Optionen" },
885{ "Please read Help-Sync Howto\nto know what settings to use.","Bitte lese Hilfe-Sync Howto\num zu erfahren welche Einstellungen\ndie richtigen sind." }, 885{ "Please read Help-Sync Howto\nto know what settings to use.","Bitte lese Hilfe-Sync Howto\num zu erfahren welche Einstellungen\ndie richtigen sind." },
886{ "I/O device: ","I/O device: " }, 886{ "I/O device: ","I/O device: " },
887{ "Connection: ","Connection: " }, 887{ "Connection: ","Connection: " },
888{ "Model(opt.): ","Model(opt.): " }, 888{ "Model(opt.): ","Model(opt.): " },
889{ "Write back events in future only","Schreibe nur zukünftige Termine zurück" }, 889{ "Write back events in future only","Schreibe nur zukünftige Termine zurück" },
890{ "Max. weeks in future: ","Max. Wochen in der Zukunft: " }, 890{ "Max. weeks in future: ","Max. Wochen in der Zukunft: " },
891{ "NOTE: This will remove all old\ntodo/calendar data on phone!","ACHTUNG: Das löscht alle alten\nToDo/Kalender Daten auf dem Handy!" }, 891{ "NOTE: This will remove all old\ntodo/calendar data on phone!","ACHTUNG: Das löscht alle alten\nToDo/Kalender Daten auf dem Handy!" },
892{ "Export to mobile phone!","Exportiere auf das Handy!" }, 892{ "Export to mobile phone!","Exportiere auf das Handy!" },
893{ "Export complete calendar","Exportiere kompletten Kalender" }, 893{ "Export complete calendar","Exportiere kompletten Kalender" },
894{ "Writing to phone...","Sende Daten ans Handy..." }, 894{ "Writing to phone...","Sende Daten ans Handy..." },
895{ " This may take 1-3 minutes!"," Das kann 1-3 Minuten dauern!" }, 895{ " This may take 1-3 minutes!"," Das kann 1-3 Minuten dauern!" },
896{ "Retry","Nochmal versuchen" }, 896{ "Retry","Nochmal versuchen" },
897{ "KDE/Pim phone access","KDE/Pim Handy Zugriff" }, 897{ "KDE/Pim phone access","KDE/Pim Handy Zugriff" },
898{ "Error accessing device!\nPlease turn on connection\nand retry!","Fehler beim Zugriff auf das Gerät!\nBitte die Verbindung aktivieren\nund nochmal versuchen!" }, 898{ "Error accessing device!\nPlease turn on connection\nand retry!","Fehler beim Zugriff auf das Gerät!\nBitte die Verbindung aktivieren\nund nochmal versuchen!" },
899{ "Error exporting to phone!","Fehler beim Export auf das Handy!" }, 899{ "Error exporting to phone!","Fehler beim Export auf das Handy!" },
900{ "Export filtered calendar","Exportiere gefilterten Kalender" }, 900{ "Export filtered calendar","Exportiere gefilterten Kalender" },
901{ "Preferences","Vorlieben" }, 901{ "Preferences","Vorlieben" },
902{ "Global","Global" }, 902{ "Global","Global" },
903{ "Phone","Phone" }, 903{ "Phone","Phone" },
904{ "SMS","SMS" }, 904{ "SMS","SMS" },
905{ "Fax","Fax" }, 905{ "Fax","Fax" },
906{ "Pager","Pager" }, 906{ "Pager","Pager" },
907{ "SIP","SIP" }, 907{ "SIP","SIP" },
908{ "Italian","Italienisch" }, 908{ "Italian","Italienisch" },
909{ "24:00","24:00" }, 909{ "24:00","24:00" },
910{ "12:00am","12:00am" }, 910{ "12:00am","12:00am" },
911{ "24.03.2004 (%d.%m.%Y|%A %d %B %Y)","24.03.2004 (%d.%m.%Y|%A %d %B %Y)" }, 911{ "24.03.2004 (%d.%m.%Y|%A %d %B %Y)","24.03.2004 (%d.%m.%Y|%A %d %B %Y)" },
912{ "03.24.2004 (%m.%d.%Y|%A %B %d %Y)","03.24.2004 (%m.%d.%Y|%A %B %d %Y)" }, 912{ "03.24.2004 (%m.%d.%Y|%A %B %d %Y)","03.24.2004 (%m.%d.%Y|%A %B %d %Y)" },
913{ "2004-03-24 (%Y-%m-%d|%A %Y %B %d)","2004-03-24 (%Y-%m-%d|%A %Y %B %d)" }, 913{ "2004-03-24 (%Y-%m-%d|%A %Y %B %d)","2004-03-24 (%Y-%m-%d|%A %Y %B %d)" },
914{ "Mon 19.04.04: %a %d.%m.%y","Mon 19.04.04: %a %d.%m.%y" }, 914{ "Mon 19.04.04: %a %d.%m.%y","Mon 19.04.04: %a %d.%m.%y" },
915{ "Mon, 19.Apr.04: %a, %d.%b.%y","Mon, 19.Apr.04: %a, %d.%b.%y" }, 915{ "Mon, 19.Apr.04: %a, %d.%b.%y","Mon, 19.Apr.04: %a, %d.%b.%y" },
916{ "Add 30 min to selected Timezone","Addiere 30 min zur Zeitzone" }, 916{ "Add 30 min to selected Timezone","Addiere 30 min zur Zeitzone" },
917{ "Used Mail Client","Benutzter Mail Client" }, 917{ "Used Mail Client","Benutzter Mail Client" },
918{ "Channel:","Channel:" }, 918{ "Channel:","Channel:" },
919{ "Message:","Message:" }, 919{ "Message:","Message:" },
920{ "Parameters:","Parameter:" }, 920{ "Parameters:","Parameter:" },
921{ "HINT: Delimiter=; Name=%1,Email=%2","Hinweis: Begrenzer=; Name=%1,Email=%2" }, 921{ "HINT: Delimiter=; Name=%1,Email=%2","Hinweis: Begrenzer=; Name=%1,Email=%2" },
922{ "extra Message:","extra Message:" }, 922{ "extra Message:","extra Message:" },
923{ "extra Parameters:","extra Parameter:" }, 923{ "extra Parameters:","extra Parameter:" },
924{ "HINT: Emails=%1,Attachments=%2","Hinweis: Emails=%1,Attachments=%2" }, 924{ "HINT: Emails=%1,Attachments=%2","Hinweis: Emails=%1,Attachments=%2" },
925{ "External Apps.","Externe Appl." }, 925{ "External Apps.","Externe Appl." },
926{ "24 hours","24 Std." }, 926{ "24 hours","24 Std." },
927{ "3 hours","3 Std." }, 927{ "3 hours","3 Std." },
928{ "1 hour","1 Std." }, 928{ "1 hour","1 Std." },
929{ "15 minutes","15 Min." }, 929{ "15 minutes","15 Min." },
930{ "5 minutes","5 Min." }, 930{ "5 minutes","5 Min." },
931{ "1 minute","1 Min." }, 931{ "1 minute","1 Min." },
932{ "23","23" }, 932{ "23","23" },
933{ "Mon 15","Mon 15" }, 933{ "Mon 15","Mon 15" },
934{ "Configure KO","Konfiguriere KO" }, 934{ "Configure KO","Konfiguriere KO" },
935{ "Event text","Termin Text" }, 935{ "Event text","Termin Text" },
936{ "ToDo","ToDo" }, 936{ "ToDo","ToDo" },
937{ "Today","Heute" }, 937{ "Today","Heute" },
938{ "What's Next View","What's Next Ansicht" }, 938{ "What's Next View","What's Next Ansicht" },
939{ "Show Sync Events in \nWhat's Next/Agenda view","Zeige Sync Termine in \nWhat's Next/Agenda view" }, 939{ "Show Sync Events in \nWhat's Next/Agenda view","Zeige Sync Termine in \nWhat's Next/Agenda view" },
940{ "Use short date in \nWhat's Next/Event view","Zeige Kurzdatum in \nWhat's Next/Event view" }, 940{ "Use short date in \nWhat's Next/Event view","Zeige Kurzdatum in \nWhat's Next/Event view" },
941{ "Allday Agenda view shows todos","Ganztag Agenda zeigt Todos" }, 941{ "Allday Agenda view shows todos","Ganztag Agenda zeigt Todos" },
942{ "Alarm","Alarm" }, 942{ "Alarm","Alarm" },
943{ "Used %1 Client","Benutzter %1 Client" }, 943{ "Used %1 Client","Benutzter %1 Client" },
944{ "No email client installed","Kein Email Klient installiert" }, 944{ "No email client installed","Kein Email Klient installiert" },
945{ "Userdefined email client","Benutzerdef. Email Klient" }, 945{ "Userdefined email client","Benutzerdef. Email Klient" },
946{ "OM/Pi email client","OM/Pi Email Klient" }, 946{ "OM/Pi email client","OM/Pi Email Klient" },
947{ "Include in multiple ","Beziehe in multiple " }, 947{ "Include in multiple ","Beziehe in multiple " },
948{ "calendar ","Kalender " }, 948{ "calendar ","Kalender " },
949{ "addressbook ","Adressbuch " }, 949{ "addressbook ","Adressbuch " },
950{ "pwmanager","PWmanager" }, 950{ "pwmanager","PWmanager" },
951{ " sync"," Sync ein" }, 951{ " sync"," Sync ein" },
952{ "Write back synced data","Schreibe gesyncte Daten zurück" }, 952{ "Write back synced data","Schreibe gesyncte Daten zurück" },
953{ "-- Write back (on remote) existing entries only","-- Schreibe nur existierende (entfernte) Einträge zurück" }, 953{ "-- Write back (on remote) existing entries only","-- Schreibe nur existierende (entfernte) Einträge zurück" },
954{ "-- Write back (calendar) entries in future only","-- Schreibe nur zukünftige Kalender-Einträge zurück" }, 954{ "-- Write back (calendar) entries in future only","-- Schreibe nur zukünftige Kalender-Einträge zurück" },
955{ "---- Max. weeks in future: ","---- Max. wochen in der Zukunft: " }, 955{ "---- Max. weeks in future: ","---- Max. wochen in der Zukunft: " },
956{ "Pi-Sync ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync ( direktes Kx/Pi zu Kx/Pi sync )" }, 956{ "Pi-Sync ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync ( direktes Kx/Pi zu Kx/Pi sync )" },
957{ "Mobile device (cell phone)","Mobiles Gerät (Handy)" }, 957{ "Mobile device (cell phone)","Mobiles Gerät (Handy)" },
958{ "Help...","Hilfe..." }, 958{ "Help...","Hilfe..." },
959{ "Local file Cal:","Lokale Datei Kal:" }, 959{ "Local file Cal:","Lokale Datei Kal:" },
960{ "Local file ABook:","Lokale Datei ABuch:" }, 960{ "Local file ABook:","Lokale Datei ABuch:" },
961{ "Local file PWMgr:","Lokale Datei PWMgr:" }, 961{ "Local file PWMgr:","Lokale Datei PWMgr:" },
962{ "Addressbook file (*.vcf) is used by KA/Pi","Adressbuch Datei (*.vcf) wird von KA/Pi genutzt" }, 962{ "Addressbook file (*.vcf) is used by KA/Pi","Adressbuch Datei (*.vcf) wird von KA/Pi genutzt" },
963{ "Calendar:","Kalender:" }, 963{ "Calendar:","Kalender:" },
964{ "AddressBook:","AdressBuch:" }, 964{ "AddressBook:","AdressBuch:" },
965{ "PWManager:","PWManager:" }, 965{ "PWManager:","PWManager:" },
966{ "Addressbook file is used by KA/Pi","Adressbuch Datei wird von KA/Pi genutzt" }, 966{ "Addressbook file is used by KA/Pi","Adressbuch Datei wird von KA/Pi genutzt" },
967{ "ssh/scp","ssh/scp" }, 967{ "ssh/scp","ssh/scp" },
968{ "ftp","ftp" }, 968{ "ftp","ftp" },
969{ "Password for remote access: (could be the same for each)","Passwort für entfernten Zugriff: (kann dasselbe sein für alle)" }, 969{ "Password for remote access: (could be the same for each)","Passwort für entfernten Zugriff: (kann dasselbe sein für alle)" },
970{ "Remote IP address: (could be the same for each)","Entfernte IP Adresse: (kann dasselbe sein für alle)" }, 970{ "Remote IP address: (could be the same for each)","Entfernte IP Adresse: (kann dasselbe sein für alle)" },
971{ "Remote port number: (should be different for each)","Entfernte Port Nummer: (Sollte für alle unterschiedlich sein)" }, 971{ "Remote port number: (should be different for each)","Entfernte Port Nummer: (Sollte für alle unterschiedlich sein)" },
972{ "command for downloading remote file to local device","Kommando zum Download der entfernten Datei zum lokalen Gerät" }, 972{ "command for downloading remote file to local device","Kommando zum Download der entfernten Datei zum lokalen Gerät" },
973{ "command for uploading local temp file to remote device","Kommando zum Upload der lokalen temp. Datei zum entfernten Gerät" }, 973{ "command for uploading local temp file to remote device","Kommando zum Upload der lokalen temp. Datei zum entfernten Gerät" },
974{ "Insert device where\nphone is connected. E.g.:\n","Füge Device ein, an dem\ndas Handy angeschlossen ist. Z.B.:\n" }, 974{ "Insert device where\nphone is connected. E.g.:\n","Füge Device ein, an dem\ndas Handy angeschlossen ist. Z.B.:\n" },
975{ "KDE-Pim sync config","KDE-Pim sync Konfig" }, 975{ "KDE-Pim sync config","KDE-Pim sync Konfig" },
976{ "Insert kind of connection,e.g.:\n","Füge Art der Verbindung ein,z.B.:\n" }, 976{ "Insert kind of connection,e.g.:\n","Füge Art der Verbindung ein,z.B.:\n" },
977{ "Recommended: Leave empty!\n(Such that model can\nbe auto detected)\nOr insert name of model:\n","Empfohlen: Leer lassen!\n(So dass das Model\nautomatisch erkannt\nwerden kann)\nOder füge Model Name ein:\n" }, 977{ "Recommended: Leave empty!\n(Such that model can\nbe auto detected)\nOr insert name of model:\n","Empfohlen: Leer lassen!\n(So dass das Model\nautomatisch erkannt\nwerden kann)\nOder füge Model Name ein:\n" },
978{ "Port number (Default: %1)","Port Nummer (Default: %1)" }, 978{ "Port number (Default: %1)","Port Nummer (Default: %1)" },
979{ "Password to enable\naccess from remote:","Passwort um entfernten\nZugriff zuzulassen:" }, 979{ "Password to enable\naccess from remote:","Passwort um entfernten\nZugriff zuzulassen:" },
980{ "Automatically start\nat application startup","Starte automatisch\nbeim Programmstart" }, 980{ "Automatically start\nat application startup","Starte automatisch\nbeim Programmstart" },
981{ "Automatically sync\nwith KDE-Desktop","Automatischer Sync\nmit dem KDE-Desktop" }, 981{ "Automatically sync\nwith KDE-Desktop","Automatischer Sync\nmit dem KDE-Desktop" },
982{ "Enter port for Pi-Sync","Port Nummer für Pi-Sync" }, 982{ "Enter port for Pi-Sync","Port Nummer für Pi-Sync" },
983{ "Disable Pi-Sync","Schalte Pi-Sync aus" }, 983{ "Disable Pi-Sync","Schalte Pi-Sync aus" },
984{ "Do you really want\nto multiple sync\nwith all checked profiles?\nSyncing takes some\ntime - all profiles\nare synced twice!","Wollen Sie wirklich\nmit allen selektierten\nProfilen \"Multi-Syncen\"?\nDas Syncen dauert einige Zeit -\nalle Profile werden zweimal gesynct!" }, 984{ "Do you really want\nto multiple sync\nwith all checked profiles?\nSyncing takes some\ntime - all profiles\nare synced twice!","Wollen Sie wirklich\nmit allen selektierten\nProfilen \"Multi-Syncen\"?\nDas Syncen dauert einige Zeit -\nalle Profile werden zweimal gesynct!" },
985{ "KDE-Pim Sync","KDE-Pim Sync" }, 985{ "KDE-Pim Sync","KDE-Pim Sync" },
986{ "Multiple profiles","Multi-Sync Profile" }, 986{ "Multiple profiles","Multi-Sync Profile" },
987{ "Device: ","Gerät: " }, 987{ "Device: ","Gerät: " },
988{ "Multiple sync started.","Multi-Sync gestartet." }, 988{ "Multiple sync started.","Multi-Sync gestartet." },
989{ "Nothing synced! No profiles defined for multisync!","Nichts gesynct! Keine Profile\nselektiert für Multi-Sync" }, 989{ "Nothing synced! No profiles defined for multisync!","Nichts gesynct! Keine Profile\nselektiert für Multi-Sync" },
990{ "Turn filter on","Schalte Filter an" }, 990{ "Turn filter on","Schalte Filter an" },
991{ "Turn filter off","Schalte Filter aus" }, 991{ "Turn filter off","Schalte Filter aus" },
992{ "Key bindings KOrganizer/Pi","Tastatur Belegung KOrganizer/Pi" }, 992{ "Key bindings KOrganizer/Pi","Tastatur Belegung KOrganizer/Pi" },
993{ "<p><b>White</b>: Item readonly</p>\n","<p><b>Weiss</b>: Eintrag schreibgeschützt</p>\n" }, 993{ "<p><b>White</b>: Item readonly</p>\n","<p><b>Weiss</b>: Eintrag schreibgeschützt</p>\n" },
994{ "<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n","<p><b>Dunkelgelb</b>: Termin/Todo mit Teilnehmern.</p>\n" }, 994{ "<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n","<p><b>Dunkelgelb</b>: Termin/Todo mit Teilnehmern.</p>\n" },
995{ "<p><b>Black</b>: Event/todo with attendees. You are the organizer!</p>\n","<p><b>Schwarz</b>: Termin/Todo mit Teilnehmern. Sie sind der Organisator!</p>\n" }, 995{ "<p><b>Black</b>: Event/todo with attendees. You are the organizer!</p>\n","<p><b>Schwarz</b>: Termin/Todo mit Teilnehmern. Sie sind der Organisator!</p>\n" },
996{ "<p><b>Dark green</b>: Information(description) available.([i] in WN view)</p>\n","<p><b>Dunkelgrün</b>: Information(Beschreibung) verfügbar.([i] in WN Ansicht)</p>\n" }, 996{ "<p><b>Dark green</b>: Information(description) available.([i] in WN view)</p>\n","<p><b>Dunkelgrün</b>: Information(Beschreibung) verfügbar.([i] in WN Ansicht)</p>\n" },
997{ "<p><b>Blue</b>: Recurrent event.([r] in Whats'Next view)</p>\n","<p><b>Blau</b>: Wiederholender Termin.([r] in Whats'Next Ansicht)</p>\n" }, 997{ "<p><b>Blue</b>: Recurrent event.([r] in Whats'Next view)</p>\n","<p><b>Blau</b>: Wiederholender Termin.([r] in Whats'Next Ansicht)</p>\n" },
998{ "<p><b>Red</b>: Alarm set.([a] in Whats'Next view)</p>\n","<p><b>Rot</b>: Alarm gesetzt.([a] in Whats'Next Ansicht)</p>\n" }, 998{ "<p><b>Red</b>: Alarm set.([a] in Whats'Next view)</p>\n","<p><b>Rot</b>: Alarm gesetzt.([a] in Whats'Next Ansicht)</p>\n" },
999{ "<p><b>Cross</b>: Item cancelled.([c] in Whats'Next view)</p>\n","<p><b>Kreuz</b>: Eintrag gecancelt.([c] in Whats'Next Ansicht)</p>\n" }, 999{ "<p><b>Cross</b>: Item cancelled.([c] in Whats'Next view)</p>\n","<p><b>Kreuz</b>: Eintrag gecancelt.([c] in Whats'Next Ansicht)</p>\n" },
1000{ "<p><b>(for square icons in agenda and month view)</b></p>\n","<p><b>(für quadratische Icons in Agenda und Monats Ansicht)</b></p>\n" }, 1000{ "<p><b>(for square icons in agenda and month view)</b></p>\n","<p><b>(für quadratische Icons in Agenda und Monats Ansicht)</b></p>\n" },
1001{ "<p><h2>KO/Pi icon colors:</h2></p>\n","<p><h2>KO/Pi Icon Farben:</h2></p>\n" }, 1001{ "<p><h2>KO/Pi icon colors:</h2></p>\n","<p><h2>KO/Pi Icon Farben:</h2></p>\n" },
1002{ "<p><b>E</b>: Edit item</p>\n","<p><b>E</b>: Editiere Eintrag</p>\n" }, 1002{ "<p><b>E</b>: Edit item</p>\n","<p><b>E</b>: Editiere Eintrag</p>\n" },
1003{ "<p><b>A</b>: Show agenda view.</p>\n","<p><b>A</b>: Zeige Agenda Ansicht.</p>\n" }, 1003{ "<p><b>A</b>: Show agenda view.</p>\n","<p><b>A</b>: Zeige Agenda Ansicht.</p>\n" },
1004{ "<p><b>I,C</b>: Close dialog.</p>\n","<p><b>I,C</b>: Schließe Dialog.</p>\n" }, 1004{ "<p><b>I,C</b>: Close dialog.</p>\n","<p><b>I,C</b>: Schließe Dialog.</p>\n" },
1005{ "<p><h3>In event/todo viewer:</h3></p>\n","<p><h3>In Termin/Todo Detail-Anzeige:</h3></p>\n" }, 1005{ "<p><h3>In event/todo viewer:</h3></p>\n","<p><h3>In Termin/Todo Detail-Anzeige:</h3></p>\n" },
1006{ "<p><b>shift+up/down</b>: Goto first/last item</p>\n","<p><b>shift+up/down</b>: Gehe zum ersten/letzten Eintrag</p>\n" }, 1006{ "<p><b>shift+up/down</b>: Goto first/last item</p>\n","<p><b>shift+up/down</b>: Gehe zum ersten/letzten Eintrag</p>\n" },
1007{ "<p><b>ctrl+up/down</b>: Goto up/down by 20% of items</p>\n","<p><b>ctrl+up/down</b>: Gehe hoch/runter 20% aller Einträge</p>\n" }, 1007{ "<p><b>ctrl+up/down</b>: Goto up/down by 20% of items</p>\n","<p><b>ctrl+up/down</b>: Gehe hoch/runter 20% aller Einträge</p>\n" },
1008{ "<p><b>up/down</b>: Next/prev item</p>\n","<p><b>up/down</b>: Nächster/vorheriger Eintrag</p>\n" }, 1008{ "<p><b>up/down</b>: Next/prev item</p>\n","<p><b>up/down</b>: Nächster/vorheriger Eintrag</p>\n" },
1009{ "<p><b>return+shift</b>: Deselect item+one step down</p>\n","<p><b>return+shift</b>: Deselektiere Item+Cursor einen Eintrag runter</p>\n" }, 1009{ "<p><b>return+shift</b>: Deselect item+one step down</p>\n","<p><b>return+shift</b>: Deselektiere Item+Cursor einen Eintrag runter</p>\n" },
1010{ "<p><b>return</b>: Select item+one step down</p>\n","<p><b>return</b>: Selektiere Item+Cursor einen Eintrag runter</p>\n" }, 1010{ "<p><b>return</b>: Select item+one step down</p>\n","<p><b>return</b>: Selektiere Item+Cursor einen Eintrag runter</p>\n" },
1011{ "<p><b>I</b>: Show info of current item+one step down.</p>\n","<p><b>I</b>: Zeige Detail-Ansicht vom sel.Eintrag+Cursor einen Eintrag runter.</p>\n" }, 1011{ "<p><b>I</b>: Show info of current item+one step down.</p>\n","<p><b>I</b>: Zeige Detail-Ansicht vom sel.Eintrag+Cursor einen Eintrag runter.</p>\n" },
1012{ "<p><h3>In list view:</h3></p>\n","<p><h3>In Listen Ansicht:</h3></p>\n" }, 1012{ "<p><h3>In list view:</h3></p>\n","<p><h3>In Listen Ansicht:</h3></p>\n" },
1013{ "<p><b>return+shift</b>: Mark item as not completed+one step down</p>\n","<p><b>return+shift</b>: Markiere Todo als nicht erledigt+Cursor einen Eintrag runter</p>\n" }, 1013{ "<p><b>return+shift</b>: Mark item as not completed+one step down</p>\n","<p><b>return+shift</b>: Markiere Todo als nicht erledigt+Cursor einen Eintrag runter</p>\n" },
1014{ "<p><b>return</b>: Mark item as completed+one step down.</p>\n","<p><b>return</b>: Markiere Todo als erledigt+Cursor einen Eintrag runter.</p>\n" }, 1014{ "<p><b>return</b>: Mark item as completed+one step down.</p>\n","<p><b>return</b>: Markiere Todo als erledigt+Cursor einen Eintrag runter.</p>\n" },
1015{ "<p><b>Q</b>: Toggle quick todo line edit.</p>\n","<p><b>Q</b>: Zeige/verstecke Quick Todo Eingabe Zeile.</p>\n" }, 1015{ "<p><b>Q</b>: Toggle quick todo line edit.</p>\n","<p><b>Q</b>: Zeige/verstecke Quick Todo Eingabe Zeile.</p>\n" },
1016{ "<p><b>shift+P</b>: Make new <b>P</b>arent for todo selected with shift+S</p>\n","<p><b>shift+P</b>: Mache Todo zum neuen <b>P</b>arent Todo für das Todo, welches mit shift+Sselektiert wurde.</p>\n" }, 1016{ "<p><b>shift+P</b>: Make new <b>P</b>arent for todo selected with shift+S</p>\n","<p><b>shift+P</b>: Mache Todo zum neuen <b>P</b>arent Todo für das Todo, welches mit shift+Sselektiert wurde.</p>\n" },
1017{ "<p><b>shift+S</b>: Make <b>S</b>ubtodo (reparent todo)</p>\n","<p><b>shift+S</b>: Mache Todo zum <b>S</b>ubtodo</p>\n" }, 1017{ "<p><b>shift+S</b>: Make <b>S</b>ubtodo (reparent todo)</p>\n","<p><b>shift+S</b>: Mache Todo zum <b>S</b>ubtodo</p>\n" },
1018{ "<p><b>shift+U</b>: <b>U</b>nparent todo (make root todo)</p>\n","<p><b>shift+U</b>: <b>U</b>nparent Todo (Mache Sub-Todo zum Toplevel Todo)</p>\n" }, 1018{ "<p><b>shift+U</b>: <b>U</b>nparent todo (make root todo)</p>\n","<p><b>shift+U</b>: <b>U</b>nparent Todo (Mache Sub-Todo zum Toplevel Todo)</p>\n" },
1019{ "<p><h3>In todo view:</h3></p>\n","<p><h3>In Todo Anzige:</h3></p>\n" }, 1019{ "<p><h3>In todo view:</h3></p>\n","<p><h3>In Todo Anzige:</h3></p>\n" },
1020{ "<p><b>ctrl+up/down</b>: Scroll small todo view</p>\n","<p><b>ctrl+up/down</b>: Scrolle kleine Todo Ansicht</p>\n" }, 1020{ "<p><b>ctrl+up/down</b>: Scroll small todo view</p>\n","<p><b>ctrl+up/down</b>: Scrolle kleine Todo Ansicht</p>\n" },
1021{ "<p><b>up/down</b>: Scroll agenda view</p>\n","<p><b>up/down</b>: Scrolle Agenda Ansicht</p>\n" }, 1021{ "<p><b>up/down</b>: Scroll agenda view</p>\n","<p><b>up/down</b>: Scrolle Agenda Ansicht</p>\n" },
1022{ "<p><h3>In agenda view:</h3></p>\n","<p><h3>In Agenda Ansicht:</h3></p>\n" }, 1022{ "<p><h3>In agenda view:</h3></p>\n","<p><h3>In Agenda Ansicht:</h3></p>\n" },
1023{ "<p><b>del,backspace</b>: Delete selected item</p>\n","<p><b>del,backspace</b>: Lösche selektiertes Item</p>\n" }, 1023{ "<p><b>del,backspace</b>: Delete selected item</p>\n","<p><b>del,backspace</b>: Lösche selektiertes Item</p>\n" },
1024{ "<p><b>left</b>: Prev. week | <b>left+ctrl</b>: Prev. month</p>\n","<p><b>left</b>: Vorh. Woche | <b>left+ctrl</b>: Vorh. Monat</p>\n" }, 1024{ "<p><b>left</b>: Prev. week | <b>left+ctrl</b>: Prev. month</p>\n","<p><b>left</b>: Vorh. Woche | <b>left+ctrl</b>: Vorh. Monat</p>\n" },
1025{ "<p><b>right</b>: Next week | <b>right+ctrl</b>: Next month</p>\n","<p><b>right</b>: Nächste Woche | <b>right+ctrl</b>: Nächste Woche</p>\n" }, 1025{ "<p><b>right</b>: Next week | <b>right+ctrl</b>: Next month</p>\n","<p><b>right</b>: Nächste Woche | <b>right+ctrl</b>: Nächste Woche</p>\n" },
1026{ "<p><b>B</b>: Edit description (details) of selected item</p>\n","<p><b>B</b>: Editiere Beschreibung (Details) des selektierten Items</p>\n" }, 1026{ "<p><b>B</b>: Edit description (details) of selected item</p>\n","<p><b>B</b>: Editiere Beschreibung (Details) des selektierten Items</p>\n" },
1027{ "<p><b>C</b>: Show current time in agenda view</p>\n","<p><b>C</b>: Zeige aktuelle Zeit in Agenda Ansicht</p>\n" }, 1027{ "<p><b>C</b>: Show current time in agenda view</p>\n","<p><b>C</b>: Zeige aktuelle Zeit in Agenda Ansicht</p>\n" },
1028{ "<p><b>+,-</b> : Zoom in/out agenda | <b>A</b>: Toggle allday agenda height</p>\n","<p><b>+,-</b> : Zoom rein/raus Agenda | <b>A</b>: Wechsle Ganztag Agenda Höhe</p>\n" }, 1028{ "<p><b>+,-</b> : Zoom in/out agenda | <b>A</b>: Toggle allday agenda height</p>\n","<p><b>+,-</b> : Zoom rein/raus Agenda | <b>A</b>: Wechsle Ganztag Agenda Höhe</p>\n" },
1029{ "<p><b>S+ctrl</b>: Add sub-todo | <b>X</b>: Toggle datenavigator</p>\n","<p><b>S+ctrl</b>: Füge Sub-Todo hinzu | <b>X</b>: Zeige/verstecke Datenavigator</p>\n" }, 1029{ "<p><b>S+ctrl</b>: Add sub-todo | <b>X</b>: Toggle datenavigator</p>\n","<p><b>S+ctrl</b>: Füge Sub-Todo hinzu | <b>X</b>: Zeige/verstecke Datenavigator</p>\n" },
1030{ "<p><b>T</b>: Goto today | <b>T+ctrl</b>: New Todo</p>\n","<p><b>T</b>: Gehe zu Heute | <b>T+ctrl</b>: Neues Todo</p>\n" }, 1030{ "<p><b>T</b>: Goto today | <b>T+ctrl</b>: New Todo</p>\n","<p><b>T</b>: Gehe zu Heute | <b>T+ctrl</b>: Neues Todo</p>\n" },
1031{ "<p><b>E</b>: Edit selected item |<b> E+ctrl</b>: New Event</p>\n","<p><b>E</b>: Editiere selektiertes Item |<b> E+ctrl</b>: Neuer Termin</p>\n" }, 1031{ "<p><b>E</b>: Edit selected item |<b> E+ctrl</b>: New Event</p>\n","<p><b>E</b>: Editiere selektiertes Item |<b> E+ctrl</b>: Neuer Termin</p>\n" },
1032{ "<p><b>D</b>: One day view | <b>M</b>: Month view</p>\n","<p><b>D</b>: Ein-Tages Ansicht | <b>M</b>: Monats Ansicht</p>\n" }, 1032{ "<p><b>D</b>: One day view | <b>M</b>: Month view</p>\n","<p><b>D</b>: Ein-Tages Ansicht | <b>M</b>: Monats Ansicht</p>\n" },
1033{ "<p><b>Z,Y</b>: Work week view | <b>U</b>: Week view</p>\n","<p><b>Z,Y</b>: Arbeitswochen Ansicht | <b>U</b>: Wochen Ansicht</p>\n" }, 1033{ "<p><b>Z,Y</b>: Work week view | <b>U</b>: Week view</p>\n","<p><b>Z,Y</b>: Arbeitswochen Ansicht | <b>U</b>: Wochen Ansicht</p>\n" },
1034{ "<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n","<p><b>V</b>: Todo Ansicht | <b>L</b>: Termin Listen Ansicht</p>\n" }, 1034{ "<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n","<p><b>V</b>: Todo Ansicht | <b>L</b>: Termin Listen Ansicht</p>\n" },
1035{ "<p><b>N</b>: Next days view| <b>W</b>: What's next view\n ","<p><b>N</b>: Nächste-Tage Ansicht days view| <b>W</b>: What's next Ansicht\n " }, 1035{ "<p><b>N</b>: Next days view| <b>W</b>: What's next view\n ","<p><b>N</b>: Nächste-Tage Ansicht days view| <b>W</b>: What's next Ansicht\n " },
1036{ "<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n","<p><b>1-0</b> (+<b>ctrl</b>): Selektiere Filter 1-10 (11-20)</p>\n" }, 1036{ "<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n","<p><b>1-0</b> (+<b>ctrl</b>): Selektiere Filter 1-10 (11-20)</p>\n" },
1037{ "<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n","<p><b>O</b>: Filter An/Aus | <b>J</b>: Journal Ansicht</p>\n" }, 1037{ "<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n","<p><b>O</b>: Filter An/Aus | <b>J</b>: Journal Ansicht</p>\n" },
1038{ "<p><b>F</b>: Toggle filterview |<b>F+ctrl</b>: Edit filter </p>\n","<p><b>F</b>: Zeige/verstecke Filter Ansicht |<b>F+ctrl</b>: Editiere Filter </p>\n" }, 1038{ "<p><b>F</b>: Toggle filterview |<b>F+ctrl</b>: Edit filter </p>\n","<p><b>F</b>: Zeige/verstecke Filter Ansicht |<b>F+ctrl</b>: Editiere Filter </p>\n" },
1039{ "<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n","<p><b>Space</b>: Zeige fullscreen | <b>P</b>: Datums Picker</p>\n" }, 1039{ "<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n","<p><b>Space</b>: Zeige fullscreen | <b>P</b>: Datums Picker</p>\n" },
1040{ "<p><b>I</b>: Show info for selected event/todo</p>\n","<p><b>I</b>: Zeige Info (Details) für selektiertes Item</p>\n" }, 1040{ "<p><b>I</b>: Show info for selected event/todo</p>\n","<p><b>I</b>: Zeige Info (Details) für selektiertes Item</p>\n" },
1041{ "<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n","<p><b>H</b>: Dieser Hilfe Dialog | <b>S</b>: Such Dialog</p>\n" }, 1041{ "<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n","<p><b>H</b>: Dieser Hilfe Dialog | <b>S</b>: Such Dialog</p>\n" },
1042{ "<p><h2>KO/Pi key shortcuts:</h2></p>\n","<p><h2>KO/Pi Tastatur Kurzbefehle:</h2></p>\n" }, 1042{ "<p><h2>KO/Pi key shortcuts:</h2></p>\n","<p><h2>KO/Pi Tastatur Kurzbefehle:</h2></p>\n" },
1043{ "After changing something, the data is\nautomatically saved to the file\n~/kdepim/apps/korganizer/mycalendar.ics\nafter (configureable) three minutes.\nFor safety reasons there is one autosaving\nafter 10 minutes (of idle time) again. The \ndata is saved automatically when closing KO/Pi\nYou can create a backup file \nwith: File - Save Calendar Backup\n","Nachdem etwas geändert wurde, werden die\nDaten automatisch in die Datei abgespeichert\n~/kdepim/apps/korganizer/mycalendar.ics\nnach (konfigurierbar) drei Minuten.\nAus Sicherheitsgründen wird noch einmal\nnach 10 Min. abgespeichert, wenn keine\nÄnderungen vorgenommen wurden. Die \nDaten werden automatisch gespeichert,\nwenn KO/Pi beendet wird.\nSie können eine Backup-Datei erstellen im\nMenu: Datei - Speichere Kalender Backup\n" }, 1043{ "After changing something, the data is\nautomatically saved to the file\n~/kdepim/apps/korganizer/mycalendar.ics\nafter (configureable) three minutes.\nFor safety reasons there is one autosaving\nafter 10 minutes (of idle time) again. The \ndata is saved automatically when closing KO/Pi\nYou can create a backup file \nwith: File - Save Calendar Backup\n","Nachdem etwas geändert wurde, werden die\nDaten automatisch in die Datei abgespeichert\n~/kdepim/apps/korganizer/mycalendar.ics\nnach (konfigurierbar) drei Minuten.\nAus Sicherheitsgründen wird noch einmal\nnach 10 Min. abgespeichert, wenn keine\nÄnderungen vorgenommen wurden. Die \nDaten werden automatisch gespeichert,\nwenn KO/Pi beendet wird.\nSie können eine Backup-Datei erstellen im\nMenu: Datei - Speichere Kalender Backup\n" },
1044{ "Auto Saving in KOrganizer/Pi","Auto Speichern in KOrganizer/Pi" }, 1044{ "Auto Saving in KOrganizer/Pi","Auto Speichern in KOrganizer/Pi" },
1045{ "\nhttp://sourceforge.net/projects/kdepimpi\n","\nhttp://sourceforge.net/projects/kdepimpi\n" }, 1045{ "\nhttp://sourceforge.net/projects/kdepimpi\n","\nhttp://sourceforge.net/projects/kdepimpi\n" },
1046{ "\nor report them in the bugtracker on\n","\noder trage sie in dem Bugtracker ein auf\n" }, 1046{ "\nor report them in the bugtracker on\n","\noder trage sie in dem Bugtracker ein auf\n" },
1047{ "\nPlease report unexpected behaviour to\nlutz@pi-sync.net\n","\nBitte melde fehlerhaftes Verhalten an\nlutz@pi-sync.net\n" }, 1047{ "\nPlease report unexpected behaviour to\nlutz@pi-sync.net\n","\nBitte melde fehlerhaftes Verhalten an\nlutz@pi-sync.net\n" },
1048{ "2) Audio alarm daemon\nfor Zaurus is available!\nas an additional small application\n","2) Ein Audio Alarm Daemon\nfür den Zaurus ist verfügbar\nals zusätzliche Anwendung\n" }, 1048{ "2) Audio alarm daemon\nfor Zaurus is available!\nas an additional small application\n","2) Ein Audio Alarm Daemon\nfür den Zaurus ist verfügbar\nals zusätzliche Anwendung\n" },
1049{ "1) Importing *.vcs or *.ics files from\nother applications may not work properly,\nif there are events with properties\nKO/Pi does not support.\n","1) Importieren von *.vcs oder *.ics Dateien von\nanderen Anwendungen kann möglicherweise\n nicht richtig funktionieren,\nwenn die Termine Eigenschaften haben,\ndie KO/Pi nicht unterstützt.\n" }, 1049{ "1) Importing *.vcs or *.ics files from\nother applications may not work properly,\nif there are events with properties\nKO/Pi does not support.\n","1) Importieren von *.vcs oder *.ics Dateien von\nanderen Anwendungen kann möglicherweise\n nicht richtig funktionieren,\nwenn die Termine Eigenschaften haben,\ndie KO/Pi nicht unterstützt.\n" },
1050{ "Known Problems in KOrganizer/Pi","Bekannte Probleme in KOrganizer/Pi" }, 1050{ "Known Problems in KOrganizer/Pi","Bekannte Probleme in KOrganizer/Pi" },
1051{ "KO/Pi FAQ","KO/Pi FAQ" }, 1051{ "KO/Pi FAQ","KO/Pi FAQ" },
1052{ "(c) 2004 Lutz Rogowski\nEmail:lutz@pi-sync.net\nKO/Pi is based on KOrganizer\n(c) 2002,2003 Cornelius Schumacher\nEmail: schumacher@kde.org\nKOrganizer/Pi is licensed\nunder the GPL.\nKO/Pi can be compiled for\nLinux, Zaurus-PDA and Windows\nwww.korganizer.org\nwww.pi-sync.net\n","(c) 2004 Lutz Rogowski\nEmail:lutz@pi-sync.net\nKO/Pi basiert auf KOrganizer\n(c) 2002,2003 Cornelius Schumacher\nEmail: schumacher@kde.org\nKOrganizer/Pi ist lizensiert unter der GPL.\nKO/Pi kann kompiliert werden für\nLinux, Zaurus-PDA und Windows\nwww.korganizer.org\nwww.pi-sync.net\n" }, 1052{ "(c) 2004 Lutz Rogowski\nEmail:lutz@pi-sync.net\nKO/Pi is based on KOrganizer\n(c) 2002,2003 Cornelius Schumacher\nEmail: schumacher@kde.org\nKOrganizer/Pi is licensed\nunder the GPL.\nKO/Pi can be compiled for\nLinux, Zaurus-PDA and Windows\nwww.korganizer.org\nwww.pi-sync.net\n","(c) 2004 Lutz Rogowski\nEmail:lutz@pi-sync.net\nKO/Pi basiert auf KOrganizer\n(c) 2002,2003 Cornelius Schumacher\nEmail: schumacher@kde.org\nKOrganizer/Pi ist lizensiert unter der GPL.\nKO/Pi kann kompiliert werden für\nLinux, Zaurus-PDA und Windows\nwww.korganizer.org\nwww.pi-sync.net\n" },
1053{ "PDA-Edition\nfor: Zaurus 5x00 / 7x0 / 8x0\n","PDA-Edition\nfür: Zaurus 5x00 / 7x0 / 8x0\n" }, 1053{ "PDA-Edition\nfor: Zaurus 5x00 / 7x0 / 8x0\n","PDA-Edition\nfür: Zaurus 5x00 / 7x0 / 8x0\n" },
1054{ "KOrganizer/Platform-independent\n","KOrganizer/Platform-independent\n" }, 1054{ "KOrganizer/Platform-independent\n","KOrganizer/Platform-independent\n" },
1055{ "About KOrganizer/Pi","Über KOrganizer/Pi" }, 1055{ "About KOrganizer/Pi","Über KOrganizer/Pi" },
1056{ "From: ","Von: " }, 1056{ "From: ","Von: " },
1057{ "","" }, 1057{ "Remove sync info","Entferne Sync Info" },
1058{ "","" }, 1058{ "For all profiles","Für alle Profile" },
1059{ "","" }, 1059{ "","" },
1060{ "","" }, 1060{ "","" },
1061{ "","" }, 1061{ "","" },
1062{ "","" }, 1062{ "","" },
1063{ "","" }, 1063{ "","" },
diff --git a/bin/kdepim/korganizer/usertranslation.txt b/bin/kdepim/korganizer/usertranslation.txt
index f4c4698..fc6287c 100644
--- a/bin/kdepim/korganizer/usertranslation.txt
+++ b/bin/kdepim/korganizer/usertranslation.txt
@@ -1,1072 +1,1074 @@
1{ "10 minutes","10 Minuten" }, 1{ "10 minutes","10 Minuten" },
2{ "10th","10." }, 2{ "10th","10." },
3{ "11th","11." }, 3{ "11th","11." },
4{ "12 pm Format","12 AM/PM Format" }, 4{ "12 pm Format","12 AM/PM Format" },
5{ "12th","12." }, 5{ "12th","12." },
6{ "13th","13." }, 6{ "13th","13." },
7{ "14th","14." }, 7{ "14th","14." },
8{ "15th","15." }, 8{ "15th","15." },
9{ "16th","16." }, 9{ "16th","16." },
10{ "17th","17." }, 10{ "17th","17." },
11{ "18th","18." }, 11{ "18th","18." },
12{ "19th","19." }, 12{ "19th","19." },
13{ "1 Day","1 Tag" }, 13{ "1 Day","1 Tag" },
14{ "1 h","1 Std" }, 14{ "1 h","1 Std" },
15{ "1 (high)","1 (hoch)" }, 15{ "1 (high)","1 (hoch)" },
16{ "5 (low)","5" }, 16{ "5 (low)","5" },
17{ "1st","1." }, 17{ "1st","1." },
18{ "20th","20." }, 18{ "20th","20." },
19{ "21st","21." }, 19{ "21st","21." },
20{ "22nd","22." }, 20{ "22nd","22." },
21{ "23rd","23." }, 21{ "23rd","23." },
22{ "24:00 Hour Format","24:00 Stunden Format" }, 22{ "24:00 Hour Format","24:00 Stunden Format" },
23{ "24th","24." }, 23{ "24th","24." },
24{ "25th","25." }, 24{ "25th","25." },
25{ "26th","26." }, 25{ "26th","26." },
26{ "27th","27." }, 26{ "27th","27." },
27{ "28th","28." }, 27{ "28th","28." },
28{ "29th","29." }, 28{ "29th","29." },
29{ "2nd","2." }, 29{ "2nd","2." },
30{ "30 minutes","30 Minuten" }, 30{ "30 minutes","30 Minuten" },
31{ "30th","30." }, 31{ "30th","30." },
32{ "31st","31." }, 32{ "31st","31." },
33{ "3rd","3." }, 33{ "3rd","3." },
34{ "4th","4." }, 34{ "4th","4." },
35{ "5 (lowest)","5 (Niedrigster)" }, 35{ "5 (lowest)","5 (Niedrigster)" },
36{ "5th","5." }, 36{ "5th","5." },
37{ "6th","6." }, 37{ "6th","6." },
38{ "7th","7." }, 38{ "7th","7." },
39{ "8th","8." }, 39{ "8th","8." },
40{ "9th","9." }, 40{ "9th","9." },
41{ "About...","Über..." }, 41{ "About...","Über..." },
42{ "&Accept","&Akzeptieren" }, 42{ "&Accept","&Akzeptieren" },
43{ "Accept","Akzeptieren" }, 43{ "Accept","Akzeptieren" },
44{ "Accept A&ll","A&lles Akzepieren" }, 44{ "Accept A&ll","A&lles Akzepieren" },
45{ "Access:","Zugriff:" }, 45{ "Access:","Zugriff:" },
46{ "A corresponding event is missing in your calendar!","Ein zugehöriger Termin fehlt in ihrem Kalender!" }, 46{ "A corresponding event is missing in your calendar!","Ein zugehöriger Termin fehlt in ihrem Kalender!" },
47{ "Actions","Aktionen" }, 47{ "Actions","Aktionen" },
48{ "Add Filter","Filter Hinzufügen" }, 48{ "Add Filter","Filter Hinzufügen" },
49{ "&Add","Hinzufügen" }, 49{ "&Add","Hinzufügen" },
50{ "Add","Hinzufügen" }, 50{ "Add","Hinzufügen" },
51{ "Additional email addresses:","Zusätzliche E-Mail Adressen:" }, 51{ "Additional email addresses:","Zusätzliche E-Mail Adressen:" },
52{ "Additional email address:","Zusätzliche E-Mail Adresse:" }, 52{ "Additional email address:","Zusätzliche E-Mail Adresse:" },
53{ "&Addressbook","&Adressbuch" }, 53{ "&Addressbook","&Adressbuch" },
54{ "Address &Book...","Adress&buch..." }, 54{ "Address &Book...","Adress&buch..." },
55{ "Agenda Size","Agende Größe" }, 55{ "Agenda Size","Agende Größe" },
56{ "Agenda Size:","Größe der Agenda:" }, 56{ "Agenda Size:","Größe der Agenda:" },
57{ "Agenda view:","Agenda Ansicht:" }, 57{ "Agenda view:","Agenda Ansicht:" },
58{ "Agenda view background color:","Hintergrund der Agenda Ansicht:" }, 58{ "Agenda view background color:","Hintergrund der Agenda Ansicht:" },
59{ "All attendees","Alle Teilnehmer" }, 59{ "All attendees","Alle Teilnehmer" },
60{ "AllDayAgenda Height:","Höhe Ganztages Agenda:" }, 60{ "AllDayAgenda Height:","Höhe Ganztages Agenda:" },
61{ "Allday","Ganztägig" }, 61{ "Allday","Ganztägig" },
62{ "Anonymous","Anonym" }, 62{ "Anonymous","Anonym" },
63{ "Apply","Anwenden" }, 63{ "Apply","Anwenden" },
64{ "Apr","Apr" }, 64{ "Apr","Apr" },
65{ "April","April" }, 65{ "April","April" },
66{"Ask for every entry on conflict","Frage bei Konflikten nach"}, 66{"Ask for every entry on conflict","Frage bei Konflikten nach"},
67{ "Ask for preferences before syncing","Vor dem Syncronisieren nachfragen" }, 67{ "Ask for preferences before syncing","Vor dem Syncronisieren nachfragen" },
68{ "Ask for quit when closing KO/Pi","Vor dem Beenden von KO/Pi nachfragen" }, 68{ "Ask for quit when closing KO/Pi","Vor dem Beenden von KO/Pi nachfragen" },
69{ "Attendees","Teilnehmer" }, 69{ "Attendees","Teilnehmer" },
70{ "Aug","Aug" }, 70{ "Aug","Aug" },
71{ "August","August" }, 71{ "August","August" },
72{ "Auto-Save","Automatisches Abspeichern" }, 72{ "Auto-Save","Automatisches Abspeichern" },
73{ "Auto save delay in minutes:","Verzög.autom.Speichern in Min" }, 73{ "Auto save delay in minutes:","Verzög.autom.Speichern in Min" },
74{ "Auto saving...","Automatische Sicherung..." }, 74{ "Auto saving...","Automatische Sicherung..." },
75{ "Begin on:","Starte mit:" }, 75{ "Begin on:","Starte mit:" },
76{ "Begins on: %1","Starte mit: %1" }, 76{ "Begins on: %1","Starte mit: %1" },
77{ "<b>From:</b> %1 <b>To:</b> %2","<b>Vom:</b> %1 <b>Zum:</b> %2" }, 77{ "<b>From:</b> %1 <b>To:</b> %2","<b>Vom:</b> %1 <b>Zum:</b> %2" },
78{ "Bigger","Größer" }, 78{ "Bigger","Größer" },
79{ "Biggest","Riesig" }, 79{ "Biggest","Riesig" },
80{ "Big","Groß" }, 80{ "Big","Groß" },
81{ "<b>On:</b> %1","<b>Am:</b> %1" }, 81{ "<b>On:</b> %1","<b>Am:</b> %1" },
82{ "<b>On:</b> %1 <b>From:S</b> %2 <b>To:</b> %3","<b>Am:</b> %1 <b>Vom:S</b> %2 <b>Zum:</b> %3" }, 82{ "<b>On:</b> %1 <b>From:S</b> %2 <b>To:</b> %3","<b>Am:</b> %1 <b>Vom:S</b> %2 <b>Zum:</b> %3" },
83{ "<b>Original event:</b><p>","<b>Original Termin:</b><p>" }, 83{ "<b>Original event:</b><p>","<b>Original Termin:</b><p>" },
84{ " - both are modified after last sync"," - beide wurden nach der letzten Syncronisation verändert" }, 84{ " - both are modified after last sync"," - beide wurden nach der letzten Syncronisation verändert" },
85{ "Busy","Belegt" }, 85{ "Busy","Belegt" },
86{ "&Cancel","Abbre&chen" }, 86{ "&Cancel","Abbre&chen" },
87{ "Cancel","Abbrechen" }, 87{ "Cancel","Abbrechen" },
88{ "Cannot delete To-Do\nwhich has children.","Kann Todo nicht löschen,\n da noch Einträge vorhanden sind" }, 88{ "Cannot delete To-Do\nwhich has children.","Kann Todo nicht löschen,\n da noch Einträge vorhanden sind" },
89{ "Cannot delete To-Do which has children.","Kann Todo nicht löschen, da noch Einträge vorhanden sind" }, 89{ "Cannot delete To-Do which has children.","Kann Todo nicht löschen, da noch Einträge vorhanden sind" },
90{ "Can't generate mail:\nNo event selected.","Kann e-Mail nicht erstellen:\nKein Termin ausgewählt." }, 90{ "Can't generate mail:\nNo event selected.","Kann e-Mail nicht erstellen:\nKein Termin ausgewählt." },
91{ "Categories...","Kategorien..." }, 91{ "Categories...","Kategorien..." },
92{ "Categories","Kategorien" }, 92{ "Categories","Kategorien" },
93{ "Category","Kategorie" }, 93{ "Category","Kategorie" },
94{ "Center View","Zentriere Ansicht" }, 94{ "Center View","Zentriere Ansicht" },
95{ "Change","Ändere" }, 95{ "Change","Ändere" },
96{ "Cinema","Kino" }, 96{ "Cinema","Kino" },
97{ "Click to add a new Todo","Hier klicken, um ein neues Todo anzulegen" }, 97{ "Click to add a new Todo","Hier klicken, um ein neues Todo anzulegen" },
98{ "Clone Item","Klone Eintrag" }, 98{ "Clone Item","Klone Eintrag" },
99{ "&Close","S&chließen" }, 99{ "&Close","S&chließen" },
100{ "Close","Schließen" }, 100{ "Close","Schließen" },
101{ "Close this dialog to abort deletion!","Zum Abbrechen des Löschvorganges Dialog schließen!" }, 101{ "Close this dialog to abort deletion!","Zum Abbrechen des Löschvorganges Dialog schließen!" },
102{ "Colors","Farben" }, 102{ "Colors","Farben" },
103{ "completed","erledigt" }, 103{ "completed","erledigt" },
104{ "completed on %1","erledigt am %1" }, 104{ "completed on %1","erledigt am %1" },
105{ "Complete","Erledigt" }, 105{ "Complete","Erledigt" },
106{ "Confidential","Vertraulich" }, 106{ "Confidential","Vertraulich" },
107{ "Configure...","Einstellungen..." }, 107{ "Configure...","Einstellungen..." },
108{ "Confirm &deletes","Löschvogang bestätigen" }, 108{ "Confirm &deletes","Löschvogang bestätigen" },
109{ "Couldn't load calendar\n '%1'.","Kann Kalender\n '%1' nicht laden." }, 109{ "Couldn't load calendar\n '%1'.","Kann Kalender\n '%1' nicht laden." },
110{ "Counter-event Viewer","Terminzähler Ansicht" }, 110{ "Counter-event Viewer","Terminzähler Ansicht" },
111{ "Daily ending hour:","Feierabend:" }, 111{ "Daily ending hour:","Feierabend:" },
112{ "Daily starting hour:","Anfangszeit:" }, 112{ "Daily starting hour:","Anfangszeit:" },
113{ "Daily","Täglich" }, 113{ "Daily","Täglich" },
114{ "Date Format","Datums Format" }, 114{ "Date Format","Datums Format" },
115{ "Date Format:","Datums Format:" }, 115{ "Date Format:","Datums Format:" },
116{ "DateNavigator:(nr)","Datums Navigator" }, 116{ "DateNavigator:(nr)","Datums Navigator" },
117{ "Dates: ","Datum: " }, 117{ "Dates: ","Datum: " },
118{ "Date && Time","Datum && Zeit" }, 118{ "Date && Time","Datum && Zeit" },
119{ "Day begins at:","Der Tag beginnt um:" }, 119{ "Day begins at:","Der Tag beginnt um:" },
120{ "Days in Next-X-Days:","Tage in Nächste-X-Tage:" }, 120{ "Days in Next-X-Days:","Tage in Nächste-X-Tage:" },
121{ "Days in What's Next:","Tage in What's Next:" }, 121{ "Days in What's Next:","Tage in What's Next:" },
122{ "day(s)","Tag(e)" }, 122{ "day(s)","Tag(e)" },
123{ "Days to show in Next-X-Days view:","Welche Tage in Nächste-X-Tagen anzeigen:" }, 123{ "Days to show in Next-X-Days view:","Welche Tage in Nächste-X-Tagen anzeigen:" },
124{ "day","Tag" }, 124{ "day","Tag" },
125{ "Dec","Dez" }, 125{ "Dec","Dez" },
126{ "December","Dezember" }, 126{ "December","Dezember" },
127{ "Default alarm time:","Standard Alarmzeit:" }, 127{ "Default alarm time:","Standard Alarmzeit:" },
128{ "Default appointment time:","Standard Termin Startzeit:" }, 128{ "Default appointment time:","Standard Termin Startzeit:" },
129{ "Default event color:","Standard Terminfarbe:" }, 129{ "Default event color:","Standard Terminfarbe:" },
130{ "Default","Standard" }, 130{ "Default","Standard" },
131{ "Def. duration of new app.:","Standard Termin Länge:" }, 131{ "Def. duration of new app.:","Standard Termin Länge:" },
132{ "Delete all completed To-Dos?","Alle bereits erledigten Todos löschen?" }, 132{ "Delete all completed To-Dos?","Alle bereits erledigten Todos löschen?" },
133{ "Delete All","Lösche alles" }, 133{ "Delete All","Lösche alles" },
134{ "Delete all selected","Lösche alle Selektierten" }, 134{ "Delete all selected","Lösche alle Selektierten" },
135{ "Delete Current","Aktuellen löschen" }, 135{ "Delete Current","Aktuellen löschen" },
136{ "Delete Event...","Lösche Termin..." }, 136{ "Delete Event...","Lösche Termin..." },
137{ "Delete Event","Lösche Termin" }, 137{ "Delete Event","Lösche Termin" },
138{ "&Delete","Löschen" }, 138{ "&Delete","Löschen" },
139{ "Delete...","Löschen..." }, 139{ "Delete...","Löschen..." },
140{ "Delete","Löschen" }, 140{ "Delete","Löschen" },
141{ "Delete Todo...","Lösche Todo..." }, 141{ "Delete Todo...","Lösche Todo..." },
142{ "Delete To-Do","Lösche Todo" }, 142{ "Delete To-Do","Lösche Todo" },
143{ "Deleting item %d ...","Lösche Eintrag %d..." }, 143{ "Deleting item %d ...","Lösche Eintrag %d..." },
144{ "Descriptions","Beschreibungen" }, 144{ "Descriptions","Beschreibungen" },
145{ "Deselect All","Deselektiere Alle" }, 145{ "Deselect All","Deselektiere Alle" },
146{ "Details","Details" }, 146{ "Details","Details" },
147{ "Dinner","Abendessen" }, 147{ "Dinner","Abendessen" },
148{ "Do you really want\nto close KO/Pi?","Möchten Sie wirklich\nKO/PI verlassen?" }, 148{ "Do you really want\nto close KO/Pi?","Möchten Sie wirklich\nKO/PI verlassen?" },
149{ "Due Date","Fällig am" }, 149{ "Due Date","Fällig am" },
150{ "Due: ","Fällig: "}, 150{ "Due: ","Fällig: "},
151{ "Due Time","Fällig um" }, 151{ "Due Time","Fällig um" },
152{ "Due:","Fällig:"}, 152{ "Due:","Fällig:"},
153{ "Duration: ","Dauer: " }, 153{ "Duration: ","Dauer: " },
154{ "Edit...","Bearbeite..." }, 154{ "Edit...","Bearbeite..." },
155{ "Edit","Bearbeite" }, 155{ "Edit","Bearbeite" },
156{ "Edit Event...","Bearbeite Termin..." }, 156{ "Edit Event...","Bearbeite Termin..." },
157{ "Edit Event","Bearbeite Termin" }, 157{ "Edit Event","Bearbeite Termin" },
158{ "Edit exceptions","Bearbeite Ausnahmen" }, 158{ "Edit exceptions","Bearbeite Ausnahmen" },
159{ "EditorBox:","Editor Fenster:" }, 159{ "EditorBox:","Editor Fenster:" },
160{ "Edit Recurrence Range","Bearbeite Wiederholung" }, 160{ "Edit Recurrence Range","Bearbeite Wiederholung" },
161{ "Edit Todo...","Berabeite Todo..." }, 161{ "Edit Todo...","Berabeite Todo..." },
162{ "Edit To-Do","Todo bearbeiten" }, 162{ "Edit To-Do","Todo bearbeiten" },
163{ "E&mail address:","E&mail Adresse:" }, 163{ "E&mail address:","E&mail Adresse:" },
164{ "(EmptyEmail)","(KeineEmail)" }, 164{ "(EmptyEmail)","(KeineEmail)" },
165{ "(EmptyName)","(KeinName)" }, 165{ "(EmptyName)","(KeinName)" },
166{ "Enable Recurrence","Wiederholender Termin" }, 166{ "Enable Recurrence","Wiederholender Termin" },
167{ "End after","Endet nach"}, 167{ "End after","Endet nach"},
168{ "End by:","Endet am"}, 168{ "End by:","Endet am"},
169{ "End Date","End Datum" }, 169{ "End Date","End Datum" },
170{ "End:","Ende:" }, 170{ "End:","Ende:" },
171{ "End Time","End Zeit" }, 171{ "End Time","End Zeit" },
172{ "English","Englisch" }, 172{ "English","Englisch" },
173{ "Event","Termin" }, 173{ "Event","Termin" },
174{ "Event list","Termin Liste" }, 174{ "Event list","Termin Liste" },
175{ "Events","Termine" }, 175{ "Events","Termine" },
176{ "Event Viewer:","Termin Übersicht:" }, 176{ "Event Viewer:","Termin Übersicht:" },
177{ "every","jede" }, 177{ "every","jede" },
178{ "Exceptions...","Ausnahmen..." }, 178{ "Exceptions...","Ausnahmen..." },
179{ "Exceptions","Ausnahmen" }, 179{ "Exceptions","Ausnahmen" },
180{ "Exclude holidays","Ohne freie Tage" }, 180{ "Exclude holidays","Ohne freie Tage" },
181{ "Exclude Saturdays","Ohne Samstage" }, 181{ "Exclude Saturdays","Ohne Samstage" },
182{ "Feb","Feb" }, 182{ "Feb","Feb" },
183{ "February","Februar" }, 183{ "February","Februar" },
184{ "&Find","Suche!" }, 184{ "&Find","Suche!" },
185{ "Fonts","Schriftart" }, 185{ "Fonts","Schriftart" },
186{ "Force take local entry always","Erzwinge:Nimm immer lokalen Eintrag" }, 186{ "Force take local entry always","Erzwinge:Nimm immer lokalen Eintrag" },
187{ "Force take remote entry always","Erzwinge:Nimm immer fernen Eintrag"}, 187{ "Force take remote entry always","Erzwinge:Nimm immer fernen Eintrag"},
188{ "Free","Frei" }, 188{ "Free","Frei" },
189{ "Friday","Freitag" }, 189{ "Friday","Freitag" },
190{ "Fri","Fr" }, 190{ "Fri","Fr" },
191{ "From:","Vom:" }, 191{ "From:","Vom:" },
192{ "Full &name:","Vor- und &Nachname:" }, 192{ "Full &name:","Vor- und &Nachname:" },
193{ "General","Allgemein" }, 193{ "General","Allgemein" },
194{ "German","Deutsch" }, 194{ "German","Deutsch" },
195{ "Gifts","Geschenke" }, 195{ "Gifts","Geschenke" },
196{ "Go to Today","Heute anzeigen" }, 196{ "Go to Today","Heute anzeigen" },
197{ "Help","Hilfe" }, 197{ "Help","Hilfe" },
198{ "Hide Dates","Daten ausblenden" }, 198{ "Hide Dates","Daten ausblenden" },
199{ "Highlight color:","Markierungen:" }, 199{ "Highlight color:","Markierungen:" },
200{ "Holiday color:","Freie Tage:" }, 200{ "Holiday color:","Freie Tage:" },
201{ "hour(s)","Stunde(n)" }, 201{ "hour(s)","Stunde(n)" },
202{ "In %1 days: ","In %1 Tagen: " }, 202{ "In %1 days: ","In %1 Tagen: " },
203{ "Incomplete Todo:","Unerledigte Aufgaben:" }, 203{ "Incomplete Todo:","Unerledigte Aufgaben:" },
204{ "Information","Information" }, 204{ "Information","Information" },
205{ "Invalid search expression,\ncannot perform ","Kann Suche nicht ausführen" }, 205{ "Invalid search expression,\ncannot perform ","Kann Suche nicht ausführen" },
206{ "Jan","Jan" }, 206{ "Jan","Jan" },
207{ "January","Januar" }, 207{ "January","Januar" },
208{ "JournalView:","Journal Ansicht:" }, 208{ "JournalView:","Journal Ansicht:" },
209{ "Journals","Journale" }, 209{ "Journals","Journale" },
210{ "Jul","Jul" }, 210{ "Jul","Jul" },
211{ "July","Juli" }, 211{ "July","Juli" },
212{ "Jump to date","Springe zum Datum" }, 212{ "Jump to date","Springe zum Datum" },
213{ "June","Juni" }, 213{ "June","Juni" },
214{ "Jun","Jun" }, 214{ "Jun","Jun" },
215{ "Key Bindings...","Tastenzuordnung..." }, 215{ "Key Bindings...","Tastenzuordnung..." },
216{ "Kids","Kinder" }, 216{ "Kids","Kinder" },
217{ "Known Problems...","Bekannte Probleme..." }, 217{ "Known Problems...","Bekannte Probleme..." },
218{ "KO/Pi Find ","KO/Pi Suchdialog " }, 218{ "KO/Pi Find ","KO/Pi Suchdialog " },
219{ "KO/Pi Find: ","KO/Pi Suchen: " }, 219{ "KO/Pi Find: ","KO/Pi Suchen: " },
220{ "KO/Pi is starting ... "," KO/Pi startet ... \n... Zeit für eine Kaffeepause ..." }, 220{ "KO/Pi is starting ... "," KO/Pi startet ... \n... Zeit für eine Kaffeepause ..." },
221{ "Language:(needs restart)","Sprache (Neustart!)" }, 221{ "Language:(needs restart)","Sprache (Neustart!)" },
222{ "Language:","Sprache" }, 222{ "Language:","Sprache" },
223{ "Large","Etwas mehr" }, 223{ "Large","Etwas mehr" },
224{ "List View:","Listenansicht:" }, 224{ "List View:","Listenansicht:" },
225{ "List View","Listenansicht" }, 225{ "List View","Listenansicht" },
226{ "Load/Save","Laden/Speichern" }, 226{ "Load/Save","Laden/Speichern" },
227{ "Load Template","Lade Vorlage" }, 227{ "Load Template","Lade Vorlage" },
228{ "Locale","Localisation" }, 228{ "Locale","Localisation" },
229{ "Local temp file:","Lokale temp. Datei:" }, 229{ "Local temp file:","Lokale temp. Datei:" },
230{ "Location: ","Ort: " }, 230{ "Location: ","Ort: " },
231{ "Location:","Ort:" }, 231{ "Location:","Ort:" },
232{ "Mail client","Mail Programm" }, 232{ "Mail client","Mail Programm" },
233{ "Mail Client","Mail Programm" }, 233{ "Mail Client","Mail Programm" },
234{ "March","März" }, 234{ "March","März" },
235{ "Mar","Mär" }, 235{ "Mar","Mär" },
236{ "May","Mai" }, 236{ "May","Mai" },
237{ "M. Bains line:","M. Bains Linie:" }, 237{ "M. Bains line:","M. Bains Linie:" },
238{ "Medium","Medium" }, 238{ "Medium","Medium" },
239{ "Method","Methode" }, 239{ "Method","Methode" },
240{ "minute(s)","Minute(n)" }, 240{ "minute(s)","Minute(n)" },
241{ "Monday","Montag" }, 241{ "Monday","Montag" },
242{ "Mon","Mo" }, 242{ "Mon","Mo" },
243{ "Monthly","Monatlich" }, 243{ "Monthly","Monatlich" },
244{ "Month not long enough","Monat ist nicht lang genug" }, 244{ "Month not long enough","Monat ist nicht lang genug" },
245{ "month(s)","Monat(e)" }, 245{ "month(s)","Monat(e)" },
246{ "Month view:","Monatsansicht:" }, 246{ "Month view:","Monatsansicht:" },
247{ "Month view uses category colors","Monatsansicht zeigt Kategorie Farben" }, 247{ "Month view uses category colors","Monatsansicht zeigt Kategorie Farben" },
248{ "Todo view uses category colors","To-Do Ansicht zeigt Kategorie Farben" }, 248{ "Todo view uses category colors","To-Do Ansicht zeigt Kategorie Farben" },
249{ "Move &Down","Nach unten verschieben" }, 249{ "Move &Down","Nach unten verschieben" },
250{ "Move &Up","Nach oben verschieben" }, 250{ "Move &Up","Nach oben verschieben" },
251{ "Name:","Name:" }, 251{ "Name:","Name:" },
252{ "Name","Name" }, 252{ "Name","Name" },
253{ "\nAre you sure you want\nto delete this event?","\nSind Sie sicher, dass Sie\nden Termin löschen möchten?" }, 253{ "\nAre you sure you want\nto delete this event?","\nSind Sie sicher, dass Sie\nden Termin löschen möchten?" },
254{ "%n Days","%n Tage" }, 254{ "%n Days","%n Tage" },
255{ "Never","Nie" }, 255{ "Never","Nie" },
256{ "New event...","Neuer Termin..." }, 256{ "New event...","Neuer Termin..." },
257{ "New event","Neuer Termin" }, 257{ "New event","Neuer Termin" },
258{ "New Event...","Neuer Termin..." }, 258{ "New Event...","Neuer Termin..." },
259{ "New Events/Todos should","Neue Termine/Todos sollten" }, 259{ "New Events/Todos should","Neue Termine/Todos sollten" },
260{ "&New","&Neu" }, 260{ "&New","&Neu" },
261{ "New","Neu", }, 261{ "New","Neu", },
262{ "New Sub-Todo...","Neues Sub-Todo..." }, 262{ "New Sub-Todo...","Neues Sub-Todo..." },
263{ "New Todo...","Neues Todo..." }, 263{ "New Todo...","Neues Todo..." },
264{ "Next Alarm: ","Nächster Alarm: ", }, 264{ "Next Alarm: ","Nächster Alarm: ", },
265{ "&Next Day","&Nächster Tag", }, 265{ "&Next Day","&Nächster Tag", },
266{ "Next days view uses full window","Nächste-X-Tage nutzt Vollbild" }, 266{ "Next days view uses full window","Nächste-X-Tage nutzt Vollbild" },
267{ "Next month","Nächster Monat" }, 267{ "Next month","Nächster Monat" },
268{ "&Next Week","&Nächste Woche" }, 268{ "&Next Week","&Nächste Woche" },
269{ "Next year","Nächstes Jahr" }, 269{ "Next year","Nächstes Jahr" },
270{ "Next Year","Nächstes Jahr" }, 270{ "Next Year","Nächstes Jahr" },
271{ "%n h","%n Std" }, 271{ "%n h","%n Std" },
272{ "No ending date","Kein End-Datum", }, 272{ "No ending date","Kein End-Datum", },
273{ "No event, nothing to do.","Kein Termin, nichts zu tun.", }, 273{ "No event, nothing to do.","Kein Termin, nichts zu tun.", },
274{ "No event selected.","Kein Termin selektiert" }, 274{ "No event selected.","Kein Termin selektiert" },
275{ "No","Nein" }, 275{ "No","Nein" },
276{ "No program set","Kein Programm ausgewählt", }, 276{ "No program set","Kein Programm ausgewählt", },
277{ "Normal","Normal" }, 277{ "Normal","Normal" },
278{ "[No selection]","Keine Selektion", }, 278{ "[No selection]","Keine Selektion", },
279{ "No sound set","Kein Sound ausgewählt", }, 279{ "No sound set","Kein Sound ausgewählt", },
280{ "no time ","keine Zeit ", }, 280{ "no time ","keine Zeit ", },
281{ "no time","keine Zeit", }, 281{ "no time","keine Zeit", },
282{ "No Time","Keine Zeit" }, 282{ "No Time","Keine Zeit" },
283{ "November","November" }, 283{ "November","November" },
284{ "Nov","Nov", }, 284{ "Nov","Nov", },
285{ "\nThis event recurs\nover multiple dates.\n","\nDieser Termin wiederholt sich an mehreren Tagen.\n" }, 285{ "\nThis event recurs\nover multiple dates.\n","\nDieser Termin wiederholt sich an mehreren Tagen.\n" },
286{ "occurrence(s)","Vorkommen" }, 286{ "occurrence(s)","Vorkommen" },
287{ "October","Oktober" }, 287{ "October","Oktober" },
288{ "Oct","Okt", }, 288{ "Oct","Okt", },
289{ "O-due!","Ü-fällig! " }, 289{ "O-due!","Ü-fällig! " },
290{ "&OK","&OK" }, 290{ "&OK","&OK" },
291{ "Ok+Show!","Ok+Anzeigen" }, 291{ "Ok+Show!","Ok+Anzeigen" },
292{ "Organizer: %1","Organisator %1" }, 292{ "Organizer: %1","Organisator %1" },
293{ "Organizer","Organisator" }, 293{ "Organizer","Organisator" },
294{ "Owner: ","Besitzer: " }, 294{ "Owner: ","Besitzer: " },
295{ "Owner:","Besitzer:" }, 295{ "Owner:","Besitzer:" },
296{ "<p><b>Priority:</b> %2</p>","<p><b>Priorität:</b> %2</p>" }, 296{ "<p><b>Priority:</b> %2</p>","<p><b>Priorität:</b> %2</p>" },
297{ "Pick a date to display","Wähle einen Tag zum anzeigen aus" }, 297{ "Pick a date to display","Wähle einen Tag zum anzeigen aus" },
298{ "Please specify a valid due date.","Bitte gültiges Fälligkeitsdatum angeben."}, 298{ "Please specify a valid due date.","Bitte gültiges Fälligkeitsdatum angeben."},
299{ "Please specify a valid end date, for example '%1'.","Bitte gültiges Enddatum angeben, z.B.'%1'." }, 299{ "Please specify a valid end date, for example '%1'.","Bitte gültiges Enddatum angeben, z.B.'%1'." },
300{ "Please specify a valid start date.","Bitte gültiges Startdatum angeben." }, 300{ "Please specify a valid start date.","Bitte gültiges Startdatum angeben." },
301{ "Please specify a valid start date, for example '%1'.","Bitte gültiges Startdatum angeben, z.B. '%1'." }, 301{ "Please specify a valid start date, for example '%1'.","Bitte gültiges Startdatum angeben, z.B. '%1'." },
302{ "Please specify a valid start time.","Bitte gültige Startzeit angeben."}, 302{ "Please specify a valid start time.","Bitte gültige Startzeit angeben."},
303{ "Please specify a valid start time, for example '%1'.","Bitte gültige Startzeit angeben, z.B. '%1'." }, 303{ "Please specify a valid start time, for example '%1'.","Bitte gültige Startzeit angeben, z.B. '%1'." },
304{ "Preferences - some settings need a restart (nr)","Einstellungen - teilweise Neustart erforderlich (bn)" }, 304{ "Preferences - some settings need a restart (nr)","Einstellungen - teilweise Neustart erforderlich (bn)" },
305{ "&Previous Day","Vorheriger Tag" }, 305{ "&Previous Day","Vorheriger Tag" },
306{ "Previous month","Vorheriger Monat" }, 306{ "Previous month","Vorheriger Monat" },
307{ "Previous Month","Vorheriger Monat" }, 307{ "Previous Month","Vorheriger Monat" },
308{ "&Previous Week","Vorherige Woche" }, 308{ "&Previous Week","Vorherige Woche" },
309{ "Previous year","Vorheriges Jahr" }, 309{ "Previous year","Vorheriges Jahr" },
310{ "Previous Year","Vorheriges Jahr" }, 310{ "Previous Year","Vorheriges Jahr" },
311{ "Printing","Drucken" }, 311{ "Printing","Drucken" },
312{ "Priority:","Priorität:" }, 312{ "Priority:","Priorität:" },
313{ "Private","Privat" }, 313{ "Private","Privat" },
314{ "Proceed","Weiter" }, 314{ "Proceed","Weiter" },
315{ "Public","Öffentlich" }, 315{ "Public","Öffentlich" },
316{ "Purge","Entferne" }, 316{ "Purge","Entferne" },
317{ "Purge Completed","Entferne erledigte ToDos" }, 317{ "Purge Completed","Entferne erledigte ToDos" },
318{ "Purge To-Dos","Todos bereinigen" }, 318{ "Purge To-Dos","Todos bereinigen" },
319{ "read-only","schreibgeschützt" }, 319{ "read-only","schreibgeschützt" },
320{ "Recur every","Wiederh. alle" }, 320{ "Recur every","Wiederh. alle" },
321{ "Recur in the month of","Wiederh. im Monat" }, 321{ "Recur in the month of","Wiederh. im Monat" },
322{ "Recur on the","Wiederh. am" }, 322{ "Recur on the","Wiederh. am" },
323{ "Recur on this day","Wiederh. am diesen Tag" }, 323{ "Recur on this day","Wiederh. am diesen Tag" },
324{ "Recurrence Range...","Wiederholungs Zeitraum..." }, 324{ "Recurrence Range...","Wiederholungs Zeitraum..." },
325{ "Recurrence Range","Wiederholungs Zeitraum" }, 325{ "Recurrence Range","Wiederholungs Zeitraum" },
326{ "Recurrence Rule","Wiederholungs Regel" }, 326{ "Recurrence Rule","Wiederholungs Regel" },
327{ "Recurrence","Wiederholung" }, 327{ "Recurrence","Wiederholung" },
328{ "Recurs","Wiederholung" }, 328{ "Recurs","Wiederholung" },
329{"&Reject","Abweisen"}, 329{"&Reject","Abweisen"},
330{ "Reminder:","Alarm:" }, 330{ "Reminder:","Alarm:" },
331{ "Rem.:","Alarm:" }, 331{ "Rem.:","Alarm:" },
332{ "Rem.","Alarm:" }, 332{ "Rem.","Alarm:" },
333{ "Remote file:","Remote Datei:"}, 333{ "Remote file:","Remote Datei:"},
334{ "Remote IP:","Remote (ferne) IP:" }, 334{ "Remote IP:","Remote (ferne) IP:" },
335{ "Remote syncing (via ssh/scp) network settings ","Remote Sync (via ssh/scp) Netzwerk Einstellungen " }, 335{ "Remote syncing (via ssh/scp) network settings ","Remote Sync (via ssh/scp) Netzwerk Einstellungen " },
336{ "Remote user:","Remote Benutzer"}, 336{ "Remote user:","Remote Benutzer"},
337{ "&Remove","Entfe&rnen" }, 337{ "&Remove","Entfe&rnen" },
338{ "Remove","Entfernen" }, 338{ "Remove","Entfernen" },
339{ "Request response","Bemerkung anfordern" }, 339{ "Request response","Bemerkung anfordern" },
340{ "Role:","Rolle:" }, 340{ "Role:","Rolle:" },
341{ "Role","Rolle" }, 341{ "Role","Rolle" },
342{ "Sat","Sa" }, 342{ "Sat","Sa" },
343{ "Saturday","Samstag" }, 343{ "Saturday","Samstag" },
344{ "Search for:","Suche nach:" }, 344{ "Search for:","Suche nach:" },
345{ "Search In","Suche in" }, 345{ "Search In","Suche in" },
346{ "Search...","Suche..." }, 346{ "Search...","Suche..." },
347{ "Search","Suche" }, 347{ "Search","Suche" },
348{ "Select Addresses","Wähle Adressen" }, 348{ "Select Addresses","Wähle Adressen" },
349{ "Select all","Selektiere Alle" }, 349{ "Select all","Selektiere Alle" },
350{ "Select a month","Wähle Monat" }, 350{ "Select a month","Wähle Monat" },
351{ "Select a week","Wähle Woche" }, 351{ "Select a week","Wähle Woche" },
352{ "Select a year","Wähle Jahr" }, 352{ "Select a year","Wähle Jahr" },
353{ "Send directly","Sende direkt" }, 353{ "Send directly","Sende direkt" },
354{ "&Send Messages","&Sende Nachrichten", }, 354{ "&Send Messages","&Sende Nachrichten", },
355{ "Sep","Sep" }, 355{ "Sep","Sep" },
356{ "September","September" }, 356{ "September","September" },
357{ "Shopping","Einkaufen" }, 357{ "Shopping","Einkaufen" },
358{ "Use short date in (WN/E) view","Kurzdatum in (WN/Termin) Ansicht" }, 358{ "Use short date in (WN/E) view","Kurzdatum in (WN/Termin) Ansicht" },
359{ "Show Dates","Zeige Daten" }, 359{ "Show Dates","Zeige Daten" },
360{ "Show events that recur daily in date nav.","Zeige tägl.wiederh.Term.in Datums Nav." }, 360{ "Show events that recur daily in date nav.","Zeige tägl.wiederh.Term.in Datums Nav." },
361{ "Show Event...","Zeige Termin..." }, 361{ "Show Event...","Zeige Termin..." },
362{ "Show ev. that recur weekly in date nav.","Zeige wöch.wiederh.Term.in Datums Nav." }, 362{ "Show ev. that recur weekly in date nav.","Zeige wöch.wiederh.Term.in Datums Nav." },
363{ "Show Marcus Bains line","Zeige Marcus Bains Linie" }, 363{ "Show Marcus Bains line","Zeige Marcus Bains Linie" },
364{ "Show summary after syncing","Zeige Zusammenfassung nach Sync." }, 364{ "Show summary after syncing","Zeige Zusammenfassung nach Sync." },
365{ "Show time as:","Zeige Zeit als" }, 365{ "Show time as:","Zeige Zeit als" },
366{ "Show Todo...","Zeige To-Do" }, 366{ "Show Todo...","Zeige To-Do" },
367{ "Show topmost todo prios in What's N.:","Anz. höchster Prios in What's N.:"}, 367{ "Show topmost todo prios in What's N.:","Anz. höchster Prios in What's N.:"},
368{ "Show topmost todo prios in What's Next:","Anz. höchster Prios in What's Next:"}, 368{ "Show topmost todo prios in What's Next:","Anz. höchster Prios in What's Next:"},
369{ "Show vertical screen (Needs restart)","Vertikaler Bildschirm-Layout (Neustart!)" }, 369{ "Show vertical screen (Needs restart)","Vertikaler Bildschirm-Layout (Neustart!)" },
370{ "&Show","Zeige" }, 370{ "&Show","Zeige" },
371{ "Show...","Zeige..." }, 371{ "Show...","Zeige..." },
372{ "Show","Zeige" }, 372{ "Show","Zeige" },
373{ "Small","Klein" }, 373{ "Small","Klein" },
374{ "Sorry","Entschuldigung" }, 374{ "Sorry","Entschuldigung" },
375{"Sorry, the copy command failed!\nCommand was:\n","Der Kopierbefehl schlug fehl!\nBefehl war:\n"}, 375{"Sorry, the copy command failed!\nCommand was:\n","Der Kopierbefehl schlug fehl!\nBefehl war:\n"},
376{ "Start:","Start:" }, 376{ "Start:","Start:" },
377{ "Start Date","Start Datum" }, 377{ "Start Date","Start Datum" },
378{ "Start date: %1","Start Datum: %1" }, 378{ "Start date: %1","Start Datum: %1" },
379{ "Start Time","Start Zeit" }, 379{ "Start Time","Start Zeit" },
380{ "Status:","Status:" }, 380{ "Status:","Status:" },
381{ "Status","Status:" }, 381{ "Status","Status:" },
382{ "Summaries","Titel" }, 382{ "Summaries","Titel" },
383{ "Summary:","Titel:" }, 383{ "Summary:","Titel:" },
384{ "Summary","Titel" }, 384{ "Summary","Titel" },
385{ "Sunday","Sonntag" }, 385{ "Sunday","Sonntag" },
386{ "Sun","So" }, 386{ "Sun","So" },
387{ "Sync preferences:","Sync Einstellungen" }, 387{ "Sync preferences:","Sync Einstellungen" },
388{ "Sync Prefs","Sync Einstellungen" }, 388{ "Sync Prefs","Sync Einstellungen" },
389{ "Syncronize","Daten abgleich" }, 389{ "Syncronize","Daten abgleich" },
390{ "Take local entry on conflict","Nimm lokalen Eintrag beim Konflikt" }, 390{ "Take local entry on conflict","Nimm lokalen Eintrag beim Konflikt" },
391{ "Take newest entry on conflict","Nimm neuesten Eintrag beim Konflikt" }, 391{ "Take newest entry on conflict","Nimm neuesten Eintrag beim Konflikt" },
392{ "Take remote entry on conflict","Nimm fernen Eintrag beim Konflikt" }, 392{ "Take remote entry on conflict","Nimm fernen Eintrag beim Konflikt" },
393{ "Template '%1' does not contain a valid Todo.","Template '%1' enthält kein gültiges To-Do" }, 393{ "Template '%1' does not contain a valid Todo.","Template '%1' enthält kein gültiges To-Do" },
394{ "Template does not contain a valid Event.","Template '%1' enthält keinen gültigen Termin" }, 394{ "Template does not contain a valid Event.","Template '%1' enthält keinen gültigen Termin" },
395{ "Template...","Vorlage..." }, 395{ "Template...","Vorlage..." },
396{ "This day","Dieser Tag" }, 396{ "This day","Dieser Tag" },
397{ "This is an experimental feature. ","Dieses Feature ist experimentel" }, 397{ "This is an experimental feature. ","Dieses Feature ist experimentel" },
398{ "This item will be\npermanently deleted.","Dieser Eintrag wird\nkomplett gelöscht." }, 398{ "This item will be\npermanently deleted.","Dieser Eintrag wird\nkomplett gelöscht." },
399{ "This item will be permanently deleted.", "Dieser Eintrag wird komplett gelöscht." }, 399{ "This item will be permanently deleted.", "Dieser Eintrag wird komplett gelöscht." },
400{ "Thu","Do" }, 400{ "Thu","Do" },
401{ "Thursday","Donnerstag" }, 401{ "Thursday","Donnerstag" },
402{ "Time associated","Mit Zeit" }, 402{ "Time associated","Mit Zeit" },
403{ "Time bar:","Uhrzeit Zeile:" }, 403{ "Time bar:","Uhrzeit Zeile:" },
404{ "Time && Date","Zeit und Datum" }, 404{ "Time && Date","Zeit und Datum" },
405{ "Time Format","Zeit Format" }, 405{ "Time Format","Zeit Format" },
406{ "Time Format(nr):","Zeit Format(Neustart!)" }, 406{ "Time Format(nr):","Zeit Format(Neustart!)" },
407{ "Date Labels:","Datumsleiste:" }, 407{ "Date Labels:","Datumsleiste:" },
408{ "Time: ","Zeit: " }, 408{ "Time: ","Zeit: " },
409{ "Timezone:","Zeitzone:" }, 409{ "Timezone:","Zeitzone:" },
410{ "Tiny","Sehr klein" }, 410{ "Tiny","Sehr klein" },
411{ "To: ","Bis: " }, 411{ "To: ","Bis: " },
412{ "To:","Bis:" }, 412{ "To:","Bis:" },
413{ "Today: ","Heute: " }, 413{ "Today: ","Heute: " },
414{ "Todo due today color:","Heute fällige To-Do's" }, 414{ "Todo due today color:","Heute fällige To-Do's" },
415{ "To-do items:","To-Do items:" }, 415{ "To-do items:","To-Do items:" },
416{ "Todo overdue color:","Überfällige To-Do's" }, 416{ "Todo overdue color:","Überfällige To-Do's" },
417{ "Todo","Todo" }, 417{ "Todo","Todo" },
418{ "To-do view shows completed Todos","To-do Ansicht zeigt erledigte To-dos" }, 418{ "To-do view shows completed Todos","To-do Ansicht zeigt erledigte To-dos" },
419{ "ToDoView:","Todo Ansicht:" }, 419{ "ToDoView:","Todo Ansicht:" },
420{ "Toggle Alarm","Wechsle Alarm" }, 420{ "Toggle Alarm","Wechsle Alarm" },
421{ "Toggle Allday","Umschalten Ganztag" }, 421{ "Toggle Allday","Umschalten Ganztag" },
422{ "Tomorrow: ","Morgen: " }, 422{ "Tomorrow: ","Morgen: " },
423{ "Tue","Di" }, 423{ "Tue","Di" },
424{ "Tuesday","Dienstag" }, 424{ "Tuesday","Dienstag" },
425{ "Two entries are in conflict, if: ","Zwei Einträge haben einen Konflikt, wenn:" }, 425{ "Two entries are in conflict, if: ","Zwei Einträge haben einen Konflikt, wenn:" },
426{ "Unable to find template '%1'.","Kann Vorlage '%1' nicht finden." }, 426{ "Unable to find template '%1'.","Kann Vorlage '%1' nicht finden." },
427{ "Unknown","Unbekannt" }, 427{ "Unknown","Unbekannt" },
428{ "Up","Hinauf" }, 428{ "Up","Hinauf" },
429{ "Use password (if not, ask when syncing)","Passwort: (sonst jedesmal anfragen)" }, 429{ "Use password (if not, ask when syncing)","Passwort: (sonst jedesmal anfragen)" },
430{ "User defined","Benutzerdefiniert" }, 430{ "User defined","Benutzerdefiniert" },
431{ "User long date:","Format langes Datum:" }, 431{ "User long date:","Format langes Datum:" },
432{ "User short date:","Forma kurzes Datum:" }, 432{ "User short date:","Forma kurzes Datum:" },
433{ "View","Ansicht" }, 433{ "View","Ansicht" },
434{ "View Fonts","Schriftarten Ansichten" }, 434{ "View Fonts","Schriftarten Ansichten" },
435{ "Views","Ansichten" }, 435{ "Views","Ansichten" },
436{ "Wed","Mi" }, 436{ "Wed","Mi" },
437{ "Wednesday","Mittwoch" }, 437{ "Wednesday","Mittwoch" },
438{ "Week %1","Woche %1" }, 438{ "Week %1","Woche %1" },
439{ "Weekly","Wöchentlich" }, 439{ "Weekly","Wöchentlich" },
440{ "Week starts on Sunday","Woche beginnt Sonntags" }, 440{ "Week starts on Sunday","Woche beginnt Sonntags" },
441{ "What's Next View:","What's Next Anz." }, 441{ "What's Next View:","What's Next Anz." },
442{ "What's next ?","Was kommt als nächstes?(What's Next)" }, 442{ "What's next ?","Was kommt als nächstes?(What's Next)" },
443{ "Working Hours","Tägliche Arbeitszeit" }, 443{ "Working Hours","Tägliche Arbeitszeit" },
444{ "Working hours color:","Arbeitszeit in der Agenda Ansicht:" }, 444{ "Working hours color:","Arbeitszeit in der Agenda Ansicht:" },
445{ "Write back existing entries only","Nur exisitierende Einträge zurückschreiben" }, 445{ "Write back existing entries only","Nur exisitierende Einträge zurückschreiben" },
446{ "Write back synced file","Syncronisierte Datei zurückschreiben" }, 446{ "Write back synced file","Syncronisierte Datei zurückschreiben" },
447{ "Yearly","Jährlich" }, 447{ "Yearly","Jährlich" },
448{ "year(s)","Jahr(e)" }, 448{ "year(s)","Jahr(e)" },
449{ "Yes","Ja" }, 449{ "Yes","Ja" },
450{ "You have %d item(s) selected.\n","Sie haben %d Einträge ausgewählt.\n" }, 450{ "You have %d item(s) selected.\n","Sie haben %d Einträge ausgewählt.\n" },
451{ "You have to restart KOrganizer for this setting to take effect.","Sie müssem Korganizer neu starten, damit diese Einstellung aktiviert wird." }, 451{ "You have to restart KOrganizer for this setting to take effect.","Sie müssem Korganizer neu starten, damit diese Einstellung aktiviert wird." },
452{ "week(s) on:","Woche(n) am: " }, 452{ "week(s) on:","Woche(n) am: " },
453{ "Full menu bar(nr)","Volle Menuleiste(bn)" }, 453{ "Full menu bar(nr)","Volle Menuleiste(bn)" },
454{ "Timezone has daylight saving","Zeitzone hat Sommerzeit" }, 454{ "Timezone has daylight saving","Zeitzone hat Sommerzeit" },
455{ "Actual start and end is the\nsunday before this date.","Tatsächlicher Beginn/Ende ist der Sonntag\nvor diesem Datum!" }, 455{ "Actual start and end is the\nsunday before this date.","Tatsächlicher Beginn/Ende ist der Sonntag\nvor diesem Datum!" },
456{ "The year in the date is ignored.","Das Jahr vom Datum wird ignoriert." }, 456{ "The year in the date is ignored.","Das Jahr vom Datum wird ignoriert." },
457{ "Daylight start:","Sommerzeit Beginn:" }, 457{ "Daylight start:","Sommerzeit Beginn:" },
458{ "Daylight end:","Sommerzeit Ende:" }, 458{ "Daylight end:","Sommerzeit Ende:" },
459{ "Time Zone","Zeitzone" }, 459{ "Time Zone","Zeitzone" },
460{ "Monday 19 April 2004: %A %d %B %Y","Montag 19 April 2004: %A %d %B %Y" }, 460{ "Monday 19 April 2004: %A %d %B %Y","Montag 19 April 2004: %A %d %B %Y" },
461{ "%A: Monday --- %a: Mon","%A: Montag --- %a: Mon" }, 461{ "%A: Monday --- %a: Mon","%A: Montag --- %a: Mon" },
462{ "minutely","minütlich" }, 462{ "minutely","minütlich" },
463{ "hourly","stündlich" }, 463{ "hourly","stündlich" },
464{ "daily","täglich" }, 464{ "daily","täglich" },
465{ "weekly","wöchentlich" }, 465{ "weekly","wöchentlich" },
466{ "monthly","monatlich" }, 466{ "monthly","monatlich" },
467{ "day-monthly","tag-monatlich" }, 467{ "day-monthly","tag-monatlich" },
468{ "month-yearly","monat-jährlich" }, 468{ "month-yearly","monat-jährlich" },
469{ "day-yearly","tag-jährlich" }, 469{ "day-yearly","tag-jährlich" },
470{ "position-yearly","pos-jährlich" }, 470{ "position-yearly","pos-jährlich" },
471{ "Edit item on doubleclick (if not, show)","Editiere mit Doppelklick(wenn nicht, zeige)" }, 471{ "Edit item on doubleclick (if not, show)","Editiere mit Doppelklick(wenn nicht, zeige)" },
472{ "Highlight current day in agenda","Hebe >>heute<< in Agenda hervor" }, 472{ "Highlight current day in agenda","Hebe >>heute<< in Agenda hervor" },
473{ "Use light color for highlight current day","Helle Farbe für >>heute<< Hervorhebung" }, 473{ "Use light color for highlight current day","Helle Farbe für >>heute<< Hervorhebung" },
474{ "Highlight selection in Time Edit","Hebe Auswahl in Zeit Edit hervor" }, 474{ "Highlight selection in Time Edit","Hebe Auswahl in Zeit Edit hervor" },
475{ "Hold fullscreen on view change","Behalte Vollbild bei Ansichswechsel" }, 475{ "Hold fullscreen on view change","Behalte Vollbild bei Ansichswechsel" },
476{ "Hold non-fullscreen on view change","Behalte Nicht-Vollbild bei Ansichtsw." }, 476{ "Hold non-fullscreen on view change","Behalte Nicht-Vollbild bei Ansichtsw." },
477{ "Event list view uses full window","Listenansicht nutzt Vollbild" }, 477{ "Event list view uses full window","Listenansicht nutzt Vollbild" },
478{ "Set agenda to DayBeginsAt on change","Setze Agenda auf TagBeginntUm bei Wechsel" }, 478{ "Set agenda to DayBeginsAt on change","Setze Agenda auf TagBeginntUm bei Wechsel" },
479{ "Set agenda to current time on change","Setze Agenda auf gegenw.Zeit bei Wechsel" }, 479{ "Set agenda to current time on change","Setze Agenda auf gegenw.Zeit bei Wechsel" },
480{ "Listview uses monthly timespan","Listenansicht zeigt monatliche Zeitspanne" }, 480{ "Listview uses monthly timespan","Listenansicht zeigt monatliche Zeitspanne" },
481{ "ViewChange","Ansichtswechsel" }, 481{ "ViewChange","Ansichtswechsel" },
482{ "Default alarm *.wav file:","Standard Alarm *.wav Datei:" }, 482{ "Default alarm *.wav file:","Standard Alarm *.wav Datei:" },
483{ "This setting is useless for 5500 user!","Diese Einst. ist nutzlos für 5500 Nutzer" }, 483{ "This setting is useless for 5500 user!","Diese Einst. ist nutzlos für 5500 Nutzer" },
484{ "File","Datei" }, 484{ "File","Datei" },
485{ "Clone...","Dupliziere.." }, 485{ "Clone...","Dupliziere.." },
486{ "Move...","Bewege..." }, 486{ "Move...","Bewege..." },
487{ "Beam...","Sende via IR..." }, 487{ "Beam...","Sende via IR..." },
488{ "&Clone...","Dupliziere.." }, 488{ "&Clone...","Dupliziere.." },
489{ "&Move...","Bewege..." }, 489{ "&Move...","Bewege..." },
490{ "&Beam...","Sende via IR..." }, 490{ "&Beam...","Sende via IR..." },
491{ "Show Completed","Zeige erledigte Todos" }, 491{ "Show Completed","Zeige erledigte Todos" },
492{ "Show Quick Todo","Zeige Quick Todo" }, 492{ "Show Quick Todo","Zeige Quick Todo" },
493{ "Unparent Todo","Un-sub Todo" }, 493{ "Unparent Todo","Un-sub Todo" },
494{ "Save selected to file...","Speichere Selektierte..." }, 494{ "Save selected to file...","Speichere Selektierte..." },
495{ "Add Categ. to selected...","Füge zu Selekt. Kateg. hinzu..." }, 495{ "Add Categ. to selected...","Füge zu Selekt. Kateg. hinzu..." },
496{ "Set Categ. for selected...","Setze Kateg. für Selekt." }, 496{ "Set Categ. for selected...","Setze Kateg. für Selekt." },
497{ "Beam selected via IR","Sende Selekt. via IR..." }, 497{ "Beam selected via IR","Sende Selekt. via IR..." },
498{ "Search","Suchen" }, 498{ "Search","Suchen" },
499{ "Date Picker","Datum auswählen" }, 499{ "Date Picker","Datum auswählen" },
500{ "Day View","Tagesansicht" }, 500{ "Day View","Tagesansicht" },
501{ "Work Week","Arbeitswoche" }, 501{ "Work Week","Arbeitswoche" },
502{ "Week","Wochenansicht" }, 502{ "Week","Wochenansicht" },
503{ "Month","Monatsansicht" }, 503{ "Month","Monatsansicht" },
504{ "Todo View","Todo Liste" }, 504{ "Todo View","Todo Liste" },
505{ "Journal","Journal Ansicht" }, 505{ "Journal","Journal Ansicht" },
506{ "Next days","Nächste Tage" }, 506{ "Next days","Nächste Tage" },
507{ "Print agenda selection...","Drucke Agendaselektion..." }, 507{ "Print agenda selection...","Drucke Agendaselektion..." },
508{ "Toggle DateNavigator","Navigator umschalten" }, 508{ "Toggle DateNavigator","Navigator umschalten" },
509{ "Toggle FilterView","Filteransicht umschalten" }, 509{ "Toggle FilterView","Filteransicht umschalten" },
510{ "Prev. month","Vorheriger Monat" }, 510{ "Prev. month","Vorheriger Monat" },
511{ "Go backward","Gehe zurück" }, 511{ "Go backward","Gehe zurück" },
512{ "Go forward","Gehe weiter" }, 512{ "Go forward","Gehe weiter" },
513{ "Synchronize","Synchronisieren" }, 513{ "Synchronize","Synchronisieren" },
514{ "AgendaSize","Agendagröße" }, 514{ "AgendaSize","Agendagröße" },
515{ "Import (*.ics/*.vcs) file","Importiere (*.ics/*.vcs) Datei" }, 515{ "Import (*.ics/*.vcs) file","Importiere (*.ics/*.vcs) Datei" },
516{ "Import last file","Importiere letzte Datei" }, 516{ "Import last file","Importiere letzte Datei" },
517{ "Import Opie/Qtopia Cal.","Importiere Opie/Qtopia Kal." }, 517{ "Import Opie/Qtopia Cal.","Importiere Opie/Qtopia Kal." },
518{ "Load Calendar Backup","Lade Kalender Backup" }, 518{ "Load Calendar Backup","Lade Kalender Backup" },
519{ "Save Calendar Backup","Speichere Kalender Backup" }, 519{ "Save Calendar Backup","Speichere Kalender Backup" },
520{ "Export VCalendar","Exportiere VCalendar" }, 520{ "Export VCalendar","Exportiere VCalendar" },
521{ "Manage new categories...","Verwalte neue Kategorien..." }, 521{ "Manage new categories...","Verwalte neue Kategorien..." },
522{ "Beam complete calendar...","Sende kompletten Kalender via IR" }, 522{ "Beam complete calendar...","Sende kompletten Kalender via IR" },
523{ "Beam filtered calendar...","Sende gefilterten Kalender via IR" }, 523{ "Beam filtered calendar...","Sende gefilterten Kalender via IR" },
524{ "Remote via ssh","Über Netzwerk via ssh" }, 524{ "Remote via ssh","Über Netzwerk via ssh" },
525{ "With local file","Mit lokaler Datei" }, 525{ "With local file","Mit lokaler Datei" },
526{ "With last file","Mit letzter Datei" }, 526{ "With last file","Mit letzter Datei" },
527{ "KO/Pi: Ready for beaming","KO/Pi: Bereit zum Senden" }, 527{ "KO/Pi: Ready for beaming","KO/Pi: Bereit zum Senden" },
528{ "KO/Pi:Beaming done","KO/Pi: Senden erfolgt" }, 528{ "KO/Pi:Beaming done","KO/Pi: Senden erfolgt" },
529{ "Save filename","Speichern: Dateinamen wählen" }, 529{ "Save filename","Speichern: Dateinamen wählen" },
530{ "File already exists!\nOld file from:\n%1\nOverwrite?\n","Dateiname existiert bereits!\nAlte Datei vom:\n%1\nÜberschreiben?\n" }, 530{ "File already exists!\nOld file from:\n%1\nOverwrite?\n","Dateiname existiert bereits!\nAlte Datei vom:\n%1\nÜberschreiben?\n" },
531{ "KO/Pi: Warning!","KO/Pi: Warnung!" }, 531{ "KO/Pi: Warning!","KO/Pi: Warnung!" },
532{ "Overwrite!","Überschreibe!" }, 532{ "Overwrite!","Überschreibe!" },
533{ "KO/Pi:Saved %1","KO/Pi:Gespeichert %1" }, 533{ "KO/Pi:Saved %1","KO/Pi:Gespeichert %1" },
534{ "All selected items will be\npermanently deleted.\n(Deleting items will take\nsome time on a PDA)\n","Alle selektierten Einträge werden\nunwiederbringlich gelöscht.\n(Löschen kann auf dem\nPDA einige Zeit dauern)\n" }, 534{ "All selected items will be\npermanently deleted.\n(Deleting items will take\nsome time on a PDA)\n","Alle selektierten Einträge werden\nunwiederbringlich gelöscht.\n(Löschen kann auf dem\nPDA einige Zeit dauern)\n" },
535{ "KO/Pi Confirmation","KO/Pi Bestätigung" }, 535{ "KO/Pi Confirmation","KO/Pi Bestätigung" },
536{ "Close dialog to abort deletion!","Schließe Dialog um das Löschen abzubrechen!" }, 536{ "Close dialog to abort deletion!","Schließe Dialog um das Löschen abzubrechen!" },
537{ "Deleting item %d ...","Lösche Eintrag %d ..." }, 537{ "Deleting item %d ...","Lösche Eintrag %d ..." },
538{ "%d items remaining in list.","%d Einträge sind in der Liste verblieben." }, 538{ "%d items remaining in list.","%d Einträge sind in der Liste verblieben." },
539{ "Size","Größe" }, 539{ "Size","Größe" },
540{ "Date","Datum" }, 540{ "Date","Datum" },
541{ "Mime Type","Datei Typ" }, 541{ "Mime Type","Datei Typ" },
542{ "All Files","Alle Dateien" }, 542{ "All Files","Alle Dateien" },
543{ "Files","Dateien" }, 543{ "Files","Dateien" },
544{ "Documents","DoKumente" }, 544{ "Documents","DoKumente" },
545{ "Select Categories","Selektiere Kategorien" }, 545{ "Select Categories","Selektiere Kategorien" },
546{ " &Deselect All "," Auswahl aufheben " }, 546{ " &Deselect All "," Auswahl aufheben " },
547{ "A&dd","Hinzu" }, 547{ "A&dd","Hinzu" },
548{ "&Modify","Ändern" }, 548{ "&Modify","Ändern" },
549{ "Edit Categories","Editiere Kategorien" }, 549{ "Edit Categories","Editiere Kategorien" },
550{ " &Edit Categories "," &Editiere Kategorien " }, 550{ " &Edit Categories "," &Editiere Kategorien " },
551{ "Beam Options","Beam Einstellungen" }, 551{ "Beam Options","Beam Einstellungen" },
552{ " With timezone "," Mit Zeitzone " }, 552{ " With timezone "," Mit Zeitzone " },
553{ " Local time ", " Lokale Zeit " }, 553{ " Local time ", " Lokale Zeit " },
554{ "Manage new Categories","Verwalte neue Kategorien" }, 554{ "Manage new Categories","Verwalte neue Kategorien" },
555{ "Add to category list","Füge zur Kategorieliste hinzu" }, 555{ "Add to category list","Füge zur Kategorieliste hinzu" },
556{ "Remove from Events/Todos","Entferne von Terminen/Todos" }, 556{ "Remove from Events/Todos","Entferne von Terminen/Todos" },
557{ "After importing/loading/syncing\nthere may be new categories in\nevents or todos\nwhich are not in the category list.\nPlease choose what to do:\n ","Nach dem Importieren/Laden/Syncen\nkann es neue Kategorien in den \nTerminen oder Todos geben, die nicht\nin der Kategorieliste enthalten sind.\nBitte wählen Sie, was passieren soll:\n " }, 557{ "After importing/loading/syncing\nthere may be new categories in\nevents or todos\nwhich are not in the category list.\nPlease choose what to do:\n ","Nach dem Importieren/Laden/Syncen\nkann es neue Kategorien in den \nTerminen oder Todos geben, die nicht\nin der Kategorieliste enthalten sind.\nBitte wählen Sie, was passieren soll:\n " },
558{ "New categories not in list:","Kategorien, die nicht in der Liste sind:" }, 558{ "New categories not in list:","Kategorien, die nicht in der Liste sind:" },
559{ "File format","Datei Format" }, 559{ "File format","Datei Format" },
560{ "Time format","Zeit Format" }, 560{ "Time format","Zeit Format" },
561{ "Delete all\ncompleted To-Dos?","Lösche alle\nerledigten To-Dos?" }, 561{ "Delete all\ncompleted To-Dos?","Lösche alle\nerledigten To-Dos?" },
562{ "KO/Pi:Saving Data to File ...","KO/Pi: Speichere Kalender in Datei ..." }, 562{ "KO/Pi:Saving Data to File ...","KO/Pi: Speichere Kalender in Datei ..." },
563{ "KO/Pi:File Saved. Needed %d sec, %d ms","KO/Pi: Abgespeichert in %d sec, %d ms" }, 563{ "KO/Pi:File Saved. Needed %d sec, %d ms","KO/Pi: Abgespeichert in %d sec, %d ms" },
564{ "h","Std" }, 564{ "h","Std" },
565{ "min","Min" }, 565{ "min","Min" },
566{ "hou","Std" }, 566{ "hou","Std" },
567{ "day","Tag" }, 567{ "day","Tag" },
568{ "French(nyi)","Französich (noch nicht implementiert)" }, 568{ "French(nyi)","Französich (noch nicht implementiert)" },
569{ "Time","Zeit" }, 569{ "Time","Zeit" },
570{ "Event Viewer","Termin Ansicht" }, 570{ "Event Viewer","Termin Ansicht" },
571{ "Cancel Sync","Sync Abbrechen" }, 571{ "Cancel Sync","Sync Abbrechen" },
572{ "Remote","Fern" }, 572{ "Remote","Fern" },
573{ "Local","Lokal" }, 573{ "Local","Lokal" },
574{ "Conflict! Please choose entry","Konflikt! Bitte Eintrag wählen" }, 574{ "Conflict! Please choose entry","Konflikt! Bitte Eintrag wählen" },
575{ "Local: ","Lokal: " }, 575{ "Local: ","Lokal: " },
576{ "Remote: ","Fern: " }, 576{ "Remote: ","Fern: " },
577{ "Last modified: ","Zuletzt geändert: " }, 577{ "Last modified: ","Zuletzt geändert: " },
578{ "Location: ","Ort: " }, 578{ "Location: ","Ort: " },
579{ "<p><b>From:</b> %1 </p><p><b>To:</b> %2</p>","<p><b>Von:</b> %1 </p><p><b>Bis:</b> %2</p>" }, 579{ "<p><b>From:</b> %1 </p><p><b>To:</b> %2</p>","<p><b>Von:</b> %1 </p><p><b>Bis:</b> %2</p>" },
580{ "<p><b>On:</b> %1</p>","<p><b>Am:</b> %1</p>" }, 580{ "<p><b>On:</b> %1</p>","<p><b>Am:</b> %1</p>" },
581{ "<p><b>From:</b> %1</p> ","<p><b>Von:</b> %1</p> " }, 581{ "<p><b>From:</b> %1</p> ","<p><b>Von:</b> %1</p> " },
582{ "<p><b>To:</b> %1</p>","<p><b>Bis:</b> %1</p>" }, 582{ "<p><b>To:</b> %1</p>","<p><b>Bis:</b> %1</p>" },
583{ "<p><b>On:</b> %1</p> ","<p><b>Am:</b> %1</p> " }, 583{ "<p><b>On:</b> %1</p> ","<p><b>Am:</b> %1</p> " },
584{ "<p><b>From:</b> %1 <b>To:</b> %2</p>","<p><b>Von:</b> %1 <b>Bis:</b> %2</p>" }, 584{ "<p><b>From:</b> %1 <b>To:</b> %2</p>","<p><b>Von:</b> %1 <b>Bis:</b> %2</p>" },
585{ "This is a %1 recurring event.","Das ist ein %1 wiederholender Termin." }, 585{ "This is a %1 recurring event.","Das ist ein %1 wiederholender Termin." },
586{ "<b>Next recurrence is on:</b>","<b>Nächste Wiederholung ist am:</b>" }, 586{ "<b>Next recurrence is on:</b>","<b>Nächste Wiederholung ist am:</b>" },
587{ "<b>Last recurrence was on:</b>","<b>Letzte Wiederholung war am:</b>" }, 587{ "<b>Last recurrence was on:</b>","<b>Letzte Wiederholung war am:</b>" },
588{ "( %1 min before )","( %1 min vorher )" }, 588{ "( %1 min before )","( %1 min vorher )" },
589{ "<b>Alarm on: ","<b>Alarm am: " }, 589{ "<b>Alarm on: ","<b>Alarm am: " },
590{ "<b>Details: </b>","<b>Details: </b>" }, 590{ "<b>Details: </b>","<b>Details: </b>" },
591{ "<p><b>Priority:</b> %2</p>","<p><b>Priorität:</b> %2</p>" }, 591{ "<p><b>Priority:</b> %2</p>","<p><b>Priorität:</b> %2</p>" },
592{ "<p><i>%1 % completed</i></p>","<p><i>%1 % erledigt</i></p>" }, 592{ "<p><i>%1 % completed</i></p>","<p><i>%1 % erledigt</i></p>" },
593{ "Organizer","Organisator" }, 593{ "Organizer","Organisator" },
594{ "Save","Speichern" }, 594{ "Save","Speichern" },
595{ "Exit (+save)","Beenden (+ speichern)" }, 595{ "Exit (+save)","Beenden (+ speichern)" },
596{ "Home","Zuhause" }, 596{ "Home","Zuhause" },
597{ "Office","Büro" }, 597{ "Office","Büro" },
598{ "Libary","Bücherei" }, 598{ "Libary","Bücherei" },
599{ "Doctor","Arzt" }, 599{ "Doctor","Arzt" },
600{ "Beach","Strand" }, 600{ "Beach","Strand" },
601{ "Conference room","Konferenzraum" }, 601{ "Conference room","Konferenzraum" },
602{ "Drive Home","Heimfahrt" }, 602{ "Drive Home","Heimfahrt" },
603{ "Watch TV","Tv gucken" }, 603{ "Watch TV","Tv gucken" },
604{ "Phone call","Telefonanruf" }, 604{ "Phone call","Telefonanruf" },
605{ "Pay bill","Rechnung bezahlen" }, 605{ "Pay bill","Rechnung bezahlen" },
606{ "Read book","Buch lesen" }, 606{ "Read book","Buch lesen" },
607{ "Watering plants","Pflanzen giessen" }, 607{ "Watering plants","Pflanzen giessen" },
608{"Appointment","Verabredung" }, 608{"Appointment","Verabredung" },
609{"Birthday","Geburtstag" }, 609{"Birthday","Geburtstag" },
610{"Business","Geschäft" }, 610{"Business","Geschäft" },
611{"Business Travel","Geschäftsreise" }, 611{"Business Travel","Geschäftsreise" },
612{"Cinema","Kino" }, 612{"Cinema","Kino" },
613{"Customer","Kunde" }, 613{"Customer","Kunde" },
614{"Break","Pause" }, 614{"Break","Pause" },
615{"Breakfast","Frühstück" }, 615{"Breakfast","Frühstück" },
616{"Competition","Wettkampf" }, 616{"Competition","Wettkampf" },
617{"Dinner","Abendessen" }, 617{"Dinner","Abendessen" },
618{"Education","Erziehung" }, 618{"Education","Erziehung" },
619{"Family","Familie" }, 619{"Family","Familie" },
620{"Favorites","Favoriten" }, 620{"Favorites","Favoriten" },
621{"Festival","Festival" }, 621{"Festival","Festival" },
622{"Fishing","Angeln" }, 622{"Fishing","Angeln" },
623{"Flight","Flug" }, 623{"Flight","Flug" },
624{"Gifts","Geschenk" }, 624{"Gifts","Geschenk" },
625{"Holiday","Feiertag" }, 625{"Holiday","Feiertag" },
626{"Holiday Cards","Ansichtskarten" }, 626{"Holiday Cards","Ansichtskarten" },
627{"Hot Contacts","Heisse Kontakte" }, 627{"Hot Contacts","Heisse Kontakte" },
628{"Hiking","Wandern" }, 628{"Hiking","Wandern" },
629{"Hunting","Jagen" }, 629{"Hunting","Jagen" },
630{"Key Customer","Wichtiger Kunde" }, 630{"Key Customer","Wichtiger Kunde" },
631{"Kids","Kinder" }, 631{"Kids","Kinder" },
632{"Lunch","Mittagessen" }, 632{"Lunch","Mittagessen" },
633{"Meeting","Treffen" }, 633{"Meeting","Treffen" },
634{"Miscellaneous","Verschiedenes" }, 634{"Miscellaneous","Verschiedenes" },
635{"Partner","Partner" }, 635{"Partner","Partner" },
636{"Party","Partie" }, 636{"Party","Partie" },
637{"Personal","Privat" }, 637{"Personal","Privat" },
638{"Personal Travel","Privatreise"}, 638{"Personal Travel","Privatreise"},
639{"PHB","PHB" }, 639{"PHB","PHB" },
640{"Phone Calls","Telefonanruf" }, 640{"Phone Calls","Telefonanruf" },
641{"Projects","Projekt" }, 641{"Projects","Projekt" },
642{"Recurring","Wiederholend" }, 642{"Recurring","Wiederholend" },
643{"School","Schule" }, 643{"School","Schule" },
644{"Shopping","Einkaufen" }, 644{"Shopping","Einkaufen" },
645{"Speach","Rede" }, 645{"Speach","Rede" },
646{"Special Occasion","Spez.Gelegenheit" }, 646{"Special Occasion","Spez.Gelegenheit" },
647{"Sports","Sport" }, 647{"Sports","Sport" },
648{"Talk","Vortrag" }, 648{"Talk","Vortrag" },
649{"Travel","Reise" }, 649{"Travel","Reise" },
650{"TV","TV" }, 650{"TV","TV" },
651{"Germany","Deutschland" }, 651{"Germany","Deutschland" },
652{"Sweden","Schweden" }, 652{"Sweden","Schweden" },
653{"Forest","Wald" }, 653{"Forest","Wald" },
654{ "Desert","Wüste" }, 654{ "Desert","Wüste" },
655{ "Kitchen","Küche" }, 655{ "Kitchen","Küche" },
656{ "Lake","See" }, 656{ "Lake","See" },
657{"University","Universität"}, 657{"University","Universität"},
658{"Vacation","Urlaub" }, 658{"Vacation","Urlaub" },
659{"VIP","VIP" }, 659{"VIP","VIP" },
660{ "Import Sharp Calendar","Importiere Sharp Kalender" }, 660{ "Import Sharp Calendar","Importiere Sharp Kalender" },
661{ "This todo has been cancelled!","Dieses Todo wurde gecancelt!" }, 661{ "This todo has been cancelled!","Dieses Todo wurde gecancelt!" },
662{ "This event has been cancelled!","Dieser Termin wurde gecancelt!" }, 662{ "This event has been cancelled!","Dieser Termin wurde gecancelt!" },
663{ "Cancelled","Gecancelt" }, 663{ "Cancelled","Gecancelt" },
664{ "Multiple sync","Mehrfach Sync" }, 664{ "Multiple sync","Mehrfach Sync" },
665{ "Local file","Lokale Datei" }, 665{ "Local file","Lokale Datei" },
666{ "Last file","Letzte Datei" }, 666{ "Last file","Letzte Datei" },
667{ "Keys + Colors...","Tasten + Farben..." }, 667{ "Keys + Colors...","Tasten + Farben..." },
668{ "Mini icons in toolbar(nr)","Mini Icons in ToolBar(bn)" }, 668{ "Mini icons in toolbar(nr)","Mini Icons in ToolBar(bn)" },
669{ "Quick save(w/o Unicode)","Schnelles Speichern (o Unicode)" }, 669{ "Quick save(w/o Unicode)","Schnelles Speichern (o Unicode)" },
670{ "Choose...","Wähle..." }, 670{ "Choose...","Wähle..." },
671{ "Use colors for application:","Setze Farben für Programm:" }, 671{ "Use colors for application:","Setze Farben für Programm:" },
672{ "Buttons, menus, etc.:","Knöpfe, Menu, etc.:" }, 672{ "Buttons, menus, etc.:","Knöpfe, Menu, etc.:" },
673{ "Frames, labels, etc.:","Rahmen, Label, etc.:" }, 673{ "Frames, labels, etc.:","Rahmen, Label, etc.:" },
674{ "Show parent To-Do's in What's Next view","Zeige Ober-Todo in What's Next Anz." }, 674{ "Show parent To-Do's in What's Next view","Zeige Ober-Todo in What's Next Anz." },
675{ "Show location in What's Next view","Zeige Ort in What's Next Anz." }, 675{ "Show location in What's Next view","Zeige Ort in What's Next Anz." },
676{ "Show events that recur ","Zeige Termine, die sich wiederholen:" }, 676{ "Show events that recur ","Zeige Termine, die sich wiederholen:" },
677{ "Show in every cell ","Zeige in jeder Zelle " }, 677{ "Show in every cell ","Zeige in jeder Zelle " },
678{ "short month","kurzen Monat" }, 678{ "short month","kurzen Monat" },
679{ "icons","Icons" }, 679{ "icons","Icons" },
680{ "Show Sat/Sun together","Zeige Sam/Son zusammen" }, 680{ "Show Sat/Sun together","Zeige Sam/Son zusammen" },
681{ "Categorie colors are applied to text","Kategorie Farben färben Text" }, 681{ "Categorie colors are applied to text","Kategorie Farben färben Text" },
682{ "Month view uses day colors","Monatsansicht zeigt Tagesfarben" }, 682{ "Month view uses day colors","Monatsansicht zeigt Tagesfarben" },
683{ "Day color odd months","Tagesfarbe ungerade Monate" }, 683{ "Day color odd months","Tagesfarbe ungerade Monate" },
684{ "Day color even months","Tagesfarbe gerade Monate" }, 684{ "Day color even months","Tagesfarbe gerade Monate" },
685{ "Color for Sundays + category \"Holiday\"","Farbe für Sonntag + Kateg.\" Feiertag\"" }, 685{ "Color for Sundays + category \"Holiday\"","Farbe für Sonntag + Kateg.\" Feiertag\"" },
686{ "To-do view shows complete as 'xx %'","Zeige Prozent erledigt als 'xx %'" }, 686{ "To-do view shows complete as 'xx %'","Zeige Prozent erledigt als 'xx %'" },
687{ "Small To-do view uses smaller font","Kleine To-do Ansicht nutzt kleineren Font" }, 687{ "Small To-do view uses smaller font","Kleine To-do Ansicht nutzt kleineren Font" },
688{ "Colors are applied to text","Farben werden auf Text angewendet" }, 688{ "Colors are applied to text","Farben werden auf Text angewendet" },
689{ "Use internal alarm notification","Nutze interne Alarm Benachrichtigung" }, 689{ "Use internal alarm notification","Nutze interne Alarm Benachrichtigung" },
690{ "Note: KO/Pi must be running to notify you about an alarm. Recommended for use on Zaurus: Disable this option and install KO/Pi alarm applet.\n","Achtung: KO/Pi muß ausgeführt werden damit die Benachrichtigung funktioniert. Empfehlung für Zaurus: Diese Option nicht wählen und KO/Pi Alarm Applet installieren.\n" }, 690{ "Note: KO/Pi must be running to notify you about an alarm. Recommended for use on Zaurus: Disable this option and install KO/Pi alarm applet.\n","Achtung: KO/Pi muß ausgeführt werden damit die Benachrichtigung funktioniert. Empfehlung für Zaurus: Diese Option nicht wählen und KO/Pi Alarm Applet installieren.\n" },
691{ "Play beeps count:","Anzahl der Alarmpiepse: " }, 691{ "Play beeps count:","Anzahl der Alarmpiepse: " },
692{ "Beeps interval in sec:","Zeitintervall der Alarmpiepse: " }, 692{ "Beeps interval in sec:","Zeitintervall der Alarmpiepse: " },
693{ "Default suspend time in min:","Standard Supendierungs Zeit: " }, 693{ "Default suspend time in min:","Standard Supendierungs Zeit: " },
694{ "Auto suspend count:","Anzahl der auto Suspendierungen" }, 694{ "Auto suspend count:","Anzahl der auto Suspendierungen" },
695{ "Alarm *.wav file for newly created alarm:","Alarm *.wav Datei für neu angelegte Alarme:" }, 695{ "Alarm *.wav file for newly created alarm:","Alarm *.wav Datei für neu angelegte Alarme:" },
696{ "New profile","Neues Profil" }, 696{ "New profile","Neues Profil" },
697{ "Clone profile","Klone Profil" }, 697{ "Clone profile","Klone Profil" },
698{ "Delete profile","Lösche Profil" }, 698{ "Delete profile","Lösche Profil" },
699{ "Profile:","Profil:" }, 699{ "Profile:","Profil:" },
700{ "Include in multiple sync","Beziehe Profil in mehrfach Sync mit ein" }, 700{ "Include in multiple sync","Beziehe Profil in mehrfach Sync mit ein" },
701{ "Force: Take local entry always","Erzwinge: Nimm immer lokalen Eintrag" }, 701{ "Force: Take local entry always","Erzwinge: Nimm immer lokalen Eintrag" },
702{ "Force: Take remote entry always","Erzwinge: Nimm immer fernen Eintrag" }, 702{ "Force: Take remote entry always","Erzwinge: Nimm immer fernen Eintrag" },
703{ "Show summary after sync","Zeige Zusammenfassung nach dem Synchronisieren" }, 703{ "Show summary after sync","Zeige Zusammenfassung nach dem Synchronisieren" },
704{ "Write back file","Schreibe Datei zurück" }, 704{ "Write back file","Schreibe Datei zurück" },
705{ "Remote file (w down/upload command)","Entfernte Datei (via down/upload Kommando)" }, 705{ "Remote file (w down/upload command)","Entfernte Datei (via down/upload Kommando)" },
706{ "Pre sync (download) command:","Bevor Sync (download) Kommando:" }, 706{ "Pre sync (download) command:","Bevor Sync (download) Kommando:" },
707{ "Local device name:","Name dieses Gerätes:" }, 707{ "Local device name:","Name dieses Gerätes:" },
708{ "Ask for preferences before sync","Frage nach Synchronisationseinstellungen vor dem Syncen" }, 708{ "Ask for preferences before sync","Frage nach Synchronisationseinstellungen vor dem Syncen" },
709{ "Sync preferences","Synchronisations Einstellungen" }, 709{ "Sync preferences","Synchronisations Einstellungen" },
710{ "Profile kind","Profil Art" }, 710{ "Profile kind","Profil Art" },
711{ "Local file","Lokale Datei" }, 711{ "Local file","Lokale Datei" },
712{ "Local file:","Lokale Datei:" }, 712{ "Local file:","Lokale Datei:" },
713{ "Post sync (upload) command:","Nach Sync (upload) Kommando:" }, 713{ "Post sync (upload) command:","Nach Sync (upload) Kommando:" },
714{ "Fill in default values for:","Setze Beispiel Werte ein für:" }, 714{ "Fill in default values for:","Setze Beispiel Werte ein für:" },
715{ "Hint: Use $PWD$ for placeholder of password!","Hinweis: Benutze $PWD$ als Platzhalter für ein Passwort!" }, 715{ "Hint: Use $PWD$ for placeholder of password!","Hinweis: Benutze $PWD$ als Platzhalter für ein Passwort!" },
716{ "Synchronization Preferences","Einstellungen der Synchronisationsprofile"}, 716{ "Synchronization Preferences","Einstellungen der Synchronisationsprofile"},
717{ "Device","Gerät:" }, 717{ "Device","Gerät:" },
718{ "Sync with file \n...%1\nfrom:\n%2\n","Sync mit Datei \n...%1\nvom:\n%2\n" }, 718{ "Sync with file \n...%1\nfrom:\n%2\n","Sync mit Datei \n...%1\nvom:\n%2\n" },
719{ "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","Synchronisationsübersicht:\n\n %d items lokal hinzugefügt\n %d items entfernt hinzugefügt\n %d items lokal geändert\n %d items entfernt geändert\n %d items lokal gelöscht\n %d items entfernt gelöscht\n" }, 719{ "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","Synchronisationsübersicht:\n\n %d items lokal hinzugefügt\n %d items entfernt hinzugefügt\n %d items lokal geändert\n %d items entfernt geändert\n %d items lokal gelöscht\n %d items entfernt gelöscht\n" },
720{ "Synchronization successful","Synchronisation erfolgreich" }, 720{ "Synchronization successful","Synchronisation erfolgreich" },
721{ "Sync cancelled or failed. Nothing synced.","Sync abgebrochen oder fehlgeschlagen. Nichts wurde gesynced." }, 721{ "Sync cancelled or failed. Nothing synced.","Sync abgebrochen oder fehlgeschlagen. Nichts wurde gesynced." },
722{ "Sync file \n...%1\ndoes not exist!\nNothing synced!\n","Sync Datei \n...%1\nexistiert nicht!\nNichts wurde gesynced!\n" }, 722{ "Sync file \n...%1\ndoes not exist!\nNothing synced!\n","Sync Datei \n...%1\nexistiert nicht!\nNichts wurde gesynced!\n" },
723{ "Sync filename(*.ics/*.vcs)","Sync Dateiname(*.ics/*.vcs)" }, 723{ "Sync filename(*.ics/*.vcs)","Sync Dateiname(*.ics/*.vcs)" },
724{ "Enter password","Passwort eingeben" }, 724{ "Enter password","Passwort eingeben" },
725{ "Do you really want\nto remote sync\nwith profile \n","Wollen Sie wirklich\nmit dem entfernten\nProfil syncen: \n" }, 725{ "Do you really want\nto remote sync\nwith profile \n","Wollen Sie wirklich\nmit dem entfernten\nProfil syncen: \n" },
726{ "Copy remote file to local machine...","Kopiere entfernte Datei auf lokalen Rechner..." }, 726{ "Copy remote file to local machine...","Kopiere entfernte Datei auf lokalen Rechner..." },
727{ "Sorry, the copy command failed!\nCommand was:\n%1\n \nTry command on console to get more\ndetailed info about the reason.\n","Sorry, das Kopierkommando schlug fehl!\nKommando war:\n%1\n \nVersuche Kommando von Kosole um\nDetails für das Fehlschlagen\nzu erfahren.\n" }, 727{ "Sorry, the copy command failed!\nCommand was:\n%1\n \nTry command on console to get more\ndetailed info about the reason.\n","Sorry, das Kopierkommando schlug fehl!\nKommando war:\n%1\n \nVersuche Kommando von Kosole um\nDetails für das Fehlschlagen\nzu erfahren.\n" },
728{ "Writing back file result: ","Resultat des Dateizurückschreibens: " }, 728{ "Writing back file result: ","Resultat des Dateizurückschreibens: " },
729{ "Syncronization sucessfully completed","Synchronisation erfolgreich abgeschlossen" }, 729{ "Syncronization sucessfully completed","Synchronisation erfolgreich abgeschlossen" },
730{ "Edit Calendar Filters","Editiere Kalendar Filter" }, 730{ "Edit Calendar Filters","Editiere Kalendar Filter" },
731{ "Enter filter name:","Neuer Filter Name:" }, 731{ "Enter filter name:","Neuer Filter Name:" },
732{ "Add Filter","Filter hinzufügen" }, 732{ "Add Filter","Filter hinzufügen" },
733{ "Question","Frage" }, 733{ "Question","Frage" },
734{ "Filter position: ","Filter Position: " }, 734{ "Filter position: ","Filter Position: " },
735{ "Month View","Monatsansicht" }, 735{ "Month View","Monatsansicht" },
736{ "This profil cannot be deleted!\n","Dieses Profil kann\nnicht gelöscht werden!" }, 736{ "This profil cannot be deleted!\n","Dieses Profil kann\nnicht gelöscht werden!" },
737{ "KO/Pi config error","KO/Pi Konfig. Fehler" }, 737{ "KO/Pi config error","KO/Pi Konfig. Fehler" },
738{ "Local device name undefined!\nPlease define device name!","Name dieses Gerätes undefiniert!\nBitte Namen angeben!" }, 738{ "Local device name undefined!\nPlease define device name!","Name dieses Gerätes undefiniert!\nBitte Namen angeben!" },
739{ "Multiple profiles with same name!\nPlease use unique profile names!","Mehrere Profile haben denselben Namen!\nBitte unterschiedliche Namen wählen!" }, 739{ "Multiple profiles with same name!\nPlease use unique profile names!","Mehrere Profile haben denselben Namen!\nBitte unterschiedliche Namen wählen!" },
740{ "Access: ","Zugriff: " }, 740{ "Access: ","Zugriff: " },
741{ "Needs Action","Aktion notwendig" }, 741{ "Needs Action","Aktion notwendig" },
742{ "Accepted","Akzeptiert" }, 742{ "Accepted","Akzeptiert" },
743{ "Declined","Abgelehnt" }, 743{ "Declined","Abgelehnt" },
744{ "Tentative","Vorläufig" }, 744{ "Tentative","Vorläufig" },
745{ "Delegated","Beauftragt" }, 745{ "Delegated","Beauftragt" },
746{ "Completed","Vollständig" }, 746{ "Completed","Vollständig" },
747{ "In Process","In Bearbeitung" }, 747{ "In Process","In Bearbeitung" },
748{ "Participant","Teilnehmer" }, 748{ "Participant","Teilnehmer" },
749{ "Optional Participant","Möglicher Teilnehmer" }, 749{ "Optional Participant","Möglicher Teilnehmer" },
750{ "Observer","Beobachter" }, 750{ "Observer","Beobachter" },
751{ "Chair","Vorsitzender" }, 751{ "Chair","Vorsitzender" },
752{ "Not supported \non desktop!\n","" }, 752{ "Not supported \non desktop!\n","" },
753{ "Nothing selected!\n\nThis prints the full width of the Agenda view as you see it!\n\nTo determine the vertical range of the printing, please select\na vertical range (with the left mouse button down) in one column. ","Es ist nichts selektiert!\nDieses druckt die volle Breite der Agenda View, so wie man sie sieht.\nUm die verticale Auswahl zum Drucken zu bestimmen,\nbitte einen verticalen Zeitraum (mit gedrückter linker Maustaste)\nin einer Spalte auswählen. " }, 753{ "Nothing selected!\n\nThis prints the full width of the Agenda view as you see it!\n\nTo determine the vertical range of the printing, please select\na vertical range (with the left mouse button down) in one column. ","Es ist nichts selektiert!\nDieses druckt die volle Breite der Agenda View, so wie man sie sieht.\nUm die verticale Auswahl zum Drucken zu bestimmen,\nbitte einen verticalen Zeitraum (mit gedrückter linker Maustaste)\nin einer Spalte auswählen. " },
754{ "Date range: ","Datums Zeitspanne: " }, 754{ "Date range: ","Datums Zeitspanne: " },
755{ "Not supported \non PDA!\n","Nicht verfügbar\nauf dem PDA. " }, 755{ "Not supported \non PDA!\n","Nicht verfügbar\nauf dem PDA. " },
756{ "Syncing - close to abort!","Syncing-schließe um abzubrechen." }, 756{ "Syncing - close to abort!","Syncing-schließe um abzubrechen." },
757{ "Add / remove events","Add./entferne Termine" }, 757{ "Add / remove events","Add./entferne Termine" },
758{ "File does not exist:\n '%1'.","Datei existiert nicht:\n '%1'." }, 758{ "File does not exist:\n '%1'.","Datei existiert nicht:\n '%1'." },
759{ "Couldn't load calendar\n '%1'.","Kann Kalender nicht laden:\n '%1'." }, 759{ "Couldn't load calendar\n '%1'.","Kann Kalender nicht laden:\n '%1'." },
760{ "\nThe file on disk has changed!\nFile size: %1 bytes.\nLast modified: %2\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n","\nDie gepeicherte Datei wurde verändert!\nDatei Grösse: %1 Bytes.\nZuletzt geändert: %2\nMöchten Sie:\n\n - Speichern und die Datei überschreiben?\n - Mit Datei Synchronisieren, dann speichern?\n - Abbrechen ohne zu speichern? \n" }, 760{ "\nThe file on disk has changed!\nFile size: %1 bytes.\nLast modified: %2\nDo you want to:\n\n - Save and overwrite file?\n - Sync with file, then save?\n - Cancel without saving? \n","\nDie gepeicherte Datei wurde verändert!\nDatei Grösse: %1 Bytes.\nZuletzt geändert: %2\nMöchten Sie:\n\n - Speichern und die Datei überschreiben?\n - Mit Datei Synchronisieren, dann speichern?\n - Abbrechen ohne zu speichern? \n" },
761{ "Overwrite","Überschreiben" }, 761{ "Overwrite","Überschreiben" },
762{ "Sync+save","Syncen+speichern" }, 762{ "Sync+save","Syncen+speichern" },
763{ "Default","Standard" }, 763{ "Default","Standard" },
764{ " Categories added to list! "," Kategorien zur Liste hinzugefügt! " }, 764{ " Categories added to list! "," Kategorien zur Liste hinzugefügt! " },
765{ " %d items?"," %d Einträge?" }, 765{ " %d items?"," %d Einträge?" },
766{ "\nThis event recurs\nover multiple dates.\nAre you sure you want\nto delete this event\nand all its recurrences?","\nDieses ist ein\nwiederholender Termin!.\nSind Sie sicher, dass Sie\ndiesen Termin und alle\nWiederholungen löschen möchten?" }, 766{ "\nThis event recurs\nover multiple dates.\nAre you sure you want\nto delete this event\nand all its recurrences?","\nDieses ist ein\nwiederholender Termin!.\nSind Sie sicher, dass Sie\ndiesen Termin und alle\nWiederholungen löschen möchten?" },
767{ " ?\n\nDelete:\n"," ?\n\nLösche:\n" }, 767{ " ?\n\nDelete:\n"," ?\n\nLösche:\n" },
768{ "Current","Aktuelle" }, 768{ "Current","Aktuelle" },
769{ "\nThis event recurs\nover multiple dates.\nDo you want to delete\nall it's recurrences,\nor only the current one on:\n","\nDieses ist ein\nwiederholender Termin!\nMöchten sie alle Wiederholungen\nlöschen, oder nur die aktuelle am:\n" }, 769{ "\nThis event recurs\nover multiple dates.\nDo you want to delete\nall it's recurrences,\nor only the current one on:\n","\nDieses ist ein\nwiederholender Termin!\nMöchten sie alle Wiederholungen\nlöschen, oder nur die aktuelle am:\n" },
770{ "All","Alle" }, 770{ "All","Alle" },
771{ "Data Loss Warning","Datenverlust Warnung" }, 771{ "Data Loss Warning","Datenverlust Warnung" },
772{ "Proceed","Weitermachen" }, 772{ "Proceed","Weitermachen" },
773{ "The journal entries can not be\nexported to a vCalendar file.","Die Journal Einträge können\nnicht in eine vCalendar\nDatei exportiert werden!" }, 773{ "The journal entries can not be\nexported to a vCalendar file.","Die Journal Einträge können\nnicht in eine vCalendar\nDatei exportiert werden!" },
774{ "Filter disabled ","Filter abgeschaltet" }, 774{ "Filter disabled ","Filter abgeschaltet" },
775{ "Filter selected: ","Gewählter Filter: " }, 775{ "Filter selected: ","Gewählter Filter: " },
776{ "Toggle Cancel","Gecancelt ändern" }, 776{ "Toggle Cancel","Gecancelt ändern" },
777{ "&Toggle Cancel","Gecancel&t ändern" }, 777{ "&Toggle Cancel","Gecancel&t ändern" },
778{ "Configure Toolbar","Konfiguriere Toolbar" }, 778{ "Configure Toolbar","Konfiguriere Toolbar" },
779{ "Stretched TB","Gedehnte TB" }, 779{ "Stretched TB","Gedehnte TB" },
780{ "Import file \n...%1\ndoes not exist!\nNothing imported!\n","Import Datei \n...%1\nexistiert nicht!\nNichts importiert!\n" }, 780{ "Import file \n...%1\ndoes not exist!\nNothing imported!\n","Import Datei \n...%1\nexistiert nicht!\nNichts importiert!\n" },
781{ "Import filename(*.ics/*.vcs)","Import Dateiname(*.ics/*.vcs)" }, 781{ "Import filename(*.ics/*.vcs)","Import Dateiname(*.ics/*.vcs)" },
782{ "When importing a calendar twice\nduplicated events will be ignored!\nYou can create a backup file with\nFile - Save Calendar Backup\nto revert importing","Wenn ein Kalender doppelt importiert\nwird, werden doppelte Einträge ignoriert!\nSie können eine Backup Datei anlegen unter\nDatei - Speichere Kalender Backup\num den Import rückgängig machen zu können.\n" }, 782{ "When importing a calendar twice\nduplicated events will be ignored!\nYou can create a backup file with\nFile - Save Calendar Backup\nto revert importing","Wenn ein Kalender doppelt importiert\nwird, werden doppelte Einträge ignoriert!\nSie können eine Backup Datei anlegen unter\nDatei - Speichere Kalender Backup\num den Import rückgängig machen zu können.\n" },
783{ "Not supported \non desktop!\n","Nur verfügbar auf PDA!" }, 783{ "Not supported \non desktop!\n","Nur verfügbar auf PDA!" },
784{ "Imported file successfully","Datei erfolgreich importiert" }, 784{ "Imported file successfully","Datei erfolgreich importiert" },
785{ "Error importing file","Fehler beim Importieren der Datei" }, 785{ "Error importing file","Fehler beim Importieren der Datei" },
786{ "Export vcal filename(*.vcs)","Export vcal Dateiname(*.vcs)" }, 786{ "Export vcal filename(*.vcs)","Export vcal Dateiname(*.vcs)" },
787{ "Save file\nalready exists!\nOld save file from:\n%1\nOverwrite?\n","Zu speichernde Datei\existiert bereits!\nExist. Datei vom:\n%1\nÜberschreiben?\n" }, 787{ "Save file\nalready exists!\nOld save file from:\n%1\nOverwrite?\n","Zu speichernde Datei\existiert bereits!\nExist. Datei vom:\n%1\nÜberschreiben?\n" },
788{ "Overwrite!","Überschreiben!" }, 788{ "Overwrite!","Überschreiben!" },
789{ "Import file \n...%1\nfrom:\n%2\nDuplicated entries\nwill not be imported!\n","Import Datei \n...%1\nvom:\n%2\nDuplizierte Einträge\nwerden nicht importiert!\n" }, 789{ "Import file \n...%1\nfrom:\n%2\nDuplicated entries\nwill not be imported!\n","Import Datei \n...%1\nvom:\n%2\nDuplizierte Einträge\nwerden nicht importiert!\n" },
790{ "Load backup filename","Lade Backup Dateiname" }, 790{ "Load backup filename","Lade Backup Dateiname" },
791{ "Backup file\ndoes not exist!\nNothing loaded!","Backup Datei\nexistiert nicht!\nNichts geladen!" }, 791{ "Backup file\ndoes not exist!\nNothing loaded!","Backup Datei\nexistiert nicht!\nNichts geladen!" },
792{ "KO/Pi:Loaded %1","KO/Pi:Geladen %1" }, 792{ "KO/Pi:Loaded %1","KO/Pi:Geladen %1" },
793{ "Save backup filename","Speichere Backup Dateiname" }, 793{ "Save backup filename","Speichere Backup Dateiname" },
794{ "Backup file\nalready exists!\nOld backup file from:\n%1\nOverwrite?\n","Backup Datei\nexistiert bereits!\nAlte Backup Datei vom:\n%1\nÜberschreiben?\n" }, 794{ "Backup file\nalready exists!\nOld backup file from:\n%1\nOverwrite?\n","Backup Datei\nexistiert bereits!\nAlte Backup Datei vom:\n%1\nÜberschreiben?\n" },
795{ "KO/Pi:Saved %1","KO/Pi:Gespeichert %1" }, 795{ "KO/Pi:Saved %1","KO/Pi:Gespeichert %1" },
796{ "Details of attendee","Teilnehmerdetails" }, 796{ "Details of attendee","Teilnehmerdetails" },
797{ "Work phone:\n","Telefon Arbeit:\n" }, 797{ "Work phone:\n","Telefon Arbeit:\n" },
798{ "Work mobile phone:\n","Mobiltelefon Arbeit:\n" }, 798{ "Work mobile phone:\n","Mobiltelefon Arbeit:\n" },
799{ "Home phone:\n","Telefon privat:\n" }, 799{ "Home phone:\n","Telefon privat:\n" },
800{ "Mobile home phone:\n","Mobiltelefon privat:\n" }, 800{ "Mobile home phone:\n","Mobiltelefon privat:\n" },
801{ "Email:\n","Email:\n" }, 801{ "Email:\n","Email:\n" },
802{ "Alarm disabled","Alarm deaktiviert" }, 802{ "Alarm disabled","Alarm deaktiviert" },
803{ "Audio.Al.: ","Audio Al.: " }, 803{ "Audio.Al.: ","Audio Al.: " },
804{ "Proc.Al.: ","Proc.Al.: " }, 804{ "Proc.Al.: ","Proc.Al.: " },
805{ "No sound set","Kein Sound definiert" }, 805{ "No sound set","Kein Sound definiert" },
806{ "*.wav|Wav Files","*.wav|Wav Dateien" }, 806{ "*.wav|Wav Files","*.wav|Wav Dateien" },
807{ "No program set","Kein Programm definiert" }, 807{ "No program set","Kein Programm definiert" },
808{ "Running '%1'","Ausführen '%1'" }, 808{ "Running '%1'","Ausführen '%1'" },
809{ "Playing '%1'","Abspielen '%1'" }, 809{ "Playing '%1'","Abspielen '%1'" },
810{ "Show Sync Events in WN/Agenda view","Zeige Sync Events in WN/Agenda Ansicht" }, 810{ "Show Sync Events in WN/Agenda view","Zeige Sync Events in WN/Agenda Ansicht" },
811{ "User defined (usertranslation.txt)","File usertranslation.txt loaded" }, 811{ "User defined (usertranslation.txt)","File usertranslation.txt loaded" },
812{ "Load!","Laden!" }, 812{ "Load!","Laden!" },
813{ "Backup file from:\n%1\nLoading backup\nfile will delete\nyour current Data!\n","Backup Datei vom:\n%1\nDas Laden der Backup Datei\nlöscht die aktuellen Daten!\n" }, 813{ "Backup file from:\n%1\nLoading backup\nfile will delete\nyour current Data!\n","Backup Datei vom:\n%1\nDas Laden der Backup Datei\nlöscht die aktuellen Daten!\n" },
814{ "KO/Pi Features and hints","KO/Pi Eigenschaften und Tipps" }, 814{ "KO/Pi Features and hints","KO/Pi Eigenschaften und Tipps" },
815{ "KO/Pi User translation HowTo","KO/Pi Benutzer-Übersetzung HowTo" }, 815{ "KO/Pi User translation HowTo","KO/Pi Benutzer-Übersetzung HowTo" },
816{ "KO/Pi Synchronization HowTo","KO/Pi Synchronisation HowTo" }, 816{ "KO/Pi Synchronization HowTo","KO/Pi Synchronisation HowTo" },
817{ "Features + hints...","Eigenschaften + Tipps..." }, 817{ "Features + hints...","Eigenschaften + Tipps..." },
818{ "User translation...","Benutzer Übersetzung..." }, 818{ "User translation...","Benutzer Übersetzung..." },
819{ "Sync HowTo...","Synchronisation HowTo..." }, 819{ "Sync HowTo...","Synchronisation HowTo..." },
820{ "Print calendar...","Drucke Kalender..." }, 820{ "Print calendar...","Drucke Kalender..." },
821{ "Anniversary","Jahrestag" }, 821{ "Anniversary","Jahrestag" },
822{ "When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n","Wenn Geburtstage mehrfach importiert\nwerden, werden doppelte Einträge ignoriert\nwenn sie nicht verändert wurden.\n" }, 822{ "When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n","Wenn Geburtstage mehrfach importiert\nwerden, werden doppelte Einträge ignoriert\nwenn sie nicht verändert wurden.\n" },
823{ "Import Birthdays (KA/Pi)","Importiere Geburtstage (KA/Pi)" }, 823{ "Import Birthdays (KA/Pi)","Importiere Geburtstage (KA/Pi)" },
824{ "Next recurrence is on: ","Nächste Wiederholung ist am:" }, 824{ "Next recurrence is on: ","Nächste Wiederholung ist am:" },
825{ "<b>Alarm on: </b>","<b>Alarm am: </b>" }, 825{ "<b>Alarm on: </b>","<b>Alarm am: </b>" },
826{ "<b>Access: </b>","<b>Zugriff: </b>" }, 826{ "<b>Access: </b>","<b>Zugriff: </b>" },
827{ "(%1 min before)","(%1 min vorher)" }, 827{ "(%1 min before)","(%1 min vorher)" },
828{ "<b>Categories: </b>","<b>Kategorien: </b>" }, 828{ "<b>Categories: </b>","<b>Kategorien: </b>" },
829{ "Save Journal/Description...","Speichere Journal/Details..." }, 829{ "Save Journal/Description...","Speichere Journal/Details..." },
830{ "This saves the text/details of selected\nJournals and Events/Todos\nto a text file.","Das speichert den Text bzw.\ndie Details von selektierten\nJournalen und Events/Todos\nin eine Textdatei." }, 830{ "This saves the text/details of selected\nJournals and Events/Todos\nto a text file.","Das speichert den Text bzw.\ndie Details von selektierten\nJournalen und Events/Todos\nin eine Textdatei." },
831{ "Continue","Weitermachen" }, 831{ "Continue","Weitermachen" },
832{ " birthdays/anniversaries added!"," Geburts-/Jahrestage hinzugefügt" }, 832{ " birthdays/anniversaries added!"," Geburts-/Jahrestage hinzugefügt" },
833{ "Attendee:","Teilnehmer:" }, 833{ "Attendee:","Teilnehmer:" },
834{ "Click OK to search ->","Klicke zum Suchen auf OK ->" }, 834{ "Click OK to search ->","Klicke zum Suchen auf OK ->" },
835{ "On day ","Am Tag " }, 835{ "On day ","Am Tag " },
836{ "%1 of ","%1 des Monats" }, 836{ "%1 of ","%1 des Monats" },
837{ "%1 of the year","%1 des Jahres" }, 837{ "%1 of the year","%1 des Jahres" },
838{ "Anonymous","Anonym" }, 838{ "Anonymous","Anonym" },
839{ "nobody@nowhere","niemand@nirgendwo" }, 839{ "nobody@nowhere","niemand@nirgendwo" },
840{ "calendar.html","calendar.html" }, 840{ "calendar.html","calendar.html" },
841{ "Unknown Name","Unbekannter Name" }, 841{ "Unknown Name","Unbekannter Name" },
842{ "unknown@nowhere","unbekannt@nirgendwo" }, 842{ "unknown@nowhere","unbekannt@nirgendwo" },
843{ "Beam via IR!","Beam via IR!" }, 843{ "Beam via IR!","Beam via IR!" },
844{ "Next Month","Nächster Monat" }, 844{ "Next Month","Nächster Monat" },
845{ "Prio","Prio" }, 845{ "Prio","Prio" },
846{ "Reparent Todo","Mache Sub-Todo" }, 846{ "Reparent Todo","Mache Sub-Todo" },
847{ "tomorrow","morgen" }, 847{ "tomorrow","morgen" },
848{ "today","heute" }, 848{ "today","heute" },
849{ "yesterday","gestern" }, 849{ "yesterday","gestern" },
850{ "Ok","Ok" }, 850{ "Ok","Ok" },
851{ "Ok+Agenda","Ok+Agenda" }, 851{ "Ok+Agenda","Ok+Agenda" },
852{ "Email","Email" }, 852{ "Email","Email" },
853{ "RSVP","RSVP" }, 853{ "RSVP","RSVP" },
854{ "Email:","Email:" }, 854{ "Email:","Email:" },
855{ "Appointment Time ","Termin Zeit " }, 855{ "Appointment Time ","Termin Zeit " },
856{ "2","2" }, 856{ "2","2" },
857{ "3","3" }, 857{ "3","3" },
858{ "4","4" }, 858{ "4","4" },
859{ " 0 %"," 0 %" }, 859{ " 0 %"," 0 %" },
860{ " 20 %"," 20 %" }, 860{ " 20 %"," 20 %" },
861{ " 40 %"," 40 %" }, 861{ " 40 %"," 40 %" },
862{ " 60 %"," 60 %" }, 862{ " 60 %"," 60 %" },
863{ " 80 %"," 80 %" }, 863{ " 80 %"," 80 %" },
864{ "100 %","100 %" }, 864{ "100 %","100 %" },
865{ "Filter","Filter" }, 865{ "Filter","Filter" },
866{ "Configure","Konfiguriere" }, 866{ "Configure","Konfiguriere" },
867{ "What's Next","What's Next" }, 867{ "What's Next","What's Next" },
868{ "Complete calendar...","Kompletten Kalender..." }, 868{ "Complete calendar...","Kompletten Kalender..." },
869{ "Filtered calendar...","Gefilterten Kalender..." }, 869{ "Filtered calendar...","Gefilterten Kalender..." },
870{ "Export to phone","Exportiere zum Handy" }, 870{ "Export to phone","Exportiere zum Handy" },
871{ "Beam receive enabled","Beam Empfang an" }, 871{ "Beam receive enabled","Beam Empfang an" },
872{ "What's new?","Was ist neu?" }, 872{ "What's new?","Was ist neu?" },
873{ "FAQ...","FAQ..." }, 873{ "FAQ...","FAQ..." },
874{ "Licence...","Licence..." }, 874{ "Licence...","Licence..." },
875{ "What's This?","What's This?" }, 875{ "What's This?","What's This?" },
876{ "&Edit...","&Editiere..." }, 876{ "&Edit...","&Editiere..." },
877{ "Oktober","Oktober" }, 877{ "Oktober","Oktober" },
878{ "Title","Titel" }, 878{ "Title","Titel" },
879{ "%1 %","%1 %" }, 879{ "%1 %","%1 %" },
880{ "Enable Pi-Sync","Schalte Pi-Sync an" }, 880{ "Enable Pi-Sync","Schalte Pi-Sync an" },
881{ "Import!","Importiere!" }, 881{ "Import!","Importiere!" },
882{ "inserting birthdays - close to abort!","Burzeltage werden eingefügt - schließe um abzubrechen!" }, 882{ "inserting birthdays - close to abort!","Burzeltage werden eingefügt - schließe um abzubrechen!" },
883{ "Export to phone options","Export ans Handy Optionen" }, 883{ "Export to phone options","Export ans Handy Optionen" },
884{ "Please read Help-Sync Howto\nto know what settings to use.","Bitte lese Hilfe-Sync Howto\num zu erfahren welche Einstellungen\ndie richtigen sind." }, 884{ "Please read Help-Sync Howto\nto know what settings to use.","Bitte lese Hilfe-Sync Howto\num zu erfahren welche Einstellungen\ndie richtigen sind." },
885{ "I/O device: ","I/O device: " }, 885{ "I/O device: ","I/O device: " },
886{ "Connection: ","Connection: " }, 886{ "Connection: ","Connection: " },
887{ "Model(opt.): ","Model(opt.): " }, 887{ "Model(opt.): ","Model(opt.): " },
888{ "Write back events in future only","Schreibe nur zukünftige Termine zurück" }, 888{ "Write back events in future only","Schreibe nur zukünftige Termine zurück" },
889{ "Max. weeks in future: ","Max. Wochen in der Zukunft: " }, 889{ "Max. weeks in future: ","Max. Wochen in der Zukunft: " },
890{ "NOTE: This will remove all old\ntodo/calendar data on phone!","ACHTUNG: Das löscht alle alten\nToDo/Kalender Daten auf dem Handy!" }, 890{ "NOTE: This will remove all old\ntodo/calendar data on phone!","ACHTUNG: Das löscht alle alten\nToDo/Kalender Daten auf dem Handy!" },
891{ "Export to mobile phone!","Exportiere auf das Handy!" }, 891{ "Export to mobile phone!","Exportiere auf das Handy!" },
892{ "Export complete calendar","Exportiere kompletten Kalender" }, 892{ "Export complete calendar","Exportiere kompletten Kalender" },
893{ "Writing to phone...","Sende Daten ans Handy..." }, 893{ "Writing to phone...","Sende Daten ans Handy..." },
894{ " This may take 1-3 minutes!"," Das kann 1-3 Minuten dauern!" }, 894{ " This may take 1-3 minutes!"," Das kann 1-3 Minuten dauern!" },
895{ "Retry","Nochmal versuchen" }, 895{ "Retry","Nochmal versuchen" },
896{ "KDE/Pim phone access","KDE/Pim Handy Zugriff" }, 896{ "KDE/Pim phone access","KDE/Pim Handy Zugriff" },
897{ "Error accessing device!\nPlease turn on connection\nand retry!","Fehler beim Zugriff auf das Gerät!\nBitte die Verbindung aktivieren\nund nochmal versuchen!" }, 897{ "Error accessing device!\nPlease turn on connection\nand retry!","Fehler beim Zugriff auf das Gerät!\nBitte die Verbindung aktivieren\nund nochmal versuchen!" },
898{ "Error exporting to phone!","Fehler beim Export auf das Handy!" }, 898{ "Error exporting to phone!","Fehler beim Export auf das Handy!" },
899{ "Export filtered calendar","Exportiere gefilterten Kalender" }, 899{ "Export filtered calendar","Exportiere gefilterten Kalender" },
900{ "Preferences","Vorlieben" }, 900{ "Preferences","Vorlieben" },
901{ "Global","Global" }, 901{ "Global","Global" },
902{ "Phone","Phone" }, 902{ "Phone","Phone" },
903{ "SMS","SMS" }, 903{ "SMS","SMS" },
904{ "Fax","Fax" }, 904{ "Fax","Fax" },
905{ "Pager","Pager" }, 905{ "Pager","Pager" },
906{ "SIP","SIP" }, 906{ "SIP","SIP" },
907{ "Italian","Italienisch" }, 907{ "Italian","Italienisch" },
908{ "24:00","24:00" }, 908{ "24:00","24:00" },
909{ "12:00am","12:00am" }, 909{ "12:00am","12:00am" },
910{ "24.03.2004 (%d.%m.%Y|%A %d %B %Y)","24.03.2004 (%d.%m.%Y|%A %d %B %Y)" }, 910{ "24.03.2004 (%d.%m.%Y|%A %d %B %Y)","24.03.2004 (%d.%m.%Y|%A %d %B %Y)" },
911{ "03.24.2004 (%m.%d.%Y|%A %B %d %Y)","03.24.2004 (%m.%d.%Y|%A %B %d %Y)" }, 911{ "03.24.2004 (%m.%d.%Y|%A %B %d %Y)","03.24.2004 (%m.%d.%Y|%A %B %d %Y)" },
912{ "2004-03-24 (%Y-%m-%d|%A %Y %B %d)","2004-03-24 (%Y-%m-%d|%A %Y %B %d)" }, 912{ "2004-03-24 (%Y-%m-%d|%A %Y %B %d)","2004-03-24 (%Y-%m-%d|%A %Y %B %d)" },
913{ "Mon 19.04.04: %a %d.%m.%y","Mon 19.04.04: %a %d.%m.%y" }, 913{ "Mon 19.04.04: %a %d.%m.%y","Mon 19.04.04: %a %d.%m.%y" },
914{ "Mon, 19.Apr.04: %a, %d.%b.%y","Mon, 19.Apr.04: %a, %d.%b.%y" }, 914{ "Mon, 19.Apr.04: %a, %d.%b.%y","Mon, 19.Apr.04: %a, %d.%b.%y" },
915{ "Add 30 min (+00:30) to selected Timezone","Addiere 30 min zur selektierten Zeitzone" }, 915{ "Add 30 min (+00:30) to selected Timezone","Addiere 30 min zur selektierten Zeitzone" },
916{ "Used Mail Client","Benutzter Mail Client" }, 916{ "Used Mail Client","Benutzter Mail Client" },
917{ "Channel:","Channel:" }, 917{ "Channel:","Channel:" },
918{ "Message:","Message:" }, 918{ "Message:","Message:" },
919{ "Parameters:","Parameter:" }, 919{ "Parameters:","Parameter:" },
920{ "HINT: Delimiter=; Name=%1,Email=%2","Hinweis: Begrenzer=; Name=%1,Email=%2" }, 920{ "HINT: Delimiter=; Name=%1,Email=%2","Hinweis: Begrenzer=; Name=%1,Email=%2" },
921{ "extra Message:","extra Message:" }, 921{ "extra Message:","extra Message:" },
922{ "extra Parameters:","extra Parameter:" }, 922{ "extra Parameters:","extra Parameter:" },
923{ "HINT: Emails=%1,Attachments=%2","Hinweis: Emails=%1,Attachments=%2" }, 923{ "HINT: Emails=%1,Attachments=%2","Hinweis: Emails=%1,Attachments=%2" },
924{ "External Apps.","Externe Appl." }, 924{ "External Apps.","Externe Appl." },
925{ "24 hours","24 Std." }, 925{ "24 hours","24 Std." },
926{ "3 hours","3 Std." }, 926{ "3 hours","3 Std." },
927{ "1 hour","1 Std." }, 927{ "1 hour","1 Std." },
928{ "15 minutes","15 Min." }, 928{ "15 minutes","15 Min." },
929{ "5 minutes","5 Min." }, 929{ "5 minutes","5 Min." },
930{ "1 minute","1 Min." }, 930{ "1 minute","1 Min." },
931{ "23","23" }, 931{ "23","23" },
932{ "Mon 15","Mon 15" }, 932{ "Mon 15","Mon 15" },
933{ "Configure KO","Konfiguriere KO" }, 933{ "Configure KO","Konfiguriere KO" },
934{ "Event text","Termin Text" }, 934{ "Event text","Termin Text" },
935{ "ToDo","ToDo" }, 935{ "ToDo","ToDo" },
936{ "Today","Heute" }, 936{ "Today","Heute" },
937{ "What's Next View","What's Next Ansicht" }, 937{ "What's Next View","What's Next Ansicht" },
938{ "Show Sync Events in \nWhat's Next/Agenda view","Zeige Sync Termine in \nWhat's Next/Agenda view" }, 938{ "Show Sync Events in \nWhat's Next/Agenda view","Zeige Sync Termine in \nWhat's Next/Agenda view" },
939{ "Use short date in \nWhat's Next/Event view","Zeige Kurzdatum in \nWhat's Next/Event view" }, 939{ "Use short date in \nWhat's Next/Event view","Zeige Kurzdatum in \nWhat's Next/Event view" },
940{ "Allday Agenda view shows todos","Ganztag Agenda zeigt Todos" }, 940{ "Allday Agenda view shows todos","Ganztag Agenda zeigt Todos" },
941{ "Alarm","Alarm" }, 941{ "Alarm","Alarm" },
942{ "Used %1 Client","Benutzter %1 Client" }, 942{ "Used %1 Client","Benutzter %1 Client" },
943{ "No email client installed","Kein Email Klient installiert" }, 943{ "No email client installed","Kein Email Klient installiert" },
944{ "Userdefined email client","Benutzerdef. Email Klient" }, 944{ "Userdefined email client","Benutzerdef. Email Klient" },
945{ "OM/Pi email client","OM/Pi Email Klient" }, 945{ "OM/Pi email client","OM/Pi Email Klient" },
946{ "Include in multiple ","Beziehe in multiple " }, 946{ "Include in multiple ","Beziehe in multiple " },
947{ "calendar ","Kalender " }, 947{ "calendar ","Kalender " },
948{ "addressbook ","Adressbuch " }, 948{ "addressbook ","Adressbuch " },
949{ "pwmanager","PWmanager" }, 949{ "pwmanager","PWmanager" },
950{ " sync"," Sync ein" }, 950{ " sync"," Sync ein" },
951{ "Write back synced data","Schreibe gesyncte Daten zurück" }, 951{ "Write back synced data","Schreibe gesyncte Daten zurück" },
952{ "-- Write back (on remote) existing entries only","-- Schreibe nur existierende (entfernte) Einträge zurück" }, 952{ "-- Write back (on remote) existing entries only","-- Schreibe nur existierende (entfernte) Einträge zurück" },
953{ "-- Write back (calendar) entries in future only","-- Schreibe nur zukünftige Kalender-Einträge zurück" }, 953{ "-- Write back (calendar) entries in future only","-- Schreibe nur zukünftige Kalender-Einträge zurück" },
954{ "---- Max. weeks in future: ","---- Max. wochen in der Zukunft: " }, 954{ "---- Max. weeks in future: ","---- Max. wochen in der Zukunft: " },
955{ "Pi-Sync ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync ( direktes Kx/Pi zu Kx/Pi sync )" }, 955{ "Pi-Sync ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync ( direktes Kx/Pi zu Kx/Pi sync )" },
956{ "Mobile device (cell phone)","Mobiles Gerät (Handy)" }, 956{ "Mobile device (cell phone)","Mobiles Gerät (Handy)" },
957{ "Help...","Hilfe..." }, 957{ "Help...","Hilfe..." },
958{ "Local file Cal:","Lokale Datei Kal:" }, 958{ "Local file Cal:","Lokale Datei Kal:" },
959{ "Local file ABook:","Lokale Datei ABuch:" }, 959{ "Local file ABook:","Lokale Datei ABuch:" },
960{ "Local file PWMgr:","Lokale Datei PWMgr:" }, 960{ "Local file PWMgr:","Lokale Datei PWMgr:" },
961{ "Addressbook file (*.vcf) is used by KA/Pi","Adressbuch Datei (*.vcf) wird von KA/Pi genutzt" }, 961{ "Addressbook file (*.vcf) is used by KA/Pi","Adressbuch Datei (*.vcf) wird von KA/Pi genutzt" },
962{ "Calendar:","Kalender:" }, 962{ "Calendar:","Kalender:" },
963{ "AddressBook:","AdressBuch:" }, 963{ "AddressBook:","AdressBuch:" },
964{ "PWManager:","PWManager:" }, 964{ "PWManager:","PWManager:" },
965{ "Addressbook file is used by KA/Pi","Adressbuch Datei wird von KA/Pi genutzt" }, 965{ "Addressbook file is used by KA/Pi","Adressbuch Datei wird von KA/Pi genutzt" },
966{ "ssh/scp","ssh/scp" }, 966{ "ssh/scp","ssh/scp" },
967{ "ftp","ftp" }, 967{ "ftp","ftp" },
968{ "Password for remote access: (could be the same for each)","Passwort für entfernten Zugriff: (kann dasselbe sein für alle)" }, 968{ "Password for remote access: (could be the same for each)","Passwort für entfernten Zugriff: (kann dasselbe sein für alle)" },
969{ "Remote IP address: (could be the same for each)","Entfernte IP Adresse: (kann dasselbe sein für alle)" }, 969{ "Remote IP address: (could be the same for each)","Entfernte IP Adresse: (kann dasselbe sein für alle)" },
970{ "Remote port number: (should be different for each)","Entfernte Port Nummer: (Sollte für alle unterschiedlich sein)" }, 970{ "Remote port number: (should be different for each)","Entfernte Port Nummer: (Sollte für alle unterschiedlich sein)" },
971{ "command for downloading remote file to local device","Kommando zum Download der entfernten Datei zum lokalen Gerät" }, 971{ "command for downloading remote file to local device","Kommando zum Download der entfernten Datei zum lokalen Gerät" },
972{ "command for uploading local temp file to remote device","Kommando zum Upload der lokalen temp. Datei zum entfernten Gerät" }, 972{ "command for uploading local temp file to remote device","Kommando zum Upload der lokalen temp. Datei zum entfernten Gerät" },
973{ "Insert device where\nphone is connected. E.g.:\n","Füge Device ein, an dem\ndas Handy angeschlossen ist. Z.B.:\n" }, 973{ "Insert device where\nphone is connected. E.g.:\n","Füge Device ein, an dem\ndas Handy angeschlossen ist. Z.B.:\n" },
974{ "KDE-Pim sync config","KDE-Pim sync Konfig" }, 974{ "KDE-Pim sync config","KDE-Pim sync Konfig" },
975{ "Insert kind of connection,e.g.:\n","Füge Art der Verbindung ein,z.B.:\n" }, 975{ "Insert kind of connection,e.g.:\n","Füge Art der Verbindung ein,z.B.:\n" },
976{ "Recommended: Leave empty!\n(Such that model can\nbe auto detected)\nOr insert name of model:\n","Empfohlen: Leer lassen!\n(So dass das Model\nautomatisch erkannt\nwerden kann)\nOder füge Model Name ein:\n" }, 976{ "Recommended: Leave empty!\n(Such that model can\nbe auto detected)\nOr insert name of model:\n","Empfohlen: Leer lassen!\n(So dass das Model\nautomatisch erkannt\nwerden kann)\nOder füge Model Name ein:\n" },
977{ "Port number (Default: %1)","Port Nummer (Default: %1)" }, 977{ "Port number (Default: %1)","Port Nummer (Default: %1)" },
978{ "Password to enable\naccess from remote:","Passwort um entfernten\nZugriff zuzulassen:" }, 978{ "Password to enable\naccess from remote:","Passwort um entfernten\nZugriff zuzulassen:" },
979{ "Automatically start\nat application startup","Starte automatisch\nbeim Programmstart" }, 979{ "Automatically start\nat application startup","Starte automatisch\nbeim Programmstart" },
980{ "Automatically sync\nwith KDE-Desktop","Automatischer Sync\nmit dem KDE-Desktop" }, 980{ "Automatically sync\nwith KDE-Desktop","Automatischer Sync\nmit dem KDE-Desktop" },
981{ "Enter port for Pi-Sync","Gib Port für Pi-Sync ein" }, 981{ "Enter port for Pi-Sync","Gib Port für Pi-Sync ein" },
982{ "Disable Pi-Sync","Schalte Pi-Sync ab" }, 982{ "Disable Pi-Sync","Schalte Pi-Sync ab" },
983{ "Do you really want\nto multiple sync\nwith all checked profiles?\nSyncing takes some\ntime - all profiles\nare synced twice!","Wollen Sie wirklich\nmit allen selektierten\nProfilen \"Multi-Syncen\"?\nDas Syncen dauert einige Zeit -\nalle Profile werden zweimal gesynct!" }, 983{ "Do you really want\nto multiple sync\nwith all checked profiles?\nSyncing takes some\ntime - all profiles\nare synced twice!","Wollen Sie wirklich\nmit allen selektierten\nProfilen \"Multi-Syncen\"?\nDas Syncen dauert einige Zeit -\nalle Profile werden zweimal gesynct!" },
984{ "KDE-Pim Sync","KDE-Pim Sync" }, 984{ "KDE-Pim Sync","KDE-Pim Sync" },
985{ "Multiple profiles","Multi-Sync Profile" }, 985{ "Multiple profiles","Multi-Sync Profile" },
986{ "Device: ","Gerät: " }, 986{ "Device: ","Gerät: " },
987{ "Multiple sync started.","Multi-Sync gestartet." }, 987{ "Multiple sync started.","Multi-Sync gestartet." },
988{ "Nothing synced! No profiles defined for multisync!","Nichts gesynct! Keine Profile\nselektiert für Multi-Sync" }, 988{ "Nothing synced! No profiles defined for multisync!","Nichts gesynct! Keine Profile\nselektiert für Multi-Sync" },
989{ "Turn filter on","Schalte Filter an" }, 989{ "Turn filter on","Schalte Filter an" },
990{ "Turn filter off","Schalte Filter ab" }, 990{ "Turn filter off","Schalte Filter ab" },
991{ "Key bindings KOrganizer/Pi","Tastatur Belegung KOrganizer/Pi" }, 991{ "Key bindings KOrganizer/Pi","Tastatur Belegung KOrganizer/Pi" },
992{ "<p><b>White</b>: Item readonly</p>\n","<p><b>Weiss</b>: Eintrag schreibgeschützt</p>\n" }, 992{ "<p><b>White</b>: Item readonly</p>\n","<p><b>Weiss</b>: Eintrag schreibgeschützt</p>\n" },
993{ "<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n","<p><b>Dunkelgelb</b>: Termin/Todo mit Teilnehmern.</p>\n" }, 993{ "<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n","<p><b>Dunkelgelb</b>: Termin/Todo mit Teilnehmern.</p>\n" },
994{ "<p><b>Black</b>: Event/todo with attendees. You are the organizer!</p>\n","<p><b>Schwarz</b>: Termin/Todo mit Teilnehmern. Sie sind der Organisator!</p>\n" }, 994{ "<p><b>Black</b>: Event/todo with attendees. You are the organizer!</p>\n","<p><b>Schwarz</b>: Termin/Todo mit Teilnehmern. Sie sind der Organisator!</p>\n" },
995{ "<p><b>Dark green</b>: Information(description) available.([i] in WN view)</p>\n","<p><b>Dunkelgrün</b>: Information(Beschreibung) verfügbar.([i] in WN Anzeige)</p>\n" }, 995{ "<p><b>Dark green</b>: Information(description) available.([i] in WN view)</p>\n","<p><b>Dunkelgrün</b>: Information(Beschreibung) verfügbar.([i] in WN Anzeige)</p>\n" },
996{ "<p><b>Blue</b>: Recurrent event.([r] in Whats'Next view)</p>\n","<p><b>Blau</b>: Wiederholender Termin.([r] in Whats'Next Anzeige)</p>\n" }, 996{ "<p><b>Blue</b>: Recurrent event.([r] in Whats'Next view)</p>\n","<p><b>Blau</b>: Wiederholender Termin.([r] in Whats'Next Anzeige)</p>\n" },
997{ "<p><b>Red</b>: Alarm set.([a] in Whats'Next view)</p>\n","<p><b>Rot</b>: Alarm gesetzt.([a] in Whats'Next Anzeige)</p>\n" }, 997{ "<p><b>Red</b>: Alarm set.([a] in Whats'Next view)</p>\n","<p><b>Rot</b>: Alarm gesetzt.([a] in Whats'Next Anzeige)</p>\n" },
998{ "<p><b>Cross</b>: Item cancelled.([c] in Whats'Next view)</p>\n","<p><b>Kreuz</b>: Eintrag gecancelt.([c] in Whats'Next Anzeige)</p>\n" }, 998{ "<p><b>Cross</b>: Item cancelled.([c] in Whats'Next view)</p>\n","<p><b>Kreuz</b>: Eintrag gecancelt.([c] in Whats'Next Anzeige)</p>\n" },
999{ "<p><b>(for square icons in agenda and month view)</b></p>\n","<p><b>(für quadratische Icons in Agenda und Monats Anzeige)</b></p>\n" }, 999{ "<p><b>(for square icons in agenda and month view)</b></p>\n","<p><b>(für quadratische Icons in Agenda und Monats Anzeige)</b></p>\n" },
1000{ "<p><h2>KO/Pi icon colors:</h2></p>\n","<p><h2>KO/Pi Icon Farben:</h2></p>\n" }, 1000{ "<p><h2>KO/Pi icon colors:</h2></p>\n","<p><h2>KO/Pi Icon Farben:</h2></p>\n" },
1001{ "<p><b>E</b>: Edit item</p>\n","<p><b>E</b>: Editiere Eintrag</p>\n" }, 1001{ "<p><b>E</b>: Edit item</p>\n","<p><b>E</b>: Editiere Eintrag</p>\n" },
1002{ "<p><b>A</b>: Show agenda view.</p>\n","<p><b>A</b>: Zeige Agenda Anzeige.</p>\n" }, 1002{ "<p><b>A</b>: Show agenda view.</p>\n","<p><b>A</b>: Zeige Agenda Anzeige.</p>\n" },
1003{ "<p><b>I,C</b>: Close dialog.</p>\n","<p><b>I,C</b>: Schließe Dialog.</p>\n" }, 1003{ "<p><b>I,C</b>: Close dialog.</p>\n","<p><b>I,C</b>: Schließe Dialog.</p>\n" },
1004{ "<p><h3>In event/todo viewer:</h3></p>\n","<p><h3>In Termin/Todo Detail-Anzeige:</h3></p>\n" }, 1004{ "<p><h3>In event/todo viewer:</h3></p>\n","<p><h3>In Termin/Todo Detail-Anzeige:</h3></p>\n" },
1005{ "<p><b>shift+up/down</b>: Goto first/last item</p>\n","<p><b>shift+up/down</b>: Gehe zum ersten/letzten Eintrag</p>\n" }, 1005{ "<p><b>shift+up/down</b>: Goto first/last item</p>\n","<p><b>shift+up/down</b>: Gehe zum ersten/letzten Eintrag</p>\n" },
1006{ "<p><b>ctrl+up/down</b>: Goto up/down by 20% of items</p>\n","<p><b>ctrl+up/down</b>: Gehe hoch/runter 20% aller Einträge</p>\n" }, 1006{ "<p><b>ctrl+up/down</b>: Goto up/down by 20% of items</p>\n","<p><b>ctrl+up/down</b>: Gehe hoch/runter 20% aller Einträge</p>\n" },
1007{ "<p><b>up/down</b>: Next/prev item</p>\n","<p><b>up/down</b>: Nächster/vorheriger Eintrag</p>\n" }, 1007{ "<p><b>up/down</b>: Next/prev item</p>\n","<p><b>up/down</b>: Nächster/vorheriger Eintrag</p>\n" },
1008{ "<p><b>return+shift</b>: Deselect item+one step down</p>\n","<p><b>return+shift</b>: Deselektiere Item+Cursor einen Eintrag runter</p>\n" }, 1008{ "<p><b>return+shift</b>: Deselect item+one step down</p>\n","<p><b>return+shift</b>: Deselektiere Item+Cursor einen Eintrag runter</p>\n" },
1009{ "<p><b>return</b>: Select item+one step down</p>\n","<p><b>return</b>: Selektiere Item+Cursor einen Eintrag runter</p>\n" }, 1009{ "<p><b>return</b>: Select item+one step down</p>\n","<p><b>return</b>: Selektiere Item+Cursor einen Eintrag runter</p>\n" },
1010{ "<p><b>I</b>: Show info of current item+one step down.</p>\n","<p><b>I</b>: Zeige Detail-Ansicht vom sel.Eintrag+Cursor einen Eintrag runter.</p>\n" }, 1010{ "<p><b>I</b>: Show info of current item+one step down.</p>\n","<p><b>I</b>: Zeige Detail-Ansicht vom sel.Eintrag+Cursor einen Eintrag runter.</p>\n" },
1011{ "<p><h3>In list view:</h3></p>\n","<p><h3>In Listen Anzeige:</h3></p>\n" }, 1011{ "<p><h3>In list view:</h3></p>\n","<p><h3>In Listen Anzeige:</h3></p>\n" },
1012{ "<p><b>return+shift</b>: Mark item as not completed+one step down</p>\n","<p><b>return+shift</b>: Markiere Todo als nicht erledigt+Cursor einen Eintrag runter</p>\n" }, 1012{ "<p><b>return+shift</b>: Mark item as not completed+one step down</p>\n","<p><b>return+shift</b>: Markiere Todo als nicht erledigt+Cursor einen Eintrag runter</p>\n" },
1013{ "<p><b>return</b>: Mark item as completed+one step down.</p>\n","<p><b>return</b>: Markiere Todo als erledigt+Cursor einen Eintrag runter.</p>\n" }, 1013{ "<p><b>return</b>: Mark item as completed+one step down.</p>\n","<p><b>return</b>: Markiere Todo als erledigt+Cursor einen Eintrag runter.</p>\n" },
1014{ "<p><b>Q</b>: Toggle quick todo line edit.</p>\n","<p><b>Q</b>: Zeige/verstecke Quick Todo Eingabe Zeile.</p>\n" }, 1014{ "<p><b>Q</b>: Toggle quick todo line edit.</p>\n","<p><b>Q</b>: Zeige/verstecke Quick Todo Eingabe Zeile.</p>\n" },
1015{ "<p><b>shift+P</b>: Make new <b>P</b>arent for todo selected with shift+S</p>\n","<p><b>shift+P</b>: Mache Todo zum neuen <b>P</b>arent Todo für das Todo, welches mit shift+Sselektiert wurde.</p>\n" }, 1015{ "<p><b>shift+P</b>: Make new <b>P</b>arent for todo selected with shift+S</p>\n","<p><b>shift+P</b>: Mache Todo zum neuen <b>P</b>arent Todo für das Todo, welches mit shift+Sselektiert wurde.</p>\n" },
1016{ "<p><b>shift+S</b>: Make <b>S</b>ubtodo (reparent todo)</p>\n","<p><b>shift+S</b>: Mache Todo zum <b>S</b>ubtodo</p>\n" }, 1016{ "<p><b>shift+S</b>: Make <b>S</b>ubtodo (reparent todo)</p>\n","<p><b>shift+S</b>: Mache Todo zum <b>S</b>ubtodo</p>\n" },
1017{ "<p><b>shift+U</b>: <b>U</b>nparent todo (make root todo)</p>\n","<p><b>shift+U</b>: <b>U</b>nparent Todo (Mache Sub-Todo zum Toplevel Todo)</p>\n" }, 1017{ "<p><b>shift+U</b>: <b>U</b>nparent todo (make root todo)</p>\n","<p><b>shift+U</b>: <b>U</b>nparent Todo (Mache Sub-Todo zum Toplevel Todo)</p>\n" },
1018{ "<p><h3>In todo view:</h3></p>\n","<p><h3>In Todo Anzige:</h3></p>\n" }, 1018{ "<p><h3>In todo view:</h3></p>\n","<p><h3>In Todo Anzige:</h3></p>\n" },
1019{ "<p><b>ctrl+up/down</b>: Scroll small todo view</p>\n","<p><b>ctrl+up/down</b>: Scrolle kleine Todo Anzeige</p>\n" }, 1019{ "<p><b>ctrl+up/down</b>: Scroll small todo view</p>\n","<p><b>ctrl+up/down</b>: Scrolle kleine Todo Anzeige</p>\n" },
1020{ "<p><b>up/down</b>: Scroll agenda view</p>\n","<p><b>up/down</b>: Scrolle Agenda Anzeige</p>\n" }, 1020{ "<p><b>up/down</b>: Scroll agenda view</p>\n","<p><b>up/down</b>: Scrolle Agenda Anzeige</p>\n" },
1021{ "<p><h3>In agenda view:</h3></p>\n","<p><h3>In Agenda Anzeige:</h3></p>\n" }, 1021{ "<p><h3>In agenda view:</h3></p>\n","<p><h3>In Agenda Anzeige:</h3></p>\n" },
1022{ "<p><b>del,backspace</b>: Delete selected item</p>\n","<p><b>del,backspace</b>: Lösche selektiertes Item</p>\n" }, 1022{ "<p><b>del,backspace</b>: Delete selected item</p>\n","<p><b>del,backspace</b>: Lösche selektiertes Item</p>\n" },
1023{ "<p><b>left</b>: Prev. week | <b>left+ctrl</b>: Prev. month</p>\n","<p><b>left</b>: Vorh. Woche | <b>left+ctrl</b>: Vorh. Monat</p>\n" }, 1023{ "<p><b>left</b>: Prev. week | <b>left+ctrl</b>: Prev. month</p>\n","<p><b>left</b>: Vorh. Woche | <b>left+ctrl</b>: Vorh. Monat</p>\n" },
1024{ "<p><b>right</b>: Next week | <b>right+ctrl</b>: Next month</p>\n","<p><b>right</b>: Nächste Woche | <b>right+ctrl</b>: Nächste Woche</p>\n" }, 1024{ "<p><b>right</b>: Next week | <b>right+ctrl</b>: Next month</p>\n","<p><b>right</b>: Nächste Woche | <b>right+ctrl</b>: Nächste Woche</p>\n" },
1025{ "<p><b>B</b>: Edit description (details) of selected item</p>\n","<p><b>B</b>: Editiere Beschreibung (Details) des selektierten Items</p>\n" }, 1025{ "<p><b>B</b>: Edit description (details) of selected item</p>\n","<p><b>B</b>: Editiere Beschreibung (Details) des selektierten Items</p>\n" },
1026{ "<p><b>C</b>: Show current time in agenda view</p>\n","<p><b>C</b>: Zeige aktuelle Zeit in Agenda Anzeige</p>\n" }, 1026{ "<p><b>C</b>: Show current time in agenda view</p>\n","<p><b>C</b>: Zeige aktuelle Zeit in Agenda Anzeige</p>\n" },
1027{ "<p><b>+,-</b> : Zoom in/out agenda | <b>A</b>: Toggle allday agenda height</p>\n","<p><b>+,-</b> : Zoom rein/raus Agenda | <b>A</b>: Wechsle Ganztag Agenda Höhe</p>\n" }, 1027{ "<p><b>+,-</b> : Zoom in/out agenda | <b>A</b>: Toggle allday agenda height</p>\n","<p><b>+,-</b> : Zoom rein/raus Agenda | <b>A</b>: Wechsle Ganztag Agenda Höhe</p>\n" },
1028{ "<p><b>S+ctrl</b>: Add sub-todo | <b>X</b>: Toggle datenavigator</p>\n","<p><b>S+ctrl</b>: Füge Sub-Todo hinzu | <b>X</b>: Zeige/verstecke Datenavigator</p>\n" }, 1028{ "<p><b>S+ctrl</b>: Add sub-todo | <b>X</b>: Toggle datenavigator</p>\n","<p><b>S+ctrl</b>: Füge Sub-Todo hinzu | <b>X</b>: Zeige/verstecke Datenavigator</p>\n" },
1029{ "<p><b>T</b>: Goto today | <b>T+ctrl</b>: New Todo</p>\n","<p><b>T</b>: Gehe zu Heute | <b>T+ctrl</b>: Neues Todo</p>\n" }, 1029{ "<p><b>T</b>: Goto today | <b>T+ctrl</b>: New Todo</p>\n","<p><b>T</b>: Gehe zu Heute | <b>T+ctrl</b>: Neues Todo</p>\n" },
1030{ "<p><b>E</b>: Edit selected item |<b> E+ctrl</b>: New Event</p>\n","<p><b>E</b>: Editiere selektiertes Item |<b> E+ctrl</b>: Neuer Termin</p>\n" }, 1030{ "<p><b>E</b>: Edit selected item |<b> E+ctrl</b>: New Event</p>\n","<p><b>E</b>: Editiere selektiertes Item |<b> E+ctrl</b>: Neuer Termin</p>\n" },
1031{ "<p><b>D</b>: One day view | <b>M</b>: Month view</p>\n","<p><b>D</b>: Ein-Tages Ansicht | <b>M</b>: Monats Ansicht</p>\n" }, 1031{ "<p><b>D</b>: One day view | <b>M</b>: Month view</p>\n","<p><b>D</b>: Ein-Tages Ansicht | <b>M</b>: Monats Ansicht</p>\n" },
1032{ "<p><b>Z,Y</b>: Work week view | <b>U</b>: Week view</p>\n","<p><b>Z,Y</b>: Arbeitswochen Ansicht | <b>U</b>: Wochen Ansicht</p>\n" }, 1032{ "<p><b>Z,Y</b>: Work week view | <b>U</b>: Week view</p>\n","<p><b>Z,Y</b>: Arbeitswochen Ansicht | <b>U</b>: Wochen Ansicht</p>\n" },
1033{ "<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n","<p><b>V</b>: Todo Ansicht | <b>L</b>: Termin Listen Ansicht</p>\n" }, 1033{ "<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n","<p><b>V</b>: Todo Ansicht | <b>L</b>: Termin Listen Ansicht</p>\n" },
1034{ "<p><b>N</b>: Next days view| <b>W</b>: What's next view\n ","<p><b>N</b>: Nächste-Tage Ansicht days view| <b>W</b>: What's next Ansicht\n " }, 1034{ "<p><b>N</b>: Next days view| <b>W</b>: What's next view\n ","<p><b>N</b>: Nächste-Tage Ansicht days view| <b>W</b>: What's next Ansicht\n " },
1035{ "<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n","<p><b>1-0</b> (+<b>ctrl</b>): Selektiere Filter 1-10 (11-20)</p>\n" }, 1035{ "<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n","<p><b>1-0</b> (+<b>ctrl</b>): Selektiere Filter 1-10 (11-20)</p>\n" },
1036{ "<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n","<p><b>O</b>: Filter An/Aus | <b>J</b>: Journal Ansicht</p>\n" }, 1036{ "<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n","<p><b>O</b>: Filter An/Aus | <b>J</b>: Journal Ansicht</p>\n" },
1037{ "<p><b>F</b>: Toggle filterview |<b>F+ctrl</b>: Edit filter </p>\n","<p><b>F</b>: Zeige/verstecke Filter Ansicht |<b>F+ctrl</b>: Editiere Filter </p>\n" }, 1037{ "<p><b>F</b>: Toggle filterview |<b>F+ctrl</b>: Edit filter </p>\n","<p><b>F</b>: Zeige/verstecke Filter Ansicht |<b>F+ctrl</b>: Editiere Filter </p>\n" },
1038{ "<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n","<p><b>Space</b>: Zeige fullscreen | <b>P</b>: Datums Picker</p>\n" }, 1038{ "<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n","<p><b>Space</b>: Zeige fullscreen | <b>P</b>: Datums Picker</p>\n" },
1039{ "<p><b>I</b>: Show info for selected event/todo</p>\n","<p><b>I</b>: Zeige Info (Details) für selektiertes Item</p>\n" }, 1039{ "<p><b>I</b>: Show info for selected event/todo</p>\n","<p><b>I</b>: Zeige Info (Details) für selektiertes Item</p>\n" },
1040{ "<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n","<p><b>H</b>: Dieser Hilfe Dialog | <b>S</b>: Such Dialog</p>\n" }, 1040{ "<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n","<p><b>H</b>: Dieser Hilfe Dialog | <b>S</b>: Such Dialog</p>\n" },
1041{ "<p><h2>KO/Pi key shortcuts:</h2></p>\n","<p><h2>KO/Pi Tastatur Kurzbefehle:</h2></p>\n" }, 1041{ "<p><h2>KO/Pi key shortcuts:</h2></p>\n","<p><h2>KO/Pi Tastatur Kurzbefehle:</h2></p>\n" },
1042{ "After changing something, the data is\nautomatically saved to the file\n~/kdepim/apps/korganizer/mycalendar.ics\nafter (configureable) three minutes.\nFor safety reasons there is one autosaving\nafter 10 minutes (of idle time) again. The \ndata is saved automatically when closing KO/Pi\nYou can create a backup file \nwith: File - Save Calendar Backup\n","Nachdem etwas geändert wurde, werden die\nDaten automatisch in die Datei abgespeichert\n~/kdepim/apps/korganizer/mycalendar.ics\nnach (konfigurierbar) drei Minuten.\nAus Sicherheitsgründen wird noch einmal\nnach 10 Min. abgespeichert, wenn keine\nÄnderungen vorgenommen wurden. Die \nDaten werden automatisch gespeichert,\nwenn KO/Pi beendet wird.\nSie können eine Backup-Datei erstellen im\nMenu: Datei - Speichere Kalender Backup\n" }, 1042{ "After changing something, the data is\nautomatically saved to the file\n~/kdepim/apps/korganizer/mycalendar.ics\nafter (configureable) three minutes.\nFor safety reasons there is one autosaving\nafter 10 minutes (of idle time) again. The \ndata is saved automatically when closing KO/Pi\nYou can create a backup file \nwith: File - Save Calendar Backup\n","Nachdem etwas geändert wurde, werden die\nDaten automatisch in die Datei abgespeichert\n~/kdepim/apps/korganizer/mycalendar.ics\nnach (konfigurierbar) drei Minuten.\nAus Sicherheitsgründen wird noch einmal\nnach 10 Min. abgespeichert, wenn keine\nÄnderungen vorgenommen wurden. Die \nDaten werden automatisch gespeichert,\nwenn KO/Pi beendet wird.\nSie können eine Backup-Datei erstellen im\nMenu: Datei - Speichere Kalender Backup\n" },
1043{ "Auto Saving in KOrganizer/Pi","Auto Speichern in KOrganizer/Pi" }, 1043{ "Auto Saving in KOrganizer/Pi","Auto Speichern in KOrganizer/Pi" },
1044{ "\nhttp://sourceforge.net/projects/kdepimpi\n","\nhttp://sourceforge.net/projects/kdepimpi\n" }, 1044{ "\nhttp://sourceforge.net/projects/kdepimpi\n","\nhttp://sourceforge.net/projects/kdepimpi\n" },
1045{ "\nor report them in the bugtracker on\n","\noder trage sie in dem Bugtracker ein auf\n" }, 1045{ "\nor report them in the bugtracker on\n","\noder trage sie in dem Bugtracker ein auf\n" },
1046{ "\nPlease report unexpected behaviour to\nlutz@pi-sync.net\n","\nBitte melde fehlerhaftes Verhalten an\nlutz@pi-sync.net\n" }, 1046{ "\nPlease report unexpected behaviour to\nlutz@pi-sync.net\n","\nBitte melde fehlerhaftes Verhalten an\nlutz@pi-sync.net\n" },
1047{ "2) Audio alarm daemon\nfor Zaurus is available!\nas an additional small application\n","2) Ein Audio Alarm Daemon\nfür den Zaurus ist verfügbar\nals zusätzliche Anwendung\n" }, 1047{ "2) Audio alarm daemon\nfor Zaurus is available!\nas an additional small application\n","2) Ein Audio Alarm Daemon\nfür den Zaurus ist verfügbar\nals zusätzliche Anwendung\n" },
1048{ "1) Importing *.vcs or *.ics files from\nother applications may not work properly,\nif there are events with properties\nKO/Pi does not support.\n","1) Importieren von *.vcs oder *.ics Dateien von\nanderen Anwendungen kann möglicherweise\n nicht richtig funktionieren,\nwenn die Termine Eigenschaften haben,\ndie KO/Pi nicht unterstützt.\n" }, 1048{ "1) Importing *.vcs or *.ics files from\nother applications may not work properly,\nif there are events with properties\nKO/Pi does not support.\n","1) Importieren von *.vcs oder *.ics Dateien von\nanderen Anwendungen kann möglicherweise\n nicht richtig funktionieren,\nwenn die Termine Eigenschaften haben,\ndie KO/Pi nicht unterstützt.\n" },
1049{ "Known Problems in KOrganizer/Pi","Bekannte Probleme in KOrganizer/Pi" }, 1049{ "Known Problems in KOrganizer/Pi","Bekannte Probleme in KOrganizer/Pi" },
1050{ "KO/Pi FAQ","KO/Pi FAQ" }, 1050{ "KO/Pi FAQ","KO/Pi FAQ" },
1051{ "(c) 2004 Lutz Rogowski\nEmail:lutz@pi-sync.net\nKO/Pi is based on KOrganizer\n(c) 2002,2003 Cornelius Schumacher\nEmail: schumacher@kde.org\nKOrganizer/Pi is licensed\nunder the GPL.\nKO/Pi can be compiled for\nLinux, Zaurus-PDA and Windows\nwww.korganizer.org\nwww.pi-sync.net\n","(c) 2004 Lutz Rogowski\nEmail:lutz@pi-sync.net\nKO/Pi basiert auf KOrganizer\n(c) 2002,2003 Cornelius Schumacher\nEmail: schumacher@kde.org\nKOrganizer/Pi ist lizensiert unter der GPL.\nKO/Pi kann kompiliert werden für\nLinux, Zaurus-PDA und Windows\nwww.korganizer.org\nwww.pi-sync.net\n" }, 1051{ "(c) 2004 Lutz Rogowski\nEmail:lutz@pi-sync.net\nKO/Pi is based on KOrganizer\n(c) 2002,2003 Cornelius Schumacher\nEmail: schumacher@kde.org\nKOrganizer/Pi is licensed\nunder the GPL.\nKO/Pi can be compiled for\nLinux, Zaurus-PDA and Windows\nwww.korganizer.org\nwww.pi-sync.net\n","(c) 2004 Lutz Rogowski\nEmail:lutz@pi-sync.net\nKO/Pi basiert auf KOrganizer\n(c) 2002,2003 Cornelius Schumacher\nEmail: schumacher@kde.org\nKOrganizer/Pi ist lizensiert unter der GPL.\nKO/Pi kann kompiliert werden für\nLinux, Zaurus-PDA und Windows\nwww.korganizer.org\nwww.pi-sync.net\n" },
1052{ "PDA-Edition\nfor: Zaurus 5x00 / 7x0 / 8x0\n","PDA-Edition\nfür: Zaurus 5x00 / 7x0 / 8x0\n" }, 1052{ "PDA-Edition\nfor: Zaurus 5x00 / 7x0 / 8x0\n","PDA-Edition\nfür: Zaurus 5x00 / 7x0 / 8x0\n" },
1053{ "KOrganizer/Platform-independent\n","KOrganizer/Platform-independent\n" }, 1053{ "KOrganizer/Platform-independent\n","KOrganizer/Platform-independent\n" },
1054{ "About KOrganizer/Pi","Über KOrganizer/Pi" }, 1054{ "About KOrganizer/Pi","Über KOrganizer/Pi" },
1055{ "From: ","Von: " }, 1055{ "From: ","Von: " },
1056{ "Remove sync info","Entferne Sync Info" },
1057{ "For all profiles","Für alle Profile" },
1056{ "","" }, 1058{ "","" },
1057{ "","" }, 1059{ "","" },
1058{ "","" }, 1060{ "","" },
1059{ "","" }, 1061{ "","" },
1060{ "","" }, 1062{ "","" },
1061{ "","" }, 1063{ "","" },
1062{ "","" }, 1064{ "","" },
1063{ "","" }, 1065{ "","" },
1064{ "","" }, 1066{ "","" },
1065{ "","" }, 1067{ "","" },
1066{ "","" }, 1068{ "","" },
1067{ "","" }, 1069{ "","" },
1068{ "","" }, 1070{ "","" },
1069{ "","" }, 1071{ "","" },
1070{ "","" }, 1072{ "","" },
1071{ "","" }, 1073{ "","" },
1072 1074
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index 3c97ce9..76f9ab6 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -1,3165 +1,3168 @@
1/* 1/*
2 This file is part of KAddressbook. 2 This file is part of KAddressbook.
3 Copyright (c) 2003 Tobias Koenig <tokoe@kde.org> 3 Copyright (c) 2003 Tobias Koenig <tokoe@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24/*s 24/*s
25Enhanced Version of the file for platform independent KDE tools. 25Enhanced Version of the file for platform independent KDE tools.
26Copyright (c) 2004 Ulf Schenk 26Copyright (c) 2004 Ulf Schenk
27 27
28$Id$ 28$Id$
29*/ 29*/
30 30
31#include "kabcore.h" 31#include "kabcore.h"
32 32
33#include <stdaddressbook.h> 33#include <stdaddressbook.h>
34#include <klocale.h> 34#include <klocale.h>
35#include <kfiledialog.h> 35#include <kfiledialog.h>
36#include <qtimer.h> 36#include <qtimer.h>
37#include <qlabel.h> 37#include <qlabel.h>
38#include <qregexp.h> 38#include <qregexp.h>
39#include <qlineedit.h> 39#include <qlineedit.h>
40#include <qcheckbox.h> 40#include <qcheckbox.h>
41#include <qpushbutton.h> 41#include <qpushbutton.h>
42#include <qprogressbar.h> 42#include <qprogressbar.h>
43#include <libkdepim/phoneaccess.h> 43#include <libkdepim/phoneaccess.h>
44 44
45#ifndef KAB_EMBEDDED 45#ifndef KAB_EMBEDDED
46#include <qclipboard.h> 46#include <qclipboard.h>
47#include <qdir.h> 47#include <qdir.h>
48#include <qfile.h> 48#include <qfile.h>
49#include <qapplicaton.h> 49#include <qapplicaton.h>
50#include <qprogressbar.h> 50#include <qprogressbar.h>
51#include <qlayout.h> 51#include <qlayout.h>
52#include <qregexp.h> 52#include <qregexp.h>
53#include <qvbox.h> 53#include <qvbox.h>
54#include <kabc/addresseelist.h> 54#include <kabc/addresseelist.h>
55#include <kabc/errorhandler.h> 55#include <kabc/errorhandler.h>
56#include <kabc/resource.h> 56#include <kabc/resource.h>
57#include <kabc/vcardconverter.h> 57#include <kabc/vcardconverter.h>
58#include <kapplication.h> 58#include <kapplication.h>
59#include <kactionclasses.h> 59#include <kactionclasses.h>
60#include <kcmultidialog.h> 60#include <kcmultidialog.h>
61#include <kdebug.h> 61#include <kdebug.h>
62#include <kdeversion.h> 62#include <kdeversion.h>
63#include <kkeydialog.h> 63#include <kkeydialog.h>
64#include <kmessagebox.h> 64#include <kmessagebox.h>
65#include <kprinter.h> 65#include <kprinter.h>
66#include <kprotocolinfo.h> 66#include <kprotocolinfo.h>
67#include <kresources/selectdialog.h> 67#include <kresources/selectdialog.h>
68#include <kstandarddirs.h> 68#include <kstandarddirs.h>
69#include <ktempfile.h> 69#include <ktempfile.h>
70#include <kxmlguiclient.h> 70#include <kxmlguiclient.h>
71#include <kaboutdata.h> 71#include <kaboutdata.h>
72#include <libkdepim/categoryselectdialog.h> 72#include <libkdepim/categoryselectdialog.h>
73 73
74#include "addresseeutil.h" 74#include "addresseeutil.h"
75#include "addresseeeditordialog.h" 75#include "addresseeeditordialog.h"
76#include "extensionmanager.h" 76#include "extensionmanager.h"
77#include "kstdaction.h" 77#include "kstdaction.h"
78#include "kaddressbookservice.h" 78#include "kaddressbookservice.h"
79#include "ldapsearchdialog.h" 79#include "ldapsearchdialog.h"
80#include "printing/printingwizard.h" 80#include "printing/printingwizard.h"
81#else // KAB_EMBEDDED 81#else // KAB_EMBEDDED
82 82
83#include <kapplication.h> 83#include <kapplication.h>
84#include "KDGanttMinimizeSplitter.h" 84#include "KDGanttMinimizeSplitter.h"
85#include "kaddressbookmain.h" 85#include "kaddressbookmain.h"
86#include "kactioncollection.h" 86#include "kactioncollection.h"
87#include "addresseedialog.h" 87#include "addresseedialog.h"
88//US 88//US
89#include <addresseeview.h> 89#include <addresseeview.h>
90 90
91#include <qapp.h> 91#include <qapp.h>
92#include <qmenubar.h> 92#include <qmenubar.h>
93//#include <qtoolbar.h> 93//#include <qtoolbar.h>
94#include <qmessagebox.h> 94#include <qmessagebox.h>
95#include <kdebug.h> 95#include <kdebug.h>
96#include <kiconloader.h> // needed for SmallIcon 96#include <kiconloader.h> // needed for SmallIcon
97#include <kresources/kcmkresources.h> 97#include <kresources/kcmkresources.h>
98#include <ktoolbar.h> 98#include <ktoolbar.h>
99 99
100 100
101//#include <qlabel.h> 101//#include <qlabel.h>
102 102
103 103
104#ifndef DESKTOP_VERSION 104#ifndef DESKTOP_VERSION
105#include <qpe/ir.h> 105#include <qpe/ir.h>
106#include <qpe/qpemenubar.h> 106#include <qpe/qpemenubar.h>
107#include <qtopia/qcopenvelope_qws.h> 107#include <qtopia/qcopenvelope_qws.h>
108#else 108#else
109 109
110#include <qmenubar.h> 110#include <qmenubar.h>
111#endif 111#endif
112 112
113#endif // KAB_EMBEDDED 113#endif // KAB_EMBEDDED
114#include "kcmconfigs/kcmkabconfig.h" 114#include "kcmconfigs/kcmkabconfig.h"
115#include "kcmconfigs/kcmkdepimconfig.h" 115#include "kcmconfigs/kcmkdepimconfig.h"
116#include "kpimglobalprefs.h" 116#include "kpimglobalprefs.h"
117#include "externalapphandler.h" 117#include "externalapphandler.h"
118#include "xxportselectdialog.h" 118#include "xxportselectdialog.h"
119 119
120 120
121#include <kresources/selectdialog.h> 121#include <kresources/selectdialog.h>
122#include <kmessagebox.h> 122#include <kmessagebox.h>
123 123
124#include <picture.h> 124#include <picture.h>
125#include <resource.h> 125#include <resource.h>
126 126
127//US#include <qsplitter.h> 127//US#include <qsplitter.h>
128#include <qmap.h> 128#include <qmap.h>
129#include <qdir.h> 129#include <qdir.h>
130#include <qfile.h> 130#include <qfile.h>
131#include <qvbox.h> 131#include <qvbox.h>
132#include <qlayout.h> 132#include <qlayout.h>
133#include <qclipboard.h> 133#include <qclipboard.h>
134#include <qtextstream.h> 134#include <qtextstream.h>
135#include <qradiobutton.h> 135#include <qradiobutton.h>
136#include <qbuttongroup.h> 136#include <qbuttongroup.h>
137 137
138#include <libkdepim/categoryselectdialog.h> 138#include <libkdepim/categoryselectdialog.h>
139#include <libkdepim/categoryeditdialog.h> 139#include <libkdepim/categoryeditdialog.h>
140#include <kabc/vcardconverter.h> 140#include <kabc/vcardconverter.h>
141 141
142 142
143#include "addresseeutil.h" 143#include "addresseeutil.h"
144#include "undocmds.h" 144#include "undocmds.h"
145#include "addresseeeditordialog.h" 145#include "addresseeeditordialog.h"
146#include "viewmanager.h" 146#include "viewmanager.h"
147#include "details/detailsviewcontainer.h" 147#include "details/detailsviewcontainer.h"
148#include "kabprefs.h" 148#include "kabprefs.h"
149#include "xxportmanager.h" 149#include "xxportmanager.h"
150#include "incsearchwidget.h" 150#include "incsearchwidget.h"
151#include "jumpbuttonbar.h" 151#include "jumpbuttonbar.h"
152#include "extensionmanager.h" 152#include "extensionmanager.h"
153#include "addresseeconfig.h" 153#include "addresseeconfig.h"
154#include <kcmultidialog.h> 154#include <kcmultidialog.h>
155 155
156#ifdef _WIN32_ 156#ifdef _WIN32_
157 157
158#include "kaimportoldialog.h" 158#include "kaimportoldialog.h"
159#else 159#else
160#include <unistd.h> 160#include <unistd.h>
161#endif 161#endif
162// sync includes 162// sync includes
163#include <libkdepim/ksyncprofile.h> 163#include <libkdepim/ksyncprofile.h>
164#include <libkdepim/ksyncprefsdialog.h> 164#include <libkdepim/ksyncprefsdialog.h>
165 165
166 166
167class KABCatPrefs : public QDialog 167class KABCatPrefs : public QDialog
168{ 168{
169 public: 169 public:
170 KABCatPrefs( QWidget *parent=0, const char *name=0 ) : 170 KABCatPrefs( QWidget *parent=0, const char *name=0 ) :
171 QDialog( parent, name, true ) 171 QDialog( parent, name, true )
172 { 172 {
173 setCaption( i18n("Manage new Categories") ); 173 setCaption( i18n("Manage new Categories") );
174 QVBoxLayout* lay = new QVBoxLayout( this ); 174 QVBoxLayout* lay = new QVBoxLayout( this );
175 lay->setSpacing( 3 ); 175 lay->setSpacing( 3 );
176 lay->setMargin( 3 ); 176 lay->setMargin( 3 );
177 QLabel * lab = new QLabel( i18n("After importing/loading/syncing\nthere may be new categories in\naddressees\nwhich are not in the category list.\nPlease choose what to do:\n "), this ); 177 QLabel * lab = new QLabel( i18n("After importing/loading/syncing\nthere may be new categories in\naddressees\nwhich are not in the category list.\nPlease choose what to do:\n "), this );
178 lay->addWidget( lab ); 178 lay->addWidget( lab );
179 QButtonGroup* format = new QButtonGroup( 1, Horizontal, i18n("New categories not in list:"), this ); 179 QButtonGroup* format = new QButtonGroup( 1, Horizontal, i18n("New categories not in list:"), this );
180 lay->addWidget( format ); 180 lay->addWidget( format );
181 format->setExclusive ( true ) ; 181 format->setExclusive ( true ) ;
182 addCatBut = new QRadioButton(i18n("Add to category list"), format ); 182 addCatBut = new QRadioButton(i18n("Add to category list"), format );
183 new QRadioButton(i18n("Remove from addressees"), format ); 183 new QRadioButton(i18n("Remove from addressees"), format );
184 addCatBut->setChecked( true ); 184 addCatBut->setChecked( true );
185 QPushButton * ok = new QPushButton( i18n("OK"), this ); 185 QPushButton * ok = new QPushButton( i18n("OK"), this );
186 lay->addWidget( ok ); 186 lay->addWidget( ok );
187 QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); 187 QPushButton * cancel = new QPushButton( i18n("Cancel"), this );
188 lay->addWidget( cancel ); 188 lay->addWidget( cancel );
189 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); 189 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) );
190 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); 190 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) );
191 resize( 200, 200 ); 191 resize( 200, 200 );
192 } 192 }
193 193
194 bool addCat() { return addCatBut->isChecked(); } 194 bool addCat() { return addCatBut->isChecked(); }
195private: 195private:
196 QRadioButton* addCatBut; 196 QRadioButton* addCatBut;
197}; 197};
198 198
199 199
200 200
201class KAex2phonePrefs : public QDialog 201class KAex2phonePrefs : public QDialog
202{ 202{
203 public: 203 public:
204 KAex2phonePrefs( QWidget *parent=0, const char *name=0 ) : 204 KAex2phonePrefs( QWidget *parent=0, const char *name=0 ) :
205 QDialog( parent, name, true ) 205 QDialog( parent, name, true )
206 { 206 {
207 setCaption( i18n("Export to phone options") ); 207 setCaption( i18n("Export to phone options") );
208 QVBoxLayout* lay = new QVBoxLayout( this ); 208 QVBoxLayout* lay = new QVBoxLayout( this );
209 lay->setSpacing( 3 ); 209 lay->setSpacing( 3 );
210 lay->setMargin( 3 ); 210 lay->setMargin( 3 );
211 QLabel *lab; 211 QLabel *lab;
212 lay->addWidget(lab = new QLabel( i18n("Please read Help-Sync Howto\nto know what settings to use."), this ) ); 212 lay->addWidget(lab = new QLabel( i18n("Please read Help-Sync Howto\nto know what settings to use."), this ) );
213 lab->setAlignment (AlignHCenter ); 213 lab->setAlignment (AlignHCenter );
214 QHBox* temphb; 214 QHBox* temphb;
215 temphb = new QHBox( this ); 215 temphb = new QHBox( this );
216 new QLabel( i18n("I/O device: "), temphb ); 216 new QLabel( i18n("I/O device: "), temphb );
217 mPhoneDevice = new QLineEdit( temphb); 217 mPhoneDevice = new QLineEdit( temphb);
218 lay->addWidget( temphb ); 218 lay->addWidget( temphb );
219 temphb = new QHBox( this ); 219 temphb = new QHBox( this );
220 new QLabel( i18n("Connection: "), temphb ); 220 new QLabel( i18n("Connection: "), temphb );
221 mPhoneConnection = new QLineEdit( temphb); 221 mPhoneConnection = new QLineEdit( temphb);
222 lay->addWidget( temphb ); 222 lay->addWidget( temphb );
223 temphb = new QHBox( this ); 223 temphb = new QHBox( this );
224 new QLabel( i18n("Model(opt.): "), temphb ); 224 new QLabel( i18n("Model(opt.): "), temphb );
225 mPhoneModel = new QLineEdit( temphb); 225 mPhoneModel = new QLineEdit( temphb);
226 lay->addWidget( temphb ); 226 lay->addWidget( temphb );
227 // mWriteToSim = new QCheckBox( i18n("Write Contacts to SIM card\n(if not, write to phone memory)"), this ); 227 // mWriteToSim = new QCheckBox( i18n("Write Contacts to SIM card\n(if not, write to phone memory)"), this );
228 // lay->addWidget( mWriteToSim ); 228 // lay->addWidget( mWriteToSim );
229 lay->addWidget(lab = new QLabel( i18n("NOTE: This will remove all old\ncontact data on phone!"), this ) ); 229 lay->addWidget(lab = new QLabel( i18n("NOTE: This will remove all old\ncontact data on phone!"), this ) );
230 lab->setAlignment (AlignHCenter ); 230 lab->setAlignment (AlignHCenter );
231 QPushButton * ok = new QPushButton( i18n("Export to mobile phone!"), this ); 231 QPushButton * ok = new QPushButton( i18n("Export to mobile phone!"), this );
232 lay->addWidget( ok ); 232 lay->addWidget( ok );
233 QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); 233 QPushButton * cancel = new QPushButton( i18n("Cancel"), this );
234 lay->addWidget( cancel ); 234 lay->addWidget( cancel );
235 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); 235 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) );
236 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); 236 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) );
237 resize( 220, 240 ); 237 resize( 220, 240 );
238 238
239 } 239 }
240 240
241public: 241public:
242 QLineEdit* mPhoneConnection, *mPhoneDevice, *mPhoneModel; 242 QLineEdit* mPhoneConnection, *mPhoneDevice, *mPhoneModel;
243 QCheckBox* mWriteToSim; 243 QCheckBox* mWriteToSim;
244}; 244};
245 245
246 246
247bool pasteWithNewUid = true; 247bool pasteWithNewUid = true;
248 248
249#ifdef KAB_EMBEDDED 249#ifdef KAB_EMBEDDED
250KABCore::KABCore( KAddressBookMain *client, bool readWrite, QWidget *parent, const char *name ) 250KABCore::KABCore( KAddressBookMain *client, bool readWrite, QWidget *parent, const char *name )
251 : QWidget( parent, name ), KSyncInterface(), mGUIClient( client ), mViewManager( 0 ), 251 : QWidget( parent, name ), KSyncInterface(), mGUIClient( client ), mViewManager( 0 ),
252 mExtensionManager( 0 ),mConfigureDialog( 0 ),/*US mLdapSearchDialog( 0 ),*/ 252 mExtensionManager( 0 ),mConfigureDialog( 0 ),/*US mLdapSearchDialog( 0 ),*/
253 mReadWrite( readWrite ), mModified( false ), mMainWindow(client) 253 mReadWrite( readWrite ), mModified( false ), mMainWindow(client)
254#else //KAB_EMBEDDED 254#else //KAB_EMBEDDED
255KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const char *name ) 255KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const char *name )
256 : QWidget( parent, name ), KSyncInterface(), mGUIClient( client ), mViewManager( 0 ), 256 : QWidget( parent, name ), KSyncInterface(), mGUIClient( client ), mViewManager( 0 ),
257 mExtensionManager( 0 ), mConfigureDialog( 0 ), mLdapSearchDialog( 0 ), 257 mExtensionManager( 0 ), mConfigureDialog( 0 ), mLdapSearchDialog( 0 ),
258 mReadWrite( readWrite ), mModified( false ) 258 mReadWrite( readWrite ), mModified( false )
259#endif //KAB_EMBEDDED 259#endif //KAB_EMBEDDED
260{ 260{
261 // syncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)this, KSyncManager::KAPI, KABPrefs::instance(), syncMenu); 261 // syncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)this, KSyncManager::KAPI, KABPrefs::instance(), syncMenu);
262 // syncManager->setBlockSave(false); 262 // syncManager->setBlockSave(false);
263 mMiniSplitter = 0; 263 mMiniSplitter = 0;
264 mExtensionBarSplitter = 0; 264 mExtensionBarSplitter = 0;
265 mIsPart = !parent->inherits( "KAddressBookMain" ); 265 mIsPart = !parent->inherits( "KAddressBookMain" );
266 mAddressBook = KABC::StdAddressBook::self(); 266 mAddressBook = KABC::StdAddressBook::self();
267 KABC::StdAddressBook::setAutomaticSave( false ); 267 KABC::StdAddressBook::setAutomaticSave( false );
268 268
269#ifndef KAB_EMBEDDED 269#ifndef KAB_EMBEDDED
270 mAddressBook->setErrorHandler( new KABC::GUIErrorHandler ); 270 mAddressBook->setErrorHandler( new KABC::GUIErrorHandler );
271#endif //KAB_EMBEDDED 271#endif //KAB_EMBEDDED
272 272
273 connect( mAddressBook, SIGNAL( addressBookChanged( AddressBook * ) ), 273 connect( mAddressBook, SIGNAL( addressBookChanged( AddressBook * ) ),
274 SLOT( addressBookChanged() ) ); 274 SLOT( addressBookChanged() ) );
275 275
276#if 0 276#if 0
277 // LP moved to addressbook init method 277 // LP moved to addressbook init method
278 mAddressBook->addCustomField( i18n( "Department" ), KABC::Field::Organization, 278 mAddressBook->addCustomField( i18n( "Department" ), KABC::Field::Organization,
279 "X-Department", "KADDRESSBOOK" ); 279 "X-Department", "KADDRESSBOOK" );
280 mAddressBook->addCustomField( i18n( "Profession" ), KABC::Field::Organization, 280 mAddressBook->addCustomField( i18n( "Profession" ), KABC::Field::Organization,
281 "X-Profession", "KADDRESSBOOK" ); 281 "X-Profession", "KADDRESSBOOK" );
282 mAddressBook->addCustomField( i18n( "Assistant's Name" ), KABC::Field::Organization, 282 mAddressBook->addCustomField( i18n( "Assistant's Name" ), KABC::Field::Organization,
283 "X-AssistantsName", "KADDRESSBOOK" ); 283 "X-AssistantsName", "KADDRESSBOOK" );
284 mAddressBook->addCustomField( i18n( "Manager's Name" ), KABC::Field::Organization, 284 mAddressBook->addCustomField( i18n( "Manager's Name" ), KABC::Field::Organization,
285 "X-ManagersName", "KADDRESSBOOK" ); 285 "X-ManagersName", "KADDRESSBOOK" );
286 mAddressBook->addCustomField( i18n( "Spouse's Name" ), KABC::Field::Personal, 286 mAddressBook->addCustomField( i18n( "Spouse's Name" ), KABC::Field::Personal,
287 "X-SpousesName", "KADDRESSBOOK" ); 287 "X-SpousesName", "KADDRESSBOOK" );
288 mAddressBook->addCustomField( i18n( "Office" ), KABC::Field::Personal, 288 mAddressBook->addCustomField( i18n( "Office" ), KABC::Field::Personal,
289 "X-Office", "KADDRESSBOOK" ); 289 "X-Office", "KADDRESSBOOK" );
290 mAddressBook->addCustomField( i18n( "IM Address" ), KABC::Field::Personal, 290 mAddressBook->addCustomField( i18n( "IM Address" ), KABC::Field::Personal,
291 "X-IMAddress", "KADDRESSBOOK" ); 291 "X-IMAddress", "KADDRESSBOOK" );
292 mAddressBook->addCustomField( i18n( "Anniversary" ), KABC::Field::Personal, 292 mAddressBook->addCustomField( i18n( "Anniversary" ), KABC::Field::Personal,
293 "X-Anniversary", "KADDRESSBOOK" ); 293 "X-Anniversary", "KADDRESSBOOK" );
294 294
295 //US added this field to become compatible with Opie/qtopia addressbook 295 //US added this field to become compatible with Opie/qtopia addressbook
296 // values can be "female" or "male" or "". An empty field represents undefined. 296 // values can be "female" or "male" or "". An empty field represents undefined.
297 mAddressBook->addCustomField( i18n( "Gender" ), KABC::Field::Personal, 297 mAddressBook->addCustomField( i18n( "Gender" ), KABC::Field::Personal,
298 "X-Gender", "KADDRESSBOOK" ); 298 "X-Gender", "KADDRESSBOOK" );
299 mAddressBook->addCustomField( i18n( "Children" ), KABC::Field::Personal, 299 mAddressBook->addCustomField( i18n( "Children" ), KABC::Field::Personal,
300 "X-Children", "KADDRESSBOOK" ); 300 "X-Children", "KADDRESSBOOK" );
301 mAddressBook->addCustomField( i18n( "FreeBusyUrl" ), KABC::Field::Personal, 301 mAddressBook->addCustomField( i18n( "FreeBusyUrl" ), KABC::Field::Personal,
302 "X-FreeBusyUrl", "KADDRESSBOOK" ); 302 "X-FreeBusyUrl", "KADDRESSBOOK" );
303#endif 303#endif
304 initGUI(); 304 initGUI();
305 305
306 mIncSearchWidget->setFocus(); 306 mIncSearchWidget->setFocus();
307 307
308 308
309 connect( mViewManager, SIGNAL( selected( const QString& ) ), 309 connect( mViewManager, SIGNAL( selected( const QString& ) ),
310 SLOT( setContactSelected( const QString& ) ) ); 310 SLOT( setContactSelected( const QString& ) ) );
311 connect( mViewManager, SIGNAL( executed( const QString& ) ), 311 connect( mViewManager, SIGNAL( executed( const QString& ) ),
312 SLOT( executeContact( const QString& ) ) ); 312 SLOT( executeContact( const QString& ) ) );
313 313
314 connect( mViewManager, SIGNAL( deleteRequest( ) ), 314 connect( mViewManager, SIGNAL( deleteRequest( ) ),
315 SLOT( deleteContacts( ) ) ); 315 SLOT( deleteContacts( ) ) );
316 connect( mViewManager, SIGNAL( modified() ), 316 connect( mViewManager, SIGNAL( modified() ),
317 SLOT( setModified() ) ); 317 SLOT( setModified() ) );
318 318
319 connect( mExtensionManager, SIGNAL( modified( const KABC::Addressee::List& ) ), this, SLOT( extensionModified( const KABC::Addressee::List& ) ) ); 319 connect( mExtensionManager, SIGNAL( modified( const KABC::Addressee::List& ) ), this, SLOT( extensionModified( const KABC::Addressee::List& ) ) );
320 connect( mExtensionManager, SIGNAL( changedActiveExtension( int ) ), this, SLOT( extensionChanged( int ) ) ); 320 connect( mExtensionManager, SIGNAL( changedActiveExtension( int ) ), this, SLOT( extensionChanged( int ) ) );
321 321
322 connect( mXXPortManager, SIGNAL( modified() ), 322 connect( mXXPortManager, SIGNAL( modified() ),
323 SLOT( setModified() ) ); 323 SLOT( setModified() ) );
324 324
325 connect( mJumpButtonBar, SIGNAL( jumpToLetter( const QString& ) ), 325 connect( mJumpButtonBar, SIGNAL( jumpToLetter( const QString& ) ),
326 SLOT( incrementalSearch( const QString& ) ) ); 326 SLOT( incrementalSearch( const QString& ) ) );
327 connect( mIncSearchWidget, SIGNAL( fieldChanged() ), 327 connect( mIncSearchWidget, SIGNAL( fieldChanged() ),
328 mJumpButtonBar, SLOT( recreateButtons() ) ); 328 mJumpButtonBar, SLOT( recreateButtons() ) );
329 329
330 connect( mDetails, SIGNAL( sendEmail( const QString& ) ), 330 connect( mDetails, SIGNAL( sendEmail( const QString& ) ),
331 SLOT( sendMail( const QString& ) ) ); 331 SLOT( sendMail( const QString& ) ) );
332 332
333 333
334 connect( ExternalAppHandler::instance(), SIGNAL (requestForNameEmailUidList(const QString&, const QString&)),this, SLOT(requestForNameEmailUidList(const QString&, const QString&))); 334 connect( ExternalAppHandler::instance(), SIGNAL (requestForNameEmailUidList(const QString&, const QString&)),this, SLOT(requestForNameEmailUidList(const QString&, const QString&)));
335 connect( ExternalAppHandler::instance(), SIGNAL (requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&)),this, SLOT(requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&))); 335 connect( ExternalAppHandler::instance(), SIGNAL (requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&)),this, SLOT(requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&)));
336 connect( ExternalAppHandler::instance(), SIGNAL (requestForBirthdayList(const QString&, const QString&)),this, SLOT(requestForBirthdayList(const QString&, const QString&))); 336 connect( ExternalAppHandler::instance(), SIGNAL (requestForBirthdayList(const QString&, const QString&)),this, SLOT(requestForBirthdayList(const QString&, const QString&)));
337 connect( ExternalAppHandler::instance(), SIGNAL (nextView()),this, SLOT(setDetailsToggle())); 337 connect( ExternalAppHandler::instance(), SIGNAL (nextView()),this, SLOT(setDetailsToggle()));
338 338
339 339
340#ifndef KAB_EMBEDDED 340#ifndef KAB_EMBEDDED
341 connect( mViewManager, SIGNAL( urlDropped( const KURL& ) ), 341 connect( mViewManager, SIGNAL( urlDropped( const KURL& ) ),
342 mXXPortManager, SLOT( importVCard( const KURL& ) ) ); 342 mXXPortManager, SLOT( importVCard( const KURL& ) ) );
343 343
344 connect( mDetails, SIGNAL( browse( const QString& ) ), 344 connect( mDetails, SIGNAL( browse( const QString& ) ),
345 SLOT( browse( const QString& ) ) ); 345 SLOT( browse( const QString& ) ) );
346 346
347 347
348 mAddressBookService = new KAddressBookService( this ); 348 mAddressBookService = new KAddressBookService( this );
349 349
350#endif //KAB_EMBEDDED 350#endif //KAB_EMBEDDED
351 351
352 mMessageTimer = new QTimer( this ); 352 mMessageTimer = new QTimer( this );
353 connect( mMessageTimer, SIGNAL( timeout() ), this, SLOT( setCaptionBack() ) ); 353 connect( mMessageTimer, SIGNAL( timeout() ), this, SLOT( setCaptionBack() ) );
354 mEditorDialog = 0; 354 mEditorDialog = 0;
355 createAddresseeEditorDialog( this ); 355 createAddresseeEditorDialog( this );
356 setModified( false ); 356 setModified( false );
357 mBRdisabled = false; 357 mBRdisabled = false;
358#ifndef DESKTOP_VERSION 358#ifndef DESKTOP_VERSION
359 infrared = 0; 359 infrared = 0;
360#endif 360#endif
361 //toggleBeamReceive( ); 361 //toggleBeamReceive( );
362 362
363 // we have a toolbar repainting error on the Zaurus when starting KA/Pi 363 // we have a toolbar repainting error on the Zaurus when starting KA/Pi
364 QTimer::singleShot( 10000, this , SLOT ( updateToolBar())); 364 QTimer::singleShot( 10000, this , SLOT ( updateToolBar()));
365} 365}
366 366
367void KABCore::updateToolBar() 367void KABCore::updateToolBar()
368{ 368{
369 mMainWindow->toolBar()->update(); 369 mMainWindow->toolBar()->update();
370} 370}
371KABCore::~KABCore() 371KABCore::~KABCore()
372{ 372{
373 // save(); 373 // save();
374 //saveSettings(); 374 //saveSettings();
375 //KABPrefs::instance()->writeConfig(); 375 //KABPrefs::instance()->writeConfig();
376 delete AddresseeConfig::instance(); 376 delete AddresseeConfig::instance();
377 mAddressBook = 0; 377 mAddressBook = 0;
378 KABC::StdAddressBook::close(); 378 KABC::StdAddressBook::close();
379 379
380 delete syncManager; 380 delete syncManager;
381#ifndef DESKTOP_VERSION 381#ifndef DESKTOP_VERSION
382 if ( infrared ) 382 if ( infrared )
383 delete infrared; 383 delete infrared;
384#endif 384#endif
385} 385}
386void KABCore::receive( const QCString& cmsg, const QByteArray& data ) 386void KABCore::receive( const QCString& cmsg, const QByteArray& data )
387{ 387{
388 qDebug("KA: QCOP message received: %s ", cmsg.data() ); 388 qDebug("KA: QCOP message received: %s ", cmsg.data() );
389 if ( cmsg == "setDocument(QString)" ) { 389 if ( cmsg == "setDocument(QString)" ) {
390 QDataStream stream( data, IO_ReadOnly ); 390 QDataStream stream( data, IO_ReadOnly );
391 QString fileName; 391 QString fileName;
392 stream >> fileName; 392 stream >> fileName;
393 recieve( fileName ); 393 recieve( fileName );
394 return; 394 return;
395 } 395 }
396} 396}
397void KABCore::toggleBeamReceive( ) 397void KABCore::toggleBeamReceive( )
398{ 398{
399 if ( mBRdisabled ) 399 if ( mBRdisabled )
400 return; 400 return;
401#ifndef DESKTOP_VERSION 401#ifndef DESKTOP_VERSION
402 if ( infrared ) { 402 if ( infrared ) {
403 qDebug("AB disable BeamReceive "); 403 qDebug("AB disable BeamReceive ");
404 delete infrared; 404 delete infrared;
405 infrared = 0; 405 infrared = 0;
406 mActionBR->setChecked(false); 406 mActionBR->setChecked(false);
407 return; 407 return;
408 } 408 }
409 qDebug("AB enable BeamReceive "); 409 qDebug("AB enable BeamReceive ");
410 mActionBR->setChecked(true); 410 mActionBR->setChecked(true);
411 411
412 infrared = new QCopChannel("QPE/Application/addressbook",this, "channelAB" ) ; 412 infrared = new QCopChannel("QPE/Application/addressbook",this, "channelAB" ) ;
413 QObject::connect( infrared, SIGNAL (received ( const QCString &, const QByteArray & )),this, SLOT(receive( const QCString&, const QByteArray& ))); 413 QObject::connect( infrared, SIGNAL (received ( const QCString &, const QByteArray & )),this, SLOT(receive( const QCString&, const QByteArray& )));
414#endif 414#endif
415} 415}
416 416
417 417
418void KABCore::disableBR(bool b) 418void KABCore::disableBR(bool b)
419{ 419{
420#ifndef DESKTOP_VERSION 420#ifndef DESKTOP_VERSION
421 if ( b ) { 421 if ( b ) {
422 if ( infrared ) { 422 if ( infrared ) {
423 toggleBeamReceive( ); 423 toggleBeamReceive( );
424 } 424 }
425 mBRdisabled = true; 425 mBRdisabled = true;
426 } else { 426 } else {
427 if ( mBRdisabled ) { 427 if ( mBRdisabled ) {
428 mBRdisabled = false; 428 mBRdisabled = false;
429 //toggleBeamReceive( ); 429 //toggleBeamReceive( );
430 } 430 }
431 } 431 }
432#endif 432#endif
433 433
434} 434}
435void KABCore::recieve( QString fn ) 435void KABCore::recieve( QString fn )
436{ 436{
437 //qDebug("KABCore::recieve "); 437 //qDebug("KABCore::recieve ");
438 int count = mAddressBook->importFromFile( fn, true ); 438 int count = mAddressBook->importFromFile( fn, true );
439 if ( count ) 439 if ( count )
440 setModified( true ); 440 setModified( true );
441 mViewManager->refreshView(); 441 mViewManager->refreshView();
442 message(i18n("%1 contact(s) received!").arg( count )); 442 message(i18n("%1 contact(s) received!").arg( count ));
443 topLevelWidget()->showMaximized(); 443 topLevelWidget()->showMaximized();
444 topLevelWidget()->raise(); 444 topLevelWidget()->raise();
445} 445}
446void KABCore::restoreSettings() 446void KABCore::restoreSettings()
447{ 447{
448 mMultipleViewsAtOnce = KABPrefs::instance()->mMultipleViewsAtOnce; 448 mMultipleViewsAtOnce = KABPrefs::instance()->mMultipleViewsAtOnce;
449 449
450 bool state; 450 bool state;
451 451
452 if (mMultipleViewsAtOnce) 452 if (mMultipleViewsAtOnce)
453 state = KABPrefs::instance()->mDetailsPageVisible; 453 state = KABPrefs::instance()->mDetailsPageVisible;
454 else 454 else
455 state = false; 455 state = false;
456 456
457 mActionDetails->setChecked( state ); 457 mActionDetails->setChecked( state );
458 setDetailsVisible( state ); 458 setDetailsVisible( state );
459 459
460 state = KABPrefs::instance()->mJumpButtonBarVisible; 460 state = KABPrefs::instance()->mJumpButtonBarVisible;
461 461
462 mActionJumpBar->setChecked( state ); 462 mActionJumpBar->setChecked( state );
463 setJumpButtonBarVisible( state ); 463 setJumpButtonBarVisible( state );
464/*US 464/*US
465 QValueList<int> splitterSize = KABPrefs::instance()->mDetailsSplitter; 465 QValueList<int> splitterSize = KABPrefs::instance()->mDetailsSplitter;
466 if ( splitterSize.count() == 0 ) { 466 if ( splitterSize.count() == 0 ) {
467 splitterSize.append( width() / 2 ); 467 splitterSize.append( width() / 2 );
468 splitterSize.append( width() / 2 ); 468 splitterSize.append( width() / 2 );
469 } 469 }
470 mMiniSplitter->setSizes( splitterSize ); 470 mMiniSplitter->setSizes( splitterSize );
471 if ( mExtensionBarSplitter ) { 471 if ( mExtensionBarSplitter ) {
472 splitterSize = KABPrefs::instance()->mExtensionsSplitter; 472 splitterSize = KABPrefs::instance()->mExtensionsSplitter;
473 if ( splitterSize.count() == 0 ) { 473 if ( splitterSize.count() == 0 ) {
474 splitterSize.append( width() / 2 ); 474 splitterSize.append( width() / 2 );
475 splitterSize.append( width() / 2 ); 475 splitterSize.append( width() / 2 );
476 } 476 }
477 mExtensionBarSplitter->setSizes( splitterSize ); 477 mExtensionBarSplitter->setSizes( splitterSize );
478 478
479 } 479 }
480*/ 480*/
481 mViewManager->restoreSettings(); 481 mViewManager->restoreSettings();
482 mIncSearchWidget->setCurrentItem( KABPrefs::instance()->mCurrentIncSearchField ); 482 mIncSearchWidget->setCurrentItem( KABPrefs::instance()->mCurrentIncSearchField );
483 mExtensionManager->restoreSettings(); 483 mExtensionManager->restoreSettings();
484#ifdef DESKTOP_VERSION 484#ifdef DESKTOP_VERSION
485 int wid = width(); 485 int wid = width();
486 if ( wid < 10 ) 486 if ( wid < 10 )
487 wid = 400; 487 wid = 400;
488#else 488#else
489 int wid = QApplication::desktop()->width(); 489 int wid = QApplication::desktop()->width();
490 if ( wid < 640 ) 490 if ( wid < 640 )
491 wid = QApplication::desktop()->height(); 491 wid = QApplication::desktop()->height();
492#endif 492#endif
493 QValueList<int> splitterSize;// = KABPrefs::instance()->mDetailsSplitter; 493 QValueList<int> splitterSize;// = KABPrefs::instance()->mDetailsSplitter;
494 if ( true /*splitterSize.count() == 0*/ ) { 494 if ( true /*splitterSize.count() == 0*/ ) {
495 splitterSize.append( wid / 2 ); 495 splitterSize.append( wid / 2 );
496 splitterSize.append( wid / 2 ); 496 splitterSize.append( wid / 2 );
497 } 497 }
498 mMiniSplitter->setSizes( splitterSize ); 498 mMiniSplitter->setSizes( splitterSize );
499 if ( mExtensionBarSplitter ) { 499 if ( mExtensionBarSplitter ) {
500 //splitterSize = KABPrefs::instance()->mExtensionsSplitter; 500 //splitterSize = KABPrefs::instance()->mExtensionsSplitter;
501 if ( true /*splitterSize.count() == 0*/ ) { 501 if ( true /*splitterSize.count() == 0*/ ) {
502 splitterSize.append( wid / 2 ); 502 splitterSize.append( wid / 2 );
503 splitterSize.append( wid / 2 ); 503 splitterSize.append( wid / 2 );
504 } 504 }
505 mExtensionBarSplitter->setSizes( splitterSize ); 505 mExtensionBarSplitter->setSizes( splitterSize );
506 506
507 } 507 }
508 508
509 509
510} 510}
511 511
512void KABCore::saveSettings() 512void KABCore::saveSettings()
513{ 513{
514 KABPrefs::instance()->mJumpButtonBarVisible = mActionJumpBar->isChecked(); 514 KABPrefs::instance()->mJumpButtonBarVisible = mActionJumpBar->isChecked();
515 if ( mExtensionBarSplitter ) 515 if ( mExtensionBarSplitter )
516 KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes(); 516 KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes();
517 KABPrefs::instance()->mDetailsPageVisible = mActionDetails->isChecked(); 517 KABPrefs::instance()->mDetailsPageVisible = mActionDetails->isChecked();
518 KABPrefs::instance()->mDetailsSplitter = mMiniSplitter->sizes(); 518 KABPrefs::instance()->mDetailsSplitter = mMiniSplitter->sizes();
519#ifndef KAB_EMBEDDED 519#ifndef KAB_EMBEDDED
520 520
521 KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes(); 521 KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes();
522 KABPrefs::instance()->mDetailsSplitter = mDetailsSplitter->sizes(); 522 KABPrefs::instance()->mDetailsSplitter = mDetailsSplitter->sizes();
523#endif //KAB_EMBEDDED 523#endif //KAB_EMBEDDED
524 mExtensionManager->saveSettings(); 524 mExtensionManager->saveSettings();
525 mViewManager->saveSettings(); 525 mViewManager->saveSettings();
526 526
527 KABPrefs::instance()->mCurrentIncSearchField = mIncSearchWidget->currentItem(); 527 KABPrefs::instance()->mCurrentIncSearchField = mIncSearchWidget->currentItem();
528} 528}
529 529
530KABC::AddressBook *KABCore::addressBook() const 530KABC::AddressBook *KABCore::addressBook() const
531{ 531{
532 return mAddressBook; 532 return mAddressBook;
533} 533}
534 534
535KConfig *KABCore::config() 535KConfig *KABCore::config()
536{ 536{
537#ifndef KAB_EMBEDDED 537#ifndef KAB_EMBEDDED
538 return KABPrefs::instance()->config(); 538 return KABPrefs::instance()->config();
539#else //KAB_EMBEDDED 539#else //KAB_EMBEDDED
540 return KABPrefs::instance()->getConfig(); 540 return KABPrefs::instance()->getConfig();
541#endif //KAB_EMBEDDED 541#endif //KAB_EMBEDDED
542} 542}
543 543
544KActionCollection *KABCore::actionCollection() const 544KActionCollection *KABCore::actionCollection() const
545{ 545{
546 return mGUIClient->actionCollection(); 546 return mGUIClient->actionCollection();
547} 547}
548 548
549KABC::Field *KABCore::currentSearchField() const 549KABC::Field *KABCore::currentSearchField() const
550{ 550{
551 if (mIncSearchWidget) 551 if (mIncSearchWidget)
552 return mIncSearchWidget->currentField(); 552 return mIncSearchWidget->currentField();
553 else 553 else
554 return 0; 554 return 0;
555} 555}
556 556
557QStringList KABCore::selectedUIDs() const 557QStringList KABCore::selectedUIDs() const
558{ 558{
559 return mViewManager->selectedUids(); 559 return mViewManager->selectedUids();
560} 560}
561 561
562KABC::Resource *KABCore::requestResource( QWidget *parent ) 562KABC::Resource *KABCore::requestResource( QWidget *parent )
563{ 563{
564 QPtrList<KABC::Resource> kabcResources = addressBook()->resources(); 564 QPtrList<KABC::Resource> kabcResources = addressBook()->resources();
565 565
566 QPtrList<KRES::Resource> kresResources; 566 QPtrList<KRES::Resource> kresResources;
567 QPtrListIterator<KABC::Resource> resIt( kabcResources ); 567 QPtrListIterator<KABC::Resource> resIt( kabcResources );
568 KABC::Resource *resource; 568 KABC::Resource *resource;
569 while ( ( resource = resIt.current() ) != 0 ) { 569 while ( ( resource = resIt.current() ) != 0 ) {
570 ++resIt; 570 ++resIt;
571 if ( !resource->readOnly() ) { 571 if ( !resource->readOnly() ) {
572 KRES::Resource *res = static_cast<KRES::Resource*>( resource ); 572 KRES::Resource *res = static_cast<KRES::Resource*>( resource );
573 if ( res ) 573 if ( res )
574 kresResources.append( res ); 574 kresResources.append( res );
575 } 575 }
576 } 576 }
577 577
578 KRES::Resource *res = KRES::SelectDialog::getResource( kresResources, parent ); 578 KRES::Resource *res = KRES::SelectDialog::getResource( kresResources, parent );
579 return static_cast<KABC::Resource*>( res ); 579 return static_cast<KABC::Resource*>( res );
580} 580}
581 581
582#ifndef KAB_EMBEDDED 582#ifndef KAB_EMBEDDED
583KAboutData *KABCore::createAboutData() 583KAboutData *KABCore::createAboutData()
584#else //KAB_EMBEDDED 584#else //KAB_EMBEDDED
585void KABCore::createAboutData() 585void KABCore::createAboutData()
586#endif //KAB_EMBEDDED 586#endif //KAB_EMBEDDED
587{ 587{
588#ifndef KAB_EMBEDDED 588#ifndef KAB_EMBEDDED
589 KAboutData *about = new KAboutData( "kaddressbook", I18N_NOOP( "KAddressBook" ), 589 KAboutData *about = new KAboutData( "kaddressbook", I18N_NOOP( "KAddressBook" ),
590 "3.1", I18N_NOOP( "The KDE Address Book" ), 590 "3.1", I18N_NOOP( "The KDE Address Book" ),
591 KAboutData::License_GPL_V2, 591 KAboutData::License_GPL_V2,
592 I18N_NOOP( "(c) 1997-2003, The KDE PIM Team" ) ); 592 I18N_NOOP( "(c) 1997-2003, The KDE PIM Team" ) );
593 about->addAuthor( "Tobias Koenig", I18N_NOOP( "Current maintainer " ), "tokoe@kde.org" ); 593 about->addAuthor( "Tobias Koenig", I18N_NOOP( "Current maintainer " ), "tokoe@kde.org" );
594 about->addAuthor( "Don Sanders", I18N_NOOP( "Original author " ) ); 594 about->addAuthor( "Don Sanders", I18N_NOOP( "Original author " ) );
595 about->addAuthor( "Cornelius Schumacher", 595 about->addAuthor( "Cornelius Schumacher",
596 I18N_NOOP( "Co-maintainer, libkabc port, CSV import/export " ), 596 I18N_NOOP( "Co-maintainer, libkabc port, CSV import/export " ),
597 "schumacher@kde.org" ); 597 "schumacher@kde.org" );
598 about->addAuthor( "Mike Pilone", I18N_NOOP( "GUI and framework redesign " ), 598 about->addAuthor( "Mike Pilone", I18N_NOOP( "GUI and framework redesign " ),
599 "mpilone@slac.com" ); 599 "mpilone@slac.com" );
600 about->addAuthor( "Greg Stern", I18N_NOOP( "DCOP interface" ) ); 600 about->addAuthor( "Greg Stern", I18N_NOOP( "DCOP interface" ) );
601 about->addAuthor( "Mark Westcott", I18N_NOOP( "Contact pinning" ) ); 601 about->addAuthor( "Mark Westcott", I18N_NOOP( "Contact pinning" ) );
602 about->addAuthor( "Michel Boyer de la Giroday", I18N_NOOP( "LDAP Lookup\n" ), 602 about->addAuthor( "Michel Boyer de la Giroday", I18N_NOOP( "LDAP Lookup\n" ),
603 "michel@klaralvdalens-datakonsult.se" ); 603 "michel@klaralvdalens-datakonsult.se" );
604 about->addAuthor( "Steffen Hansen", I18N_NOOP( "LDAP Lookup " ), 604 about->addAuthor( "Steffen Hansen", I18N_NOOP( "LDAP Lookup " ),
605 "hansen@kde.org" ); 605 "hansen@kde.org" );
606 606
607 return about; 607 return about;
608#endif //KAB_EMBEDDED 608#endif //KAB_EMBEDDED
609 609
610 QString version; 610 QString version;
611#include <../version> 611#include <../version>
612 QMessageBox::about( this, "About KAddressbook/Pi", 612 QMessageBox::about( this, "About KAddressbook/Pi",
613 "KAddressbook/Platform-independent\n" 613 "KAddressbook/Platform-independent\n"
614 "(KA/Pi) " +version + " - " + 614 "(KA/Pi) " +version + " - " +
615#ifdef DESKTOP_VERSION 615#ifdef DESKTOP_VERSION
616 "Desktop Edition\n" 616 "Desktop Edition\n"
617#else 617#else
618 "PDA-Edition\n" 618 "PDA-Edition\n"
619 "for: Zaurus 5500 / 7x0 / 8x0\n" 619 "for: Zaurus 5500 / 7x0 / 8x0\n"
620#endif 620#endif
621 621
622 "(c) 2004 Ulf Schenk\n" 622 "(c) 2004 Ulf Schenk\n"
623 "(c) 2004 Lutz Rogowski\n" 623 "(c) 2004 Lutz Rogowski\n"
624 "(c) 1997-2003, The KDE PIM Team\n" 624 "(c) 1997-2003, The KDE PIM Team\n"
625 "Tobias Koenig Current maintainer\ntokoe@kde.org\n" 625 "Tobias Koenig Current maintainer\ntokoe@kde.org\n"
626 "Don Sanders Original author\n" 626 "Don Sanders Original author\n"
627 "Cornelius Schumacher Co-maintainer\nschumacher@kde.org\n" 627 "Cornelius Schumacher Co-maintainer\nschumacher@kde.org\n"
628 "Mike Pilone GUI and framework redesign\nmpilone@slac.com\n" 628 "Mike Pilone GUI and framework redesign\nmpilone@slac.com\n"
629 "Greg Stern DCOP interface\n" 629 "Greg Stern DCOP interface\n"
630 "Mark Westcot Contact pinning\n" 630 "Mark Westcot Contact pinning\n"
631 "Michel Boyer de la Giroday LDAP Lookup\n" "michel@klaralvdalens-datakonsult.se\n" 631 "Michel Boyer de la Giroday LDAP Lookup\n" "michel@klaralvdalens-datakonsult.se\n"
632 "Steffen Hansen LDAP Lookup\nhansen@kde.org\n" 632 "Steffen Hansen LDAP Lookup\nhansen@kde.org\n"
633#ifdef _WIN32_ 633#ifdef _WIN32_
634 "(c) 2004 Lutz Rogowski Import from OL\nrogowski@kde.org\n" 634 "(c) 2004 Lutz Rogowski Import from OL\nrogowski@kde.org\n"
635#endif 635#endif
636 ); 636 );
637} 637}
638 638
639void KABCore::setContactSelected( const QString &uid ) 639void KABCore::setContactSelected( const QString &uid )
640{ 640{
641 KABC::Addressee addr = mAddressBook->findByUid( uid ); 641 KABC::Addressee addr = mAddressBook->findByUid( uid );
642 if ( !mDetails->isHidden() ) 642 if ( !mDetails->isHidden() )
643 mDetails->setAddressee( addr ); 643 mDetails->setAddressee( addr );
644 644
645 if ( !addr.isEmpty() ) { 645 if ( !addr.isEmpty() ) {
646 emit contactSelected( addr.formattedName() ); 646 emit contactSelected( addr.formattedName() );
647 KABC::Picture pic = addr.photo(); 647 KABC::Picture pic = addr.photo();
648 if ( pic.isIntern() ) { 648 if ( pic.isIntern() ) {
649//US emit contactSelected( pic.data() ); 649//US emit contactSelected( pic.data() );
650//US instead use: 650//US instead use:
651 QPixmap px; 651 QPixmap px;
652 if (pic.data().isNull() != true) 652 if (pic.data().isNull() != true)
653 { 653 {
654 px.convertFromImage(pic.data()); 654 px.convertFromImage(pic.data());
655 } 655 }
656 656
657 emit contactSelected( px ); 657 emit contactSelected( px );
658 } 658 }
659 } 659 }
660 660
661 661
662 mExtensionManager->setSelectionChanged(); 662 mExtensionManager->setSelectionChanged();
663 663
664 // update the actions 664 // update the actions
665 bool selected = !uid.isEmpty(); 665 bool selected = !uid.isEmpty();
666 666
667 if ( mReadWrite ) { 667 if ( mReadWrite ) {
668 mActionCut->setEnabled( selected ); 668 mActionCut->setEnabled( selected );
669 mActionPaste->setEnabled( selected ); 669 mActionPaste->setEnabled( selected );
670 } 670 }
671 671
672 mActionCopy->setEnabled( selected ); 672 mActionCopy->setEnabled( selected );
673 mActionDelete->setEnabled( selected ); 673 mActionDelete->setEnabled( selected );
674 mActionEditAddressee->setEnabled( selected ); 674 mActionEditAddressee->setEnabled( selected );
675 mActionMail->setEnabled( selected ); 675 mActionMail->setEnabled( selected );
676 mActionMailVCard->setEnabled( selected ); 676 mActionMailVCard->setEnabled( selected );
677 //if (mActionBeam) 677 //if (mActionBeam)
678 //mActionBeam->setEnabled( selected ); 678 //mActionBeam->setEnabled( selected );
679 mActionWhoAmI->setEnabled( selected ); 679 mActionWhoAmI->setEnabled( selected );
680} 680}
681 681
682void KABCore::sendMail() 682void KABCore::sendMail()
683{ 683{
684 sendMail( mViewManager->selectedEmails().join( ", " ) ); 684 sendMail( mViewManager->selectedEmails().join( ", " ) );
685} 685}
686 686
687void KABCore::sendMail( const QString& emaillist ) 687void KABCore::sendMail( const QString& emaillist )
688{ 688{
689 // the parameter has the form "name1 <abc@aol.com>,name2 <abc@aol.com>;... " 689 // the parameter has the form "name1 <abc@aol.com>,name2 <abc@aol.com>;... "
690 if (emaillist.contains(",") > 0) 690 if (emaillist.contains(",") > 0)
691 ExternalAppHandler::instance()->mailToMultipleContacts( emaillist, QString::null ); 691 ExternalAppHandler::instance()->mailToMultipleContacts( emaillist, QString::null );
692 else 692 else
693 ExternalAppHandler::instance()->mailToOneContact( emaillist ); 693 ExternalAppHandler::instance()->mailToOneContact( emaillist );
694} 694}
695 695
696 696
697 697
698void KABCore::mailVCard() 698void KABCore::mailVCard()
699{ 699{
700 QStringList uids = mViewManager->selectedUids(); 700 QStringList uids = mViewManager->selectedUids();
701 if ( !uids.isEmpty() ) 701 if ( !uids.isEmpty() )
702 mailVCard( uids ); 702 mailVCard( uids );
703} 703}
704 704
705void KABCore::mailVCard( const QStringList& uids ) 705void KABCore::mailVCard( const QStringList& uids )
706{ 706{
707 QStringList urls; 707 QStringList urls;
708 708
709// QString tmpdir = locateLocal("tmp", KGlobal::getAppName()); 709// QString tmpdir = locateLocal("tmp", KGlobal::getAppName());
710 710
711 QString dirName = "/tmp/" + KApplication::randomString( 8 ); 711 QString dirName = "/tmp/" + KApplication::randomString( 8 );
712 712
713 713
714 714
715 QDir().mkdir( dirName, true ); 715 QDir().mkdir( dirName, true );
716 716
717 for( QStringList::ConstIterator it = uids.begin(); it != uids.end(); ++it ) { 717 for( QStringList::ConstIterator it = uids.begin(); it != uids.end(); ++it ) {
718 KABC::Addressee a = mAddressBook->findByUid( *it ); 718 KABC::Addressee a = mAddressBook->findByUid( *it );
719 719
720 if ( a.isEmpty() ) 720 if ( a.isEmpty() )
721 continue; 721 continue;
722 722
723 QString name = a.givenName() + "_" + a.familyName() + ".vcf"; 723 QString name = a.givenName() + "_" + a.familyName() + ".vcf";
724 724
725 QString fileName = dirName + "/" + name; 725 QString fileName = dirName + "/" + name;
726 726
727 QFile outFile(fileName); 727 QFile outFile(fileName);
728 728
729 if ( outFile.open(IO_WriteOnly) ) { // file opened successfully 729 if ( outFile.open(IO_WriteOnly) ) { // file opened successfully
730 KABC::VCardConverter converter; 730 KABC::VCardConverter converter;
731 QString vcard; 731 QString vcard;
732 732
733 converter.addresseeToVCard( a, vcard ); 733 converter.addresseeToVCard( a, vcard );
734 734
735 QTextStream t( &outFile ); // use a text stream 735 QTextStream t( &outFile ); // use a text stream
736 t.setEncoding( QTextStream::UnicodeUTF8 ); 736 t.setEncoding( QTextStream::UnicodeUTF8 );
737 t << vcard; 737 t << vcard;
738 738
739 outFile.close(); 739 outFile.close();
740 740
741 urls.append( fileName ); 741 urls.append( fileName );
742 } 742 }
743 } 743 }
744 744
745 bool result = ExternalAppHandler::instance()->mailToMultipleContacts( QString::null, urls.join(", ") ); 745 bool result = ExternalAppHandler::instance()->mailToMultipleContacts( QString::null, urls.join(", ") );
746 746
747 747
748/*US 748/*US
749 kapp->invokeMailer( QString::null, QString::null, QString::null, 749 kapp->invokeMailer( QString::null, QString::null, QString::null,
750 QString::null, // subject 750 QString::null, // subject
751 QString::null, // body 751 QString::null, // body
752 QString::null, 752 QString::null,
753 urls ); // attachments 753 urls ); // attachments
754*/ 754*/
755 755
756} 756}
757 757
758/** 758/**
759 Beams the "WhoAmI contact. 759 Beams the "WhoAmI contact.
760*/ 760*/
761void KABCore::beamMySelf() 761void KABCore::beamMySelf()
762{ 762{
763 KABC::Addressee a = KABC::StdAddressBook::self()->whoAmI(); 763 KABC::Addressee a = KABC::StdAddressBook::self()->whoAmI();
764 if (!a.isEmpty()) 764 if (!a.isEmpty())
765 { 765 {
766 QStringList uids; 766 QStringList uids;
767 uids << a.uid(); 767 uids << a.uid();
768 768
769 beamVCard(uids); 769 beamVCard(uids);
770 } else { 770 } else {
771 KMessageBox::information( this, i18n( "Your personal contact is\nnot set! Please select it\nand set it with menu:\nSettings - Set Who Am I\n" ) ); 771 KMessageBox::information( this, i18n( "Your personal contact is\nnot set! Please select it\nand set it with menu:\nSettings - Set Who Am I\n" ) );
772 772
773 773
774 } 774 }
775} 775}
776void KABCore::updateMainWindow() 776void KABCore::updateMainWindow()
777{ 777{
778 778
779 mMainWindow->showMaximized(); 779 mMainWindow->showMaximized();
780 mMainWindow->update(); 780 mMainWindow->update();
781} 781}
782void KABCore::resizeEvent(QResizeEvent* e ) 782void KABCore::resizeEvent(QResizeEvent* e )
783{ 783{
784 if ( !mMiniSplitter ) 784 if ( !mMiniSplitter )
785 return; 785 return;
786 if ( QApplication::desktop()->width() >= 480 ) { 786 if ( QApplication::desktop()->width() >= 480 ) {
787 if (QApplication::desktop()->width() == 640 ) { // e.g. 640x480 787 if (QApplication::desktop()->width() == 640 ) { // e.g. 640x480
788 if ( mMiniSplitter->orientation() == Qt::Vertical ) { 788 if ( mMiniSplitter->orientation() == Qt::Vertical ) {
789 mMiniSplitter->setOrientation( Qt::Horizontal); 789 mMiniSplitter->setOrientation( Qt::Horizontal);
790 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); 790 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right );
791 if ( QApplication::desktop()->width() <= 640 ) { 791 if ( QApplication::desktop()->width() <= 640 ) {
792 //mMainWindow->setMaximumSize( QApplication::desktop()->size() ); 792 //mMainWindow->setMaximumSize( QApplication::desktop()->size() );
793 mViewManager->getFilterAction()->setComboWidth( 150 ); 793 mViewManager->getFilterAction()->setComboWidth( 150 );
794 QTimer::singleShot( 1, this , SLOT ( updateMainWindow())); 794 QTimer::singleShot( 1, this , SLOT ( updateMainWindow()));
795 } 795 }
796 } 796 }
797 } else if (QApplication::desktop()->width() == 480 ){// e.g. 480x640 797 } else if (QApplication::desktop()->width() == 480 ){// e.g. 480x640
798 if ( mMiniSplitter->orientation() == Qt::Horizontal ) { 798 if ( mMiniSplitter->orientation() == Qt::Horizontal ) {
799 mMiniSplitter->setOrientation( Qt::Vertical ); 799 mMiniSplitter->setOrientation( Qt::Vertical );
800 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down ); 800 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down );
801 if ( QApplication::desktop()->width() <= 640 ) { 801 if ( QApplication::desktop()->width() <= 640 ) {
802 //mMainWindow->setMaximumSize( QApplication::desktop()->size() ); 802 //mMainWindow->setMaximumSize( QApplication::desktop()->size() );
803 mMainWindow->showMinimized(); 803 mMainWindow->showMinimized();
804 mViewManager->getFilterAction()->setComboWidth( 0 ); 804 mViewManager->getFilterAction()->setComboWidth( 0 );
805 QTimer::singleShot( 1, this , SLOT ( updateMainWindow())); 805 QTimer::singleShot( 1, this , SLOT ( updateMainWindow()));
806 } 806 }
807 } 807 }
808 } 808 }
809 } 809 }
810 810
811} 811}
812void KABCore::export2phone() 812void KABCore::export2phone()
813{ 813{
814 814
815 QStringList uids; 815 QStringList uids;
816 XXPortSelectDialog dlg( this, false, this ); 816 XXPortSelectDialog dlg( this, false, this );
817 if ( dlg.exec() ) 817 if ( dlg.exec() )
818 uids = dlg.uids(); 818 uids = dlg.uids();
819 else 819 else
820 return; 820 return;
821 if ( uids.isEmpty() ) 821 if ( uids.isEmpty() )
822 return; 822 return;
823 // qDebug("count %d ", uids.count()); 823 // qDebug("count %d ", uids.count());
824 824
825 KAex2phonePrefs ex2phone; 825 KAex2phonePrefs ex2phone;
826 ex2phone.mPhoneConnection->setText( KPimGlobalPrefs::instance()->mEx2PhoneConnection ); 826 ex2phone.mPhoneConnection->setText( KPimGlobalPrefs::instance()->mEx2PhoneConnection );
827 ex2phone.mPhoneDevice->setText( KPimGlobalPrefs::instance()->mEx2PhoneDevice ); 827 ex2phone.mPhoneDevice->setText( KPimGlobalPrefs::instance()->mEx2PhoneDevice );
828 ex2phone.mPhoneModel->setText( KPimGlobalPrefs::instance()->mEx2PhoneModel ); 828 ex2phone.mPhoneModel->setText( KPimGlobalPrefs::instance()->mEx2PhoneModel );
829 829
830 if ( !ex2phone.exec() ) { 830 if ( !ex2phone.exec() ) {
831 return; 831 return;
832 } 832 }
833 KPimGlobalPrefs::instance()->mEx2PhoneConnection = ex2phone.mPhoneConnection->text(); 833 KPimGlobalPrefs::instance()->mEx2PhoneConnection = ex2phone.mPhoneConnection->text();
834 KPimGlobalPrefs::instance()->mEx2PhoneDevice = ex2phone.mPhoneDevice->text(); 834 KPimGlobalPrefs::instance()->mEx2PhoneDevice = ex2phone.mPhoneDevice->text();
835 KPimGlobalPrefs::instance()->mEx2PhoneModel = ex2phone.mPhoneModel->text(); 835 KPimGlobalPrefs::instance()->mEx2PhoneModel = ex2phone.mPhoneModel->text();
836 836
837 837
838 PhoneAccess::writeConfig( KPimGlobalPrefs::instance()->mEx2PhoneDevice, 838 PhoneAccess::writeConfig( KPimGlobalPrefs::instance()->mEx2PhoneDevice,
839 KPimGlobalPrefs::instance()->mEx2PhoneConnection, 839 KPimGlobalPrefs::instance()->mEx2PhoneConnection,
840 KPimGlobalPrefs::instance()->mEx2PhoneModel ); 840 KPimGlobalPrefs::instance()->mEx2PhoneModel );
841 841
842 QString fileName = getPhoneFile(); 842 QString fileName = getPhoneFile();
843 if ( ! mAddressBook->export2PhoneFormat( uids ,fileName ) ) 843 if ( ! mAddressBook->export2PhoneFormat( uids ,fileName ) )
844 return; 844 return;
845 845
846 message(i18n("Exporting to phone...")); 846 message(i18n("Exporting to phone..."));
847 QTimer::singleShot( 1, this , SLOT ( writeToPhone())); 847 QTimer::singleShot( 1, this , SLOT ( writeToPhone()));
848 848
849} 849}
850QString KABCore::getPhoneFile() 850QString KABCore::getPhoneFile()
851{ 851{
852#ifdef DESKTOP_VERSION 852#ifdef DESKTOP_VERSION
853 return locateLocal("tmp", "phonefile.vcf"); 853 return locateLocal("tmp", "phonefile.vcf");
854#else 854#else
855 return "/tmp/phonefile.vcf"; 855 return "/tmp/phonefile.vcf";
856#endif 856#endif
857 857
858} 858}
859void KABCore::writeToPhone( ) 859void KABCore::writeToPhone( )
860{ 860{
861 if ( PhoneAccess::writeToPhone( getPhoneFile() ) ) 861 if ( PhoneAccess::writeToPhone( getPhoneFile() ) )
862 message(i18n("Export to phone finished!")); 862 message(i18n("Export to phone finished!"));
863 else 863 else
864 qDebug(i18n("Error exporting to phone")); 864 qDebug(i18n("Error exporting to phone"));
865} 865}
866void KABCore::beamVCard() 866void KABCore::beamVCard()
867{ 867{
868 QStringList uids; 868 QStringList uids;
869 XXPortSelectDialog dlg( this, false, this ); 869 XXPortSelectDialog dlg( this, false, this );
870 if ( dlg.exec() ) 870 if ( dlg.exec() )
871 uids = dlg.uids(); 871 uids = dlg.uids();
872 else 872 else
873 return; 873 return;
874 if ( uids.isEmpty() ) 874 if ( uids.isEmpty() )
875 return; 875 return;
876 beamVCard( uids ); 876 beamVCard( uids );
877} 877}
878 878
879 879
880void KABCore::beamVCard(const QStringList& uids) 880void KABCore::beamVCard(const QStringList& uids)
881{ 881{
882 882
883 // LR: we should use the /tmp dir on the Zaurus, 883 // LR: we should use the /tmp dir on the Zaurus,
884 // because: /tmp = RAM, (HOME)/kdepim = flash memory 884 // because: /tmp = RAM, (HOME)/kdepim = flash memory
885 885
886#ifdef DESKTOP_VERSION 886#ifdef DESKTOP_VERSION
887 QString fileName = locateLocal("tmp", "kapibeamfile.vcf"); 887 QString fileName = locateLocal("tmp", "kapibeamfile.vcf");
888#else 888#else
889 QString fileName = "/tmp/kapibeamfile.vcf"; 889 QString fileName = "/tmp/kapibeamfile.vcf";
890#endif 890#endif
891 891
892 KABC::VCardConverter converter; 892 KABC::VCardConverter converter;
893 QString description; 893 QString description;
894 QString datastream; 894 QString datastream;
895 for( QStringList::ConstIterator it = uids.begin(); it != uids.end(); ++it ) { 895 for( QStringList::ConstIterator it = uids.begin(); it != uids.end(); ++it ) {
896 KABC::Addressee a = mAddressBook->findByUid( *it ); 896 KABC::Addressee a = mAddressBook->findByUid( *it );
897 897
898 if ( a.isEmpty() ) 898 if ( a.isEmpty() )
899 continue; 899 continue;
900 900
901 if (description.isEmpty()) 901 if (description.isEmpty())
902 description = a.formattedName(); 902 description = a.formattedName();
903 903
904 QString vcard; 904 QString vcard;
905 converter.addresseeToVCard( a, vcard ); 905 converter.addresseeToVCard( a, vcard );
906 int start = 0; 906 int start = 0;
907 int next; 907 int next;
908 while ( (next = vcard.find("TYPE=", start) )>= 0 ) { 908 while ( (next = vcard.find("TYPE=", start) )>= 0 ) {
909 int semi = vcard.find(";", next); 909 int semi = vcard.find(";", next);
910 int dopp = vcard.find(":", next); 910 int dopp = vcard.find(":", next);
911 int sep; 911 int sep;
912 if ( semi < dopp && semi >= 0 ) 912 if ( semi < dopp && semi >= 0 )
913 sep = semi ; 913 sep = semi ;
914 else 914 else
915 sep = dopp; 915 sep = dopp;
916 datastream +=vcard.mid( start, next - start); 916 datastream +=vcard.mid( start, next - start);
917 datastream +=vcard.mid( next+5,sep -next -5 ).upper(); 917 datastream +=vcard.mid( next+5,sep -next -5 ).upper();
918 start = sep; 918 start = sep;
919 } 919 }
920 datastream += vcard.mid( start,vcard.length() ); 920 datastream += vcard.mid( start,vcard.length() );
921 } 921 }
922#ifndef DESKTOP_VERSION 922#ifndef DESKTOP_VERSION
923 QFile outFile(fileName); 923 QFile outFile(fileName);
924 if ( outFile.open(IO_WriteOnly) ) { 924 if ( outFile.open(IO_WriteOnly) ) {
925 datastream.replace ( QRegExp("VERSION:3.0") , "VERSION:2.1" ); 925 datastream.replace ( QRegExp("VERSION:3.0") , "VERSION:2.1" );
926 QTextStream t( &outFile ); // use a text stream 926 QTextStream t( &outFile ); // use a text stream
927 //t.setEncoding( QTextStream::UnicodeUTF8 ); 927 //t.setEncoding( QTextStream::UnicodeUTF8 );
928 t.setEncoding( QTextStream::Latin1 ); 928 t.setEncoding( QTextStream::Latin1 );
929 t <<datastream.latin1(); 929 t <<datastream.latin1();
930 outFile.close(); 930 outFile.close();
931 Ir *ir = new Ir( this ); 931 Ir *ir = new Ir( this );
932 connect( ir, SIGNAL( done(Ir*) ), this, SLOT( beamDone(Ir*) ) ); 932 connect( ir, SIGNAL( done(Ir*) ), this, SLOT( beamDone(Ir*) ) );
933 ir->send( fileName, description, "text/x-vCard" ); 933 ir->send( fileName, description, "text/x-vCard" );
934 } else { 934 } else {
935 qDebug("Error open temp beam file "); 935 qDebug("Error open temp beam file ");
936 return; 936 return;
937 } 937 }
938#endif 938#endif
939 939
940} 940}
941 941
942void KABCore::beamDone( Ir *ir ) 942void KABCore::beamDone( Ir *ir )
943{ 943{
944#ifndef DESKTOP_VERSION 944#ifndef DESKTOP_VERSION
945 delete ir; 945 delete ir;
946#endif 946#endif
947 topLevelWidget()->raise(); 947 topLevelWidget()->raise();
948 message( i18n("Beaming finished!") ); 948 message( i18n("Beaming finished!") );
949} 949}
950 950
951 951
952void KABCore::browse( const QString& url ) 952void KABCore::browse( const QString& url )
953{ 953{
954#ifndef KAB_EMBEDDED 954#ifndef KAB_EMBEDDED
955 kapp->invokeBrowser( url ); 955 kapp->invokeBrowser( url );
956#else //KAB_EMBEDDED 956#else //KAB_EMBEDDED
957 qDebug("KABCore::browse must be fixed"); 957 qDebug("KABCore::browse must be fixed");
958#endif //KAB_EMBEDDED 958#endif //KAB_EMBEDDED
959} 959}
960 960
961void KABCore::selectAllContacts() 961void KABCore::selectAllContacts()
962{ 962{
963 mViewManager->setSelected( QString::null, true ); 963 mViewManager->setSelected( QString::null, true );
964} 964}
965 965
966void KABCore::deleteContacts() 966void KABCore::deleteContacts()
967{ 967{
968 QStringList uidList = mViewManager->selectedUids(); 968 QStringList uidList = mViewManager->selectedUids();
969 deleteContacts( uidList ); 969 deleteContacts( uidList );
970} 970}
971 971
972void KABCore::deleteContacts( const QStringList &uids ) 972void KABCore::deleteContacts( const QStringList &uids )
973{ 973{
974 if ( uids.count() > 0 ) { 974 if ( uids.count() > 0 ) {
975 PwDeleteCommand *command = new PwDeleteCommand( mAddressBook, uids ); 975 PwDeleteCommand *command = new PwDeleteCommand( mAddressBook, uids );
976 UndoStack::instance()->push( command ); 976 UndoStack::instance()->push( command );
977 RedoStack::instance()->clear(); 977 RedoStack::instance()->clear();
978 978
979 // now if we deleted anything, refresh 979 // now if we deleted anything, refresh
980 setContactSelected( QString::null ); 980 setContactSelected( QString::null );
981 setModified( true ); 981 setModified( true );
982 } 982 }
983} 983}
984 984
985void KABCore::copyContacts() 985void KABCore::copyContacts()
986{ 986{
987 KABC::Addressee::List addrList = mViewManager->selectedAddressees(); 987 KABC::Addressee::List addrList = mViewManager->selectedAddressees();
988 988
989 QString clipText = AddresseeUtil::addresseesToClipboard( addrList ); 989 QString clipText = AddresseeUtil::addresseesToClipboard( addrList );
990 990
991 kdDebug(5720) << "KABCore::copyContacts: " << clipText << endl; 991 kdDebug(5720) << "KABCore::copyContacts: " << clipText << endl;
992 992
993 QClipboard *cb = QApplication::clipboard(); 993 QClipboard *cb = QApplication::clipboard();
994 cb->setText( clipText ); 994 cb->setText( clipText );
995} 995}
996 996
997void KABCore::cutContacts() 997void KABCore::cutContacts()
998{ 998{
999 QStringList uidList = mViewManager->selectedUids(); 999 QStringList uidList = mViewManager->selectedUids();
1000 1000
1001//US if ( uidList.size() > 0 ) { 1001//US if ( uidList.size() > 0 ) {
1002 if ( uidList.count() > 0 ) { 1002 if ( uidList.count() > 0 ) {
1003 PwCutCommand *command = new PwCutCommand( mAddressBook, uidList ); 1003 PwCutCommand *command = new PwCutCommand( mAddressBook, uidList );
1004 UndoStack::instance()->push( command ); 1004 UndoStack::instance()->push( command );
1005 RedoStack::instance()->clear(); 1005 RedoStack::instance()->clear();
1006 1006
1007 setModified( true ); 1007 setModified( true );
1008 } 1008 }
1009} 1009}
1010 1010
1011void KABCore::pasteContacts() 1011void KABCore::pasteContacts()
1012{ 1012{
1013 QClipboard *cb = QApplication::clipboard(); 1013 QClipboard *cb = QApplication::clipboard();
1014 1014
1015 KABC::Addressee::List list = AddresseeUtil::clipboardToAddressees( cb->text() ); 1015 KABC::Addressee::List list = AddresseeUtil::clipboardToAddressees( cb->text() );
1016 1016
1017 pasteContacts( list ); 1017 pasteContacts( list );
1018} 1018}
1019 1019
1020void KABCore::pasteContacts( KABC::Addressee::List &list ) 1020void KABCore::pasteContacts( KABC::Addressee::List &list )
1021{ 1021{
1022 KABC::Resource *resource = requestResource( this ); 1022 KABC::Resource *resource = requestResource( this );
1023 KABC::Addressee::List::Iterator it; 1023 KABC::Addressee::List::Iterator it;
1024 for ( it = list.begin(); it != list.end(); ++it ) 1024 for ( it = list.begin(); it != list.end(); ++it )
1025 (*it).setResource( resource ); 1025 (*it).setResource( resource );
1026 1026
1027 PwPasteCommand *command = new PwPasteCommand( this, list ); 1027 PwPasteCommand *command = new PwPasteCommand( this, list );
1028 UndoStack::instance()->push( command ); 1028 UndoStack::instance()->push( command );
1029 RedoStack::instance()->clear(); 1029 RedoStack::instance()->clear();
1030 1030
1031 setModified( true ); 1031 setModified( true );
1032} 1032}
1033 1033
1034void KABCore::setWhoAmI() 1034void KABCore::setWhoAmI()
1035{ 1035{
1036 KABC::Addressee::List addrList = mViewManager->selectedAddressees(); 1036 KABC::Addressee::List addrList = mViewManager->selectedAddressees();
1037 1037
1038 if ( addrList.count() > 1 ) { 1038 if ( addrList.count() > 1 ) {
1039 KMessageBox::sorry( this, i18n( "Please select only one contact." ) ); 1039 KMessageBox::sorry( this, i18n( "Please select only one contact." ) );
1040 return; 1040 return;
1041 } 1041 }
1042 1042
1043 QString text( i18n( "<qt>Do you really want to use <b>%1</b> as your new personal contact?</qt>" ) ); 1043 QString text( i18n( "<qt>Do you really want to use <b>%1</b> as your new personal contact?</qt>" ) );
1044 if ( KMessageBox::questionYesNo( this, text.arg( addrList[ 0 ].assembledName() ) ) == KMessageBox::Yes ) 1044 if ( KMessageBox::questionYesNo( this, text.arg( addrList[ 0 ].assembledName() ) ) == KMessageBox::Yes )
1045 static_cast<KABC::StdAddressBook*>( KABC::StdAddressBook::self() )->setWhoAmI( addrList[ 0 ] ); 1045 static_cast<KABC::StdAddressBook*>( KABC::StdAddressBook::self() )->setWhoAmI( addrList[ 0 ] );
1046} 1046}
1047void KABCore::editCategories() 1047void KABCore::editCategories()
1048{ 1048{
1049 KPIM::CategoryEditDialog dlg ( KABPrefs::instance(), this, "", true ); 1049 KPIM::CategoryEditDialog dlg ( KABPrefs::instance(), this, "", true );
1050 dlg.exec(); 1050 dlg.exec();
1051} 1051}
1052void KABCore::setCategories() 1052void KABCore::setCategories()
1053{ 1053{
1054 1054
1055 QStringList uids; 1055 QStringList uids;
1056 XXPortSelectDialog dlgx( this, false, this ); 1056 XXPortSelectDialog dlgx( this, false, this );
1057 if ( dlgx.exec() ) 1057 if ( dlgx.exec() )
1058 uids = dlgx.uids(); 1058 uids = dlgx.uids();
1059 else 1059 else
1060 return; 1060 return;
1061 if ( uids.isEmpty() ) 1061 if ( uids.isEmpty() )
1062 return; 1062 return;
1063 // qDebug("count %d ", uids.count()); 1063 // qDebug("count %d ", uids.count());
1064 1064
1065 1065
1066 KPIM::CategorySelectDialog dlg( KABPrefs::instance(), this, "", true ); 1066 KPIM::CategorySelectDialog dlg( KABPrefs::instance(), this, "", true );
1067 if ( !dlg.exec() ) { 1067 if ( !dlg.exec() ) {
1068 message( i18n("Setting categories cancelled") ); 1068 message( i18n("Setting categories cancelled") );
1069 return; 1069 return;
1070 } 1070 }
1071 bool merge = false; 1071 bool merge = false;
1072 QString msg = i18n( "Merge with existing categories?" ); 1072 QString msg = i18n( "Merge with existing categories?" );
1073 if ( KMessageBox::questionYesNo( this, msg ) == KMessageBox::Yes ) 1073 if ( KMessageBox::questionYesNo( this, msg ) == KMessageBox::Yes )
1074 merge = true; 1074 merge = true;
1075 1075
1076 message( i18n("Setting categories ... please wait!") ); 1076 message( i18n("Setting categories ... please wait!") );
1077 QStringList categories = dlg.selectedCategories(); 1077 QStringList categories = dlg.selectedCategories();
1078 1078
1079 //QStringList uids = mViewManager->selectedUids(); 1079 //QStringList uids = mViewManager->selectedUids();
1080 QStringList::Iterator it; 1080 QStringList::Iterator it;
1081 for ( it = uids.begin(); it != uids.end(); ++it ) { 1081 for ( it = uids.begin(); it != uids.end(); ++it ) {
1082 KABC::Addressee addr = mAddressBook->findByUid( *it ); 1082 KABC::Addressee addr = mAddressBook->findByUid( *it );
1083 if ( !addr.isEmpty() ) { 1083 if ( !addr.isEmpty() ) {
1084 if ( !merge ) 1084 if ( !merge )
1085 addr.setCategories( categories ); 1085 addr.setCategories( categories );
1086 else { 1086 else {
1087 QStringList addrCategories = addr.categories(); 1087 QStringList addrCategories = addr.categories();
1088 QStringList::Iterator catIt; 1088 QStringList::Iterator catIt;
1089 for ( catIt = categories.begin(); catIt != categories.end(); ++catIt ) { 1089 for ( catIt = categories.begin(); catIt != categories.end(); ++catIt ) {
1090 if ( !addrCategories.contains( *catIt ) ) 1090 if ( !addrCategories.contains( *catIt ) )
1091 addrCategories.append( *catIt ); 1091 addrCategories.append( *catIt );
1092 } 1092 }
1093 addr.setCategories( addrCategories ); 1093 addr.setCategories( addrCategories );
1094 } 1094 }
1095 mAddressBook->insertAddressee( addr ); 1095 mAddressBook->insertAddressee( addr );
1096 } 1096 }
1097 } 1097 }
1098 1098
1099 if ( uids.count() > 0 ) 1099 if ( uids.count() > 0 )
1100 setModified( true ); 1100 setModified( true );
1101 message( i18n("Setting categories completed!") ); 1101 message( i18n("Setting categories completed!") );
1102} 1102}
1103 1103
1104void KABCore::setSearchFields( const KABC::Field::List &fields ) 1104void KABCore::setSearchFields( const KABC::Field::List &fields )
1105{ 1105{
1106 mIncSearchWidget->setFields( fields ); 1106 mIncSearchWidget->setFields( fields );
1107} 1107}
1108 1108
1109void KABCore::incrementalSearch( const QString& text ) 1109void KABCore::incrementalSearch( const QString& text )
1110{ 1110{
1111 mViewManager->doSearch( text, mIncSearchWidget->currentField() ); 1111 mViewManager->doSearch( text, mIncSearchWidget->currentField() );
1112} 1112}
1113 1113
1114void KABCore::setModified() 1114void KABCore::setModified()
1115{ 1115{
1116 setModified( true ); 1116 setModified( true );
1117} 1117}
1118 1118
1119void KABCore::setModifiedWOrefresh() 1119void KABCore::setModifiedWOrefresh()
1120{ 1120{
1121 // qDebug("KABCore::setModifiedWOrefresh() "); 1121 // qDebug("KABCore::setModifiedWOrefresh() ");
1122 mModified = true; 1122 mModified = true;
1123 mActionSave->setEnabled( mModified ); 1123 mActionSave->setEnabled( mModified );
1124#ifdef DESKTOP_VERSION 1124#ifdef DESKTOP_VERSION
1125 mDetails->refreshView(); 1125 mDetails->refreshView();
1126#endif 1126#endif
1127 1127
1128} 1128}
1129void KABCore::setModified( bool modified ) 1129void KABCore::setModified( bool modified )
1130{ 1130{
1131 mModified = modified; 1131 mModified = modified;
1132 mActionSave->setEnabled( mModified ); 1132 mActionSave->setEnabled( mModified );
1133 1133
1134 if ( modified ) 1134 if ( modified )
1135 mJumpButtonBar->recreateButtons(); 1135 mJumpButtonBar->recreateButtons();
1136 1136
1137 mViewManager->refreshView(); 1137 mViewManager->refreshView();
1138 mDetails->refreshView(); 1138 mDetails->refreshView();
1139 1139
1140} 1140}
1141 1141
1142bool KABCore::modified() const 1142bool KABCore::modified() const
1143{ 1143{
1144 return mModified; 1144 return mModified;
1145} 1145}
1146 1146
1147void KABCore::contactModified( const KABC::Addressee &addr ) 1147void KABCore::contactModified( const KABC::Addressee &addr )
1148{ 1148{
1149 1149
1150 Command *command = 0; 1150 Command *command = 0;
1151 QString uid; 1151 QString uid;
1152 1152
1153 // check if it exists already 1153 // check if it exists already
1154 KABC::Addressee origAddr = mAddressBook->findByUid( addr.uid() ); 1154 KABC::Addressee origAddr = mAddressBook->findByUid( addr.uid() );
1155 if ( origAddr.isEmpty() ) 1155 if ( origAddr.isEmpty() )
1156 command = new PwNewCommand( mAddressBook, addr ); 1156 command = new PwNewCommand( mAddressBook, addr );
1157 else { 1157 else {
1158 command = new PwEditCommand( mAddressBook, origAddr, addr ); 1158 command = new PwEditCommand( mAddressBook, origAddr, addr );
1159 uid = addr.uid(); 1159 uid = addr.uid();
1160 } 1160 }
1161 1161
1162 UndoStack::instance()->push( command ); 1162 UndoStack::instance()->push( command );
1163 RedoStack::instance()->clear(); 1163 RedoStack::instance()->clear();
1164 1164
1165 setModified( true ); 1165 setModified( true );
1166} 1166}
1167 1167
1168void KABCore::newContact() 1168void KABCore::newContact()
1169{ 1169{
1170 1170
1171 1171
1172 QPtrList<KABC::Resource> kabcResources = mAddressBook->resources(); 1172 QPtrList<KABC::Resource> kabcResources = mAddressBook->resources();
1173 1173
1174 QPtrList<KRES::Resource> kresResources; 1174 QPtrList<KRES::Resource> kresResources;
1175 QPtrListIterator<KABC::Resource> it( kabcResources ); 1175 QPtrListIterator<KABC::Resource> it( kabcResources );
1176 KABC::Resource *resource; 1176 KABC::Resource *resource;
1177 while ( ( resource = it.current() ) != 0 ) { 1177 while ( ( resource = it.current() ) != 0 ) {
1178 ++it; 1178 ++it;
1179 if ( !resource->readOnly() ) { 1179 if ( !resource->readOnly() ) {
1180 KRES::Resource *res = static_cast<KRES::Resource*>( resource ); 1180 KRES::Resource *res = static_cast<KRES::Resource*>( resource );
1181 if ( res ) 1181 if ( res )
1182 kresResources.append( res ); 1182 kresResources.append( res );
1183 } 1183 }
1184 } 1184 }
1185 1185
1186 KRES::Resource *res = KRES::SelectDialog::getResource( kresResources, this ); 1186 KRES::Resource *res = KRES::SelectDialog::getResource( kresResources, this );
1187 resource = static_cast<KABC::Resource*>( res ); 1187 resource = static_cast<KABC::Resource*>( res );
1188 1188
1189 if ( resource ) { 1189 if ( resource ) {
1190 KABC::Addressee addr; 1190 KABC::Addressee addr;
1191 addr.setResource( resource ); 1191 addr.setResource( resource );
1192 mEditorDialog->setAddressee( addr ); 1192 mEditorDialog->setAddressee( addr );
1193 KApplication::execDialog ( mEditorDialog ); 1193 KApplication::execDialog ( mEditorDialog );
1194 1194
1195 } else 1195 } else
1196 return; 1196 return;
1197 1197
1198 // mEditorDict.insert( dialog->addressee().uid(), dialog ); 1198 // mEditorDict.insert( dialog->addressee().uid(), dialog );
1199 1199
1200 1200
1201} 1201}
1202 1202
1203void KABCore::addEmail( QString aStr ) 1203void KABCore::addEmail( QString aStr )
1204{ 1204{
1205#ifndef KAB_EMBEDDED 1205#ifndef KAB_EMBEDDED
1206 QString fullName, email; 1206 QString fullName, email;
1207 1207
1208 KABC::Addressee::parseEmailAddress( aStr, fullName, email ); 1208 KABC::Addressee::parseEmailAddress( aStr, fullName, email );
1209 1209
1210 // Try to lookup the addressee matching the email address 1210 // Try to lookup the addressee matching the email address
1211 bool found = false; 1211 bool found = false;
1212 QStringList emailList; 1212 QStringList emailList;
1213 KABC::AddressBook::Iterator it; 1213 KABC::AddressBook::Iterator it;
1214 for ( it = mAddressBook->begin(); !found && (it != mAddressBook->end()); ++it ) { 1214 for ( it = mAddressBook->begin(); !found && (it != mAddressBook->end()); ++it ) {
1215 emailList = (*it).emails(); 1215 emailList = (*it).emails();
1216 if ( emailList.contains( email ) > 0 ) { 1216 if ( emailList.contains( email ) > 0 ) {
1217 found = true; 1217 found = true;
1218 (*it).setNameFromString( fullName ); 1218 (*it).setNameFromString( fullName );
1219 editContact( (*it).uid() ); 1219 editContact( (*it).uid() );
1220 } 1220 }
1221 } 1221 }
1222 1222
1223 if ( !found ) { 1223 if ( !found ) {
1224 KABC::Addressee addr; 1224 KABC::Addressee addr;
1225 addr.setNameFromString( fullName ); 1225 addr.setNameFromString( fullName );
1226 addr.insertEmail( email, true ); 1226 addr.insertEmail( email, true );
1227 1227
1228 mAddressBook->insertAddressee( addr ); 1228 mAddressBook->insertAddressee( addr );
1229 mViewManager->refreshView( addr.uid() ); 1229 mViewManager->refreshView( addr.uid() );
1230 editContact( addr.uid() ); 1230 editContact( addr.uid() );
1231 } 1231 }
1232#else //KAB_EMBEDDED 1232#else //KAB_EMBEDDED
1233 qDebug("KABCore::addEmail finsih method"); 1233 qDebug("KABCore::addEmail finsih method");
1234#endif //KAB_EMBEDDED 1234#endif //KAB_EMBEDDED
1235} 1235}
1236 1236
1237void KABCore::importVCard( const KURL &url, bool showPreview ) 1237void KABCore::importVCard( const KURL &url, bool showPreview )
1238{ 1238{
1239 mXXPortManager->importVCard( url, showPreview ); 1239 mXXPortManager->importVCard( url, showPreview );
1240} 1240}
1241void KABCore::importFromOL() 1241void KABCore::importFromOL()
1242{ 1242{
1243#ifdef _WIN32_ 1243#ifdef _WIN32_
1244 KAImportOLdialog* idgl = new KAImportOLdialog( i18n("Import Contacts from OL"), mAddressBook, this ); 1244 KAImportOLdialog* idgl = new KAImportOLdialog( i18n("Import Contacts from OL"), mAddressBook, this );
1245 idgl->exec(); 1245 idgl->exec();
1246 KABC::Addressee::List list = idgl->getAddressList(); 1246 KABC::Addressee::List list = idgl->getAddressList();
1247 if ( list.count() > 0 ) { 1247 if ( list.count() > 0 ) {
1248 KABC::Addressee::List listNew; 1248 KABC::Addressee::List listNew;
1249 KABC::Addressee::List listExisting; 1249 KABC::Addressee::List listExisting;
1250 KABC::Addressee::List::Iterator it; 1250 KABC::Addressee::List::Iterator it;
1251 KABC::AddressBook::Iterator iter; 1251 KABC::AddressBook::Iterator iter;
1252 for ( it = list.begin(); it != list.end(); ++it ) { 1252 for ( it = list.begin(); it != list.end(); ++it ) {
1253 if ( mAddressBook->findByUid((*it).uid() ).isEmpty()) 1253 if ( mAddressBook->findByUid((*it).uid() ).isEmpty())
1254 listNew.append( (*it) ); 1254 listNew.append( (*it) );
1255 else 1255 else
1256 listExisting.append( (*it) ); 1256 listExisting.append( (*it) );
1257 } 1257 }
1258 if ( listExisting.count() > 0 ) 1258 if ( listExisting.count() > 0 )
1259 KMessageBox::information( this, i18n("%1 contacts not added to addressbook\nbecause they were already in the addressbook!").arg( listExisting.count() )); 1259 KMessageBox::information( this, i18n("%1 contacts not added to addressbook\nbecause they were already in the addressbook!").arg( listExisting.count() ));
1260 if ( listNew.count() > 0 ) { 1260 if ( listNew.count() > 0 ) {
1261 pasteWithNewUid = false; 1261 pasteWithNewUid = false;
1262 pasteContacts( listNew ); 1262 pasteContacts( listNew );
1263 pasteWithNewUid = true; 1263 pasteWithNewUid = true;
1264 } 1264 }
1265 } 1265 }
1266 delete idgl; 1266 delete idgl;
1267#endif 1267#endif
1268} 1268}
1269 1269
1270void KABCore::importVCard( const QString &vCard, bool showPreview ) 1270void KABCore::importVCard( const QString &vCard, bool showPreview )
1271{ 1271{
1272 mXXPortManager->importVCard( vCard, showPreview ); 1272 mXXPortManager->importVCard( vCard, showPreview );
1273} 1273}
1274 1274
1275//US added a second method without defaultparameter 1275//US added a second method without defaultparameter
1276void KABCore::editContact2() { 1276void KABCore::editContact2() {
1277 editContact( QString::null ); 1277 editContact( QString::null );
1278} 1278}
1279 1279
1280void KABCore::editContact( const QString &uid ) 1280void KABCore::editContact( const QString &uid )
1281{ 1281{
1282 1282
1283 if ( mExtensionManager->isQuickEditVisible() ) 1283 if ( mExtensionManager->isQuickEditVisible() )
1284 return; 1284 return;
1285 1285
1286 // First, locate the contact entry 1286 // First, locate the contact entry
1287 QString localUID = uid; 1287 QString localUID = uid;
1288 if ( localUID.isNull() ) { 1288 if ( localUID.isNull() ) {
1289 QStringList uidList = mViewManager->selectedUids(); 1289 QStringList uidList = mViewManager->selectedUids();
1290 if ( uidList.count() > 0 ) 1290 if ( uidList.count() > 0 )
1291 localUID = *( uidList.at( 0 ) ); 1291 localUID = *( uidList.at( 0 ) );
1292 } 1292 }
1293 1293
1294 KABC::Addressee addr = mAddressBook->findByUid( localUID ); 1294 KABC::Addressee addr = mAddressBook->findByUid( localUID );
1295 if ( !addr.isEmpty() ) { 1295 if ( !addr.isEmpty() ) {
1296 mEditorDialog->setAddressee( addr ); 1296 mEditorDialog->setAddressee( addr );
1297 KApplication::execDialog ( mEditorDialog ); 1297 KApplication::execDialog ( mEditorDialog );
1298 } 1298 }
1299} 1299}
1300 1300
1301/** 1301/**
1302 Shows or edits the detail view for the given uid. If the uid is QString::null, 1302 Shows or edits the detail view for the given uid. If the uid is QString::null,
1303 the method will try to find a selected addressee in the view. 1303 the method will try to find a selected addressee in the view.
1304 */ 1304 */
1305void KABCore::executeContact( const QString &uid /*US = QString::null*/ ) 1305void KABCore::executeContact( const QString &uid /*US = QString::null*/ )
1306{ 1306{
1307 if ( mMultipleViewsAtOnce ) 1307 if ( mMultipleViewsAtOnce )
1308 { 1308 {
1309 editContact( uid ); 1309 editContact( uid );
1310 } 1310 }
1311 else 1311 else
1312 { 1312 {
1313 setDetailsVisible( true ); 1313 setDetailsVisible( true );
1314 mActionDetails->setChecked(true); 1314 mActionDetails->setChecked(true);
1315 } 1315 }
1316 1316
1317} 1317}
1318 1318
1319void KABCore::save() 1319void KABCore::save()
1320{ 1320{
1321 if (syncManager->blockSave()) 1321 if (syncManager->blockSave())
1322 return; 1322 return;
1323 if ( !mModified ) 1323 if ( !mModified )
1324 return; 1324 return;
1325 1325
1326 syncManager->setBlockSave(true); 1326 syncManager->setBlockSave(true);
1327 QString text = i18n( "There was an error while attempting to save\n the " 1327 QString text = i18n( "There was an error while attempting to save\n the "
1328 "address book. Please check that some \nother application is " 1328 "address book. Please check that some \nother application is "
1329 "not using it. " ); 1329 "not using it. " );
1330 message(i18n("Saving addressbook ... ")); 1330 message(i18n("Saving addressbook ... "));
1331#ifndef KAB_EMBEDDED 1331#ifndef KAB_EMBEDDED
1332 KABC::StdAddressBook *b = dynamic_cast<KABC::StdAddressBook*>( mAddressBook ); 1332 KABC::StdAddressBook *b = dynamic_cast<KABC::StdAddressBook*>( mAddressBook );
1333 if ( !b || !b->save() ) { 1333 if ( !b || !b->save() ) {
1334 KMessageBox::error( this, text, i18n( "Unable to Save" ) ); 1334 KMessageBox::error( this, text, i18n( "Unable to Save" ) );
1335 } 1335 }
1336#else //KAB_EMBEDDED 1336#else //KAB_EMBEDDED
1337 KABC::StdAddressBook *b = (KABC::StdAddressBook*)( mAddressBook ); 1337 KABC::StdAddressBook *b = (KABC::StdAddressBook*)( mAddressBook );
1338 if ( !b || !b->save() ) { 1338 if ( !b || !b->save() ) {
1339 QMessageBox::critical( this, i18n( "Unable to Save" ), text, i18n("Ok")); 1339 QMessageBox::critical( this, i18n( "Unable to Save" ), text, i18n("Ok"));
1340 } 1340 }
1341#endif //KAB_EMBEDDED 1341#endif //KAB_EMBEDDED
1342 1342
1343 message(i18n("Addressbook saved!")); 1343 message(i18n("Addressbook saved!"));
1344 setModified( false ); 1344 setModified( false );
1345 syncManager->setBlockSave(false); 1345 syncManager->setBlockSave(false);
1346} 1346}
1347 1347
1348 1348
1349void KABCore::undo() 1349void KABCore::undo()
1350{ 1350{
1351 UndoStack::instance()->undo(); 1351 UndoStack::instance()->undo();
1352 1352
1353 // Refresh the view 1353 // Refresh the view
1354 mViewManager->refreshView(); 1354 mViewManager->refreshView();
1355} 1355}
1356 1356
1357void KABCore::redo() 1357void KABCore::redo()
1358{ 1358{
1359 RedoStack::instance()->redo(); 1359 RedoStack::instance()->redo();
1360 1360
1361 // Refresh the view 1361 // Refresh the view
1362 mViewManager->refreshView(); 1362 mViewManager->refreshView();
1363} 1363}
1364 1364
1365void KABCore::setJumpButtonBarVisible( bool visible ) 1365void KABCore::setJumpButtonBarVisible( bool visible )
1366{ 1366{
1367 if (mMultipleViewsAtOnce) 1367 if (mMultipleViewsAtOnce)
1368 { 1368 {
1369 if ( visible ) 1369 if ( visible )
1370 mJumpButtonBar->show(); 1370 mJumpButtonBar->show();
1371 else 1371 else
1372 mJumpButtonBar->hide(); 1372 mJumpButtonBar->hide();
1373 } 1373 }
1374 else 1374 else
1375 { 1375 {
1376 // show the jumpbar only if "the details are hidden" == "viewmanager are shown" 1376 // show the jumpbar only if "the details are hidden" == "viewmanager are shown"
1377 if (mViewManager->isVisible()) 1377 if (mViewManager->isVisible())
1378 { 1378 {
1379 if ( visible ) 1379 if ( visible )
1380 mJumpButtonBar->show(); 1380 mJumpButtonBar->show();
1381 else 1381 else
1382 mJumpButtonBar->hide(); 1382 mJumpButtonBar->hide();
1383 } 1383 }
1384 else 1384 else
1385 { 1385 {
1386 mJumpButtonBar->hide(); 1386 mJumpButtonBar->hide();
1387 } 1387 }
1388 } 1388 }
1389} 1389}
1390 1390
1391 1391
1392void KABCore::setDetailsToState() 1392void KABCore::setDetailsToState()
1393{ 1393{
1394 setDetailsVisible( mActionDetails->isChecked() ); 1394 setDetailsVisible( mActionDetails->isChecked() );
1395} 1395}
1396void KABCore::setDetailsToggle() 1396void KABCore::setDetailsToggle()
1397{ 1397{
1398 mActionDetails->setChecked( !mActionDetails->isChecked() ); 1398 mActionDetails->setChecked( !mActionDetails->isChecked() );
1399 setDetailsToState(); 1399 setDetailsToState();
1400} 1400}
1401 1401
1402 1402
1403 1403
1404void KABCore::setDetailsVisible( bool visible ) 1404void KABCore::setDetailsVisible( bool visible )
1405{ 1405{
1406 if (visible && mDetails->isHidden()) 1406 if (visible && mDetails->isHidden())
1407 { 1407 {
1408 KABC::Addressee::List addrList = mViewManager->selectedAddressees(); 1408 KABC::Addressee::List addrList = mViewManager->selectedAddressees();
1409 if ( addrList.count() > 0 ) 1409 if ( addrList.count() > 0 )
1410 mDetails->setAddressee( addrList[ 0 ] ); 1410 mDetails->setAddressee( addrList[ 0 ] );
1411 } 1411 }
1412 1412
1413 // mMultipleViewsAtOnce=false: mDetails is always visible. But we switch between 1413 // mMultipleViewsAtOnce=false: mDetails is always visible. But we switch between
1414 // the listview and the detailview. We do that by changing the splitbar size. 1414 // the listview and the detailview. We do that by changing the splitbar size.
1415 if (mMultipleViewsAtOnce) 1415 if (mMultipleViewsAtOnce)
1416 { 1416 {
1417 if ( visible ) 1417 if ( visible )
1418 mDetails->show(); 1418 mDetails->show();
1419 else 1419 else
1420 mDetails->hide(); 1420 mDetails->hide();
1421 } 1421 }
1422 else 1422 else
1423 { 1423 {
1424 if ( visible ) { 1424 if ( visible ) {
1425 mViewManager->hide(); 1425 mViewManager->hide();
1426 mDetails->show(); 1426 mDetails->show();
1427 mIncSearchWidget->setFocus(); 1427 mIncSearchWidget->setFocus();
1428 } 1428 }
1429 else { 1429 else {
1430 mViewManager->show(); 1430 mViewManager->show();
1431 mDetails->hide(); 1431 mDetails->hide();
1432 mViewManager->setFocusAV(); 1432 mViewManager->setFocusAV();
1433 } 1433 }
1434 setJumpButtonBarVisible( !visible ); 1434 setJumpButtonBarVisible( !visible );
1435 } 1435 }
1436 1436
1437} 1437}
1438 1438
1439void KABCore::extensionChanged( int id ) 1439void KABCore::extensionChanged( int id )
1440{ 1440{
1441 //change the details view only for non desktop systems 1441 //change the details view only for non desktop systems
1442#ifndef DESKTOP_VERSION 1442#ifndef DESKTOP_VERSION
1443 1443
1444 if (id == 0) 1444 if (id == 0)
1445 { 1445 {
1446 //the user disabled the extension. 1446 //the user disabled the extension.
1447 1447
1448 if (mMultipleViewsAtOnce) 1448 if (mMultipleViewsAtOnce)
1449 { // enable detailsview again 1449 { // enable detailsview again
1450 setDetailsVisible( true ); 1450 setDetailsVisible( true );
1451 mActionDetails->setChecked( true ); 1451 mActionDetails->setChecked( true );
1452 } 1452 }
1453 else 1453 else
1454 { //go back to the listview 1454 { //go back to the listview
1455 setDetailsVisible( false ); 1455 setDetailsVisible( false );
1456 mActionDetails->setChecked( false ); 1456 mActionDetails->setChecked( false );
1457 mActionDetails->setEnabled(true); 1457 mActionDetails->setEnabled(true);
1458 } 1458 }
1459 1459
1460 } 1460 }
1461 else 1461 else
1462 { 1462 {
1463 //the user enabled the extension. 1463 //the user enabled the extension.
1464 setDetailsVisible( false ); 1464 setDetailsVisible( false );
1465 mActionDetails->setChecked( false ); 1465 mActionDetails->setChecked( false );
1466 1466
1467 if (!mMultipleViewsAtOnce) 1467 if (!mMultipleViewsAtOnce)
1468 { 1468 {
1469 mActionDetails->setEnabled(false); 1469 mActionDetails->setEnabled(false);
1470 } 1470 }
1471 1471
1472 mExtensionManager->setSelectionChanged(); 1472 mExtensionManager->setSelectionChanged();
1473 1473
1474 } 1474 }
1475 1475
1476#endif// DESKTOP_VERSION 1476#endif// DESKTOP_VERSION
1477 1477
1478} 1478}
1479 1479
1480 1480
1481void KABCore::extensionModified( const KABC::Addressee::List &list ) 1481void KABCore::extensionModified( const KABC::Addressee::List &list )
1482{ 1482{
1483 1483
1484 if ( list.count() != 0 ) { 1484 if ( list.count() != 0 ) {
1485 KABC::Addressee::List::ConstIterator it; 1485 KABC::Addressee::List::ConstIterator it;
1486 for ( it = list.begin(); it != list.end(); ++it ) 1486 for ( it = list.begin(); it != list.end(); ++it )
1487 mAddressBook->insertAddressee( *it ); 1487 mAddressBook->insertAddressee( *it );
1488 if ( list.count() > 1 ) 1488 if ( list.count() > 1 )
1489 setModified(); 1489 setModified();
1490 else 1490 else
1491 setModifiedWOrefresh(); 1491 setModifiedWOrefresh();
1492 } 1492 }
1493 if ( list.count() == 0 ) 1493 if ( list.count() == 0 )
1494 mViewManager->refreshView(); 1494 mViewManager->refreshView();
1495 else 1495 else
1496 mViewManager->refreshView( list[ 0 ].uid() ); 1496 mViewManager->refreshView( list[ 0 ].uid() );
1497 1497
1498 1498
1499 1499
1500} 1500}
1501 1501
1502QString KABCore::getNameByPhone( const QString &phone ) 1502QString KABCore::getNameByPhone( const QString &phone )
1503{ 1503{
1504#ifndef KAB_EMBEDDED 1504#ifndef KAB_EMBEDDED
1505 QRegExp r( "[/*/-/ ]" ); 1505 QRegExp r( "[/*/-/ ]" );
1506 QString localPhone( phone ); 1506 QString localPhone( phone );
1507 1507
1508 bool found = false; 1508 bool found = false;
1509 QString ownerName = ""; 1509 QString ownerName = "";
1510 KABC::AddressBook::Iterator iter; 1510 KABC::AddressBook::Iterator iter;
1511 KABC::PhoneNumber::List::Iterator phoneIter; 1511 KABC::PhoneNumber::List::Iterator phoneIter;
1512 KABC::PhoneNumber::List phoneList; 1512 KABC::PhoneNumber::List phoneList;
1513 for ( iter = mAddressBook->begin(); !found && ( iter != mAddressBook->end() ); ++iter ) { 1513 for ( iter = mAddressBook->begin(); !found && ( iter != mAddressBook->end() ); ++iter ) {
1514 phoneList = (*iter).phoneNumbers(); 1514 phoneList = (*iter).phoneNumbers();
1515 for ( phoneIter = phoneList.begin(); !found && ( phoneIter != phoneList.end() ); 1515 for ( phoneIter = phoneList.begin(); !found && ( phoneIter != phoneList.end() );
1516 ++phoneIter) { 1516 ++phoneIter) {
1517 // Get rid of separator chars so just the numbers are compared. 1517 // Get rid of separator chars so just the numbers are compared.
1518 if ( (*phoneIter).number().replace( r, "" ) == localPhone.replace( r, "" ) ) { 1518 if ( (*phoneIter).number().replace( r, "" ) == localPhone.replace( r, "" ) ) {
1519 ownerName = (*iter).formattedName(); 1519 ownerName = (*iter).formattedName();
1520 found = true; 1520 found = true;
1521 } 1521 }
1522 } 1522 }
1523 } 1523 }
1524 1524
1525 return ownerName; 1525 return ownerName;
1526#else //KAB_EMBEDDED 1526#else //KAB_EMBEDDED
1527 qDebug("KABCore::getNameByPhone finsih method"); 1527 qDebug("KABCore::getNameByPhone finsih method");
1528 return ""; 1528 return "";
1529#endif //KAB_EMBEDDED 1529#endif //KAB_EMBEDDED
1530 1530
1531} 1531}
1532 1532
1533void KABCore::openConfigDialog() 1533void KABCore::openConfigDialog()
1534{ 1534{
1535 KCMultiDialog* ConfigureDialog = new KCMultiDialog( "PIM", this ,"kabconfigdialog", true ); 1535 KCMultiDialog* ConfigureDialog = new KCMultiDialog( "PIM", this ,"kabconfigdialog", true );
1536 KCMKabConfig* kabcfg = new KCMKabConfig( ConfigureDialog->getNewVBoxPage(i18n( "Addressbook")) , "KCMKabConfig" ); 1536 KCMKabConfig* kabcfg = new KCMKabConfig( ConfigureDialog->getNewVBoxPage(i18n( "Addressbook")) , "KCMKabConfig" );
1537 ConfigureDialog->addModule(kabcfg ); 1537 ConfigureDialog->addModule(kabcfg );
1538 KCMKdePimConfig* kdelibcfg = new KCMKdePimConfig( ConfigureDialog->getNewVBoxPage(i18n( "Global")) , "KCMKdeLibConfig" ); 1538 KCMKdePimConfig* kdelibcfg = new KCMKdePimConfig( ConfigureDialog->getNewVBoxPage(i18n( "Global")) , "KCMKdeLibConfig" );
1539 ConfigureDialog->addModule(kdelibcfg ); 1539 ConfigureDialog->addModule(kdelibcfg );
1540 1540
1541 connect( ConfigureDialog, SIGNAL( applyClicked() ), 1541 connect( ConfigureDialog, SIGNAL( applyClicked() ),
1542 this, SLOT( configurationChanged() ) ); 1542 this, SLOT( configurationChanged() ) );
1543 connect( ConfigureDialog, SIGNAL( okClicked() ), 1543 connect( ConfigureDialog, SIGNAL( okClicked() ),
1544 this, SLOT( configurationChanged() ) ); 1544 this, SLOT( configurationChanged() ) );
1545 saveSettings(); 1545 saveSettings();
1546#ifndef DESKTOP_VERSION 1546#ifndef DESKTOP_VERSION
1547 ConfigureDialog->showMaximized(); 1547 ConfigureDialog->showMaximized();
1548#endif 1548#endif
1549 if ( ConfigureDialog->exec() ) 1549 if ( ConfigureDialog->exec() )
1550 KMessageBox::information( this, i18n("Some changes are only\neffective after a restart!\n") ); 1550 KMessageBox::information( this, i18n("Some changes are only\neffective after a restart!\n") );
1551 delete ConfigureDialog; 1551 delete ConfigureDialog;
1552} 1552}
1553 1553
1554void KABCore::openLDAPDialog() 1554void KABCore::openLDAPDialog()
1555{ 1555{
1556#ifndef KAB_EMBEDDED 1556#ifndef KAB_EMBEDDED
1557 if ( !mLdapSearchDialog ) { 1557 if ( !mLdapSearchDialog ) {
1558 mLdapSearchDialog = new LDAPSearchDialog( mAddressBook, this ); 1558 mLdapSearchDialog = new LDAPSearchDialog( mAddressBook, this );
1559 connect( mLdapSearchDialog, SIGNAL( addresseesAdded() ), mViewManager, 1559 connect( mLdapSearchDialog, SIGNAL( addresseesAdded() ), mViewManager,
1560 SLOT( refreshView() ) ); 1560 SLOT( refreshView() ) );
1561 connect( mLdapSearchDialog, SIGNAL( addresseesAdded() ), this, 1561 connect( mLdapSearchDialog, SIGNAL( addresseesAdded() ), this,
1562 SLOT( setModified() ) ); 1562 SLOT( setModified() ) );
1563 } else 1563 } else
1564 mLdapSearchDialog->restoreSettings(); 1564 mLdapSearchDialog->restoreSettings();
1565 1565
1566 if ( mLdapSearchDialog->isOK() ) 1566 if ( mLdapSearchDialog->isOK() )
1567 mLdapSearchDialog->exec(); 1567 mLdapSearchDialog->exec();
1568#else //KAB_EMBEDDED 1568#else //KAB_EMBEDDED
1569 qDebug("KABCore::openLDAPDialog() finsih method"); 1569 qDebug("KABCore::openLDAPDialog() finsih method");
1570#endif //KAB_EMBEDDED 1570#endif //KAB_EMBEDDED
1571} 1571}
1572 1572
1573void KABCore::print() 1573void KABCore::print()
1574{ 1574{
1575#ifndef KAB_EMBEDDED 1575#ifndef KAB_EMBEDDED
1576 KPrinter printer; 1576 KPrinter printer;
1577 if ( !printer.setup( this ) ) 1577 if ( !printer.setup( this ) )
1578 return; 1578 return;
1579 1579
1580 KABPrinting::PrintingWizard wizard( &printer, mAddressBook, 1580 KABPrinting::PrintingWizard wizard( &printer, mAddressBook,
1581 mViewManager->selectedUids(), this ); 1581 mViewManager->selectedUids(), this );
1582 1582
1583 wizard.exec(); 1583 wizard.exec();
1584#else //KAB_EMBEDDED 1584#else //KAB_EMBEDDED
1585 qDebug("KABCore::print() finsih method"); 1585 qDebug("KABCore::print() finsih method");
1586#endif //KAB_EMBEDDED 1586#endif //KAB_EMBEDDED
1587 1587
1588} 1588}
1589 1589
1590 1590
1591void KABCore::addGUIClient( KXMLGUIClient *client ) 1591void KABCore::addGUIClient( KXMLGUIClient *client )
1592{ 1592{
1593 if ( mGUIClient ) 1593 if ( mGUIClient )
1594 mGUIClient->insertChildClient( client ); 1594 mGUIClient->insertChildClient( client );
1595 else 1595 else
1596 KMessageBox::error( this, "no KXMLGUICLient"); 1596 KMessageBox::error( this, "no KXMLGUICLient");
1597} 1597}
1598 1598
1599 1599
1600void KABCore::configurationChanged() 1600void KABCore::configurationChanged()
1601{ 1601{
1602 mExtensionManager->reconfigure(); 1602 mExtensionManager->reconfigure();
1603} 1603}
1604 1604
1605void KABCore::addressBookChanged() 1605void KABCore::addressBookChanged()
1606{ 1606{
1607/*US 1607/*US
1608 QDictIterator<AddresseeEditorDialog> it( mEditorDict ); 1608 QDictIterator<AddresseeEditorDialog> it( mEditorDict );
1609 while ( it.current() ) { 1609 while ( it.current() ) {
1610 if ( it.current()->dirty() ) { 1610 if ( it.current()->dirty() ) {
1611 QString text = i18n( "Data has been changed externally. Unsaved " 1611 QString text = i18n( "Data has been changed externally. Unsaved "
1612 "changes will be lost." ); 1612 "changes will be lost." );
1613 KMessageBox::information( this, text ); 1613 KMessageBox::information( this, text );
1614 } 1614 }
1615 it.current()->setAddressee( mAddressBook->findByUid( it.currentKey() ) ); 1615 it.current()->setAddressee( mAddressBook->findByUid( it.currentKey() ) );
1616 ++it; 1616 ++it;
1617 } 1617 }
1618*/ 1618*/
1619 if (mEditorDialog) 1619 if (mEditorDialog)
1620 { 1620 {
1621 if (mEditorDialog->dirty()) 1621 if (mEditorDialog->dirty())
1622 { 1622 {
1623 QString text = i18n( "Data has been changed externally. Unsaved " 1623 QString text = i18n( "Data has been changed externally. Unsaved "
1624 "changes will be lost." ); 1624 "changes will be lost." );
1625 KMessageBox::information( this, text ); 1625 KMessageBox::information( this, text );
1626 } 1626 }
1627 QString currentuid = mEditorDialog->addressee().uid(); 1627 QString currentuid = mEditorDialog->addressee().uid();
1628 mEditorDialog->setAddressee( mAddressBook->findByUid( currentuid ) ); 1628 mEditorDialog->setAddressee( mAddressBook->findByUid( currentuid ) );
1629 } 1629 }
1630 mViewManager->refreshView(); 1630 mViewManager->refreshView();
1631// mDetails->refreshView(); 1631// mDetails->refreshView();
1632 1632
1633 1633
1634} 1634}
1635 1635
1636AddresseeEditorDialog *KABCore::createAddresseeEditorDialog( QWidget *parent, 1636AddresseeEditorDialog *KABCore::createAddresseeEditorDialog( QWidget *parent,
1637 const char *name ) 1637 const char *name )
1638{ 1638{
1639 1639
1640 if ( mEditorDialog == 0 ) { 1640 if ( mEditorDialog == 0 ) {
1641 mEditorDialog = new AddresseeEditorDialog( this, parent, 1641 mEditorDialog = new AddresseeEditorDialog( this, parent,
1642 name ? name : "editorDialog" ); 1642 name ? name : "editorDialog" );
1643 1643
1644 1644
1645 connect( mEditorDialog, SIGNAL( contactModified( const KABC::Addressee& ) ), 1645 connect( mEditorDialog, SIGNAL( contactModified( const KABC::Addressee& ) ),
1646 SLOT( contactModified( const KABC::Addressee& ) ) ); 1646 SLOT( contactModified( const KABC::Addressee& ) ) );
1647 //connect( mEditorDialog, SIGNAL( editorDestroyed( const QString& ) ), 1647 //connect( mEditorDialog, SIGNAL( editorDestroyed( const QString& ) ),
1648 // SLOT( slotEditorDestroyed( const QString& ) ) ; 1648 // SLOT( slotEditorDestroyed( const QString& ) ) ;
1649 } 1649 }
1650 1650
1651 return mEditorDialog; 1651 return mEditorDialog;
1652} 1652}
1653 1653
1654void KABCore::slotEditorDestroyed( const QString &uid ) 1654void KABCore::slotEditorDestroyed( const QString &uid )
1655{ 1655{
1656 //mEditorDict.remove( uid ); 1656 //mEditorDict.remove( uid );
1657} 1657}
1658 1658
1659void KABCore::initGUI() 1659void KABCore::initGUI()
1660{ 1660{
1661#ifndef KAB_EMBEDDED 1661#ifndef KAB_EMBEDDED
1662 QHBoxLayout *topLayout = new QHBoxLayout( this ); 1662 QHBoxLayout *topLayout = new QHBoxLayout( this );
1663 topLayout->setSpacing( KDialogBase::spacingHint() ); 1663 topLayout->setSpacing( KDialogBase::spacingHint() );
1664 1664
1665 mExtensionBarSplitter = new QSplitter( this ); 1665 mExtensionBarSplitter = new QSplitter( this );
1666 mExtensionBarSplitter->setOrientation( Qt::Vertical ); 1666 mExtensionBarSplitter->setOrientation( Qt::Vertical );
1667 1667
1668 mDetailsSplitter = new QSplitter( mExtensionBarSplitter ); 1668 mDetailsSplitter = new QSplitter( mExtensionBarSplitter );
1669 1669
1670 QVBox *viewSpace = new QVBox( mDetailsSplitter ); 1670 QVBox *viewSpace = new QVBox( mDetailsSplitter );
1671 mIncSearchWidget = new IncSearchWidget( viewSpace ); 1671 mIncSearchWidget = new IncSearchWidget( viewSpace );
1672 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), 1672 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ),
1673 SLOT( incrementalSearch( const QString& ) ) ); 1673 SLOT( incrementalSearch( const QString& ) ) );
1674 1674
1675 mViewManager = new ViewManager( this, viewSpace ); 1675 mViewManager = new ViewManager( this, viewSpace );
1676 viewSpace->setStretchFactor( mViewManager, 1 ); 1676 viewSpace->setStretchFactor( mViewManager, 1 );
1677 1677
1678 mDetails = new ViewContainer( mDetailsSplitter ); 1678 mDetails = new ViewContainer( mDetailsSplitter );
1679 1679
1680 mJumpButtonBar = new JumpButtonBar( this, this ); 1680 mJumpButtonBar = new JumpButtonBar( this, this );
1681 1681
1682 mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter ); 1682 mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter );
1683 1683
1684 topLayout->addWidget( mExtensionBarSplitter ); 1684 topLayout->addWidget( mExtensionBarSplitter );
1685 topLayout->setStretchFactor( mExtensionBarSplitter, 100 ); 1685 topLayout->setStretchFactor( mExtensionBarSplitter, 100 );
1686 topLayout->addWidget( mJumpButtonBar ); 1686 topLayout->addWidget( mJumpButtonBar );
1687 topLayout->setStretchFactor( mJumpButtonBar, 1 ); 1687 topLayout->setStretchFactor( mJumpButtonBar, 1 );
1688 1688
1689 mXXPortManager = new XXPortManager( this, this ); 1689 mXXPortManager = new XXPortManager( this, this );
1690 1690
1691#else //KAB_EMBEDDED 1691#else //KAB_EMBEDDED
1692 //US initialize viewMenu before settingup viewmanager. 1692 //US initialize viewMenu before settingup viewmanager.
1693 // Viewmanager needs this menu to plugin submenues. 1693 // Viewmanager needs this menu to plugin submenues.
1694 viewMenu = new QPopupMenu( this ); 1694 viewMenu = new QPopupMenu( this );
1695 settingsMenu = new QPopupMenu( this ); 1695 settingsMenu = new QPopupMenu( this );
1696 //filterMenu = new QPopupMenu( this ); 1696 //filterMenu = new QPopupMenu( this );
1697 ImportMenu = new QPopupMenu( this ); 1697 ImportMenu = new QPopupMenu( this );
1698 ExportMenu = new QPopupMenu( this ); 1698 ExportMenu = new QPopupMenu( this );
1699 syncMenu = new QPopupMenu( this ); 1699 syncMenu = new QPopupMenu( this );
1700 changeMenu= new QPopupMenu( this ); 1700 changeMenu= new QPopupMenu( this );
1701 beamMenu= new QPopupMenu( this ); 1701 beamMenu= new QPopupMenu( this );
1702 1702
1703//US since we have no splitter for the embedded system, setup 1703//US since we have no splitter for the embedded system, setup
1704// a layout with two frames. One left and one right. 1704// a layout with two frames. One left and one right.
1705 1705
1706 QBoxLayout *topLayout; 1706 QBoxLayout *topLayout;
1707 1707
1708 // = new QHBoxLayout( this ); 1708 // = new QHBoxLayout( this );
1709// QBoxLayout *topLayout = (QBoxLayout*)layout(); 1709// QBoxLayout *topLayout = (QBoxLayout*)layout();
1710 1710
1711// QWidget *mainBox = new QWidget( this ); 1711// QWidget *mainBox = new QWidget( this );
1712// QBoxLayout * mainBoxLayout = new QHBoxLayout(mainBox); 1712// QBoxLayout * mainBoxLayout = new QHBoxLayout(mainBox);
1713 1713
1714#ifdef DESKTOP_VERSION 1714#ifdef DESKTOP_VERSION
1715 topLayout = new QHBoxLayout( this ); 1715 topLayout = new QHBoxLayout( this );
1716 1716
1717 1717
1718 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this); 1718 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this);
1719 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); 1719 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right );
1720 1720
1721 topLayout->addWidget(mMiniSplitter ); 1721 topLayout->addWidget(mMiniSplitter );
1722 1722
1723 mExtensionBarSplitter = new KDGanttMinimizeSplitter( Qt::Vertical,mMiniSplitter ); 1723 mExtensionBarSplitter = new KDGanttMinimizeSplitter( Qt::Vertical,mMiniSplitter );
1724 mExtensionBarSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down ); 1724 mExtensionBarSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down );
1725 mViewManager = new ViewManager( this, mExtensionBarSplitter ); 1725 mViewManager = new ViewManager( this, mExtensionBarSplitter );
1726 mDetails = new ViewContainer( mMiniSplitter ); 1726 mDetails = new ViewContainer( mMiniSplitter );
1727 mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter ); 1727 mExtensionManager = new ExtensionManager( this, mExtensionBarSplitter );
1728#else 1728#else
1729 if ( QApplication::desktop()->width() > 480 ) { 1729 if ( QApplication::desktop()->width() > 480 ) {
1730 topLayout = new QHBoxLayout( this ); 1730 topLayout = new QHBoxLayout( this );
1731 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this); 1731 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Horizontal, this);
1732 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right ); 1732 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Right );
1733 } else { 1733 } else {
1734 1734
1735 topLayout = new QHBoxLayout( this ); 1735 topLayout = new QHBoxLayout( this );
1736 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Vertical, this); 1736 mMiniSplitter = new KDGanttMinimizeSplitter( Qt::Vertical, this);
1737 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down ); 1737 mMiniSplitter->setMinimizeDirection ( KDGanttMinimizeSplitter::Down );
1738 } 1738 }
1739 1739
1740 topLayout->addWidget(mMiniSplitter ); 1740 topLayout->addWidget(mMiniSplitter );
1741 mViewManager = new ViewManager( this, mMiniSplitter ); 1741 mViewManager = new ViewManager( this, mMiniSplitter );
1742 mDetails = new ViewContainer( mMiniSplitter ); 1742 mDetails = new ViewContainer( mMiniSplitter );
1743 1743
1744 1744
1745 mExtensionManager = new ExtensionManager( this, mMiniSplitter ); 1745 mExtensionManager = new ExtensionManager( this, mMiniSplitter );
1746#endif 1746#endif
1747 //eh->hide(); 1747 //eh->hide();
1748 // topLayout->addWidget(mExtensionManager ); 1748 // topLayout->addWidget(mExtensionManager );
1749 1749
1750 1750
1751/*US 1751/*US
1752#ifndef KAB_NOSPLITTER 1752#ifndef KAB_NOSPLITTER
1753 QHBoxLayout *topLayout = new QHBoxLayout( this ); 1753 QHBoxLayout *topLayout = new QHBoxLayout( this );
1754//US topLayout->setSpacing( KDialogBase::spacingHint() ); 1754//US topLayout->setSpacing( KDialogBase::spacingHint() );
1755 topLayout->setSpacing( 10 ); 1755 topLayout->setSpacing( 10 );
1756 1756
1757 mDetailsSplitter = new QSplitter( this ); 1757 mDetailsSplitter = new QSplitter( this );
1758 1758
1759 QVBox *viewSpace = new QVBox( mDetailsSplitter ); 1759 QVBox *viewSpace = new QVBox( mDetailsSplitter );
1760 1760
1761 mViewManager = new ViewManager( this, viewSpace ); 1761 mViewManager = new ViewManager( this, viewSpace );
1762 viewSpace->setStretchFactor( mViewManager, 1 ); 1762 viewSpace->setStretchFactor( mViewManager, 1 );
1763 1763
1764 mDetails = new ViewContainer( mDetailsSplitter ); 1764 mDetails = new ViewContainer( mDetailsSplitter );
1765 1765
1766 topLayout->addWidget( mDetailsSplitter ); 1766 topLayout->addWidget( mDetailsSplitter );
1767 topLayout->setStretchFactor( mDetailsSplitter, 100 ); 1767 topLayout->setStretchFactor( mDetailsSplitter, 100 );
1768#else //KAB_NOSPLITTER 1768#else //KAB_NOSPLITTER
1769 QHBoxLayout *topLayout = new QHBoxLayout( this ); 1769 QHBoxLayout *topLayout = new QHBoxLayout( this );
1770//US topLayout->setSpacing( KDialogBase::spacingHint() ); 1770//US topLayout->setSpacing( KDialogBase::spacingHint() );
1771 topLayout->setSpacing( 10 ); 1771 topLayout->setSpacing( 10 );
1772 1772
1773// mDetailsSplitter = new QSplitter( this ); 1773// mDetailsSplitter = new QSplitter( this );
1774 1774
1775 QVBox *viewSpace = new QVBox( this ); 1775 QVBox *viewSpace = new QVBox( this );
1776 1776
1777 mViewManager = new ViewManager( this, viewSpace ); 1777 mViewManager = new ViewManager( this, viewSpace );
1778 viewSpace->setStretchFactor( mViewManager, 1 ); 1778 viewSpace->setStretchFactor( mViewManager, 1 );
1779 1779
1780 mDetails = new ViewContainer( this ); 1780 mDetails = new ViewContainer( this );
1781 1781
1782 topLayout->addWidget( viewSpace ); 1782 topLayout->addWidget( viewSpace );
1783// topLayout->setStretchFactor( mDetailsSplitter, 100 ); 1783// topLayout->setStretchFactor( mDetailsSplitter, 100 );
1784 topLayout->addWidget( mDetails ); 1784 topLayout->addWidget( mDetails );
1785#endif //KAB_NOSPLITTER 1785#endif //KAB_NOSPLITTER
1786*/ 1786*/
1787 1787
1788 syncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)this, KSyncManager::KAPI, KABPrefs::instance(), syncMenu); 1788 syncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)this, KSyncManager::KAPI, KABPrefs::instance(), syncMenu);
1789 syncManager->setBlockSave(false); 1789 syncManager->setBlockSave(false);
1790 1790
1791 connect(syncManager , SIGNAL( request_file() ), this, SLOT( syncFileRequest() ) ); 1791 connect(syncManager , SIGNAL( request_file() ), this, SLOT( syncFileRequest() ) );
1792 connect(syncManager , SIGNAL( getFile( bool )), this, SLOT(getFile( bool ) ) ); 1792 connect(syncManager , SIGNAL( getFile( bool )), this, SLOT(getFile( bool ) ) );
1793 syncManager->setDefaultFileName( sentSyncFile()); 1793 syncManager->setDefaultFileName( sentSyncFile());
1794 //connect(syncManager , SIGNAL( ), this, SLOT( ) ); 1794 //connect(syncManager , SIGNAL( ), this, SLOT( ) );
1795 1795
1796#endif //KAB_EMBEDDED 1796#endif //KAB_EMBEDDED
1797 initActions(); 1797 initActions();
1798 1798
1799#ifdef KAB_EMBEDDED 1799#ifdef KAB_EMBEDDED
1800 addActionsManually(); 1800 addActionsManually();
1801 //US make sure the export and import menues are initialized before creating the xxPortManager. 1801 //US make sure the export and import menues are initialized before creating the xxPortManager.
1802 mXXPortManager = new XXPortManager( this, this ); 1802 mXXPortManager = new XXPortManager( this, this );
1803 1803
1804 // LR mIncSearchWidget = new IncSearchWidget( mMainWindow->getIconToolBar() ); 1804 // LR mIncSearchWidget = new IncSearchWidget( mMainWindow->getIconToolBar() );
1805 //mMainWindow->toolBar()->insertWidget(-1, 4, mIncSearchWidget); 1805 //mMainWindow->toolBar()->insertWidget(-1, 4, mIncSearchWidget);
1806 // mActionQuit->plug ( mMainWindow->toolBar()); 1806 // mActionQuit->plug ( mMainWindow->toolBar());
1807 //mIncSearchWidget = new IncSearchWidget( mMainWindow->toolBar() ); 1807 //mIncSearchWidget = new IncSearchWidget( mMainWindow->toolBar() );
1808 //mMainWindow->toolBar()->insertWidget(-1, 0, mIncSearchWidget); 1808 //mMainWindow->toolBar()->insertWidget(-1, 0, mIncSearchWidget);
1809 // mIncSearchWidget->hide(); 1809 // mIncSearchWidget->hide();
1810 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), 1810 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ),
1811 SLOT( incrementalSearch( const QString& ) ) ); 1811 SLOT( incrementalSearch( const QString& ) ) );
1812 connect( mIncSearchWidget, SIGNAL( scrollUP() ),mViewManager, SLOT( scrollUP() ) ); 1812 connect( mIncSearchWidget, SIGNAL( scrollUP() ),mViewManager, SLOT( scrollUP() ) );
1813 connect( mIncSearchWidget, SIGNAL( scrollDOWN() ),mViewManager, SLOT( scrollDOWN() ) ); 1813 connect( mIncSearchWidget, SIGNAL( scrollDOWN() ),mViewManager, SLOT( scrollDOWN() ) );
1814 1814
1815 mJumpButtonBar = new JumpButtonBar( this, this ); 1815 mJumpButtonBar = new JumpButtonBar( this, this );
1816 1816
1817 topLayout->addWidget( mJumpButtonBar ); 1817 topLayout->addWidget( mJumpButtonBar );
1818//US topLayout->setStretchFactor( mJumpButtonBar, 10 ); 1818//US topLayout->setStretchFactor( mJumpButtonBar, 10 );
1819 1819
1820// mMainWindow->getIconToolBar()->raise(); 1820// mMainWindow->getIconToolBar()->raise();
1821 1821
1822#endif //KAB_EMBEDDED 1822#endif //KAB_EMBEDDED
1823 1823
1824} 1824}
1825void KABCore::initActions() 1825void KABCore::initActions()
1826{ 1826{
1827//US qDebug("KABCore::initActions(): mIsPart %i", mIsPart); 1827//US qDebug("KABCore::initActions(): mIsPart %i", mIsPart);
1828 1828
1829#ifndef KAB_EMBEDDED 1829#ifndef KAB_EMBEDDED
1830 connect( QApplication::clipboard(), SIGNAL( dataChanged() ), 1830 connect( QApplication::clipboard(), SIGNAL( dataChanged() ),
1831 SLOT( clipboardDataChanged() ) ); 1831 SLOT( clipboardDataChanged() ) );
1832#endif //KAB_EMBEDDED 1832#endif //KAB_EMBEDDED
1833 1833
1834 // file menu 1834 // file menu
1835 if ( mIsPart ) { 1835 if ( mIsPart ) {
1836 mActionMail = new KAction( i18n( "&Mail" ), "mail_generic", 0, this, 1836 mActionMail = new KAction( i18n( "&Mail" ), "mail_generic", 0, this,
1837 SLOT( sendMail() ), actionCollection(), 1837 SLOT( sendMail() ), actionCollection(),
1838 "kaddressbook_mail" ); 1838 "kaddressbook_mail" );
1839 mActionPrint = new KAction( i18n( "&Print" ), "fileprint", CTRL + Key_P, this, 1839 mActionPrint = new KAction( i18n( "&Print" ), "fileprint", CTRL + Key_P, this,
1840 SLOT( print() ), actionCollection(), "kaddressbook_print" ); 1840 SLOT( print() ), actionCollection(), "kaddressbook_print" );
1841 1841
1842 } else { 1842 } else {
1843 mActionMail = KStdAction::mail( this, SLOT( sendMail() ), actionCollection() ); 1843 mActionMail = KStdAction::mail( this, SLOT( sendMail() ), actionCollection() );
1844 mActionPrint = KStdAction::print( this, SLOT( print() ), actionCollection() ); 1844 mActionPrint = KStdAction::print( this, SLOT( print() ), actionCollection() );
1845 } 1845 }
1846 1846
1847 1847
1848 mActionSave = new KAction( i18n( "&Save" ), "filesave", CTRL+Key_S, this, 1848 mActionSave = new KAction( i18n( "&Save" ), "filesave", CTRL+Key_S, this,
1849 SLOT( save() ), actionCollection(), "file_sync" ); 1849 SLOT( save() ), actionCollection(), "file_sync" );
1850 1850
1851 mActionNewContact = new KAction( i18n( "&New Contact..." ), "filenew", CTRL+Key_N, this, 1851 mActionNewContact = new KAction( i18n( "&New Contact..." ), "filenew", CTRL+Key_N, this,
1852 SLOT( newContact() ), actionCollection(), "file_new_contact" ); 1852 SLOT( newContact() ), actionCollection(), "file_new_contact" );
1853 1853
1854 mActionMailVCard = new KAction(i18n("Mail &vCard..."), "mail_post_to", 0, 1854 mActionMailVCard = new KAction(i18n("Mail &vCard..."), "mail_post_to", 0,
1855 this, SLOT( mailVCard() ), 1855 this, SLOT( mailVCard() ),
1856 actionCollection(), "file_mail_vcard"); 1856 actionCollection(), "file_mail_vcard");
1857 1857
1858 mActionExport2phone = new KAction( i18n( "Export to phone" ), "ex2phone", 0, this, 1858 mActionExport2phone = new KAction( i18n( "Export to phone" ), "ex2phone", 0, this,
1859 SLOT( export2phone() ), actionCollection(), 1859 SLOT( export2phone() ), actionCollection(),
1860 "kaddressbook_ex2phone" ); 1860 "kaddressbook_ex2phone" );
1861 1861
1862 mActionBeamVCard = 0; 1862 mActionBeamVCard = 0;
1863 mActionBeam = 0; 1863 mActionBeam = 0;
1864 1864
1865#ifndef DESKTOP_VERSION 1865#ifndef DESKTOP_VERSION
1866 if ( Ir::supported() ) { 1866 if ( Ir::supported() ) {
1867 mActionBeamVCard = new KAction( i18n( "Beam v&Card(s)..." ), "beam", 0, this, 1867 mActionBeamVCard = new KAction( i18n( "Beam v&Card(s)..." ), "beam", 0, this,
1868 SLOT( beamVCard() ), actionCollection(), 1868 SLOT( beamVCard() ), actionCollection(),
1869 "kaddressbook_beam_vcard" ); 1869 "kaddressbook_beam_vcard" );
1870 1870
1871 mActionBeam = new KAction( i18n( "&Beam personal vCard" ), "beam", 0, this, 1871 mActionBeam = new KAction( i18n( "&Beam personal vCard" ), "beam", 0, this,
1872 SLOT( beamMySelf() ), actionCollection(), 1872 SLOT( beamMySelf() ), actionCollection(),
1873 "kaddressbook_beam_myself" ); 1873 "kaddressbook_beam_myself" );
1874 } 1874 }
1875#endif 1875#endif
1876 1876
1877 mActionEditAddressee = new KAction( i18n( "&Edit Contact..." ), "edit", 0, 1877 mActionEditAddressee = new KAction( i18n( "&Edit Contact..." ), "edit", 0,
1878 this, SLOT( editContact2() ), 1878 this, SLOT( editContact2() ),
1879 actionCollection(), "file_properties" ); 1879 actionCollection(), "file_properties" );
1880 1880
1881#ifdef KAB_EMBEDDED 1881#ifdef KAB_EMBEDDED
1882 // mActionQuit = KStdAction::quit( mMainWindow, SLOT( exit() ), actionCollection() ); 1882 // mActionQuit = KStdAction::quit( mMainWindow, SLOT( exit() ), actionCollection() );
1883 mActionQuit = new KAction( i18n( "&Exit" ), "exit", 0, 1883 mActionQuit = new KAction( i18n( "&Exit" ), "exit", 0,
1884 mMainWindow, SLOT( exit() ), 1884 mMainWindow, SLOT( exit() ),
1885 actionCollection(), "quit" ); 1885 actionCollection(), "quit" );
1886#endif //KAB_EMBEDDED 1886#endif //KAB_EMBEDDED
1887 1887
1888 // edit menu 1888 // edit menu
1889 if ( mIsPart ) { 1889 if ( mIsPart ) {
1890 mActionCopy = new KAction( i18n( "&Copy" ), "editcopy", CTRL + Key_C, this, 1890 mActionCopy = new KAction( i18n( "&Copy" ), "editcopy", CTRL + Key_C, this,
1891 SLOT( copyContacts() ), actionCollection(), 1891 SLOT( copyContacts() ), actionCollection(),
1892 "kaddressbook_copy" ); 1892 "kaddressbook_copy" );
1893 mActionCut = new KAction( i18n( "Cu&t" ), "editcut", CTRL + Key_X, this, 1893 mActionCut = new KAction( i18n( "Cu&t" ), "editcut", CTRL + Key_X, this,
1894 SLOT( cutContacts() ), actionCollection(), 1894 SLOT( cutContacts() ), actionCollection(),
1895 "kaddressbook_cut" ); 1895 "kaddressbook_cut" );
1896 mActionPaste = new KAction( i18n( "&Paste" ), "editpaste", CTRL + Key_V, this, 1896 mActionPaste = new KAction( i18n( "&Paste" ), "editpaste", CTRL + Key_V, this,
1897 SLOT( pasteContacts() ), actionCollection(), 1897 SLOT( pasteContacts() ), actionCollection(),
1898 "kaddressbook_paste" ); 1898 "kaddressbook_paste" );
1899 mActionSelectAll = new KAction( i18n( "Select &All" ), CTRL + Key_A, this, 1899 mActionSelectAll = new KAction( i18n( "Select &All" ), CTRL + Key_A, this,
1900 SLOT( selectAllContacts() ), actionCollection(), 1900 SLOT( selectAllContacts() ), actionCollection(),
1901 "kaddressbook_select_all" ); 1901 "kaddressbook_select_all" );
1902 mActionUndo = new KAction( i18n( "&Undo" ), "undo", CTRL + Key_Z, this, 1902 mActionUndo = new KAction( i18n( "&Undo" ), "undo", CTRL + Key_Z, this,
1903 SLOT( undo() ), actionCollection(), 1903 SLOT( undo() ), actionCollection(),
1904 "kaddressbook_undo" ); 1904 "kaddressbook_undo" );
1905 mActionRedo = new KAction( i18n( "Re&do" ), "redo", CTRL + SHIFT + Key_Z, 1905 mActionRedo = new KAction( i18n( "Re&do" ), "redo", CTRL + SHIFT + Key_Z,
1906 this, SLOT( redo() ), actionCollection(), 1906 this, SLOT( redo() ), actionCollection(),
1907 "kaddressbook_redo" ); 1907 "kaddressbook_redo" );
1908 } else { 1908 } else {
1909 mActionCopy = KStdAction::copy( this, SLOT( copyContacts() ), actionCollection() ); 1909 mActionCopy = KStdAction::copy( this, SLOT( copyContacts() ), actionCollection() );
1910 mActionCut = KStdAction::cut( this, SLOT( cutContacts() ), actionCollection() ); 1910 mActionCut = KStdAction::cut( this, SLOT( cutContacts() ), actionCollection() );
1911 mActionPaste = KStdAction::paste( this, SLOT( pasteContacts() ), actionCollection() ); 1911 mActionPaste = KStdAction::paste( this, SLOT( pasteContacts() ), actionCollection() );
1912 mActionSelectAll = KStdAction::selectAll( this, SLOT( selectAllContacts() ), actionCollection() ); 1912 mActionSelectAll = KStdAction::selectAll( this, SLOT( selectAllContacts() ), actionCollection() );
1913 mActionUndo = KStdAction::undo( this, SLOT( undo() ), actionCollection() ); 1913 mActionUndo = KStdAction::undo( this, SLOT( undo() ), actionCollection() );
1914 mActionRedo = KStdAction::redo( this, SLOT( redo() ), actionCollection() ); 1914 mActionRedo = KStdAction::redo( this, SLOT( redo() ), actionCollection() );
1915 } 1915 }
1916 1916
1917 mActionDelete = new KAction( i18n( "&Delete Contact" ), "editdelete", 1917 mActionDelete = new KAction( i18n( "&Delete Contact" ), "editdelete",
1918 Key_Delete, this, SLOT( deleteContacts() ), 1918 Key_Delete, this, SLOT( deleteContacts() ),
1919 actionCollection(), "edit_delete" ); 1919 actionCollection(), "edit_delete" );
1920 1920
1921 mActionUndo->setEnabled( false ); 1921 mActionUndo->setEnabled( false );
1922 mActionRedo->setEnabled( false ); 1922 mActionRedo->setEnabled( false );
1923 1923
1924 // settings menu 1924 // settings menu
1925#ifdef KAB_EMBEDDED 1925#ifdef KAB_EMBEDDED
1926//US special menuentry to configure the addressbook resources. On KDE 1926//US special menuentry to configure the addressbook resources. On KDE
1927// you do that through the control center !!! 1927// you do that through the control center !!!
1928 mActionConfigResources = new KAction( i18n( "Configure &Resources..." ), "configure_resources", 0, this, 1928 mActionConfigResources = new KAction( i18n( "Configure &Resources..." ), "configure_resources", 0, this,
1929 SLOT( configureResources() ), actionCollection(), 1929 SLOT( configureResources() ), actionCollection(),
1930 "kaddressbook_configure_resources" ); 1930 "kaddressbook_configure_resources" );
1931#endif //KAB_EMBEDDED 1931#endif //KAB_EMBEDDED
1932 1932
1933 if ( mIsPart ) { 1933 if ( mIsPart ) {
1934 mActionConfigKAddressbook = new KAction( i18n( "&Configure KAddressBook..." ), "configure", 0, this, 1934 mActionConfigKAddressbook = new KAction( i18n( "&Configure KAddressBook..." ), "configure", 0, this,
1935 SLOT( openConfigDialog() ), actionCollection(), 1935 SLOT( openConfigDialog() ), actionCollection(),
1936 "kaddressbook_configure" ); 1936 "kaddressbook_configure" );
1937 1937
1938 //US not implemented yet 1938 //US not implemented yet
1939 //mActionConfigShortcuts = new KAction( i18n( "Configure S&hortcuts..." ), "configure_shortcuts", 0, 1939 //mActionConfigShortcuts = new KAction( i18n( "Configure S&hortcuts..." ), "configure_shortcuts", 0,
1940 // this, SLOT( configureKeyBindings() ), actionCollection(), 1940 // this, SLOT( configureKeyBindings() ), actionCollection(),
1941 // "kaddressbook_configure_shortcuts" ); 1941 // "kaddressbook_configure_shortcuts" );
1942#ifdef KAB_EMBEDDED 1942#ifdef KAB_EMBEDDED
1943 mActionConfigureToolbars = KStdAction::configureToolbars( this, SLOT( mMainWindow->configureToolbars() ), actionCollection() ); 1943 mActionConfigureToolbars = KStdAction::configureToolbars( this, SLOT( mMainWindow->configureToolbars() ), actionCollection() );
1944 mActionConfigureToolbars->setEnabled( false ); 1944 mActionConfigureToolbars->setEnabled( false );
1945#endif //KAB_EMBEDDED 1945#endif //KAB_EMBEDDED
1946 1946
1947 } else { 1947 } else {
1948 mActionConfigKAddressbook = KStdAction::preferences( this, SLOT( openConfigDialog() ), actionCollection() ); 1948 mActionConfigKAddressbook = KStdAction::preferences( this, SLOT( openConfigDialog() ), actionCollection() );
1949 1949
1950 //US not implemented yet 1950 //US not implemented yet
1951 //mActionKeyBindings = KStdAction::keyBindings( this, SLOT( configureKeyBindings() ), actionCollection() ); 1951 //mActionKeyBindings = KStdAction::keyBindings( this, SLOT( configureKeyBindings() ), actionCollection() );
1952 } 1952 }
1953 1953
1954 mActionJumpBar = new KToggleAction( i18n( "Show Jump Bar" ), 0, 0, 1954 mActionJumpBar = new KToggleAction( i18n( "Show Jump Bar" ), 0, 0,
1955 actionCollection(), "options_show_jump_bar" ); 1955 actionCollection(), "options_show_jump_bar" );
1956 connect( mActionJumpBar, SIGNAL( toggled( bool ) ), SLOT( setJumpButtonBarVisible( bool ) ) ); 1956 connect( mActionJumpBar, SIGNAL( toggled( bool ) ), SLOT( setJumpButtonBarVisible( bool ) ) );
1957 1957
1958 mActionDetails = new KToggleAction( i18n( "Show Details" ), "listview", 0, 1958 mActionDetails = new KToggleAction( i18n( "Show Details" ), "listview", 0,
1959 actionCollection(), "options_show_details" ); 1959 actionCollection(), "options_show_details" );
1960 connect( mActionDetails, SIGNAL( toggled( bool ) ), SLOT( setDetailsVisible( bool ) ) ); 1960 connect( mActionDetails, SIGNAL( toggled( bool ) ), SLOT( setDetailsVisible( bool ) ) );
1961 1961
1962 1962
1963 mActionBR = new KToggleAction( i18n( "Beam receive enabled" ), "beam", 0, this, 1963 mActionBR = new KToggleAction( i18n( "Beam receive enabled" ), "beam", 0, this,
1964 SLOT( toggleBeamReceive() ), actionCollection(), 1964 SLOT( toggleBeamReceive() ), actionCollection(),
1965 "kaddressbook_beam_rec" ); 1965 "kaddressbook_beam_rec" );
1966 1966
1967 1967
1968 // misc 1968 // misc
1969 // only enable LDAP lookup if we can handle the protocol 1969 // only enable LDAP lookup if we can handle the protocol
1970#ifndef KAB_EMBEDDED 1970#ifndef KAB_EMBEDDED
1971 if ( KProtocolInfo::isKnownProtocol( KURL( "ldap://localhost" ) ) ) { 1971 if ( KProtocolInfo::isKnownProtocol( KURL( "ldap://localhost" ) ) ) {
1972 new KAction( i18n( "&Lookup Addresses in Directory" ), "find", 0, 1972 new KAction( i18n( "&Lookup Addresses in Directory" ), "find", 0,
1973 this, SLOT( openLDAPDialog() ), actionCollection(), 1973 this, SLOT( openLDAPDialog() ), actionCollection(),
1974 "ldap_lookup" ); 1974 "ldap_lookup" );
1975 } 1975 }
1976#else //KAB_EMBEDDED 1976#else //KAB_EMBEDDED
1977 //qDebug("KABCore::initActions() LDAP has to be implemented"); 1977 //qDebug("KABCore::initActions() LDAP has to be implemented");
1978#endif //KAB_EMBEDDED 1978#endif //KAB_EMBEDDED
1979 1979
1980 1980
1981 mActionWhoAmI = new KAction( i18n( "Set Who Am I" ), "personal", 0, this, 1981 mActionWhoAmI = new KAction( i18n( "Set Who Am I" ), "personal", 0, this,
1982 SLOT( setWhoAmI() ), actionCollection(), 1982 SLOT( setWhoAmI() ), actionCollection(),
1983 "set_personal" ); 1983 "set_personal" );
1984 1984
1985 1985
1986 mActionCategories = new KAction( i18n( "Set Categories" ), 0, this, 1986 mActionCategories = new KAction( i18n( "Set Categories" ), 0, this,
1987 SLOT( setCategories() ), actionCollection(), 1987 SLOT( setCategories() ), actionCollection(),
1988 "edit_set_categories" ); 1988 "edit_set_categories" );
1989 mActionEditCategories = new KAction( i18n( "Edit Categories" ), 0, this, 1989 mActionEditCategories = new KAction( i18n( "Edit Categories" ), 0, this,
1990 SLOT( editCategories() ), actionCollection(), 1990 SLOT( editCategories() ), actionCollection(),
1991 "edit__categories" ); 1991 "edit__categories" );
1992 1992
1993 mActionRemoveVoice = new KAction( i18n( "Remove \"voice\"..." ), 0, this, 1993 mActionRemoveVoice = new KAction( i18n( "Remove \"voice\"..." ), 0, this,
1994 SLOT( removeVoice() ), actionCollection(), 1994 SLOT( removeVoice() ), actionCollection(),
1995 "remove_voice" ); 1995 "remove_voice" );
1996 1996
1997 mActionManageCategories= new KAction( i18n( "Manage new categories..." ), 0, this, 1997 mActionManageCategories= new KAction( i18n( "Manage new categories..." ), 0, this,
1998 SLOT( manageCategories() ), actionCollection(), 1998 SLOT( manageCategories() ), actionCollection(),
1999 "remove_voice" ); 1999 "remove_voice" );
2000 2000
2001 2001
2002 mActionImportOL = new KAction( i18n( "Import from Outlook..." ), 0, this, 2002 mActionImportOL = new KAction( i18n( "Import from Outlook..." ), 0, this,
2003 SLOT( importFromOL() ), actionCollection(), 2003 SLOT( importFromOL() ), actionCollection(),
2004 "import_OL" ); 2004 "import_OL" );
2005#ifdef KAB_EMBEDDED 2005#ifdef KAB_EMBEDDED
2006 mActionLicence = new KAction( i18n( "Licence" ), 0, 2006 mActionLicence = new KAction( i18n( "Licence" ), 0,
2007 this, SLOT( showLicence() ), actionCollection(), 2007 this, SLOT( showLicence() ), actionCollection(),
2008 "licence_about_data" ); 2008 "licence_about_data" );
2009 mActionFaq = new KAction( i18n( "Faq" ), 0, 2009 mActionFaq = new KAction( i18n( "Faq" ), 0,
2010 this, SLOT( faq() ), actionCollection(), 2010 this, SLOT( faq() ), actionCollection(),
2011 "faq_about_data" ); 2011 "faq_about_data" );
2012 mActionWN = new KAction( i18n( "What's New?" ), 0, 2012 mActionWN = new KAction( i18n( "What's New?" ), 0,
2013 this, SLOT( whatsnew() ), actionCollection(), 2013 this, SLOT( whatsnew() ), actionCollection(),
2014 "wn" ); 2014 "wn" );
2015 mActionSyncHowto = new KAction( i18n( "Sync HowTo" ), 0, 2015 mActionSyncHowto = new KAction( i18n( "Sync HowTo" ), 0,
2016 this, SLOT( synchowto() ), actionCollection(), 2016 this, SLOT( synchowto() ), actionCollection(),
2017 "sync" ); 2017 "sync" );
2018 mActionKdeSyncHowto = new KAction( i18n( "Kde Sync HowTo" ), 0, 2018 mActionKdeSyncHowto = new KAction( i18n( "Kde Sync HowTo" ), 0,
2019 this, SLOT( kdesynchowto() ), actionCollection(), 2019 this, SLOT( kdesynchowto() ), actionCollection(),
2020 "kdesync" ); 2020 "kdesync" );
2021 mActionMultiSyncHowto = new KAction( i18n( "Multi Sync HowTo" ), 0, 2021 mActionMultiSyncHowto = new KAction( i18n( "Multi Sync HowTo" ), 0,
2022 this, SLOT( multisynchowto() ), actionCollection(), 2022 this, SLOT( multisynchowto() ), actionCollection(),
2023 "multisync" ); 2023 "multisync" );
2024 2024
2025 mActionAboutKAddressbook = new KAction( i18n( "&About KAddressBook" ), "kaddressbook2", 0, 2025 mActionAboutKAddressbook = new KAction( i18n( "&About KAddressBook" ), "kaddressbook2", 0,
2026 this, SLOT( createAboutData() ), actionCollection(), 2026 this, SLOT( createAboutData() ), actionCollection(),
2027 "kaddressbook_about_data" ); 2027 "kaddressbook_about_data" );
2028#endif //KAB_EMBEDDED 2028#endif //KAB_EMBEDDED
2029 2029
2030 clipboardDataChanged(); 2030 clipboardDataChanged();
2031 connect( UndoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) ); 2031 connect( UndoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) );
2032 connect( RedoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) ); 2032 connect( RedoStack::instance(), SIGNAL( changed() ), SLOT( updateActionMenu() ) );
2033} 2033}
2034 2034
2035//US we need this function, to plug all actions into the correct menues. 2035//US we need this function, to plug all actions into the correct menues.
2036// KDE uses a XML format to plug the actions, but we work her without this overhead. 2036// KDE uses a XML format to plug the actions, but we work her without this overhead.
2037void KABCore::addActionsManually() 2037void KABCore::addActionsManually()
2038{ 2038{
2039//US qDebug("KABCore::initActions(): mIsPart %i", mIsPart); 2039//US qDebug("KABCore::initActions(): mIsPart %i", mIsPart);
2040 2040
2041#ifdef KAB_EMBEDDED 2041#ifdef KAB_EMBEDDED
2042 QPopupMenu *fileMenu = new QPopupMenu( this ); 2042 QPopupMenu *fileMenu = new QPopupMenu( this );
2043 QPopupMenu *editMenu = new QPopupMenu( this ); 2043 QPopupMenu *editMenu = new QPopupMenu( this );
2044 QPopupMenu *helpMenu = new QPopupMenu( this ); 2044 QPopupMenu *helpMenu = new QPopupMenu( this );
2045 2045
2046 KToolBar* tb = mMainWindow->toolBar(); 2046 KToolBar* tb = mMainWindow->toolBar();
2047 2047
2048#ifndef DESKTOP_VERSION 2048#ifndef DESKTOP_VERSION
2049 if ( KABPrefs::instance()->mFullMenuBarVisible ) { 2049 if ( KABPrefs::instance()->mFullMenuBarVisible ) {
2050#endif 2050#endif
2051 QMenuBar* mb = mMainWindow->menuBar(); 2051 QMenuBar* mb = mMainWindow->menuBar();
2052 2052
2053 //US setup menubar. 2053 //US setup menubar.
2054 //Disable the following block if you do not want to have a menubar. 2054 //Disable the following block if you do not want to have a menubar.
2055 mb->insertItem( i18n("&File"), fileMenu ); 2055 mb->insertItem( i18n("&File"), fileMenu );
2056 mb->insertItem( i18n("&Edit"), editMenu ); 2056 mb->insertItem( i18n("&Edit"), editMenu );
2057 mb->insertItem( i18n("&View"), viewMenu ); 2057 mb->insertItem( i18n("&View"), viewMenu );
2058 mb->insertItem( i18n("&Settings"), settingsMenu ); 2058 mb->insertItem( i18n("&Settings"), settingsMenu );
2059 mb->insertItem( i18n("Synchronize"), syncMenu ); 2059 mb->insertItem( i18n("Synchronize"), syncMenu );
2060 //mb->insertItem( i18n("&Change"), changeMenu ); 2060 //mb->insertItem( i18n("&Change"), changeMenu );
2061 mb->insertItem( i18n("&Help"), helpMenu ); 2061 mb->insertItem( i18n("&Help"), helpMenu );
2062 mIncSearchWidget = new IncSearchWidget( tb ); 2062 mIncSearchWidget = new IncSearchWidget( tb );
2063 // tb->insertWidget(-1, 0, mIncSearchWidget); 2063 // tb->insertWidget(-1, 0, mIncSearchWidget);
2064#ifndef DESKTOP_VERSION 2064#ifndef DESKTOP_VERSION
2065 } else { 2065 } else {
2066 //US setup toolbar 2066 //US setup toolbar
2067 QPEMenuBar *menuBarTB = new QPEMenuBar( tb ); 2067 QPEMenuBar *menuBarTB = new QPEMenuBar( tb );
2068 QPopupMenu *popupBarTB = new QPopupMenu( this ); 2068 QPopupMenu *popupBarTB = new QPopupMenu( this );
2069 menuBarTB->insertItem( "ME", popupBarTB); 2069 menuBarTB->insertItem( "ME", popupBarTB);
2070 tb->insertWidget(-1, 0, menuBarTB); 2070 tb->insertWidget(-1, 0, menuBarTB);
2071 mIncSearchWidget = new IncSearchWidget( tb ); 2071 mIncSearchWidget = new IncSearchWidget( tb );
2072 2072
2073 tb->enableMoving(false); 2073 tb->enableMoving(false);
2074 popupBarTB->insertItem( i18n("&File"), fileMenu ); 2074 popupBarTB->insertItem( i18n("&File"), fileMenu );
2075 popupBarTB->insertItem( i18n("&Edit"), editMenu ); 2075 popupBarTB->insertItem( i18n("&Edit"), editMenu );
2076 popupBarTB->insertItem( i18n("&View"), viewMenu ); 2076 popupBarTB->insertItem( i18n("&View"), viewMenu );
2077 popupBarTB->insertItem( i18n("&Settings"), settingsMenu ); 2077 popupBarTB->insertItem( i18n("&Settings"), settingsMenu );
2078 popupBarTB->insertItem( i18n("Synchronize"), syncMenu ); 2078 popupBarTB->insertItem( i18n("Synchronize"), syncMenu );
2079 mViewManager->getFilterAction()->plug ( popupBarTB); 2079 mViewManager->getFilterAction()->plug ( popupBarTB);
2080 //popupBarTB->insertItem( i18n("&Change selected"), changeMenu ); 2080 //popupBarTB->insertItem( i18n("&Change selected"), changeMenu );
2081 popupBarTB->insertItem( i18n("&Help"), helpMenu ); 2081 popupBarTB->insertItem( i18n("&Help"), helpMenu );
2082 if (QApplication::desktop()->width() > 320 ) { 2082 if (QApplication::desktop()->width() > 320 ) {
2083 // mViewManager->getFilterAction()->plug ( tb); 2083 // mViewManager->getFilterAction()->plug ( tb);
2084 } 2084 }
2085 } 2085 }
2086#endif 2086#endif
2087 // mActionQuit->plug ( mMainWindow->toolBar()); 2087 // mActionQuit->plug ( mMainWindow->toolBar());
2088 2088
2089 2089
2090 2090
2091 //US Now connect the actions with the menue entries. 2091 //US Now connect the actions with the menue entries.
2092 mActionPrint->plug( fileMenu ); 2092 mActionPrint->plug( fileMenu );
2093 mActionMail->plug( fileMenu ); 2093 mActionMail->plug( fileMenu );
2094 fileMenu->insertSeparator(); 2094 fileMenu->insertSeparator();
2095 2095
2096 mActionNewContact->plug( fileMenu ); 2096 mActionNewContact->plug( fileMenu );
2097 mActionNewContact->plug( tb ); 2097 mActionNewContact->plug( tb );
2098 2098
2099 mActionEditAddressee->plug( fileMenu ); 2099 mActionEditAddressee->plug( fileMenu );
2100 // if ((KGlobal::getDesktopSize() > KGlobal::Small ) || 2100 // if ((KGlobal::getDesktopSize() > KGlobal::Small ) ||
2101 // (!KABPrefs::instance()->mMultipleViewsAtOnce )) 2101 // (!KABPrefs::instance()->mMultipleViewsAtOnce ))
2102 mActionEditAddressee->plug( tb ); 2102 mActionEditAddressee->plug( tb );
2103 2103
2104 fileMenu->insertSeparator(); 2104 fileMenu->insertSeparator();
2105 mActionSave->plug( fileMenu ); 2105 mActionSave->plug( fileMenu );
2106 fileMenu->insertItem( "&Import", ImportMenu ); 2106 fileMenu->insertItem( "&Import", ImportMenu );
2107 fileMenu->insertItem( "&Export", ExportMenu ); 2107 fileMenu->insertItem( "&Export", ExportMenu );
2108 fileMenu->insertItem( i18n("&Change"), changeMenu ); 2108 fileMenu->insertItem( i18n("&Change"), changeMenu );
2109 fileMenu->insertItem( i18n("&Beam"), beamMenu ); 2109#ifndef DESKTOP_VERSION
2110 if ( Ir::supported() ) fileMenu->insertItem( i18n("&Beam"), beamMenu );
2111#endif
2112
2110 fileMenu->insertSeparator(); 2113 fileMenu->insertSeparator();
2111 mActionMailVCard->plug( fileMenu ); 2114 mActionMailVCard->plug( fileMenu );
2112#ifndef DESKTOP_VERSION 2115#ifndef DESKTOP_VERSION
2113 if ( Ir::supported() ) mActionBR->plug( beamMenu ); 2116 if ( Ir::supported() ) mActionBR->plug( beamMenu );
2114 if ( Ir::supported() ) mActionBeamVCard->plug( beamMenu ); 2117 if ( Ir::supported() ) mActionBeamVCard->plug( beamMenu );
2115 if ( Ir::supported() ) mActionBeam->plug( beamMenu ); 2118 if ( Ir::supported() ) mActionBeam->plug( beamMenu );
2116#endif 2119#endif
2117 fileMenu->insertSeparator(); 2120 fileMenu->insertSeparator();
2118 mActionQuit->plug( fileMenu ); 2121 mActionQuit->plug( fileMenu );
2119#ifdef _WIN32_ 2122#ifdef _WIN32_
2120 mActionImportOL->plug( ImportMenu ); 2123 mActionImportOL->plug( ImportMenu );
2121#endif 2124#endif
2122 // edit menu 2125 // edit menu
2123 mActionUndo->plug( editMenu ); 2126 mActionUndo->plug( editMenu );
2124 mActionRedo->plug( editMenu ); 2127 mActionRedo->plug( editMenu );
2125 editMenu->insertSeparator(); 2128 editMenu->insertSeparator();
2126 mActionCut->plug( editMenu ); 2129 mActionCut->plug( editMenu );
2127 mActionCopy->plug( editMenu ); 2130 mActionCopy->plug( editMenu );
2128 mActionPaste->plug( editMenu ); 2131 mActionPaste->plug( editMenu );
2129 mActionDelete->plug( editMenu ); 2132 mActionDelete->plug( editMenu );
2130 editMenu->insertSeparator(); 2133 editMenu->insertSeparator();
2131 mActionSelectAll->plug( editMenu ); 2134 mActionSelectAll->plug( editMenu );
2132 2135
2133 mActionRemoveVoice->plug( changeMenu ); 2136 mActionRemoveVoice->plug( changeMenu );
2134 // settings menu 2137 // settings menu
2135//US special menuentry to configure the addressbook resources. On KDE 2138//US special menuentry to configure the addressbook resources. On KDE
2136// you do that through the control center !!! 2139// you do that through the control center !!!
2137 mActionConfigResources->plug( settingsMenu ); 2140 mActionConfigResources->plug( settingsMenu );
2138 settingsMenu->insertSeparator(); 2141 settingsMenu->insertSeparator();
2139 2142
2140 mActionConfigKAddressbook->plug( settingsMenu ); 2143 mActionConfigKAddressbook->plug( settingsMenu );
2141 2144
2142 if ( mIsPart ) { 2145 if ( mIsPart ) {
2143 //US not implemented yet 2146 //US not implemented yet
2144 //mActionConfigShortcuts->plug( settingsMenu ); 2147 //mActionConfigShortcuts->plug( settingsMenu );
2145 //mActionConfigureToolbars->plug( settingsMenu ); 2148 //mActionConfigureToolbars->plug( settingsMenu );
2146 2149
2147 } else { 2150 } else {
2148 //US not implemented yet 2151 //US not implemented yet
2149 //mActionKeyBindings->plug( settingsMenu ); 2152 //mActionKeyBindings->plug( settingsMenu );
2150 } 2153 }
2151 2154
2152 settingsMenu->insertSeparator(); 2155 settingsMenu->insertSeparator();
2153 2156
2154 mActionJumpBar->plug( settingsMenu ); 2157 mActionJumpBar->plug( settingsMenu );
2155 mActionDetails->plug( settingsMenu ); 2158 mActionDetails->plug( settingsMenu );
2156 //if (!KABPrefs::instance()->mMultipleViewsAtOnce || KGlobal::getDesktopSize() == KGlobal::Desktop ) 2159 //if (!KABPrefs::instance()->mMultipleViewsAtOnce || KGlobal::getDesktopSize() == KGlobal::Desktop )
2157 mActionDetails->plug( tb ); 2160 mActionDetails->plug( tb );
2158 settingsMenu->insertSeparator(); 2161 settingsMenu->insertSeparator();
2159#ifndef DESKTOP_VERSION 2162#ifndef DESKTOP_VERSION
2160 if ( Ir::supported() ) mActionBR->plug(settingsMenu ); 2163 if ( Ir::supported() ) mActionBR->plug(settingsMenu );
2161#endif 2164#endif
2162 settingsMenu->insertSeparator(); 2165 settingsMenu->insertSeparator();
2163 2166
2164 mActionWhoAmI->plug( settingsMenu ); 2167 mActionWhoAmI->plug( settingsMenu );
2165 mActionEditCategories->plug( settingsMenu ); 2168 mActionEditCategories->plug( settingsMenu );
2166 mActionEditCategories->plug( changeMenu ); 2169 mActionEditCategories->plug( changeMenu );
2167 mActionCategories->plug( changeMenu ); 2170 mActionCategories->plug( changeMenu );
2168 mActionManageCategories->plug( changeMenu ); 2171 mActionManageCategories->plug( changeMenu );
2169 2172
2170 mActionCategories->plug( settingsMenu ); 2173 mActionCategories->plug( settingsMenu );
2171 mActionManageCategories->plug( settingsMenu ); 2174 mActionManageCategories->plug( settingsMenu );
2172 2175
2173 2176
2174 mActionWN->plug( helpMenu ); 2177 mActionWN->plug( helpMenu );
2175 mActionSyncHowto->plug( helpMenu ); 2178 mActionSyncHowto->plug( helpMenu );
2176 mActionKdeSyncHowto->plug( helpMenu ); 2179 mActionKdeSyncHowto->plug( helpMenu );
2177 mActionMultiSyncHowto->plug( helpMenu ); 2180 mActionMultiSyncHowto->plug( helpMenu );
2178 mActionFaq->plug( helpMenu ); 2181 mActionFaq->plug( helpMenu );
2179 mActionLicence->plug( helpMenu ); 2182 mActionLicence->plug( helpMenu );
2180 mActionAboutKAddressbook->plug( helpMenu ); 2183 mActionAboutKAddressbook->plug( helpMenu );
2181 2184
2182 if (KGlobal::getDesktopSize() > KGlobal::Small ) { 2185 if (KGlobal::getDesktopSize() > KGlobal::Small ) {
2183 2186
2184 mActionSave->plug( tb ); 2187 mActionSave->plug( tb );
2185 mViewManager->getFilterAction()->plug ( tb); 2188 mViewManager->getFilterAction()->plug ( tb);
2186 if (KGlobal::getDesktopSize() == KGlobal::Desktop ) { 2189 if (KGlobal::getDesktopSize() == KGlobal::Desktop ) {
2187 mActionUndo->plug( tb ); 2190 mActionUndo->plug( tb );
2188 mActionDelete->plug( tb ); 2191 mActionDelete->plug( tb );
2189 mActionRedo->plug( tb ); 2192 mActionRedo->plug( tb );
2190 } 2193 }
2191 } else { 2194 } else {
2192 mActionSave->plug( tb ); 2195 mActionSave->plug( tb );
2193 tb->enableMoving(false); 2196 tb->enableMoving(false);
2194 } 2197 }
2195 //mActionQuit->plug ( tb ); 2198 //mActionQuit->plug ( tb );
2196 // tb->insertWidget(-1, 0, mIncSearchWidget, 6); 2199 // tb->insertWidget(-1, 0, mIncSearchWidget, 6);
2197 2200
2198 //US link the searchwidget first to this. 2201 //US link the searchwidget first to this.
2199 // The real linkage to the toolbar happens later. 2202 // The real linkage to the toolbar happens later.
2200//US mIncSearchWidget->reparent(tb, 0, QPoint(50,0), TRUE); 2203//US mIncSearchWidget->reparent(tb, 0, QPoint(50,0), TRUE);
2201//US tb->insertItem( mIncSearchWidget ); 2204//US tb->insertItem( mIncSearchWidget );
2202/*US 2205/*US
2203 mIncSearchWidget = new IncSearchWidget( tb ); 2206 mIncSearchWidget = new IncSearchWidget( tb );
2204 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ), 2207 connect( mIncSearchWidget, SIGNAL( doSearch( const QString& ) ),
2205 SLOT( incrementalSearch( const QString& ) ) ); 2208 SLOT( incrementalSearch( const QString& ) ) );
2206 2209
2207 mJumpButtonBar = new JumpButtonBar( this, this ); 2210 mJumpButtonBar = new JumpButtonBar( this, this );
2208 2211
2209//US topLayout->addWidget( mJumpButtonBar ); 2212//US topLayout->addWidget( mJumpButtonBar );
2210 this->layout()->add( mJumpButtonBar ); 2213 this->layout()->add( mJumpButtonBar );
2211*/ 2214*/
2212 2215
2213#endif //KAB_EMBEDDED 2216#endif //KAB_EMBEDDED
2214 2217
2215 mActionExport2phone->plug( ExportMenu ); 2218 mActionExport2phone->plug( ExportMenu );
2216 connect ( syncMenu, SIGNAL( activated ( int ) ), syncManager, SLOT (slotSyncMenu( int ) ) ); 2219 connect ( syncMenu, SIGNAL( activated ( int ) ), syncManager, SLOT (slotSyncMenu( int ) ) );
2217 syncManager->fillSyncMenu(); 2220 syncManager->fillSyncMenu();
2218 2221
2219} 2222}
2220void KABCore::showLicence() 2223void KABCore::showLicence()
2221{ 2224{
2222 KApplication::showLicence(); 2225 KApplication::showLicence();
2223} 2226}
2224 2227
2225void KABCore::manageCategories( ) 2228void KABCore::manageCategories( )
2226{ 2229{
2227 KABCatPrefs* cp = new KABCatPrefs(); 2230 KABCatPrefs* cp = new KABCatPrefs();
2228 cp->show(); 2231 cp->show();
2229 int w =cp->sizeHint().width() ; 2232 int w =cp->sizeHint().width() ;
2230 int h = cp->sizeHint().height() ; 2233 int h = cp->sizeHint().height() ;
2231 int dw = QApplication::desktop()->width(); 2234 int dw = QApplication::desktop()->width();
2232 int dh = QApplication::desktop()->height(); 2235 int dh = QApplication::desktop()->height();
2233 cp->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 2236 cp->setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
2234 if ( !cp->exec() ) { 2237 if ( !cp->exec() ) {
2235 delete cp; 2238 delete cp;
2236 return; 2239 return;
2237 } 2240 }
2238 int count = 0; 2241 int count = 0;
2239 message( i18n("Please wait, processing categories...")); 2242 message( i18n("Please wait, processing categories..."));
2240 if ( cp->addCat() ) { 2243 if ( cp->addCat() ) {
2241 KABC::AddressBook::Iterator it; 2244 KABC::AddressBook::Iterator it;
2242 QStringList catList = KABPrefs::instance()->mCustomCategories; 2245 QStringList catList = KABPrefs::instance()->mCustomCategories;
2243 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 2246 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
2244 QStringList catIncList = (*it).categories(); 2247 QStringList catIncList = (*it).categories();
2245 int i; 2248 int i;
2246 for( i = 0; i< catIncList.count(); ++i ) { 2249 for( i = 0; i< catIncList.count(); ++i ) {
2247 if ( !catList.contains (catIncList[i])) { 2250 if ( !catList.contains (catIncList[i])) {
2248 catList.append( catIncList[i] ); 2251 catList.append( catIncList[i] );
2249 //qDebug("add cat %s ", catIncList[i].latin1()); 2252 //qDebug("add cat %s ", catIncList[i].latin1());
2250 ++count; 2253 ++count;
2251 } 2254 }
2252 } 2255 }
2253 } 2256 }
2254 catList.sort(); 2257 catList.sort();
2255 KABPrefs::instance()->mCustomCategories = catList; 2258 KABPrefs::instance()->mCustomCategories = catList;
2256 KABPrefs::instance()->writeConfig(); 2259 KABPrefs::instance()->writeConfig();
2257 message(QString::number( count )+ i18n(" categories added to list! ")); 2260 message(QString::number( count )+ i18n(" categories added to list! "));
2258 } else { 2261 } else {
2259 QStringList catList = KABPrefs::instance()->mCustomCategories; 2262 QStringList catList = KABPrefs::instance()->mCustomCategories;
2260 QStringList catIncList; 2263 QStringList catIncList;
2261 QStringList newCatList; 2264 QStringList newCatList;
2262 KABC::AddressBook::Iterator it; 2265 KABC::AddressBook::Iterator it;
2263 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 2266 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
2264 QStringList catIncList = (*it).categories(); 2267 QStringList catIncList = (*it).categories();
2265 int i; 2268 int i;
2266 if ( catIncList.count() ) { 2269 if ( catIncList.count() ) {
2267 newCatList.clear(); 2270 newCatList.clear();
2268 for( i = 0; i< catIncList.count(); ++i ) { 2271 for( i = 0; i< catIncList.count(); ++i ) {
2269 if ( catList.contains (catIncList[i])) { 2272 if ( catList.contains (catIncList[i])) {
2270 newCatList.append( catIncList[i] ); 2273 newCatList.append( catIncList[i] );
2271 } 2274 }
2272 } 2275 }
2273 newCatList.sort(); 2276 newCatList.sort();
2274 (*it).setCategories( newCatList ); 2277 (*it).setCategories( newCatList );
2275 mAddressBook->insertAddressee( (*it) ); 2278 mAddressBook->insertAddressee( (*it) );
2276 } 2279 }
2277 } 2280 }
2278 setModified( true ); 2281 setModified( true );
2279 mViewManager->refreshView(); 2282 mViewManager->refreshView();
2280 mDetails->refreshView(); 2283 mDetails->refreshView();
2281 message( i18n("Removing categories done!")); 2284 message( i18n("Removing categories done!"));
2282 } 2285 }
2283 delete cp; 2286 delete cp;
2284} 2287}
2285void KABCore::removeVoice() 2288void KABCore::removeVoice()
2286{ 2289{
2287 if ( KMessageBox::questionYesNo( this, i18n("After importing, phone numbers\nmay have two or more types.\n(E.g. work+voice)\nThese numbers are shown as \"other\".\nClick Yes to remove the voice type\nfrom numbers with more than one type.\n\nRemove voice type?") ) == KMessageBox::No ) 2290 if ( KMessageBox::questionYesNo( this, i18n("After importing, phone numbers\nmay have two or more types.\n(E.g. work+voice)\nThese numbers are shown as \"other\".\nClick Yes to remove the voice type\nfrom numbers with more than one type.\n\nRemove voice type?") ) == KMessageBox::No )
2288 return; 2291 return;
2289 KABC::Addressee::List list; 2292 KABC::Addressee::List list;
2290 XXPortSelectDialog dlg( this, false, this ); 2293 XXPortSelectDialog dlg( this, false, this );
2291 if ( dlg.exec() ) 2294 if ( dlg.exec() )
2292 list = dlg.contacts(); 2295 list = dlg.contacts();
2293 else 2296 else
2294 return; 2297 return;
2295 KABC::Addressee::List::Iterator it; 2298 KABC::Addressee::List::Iterator it;
2296 for ( it = list.begin(); it != list.end(); ++it ) { 2299 for ( it = list.begin(); it != list.end(); ++it ) {
2297 if ( (*it).removeVoice() ) 2300 if ( (*it).removeVoice() )
2298 contactModified((*it) ); 2301 contactModified((*it) );
2299 } 2302 }
2300} 2303}
2301 2304
2302 2305
2303 2306
2304void KABCore::clipboardDataChanged() 2307void KABCore::clipboardDataChanged()
2305{ 2308{
2306 2309
2307 if ( mReadWrite ) 2310 if ( mReadWrite )
2308 mActionPaste->setEnabled( !QApplication::clipboard()->text().isEmpty() ); 2311 mActionPaste->setEnabled( !QApplication::clipboard()->text().isEmpty() );
2309 2312
2310} 2313}
2311 2314
2312void KABCore::updateActionMenu() 2315void KABCore::updateActionMenu()
2313{ 2316{
2314 UndoStack *undo = UndoStack::instance(); 2317 UndoStack *undo = UndoStack::instance();
2315 RedoStack *redo = RedoStack::instance(); 2318 RedoStack *redo = RedoStack::instance();
2316 2319
2317 if ( undo->isEmpty() ) 2320 if ( undo->isEmpty() )
2318 mActionUndo->setText( i18n( "Undo" ) ); 2321 mActionUndo->setText( i18n( "Undo" ) );
2319 else 2322 else
2320 mActionUndo->setText( i18n( "Undo %1" ).arg( undo->top()->name() ) ); 2323 mActionUndo->setText( i18n( "Undo %1" ).arg( undo->top()->name() ) );
2321 2324
2322 mActionUndo->setEnabled( !undo->isEmpty() ); 2325 mActionUndo->setEnabled( !undo->isEmpty() );
2323 2326
2324 if ( !redo->top() ) 2327 if ( !redo->top() )
2325 mActionRedo->setText( i18n( "Redo" ) ); 2328 mActionRedo->setText( i18n( "Redo" ) );
2326 else 2329 else
2327 mActionRedo->setText( i18n( "Redo %1" ).arg( redo->top()->name() ) ); 2330 mActionRedo->setText( i18n( "Redo %1" ).arg( redo->top()->name() ) );
2328 2331
2329 mActionRedo->setEnabled( !redo->isEmpty() ); 2332 mActionRedo->setEnabled( !redo->isEmpty() );
2330} 2333}
2331 2334
2332void KABCore::configureKeyBindings() 2335void KABCore::configureKeyBindings()
2333{ 2336{
2334#ifndef KAB_EMBEDDED 2337#ifndef KAB_EMBEDDED
2335 KKeyDialog::configure( actionCollection(), true ); 2338 KKeyDialog::configure( actionCollection(), true );
2336#else //KAB_EMBEDDED 2339#else //KAB_EMBEDDED
2337 qDebug("KABCore::configureKeyBindings() not implemented"); 2340 qDebug("KABCore::configureKeyBindings() not implemented");
2338#endif //KAB_EMBEDDED 2341#endif //KAB_EMBEDDED
2339} 2342}
2340 2343
2341#ifdef KAB_EMBEDDED 2344#ifdef KAB_EMBEDDED
2342void KABCore::configureResources() 2345void KABCore::configureResources()
2343{ 2346{
2344 KRES::KCMKResources dlg( this, "" , 0 ); 2347 KRES::KCMKResources dlg( this, "" , 0 );
2345 2348
2346 if ( !dlg.exec() ) 2349 if ( !dlg.exec() )
2347 return; 2350 return;
2348 KMessageBox::information( this, i18n("Please restart to get the \nchanged resources (re)loaded!\n") ); 2351 KMessageBox::information( this, i18n("Please restart to get the \nchanged resources (re)loaded!\n") );
2349} 2352}
2350#endif //KAB_EMBEDDED 2353#endif //KAB_EMBEDDED
2351 2354
2352 2355
2353/* this method will be called through the QCop interface from Ko/Pi to select addresses 2356/* this method will be called through the QCop interface from Ko/Pi to select addresses
2354 * for the attendees list of an event. 2357 * for the attendees list of an event.
2355 */ 2358 */
2356void KABCore::requestForNameEmailUidList(const QString& sourceChannel, const QString& uid) 2359void KABCore::requestForNameEmailUidList(const QString& sourceChannel, const QString& uid)
2357{ 2360{
2358 QStringList nameList; 2361 QStringList nameList;
2359 QStringList emailList; 2362 QStringList emailList;
2360 QStringList uidList; 2363 QStringList uidList;
2361 2364
2362 KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this); 2365 KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this);
2363 uint i=0; 2366 uint i=0;
2364 for (i=0; i < list.count(); i++) 2367 for (i=0; i < list.count(); i++)
2365 { 2368 {
2366 nameList.append(list[i].realName()); 2369 nameList.append(list[i].realName());
2367 emailList.append(list[i].preferredEmail()); 2370 emailList.append(list[i].preferredEmail());
2368 uidList.append(list[i].uid()); 2371 uidList.append(list[i].uid());
2369 } 2372 }
2370 2373
2371 bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI(sourceChannel, uid, nameList, emailList, uidList); 2374 bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI(sourceChannel, uid, nameList, emailList, uidList);
2372 2375
2373} 2376}
2374 2377
2375/* this method will be called through the QCop interface from Ko/Pi to select birthdays 2378/* this method will be called through the QCop interface from Ko/Pi to select birthdays
2376 * to put them into the calendar. 2379 * to put them into the calendar.
2377 */ 2380 */
2378void KABCore::requestForBirthdayList(const QString& sourceChannel, const QString& uid) 2381void KABCore::requestForBirthdayList(const QString& sourceChannel, const QString& uid)
2379{ 2382{
2380 // qDebug("KABCore::requestForBirthdayList"); 2383 // qDebug("KABCore::requestForBirthdayList");
2381 QStringList birthdayList; 2384 QStringList birthdayList;
2382 QStringList anniversaryList; 2385 QStringList anniversaryList;
2383 QStringList realNameList; 2386 QStringList realNameList;
2384 QStringList preferredEmailList; 2387 QStringList preferredEmailList;
2385 QStringList assembledNameList; 2388 QStringList assembledNameList;
2386 QStringList uidList; 2389 QStringList uidList;
2387 2390
2388 KABC::AddressBook::Iterator it; 2391 KABC::AddressBook::Iterator it;
2389 2392
2390 int count = 0; 2393 int count = 0;
2391 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 2394 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
2392 ++count; 2395 ++count;
2393 } 2396 }
2394 QProgressBar bar(count,0 ); 2397 QProgressBar bar(count,0 );
2395 int w = 300; 2398 int w = 300;
2396 if ( QApplication::desktop()->width() < 320 ) 2399 if ( QApplication::desktop()->width() < 320 )
2397 w = 220; 2400 w = 220;
2398 int h = bar.sizeHint().height() ; 2401 int h = bar.sizeHint().height() ;
2399 int dw = QApplication::desktop()->width(); 2402 int dw = QApplication::desktop()->width();
2400 int dh = QApplication::desktop()->height(); 2403 int dh = QApplication::desktop()->height();
2401 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h ); 2404 bar.setGeometry( (dw-w)/2, (dh - h )/2 ,w,h );
2402 bar.show(); 2405 bar.show();
2403 bar.setCaption (i18n("Collecting birthdays - close to abort!") ); 2406 bar.setCaption (i18n("Collecting birthdays - close to abort!") );
2404 qApp->processEvents(); 2407 qApp->processEvents();
2405 2408
2406 QDate bday; 2409 QDate bday;
2407 QString anni; 2410 QString anni;
2408 QString formattedbday; 2411 QString formattedbday;
2409 2412
2410 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) 2413 for( it = mAddressBook->begin(); it != mAddressBook->end(); ++it )
2411 { 2414 {
2412 if ( ! bar.isVisible() ) 2415 if ( ! bar.isVisible() )
2413 return; 2416 return;
2414 bar.setProgress( count++ ); 2417 bar.setProgress( count++ );
2415 qApp->processEvents(); 2418 qApp->processEvents();
2416 bday = (*it).birthday().date(); 2419 bday = (*it).birthday().date();
2417 anni = (*it).custom("KADDRESSBOOK", "X-Anniversary" ); 2420 anni = (*it).custom("KADDRESSBOOK", "X-Anniversary" );
2418 2421
2419 if ( bday.isValid() || !anni.isEmpty()) 2422 if ( bday.isValid() || !anni.isEmpty())
2420 { 2423 {
2421 if (bday.isValid()) 2424 if (bday.isValid())
2422 formattedbday = KGlobal::locale()->formatDate(bday, true, KLocale::ISODate); 2425 formattedbday = KGlobal::locale()->formatDate(bday, true, KLocale::ISODate);
2423 else 2426 else
2424 formattedbday = "NOTVALID"; 2427 formattedbday = "NOTVALID";
2425 if (anni.isEmpty()) 2428 if (anni.isEmpty())
2426 anni = "INVALID"; 2429 anni = "INVALID";
2427 2430
2428 birthdayList.append(formattedbday); 2431 birthdayList.append(formattedbday);
2429 anniversaryList.append(anni); //should be ISODate 2432 anniversaryList.append(anni); //should be ISODate
2430 realNameList.append((*it).realName()); 2433 realNameList.append((*it).realName());
2431 preferredEmailList.append((*it).preferredEmail()); 2434 preferredEmailList.append((*it).preferredEmail());
2432 assembledNameList.append((*it).assembledName()); 2435 assembledNameList.append((*it).assembledName());
2433 uidList.append((*it).uid()); 2436 uidList.append((*it).uid());
2434 2437
2435 //qDebug("found birthday in KA/Pi: %s,%s,%s,%s: %s, %s", (*it).realName().latin1(), (*it).preferredEmail().latin1(), (*it).assembledName().latin1(), (*it).uid().latin1(), formattedbday.latin1(), anni.latin1() ); 2438 //qDebug("found birthday in KA/Pi: %s,%s,%s,%s: %s, %s", (*it).realName().latin1(), (*it).preferredEmail().latin1(), (*it).assembledName().latin1(), (*it).uid().latin1(), formattedbday.latin1(), anni.latin1() );
2436 } 2439 }
2437 } 2440 }
2438 2441
2439 bool res = ExternalAppHandler::instance()->returnBirthdayListFromKAPI(sourceChannel, uid, birthdayList, anniversaryList, realNameList, preferredEmailList, assembledNameList, uidList); 2442 bool res = ExternalAppHandler::instance()->returnBirthdayListFromKAPI(sourceChannel, uid, birthdayList, anniversaryList, realNameList, preferredEmailList, assembledNameList, uidList);
2440 2443
2441} 2444}
2442 2445
2443/* this method will be called through the QCop interface from other apps to show details of a contact. 2446/* this method will be called through the QCop interface from other apps to show details of a contact.
2444 */ 2447 */
2445void KABCore::requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid) 2448void KABCore::requestForDetails(const QString& sourceChannel, const QString& sessionuid, const QString& name, const QString& email, const QString& uid)
2446{ 2449{
2447 //qDebug("KABCore::requestForDetails %s %s %s %s %s", sourceChannel.latin1(), sessionuid.latin1(), name.latin1(), email.latin1(), uid.latin1()); 2450 //qDebug("KABCore::requestForDetails %s %s %s %s %s", sourceChannel.latin1(), sessionuid.latin1(), name.latin1(), email.latin1(), uid.latin1());
2448 2451
2449 QString foundUid = QString::null; 2452 QString foundUid = QString::null;
2450 if ( ! uid.isEmpty() ) { 2453 if ( ! uid.isEmpty() ) {
2451 Addressee adrr = mAddressBook->findByUid( uid ); 2454 Addressee adrr = mAddressBook->findByUid( uid );
2452 if ( !adrr.isEmpty() ) { 2455 if ( !adrr.isEmpty() ) {
2453 foundUid = uid; 2456 foundUid = uid;
2454 } 2457 }
2455 if ( email == "sendbacklist" ) { 2458 if ( email == "sendbacklist" ) {
2456 //qDebug("ssssssssssssssssssssssend "); 2459 //qDebug("ssssssssssssssssssssssend ");
2457 QStringList nameList; 2460 QStringList nameList;
2458 QStringList emailList; 2461 QStringList emailList;
2459 QStringList uidList; 2462 QStringList uidList;
2460 nameList.append(adrr.realName()); 2463 nameList.append(adrr.realName());
2461 emailList = adrr.emails(); 2464 emailList = adrr.emails();
2462 uidList.append( adrr.preferredEmail()); 2465 uidList.append( adrr.preferredEmail());
2463 bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI("QPE/Application/ompi", uid, nameList, emailList, uidList); 2466 bool res = ExternalAppHandler::instance()->returnNameEmailUidListFromKAPI("QPE/Application/ompi", uid, nameList, emailList, uidList);
2464 return; 2467 return;
2465 } 2468 }
2466 2469
2467 } 2470 }
2468 2471
2469 if ( email == "sendbacklist" ) 2472 if ( email == "sendbacklist" )
2470 return; 2473 return;
2471 if (foundUid.isEmpty()) 2474 if (foundUid.isEmpty())
2472 { 2475 {
2473 //find the uid of the person first 2476 //find the uid of the person first
2474 Addressee::List namelist; 2477 Addressee::List namelist;
2475 Addressee::List emaillist; 2478 Addressee::List emaillist;
2476 2479
2477 if (!name.isEmpty()) 2480 if (!name.isEmpty())
2478 namelist = mAddressBook->findByName( name ); 2481 namelist = mAddressBook->findByName( name );
2479 2482
2480 if (!email.isEmpty()) 2483 if (!email.isEmpty())
2481 emaillist = mAddressBook->findByEmail( email ); 2484 emaillist = mAddressBook->findByEmail( email );
2482 //qDebug("count %d %d ", namelist.count(),emaillist.count() ); 2485 //qDebug("count %d %d ", namelist.count(),emaillist.count() );
2483 //check if we have a match in Namelist and Emaillist 2486 //check if we have a match in Namelist and Emaillist
2484 if ((namelist.count() == 0) && (emaillist.count() > 0)) { 2487 if ((namelist.count() == 0) && (emaillist.count() > 0)) {
2485 foundUid = emaillist[0].uid(); 2488 foundUid = emaillist[0].uid();
2486 } 2489 }
2487 else if ((namelist.count() > 0) && (emaillist.count() == 0)) 2490 else if ((namelist.count() > 0) && (emaillist.count() == 0))
2488 foundUid = namelist[0].uid(); 2491 foundUid = namelist[0].uid();
2489 else 2492 else
2490 { 2493 {
2491 for (int i = 0; i < namelist.count(); i++) 2494 for (int i = 0; i < namelist.count(); i++)
2492 { 2495 {
2493 for (int j = 0; j < emaillist.count(); j++) 2496 for (int j = 0; j < emaillist.count(); j++)
2494 { 2497 {
2495 if (namelist[i] == emaillist[j]) 2498 if (namelist[i] == emaillist[j])
2496 { 2499 {
2497 foundUid = namelist[i].uid(); 2500 foundUid = namelist[i].uid();
2498 } 2501 }
2499 } 2502 }
2500 } 2503 }
2501 } 2504 }
2502 } 2505 }
2503 else 2506 else
2504 { 2507 {
2505 foundUid = uid; 2508 foundUid = uid;
2506 } 2509 }
2507 2510
2508 if (!foundUid.isEmpty()) 2511 if (!foundUid.isEmpty())
2509 { 2512 {
2510 2513
2511 // raise Ka/Pi if it is in the background 2514 // raise Ka/Pi if it is in the background
2512#ifndef DESKTOP_VERSION 2515#ifndef DESKTOP_VERSION
2513#ifndef KORG_NODCOP 2516#ifndef KORG_NODCOP
2514 //QCopEnvelope e("QPE/Application/kapi", "raise()"); 2517 //QCopEnvelope e("QPE/Application/kapi", "raise()");
2515#endif 2518#endif
2516#endif 2519#endif
2517 2520
2518 mMainWindow->showMaximized(); 2521 mMainWindow->showMaximized();
2519 mMainWindow-> raise(); 2522 mMainWindow-> raise();
2520 2523
2521 mViewManager->setSelected( "", false); 2524 mViewManager->setSelected( "", false);
2522 mViewManager->refreshView( "" ); 2525 mViewManager->refreshView( "" );
2523 mViewManager->setSelected( foundUid, true ); 2526 mViewManager->setSelected( foundUid, true );
2524 mViewManager->refreshView( foundUid ); 2527 mViewManager->refreshView( foundUid );
2525 2528
2526 if ( !mMultipleViewsAtOnce ) 2529 if ( !mMultipleViewsAtOnce )
2527 { 2530 {
2528 setDetailsVisible( true ); 2531 setDetailsVisible( true );
2529 mActionDetails->setChecked(true); 2532 mActionDetails->setChecked(true);
2530 } 2533 }
2531 } 2534 }
2532} 2535}
2533 2536
2534void KABCore::whatsnew() 2537void KABCore::whatsnew()
2535{ 2538{
2536 KApplication::showFile( "KDE-Pim/Pi Version Info", "kdepim/WhatsNew.txt" ); 2539 KApplication::showFile( "KDE-Pim/Pi Version Info", "kdepim/WhatsNew.txt" );
2537} 2540}
2538void KABCore::synchowto() 2541void KABCore::synchowto()
2539{ 2542{
2540 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/SyncHowto.txt" ); 2543 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/SyncHowto.txt" );
2541} 2544}
2542void KABCore::kdesynchowto() 2545void KABCore::kdesynchowto()
2543{ 2546{
2544 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/Zaurus-KDE_syncHowTo.txt" ); 2547 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/Zaurus-KDE_syncHowTo.txt" );
2545} 2548}
2546void KABCore::multisynchowto() 2549void KABCore::multisynchowto()
2547{ 2550{
2548 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/MultiSyncHowTo.txt" ); 2551 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/MultiSyncHowTo.txt" );
2549} 2552}
2550void KABCore::faq() 2553void KABCore::faq()
2551{ 2554{
2552 KApplication::showFile( "KA/Pi FAQ", "kdepim/kaddressbook/kapiFAQ.txt" ); 2555 KApplication::showFile( "KA/Pi FAQ", "kdepim/kaddressbook/kapiFAQ.txt" );
2553} 2556}
2554 2557
2555#include <libkcal/syncdefines.h> 2558#include <libkcal/syncdefines.h>
2556 2559
2557KABC::Addressee KABCore::getLastSyncAddressee() 2560KABC::Addressee KABCore::getLastSyncAddressee()
2558{ 2561{
2559 Addressee lse; 2562 Addressee lse;
2560 QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice(); 2563 QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice();
2561 2564
2562 //qDebug("CurrentSyncDevice %s ",mCurrentSyncDevice .latin1() ); 2565 //qDebug("CurrentSyncDevice %s ",mCurrentSyncDevice .latin1() );
2563 lse = mAddressBook->findByUid( "last-syncAddressee-"+mCurrentSyncDevice ); 2566 lse = mAddressBook->findByUid( "last-syncAddressee-"+mCurrentSyncDevice );
2564 if (lse.isEmpty()) { 2567 if (lse.isEmpty()) {
2565 qDebug("Creating new last-syncAddressee "); 2568 qDebug("Creating new last-syncAddressee ");
2566 lse.setUid( "last-syncAddressee-"+mCurrentSyncDevice ); 2569 lse.setUid( "last-syncAddressee-"+mCurrentSyncDevice );
2567 QString sum = ""; 2570 QString sum = "";
2568 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) 2571 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL )
2569 sum = "E: "; 2572 sum = "E: ";
2570 lse.setFamilyName("!"+sum+mCurrentSyncDevice + i18n(" - sync event")); 2573 lse.setFamilyName("!"+sum+mCurrentSyncDevice + i18n(" - sync event"));
2571 lse.setRevision( mLastAddressbookSync ); 2574 lse.setRevision( mLastAddressbookSync );
2572 lse.setCategories( i18n("SyncEvent") ); 2575 lse.setCategories( i18n("SyncEvent") );
2573 mAddressBook->insertAddressee( lse ); 2576 mAddressBook->insertAddressee( lse );
2574 } 2577 }
2575 return lse; 2578 return lse;
2576} 2579}
2577int KABCore::takeAddressee( KABC::Addressee* local, KABC::Addressee* remote, int mode , bool full ) 2580int KABCore::takeAddressee( KABC::Addressee* local, KABC::Addressee* remote, int mode , bool full )
2578{ 2581{
2579 2582
2580 //void setZaurusId(int id); 2583 //void setZaurusId(int id);
2581 // int zaurusId() const; 2584 // int zaurusId() const;
2582 // void setZaurusUid(int id); 2585 // void setZaurusUid(int id);
2583 // int zaurusUid() const; 2586 // int zaurusUid() const;
2584 // void setZaurusStat(int id); 2587 // void setZaurusStat(int id);
2585 // int zaurusStat() const; 2588 // int zaurusStat() const;
2586 // 0 equal 2589 // 0 equal
2587 // 1 take local 2590 // 1 take local
2588 // 2 take remote 2591 // 2 take remote
2589 // 3 cancel 2592 // 3 cancel
2590 QDateTime lastSync = mLastAddressbookSync; 2593 QDateTime lastSync = mLastAddressbookSync;
2591 QDateTime localMod = local->revision(); 2594 QDateTime localMod = local->revision();
2592 QDateTime remoteMod = remote->revision(); 2595 QDateTime remoteMod = remote->revision();
2593 2596
2594 QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice(); 2597 QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice();
2595 2598
2596 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { 2599 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
2597 bool remCh, locCh; 2600 bool remCh, locCh;
2598 remCh = ( remote->getCsum(mCurrentSyncDevice) != local->getCsum(mCurrentSyncDevice) ); 2601 remCh = ( remote->getCsum(mCurrentSyncDevice) != local->getCsum(mCurrentSyncDevice) );
2599 //qDebug("loc %s rem %s", local->getCsum(mCurrentSyncDevice).latin1(), remote->getCsum(mCurrentSyncDevice).latin1() ); 2602 //qDebug("loc %s rem %s", local->getCsum(mCurrentSyncDevice).latin1(), remote->getCsum(mCurrentSyncDevice).latin1() );
2600 locCh = ( localMod > mLastAddressbookSync ); 2603 locCh = ( localMod > mLastAddressbookSync );
2601 if ( !remCh && ! locCh ) { 2604 if ( !remCh && ! locCh ) {
2602 //qDebug("both not changed "); 2605 //qDebug("both not changed ");
2603 lastSync = localMod.addDays(1); 2606 lastSync = localMod.addDays(1);
2604 if ( mode <= SYNC_PREF_ASK ) 2607 if ( mode <= SYNC_PREF_ASK )
2605 return 0; 2608 return 0;
2606 } else { 2609 } else {
2607 if ( locCh ) { 2610 if ( locCh ) {
2608 //qDebug("loc changed %s %s", localMod.toString().latin1(), mLastAddressbookSync.toString().latin1()); 2611 //qDebug("loc changed %s %s", localMod.toString().latin1(), mLastAddressbookSync.toString().latin1());
2609 lastSync = localMod.addDays( -1 ); 2612 lastSync = localMod.addDays( -1 );
2610 if ( !remCh ) 2613 if ( !remCh )
2611 remoteMod =( lastSync.addDays( -1 ) ); 2614 remoteMod =( lastSync.addDays( -1 ) );
2612 } else { 2615 } else {
2613 //qDebug(" not loc changed "); 2616 //qDebug(" not loc changed ");
2614 lastSync = localMod.addDays( 1 ); 2617 lastSync = localMod.addDays( 1 );
2615 if ( remCh ) { 2618 if ( remCh ) {
2616 //qDebug("rem changed "); 2619 //qDebug("rem changed ");
2617 remoteMod =( lastSync.addDays( 1 ) ); 2620 remoteMod =( lastSync.addDays( 1 ) );
2618 } 2621 }
2619 2622
2620 } 2623 }
2621 } 2624 }
2622 full = true; 2625 full = true;
2623 if ( mode < SYNC_PREF_ASK ) 2626 if ( mode < SYNC_PREF_ASK )
2624 mode = SYNC_PREF_ASK; 2627 mode = SYNC_PREF_ASK;
2625 } else { 2628 } else {
2626 if ( localMod == remoteMod ) 2629 if ( localMod == remoteMod )
2627 return 0; 2630 return 0;
2628 2631
2629 } 2632 }
2630 //qDebug("%s %s --- %d %d", localMod.toString().latin1() , remoteMod.toString().latin1(), localMod.time().msec(), remoteMod.time().msec()); 2633 //qDebug("%s %s --- %d %d", localMod.toString().latin1() , remoteMod.toString().latin1(), localMod.time().msec(), remoteMod.time().msec());
2631 //qDebug("lastsync %s ", lastSync.toString().latin1() ); 2634 //qDebug("lastsync %s ", lastSync.toString().latin1() );
2632 //full = true; //debug only 2635 //full = true; //debug only
2633 if ( full ) { 2636 if ( full ) {
2634 bool equ = ( (*local) == (*remote) ); 2637 bool equ = ( (*local) == (*remote) );
2635 if ( equ ) { 2638 if ( equ ) {
2636 //qDebug("equal "); 2639 //qDebug("equal ");
2637 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { 2640 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
2638 local->setCsum( mCurrentSyncDevice, remote->getCsum(mCurrentSyncDevice) ); 2641 local->setCsum( mCurrentSyncDevice, remote->getCsum(mCurrentSyncDevice) );
2639 } 2642 }
2640 if ( mode < SYNC_PREF_FORCE_LOCAL ) 2643 if ( mode < SYNC_PREF_FORCE_LOCAL )
2641 return 0; 2644 return 0;
2642 2645
2643 }//else //debug only 2646 }//else //debug only
2644 //qDebug("not equal %s %s ", local->summary().latin1(), remote->summary().latin1()); 2647 //qDebug("not equal %s %s ", local->summary().latin1(), remote->summary().latin1());
2645 } 2648 }
2646 int result; 2649 int result;
2647 bool localIsNew; 2650 bool localIsNew;
2648 //qDebug("%s -- %s mLastCalendarSync %s lastsync %s --- local %s remote %s ",local->summary().latin1(), remote->summary().latin1(),mLastCalendarSync.toString().latin1() ,lastSync.toString().latin1() , local->lastModified().toString().latin1() , remote->lastModified().toString().latin1() ); 2651 //qDebug("%s -- %s mLastCalendarSync %s lastsync %s --- local %s remote %s ",local->summary().latin1(), remote->summary().latin1(),mLastCalendarSync.toString().latin1() ,lastSync.toString().latin1() , local->lastModified().toString().latin1() , remote->lastModified().toString().latin1() );
2649 2652
2650 if ( full && mode < SYNC_PREF_NEWEST ) 2653 if ( full && mode < SYNC_PREF_NEWEST )
2651 mode = SYNC_PREF_ASK; 2654 mode = SYNC_PREF_ASK;
2652 2655
2653 switch( mode ) { 2656 switch( mode ) {
2654 case SYNC_PREF_LOCAL: 2657 case SYNC_PREF_LOCAL:
2655 if ( lastSync > remoteMod ) 2658 if ( lastSync > remoteMod )
2656 return 1; 2659 return 1;
2657 if ( lastSync > localMod ) 2660 if ( lastSync > localMod )
2658 return 2; 2661 return 2;
2659 return 1; 2662 return 1;
2660 break; 2663 break;
2661 case SYNC_PREF_REMOTE: 2664 case SYNC_PREF_REMOTE:
2662 if ( lastSync > remoteMod ) 2665 if ( lastSync > remoteMod )
2663 return 1; 2666 return 1;
2664 if ( lastSync > localMod ) 2667 if ( lastSync > localMod )
2665 return 2; 2668 return 2;
2666 return 2; 2669 return 2;
2667 break; 2670 break;
2668 case SYNC_PREF_NEWEST: 2671 case SYNC_PREF_NEWEST:
2669 if ( localMod > remoteMod ) 2672 if ( localMod > remoteMod )
2670 return 1; 2673 return 1;
2671 else 2674 else
2672 return 2; 2675 return 2;
2673 break; 2676 break;
2674 case SYNC_PREF_ASK: 2677 case SYNC_PREF_ASK:
2675 //qDebug("lsy %s --- lo %s --- re %s ", lastSync.toString().latin1(), localMod.toString().latin1(), remoteMod.toString().latin1() ); 2678 //qDebug("lsy %s --- lo %s --- re %s ", lastSync.toString().latin1(), localMod.toString().latin1(), remoteMod.toString().latin1() );
2676 if ( lastSync > remoteMod ) 2679 if ( lastSync > remoteMod )
2677 return 1; 2680 return 1;
2678 if ( lastSync > localMod ) 2681 if ( lastSync > localMod )
2679 return 2; 2682 return 2;
2680 localIsNew = localMod >= remoteMod; 2683 localIsNew = localMod >= remoteMod;
2681 //qDebug("conflict! ************************************** "); 2684 //qDebug("conflict! ************************************** ");
2682 { 2685 {
2683 KPIM::AddresseeChooser acd ( *local,*remote, localIsNew , this ); 2686 KPIM::AddresseeChooser acd ( *local,*remote, localIsNew , this );
2684 result = acd.executeD(localIsNew); 2687 result = acd.executeD(localIsNew);
2685 return result; 2688 return result;
2686 } 2689 }
2687 break; 2690 break;
2688 case SYNC_PREF_FORCE_LOCAL: 2691 case SYNC_PREF_FORCE_LOCAL:
2689 return 1; 2692 return 1;
2690 break; 2693 break;
2691 case SYNC_PREF_FORCE_REMOTE: 2694 case SYNC_PREF_FORCE_REMOTE:
2692 return 2; 2695 return 2;
2693 break; 2696 break;
2694 2697
2695 default: 2698 default:
2696 // SYNC_PREF_TAKE_BOTH not implemented 2699 // SYNC_PREF_TAKE_BOTH not implemented
2697 break; 2700 break;
2698 } 2701 }
2699 return 0; 2702 return 0;
2700} 2703}
2701 2704
2702 2705
2703bool KABCore::synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBook* remote,int mode) 2706bool KABCore::synchronizeAddressbooks( KABC::AddressBook* local, KABC::AddressBook* remote,int mode)
2704{ 2707{
2705 bool syncOK = true; 2708 bool syncOK = true;
2706 int addedAddressee = 0; 2709 int addedAddressee = 0;
2707 int addedAddresseeR = 0; 2710 int addedAddresseeR = 0;
2708 int deletedAddresseeR = 0; 2711 int deletedAddresseeR = 0;
2709 int deletedAddresseeL = 0; 2712 int deletedAddresseeL = 0;
2710 int changedLocal = 0; 2713 int changedLocal = 0;
2711 int changedRemote = 0; 2714 int changedRemote = 0;
2712 2715
2713 QString mCurrentSyncName = syncManager->getCurrentSyncName(); 2716 QString mCurrentSyncName = syncManager->getCurrentSyncName();
2714 QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice(); 2717 QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice();
2715 2718
2716 //QPtrList<Addressee> el = local->rawAddressees(); 2719 //QPtrList<Addressee> el = local->rawAddressees();
2717 Addressee addresseeR; 2720 Addressee addresseeR;
2718 QString uid; 2721 QString uid;
2719 int take; 2722 int take;
2720 Addressee addresseeL; 2723 Addressee addresseeL;
2721 Addressee addresseeRSync; 2724 Addressee addresseeRSync;
2722 Addressee addresseeLSync; 2725 Addressee addresseeLSync;
2723 // KABC::Addressee::List addresseeRSyncSharp = remote->getExternLastSyncAddressees(); 2726 // KABC::Addressee::List addresseeRSyncSharp = remote->getExternLastSyncAddressees();
2724 //KABC::Addressee::List addresseeLSyncSharp = local->getExternLastSyncAddressees(); 2727 //KABC::Addressee::List addresseeLSyncSharp = local->getExternLastSyncAddressees();
2725 bool fullDateRange = false; 2728 bool fullDateRange = false;
2726 local->resetTempSyncStat(); 2729 local->resetTempSyncStat();
2727 mLastAddressbookSync = QDateTime::currentDateTime(); 2730 mLastAddressbookSync = QDateTime::currentDateTime();
2728 if ( syncManager->syncWithDesktop() ) { 2731 if ( syncManager->syncWithDesktop() ) {
2729 // remote->removeSyncInfo( QString());//remove all info 2732 // remote->removeSyncInfo( QString());//remove all info
2730 if ( KSyncManager::mRequestedSyncEvent.isValid() ) { 2733 if ( KSyncManager::mRequestedSyncEvent.isValid() ) {
2731 mLastAddressbookSync = KSyncManager::mRequestedSyncEvent; 2734 mLastAddressbookSync = KSyncManager::mRequestedSyncEvent;
2732 qDebug("using extern time for calendar sync: %s ", mLastAddressbookSync.toString().latin1() ); 2735 qDebug("using extern time for calendar sync: %s ", mLastAddressbookSync.toString().latin1() );
2733 } else { 2736 } else {
2734 qDebug("KSyncManager::mRequestedSyncEvent has invalid datatime "); 2737 qDebug("KSyncManager::mRequestedSyncEvent has invalid datatime ");
2735 } 2738 }
2736 } 2739 }
2737 QDateTime modifiedCalendar = mLastAddressbookSync; 2740 QDateTime modifiedCalendar = mLastAddressbookSync;
2738 addresseeLSync = getLastSyncAddressee(); 2741 addresseeLSync = getLastSyncAddressee();
2739 qDebug("Last Sync %s ", addresseeLSync.revision().toString().latin1()); 2742 qDebug("Last Sync %s ", addresseeLSync.revision().toString().latin1());
2740 addresseeR = remote->findByUid("last-syncAddressee-"+mCurrentSyncName ); 2743 addresseeR = remote->findByUid("last-syncAddressee-"+mCurrentSyncName );
2741 if ( !addresseeR.isEmpty() ) { 2744 if ( !addresseeR.isEmpty() ) {
2742 addresseeRSync = addresseeR; 2745 addresseeRSync = addresseeR;
2743 remote->removeAddressee(addresseeR ); 2746 remote->removeAddressee(addresseeR );
2744 2747
2745 } else { 2748 } else {
2746 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { 2749 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
2747 addresseeRSync = addresseeLSync ; 2750 addresseeRSync = addresseeLSync ;
2748 } else { 2751 } else {
2749 //qDebug("FULLDATE 1"); 2752 //qDebug("FULLDATE 1");
2750 fullDateRange = true; 2753 fullDateRange = true;
2751 Addressee newAdd; 2754 Addressee newAdd;
2752 addresseeRSync = newAdd; 2755 addresseeRSync = newAdd;
2753 addresseeRSync.setFamilyName(mCurrentSyncName + i18n(" - sync addressee")); 2756 addresseeRSync.setFamilyName(mCurrentSyncName + i18n(" - sync addressee"));
2754 addresseeRSync.setUid("last-syncAddressee-"+mCurrentSyncName ); 2757 addresseeRSync.setUid("last-syncAddressee-"+mCurrentSyncName );
2755 addresseeRSync.setRevision( mLastAddressbookSync ); 2758 addresseeRSync.setRevision( mLastAddressbookSync );
2756 addresseeRSync.setCategories( i18n("SyncAddressee") ); 2759 addresseeRSync.setCategories( i18n("SyncAddressee") );
2757 } 2760 }
2758 } 2761 }
2759 if ( addresseeLSync.revision() == mLastAddressbookSync ) { 2762 if ( addresseeLSync.revision() == mLastAddressbookSync ) {
2760 // qDebug("FULLDATE 2"); 2763 // qDebug("FULLDATE 2");
2761 fullDateRange = true; 2764 fullDateRange = true;
2762 } 2765 }
2763 if ( ! fullDateRange ) { 2766 if ( ! fullDateRange ) {
2764 if ( addresseeLSync.revision() != addresseeRSync.revision() ) { 2767 if ( addresseeLSync.revision() != addresseeRSync.revision() ) {
2765 2768
2766 // qDebug("set fulldate to true %s %s" ,addresseeLSync->dtStart().toString().latin1(), addresseeRSync->dtStart().toString().latin1() ); 2769 // qDebug("set fulldate to true %s %s" ,addresseeLSync->dtStart().toString().latin1(), addresseeRSync->dtStart().toString().latin1() );
2767 //qDebug("%d %d %d %d ", addresseeLSync->dtStart().time().second(), addresseeLSync->dtStart().time().msec() , addresseeRSync->dtStart().time().second(), addresseeRSync->dtStart().time().msec()); 2770 //qDebug("%d %d %d %d ", addresseeLSync->dtStart().time().second(), addresseeLSync->dtStart().time().msec() , addresseeRSync->dtStart().time().second(), addresseeRSync->dtStart().time().msec());
2768 fullDateRange = true; 2771 fullDateRange = true;
2769 //qDebug("FULLDATE 3 %s %s", addresseeLSync.revision().toString().latin1() , addresseeRSync.revision().toString().latin1() ); 2772 //qDebug("FULLDATE 3 %s %s", addresseeLSync.revision().toString().latin1() , addresseeRSync.revision().toString().latin1() );
2770 } 2773 }
2771 } 2774 }
2772 // fullDateRange = true; // debug only! 2775 // fullDateRange = true; // debug only!
2773 if ( fullDateRange ) 2776 if ( fullDateRange )
2774 mLastAddressbookSync = QDateTime::currentDateTime().addDays( -100*365); 2777 mLastAddressbookSync = QDateTime::currentDateTime().addDays( -100*365);
2775 else 2778 else
2776 mLastAddressbookSync = addresseeLSync.revision(); 2779 mLastAddressbookSync = addresseeLSync.revision();
2777 // for resyncing if own file has changed 2780 // for resyncing if own file has changed
2778 // PENDING fixme later when implemented 2781 // PENDING fixme later when implemented
2779#if 0 2782#if 0
2780 if ( mCurrentSyncDevice == "deleteaftersync" ) { 2783 if ( mCurrentSyncDevice == "deleteaftersync" ) {
2781 mLastAddressbookSync = loadedFileVersion; 2784 mLastAddressbookSync = loadedFileVersion;
2782 qDebug("setting mLastAddressbookSync "); 2785 qDebug("setting mLastAddressbookSync ");
2783 } 2786 }
2784#endif 2787#endif
2785 2788
2786 //qDebug("*************************** "); 2789 //qDebug("*************************** ");
2787 // qDebug("mLastAddressbookSync %s ",mLastAddressbookSync.toString().latin1() ); 2790 // qDebug("mLastAddressbookSync %s ",mLastAddressbookSync.toString().latin1() );
2788 QStringList er = remote->uidList(); 2791 QStringList er = remote->uidList();
2789 Addressee inR ;//= er.first(); 2792 Addressee inR ;//= er.first();
2790 Addressee inL; 2793 Addressee inL;
2791 2794
2792 syncManager->showProgressBar(0, i18n("Syncing - close to abort!"), er.count()); 2795 syncManager->showProgressBar(0, i18n("Syncing - close to abort!"), er.count());
2793 2796
2794 int modulo = (er.count()/10)+1; 2797 int modulo = (er.count()/10)+1;
2795 int incCounter = 0; 2798 int incCounter = 0;
2796 while ( incCounter < er.count()) { 2799 while ( incCounter < er.count()) {
2797 if (syncManager->isProgressBarCanceled()) 2800 if (syncManager->isProgressBarCanceled())
2798 return false; 2801 return false;
2799 if ( incCounter % modulo == 0 ) 2802 if ( incCounter % modulo == 0 )
2800 syncManager->showProgressBar(incCounter); 2803 syncManager->showProgressBar(incCounter);
2801 2804
2802 uid = er[ incCounter ]; 2805 uid = er[ incCounter ];
2803 bool skipIncidence = false; 2806 bool skipIncidence = false;
2804 if ( uid.left(19) == QString("last-syncAddressee-") ) 2807 if ( uid.left(19) == QString("last-syncAddressee-") )
2805 skipIncidence = true; 2808 skipIncidence = true;
2806 QString idS,OidS; 2809 QString idS,OidS;
2807 qApp->processEvents(); 2810 qApp->processEvents();
2808 if ( !skipIncidence ) { 2811 if ( !skipIncidence ) {
2809 inL = local->findByUid( uid ); 2812 inL = local->findByUid( uid );
2810 inR = remote->findByUid( uid ); 2813 inR = remote->findByUid( uid );
2811 //inL.setResource( 0 ); 2814 //inL.setResource( 0 );
2812 //inR.setResource( 0 ); 2815 //inR.setResource( 0 );
2813 if ( !inL.isEmpty() ) { // maybe conflict - same uid in both calendars 2816 if ( !inL.isEmpty() ) { // maybe conflict - same uid in both calendars
2814 if ( !inL.resource() || inL.resource()->includeInSync() ) { 2817 if ( !inL.resource() || inL.resource()->includeInSync() ) {
2815 if ( (take = takeAddressee( &inL, &inR, mode, fullDateRange )) ) { 2818 if ( (take = takeAddressee( &inL, &inR, mode, fullDateRange )) ) {
2816 //qDebug("take %d %s ", take, inL.summary().latin1()); 2819 //qDebug("take %d %s ", take, inL.summary().latin1());
2817 if ( take == 3 ) 2820 if ( take == 3 )
2818 return false; 2821 return false;
2819 if ( take == 1 ) {// take local ********************** 2822 if ( take == 1 ) {// take local **********************
2820 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { 2823 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
2821 inL.setCsum( mCurrentSyncDevice, inR.getCsum(mCurrentSyncDevice) ); 2824 inL.setCsum( mCurrentSyncDevice, inR.getCsum(mCurrentSyncDevice) );
2822 inL.setID( mCurrentSyncDevice, inR.getID(mCurrentSyncDevice) ); 2825 inL.setID( mCurrentSyncDevice, inR.getID(mCurrentSyncDevice) );
2823 local->insertAddressee( inL, false ); 2826 local->insertAddressee( inL, false );
2824 idS = inR.externalUID(); 2827 idS = inR.externalUID();
2825 OidS = inR.originalExternalUID(); 2828 OidS = inR.originalExternalUID();
2826 } 2829 }
2827 else 2830 else
2828 idS = inR.IDStr(); 2831 idS = inR.IDStr();
2829 remote->removeAddressee( inR ); 2832 remote->removeAddressee( inR );
2830 inR = inL; 2833 inR = inL;
2831 inR.setTempSyncStat( SYNC_TEMPSTATE_INITIAL ); 2834 inR.setTempSyncStat( SYNC_TEMPSTATE_INITIAL );
2832 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { 2835 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
2833 inR.setOriginalExternalUID( OidS ); 2836 inR.setOriginalExternalUID( OidS );
2834 inR.setExternalUID( idS ); 2837 inR.setExternalUID( idS );
2835 if ( syncManager->syncWithDesktop() ) { 2838 if ( syncManager->syncWithDesktop() ) {
2836 inR.setIDStr("changed" ); 2839 inR.setIDStr("changed" );
2837 } 2840 }
2838 //inR.insertCustom( "KADDRESSBOOK", "X-KDESYNC","changed" ); 2841 //inR.insertCustom( "KADDRESSBOOK", "X-KDESYNC","changed" );
2839 } else { 2842 } else {
2840 inR.setIDStr( idS ); 2843 inR.setIDStr( idS );
2841 } 2844 }
2842 inR.setResource( 0 ); 2845 inR.setResource( 0 );
2843 remote->insertAddressee( inR , false); 2846 remote->insertAddressee( inR , false);
2844 ++changedRemote; 2847 ++changedRemote;
2845 } else { // take == 2 take remote ********************** 2848 } else { // take == 2 take remote **********************
2846 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { 2849 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
2847 if ( inR.revision().date().year() < 2004 ) 2850 if ( inR.revision().date().year() < 2004 )
2848 inR.setRevision( modifiedCalendar ); 2851 inR.setRevision( modifiedCalendar );
2849 } 2852 }
2850 idS = inL.IDStr(); 2853 idS = inL.IDStr();
2851 local->removeAddressee( inL ); 2854 local->removeAddressee( inL );
2852 inL = inR; 2855 inL = inR;
2853 inL.setIDStr( idS ); 2856 inL.setIDStr( idS );
2854 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { 2857 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
2855 inL.setCsum( mCurrentSyncDevice, inR.getCsum(mCurrentSyncDevice) ); 2858 inL.setCsum( mCurrentSyncDevice, inR.getCsum(mCurrentSyncDevice) );
2856 inL.setID( mCurrentSyncDevice, inR.getID(mCurrentSyncDevice) ); 2859 inL.setID( mCurrentSyncDevice, inR.getID(mCurrentSyncDevice) );
2857 } 2860 }
2858 inL.setResource( 0 ); 2861 inL.setResource( 0 );
2859 local->insertAddressee( inL , false ); 2862 local->insertAddressee( inL , false );
2860 ++changedLocal; 2863 ++changedLocal;
2861 } 2864 }
2862 } 2865 }
2863 } 2866 }
2864 } else { // no conflict ********** add or delete remote 2867 } else { // no conflict ********** add or delete remote
2865 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { 2868 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
2866 QString des = addresseeLSync.note(); 2869 QString des = addresseeLSync.note();
2867 if ( des.find( inR.getID(mCurrentSyncDevice) +"," ) >= 0 && mode != 5) { // delete it 2870 if ( des.find( inR.getID(mCurrentSyncDevice) +"," ) >= 0 && mode != 5) { // delete it
2868 inR.setTempSyncStat( SYNC_TEMPSTATE_DELETE ); 2871 inR.setTempSyncStat( SYNC_TEMPSTATE_DELETE );
2869 remote->insertAddressee( inR, false ); 2872 remote->insertAddressee( inR, false );
2870 ++deletedAddresseeR; 2873 ++deletedAddresseeR;
2871 } else { 2874 } else {
2872 inR.setRevision( modifiedCalendar ); 2875 inR.setRevision( modifiedCalendar );
2873 remote->insertAddressee( inR, false ); 2876 remote->insertAddressee( inR, false );
2874 inL = inR; 2877 inL = inR;
2875 inL.setIDStr( ":" ); 2878 inL.setIDStr( ":" );
2876 inL.setCsum( mCurrentSyncDevice, inR.getCsum(mCurrentSyncDevice) ); 2879 inL.setCsum( mCurrentSyncDevice, inR.getCsum(mCurrentSyncDevice) );
2877 inL.setID( mCurrentSyncDevice, inR.getID(mCurrentSyncDevice) ); 2880 inL.setID( mCurrentSyncDevice, inR.getID(mCurrentSyncDevice) );
2878 inL.setResource( 0 ); 2881 inL.setResource( 0 );
2879 local->insertAddressee( inL , false); 2882 local->insertAddressee( inL , false);
2880 ++addedAddressee; 2883 ++addedAddressee;
2881 } 2884 }
2882 } else { 2885 } else {
2883 if ( inR.revision() > mLastAddressbookSync || mode == 5 ) { 2886 if ( inR.revision() > mLastAddressbookSync || mode == 5 ) {
2884 inR.setRevision( modifiedCalendar ); 2887 inR.setRevision( modifiedCalendar );
2885 remote->insertAddressee( inR, false ); 2888 remote->insertAddressee( inR, false );
2886 inR.setResource( 0 ); 2889 inR.setResource( 0 );
2887 local->insertAddressee( inR, false ); 2890 local->insertAddressee( inR, false );
2888 ++addedAddressee; 2891 ++addedAddressee;
2889 } else { 2892 } else {
2890 // pending checkExternSyncAddressee(addresseeRSyncSharp, inR); 2893 // pending checkExternSyncAddressee(addresseeRSyncSharp, inR);
2891 remote->removeAddressee( inR ); 2894 remote->removeAddressee( inR );
2892 ++deletedAddresseeR; 2895 ++deletedAddresseeR;
2893 } 2896 }
2894 } 2897 }
2895 } 2898 }
2896 } 2899 }
2897 ++incCounter; 2900 ++incCounter;
2898 } 2901 }
2899 er.clear(); 2902 er.clear();
2900 QStringList el = local->uidList(); 2903 QStringList el = local->uidList();
2901 modulo = (el.count()/10)+1; 2904 modulo = (el.count()/10)+1;
2902 2905
2903 syncManager->showProgressBar(0, i18n("Add / remove addressees"), el.count()); 2906 syncManager->showProgressBar(0, i18n("Add / remove addressees"), el.count());
2904 incCounter = 0; 2907 incCounter = 0;
2905 while ( incCounter < el.count()) { 2908 while ( incCounter < el.count()) {
2906 qApp->processEvents(); 2909 qApp->processEvents();
2907 if (syncManager->isProgressBarCanceled()) 2910 if (syncManager->isProgressBarCanceled())
2908 return false; 2911 return false;
2909 if ( incCounter % modulo == 0 ) 2912 if ( incCounter % modulo == 0 )
2910 syncManager->showProgressBar(incCounter); 2913 syncManager->showProgressBar(incCounter);
2911 uid = el[ incCounter ]; 2914 uid = el[ incCounter ];
2912 bool skipIncidence = false; 2915 bool skipIncidence = false;
2913 if ( uid.left(19) == QString("last-syncAddressee-") ) 2916 if ( uid.left(19) == QString("last-syncAddressee-") )
2914 skipIncidence = true; 2917 skipIncidence = true;
2915 if ( !skipIncidence ) { 2918 if ( !skipIncidence ) {
2916 inL = local->findByUid( uid ); 2919 inL = local->findByUid( uid );
2917 if ( !inL.resource() || inL.resource()->includeInSync() ) { 2920 if ( !inL.resource() || inL.resource()->includeInSync() ) {
2918 inR = remote->findByUid( uid ); 2921 inR = remote->findByUid( uid );
2919 if ( inR.isEmpty() ) { // no conflict ********** add or delete local 2922 if ( inR.isEmpty() ) { // no conflict ********** add or delete local
2920 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) { 2923 if ( mGlobalSyncMode == SYNC_MODE_EXTERNAL ) {
2921 if ( !inL.getID(mCurrentSyncDevice).isEmpty() && mode != 4 ) { 2924 if ( !inL.getID(mCurrentSyncDevice).isEmpty() && mode != 4 ) {
2922 // pending checkExternSyncAddressee(addresseeLSyncSharp, inL); 2925 // pending checkExternSyncAddressee(addresseeLSyncSharp, inL);
2923 local->removeAddressee( inL ); 2926 local->removeAddressee( inL );
2924 ++deletedAddresseeL; 2927 ++deletedAddresseeL;
2925 } else { 2928 } else {
2926 if ( ! syncManager->mWriteBackExistingOnly ) { 2929 if ( ! syncManager->mWriteBackExistingOnly ) {
2927 inL.removeID(mCurrentSyncDevice ); 2930 inL.removeID(mCurrentSyncDevice );
2928 ++addedAddresseeR; 2931 ++addedAddresseeR;
2929 inL.setRevision( modifiedCalendar ); 2932 inL.setRevision( modifiedCalendar );
2930 local->insertAddressee( inL, false ); 2933 local->insertAddressee( inL, false );
2931 inR = inL; 2934 inR = inL;
2932 inR.setTempSyncStat( SYNC_TEMPSTATE_ADDED_EXTERNAL ); 2935 inR.setTempSyncStat( SYNC_TEMPSTATE_ADDED_EXTERNAL );
2933 inR.setResource( 0 ); 2936 inR.setResource( 0 );
2934 remote->insertAddressee( inR, false ); 2937 remote->insertAddressee( inR, false );
2935 } 2938 }
2936 } 2939 }
2937 } else { 2940 } else {
2938 if ( inL.revision() < mLastAddressbookSync && mode != 4 ) { 2941 if ( inL.revision() < mLastAddressbookSync && mode != 4 ) {
2939 //qDebug("data %s ", inL.revision().toString().latin1()); 2942 //qDebug("data %s ", inL.revision().toString().latin1());
2940 // pending checkExternSyncAddressee(addresseeLSyncSharp, inL); 2943 // pending checkExternSyncAddressee(addresseeLSyncSharp, inL);
2941 local->removeAddressee( inL ); 2944 local->removeAddressee( inL );
2942 ++deletedAddresseeL; 2945 ++deletedAddresseeL;
2943 } else { 2946 } else {
2944 if ( ! syncManager->mWriteBackExistingOnly ) { 2947 if ( ! syncManager->mWriteBackExistingOnly ) {
2945 ++addedAddresseeR; 2948 ++addedAddresseeR;
2946 inL.setRevision( modifiedCalendar ); 2949 inL.setRevision( modifiedCalendar );
2947 local->insertAddressee( inL, false ); 2950 local->insertAddressee( inL, false );
2948 inR = inL; 2951 inR = inL;
2949 inR.setIDStr( ":" ); 2952 inR.setIDStr( ":" );
2950 inR.setResource( 0 ); 2953 inR.setResource( 0 );
2951 remote->insertAddressee( inR, false ); 2954 remote->insertAddressee( inR, false );
2952 } 2955 }
2953 } 2956 }
2954 } 2957 }
2955 } 2958 }
2956 } 2959 }
2957 } 2960 }
2958 ++incCounter; 2961 ++incCounter;
2959 } 2962 }
2960 el.clear(); 2963 el.clear();
2961 syncManager->hideProgressBar(); 2964 syncManager->hideProgressBar();
2962 mLastAddressbookSync = QDateTime::currentDateTime().addSecs( 1 ); 2965 mLastAddressbookSync = QDateTime::currentDateTime().addSecs( 1 );
2963 // get rid of micro seconds 2966 // get rid of micro seconds
2964 QTime t = mLastAddressbookSync.time(); 2967 QTime t = mLastAddressbookSync.time();
2965 mLastAddressbookSync.setTime( QTime (t.hour (), t.minute (), t.second () ) ); 2968 mLastAddressbookSync.setTime( QTime (t.hour (), t.minute (), t.second () ) );
2966 addresseeLSync.setRevision( mLastAddressbookSync ); 2969 addresseeLSync.setRevision( mLastAddressbookSync );
2967 addresseeRSync.setRevision( mLastAddressbookSync ); 2970 addresseeRSync.setRevision( mLastAddressbookSync );
2968 addresseeRSync.setRole( i18n("!Remote from: ")+mCurrentSyncName ) ; 2971 addresseeRSync.setRole( i18n("!Remote from: ")+mCurrentSyncName ) ;
2969 addresseeLSync.setRole(i18n("!Local from: ") + mCurrentSyncName ); 2972 addresseeLSync.setRole(i18n("!Local from: ") + mCurrentSyncName );
2970 addresseeRSync.setGivenName( i18n("!DO NOT EDIT!") ) ; 2973 addresseeRSync.setGivenName( i18n("!DO NOT EDIT!") ) ;
2971 addresseeLSync.setGivenName(i18n("!DO NOT EDIT!") ); 2974 addresseeLSync.setGivenName(i18n("!DO NOT EDIT!") );
2972 addresseeRSync.setOrganization( "!"+mLastAddressbookSync.toString() ) ; 2975 addresseeRSync.setOrganization( "!"+mLastAddressbookSync.toString() ) ;
2973 addresseeLSync.setOrganization("!"+ mLastAddressbookSync.toString() ); 2976 addresseeLSync.setOrganization("!"+ mLastAddressbookSync.toString() );
2974 addresseeRSync.setNote( "" ) ; 2977 addresseeRSync.setNote( "" ) ;
2975 addresseeLSync.setNote( "" ); 2978 addresseeLSync.setNote( "" );
2976 2979
2977 if ( mGlobalSyncMode == SYNC_MODE_NORMAL) 2980 if ( mGlobalSyncMode == SYNC_MODE_NORMAL)
2978 remote->insertAddressee( addresseeRSync, false ); 2981 remote->insertAddressee( addresseeRSync, false );
2979 local->insertAddressee( addresseeLSync, false ); 2982 local->insertAddressee( addresseeLSync, false );
2980 QString mes; 2983 QString mes;
2981 mes .sprintf( i18n("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"),addedAddressee, addedAddresseeR, changedLocal, changedRemote, deletedAddresseeL, deletedAddresseeR ); 2984 mes .sprintf( i18n("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"),addedAddressee, addedAddresseeR, changedLocal, changedRemote, deletedAddresseeL, deletedAddresseeR );
2982 qDebug( mes ); 2985 qDebug( mes );
2983 mes = i18n("Local addressbook changed!\n") +mes; 2986 mes = i18n("Local addressbook changed!\n") +mes;
2984 if ( syncManager->mShowSyncSummary ) { 2987 if ( syncManager->mShowSyncSummary ) {
2985 if ( KMessageBox::Cancel == KMessageBox::warningContinueCancel(this, mes, 2988 if ( KMessageBox::Cancel == KMessageBox::warningContinueCancel(this, mes,
2986 i18n("KA/Pi Synchronization"),i18n("Write back"))) { 2989 i18n("KA/Pi Synchronization"),i18n("Write back"))) {
2987 qDebug("cancelled "); 2990 qDebug("cancelled ");
2988 return false; 2991 return false;
2989 } 2992 }
2990 } 2993 }
2991 return syncOK; 2994 return syncOK;
2992} 2995}
2993 2996
2994 2997
2995//this is a overwritten callbackmethods from the syncinterface 2998//this is a overwritten callbackmethods from the syncinterface
2996bool KABCore::sync(KSyncManager* manager, QString filename, int mode) 2999bool KABCore::sync(KSyncManager* manager, QString filename, int mode)
2997{ 3000{
2998 3001
2999 //pending prepare addresseeview for output 3002 //pending prepare addresseeview for output
3000 //pending detect, if remote file has REV field. if not switch to external sync 3003 //pending detect, if remote file has REV field. if not switch to external sync
3001 mGlobalSyncMode = SYNC_MODE_NORMAL; 3004 mGlobalSyncMode = SYNC_MODE_NORMAL;
3002 QString mCurrentSyncDevice = manager->getCurrentSyncDevice(); 3005 QString mCurrentSyncDevice = manager->getCurrentSyncDevice();
3003 3006
3004 AddressBook abLocal(filename,"syncContact"); 3007 AddressBook abLocal(filename,"syncContact");
3005 bool syncOK = false; 3008 bool syncOK = false;
3006 if ( abLocal.load() ) { 3009 if ( abLocal.load() ) {
3007 qDebug("AB loaded %s,sync mode %d",filename.latin1(), mode ); 3010 qDebug("AB loaded %s,sync mode %d",filename.latin1(), mode );
3008 bool external = false; 3011 bool external = false;
3009 bool isXML = false; 3012 bool isXML = false;
3010 if ( filename.right(4) == ".xml") { 3013 if ( filename.right(4) == ".xml") {
3011 mGlobalSyncMode = SYNC_MODE_EXTERNAL; 3014 mGlobalSyncMode = SYNC_MODE_EXTERNAL;
3012 isXML = true; 3015 isXML = true;
3013 abLocal.preExternSync( mAddressBook ,mCurrentSyncDevice, true ); 3016 abLocal.preExternSync( mAddressBook ,mCurrentSyncDevice, true );
3014 } else { 3017 } else {
3015 external = !manager->mIsKapiFile; 3018 external = !manager->mIsKapiFile;
3016 if ( external ) { 3019 if ( external ) {
3017 qDebug("Setting vcf mode to external "); 3020 qDebug("Setting vcf mode to external ");
3018 mGlobalSyncMode = SYNC_MODE_EXTERNAL; 3021 mGlobalSyncMode = SYNC_MODE_EXTERNAL;
3019 AddressBook::Iterator it; 3022 AddressBook::Iterator it;
3020 for ( it = abLocal.begin(); it != abLocal.end(); ++it ) { 3023 for ( it = abLocal.begin(); it != abLocal.end(); ++it ) {
3021 (*it).setID( mCurrentSyncDevice, (*it).uid() ); 3024 (*it).setID( mCurrentSyncDevice, (*it).uid() );
3022 (*it).computeCsum( mCurrentSyncDevice ); 3025 (*it).computeCsum( mCurrentSyncDevice );
3023 } 3026 }
3024 } 3027 }
3025 } 3028 }
3026 //AddressBook::Iterator it; 3029 //AddressBook::Iterator it;
3027 //QStringList vcards; 3030 //QStringList vcards;
3028 //for ( it = abLocal.begin(); it != abLocal.end(); ++it ) { 3031 //for ( it = abLocal.begin(); it != abLocal.end(); ++it ) {
3029 // qDebug("Name %s ", (*it).familyName().latin1()); 3032 // qDebug("Name %s ", (*it).familyName().latin1());
3030 //} 3033 //}
3031 syncOK = synchronizeAddressbooks( mAddressBook, &abLocal, mode ); 3034 syncOK = synchronizeAddressbooks( mAddressBook, &abLocal, mode );
3032 if ( syncOK ) { 3035 if ( syncOK ) {
3033 if ( syncManager->mWriteBackFile ) 3036 if ( syncManager->mWriteBackFile )
3034 { 3037 {
3035 if ( external ) 3038 if ( external )
3036 abLocal.removeSyncAddressees( !isXML); 3039 abLocal.removeSyncAddressees( !isXML);
3037 qDebug("Saving remote AB "); 3040 qDebug("Saving remote AB ");
3038 if ( ! abLocal.saveAB()) 3041 if ( ! abLocal.saveAB())
3039 qDebug("Error writing back AB to file "); 3042 qDebug("Error writing back AB to file ");
3040 if ( external ) { 3043 if ( external ) {
3041 // afterwrite processing 3044 // afterwrite processing
3042 abLocal.postExternSync( mAddressBook,mCurrentSyncDevice ,isXML); 3045 abLocal.postExternSync( mAddressBook,mCurrentSyncDevice ,isXML);
3043 } 3046 }
3044 } 3047 }
3045 } 3048 }
3046 setModified(); 3049 setModified();
3047 3050
3048 } 3051 }
3049 abLocal.removeResources(); 3052 abLocal.removeResources();
3050 if ( syncOK ) 3053 if ( syncOK )
3051 mViewManager->refreshView(); 3054 mViewManager->refreshView();
3052 return syncOK; 3055 return syncOK;
3053 3056
3054} 3057}
3055void KABCore::removeSyncInfo( QString syncProfile) 3058void KABCore::removeSyncInfo( QString syncProfile)
3056{ 3059{
3057 qDebug("AB:removeSyncInfo for profile %s ", syncProfile.latin1()); 3060 qDebug("AB:removeSyncInfo for profile %s ", syncProfile.latin1());
3058 mAddressBook->removeSyncInfo( syncProfile ); 3061 mAddressBook->removeSyncInfo( syncProfile );
3059 setModified(); 3062 setModified();
3060} 3063}
3061 3064
3062 3065
3063//this is a overwritten callbackmethods from the syncinterface 3066//this is a overwritten callbackmethods from the syncinterface
3064bool KABCore::syncExternal(KSyncManager* manager, QString resource) 3067bool KABCore::syncExternal(KSyncManager* manager, QString resource)
3065{ 3068{
3066 if ( resource == "phone" ) 3069 if ( resource == "phone" )
3067 return syncPhone(); 3070 return syncPhone();
3068 disableBR( true ); 3071 disableBR( true );
3069 QString mCurrentSyncDevice = manager->getCurrentSyncDevice(); 3072 QString mCurrentSyncDevice = manager->getCurrentSyncDevice();
3070 3073
3071 AddressBook abLocal( resource,"syncContact"); 3074 AddressBook abLocal( resource,"syncContact");
3072 bool syncOK = false; 3075 bool syncOK = false;
3073 if ( abLocal.load() ) { 3076 if ( abLocal.load() ) {
3074 qDebug("AB sharp loaded ,sync device %s",mCurrentSyncDevice.latin1()); 3077 qDebug("AB sharp loaded ,sync device %s",mCurrentSyncDevice.latin1());
3075 mGlobalSyncMode = SYNC_MODE_EXTERNAL; 3078 mGlobalSyncMode = SYNC_MODE_EXTERNAL;
3076 abLocal.preExternSync( mAddressBook ,mCurrentSyncDevice, false ); 3079 abLocal.preExternSync( mAddressBook ,mCurrentSyncDevice, false );
3077 syncOK = synchronizeAddressbooks( mAddressBook, &abLocal, syncManager->mSyncAlgoPrefs ); 3080 syncOK = synchronizeAddressbooks( mAddressBook, &abLocal, syncManager->mSyncAlgoPrefs );
3078 if ( syncOK ) { 3081 if ( syncOK ) {
3079 if ( syncManager->mWriteBackFile ) { 3082 if ( syncManager->mWriteBackFile ) {
3080 abLocal.removeSyncAddressees( false ); 3083 abLocal.removeSyncAddressees( false );
3081 abLocal.saveAB(); 3084 abLocal.saveAB();
3082 abLocal.postExternSync( mAddressBook,mCurrentSyncDevice, true ); 3085 abLocal.postExternSync( mAddressBook,mCurrentSyncDevice, true );
3083 } 3086 }
3084 } else 3087 } else
3085 message( i18n("Sync cancelled or failed.") ); 3088 message( i18n("Sync cancelled or failed.") );
3086 setModified(); 3089 setModified();
3087 } 3090 }
3088 abLocal.removeResources(); 3091 abLocal.removeResources();
3089 if ( syncOK ) 3092 if ( syncOK )
3090 mViewManager->refreshView(); 3093 mViewManager->refreshView();
3091 disableBR( false ); 3094 disableBR( false );
3092 return syncOK; 3095 return syncOK;
3093 3096
3094} 3097}
3095void KABCore::message( QString m ) 3098void KABCore::message( QString m )
3096{ 3099{
3097 topLevelWidget()->setCaption( m ); 3100 topLevelWidget()->setCaption( m );
3098 mMessageTimer->start( 15000, true ); 3101 mMessageTimer->start( 15000, true );
3099} 3102}
3100bool KABCore::syncPhone() 3103bool KABCore::syncPhone()
3101{ 3104{
3102 QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice(); 3105 QString mCurrentSyncDevice = syncManager->getCurrentSyncDevice();
3103 QString fileName = getPhoneFile(); 3106 QString fileName = getPhoneFile();
3104 if ( !PhoneAccess::readFromPhone( fileName) ) { 3107 if ( !PhoneAccess::readFromPhone( fileName) ) {
3105 message(i18n("Phone access failed!")); 3108 message(i18n("Phone access failed!"));
3106 return false; 3109 return false;
3107 } 3110 }
3108 AddressBook abLocal( fileName,"syncContact"); 3111 AddressBook abLocal( fileName,"syncContact");
3109 bool syncOK = false; 3112 bool syncOK = false;
3110 { 3113 {
3111 abLocal.importFromFile( fileName ); 3114 abLocal.importFromFile( fileName );
3112 qDebug("AB phone loaded ,sync device %s",mCurrentSyncDevice.latin1()); 3115 qDebug("AB phone loaded ,sync device %s",mCurrentSyncDevice.latin1());
3113 mGlobalSyncMode = SYNC_MODE_EXTERNAL; 3116 mGlobalSyncMode = SYNC_MODE_EXTERNAL;
3114 abLocal.preparePhoneSync( mCurrentSyncDevice, true ); 3117 abLocal.preparePhoneSync( mCurrentSyncDevice, true );
3115 abLocal.preExternSync( mAddressBook ,mCurrentSyncDevice, true ); 3118 abLocal.preExternSync( mAddressBook ,mCurrentSyncDevice, true );
3116 syncOK = synchronizeAddressbooks( mAddressBook, &abLocal, syncManager->mSyncAlgoPrefs ); 3119 syncOK = synchronizeAddressbooks( mAddressBook, &abLocal, syncManager->mSyncAlgoPrefs );
3117 if ( syncOK ) { 3120 if ( syncOK ) {
3118 if ( syncManager->mWriteBackFile ) { 3121 if ( syncManager->mWriteBackFile ) {
3119 abLocal.removeSyncAddressees( true ); 3122 abLocal.removeSyncAddressees( true );
3120 abLocal.saveABphone( fileName ); 3123 abLocal.saveABphone( fileName );
3121 abLocal.findNewExtIds( fileName, mCurrentSyncDevice ); 3124 abLocal.findNewExtIds( fileName, mCurrentSyncDevice );
3122 //abLocal.preparePhoneSync( mCurrentSyncDevice, false ); 3125 //abLocal.preparePhoneSync( mCurrentSyncDevice, false );
3123 abLocal.postExternSync( mAddressBook,mCurrentSyncDevice, true ); 3126 abLocal.postExternSync( mAddressBook,mCurrentSyncDevice, true );
3124 } 3127 }
3125 } 3128 }
3126 setModified(); 3129 setModified();
3127 } 3130 }
3128 abLocal.removeResources(); 3131 abLocal.removeResources();
3129 if ( syncOK ) 3132 if ( syncOK )
3130 mViewManager->refreshView(); 3133 mViewManager->refreshView();
3131 return syncOK; 3134 return syncOK;
3132} 3135}
3133void KABCore::getFile( bool success ) 3136void KABCore::getFile( bool success )
3134{ 3137{
3135 if ( ! success ) { 3138 if ( ! success ) {
3136 message( i18n("Error receiving file. Nothing changed!") ); 3139 message( i18n("Error receiving file. Nothing changed!") );
3137 return; 3140 return;
3138 } 3141 }
3139 int count = mAddressBook->importFromFile( sentSyncFile() , false, true ); 3142 int count = mAddressBook->importFromFile( sentSyncFile() , false, true );
3140 if ( count ) 3143 if ( count )
3141 setModified( true ); 3144 setModified( true );
3142 message( i18n("Pi-Sync successful!") ); 3145 message( i18n("Pi-Sync successful!") );
3143 mViewManager->refreshView(); 3146 mViewManager->refreshView();
3144} 3147}
3145void KABCore::syncFileRequest() 3148void KABCore::syncFileRequest()
3146{ 3149{
3147 if ( KABPrefs::instance()->mPassiveSyncWithDesktop ) { 3150 if ( KABPrefs::instance()->mPassiveSyncWithDesktop ) {
3148 syncManager->slotSyncMenu( 999 ); 3151 syncManager->slotSyncMenu( 999 );
3149 } 3152 }
3150 mAddressBook->export2File( sentSyncFile() ); 3153 mAddressBook->export2File( sentSyncFile() );
3151} 3154}
3152QString KABCore::sentSyncFile() 3155QString KABCore::sentSyncFile()
3153{ 3156{
3154#ifdef DESKTOP_VERSION 3157#ifdef DESKTOP_VERSION
3155 return locateLocal( "tmp", "copysyncab.vcf" ); 3158 return locateLocal( "tmp", "copysyncab.vcf" );
3156#else 3159#else
3157 return QString( "/tmp/copysyncab.vcf" ); 3160 return QString( "/tmp/copysyncab.vcf" );
3158#endif 3161#endif
3159} 3162}
3160 3163
3161void KABCore::setCaptionBack() 3164void KABCore::setCaptionBack()
3162{ 3165{
3163 mMessageTimer->stop(); 3166 mMessageTimer->stop();
3164 topLevelWidget()->setCaption( i18n("KAddressbook/Pi") ); 3167 topLevelWidget()->setCaption( i18n("KAddressbook/Pi") );
3165} 3168}
diff --git a/korganizer/kowhatsnextview.cpp b/korganizer/kowhatsnextview.cpp
index 3801ed4..5f14bfa 100644
--- a/korganizer/kowhatsnextview.cpp
+++ b/korganizer/kowhatsnextview.cpp
@@ -1,708 +1,708 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18*/ 18*/
19 19
20#include <qlayout.h> 20#include <qlayout.h>
21#include <qtextbrowser.h> 21#include <qtextbrowser.h>
22#include <qtextcodec.h> 22#include <qtextcodec.h>
23#include <qfileinfo.h> 23#include <qfileinfo.h>
24#include <qlabel.h> 24#include <qlabel.h>
25 25
26#include <qapplication.h> 26#include <qapplication.h>
27 27
28#include <kglobal.h> 28#include <kglobal.h>
29#include <klocale.h> 29#include <klocale.h>
30#include <kdebug.h> 30#include <kdebug.h>
31#include <kiconloader.h> 31#include <kiconloader.h>
32#include <kmessagebox.h> 32#include <kmessagebox.h>
33 33
34#include <libkcal/calendar.h> 34#include <libkcal/calendar.h>
35 35
36#ifndef KORG_NOPRINTER 36#ifndef KORG_NOPRINTER
37#include "calprinter.h" 37#include "calprinter.h"
38#endif 38#endif
39#include "koglobals.h" 39#include "koglobals.h"
40#include "koprefs.h" 40#include "koprefs.h"
41#include "koeventviewerdialog.h" 41#include "koeventviewerdialog.h"
42#include <qstylesheet.h> 42#include <qstylesheet.h>
43#include "kowhatsnextview.h" 43#include "kowhatsnextview.h"
44using namespace KOrg; 44using namespace KOrg;
45 45
46void WhatsNextTextBrowser::setSource(const QString& n) 46void WhatsNextTextBrowser::setSource(const QString& n)
47{ 47{
48 48
49 if (n.startsWith("event:")) { 49 if (n.startsWith("event:")) {
50 emit showIncidence(n); 50 emit showIncidence(n);
51 return; 51 return;
52 } else if (n.startsWith("todo:")) { 52 } else if (n.startsWith("todo:")) {
53 emit showIncidence(n); 53 emit showIncidence(n);
54 return; 54 return;
55 } else { 55 } else {
56 QTextBrowser::setSource(n); 56 QTextBrowser::setSource(n);
57 } 57 }
58} 58}
59 59
60KOWhatsNextView::KOWhatsNextView(Calendar *calendar, QWidget *parent, 60KOWhatsNextView::KOWhatsNextView(Calendar *calendar, QWidget *parent,
61 const char *name) 61 const char *name)
62 : KOrg::BaseView(calendar, parent, name) 62 : KOrg::BaseView(calendar, parent, name)
63{ 63{
64 // mDateLabel = 64 // mDateLabel =
65 // new QLabel(KGlobal::locale()->formatDate(QDate::currentDate()),this); 65 // new QLabel(KGlobal::locale()->formatDate(QDate::currentDate()),this);
66 // mDateLabel->setMargin(2); 66 // mDateLabel->setMargin(2);
67 // mDateLabel->setAlignment(AlignCenter); 67 // mDateLabel->setAlignment(AlignCenter);
68 setFont( KOPrefs::instance()->mWhatsNextFont ); 68 setFont( KOPrefs::instance()->mWhatsNextFont );
69 mView = new WhatsNextTextBrowser(this); 69 mView = new WhatsNextTextBrowser(this);
70 connect(mView,SIGNAL(showIncidence(const QString &)),SLOT(showIncidence(const QString &))); 70 connect(mView,SIGNAL(showIncidence(const QString &)),SLOT(showIncidence(const QString &)));
71 QStyleSheet* stsh = mView->styleSheet(); 71 QStyleSheet* stsh = mView->styleSheet();
72 QStyleSheetItem * style ; 72 QStyleSheetItem * style ;
73 style = stsh->item ("h2" ); 73 style = stsh->item ("h2" );
74 if ( style ) { 74 if ( style ) {
75 style->setMargin(QStyleSheetItem::MarginAll,0); 75 style->setMargin(QStyleSheetItem::MarginAll,0);
76 } 76 }
77 style = stsh->item ("h3" ); 77 style = stsh->item ("h3" );
78 if ( style ) { 78 if ( style ) {
79 style->setMargin(QStyleSheetItem::MarginAll,0); 79 style->setMargin(QStyleSheetItem::MarginAll,0);
80 } 80 }
81 mEventViewer = 0; 81 mEventViewer = 0;
82 82
83 QBoxLayout *topLayout = new QVBoxLayout(this); 83 QBoxLayout *topLayout = new QVBoxLayout(this);
84 // topLayout->addWidget(mDateLabel); 84 // topLayout->addWidget(mDateLabel);
85 topLayout->addWidget(mView); 85 topLayout->addWidget(mView);
86 mTimer = new QTimer( this ); 86 mTimer = new QTimer( this );
87 connect(mTimer,SIGNAL( timeout() ),this, SLOT(updateView())); 87 connect(mTimer,SIGNAL( timeout() ),this, SLOT(updateView()));
88 88
89 connect(mView->horizontalScrollBar (),SIGNAL( sliderReleased () ),this, SLOT(restartTimer())); 89 connect(mView->horizontalScrollBar (),SIGNAL( sliderReleased () ),this, SLOT(restartTimer()));
90 connect(mView->verticalScrollBar (),SIGNAL( sliderReleased () ),this, SLOT(restartTimer())); 90 connect(mView->verticalScrollBar (),SIGNAL( sliderReleased () ),this, SLOT(restartTimer()));
91} 91}
92 92
93KOWhatsNextView::~KOWhatsNextView() 93KOWhatsNextView::~KOWhatsNextView()
94{ 94{
95} 95}
96 96
97int KOWhatsNextView::maxDatesHint() 97int KOWhatsNextView::maxDatesHint()
98{ 98{
99 return 0; 99 return 0;
100} 100}
101 101
102int KOWhatsNextView::currentDateCount() 102int KOWhatsNextView::currentDateCount()
103{ 103{
104 return 0; 104 return 0;
105} 105}
106 106
107QPtrList<Incidence> KOWhatsNextView::selectedIncidences() 107QPtrList<Incidence> KOWhatsNextView::selectedIncidences()
108{ 108{
109 QPtrList<Incidence> eventList; 109 QPtrList<Incidence> eventList;
110 110
111 return eventList; 111 return eventList;
112} 112}
113 113
114 114
115void KOWhatsNextView::printPreview(CalPrinter *calPrinter, const QDate &fd, 115void KOWhatsNextView::printPreview(CalPrinter *calPrinter, const QDate &fd,
116 const QDate &td) 116 const QDate &td)
117{ 117{
118#ifndef KORG_NOPRINTER 118#ifndef KORG_NOPRINTER
119 calPrinter->preview(CalPrinter::Day, fd, td); 119 calPrinter->preview(CalPrinter::Day, fd, td);
120#endif 120#endif
121} 121}
122void KOWhatsNextView::updateConfig() 122void KOWhatsNextView::updateConfig()
123{ 123{
124 setFont( KOPrefs::instance()->mWhatsNextFont ); 124 setFont( KOPrefs::instance()->mWhatsNextFont );
125 updateView(); 125 updateView();
126 126
127} 127}
128void KOWhatsNextView::showEvent ( QShowEvent * e ) 128void KOWhatsNextView::showEvent ( QShowEvent * e )
129{ 129{
130 //qDebug("KOWhatsNextView::showEvent "); 130 //qDebug("KOWhatsNextView::showEvent ");
131 restartTimer(); 131 restartTimer();
132 QWidget::showEvent ( e ); 132 QWidget::showEvent ( e );
133} 133}
134void KOWhatsNextView::hideEvent ( QHideEvent * e) 134void KOWhatsNextView::hideEvent ( QHideEvent * e)
135{ 135{
136 //qDebug(" KOWhatsNextView::hideEvent"); 136 //qDebug(" KOWhatsNextView::hideEvent");
137 mTimer->stop(); 137 mTimer->stop();
138 QWidget::hideEvent ( e ); 138 QWidget::hideEvent ( e );
139} 139}
140void KOWhatsNextView::restartTimer() 140void KOWhatsNextView::restartTimer()
141{ 141{
142 //qDebug("KOWhatsNextView::restartTimer() "); 142 //qDebug("KOWhatsNextView::restartTimer() ");
143 mTimer->start( 300000 ); 143 mTimer->start( 300000 );
144 //mTimer->start( 5000 ); 144 //mTimer->start( 5000 );
145} 145}
146void KOWhatsNextView::updateView() 146void KOWhatsNextView::updateView()
147{ 147{
148 if ( mTimer->isActive() ) 148 if ( mTimer->isActive() )
149 restartTimer(); 149 restartTimer();
150 //qDebug("KOWhatsNextView::updateView() "); 150 //qDebug("KOWhatsNextView::updateView() ");
151 // mDateLabel->setText(KGlobal::locale()->formatDate(QDate::currentDate())); 151 // mDateLabel->setText(KGlobal::locale()->formatDate(QDate::currentDate()));
152 KIconLoader kil("korganizer"); 152 KIconLoader kil("korganizer");
153 QString ipath;// = new QString(); 153 QString ipath;// = new QString();
154 // kil.loadIcon("korganizer",KIcon::NoGroup,32,KIcon::DefaultState,&ipath); 154 // kil.loadIcon("korganizer",KIcon::NoGroup,32,KIcon::DefaultState,&ipath);
155 //<big><big><strong>" + date + "</strong></big></big>\n"; 155 //<big><big><strong>" + date + "</strong></big></big>\n";
156 mText = "<table width=\"100%\">\n"; 156 mText = "<table width=\"100%\">\n";
157 //mText += "<tr bgcolor=\"#3679AD\"><td><h2>"; 157 //mText += "<tr bgcolor=\"#3679AD\"><td><h2>";
158#ifdef DESKTOP_VERSION 158#ifdef DESKTOP_VERSION
159 mText += "<tr bgcolor=\"#5699CD\"><td align=\"center\"><h1>"; 159 mText += "<tr bgcolor=\"#5699CD\"><td align=\"center\"><h1>";
160#else 160#else
161 mText += "<tr bgcolor=\"#5699CD\"><td align=\"center\"><h2>"; 161 mText += "<tr bgcolor=\"#5699CD\"><td align=\"center\"><h2>";
162#endif 162#endif
163 // mText += "<img src=\""; 163 // mText += "<img src=\"";
164 // mText += ipath; 164 // mText += ipath;
165 // mText += "\">"; 165 // mText += "\">";
166 mEventDate = QDate::currentDate(); 166 mEventDate = QDate::currentDate();
167#ifdef DESKTOP_VERSION 167#ifdef DESKTOP_VERSION
168 mText += "<font color=\"#FFFFFF\"> <em>" + KGlobal::locale()->formatDate( mEventDate , false )+"</em></font></h1>"; 168 mText += "<font color=\"#FFFFFF\"> <em>" + KGlobal::locale()->formatDate( mEventDate , false )+"</em></font></h1>";
169#else 169#else
170 mText += "<font color=\"#FFFFFF\"> <em>" + KGlobal::locale()->formatDate( mEventDate , false )+"</em></font></h2>"; 170 mText += "<font color=\"#FFFFFF\"> <em>" + KGlobal::locale()->formatDate( mEventDate , false )+"</em></font></h2>";
171#endif 171#endif
172 mText += "</td></tr>\n<tr bgcolor=\"#EAF8FA\"><td>"; 172 mText += "</td></tr>\n<tr bgcolor=\"#EAF8FA\"><td>";
173 int iii; 173 int iii;
174 mTodos.clear(); 174 mTodos.clear();
175 QPtrList<Event> events; 175 QPtrList<Event> events;
176 QPtrList<Todo> todos = calendar()->todos(); 176 QPtrList<Todo> todos = calendar()->todos();
177 Todo * todo; 177 Todo * todo;
178 //mText += "<h2>" + i18n("Events: ") + "</h2>\n"; 178 //mText += "<h2>" + i18n("Events: ") + "</h2>\n";
179 int daysToShow = KOPrefs::instance()->mWhatsNextDays ; 179 int daysToShow = KOPrefs::instance()->mWhatsNextDays ;
180 bool itemAdded = false; 180 bool itemAdded = false;
181 for ( iii = 0; iii < daysToShow; ++iii ) { 181 for ( iii = 0; iii < daysToShow; ++iii ) {
182 QString date; 182 QString date;
183 itemAdded = false; 183 itemAdded = false;
184 events = calendar()->events( mEventDate, true ); 184 events = calendar()->events( mEventDate, true );
185 185
186 if ( iii == 0 ) { // today !!! 186 if ( iii == 0 ) { // today !!!
187 todo = todos.first(); 187 todo = todos.first();
188 while(todo) { 188 while(todo) {
189 if ( !todo->isCompleted() &&todo->hasDueDate() && todo->dtDue().date() < mEventDate ) { 189 if ( !todo->isCompleted() &&todo->hasDueDate() && todo->dtDue().date() < mEventDate ) {
190 if ( ! itemAdded ) { 190 if ( ! itemAdded ) {
191 appendDay ( iii, mEventDate ); 191 appendDay ( iii, mEventDate );
192 //itemAdded = true; 192 //itemAdded = true;
193 193
194 } //bool reply=false, bool notRed = true, bool appendTable = false); 194 } //bool reply=false, bool notRed = true, bool appendTable = false);
195 appendEvent(todo, false, false, !itemAdded ); 195 appendEvent(todo, false, false, !itemAdded );
196 itemAdded = true; 196 itemAdded = true;
197 } 197 }
198 todo = todos.next(); 198 todo = todos.next();
199 } 199 }
200 } 200 }
201 201
202 202
203 if (events.count() > 0) { 203 if (events.count() > 0) {
204 // mText += "<p></p>"; 204 // mText += "<p></p>";
205 // kil.loadIcon("month",KIcon::NoGroup,22,KIcon::DefaultState,&ipath); 205 // kil.loadIcon("month",KIcon::NoGroup,22,KIcon::DefaultState,&ipath);
206 // mText += "<h2>"; 206 // mText += "<h2>";
207 //mText += " <img src=\""; 207 //mText += " <img src=\"";
208 //mText += ipath; 208 //mText += ipath;
209 //mText += "\">"; 209 //mText += "\">";
210 if ( ! itemAdded ) { 210 if ( ! itemAdded ) {
211 appendDay ( iii, mEventDate ); 211 appendDay ( iii, mEventDate );
212 212
213 } 213 }
214 // for first day (iii == 0) 214 // for first day (iii == 0)
215 // we may have syncevents, or events in the past, which maybe should not be diaplayed 215 // we may have syncevents, or events in the past, which maybe should not be diaplayed
216 // for that reason we cannot append <table> in appendDay () for iii == 0 216 // for that reason we cannot append <table> in appendDay () for iii == 0
217 // we must append it in the first successful call of appendEvent() 217 // we must append it in the first successful call of appendEvent()
218 Event *ev = events.first(); 218 Event *ev = events.first();
219 while(ev) { 219 while(ev) {
220 //qDebug("+++++event append %s", ev->summary().latin1()); 220 //qDebug("+++++event append %s", ev->summary().latin1());
221 if ( true /*!ev->recurrence()->doesRecur() || ev->recursOn( mEventDate)*/) { 221 if ( true /*!ev->recurrence()->doesRecur() || ev->recursOn( mEventDate)*/) {
222 if ( appendEvent(ev, false , iii!= 0,!itemAdded ) ) 222 if ( appendEvent(ev, false , iii!= 0,!itemAdded ) )
223 itemAdded = true; 223 itemAdded = true;
224 } 224 }
225 ev = events.next(); 225 ev = events.next();
226 } 226 }
227 227
228 //mText += "</table>\n"; 228 //mText += "</table>\n";
229 } 229 }
230 230
231 todo = todos.first(); 231 todo = todos.first();
232 while(todo) { 232 while(todo) {
233 if ( !todo->isCompleted() &&todo->hasDueDate() && todo->dtDue().date() == mEventDate ) { 233 if ( !todo->isCompleted() &&todo->hasDueDate() && todo->dtDue().date() == mEventDate ) {
234 if ( ! itemAdded ) { 234 if ( ! itemAdded ) {
235 appendDay ( iii, mEventDate ); 235 appendDay ( iii, mEventDate );
236 //itemAdded = true; 236 //itemAdded = true;
237 } 237 }
238 appendEvent(todo, false , iii!= 0,!itemAdded); 238 appendEvent(todo, false , iii!= 0,!itemAdded);
239 itemAdded = true; 239 itemAdded = true;
240 } 240 }
241 todo = todos.next(); 241 todo = todos.next();
242 } 242 }
243 if ( !itemAdded && iii == 0 ) { 243 if ( !itemAdded && iii == 0 ) {
244 // appendDay ( iii, mEventDate ); 244 // appendDay ( iii, mEventDate );
245 //mText += "<table>"; 245 //mText += "<table>";
246 // mText += "<b><font color=\"#000080\"><em>"+i18n("No event, nothing to do.") +"</em></font></b>\n"; 246 // mText += "<b><font color=\"#000080\"><em>"+i18n("No event, nothing to do.") +"</em></font></b>\n";
247 mText += "<h3 align=\"center\"><font color=\"#008000\"><em>"+i18n("No event, nothing to do. ") +"</em></font></h3>\n"; 247 mText += "<h3 align=\"center\"><font color=\"#008000\"><em>"+i18n("No event, nothing to do.") +"</em></font></h3>\n";
248 //mText +="</table>"; 248 //mText +="</table>";
249 } 249 }
250 if ( itemAdded ) 250 if ( itemAdded )
251 mText += "</table>\n"; 251 mText += "</table>\n";
252 mEventDate = mEventDate.addDays( 1 ); 252 mEventDate = mEventDate.addDays( 1 );
253 } 253 }
254 254
255 int topmostPrios = KOPrefs::instance()->mWhatsNextPrios; 255 int topmostPrios = KOPrefs::instance()->mWhatsNextPrios;
256 if (todos.count() > 0 && topmostPrios > 0 ) { 256 if (todos.count() > 0 && topmostPrios > 0 ) {
257 // kil.loadIcon("todo",KIcon::NoGroup,22,KIcon::DefaultState,&ipath); 257 // kil.loadIcon("todo",KIcon::NoGroup,22,KIcon::DefaultState,&ipath);
258 // mText += "<h2>"; 258 // mText += "<h2>";
259 //<img src=\""; 259 //<img src=\"";
260 // mText += ipath; 260 // mText += ipath;
261 // mText += "\">"; 261 // mText += "\">";
262 // mText += i18n("Overdue To-Do:") + "</h2>\n"; 262 // mText += i18n("Overdue To-Do:") + "</h2>\n";
263 263
264 //mText += "<ul>\n"; 264 //mText += "<ul>\n";
265 bool gotone = false; 265 bool gotone = false;
266 int priority = 1; 266 int priority = 1;
267 int priosFound = 0; 267 int priosFound = 0;
268#ifdef DESKTOP_VERSION 268#ifdef DESKTOP_VERSION
269 mText +="<p></p>"; 269 mText +="<p></p>";
270#endif 270#endif
271 271
272 mText +="<h2><em><font color=\"#000080\">" + i18n("Incomplete Todo:") + "</font></em></h2>\n"; 272 mText +="<h2><em><font color=\"#000080\">" + i18n("Incomplete Todo:") + "</font></em></h2>\n";
273 mText += "<ul>\n"; 273 mText += "<ul>\n";
274 while (!gotone && priority<6) { 274 while (!gotone && priority<6) {
275 todo = todos.first(); 275 todo = todos.first();
276 while(todo) { 276 while(todo) {
277 if (!todo->isCompleted() && (todo->priority() == priority) ) { 277 if (!todo->isCompleted() && (todo->priority() == priority) ) {
278 if ( appendTodo(todo) ) 278 if ( appendTodo(todo) )
279 gotone = true; 279 gotone = true;
280 } 280 }
281 todo = todos.next(); 281 todo = todos.next();
282 } 282 }
283 if ( gotone ) { 283 if ( gotone ) {
284 gotone = false; 284 gotone = false;
285 ++priosFound; 285 ++priosFound;
286 if ( priosFound == topmostPrios ) 286 if ( priosFound == topmostPrios )
287 break; 287 break;
288 } 288 }
289 priority++; 289 priority++;
290 // kdDebug() << "adding the todos..." << endl; 290 // kdDebug() << "adding the todos..." << endl;
291 } 291 }
292 mText += "</ul>\n"; 292 mText += "</ul>\n";
293 } 293 }
294 294
295 int replys = 0; 295 int replys = 0;
296 events = calendar()->events(QDate::currentDate(), QDate(2975,12,6)); 296 events = calendar()->events(QDate::currentDate(), QDate(2975,12,6));
297 if (events.count() > 0) { 297 if (events.count() > 0) {
298 Event *ev = events.first(); 298 Event *ev = events.first();
299 while(ev) { 299 while(ev) {
300 Attendee *me = ev->attendeeByMails(KOPrefs::instance()->mAdditionalMails,KOPrefs::instance()->email()); 300 Attendee *me = ev->attendeeByMails(KOPrefs::instance()->mAdditionalMails,KOPrefs::instance()->email());
301 if (me!=0) { 301 if (me!=0) {
302 if (me->status()==Attendee::NeedsAction && me->RSVP()) { 302 if (me->status()==Attendee::NeedsAction && me->RSVP()) {
303 if (replys == 0) { 303 if (replys == 0) {
304 mText += "<p></p>"; 304 mText += "<p></p>";
305 // kil.loadIcon("reply",KIcon::NoGroup,22,KIcon::DefaultState,&ipath); 305 // kil.loadIcon("reply",KIcon::NoGroup,22,KIcon::DefaultState,&ipath);
306 //mText += "<h2>"; 306 //mText += "<h2>";
307 //<img src=\""; 307 //<img src=\"";
308 // mText += ipath; 308 // mText += ipath;
309 // mText += "\">"; 309 // mText += "\">";
310 //mText += i18n("Events and To-Dos that need a reply:") + "</h2>\n"; 310 //mText += i18n("Events and To-Dos that need a reply:") + "</h2>\n";
311 mText +="<h2><em><font color=\"#000080\">" + i18n("Events and To-Dos that need a reply:") + "</font></em></h2>\n"; 311 mText +="<h2><em><font color=\"#000080\">" + i18n("Events and To-Dos that need a reply:") + "</font></em></h2>\n";
312 mText += "<table>\n"; 312 mText += "<table>\n";
313 } 313 }
314 replys++; 314 replys++;
315 appendEvent(ev,true); 315 appendEvent(ev,true);
316 } 316 }
317 } 317 }
318 ev = events.next(); 318 ev = events.next();
319 } 319 }
320 } 320 }
321 todos = calendar()->todos(); 321 todos = calendar()->todos();
322 if (todos.count() > 0) { 322 if (todos.count() > 0) {
323 Todo *to = todos.first(); 323 Todo *to = todos.first();
324 while(to) { 324 while(to) {
325 if ( !to->isCompleted() ){ 325 if ( !to->isCompleted() ){
326 Attendee *me = to->attendeeByMails(KOPrefs::instance()->mAdditionalMails,KOPrefs::instance()->email()); 326 Attendee *me = to->attendeeByMails(KOPrefs::instance()->mAdditionalMails,KOPrefs::instance()->email());
327 if (me!=0) { 327 if (me!=0) {
328 if (me->status()==Attendee::NeedsAction && me->RSVP()) { 328 if (me->status()==Attendee::NeedsAction && me->RSVP()) {
329 if (replys == 0) { 329 if (replys == 0) {
330 mText +="<h2><em><font color=\"#000080\">" + i18n("Events and To-Dos that need a reply:") + "</font></em></h2>\n"; 330 mText +="<h2><em><font color=\"#000080\">" + i18n("Events and To-Dos that need a reply:") + "</font></em></h2>\n";
331 mText += "<table>\n"; 331 mText += "<table>\n";
332 } 332 }
333 replys++; 333 replys++;
334 appendEvent(to, true); 334 appendEvent(to, true);
335 } 335 }
336 } 336 }
337 } 337 }
338 to = todos.next(); 338 to = todos.next();
339 } 339 }
340 } 340 }
341 if (replys > 0 ) mText += "</table>\n"; 341 if (replys > 0 ) mText += "</table>\n";
342 342
343 343
344 mText += "</td></tr>\n</table>\n"; 344 mText += "</td></tr>\n</table>\n";
345 345
346 mView->setText(mText); 346 mView->setText(mText);
347 mView->setFocus(); 347 mView->setFocus();
348 348
349 // QPixmap bPix = SmallIcon( "back" ); 349 // QPixmap bPix = SmallIcon( "back" );
350 // qDebug("xxxxxxxxxxxxxxxxxxxxx "); 350 // qDebug("xxxxxxxxxxxxxxxxxxxxx ");
351 // QWidget* test = new QWidget(); 351 // QWidget* test = new QWidget();
352 // test->setBackgroundMode(FixedPixmap ); 352 // test->setBackgroundMode(FixedPixmap );
353 // test->setBackgroundPixmap ( bPix ); 353 // test->setBackgroundPixmap ( bPix );
354 // test->resize( 300, 400 ); 354 // test->resize( 300, 400 );
355 // test->show(); 355 // test->show();
356 // mView->setBackgroundMode(FixedPixmap ); 356 // mView->setBackgroundMode(FixedPixmap );
357 // mView->setBackgroundPixmap ( bPix ); 357 // mView->setBackgroundPixmap ( bPix );
358 // qDebug("%s ",mText.latin1()); 358 // qDebug("%s ",mText.latin1());
359} 359}
360 360
361void KOWhatsNextView::appendDay( int i, QDate eventDate ) 361void KOWhatsNextView::appendDay( int i, QDate eventDate )
362{ 362{
363 QString date; 363 QString date;
364 QString day = KGlobal::locale()->formatDate( eventDate , KOPrefs::instance()->mShortDateInViewer); 364 QString day = KGlobal::locale()->formatDate( eventDate , KOPrefs::instance()->mShortDateInViewer);
365 if ( ! KOPrefs::instance()->mShortDateInViewer && QApplication::desktop()->width() < 320 ) { 365 if ( ! KOPrefs::instance()->mShortDateInViewer && QApplication::desktop()->width() < 320 ) {
366 if ( i == 0 ) { 366 if ( i == 0 ) {
367 //mText += "<table>\n"; 367 //mText += "<table>\n";
368 return;//date = "<em><font color=\"#008000\"><em>" + day+"</font></em>"; 368 return;//date = "<em><font color=\"#008000\"><em>" + day+"</font></em>";
369 } 369 }
370 else if ( i == 1 ) 370 else if ( i == 1 )
371 date = "<em><font color=\"#000080\">" + day + "</font></em>" ; 371 date = "<em><font color=\"#000080\">" + day + "</font></em>" ;
372 else date = "<em><font color=\"#000080\">" + day + "</font></em>"; 372 else date = "<em><font color=\"#000080\">" + day + "</font></em>";
373 mText += "<h2>" + date + "</h2>\n"; 373 mText += "<h2>" + date + "</h2>\n";
374 //mText += "<big><big><strong>" + date + "</strong></big></big>\n"; 374 //mText += "<big><big><strong>" + date + "</strong></big></big>\n";
375 mText += "<table>\n"; 375 mText += "<table>\n";
376 376
377 377
378 378
379 } else { 379 } else {
380 if ( i == 0 ) { 380 if ( i == 0 ) {
381 //mText += "<table>\n"; 381 //mText += "<table>\n";
382 return;// date = "<font color=\"#008000\"><em>" +i18n("Today: ") +"</em>" + day+"</font>"; 382 return;// date = "<font color=\"#008000\"><em>" +i18n("Today: ") +"</em>" + day+"</font>";
383 } 383 }
384 384
385#ifdef DESKTOP_VERSION 385#ifdef DESKTOP_VERSION
386 else if ( i == 1 ) { 386 else if ( i == 1 ) {
387 date = "<h2><em><font color=\"#000080\">" + i18n("Tomorrow: ") + day +"</font></em></h2>" ; 387 date = "<h2><em><font color=\"#000080\">" + i18n("Tomorrow: ") + day +"</font></em></h2>" ;
388 } 388 }
389 else date = "<h2><em><font color=\"#000080\">" + i18n("In %1 days: ").arg( i ) +day + "</font></em></h2>"; 389 else date = "<h2><em><font color=\"#000080\">" + i18n("In %1 days: ").arg( i ) +day + "</font></em></h2>";
390#else 390#else
391 else if ( i == 1 ) { 391 else if ( i == 1 ) {
392 date = "<em><font color=\"#000080\">" + i18n("Tomorrow: ") + day +"</font></em>" ; 392 date = "<em><font color=\"#000080\">" + i18n("Tomorrow: ") + day +"</font></em>" ;
393 } 393 }
394 else date = "<em><font color=\"#000080\">" + i18n("In %1 days: ").arg( i ) +day + "</font></em>"; 394 else date = "<em><font color=\"#000080\">" + i18n("In %1 days: ").arg( i ) +day + "</font></em>";
395 395
396#endif 396#endif
397 mText += "<h2>" + date + "</h2>\n"; 397 mText += "<h2>" + date + "</h2>\n";
398 //mText += "<big><big><strong>" + date + "</strong></big></big>\n"; 398 //mText += "<big><big><strong>" + date + "</strong></big></big>\n";
399 mText += "<table>\n"; 399 mText += "<table>\n";
400 } 400 }
401} 401}
402 402
403 403
404void KOWhatsNextView::showDates(const QDate &, const QDate &) 404void KOWhatsNextView::showDates(const QDate &, const QDate &)
405{ 405{
406 updateView(); 406 updateView();
407} 407}
408 408
409void KOWhatsNextView::showEvents(QPtrList<Event>) 409void KOWhatsNextView::showEvents(QPtrList<Event>)
410{ 410{
411} 411}
412 412
413void KOWhatsNextView::changeEventDisplay(Event *, int action) 413void KOWhatsNextView::changeEventDisplay(Event *, int action)
414{ 414{
415 switch(action) { 415 switch(action) {
416 case KOGlobals::EVENTADDED: 416 case KOGlobals::EVENTADDED:
417 updateView(); 417 updateView();
418 break; 418 break;
419 case KOGlobals::EVENTEDITED: 419 case KOGlobals::EVENTEDITED:
420 updateView(); 420 updateView();
421 break; 421 break;
422 case KOGlobals::EVENTDELETED: 422 case KOGlobals::EVENTDELETED:
423 updateView(); 423 updateView();
424 break; 424 break;
425 default: 425 default:
426 updateView(); 426 updateView();
427 kdDebug() << "KOWhatsNextView::changeEventDisplay(): Illegal action " << action << endl; 427 kdDebug() << "KOWhatsNextView::changeEventDisplay(): Illegal action " << action << endl;
428 } 428 }
429} 429}
430 430
431bool KOWhatsNextView::appendEvent(Incidence *ev, bool reply, bool notRed, bool appendTable ) 431bool KOWhatsNextView::appendEvent(Incidence *ev, bool reply, bool notRed, bool appendTable )
432{ 432{
433 if ( !KOPrefs::instance()->mShowSyncEvents && ev->uid().left(15) == QString("last-syncEvent-") ) 433 if ( !KOPrefs::instance()->mShowSyncEvents && ev->uid().left(15) == QString("last-syncEvent-") )
434 return false; 434 return false;
435 QDateTime cdt = QDateTime::currentDateTime(); 435 QDateTime cdt = QDateTime::currentDateTime();
436 QDateTime noc; 436 QDateTime noc;
437 QString tempText; 437 QString tempText;
438 if ( appendTable && !notRed ) { 438 if ( appendTable && !notRed ) {
439 tempText = "<table>"; 439 tempText = "<table>";
440 } 440 }
441 bool ok = true; 441 bool ok = true;
442 if ( reply ) { 442 if ( reply ) {
443 noc = ev->getNextOccurence( cdt, &ok ); 443 noc = ev->getNextOccurence( cdt, &ok );
444 if (! ok && ev->type() == "Event") 444 if (! ok && ev->type() == "Event")
445 return false; 445 return false;
446 } 446 }
447 tempText += "<tr><td><b>"; 447 tempText += "<tr><td><b>";
448 if (ev->type()=="Event") { 448 if (ev->type()=="Event") {
449 if (reply) { 449 if (reply) {
450 if (!ev->doesFloat()) 450 if (!ev->doesFloat())
451 tempText += KGlobal::locale()->formatDateTime( noc , KOPrefs::instance()->mShortDateInViewer) +": "; 451 tempText += KGlobal::locale()->formatDateTime( noc , KOPrefs::instance()->mShortDateInViewer) +": ";
452 else 452 else
453 tempText += KGlobal::locale()->formatDate( noc.date() , KOPrefs::instance()->mShortDateInViewer) +": "; 453 tempText += KGlobal::locale()->formatDate( noc.date() , KOPrefs::instance()->mShortDateInViewer) +": ";
454 454
455 } else { 455 } else {
456 if (!ev->doesFloat()) { 456 if (!ev->doesFloat()) {
457 Event *event = static_cast<Event *>(ev); 457 Event *event = static_cast<Event *>(ev);
458 QDateTime st,end; 458 QDateTime st,end;
459 if ( event->recurrence()->doesRecur() ) { 459 if ( event->recurrence()->doesRecur() ) {
460 QDate recDate= mEventDate; 460 QDate recDate= mEventDate;
461 int days = event->dtStart().date().daysTo (event->dtEnd().date() ); 461 int days = event->dtStart().date().daysTo (event->dtEnd().date() );
462 while ( ! event->recursOn( recDate ) ) { 462 while ( ! event->recursOn( recDate ) ) {
463 recDate = recDate.addDays( -1 ); 463 recDate = recDate.addDays( -1 );
464 464
465 } 465 }
466 st = QDateTime ( recDate, event->dtStart().time() ); 466 st = QDateTime ( recDate, event->dtStart().time() );
467 end = QDateTime ( recDate.addDays( days ), event->dtEnd().time() ); 467 end = QDateTime ( recDate.addDays( days ), event->dtEnd().time() );
468 } 468 }
469 else { 469 else {
470 st = event->dtStart(); 470 st = event->dtStart();
471 end = event->dtEnd(); 471 end = event->dtEnd();
472 } 472 }
473 473
474 474
475 QString dateText; 475 QString dateText;
476 // qDebug("%s %s %s %s ", mEventDate.toString().latin1(),event->summary().latin1(), st .toString().latin1(),end.toString().latin1() ); 476 // qDebug("%s %s %s %s ", mEventDate.toString().latin1(),event->summary().latin1(), st .toString().latin1(),end.toString().latin1() );
477 if ( st.date() < mEventDate ) 477 if ( st.date() < mEventDate )
478 dateText = "++:++-"; 478 dateText = "++:++-";
479 else 479 else
480 dateText = event->dtStartTimeStr() + "-"; 480 dateText = event->dtStartTimeStr() + "-";
481 if ( end.date() > mEventDate ) 481 if ( end.date() > mEventDate )
482 dateText += "++:++"; 482 dateText += "++:++";
483 else 483 else
484 dateText += event->dtEndTimeStr(); 484 dateText += event->dtEndTimeStr();
485 if ( notRed ) 485 if ( notRed )
486 tempText += dateText; 486 tempText += dateText;
487 else { 487 else {
488 if ( end < cdt ) { 488 if ( end < cdt ) {
489 if ( !KOPrefs::instance()->mWNViewShowsPast ) 489 if ( !KOPrefs::instance()->mWNViewShowsPast )
490 return false; 490 return false;
491 tempText += "<font color=\"#F00000\">" + dateText + "</font>"; 491 tempText += "<font color=\"#F00000\">" + dateText + "</font>";
492 } 492 }
493 else if ( st < cdt ) 493 else if ( st < cdt )
494 tempText += "<font color=\"#008000\">" + dateText + "</font>"; 494 tempText += "<font color=\"#008000\">" + dateText + "</font>";
495 else 495 else
496 tempText += dateText; 496 tempText += dateText;
497 497
498 } 498 }
499 499
500 } else { 500 } else {
501 tempText += i18n("Allday:"); 501 tempText += i18n("Allday:");
502 502
503 } 503 }
504 } 504 }
505 } else { 505 } else {
506 mTodos.append( ev ); 506 mTodos.append( ev );
507 tempText += i18n("ToDo:"); 507 tempText += i18n("ToDo:");
508 if (reply) { 508 if (reply) {
509 tempText += " "; 509 tempText += " ";
510 if ( noc != cdt ) { 510 if ( noc != cdt ) {
511 tempText += KGlobal::locale()->formatDate( noc.date() , KOPrefs::instance()->mShortDateInViewer) +": "; 511 tempText += KGlobal::locale()->formatDate( noc.date() , KOPrefs::instance()->mShortDateInViewer) +": ";
512 } 512 }
513 } else { 513 } else {
514 if ( ((Todo*)ev)->dtDue().date() < QDate::currentDate() ) { 514 if ( ((Todo*)ev)->dtDue().date() < QDate::currentDate() ) {
515 // tempText +="<font color=\"#F00000\">" + i18n("O-due!") + "</font>"; 515 // tempText +="<font color=\"#F00000\">" + i18n("O-due!") + "</font>";
516 QString dfs = KGlobal::locale()->dateFormatShort(); 516 QString dfs = KGlobal::locale()->dateFormatShort();
517 KGlobal::locale()->setDateFormatShort("%d.%b"); 517 KGlobal::locale()->setDateFormatShort("%d.%b");
518 tempText +="<font color=\"#F00000\">" + KGlobal::locale()->formatDate(((Todo*)ev)->dtDue().date(), true, KLocale::Userdefined) + "</font>"; 518 tempText +="<font color=\"#F00000\">" + KGlobal::locale()->formatDate(((Todo*)ev)->dtDue().date(), true, KLocale::Userdefined) + "</font>";
519 KGlobal::locale()->setDateFormatShort(dfs); 519 KGlobal::locale()->setDateFormatShort(dfs);
520 } else { 520 } else {
521 if (!ev->doesFloat() ) 521 if (!ev->doesFloat() )
522 if( ( (Todo*)ev)->dtDue() < cdt ) { 522 if( ( (Todo*)ev)->dtDue() < cdt ) {
523 tempText +="<font color=\"#F00000\">" + ((Todo*)ev)->dtDueTimeStr() + "</font>"; 523 tempText +="<font color=\"#F00000\">" + ((Todo*)ev)->dtDueTimeStr() + "</font>";
524 524
525 525
526 } else 526 } else
527 tempText +=((Todo*)ev)->dtDueTimeStr(); 527 tempText +=((Todo*)ev)->dtDueTimeStr();
528 mTodos.append( ev ); 528 mTodos.append( ev );
529 } 529 }
530 } 530 }
531 } 531 }
532 tempText += "</b></td><td>"; 532 tempText += "</b></td><td>";
533 bool needClose = false; 533 bool needClose = false;
534 if ( ev->cancelled() ) { 534 if ( ev->cancelled() ) {
535 tempText += "<font color=\"#F00000\">[c"; 535 tempText += "<font color=\"#F00000\">[c";
536 needClose =true; 536 needClose =true;
537 537
538 } 538 }
539 if ( ev->isAlarmEnabled() ) { 539 if ( ev->isAlarmEnabled() ) {
540 if ( !needClose) 540 if ( !needClose)
541 tempText +="["; 541 tempText +="[";
542 tempText += "a"; 542 tempText += "a";
543 needClose =true; 543 needClose =true;
544 544
545 } 545 }
546 if ( ev->description().length() > 0 ) { 546 if ( ev->description().length() > 0 ) {
547 if ( !needClose) 547 if ( !needClose)
548 tempText +="["; 548 tempText +="[";
549 tempText += "i"; 549 tempText += "i";
550 needClose =true; 550 needClose =true;
551 } 551 }
552 if ( ev->recurrence()->doesRecur() ) { 552 if ( ev->recurrence()->doesRecur() ) {
553 if ( !needClose) 553 if ( !needClose)
554 tempText +="["; 554 tempText +="[";
555 tempText += "r"; 555 tempText += "r";
556 needClose =true; 556 needClose =true;
557 } 557 }
558 if ( needClose ) { 558 if ( needClose ) {
559 tempText += "] "; 559 tempText += "] ";
560 } 560 }
561 if ( ev->cancelled() ) 561 if ( ev->cancelled() )
562 tempText += "</font>"; 562 tempText += "</font>";
563 tempText += "<a "; 563 tempText += "<a ";
564 if (ev->type()=="Event") tempText += "href=\"event:"; 564 if (ev->type()=="Event") tempText += "href=\"event:";
565 if (ev->type()=="Todo") tempText += "href=\"todo:"; 565 if (ev->type()=="Todo") tempText += "href=\"todo:";
566 tempText += ev->uid() + "\">"; 566 tempText += ev->uid() + "\">";
567 if ( ev->summary().length() > 0 ) 567 if ( ev->summary().length() > 0 )
568 tempText += ev->summary(); 568 tempText += ev->summary();
569 else 569 else
570 tempText += i18n("-no summary-"); 570 tempText += i18n("-no summary-");
571 tempText += "</a>"; 571 tempText += "</a>";
572 if ( KOPrefs::instance()->mWNViewShowLocation ) 572 if ( KOPrefs::instance()->mWNViewShowLocation )
573 if ( !ev->location().isEmpty() ) 573 if ( !ev->location().isEmpty() )
574 tempText += " ("+ev->location() +")"; 574 tempText += " ("+ev->location() +")";
575 if ( ev->relatedTo() && KOPrefs::instance()->mWNViewShowsParents) 575 if ( ev->relatedTo() && KOPrefs::instance()->mWNViewShowsParents)
576 tempText += " ["+ev->relatedTo()->summary() +"]"; 576 tempText += " ["+ev->relatedTo()->summary() +"]";
577 tempText += "</td></tr>\n"; 577 tempText += "</td></tr>\n";
578 mText += tempText; 578 mText += tempText;
579 return true; 579 return true;
580} 580}
581 581
582bool KOWhatsNextView::appendTodo(Incidence *ev, QString ind , bool isSub ) 582bool KOWhatsNextView::appendTodo(Incidence *ev, QString ind , bool isSub )
583{ 583{
584 if ( mTodos.find( ev ) != mTodos.end() ) return false; 584 if ( mTodos.find( ev ) != mTodos.end() ) return false;
585 585
586 mTodos.append( ev ); 586 mTodos.append( ev );
587 if ( !isSub ) 587 if ( !isSub )
588 mText += "<p>"; 588 mText += "<p>";
589 else 589 else
590 mText += "<li>"; 590 mText += "<li>";
591 mText += "[" +QString::number(ev->priority()) + "/" + QString::number(((Todo*)ev)->percentComplete())+"%] "; 591 mText += "[" +QString::number(ev->priority()) + "/" + QString::number(((Todo*)ev)->percentComplete())+"%] ";
592 592
593 593
594 mText += ind; 594 mText += ind;
595 bool needClose = false; 595 bool needClose = false;
596 if ( ev->cancelled() ) { 596 if ( ev->cancelled() ) {
597 mText += "<font color=\"#F00000\">[c"; 597 mText += "<font color=\"#F00000\">[c";
598 needClose =true; 598 needClose =true;
599 599
600 } 600 }
601 if ( ev->isAlarmEnabled() ) { 601 if ( ev->isAlarmEnabled() ) {
602 if ( !needClose) 602 if ( !needClose)
603 mText +="["; 603 mText +="[";
604 mText += "a"; 604 mText += "a";
605 needClose =true; 605 needClose =true;
606 606
607 } 607 }
608 608
609 if ( ev->description().length() > 0 ) { 609 if ( ev->description().length() > 0 ) {
610 if ( !needClose) 610 if ( !needClose)
611 mText +="["; 611 mText +="[";
612 mText += "i"; 612 mText += "i";
613 needClose =true; 613 needClose =true;
614 } 614 }
615 // if ( ev->recurrence()->doesRecur() ) { 615 // if ( ev->recurrence()->doesRecur() ) {
616 // if ( !needClose) 616 // if ( !needClose)
617 // mText +="("; 617 // mText +="(";
618 // mText += "r"; 618 // mText += "r";
619 // needClose =true; 619 // needClose =true;
620 // } 620 // }
621 if ( needClose ) 621 if ( needClose )
622 mText += "] "; 622 mText += "] ";
623 if ( ev->cancelled() ) 623 if ( ev->cancelled() )
624 mText += "</font>"; 624 mText += "</font>";
625 mText += "<a href=\"todo:" + ev->uid() + "\">"; 625 mText += "<a href=\"todo:" + ev->uid() + "\">";
626 mText += ev->summary(); 626 mText += ev->summary();
627 mText += "</a>"; 627 mText += "</a>";
628 if ( ((Todo*)ev)->hasDueDate () ) { 628 if ( ((Todo*)ev)->hasDueDate () ) {
629 QString year = ""; 629 QString year = "";
630 int ye = ((Todo*)ev)->dtDue().date().year(); 630 int ye = ((Todo*)ev)->dtDue().date().year();
631 if ( QDateTime::currentDateTime().date().year() != ye ) 631 if ( QDateTime::currentDateTime().date().year() != ye )
632 year = QString::number( ye ); 632 year = QString::number( ye );
633 QString dfs = KGlobal::locale()->dateFormatShort(); 633 QString dfs = KGlobal::locale()->dateFormatShort();
634 KGlobal::locale()->setDateFormatShort("%d.%b"); 634 KGlobal::locale()->setDateFormatShort("%d.%b");
635 mText +="<font color=\"#00A000\"> [" + KGlobal::locale()->formatDate(((Todo*)ev)->dtDue().date(), true, KLocale::Userdefined) + "."+ year +"]</font>"; 635 mText +="<font color=\"#00A000\"> [" + KGlobal::locale()->formatDate(((Todo*)ev)->dtDue().date(), true, KLocale::Userdefined) + "."+ year +"]</font>";
636 KGlobal::locale()->setDateFormatShort(dfs); 636 KGlobal::locale()->setDateFormatShort(dfs);
637 } 637 }
638 if ( KOPrefs::instance()->mWNViewShowLocation ) 638 if ( KOPrefs::instance()->mWNViewShowLocation )
639 if ( !ev->location().isEmpty() ) 639 if ( !ev->location().isEmpty() )
640 mText += " ("+ev->location() +")"; 640 mText += " ("+ev->location() +")";
641 if ( !isSub ) { 641 if ( !isSub ) {
642 if ( ((Todo*)ev)->relatedTo()&& KOPrefs::instance()->mWNViewShowsParents) 642 if ( ((Todo*)ev)->relatedTo()&& KOPrefs::instance()->mWNViewShowsParents)
643 mText += " ["+ev->relatedTo()->summary() +"]"; 643 mText += " ["+ev->relatedTo()->summary() +"]";
644 mText += "</p>\n"; 644 mText += "</p>\n";
645 } 645 }
646 else { 646 else {
647 ind += "-"; 647 ind += "-";
648 mText += "</li>\n"; 648 mText += "</li>\n";
649 } 649 }
650 QPtrList<Incidence> Relations = ev->relations(); 650 QPtrList<Incidence> Relations = ev->relations();
651 Incidence *to; 651 Incidence *to;
652 for (to=Relations.first();to;to=Relations.next()) { 652 for (to=Relations.first();to;to=Relations.next()) {
653 if (!((Todo*)to)->isCompleted()) 653 if (!((Todo*)to)->isCompleted())
654 appendTodo( to, ind , true ); 654 appendTodo( to, ind , true );
655 } 655 }
656 656
657 return true; 657 return true;
658} 658}
659 659
660/* 660/*
661 void KOWhatsNextView::createEventViewer() 661 void KOWhatsNextView::createEventViewer()
662 { 662 {
663 if (!mEventViewer) { 663 if (!mEventViewer) {
664 664
665 mEventViewer = new KOEventViewerDialog(this); 665 mEventViewer = new KOEventViewerDialog(this);
666 } 666 }
667 } 667 }
668*/ 668*/
669void KOWhatsNextView::setEventViewer(KOEventViewerDialog* v ) 669void KOWhatsNextView::setEventViewer(KOEventViewerDialog* v )
670{ 670{
671 mEventViewer = v; 671 mEventViewer = v;
672} 672}
673 673
674// TODO: Create this function in CalendarView and remove it from here 674// TODO: Create this function in CalendarView and remove it from here
675void KOWhatsNextView::showIncidence(const QString &uid) 675void KOWhatsNextView::showIncidence(const QString &uid)
676{ 676{
677 if ( !mEventViewer ) { 677 if ( !mEventViewer ) {
678 qDebug("KOWhatsNextView::showIncidence::sorry, no event viewer set "); 678 qDebug("KOWhatsNextView::showIncidence::sorry, no event viewer set ");
679 return; 679 return;
680 } 680 }
681 //kdDebug() << "KOWhatsNextView::showIncidence(): " << uid << endl; 681 //kdDebug() << "KOWhatsNextView::showIncidence(): " << uid << endl;
682 //qDebug("KOWhatsNextView::showIncidence %s ", uid.latin1()); 682 //qDebug("KOWhatsNextView::showIncidence %s ", uid.latin1());
683 if (uid.startsWith("event:")) { 683 if (uid.startsWith("event:")) {
684#ifdef DESKTOP_VERSION 684#ifdef DESKTOP_VERSION
685 Event *event = calendar()->event(uid.mid(8)); 685 Event *event = calendar()->event(uid.mid(8));
686#else 686#else
687 Event *event = calendar()->event(uid.mid(6)); 687 Event *event = calendar()->event(uid.mid(6));
688#endif 688#endif
689 //qDebug("event %d uid %s ", event, uid.mid(6).latin1()); 689 //qDebug("event %d uid %s ", event, uid.mid(6).latin1());
690 if (!event) return; 690 if (!event) return;
691 //createEventViewer(); 691 //createEventViewer();
692 mEventViewer->setEvent(event); 692 mEventViewer->setEvent(event);
693 } else if (uid.startsWith("todo:")) { 693 } else if (uid.startsWith("todo:")) {
694#ifdef DESKTOP_VERSION 694#ifdef DESKTOP_VERSION
695 Todo *todo = calendar()->todo(uid.mid(7)); 695 Todo *todo = calendar()->todo(uid.mid(7));
696#else 696#else
697 Todo *todo = calendar()->todo(uid.mid(5)); 697 Todo *todo = calendar()->todo(uid.mid(5));
698#endif 698#endif
699 if (!todo) return; 699 if (!todo) return;
700 //createEventViewer(); 700 //createEventViewer();
701 mEventViewer->setTodo(todo); 701 mEventViewer->setTodo(todo);
702 } else { 702 } else {
703 return; 703 return;
704 704
705 } 705 }
706 mEventViewer->showMe(); 706 mEventViewer->showMe();
707 mEventViewer->raise(); 707 mEventViewer->raise();
708} 708}