summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/kaddressbook/germantranslation.txt2
-rw-r--r--bin/kdepim/kaddressbook/usertranslation.txt2
-rw-r--r--bin/kdepim/korganizer/usertranslation.txt2
-rw-r--r--kabc/plugins/qtopia/qtopiaconverter.cpp2
-rw-r--r--kabc/plugins/qtopia/qtopiaconverter.h2
-rw-r--r--kabc/plugins/qtopia/resourceqtopia.cpp2
-rw-r--r--kabc/plugins/qtopia/resourceqtopiaconfig.cpp3
-rw-r--r--korganizer/wordsgerman.h2
-rw-r--r--pwmanager/pwmanager/pwm.cpp9
9 files changed, 13 insertions, 13 deletions
diff --git a/bin/kdepim/kaddressbook/germantranslation.txt b/bin/kdepim/kaddressbook/germantranslation.txt
index a5ba794..16c4178 100644
--- a/bin/kdepim/kaddressbook/germantranslation.txt
+++ b/bin/kdepim/kaddressbook/germantranslation.txt
@@ -1,399 +1,399 @@
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 receice 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" },
diff --git a/bin/kdepim/kaddressbook/usertranslation.txt b/bin/kdepim/kaddressbook/usertranslation.txt
index a5ba794..16c4178 100644
--- a/bin/kdepim/kaddressbook/usertranslation.txt
+++ b/bin/kdepim/kaddressbook/usertranslation.txt
@@ -1,399 +1,399 @@
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 receice 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" },
diff --git a/bin/kdepim/korganizer/usertranslation.txt b/bin/kdepim/korganizer/usertranslation.txt
index 0236b92..f4c4698 100644
--- a/bin/kdepim/korganizer/usertranslation.txt
+++ b/bin/kdepim/korganizer/usertranslation.txt
@@ -615,458 +615,458 @@
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 receice 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{ "","" }, 1056{ "","" },
1057{ "","" }, 1057{ "","" },
1058{ "","" }, 1058{ "","" },
1059{ "","" }, 1059{ "","" },
1060{ "","" }, 1060{ "","" },
1061{ "","" }, 1061{ "","" },
1062{ "","" }, 1062{ "","" },
1063{ "","" }, 1063{ "","" },
1064{ "","" }, 1064{ "","" },
1065{ "","" }, 1065{ "","" },
1066{ "","" }, 1066{ "","" },
1067{ "","" }, 1067{ "","" },
1068{ "","" }, 1068{ "","" },
1069{ "","" }, 1069{ "","" },
1070{ "","" }, 1070{ "","" },
1071{ "","" }, 1071{ "","" },
1072 1072
diff --git a/kabc/plugins/qtopia/qtopiaconverter.cpp b/kabc/plugins/qtopia/qtopiaconverter.cpp
index 106596f..39d366b 100644
--- a/kabc/plugins/qtopia/qtopiaconverter.cpp
+++ b/kabc/plugins/qtopia/qtopiaconverter.cpp
@@ -1,298 +1,296 @@
1/* 1/*
2 This file is part of libkabc. 2 This file is part of libkabc.
3 Copyright (c) 2002 Tobias Koenig <tokoe@kde.org> 3 Copyright (c) 2002 Tobias Koenig <tokoe@kde.org>
4 4
5 This library is free software; you can redistribute it and/or 5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public 6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either 7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version. 8 version 2 of the License, or (at your option) any later version.
9 9
10 This library is distributed in the hope that it will be useful, 10 This library 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 GNU 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details. 13 Library General Public License for more details.
14 14
15 You should have received a copy of the GNU Library General Public License 15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to 16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA. 18 Boston, MA 02111-1307, USA.
19*/ 19*/
20 20
21/* 21/*
22Enhanced Version of the file for platform independent KDE tools. 22Enhanced Version of the file for platform independent KDE tools.
23Copyright (c) 2004 Ulf Schenk 23Copyright (c) 2004 Ulf Schenk
24 24
25$Id$ 25$Id$
26*/ 26*/
27 27
28//US 28//US
29#include "kglobal.h" 29#include "kglobal.h"
30#include "klocale.h" 30#include "klocale.h"
31 31
32 32
33#include "qtopiaconverter.h" 33#include "qtopiaconverter.h"
34 34
35#include <qfile.h> 35#include <qfile.h>
36#include <qdir.h> 36#include <qdir.h>
37#include <qtextstream.h> 37#include <qtextstream.h>
38//#include <.h> 38//#include <.h>
39 39
40//#include <qpe/categories.h>
41#include <libkdepim/ksyncprofile.h> 40#include <libkdepim/ksyncprofile.h>
42//US #include <qpe/categoryselect.h>
43 41
44 42
45using namespace KABC; 43using namespace KABC;
46 44
47QtopiaConverter::QtopiaConverter() 45QtopiaConverter::QtopiaConverter()
48{ 46{
49 m_edit = 0; 47 m_edit = 0;
50} 48}
51 49
52QtopiaConverter::~QtopiaConverter() 50QtopiaConverter::~QtopiaConverter()
53{ 51{
54 deinit(); 52 deinit();
55} 53}
56 54
57bool QtopiaConverter::init() 55bool QtopiaConverter::init()
58{ 56{
59 QString fn = QDir::homeDirPath() +"/Settings/Categories.xml"; 57 QString fn = QDir::homeDirPath() +"/Settings/Categories.xml";
60 m_edit = new CategoryEdit( fn); 58 m_edit = new CategoryEdit( fn);
61 return true; 59 return true;
62} 60}
63 61
64void QtopiaConverter::deinit() 62void QtopiaConverter::deinit()
65{ 63{
66 if (m_edit) 64 if (m_edit)
67 { 65 {
68 delete m_edit; 66 delete m_edit;
69 m_edit = 0; 67 m_edit = 0;
70 } 68 }
71} 69}
72QString QtopiaConverter::categoriesToNumber( const QStringList &list, const QString &app ) 70QString QtopiaConverter::categoriesToNumber( const QStringList &list, const QString &app )
73{ 71{
74 startover: 72 startover:
75 QStringList dummy; 73 QStringList dummy;
76 QValueList<OpieCategories>::ConstIterator catIt; 74 QValueList<OpieCategories>::ConstIterator catIt;
77 QValueList<OpieCategories> categories = m_edit->categories(); 75 QValueList<OpieCategories> categories = m_edit->categories();
78 bool found = false; 76 bool found = false;
79 for ( QStringList::ConstIterator listIt = list.begin(); listIt != list.end(); ++listIt ) { 77 for ( QStringList::ConstIterator listIt = list.begin(); listIt != list.end(); ++listIt ) {
80 /* skip empty category name */ 78 /* skip empty category name */
81 if ( (*listIt).isEmpty() ) continue; 79 if ( (*listIt).isEmpty() ) continue;
82 80
83 found = false; 81 found = false;
84 for ( catIt = categories.begin(); catIt != categories.end(); ++catIt ) { 82 for ( catIt = categories.begin(); catIt != categories.end(); ++catIt ) {
85 /* 83 /*
86 * We currently do not take app into account 84 * We currently do not take app into account
87 * if name matches and the id isn't already in dummy we'll add it 85 * if name matches and the id isn't already in dummy we'll add it
88 */ 86 */
89 if ( (*catIt).name() == (*listIt) && !dummy.contains(( *catIt).id() ) ) { // the same name 87 if ( (*catIt).name() == (*listIt) && !dummy.contains(( *catIt).id() ) ) { // the same name
90 found= true; 88 found= true;
91 dummy << (*catIt).id(); 89 dummy << (*catIt).id();
92 } 90 }
93 } 91 }
94 /* if not found and the category is not empty 92 /* if not found and the category is not empty
95 * 93 *
96 * generate a new category and start over again 94 * generate a new category and start over again
97 * ugly goto to reiterate 95 * ugly goto to reiterate
98 */ 96 */
99 97
100 if ( !found && !(*listIt).isEmpty() ){ 98 if ( !found && !(*listIt).isEmpty() ){
101 m_edit->addCategory( app, (*listIt) ); // generate a new category 99 m_edit->addCategory( app, (*listIt) ); // generate a new category
102 goto startover; 100 goto startover;
103 } 101 }
104 } 102 }
105 103
106 return dummy.join(";"); 104 return dummy.join(";");
107} 105}
108 106
109 107
110// FROM TT timeconversion.cpp GPLed 108// FROM TT timeconversion.cpp GPLed
111QDate QtopiaConverter::fromString( const QString &datestr ) 109QDate QtopiaConverter::fromString( const QString &datestr )
112{ 110{
113 if (datestr.isEmpty() ) 111 if (datestr.isEmpty() )
114 return QDate(); 112 return QDate();
115 113
116 int monthPos = datestr.find('.'); 114 int monthPos = datestr.find('.');
117 int yearPos = datestr.find('.', monthPos+1 ); 115 int yearPos = datestr.find('.', monthPos+1 );
118 if ( monthPos == -1 || yearPos == -1 ) { 116 if ( monthPos == -1 || yearPos == -1 ) {
119 return QDate(); 117 return QDate();
120 } 118 }
121 int d = datestr.left( monthPos ).toInt(); 119 int d = datestr.left( monthPos ).toInt();
122 int m = datestr.mid( monthPos+1, yearPos - monthPos - 1 ).toInt(); 120 int m = datestr.mid( monthPos+1, yearPos - monthPos - 1 ).toInt();
123 int y = datestr.mid( yearPos+1 ).toInt(); 121 int y = datestr.mid( yearPos+1 ).toInt();
124 QDate date ( y,m,d ); 122 QDate date ( y,m,d );
125 123
126 124
127 return date; 125 return date;
128} 126}
129 127
130QDate QtopiaConverter::dateFromString( const QString& s ) 128QDate QtopiaConverter::dateFromString( const QString& s )
131{ 129{
132 QDate date; 130 QDate date;
133 131
134 if ( s.isEmpty() ) 132 if ( s.isEmpty() )
135 return date; 133 return date;
136 134
137 // Be backward compatible to old Opie format: 135 // Be backward compatible to old Opie format:
138 // Try to load old format. If it fails, try new ISO-Format! 136 // Try to load old format. If it fails, try new ISO-Format!
139 date = fromString ( s ); 137 date = fromString ( s );
140 if ( date.isValid() ) 138 if ( date.isValid() )
141 return date; 139 return date;
142 140
143 // Read ISO-Format (YYYYMMDD) 141 // Read ISO-Format (YYYYMMDD)
144 int year = s.mid(0, 4).toInt(); 142 int year = s.mid(0, 4).toInt();
145 int month = s.mid(4,2).toInt(); 143 int month = s.mid(4,2).toInt();
146 int day = s.mid(6,2).toInt(); 144 int day = s.mid(6,2).toInt();
147 145
148 // do some quick sanity checking 146 // do some quick sanity checking
149 if ( year < 1900 || year > 3000 ) 147 if ( year < 1900 || year > 3000 )
150 return date; 148 return date;
151 149
152 if ( month < 0 || month > 12 ) 150 if ( month < 0 || month > 12 )
153 return date; 151 return date;
154 152
155 if ( day < 0 || day > 31 ) 153 if ( day < 0 || day > 31 )
156 return date; 154 return date;
157 155
158 156
159 date.setYMD( year, month, day ); 157 date.setYMD( year, month, day );
160 158
161 if ( !date.isValid() ) 159 if ( !date.isValid() )
162 return QDate(); 160 return QDate();
163 161
164 162
165 return date; 163 return date;
166} 164}
167QString QtopiaConverter::dateToString( const QDate &d ) 165QString QtopiaConverter::dateToString( const QDate &d )
168{ 166{
169 if ( d.isNull() || !d.isValid() ) 167 if ( d.isNull() || !d.isValid() )
170 return QString::null; 168 return QString::null;
171 169
172 // ISO format in year, month, day (YYYYMMDD); e.g. 20021231 170 // ISO format in year, month, day (YYYYMMDD); e.g. 20021231
173 QString year = QString::number( d.year() ); 171 QString year = QString::number( d.year() );
174 QString month = QString::number( d.month() ); 172 QString month = QString::number( d.month() );
175 month = month.rightJustify( 2, '0' ); 173 month = month.rightJustify( 2, '0' );
176 QString day = QString::number( d.day() ); 174 QString day = QString::number( d.day() );
177 day = day.rightJustify( 2, '0' ); 175 day = day.rightJustify( 2, '0' );
178 176
179 QString str = year + month + day; 177 QString str = year + month + day;
180 178
181 return str; 179 return str;
182} 180}
183 181
184bool QtopiaConverter::qtopiaToAddressee( const QDomElement& el, Addressee &adr ) 182bool QtopiaConverter::qtopiaToAddressee( const QDomElement& el, Addressee &adr )
185{ 183{
186 { //LR 184 { //LR
187 185
188 adr.setUid( el.attribute("Uid" ) ); 186 adr.setUid( el.attribute("Uid" ) );
189 adr.setFamilyName( el.attribute( "LastName" ) ); 187 adr.setFamilyName( el.attribute( "LastName" ) );
190 adr.setGivenName( el.attribute( "FirstName" ) ); 188 adr.setGivenName( el.attribute( "FirstName" ) );
191 adr.setAdditionalName( el.attribute( "MiddleName" ) ); 189 adr.setAdditionalName( el.attribute( "MiddleName" ) );
192 adr.setSuffix( el.attribute( "Suffix" ) ); 190 adr.setSuffix( el.attribute( "Suffix" ) );
193 adr.setNickName( el.attribute( "Nickname" ) ); 191 adr.setNickName( el.attribute( "Nickname" ) );
194 192
195 QDate date = dateFromString( el.attribute( "Birthday" ) ); 193 QDate date = dateFromString( el.attribute( "Birthday" ) );
196 if ( date.isValid() ) 194 if ( date.isValid() )
197 adr.setBirthday( date ); 195 adr.setBirthday( date );
198 196
199 adr.setRole( el.attribute( "JobTitle" ) ); 197 adr.setRole( el.attribute( "JobTitle" ) );
200 if ( !el.attribute( "FileAs" ).isEmpty() ) 198 if ( !el.attribute( "FileAs" ).isEmpty() )
201 adr.setFormattedName( el.attribute( "FileAs" ) ); 199 adr.setFormattedName( el.attribute( "FileAs" ) );
202 200
203 adr.setOrganization( el.attribute( "Company" ) ); 201 adr.setOrganization( el.attribute( "Company" ) );
204 202
205 KABC::PhoneNumber businessPhoneNum( el.attribute( "BusinessPhone" ), 203 KABC::PhoneNumber businessPhoneNum( el.attribute( "BusinessPhone" ),
206 KABC::PhoneNumber::Work ); 204 KABC::PhoneNumber::Work );
207 KABC::PhoneNumber businessFaxNum( el.attribute( "BusinessFax" ), 205 KABC::PhoneNumber businessFaxNum( el.attribute( "BusinessFax" ),
208 KABC::PhoneNumber::Work | KABC::PhoneNumber::Fax ); 206 KABC::PhoneNumber::Work | KABC::PhoneNumber::Fax );
209 KABC::PhoneNumber businessMobile( el.attribute( "BusinessMobile" ), 207 KABC::PhoneNumber businessMobile( el.attribute( "BusinessMobile" ),
210 KABC::PhoneNumber::Work | KABC::PhoneNumber::Cell ); 208 KABC::PhoneNumber::Work | KABC::PhoneNumber::Cell );
211 KABC::PhoneNumber businessPager( el.attribute( "BusinessPager" ), 209 KABC::PhoneNumber businessPager( el.attribute( "BusinessPager" ),
212 KABC::PhoneNumber::Work | KABC::PhoneNumber::Pager ); 210 KABC::PhoneNumber::Work | KABC::PhoneNumber::Pager );
213 if ( !businessPhoneNum.number().isEmpty() ) 211 if ( !businessPhoneNum.number().isEmpty() )
214 adr.insertPhoneNumber( businessPhoneNum ); 212 adr.insertPhoneNumber( businessPhoneNum );
215 if ( !businessFaxNum.number().isEmpty() ) 213 if ( !businessFaxNum.number().isEmpty() )
216 adr.insertPhoneNumber( businessFaxNum ); 214 adr.insertPhoneNumber( businessFaxNum );
217 if ( !businessMobile.number().isEmpty() ) 215 if ( !businessMobile.number().isEmpty() )
218 adr.insertPhoneNumber( businessMobile ); 216 adr.insertPhoneNumber( businessMobile );
219 if ( !businessPager.number().isEmpty() ) 217 if ( !businessPager.number().isEmpty() )
220 adr.insertPhoneNumber( businessPager ); 218 adr.insertPhoneNumber( businessPager );
221 219
222 // Handle multiple mail addresses 220 // Handle multiple mail addresses
223 QString DefaultEmail = el.attribute( "DefaultEmail" ); 221 QString DefaultEmail = el.attribute( "DefaultEmail" );
224 if ( !DefaultEmail.isEmpty() ) 222 if ( !DefaultEmail.isEmpty() )
225 adr.insertEmail( DefaultEmail, true ); // preferred 223 adr.insertEmail( DefaultEmail, true ); // preferred
226 224
227 QStringList Emails = QStringList::split(" ",el.attribute("Emails")); 225 QStringList Emails = QStringList::split(" ",el.attribute("Emails"));
228 int i; 226 int i;
229 for (i = 0;i < Emails.count();++i) { 227 for (i = 0;i < Emails.count();++i) {
230 if ( Emails[i] != DefaultEmail ) 228 if ( Emails[i] != DefaultEmail )
231 adr.insertEmail( Emails[i], false ); 229 adr.insertEmail( Emails[i], false );
232 } 230 }
233 231
234 KABC::PhoneNumber homePhoneNum( el.attribute( "HomePhone" ), 232 KABC::PhoneNumber homePhoneNum( el.attribute( "HomePhone" ),
235 KABC::PhoneNumber::Home ); 233 KABC::PhoneNumber::Home );
236 KABC::PhoneNumber homeFax( el.attribute( "HomeFax" ), 234 KABC::PhoneNumber homeFax( el.attribute( "HomeFax" ),
237 KABC::PhoneNumber::Home | KABC::PhoneNumber::Fax ); 235 KABC::PhoneNumber::Home | KABC::PhoneNumber::Fax );
238 236
239 KABC::PhoneNumber homeMobile( el.attribute( "HomeMobile" ), 237 KABC::PhoneNumber homeMobile( el.attribute( "HomeMobile" ),
240 KABC::PhoneNumber::Cell ); 238 KABC::PhoneNumber::Cell );
241 239
242 if ( !homePhoneNum.number().isEmpty() ) 240 if ( !homePhoneNum.number().isEmpty() )
243 adr.insertPhoneNumber( homePhoneNum ); 241 adr.insertPhoneNumber( homePhoneNum );
244 if ( !homeFax.number().isEmpty() ) 242 if ( !homeFax.number().isEmpty() )
245 adr.insertPhoneNumber( homeFax ); 243 adr.insertPhoneNumber( homeFax );
246 if ( !homeMobile.number().isEmpty() ) 244 if ( !homeMobile.number().isEmpty() )
247 adr.insertPhoneNumber( homeMobile ); 245 adr.insertPhoneNumber( homeMobile );
248 246
249 KABC::Address business( KABC::Address::Work ); 247 KABC::Address business( KABC::Address::Work );
250 business.setStreet( el.attribute( "BusinessStreet" ) ); 248 business.setStreet( el.attribute( "BusinessStreet" ) );
251 business.setLocality( el.attribute( "BusinessCity" ) ); 249 business.setLocality( el.attribute( "BusinessCity" ) );
252 business.setRegion( el.attribute( "BusinessState" ) ); 250 business.setRegion( el.attribute( "BusinessState" ) );
253 business.setPostalCode( el.attribute( "BusinessZip" ) ); 251 business.setPostalCode( el.attribute( "BusinessZip" ) );
254 business.setCountry( el.attribute( "BusinessCountry" ) ); 252 business.setCountry( el.attribute( "BusinessCountry" ) );
255 253
256 if ( !business.isEmpty() ) 254 if ( !business.isEmpty() )
257 adr.insertAddress( business ); 255 adr.insertAddress( business );
258 256
259 KABC::Address home( KABC::Address::Home ); 257 KABC::Address home( KABC::Address::Home );
260 home.setStreet( el.attribute( "HomeStreet" ) ); 258 home.setStreet( el.attribute( "HomeStreet" ) );
261 home.setLocality( el.attribute( "HomeCity" ) ); 259 home.setLocality( el.attribute( "HomeCity" ) );
262 home.setRegion( el.attribute( "HomeState" ) ); 260 home.setRegion( el.attribute( "HomeState" ) );
263 home.setPostalCode( el.attribute( "HomeZip" ) ); 261 home.setPostalCode( el.attribute( "HomeZip" ) );
264 home.setCountry( el.attribute( "HomeCountry" ) ); 262 home.setCountry( el.attribute( "HomeCountry" ) );
265 263
266 if ( !home.isEmpty() ) 264 if ( !home.isEmpty() )
267 adr.insertAddress( home ); 265 adr.insertAddress( home );
268 266
269 adr.setNickName( el.attribute( "Nickname" ) ); 267 adr.setNickName( el.attribute( "Nickname" ) );
270 adr.setNote( el.attribute( "Notes" ) ); 268 adr.setNote( el.attribute( "Notes" ) );
271 269
272 { 270 {
273 QStringList categories = QStringList::split(";", el.attribute("Categories" ) ); 271 QStringList categories = QStringList::split(";", el.attribute("Categories" ) );
274 QString cat; 272 QString cat;
275 QStringList added; 273 QStringList added;
276 for ( uint i = 0; i < categories.count(); i++ ) { 274 for ( uint i = 0; i < categories.count(); i++ ) {
277 cat = m_edit->categoryById( categories[ i ], "Contacts" ); 275 cat = m_edit->categoryById( categories[ i ], "Contacts" );
278 276
279 // if name is not empty and we did not add the 277 // if name is not empty and we did not add the
280 // cat try to repair broken files 278 // cat try to repair broken files
281 if ( !cat.isEmpty() && !added.contains( cat ) ) { 279 if ( !cat.isEmpty() && !added.contains( cat ) ) {
282 adr.insertCategory( cat ); 280 adr.insertCategory( cat );
283 added << cat; 281 added << cat;
284 } 282 }
285 } 283 }
286 } 284 }
287 285
288 if ( !el.attribute( "Department" ).isEmpty() ) 286 if ( !el.attribute( "Department" ).isEmpty() )
289 adr.insertCustom( "KADDRESSBOOK", "X-Department", el.attribute( "Department" ) ); 287 adr.insertCustom( "KADDRESSBOOK", "X-Department", el.attribute( "Department" ) );
290 if ( !el.attribute( "HomeWebPage" ).isEmpty() ) 288 if ( !el.attribute( "HomeWebPage" ).isEmpty() )
291 adr.insertCustom( "opie", "HomeWebPage", el.attribute( "HomeWebPage" ) ); 289 adr.insertCustom( "opie", "HomeWebPage", el.attribute( "HomeWebPage" ) );
292 if ( !el.attribute( "Spouse" ).isEmpty() ) 290 if ( !el.attribute( "Spouse" ).isEmpty() )
293 adr.insertCustom( "KADDRESSBOOK", "X-SpousesName", el.attribute( "Spouse" ) ); 291 adr.insertCustom( "KADDRESSBOOK", "X-SpousesName", el.attribute( "Spouse" ) );
294 if ( !el.attribute( "Gender" ).isEmpty() ) { 292 if ( !el.attribute( "Gender" ).isEmpty() ) {
295 if ( el.attribute( "Gender" ) == "1" ) 293 if ( el.attribute( "Gender" ) == "1" )
296 adr.insertCustom( "KADDRESSBOOK", "X-Gender", "male" ); 294 adr.insertCustom( "KADDRESSBOOK", "X-Gender", "male" );
297 else if ( el.attribute( "Gender" ) == "2" ) 295 else if ( el.attribute( "Gender" ) == "2" )
298 adr.insertCustom( "KADDRESSBOOK", "X-Gender", "female" ); 296 adr.insertCustom( "KADDRESSBOOK", "X-Gender", "female" );
diff --git a/kabc/plugins/qtopia/qtopiaconverter.h b/kabc/plugins/qtopia/qtopiaconverter.h
index d318ded..cb5b433 100644
--- a/kabc/plugins/qtopia/qtopiaconverter.h
+++ b/kabc/plugins/qtopia/qtopiaconverter.h
@@ -1,132 +1,130 @@
1/* 1/*
2 This file is part of libkabc. 2 This file is part of libkabc.
3 Copyright (c) 2002 Tobias Koenig <tokoe@kde.org> 3 Copyright (c) 2002 Tobias Koenig <tokoe@kde.org>
4 4
5 This library is free software; you can redistribute it and/or 5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public 6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either 7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version. 8 version 2 of the License, or (at your option) any later version.
9 9
10 This library is distributed in the hope that it will be useful, 10 This library 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 GNU 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details. 13 Library General Public License for more details.
14 14
15 You should have received a copy of the GNU Library General Public License 15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to 16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA. 18 Boston, MA 02111-1307, USA.
19*/ 19*/
20 20
21/* 21/*
22Enhanced Version of the file for platform independent KDE tools. 22Enhanced Version of the file for platform independent KDE tools.
23Copyright (c) 2004 Ulf Schenk 23Copyright (c) 2004 Ulf Schenk
24$Id$ 24$Id$
25*/ 25*/
26 26
27#ifndef KABC_QTOPIACONVERTER_H 27#ifndef KABC_QTOPIACONVERTER_H
28#define KABC_QTOPIACONVERTER_H 28#define KABC_QTOPIACONVERTER_H
29 29
30#include <qstring.h> 30#include <qstring.h>
31 31
32#include "addressee.h" 32#include "addressee.h"
33//#include <qpe/pim/contact.h>
34//#include <qpe/quuid.h>
35 33
36#include <xml/qdom.h> 34#include <xml/qdom.h>
37class Categories; 35class Categories;
38 36
39namespace KABC { 37namespace KABC {
40 38
41 39
42 40
43class OpieCategories { 41class OpieCategories {
44 public: 42 public:
45 //friend class KSync::OpieSocket; 43 //friend class KSync::OpieSocket;
46 friend bool operator== ( const OpieCategories &a, const OpieCategories &b ); 44 friend bool operator== ( const OpieCategories &a, const OpieCategories &b );
47 OpieCategories(); 45 OpieCategories();
48 OpieCategories(const QString &id, const QString &name, const QString &app ); 46 OpieCategories(const QString &id, const QString &name, const QString &app );
49 OpieCategories(const OpieCategories & ); 47 OpieCategories(const OpieCategories & );
50 ~OpieCategories() {}; 48 ~OpieCategories() {};
51 OpieCategories &operator=(const OpieCategories & ); 49 OpieCategories &operator=(const OpieCategories & );
52 QString id()const; 50 QString id()const;
53 QString name()const; 51 QString name()const;
54 QString app()const; 52 QString app()const;
55 53
56 private: 54 private:
57 QString m_name; 55 QString m_name;
58 QString m_app; 56 QString m_app;
59 QString m_id; 57 QString m_id;
60}; 58};
61 59
62 60
63 class CategoryEdit { 61 class CategoryEdit {
64 public: 62 public:
65 CategoryEdit(); 63 CategoryEdit();
66 CategoryEdit(const QString &fileName); 64 CategoryEdit(const QString &fileName);
67 ~CategoryEdit(); 65 ~CategoryEdit();
68 66
69 void save(const QString&) const; 67 void save(const QString&) const;
70 int addCategory( const QString &name, int id = 0 ); 68 int addCategory( const QString &name, int id = 0 );
71 int addCategory(const QString &appName, const QString &name, int id = 0); 69 int addCategory(const QString &appName, const QString &name, int id = 0);
72 void parse( const QString &fileName ); 70 void parse( const QString &fileName );
73 71
74 QString categoryById(const QString &id, const QString &app )const; 72 QString categoryById(const QString &id, const QString &app )const;
75 QStringList categoriesByIds( const QStringList& ids, const QString& app ); 73 QStringList categoriesByIds( const QStringList& ids, const QString& app );
76 74
77 void clear(); 75 void clear();
78 QValueList<OpieCategories> categories()const { return m_categories; }; 76 QValueList<OpieCategories> categories()const { return m_categories; };
79 private: 77 private:
80 /** 78 /**
81 * this function will be used internally to update the kde categories... 79 * this function will be used internally to update the kde categories...
82 */ 80 */
83 void updateKDE( const QString& app, const QStringList& categories ); 81 void updateKDE( const QString& app, const QStringList& categories );
84 QMap<int, bool> ids; // from tt Qtopia::UidGen 82 QMap<int, bool> ids; // from tt Qtopia::UidGen
85 QValueList<OpieCategories> m_categories; 83 QValueList<OpieCategories> m_categories;
86 }; 84 };
87 85
88 86
89class QtopiaConverter 87class QtopiaConverter
90{ 88{
91public: 89public:
92 90
93 /** 91 /**
94 * Constructor. 92 * Constructor.
95 */ 93 */
96 QtopiaConverter(); 94 QtopiaConverter();
97 95
98 /** 96 /**
99 * Destructor. 97 * Destructor.
100 */ 98 */
101 virtual ~QtopiaConverter(); 99 virtual ~QtopiaConverter();
102 100
103 bool init(); 101 bool init();
104 void deinit(); 102 void deinit();
105 103
106 /** 104 /**
107 * Converts a vcard string to an addressee. 105 * Converts a vcard string to an addressee.
108 * 106 *
109 * @param contact The qtopia contact. 107 * @param contact The qtopia contact.
110 * @param addr The addressee. 108 * @param addr The addressee.
111 */ 109 */
112 bool qtopiaToAddressee( const QDomElement& el, Addressee &adr ); 110 bool qtopiaToAddressee( const QDomElement& el, Addressee &adr );
113 /** 111 /**
114 * Converts an addressee to a vcard string. 112 * Converts an addressee to a vcard string.
115 * 113 *
116 * @param addr The addressee. 114 * @param addr The addressee.
117 * @param contact The qtopia contact. 115 * @param contact The qtopia contact.
118 */ 116 */
119 bool addresseeToQtopia( const Addressee &ab, QTextStream *stream ); 117 bool addresseeToQtopia( const Addressee &ab, QTextStream *stream );
120 118
121 private: 119 private:
122 QString categoriesToNumber( const QStringList &list, const QString &app ); 120 QString categoriesToNumber( const QStringList &list, const QString &app );
123 QString escape( const QString& s){ return s;}; 121 QString escape( const QString& s){ return s;};
124 CategoryEdit *m_edit; 122 CategoryEdit *m_edit;
125 QDate fromString( const QString& ); 123 QDate fromString( const QString& );
126 QDate dateFromString( const QString& ); 124 QDate dateFromString( const QString& );
127 QString dateToString( const QDate& ); 125 QString dateToString( const QDate& );
128 126
129 127
130}; 128};
131} 129}
132#endif 130#endif
diff --git a/kabc/plugins/qtopia/resourceqtopia.cpp b/kabc/plugins/qtopia/resourceqtopia.cpp
index 4ee3c3c..95fa541 100644
--- a/kabc/plugins/qtopia/resourceqtopia.cpp
+++ b/kabc/plugins/qtopia/resourceqtopia.cpp
@@ -1,303 +1,301 @@
1/* 1/*
2 This file is part of libkabc. 2 This file is part of libkabc.
3 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
4 4
5 This library is free software; you can redistribute it and/or 5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public 6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either 7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version. 8 version 2 of the License, or (at your option) any later version.
9 9
10 This library is distributed in the hope that it will be useful, 10 This library 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 GNU 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details. 13 Library General Public License for more details.
14 14
15 You should have received a copy of the GNU Library General Public License 15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to 16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA. 18 Boston, MA 02111-1307, USA.
19*/ 19*/
20 20
21/* 21/*
22Enhanced Version of the file for platform independent KDE tools. 22Enhanced Version of the file for platform independent KDE tools.
23Copyright (c) 2004 Ulf Schenk 23Copyright (c) 2004 Ulf Schenk
24 24
25$Id$ 25$Id$
26*/ 26*/
27#include <sys/types.h> 27#include <sys/types.h>
28#include <sys/stat.h> 28#include <sys/stat.h>
29#include <unistd.h> 29#include <unistd.h>
30 30
31#include <qdir.h> 31#include <qdir.h>
32#include <qfile.h> 32#include <qfile.h>
33#include <qtextstream.h> 33#include <qtextstream.h>
34#include <qfileinfo.h> 34#include <qfileinfo.h>
35#include <qregexp.h> 35#include <qregexp.h>
36//US #include <qtimer.h> 36//US #include <qtimer.h>
37 37
38#include <kapplication.h> 38#include <kapplication.h>
39#include <kconfig.h> 39#include <kconfig.h>
40#include <kdebug.h> 40#include <kdebug.h>
41#include <klocale.h> 41#include <klocale.h>
42//US #include <ksavefile.h> 42//US #include <ksavefile.h>
43#include <kstandarddirs.h> 43#include <kstandarddirs.h>
44#include <kmessagebox.h> 44#include <kmessagebox.h>
45 45
46#include <qpe/pim/addressbookaccess.h>
47
48 46
49#include "resourceqtopiaconfig.h" 47#include "resourceqtopiaconfig.h"
50#include "stdaddressbook.h" 48#include "stdaddressbook.h"
51 49
52#include "qtopiaconverter.h" 50#include "qtopiaconverter.h"
53 51
54#include "resourceqtopia.h" 52#include "resourceqtopia.h"
55 53
56using namespace KABC; 54using namespace KABC;
57extern "C" 55extern "C"
58{ 56{
59 void *init_microkabc_qtopia() 57 void *init_microkabc_qtopia()
60 { 58 {
61 return new KRES::PluginFactory<ResourceQtopia,ResourceQtopiaConfig>(); 59 return new KRES::PluginFactory<ResourceQtopia,ResourceQtopiaConfig>();
62 } 60 }
63} 61}
64 62
65ResourceQtopia::ResourceQtopia( const KConfig *config ) 63ResourceQtopia::ResourceQtopia( const KConfig *config )
66 : Resource( config ), mConverter (0) 64 : Resource( config ), mConverter (0)
67{ 65{
68 // we can not choose the filename. Therefore use the default to display 66 // we can not choose the filename. Therefore use the default to display
69 QString fileName = QDir::homeDirPath() + "/Applications/addressbook/addressbook.xml"; 67 QString fileName = QDir::homeDirPath() + "/Applications/addressbook/addressbook.xml";
70 init( fileName ); 68 init( fileName );
71} 69}
72 70
73ResourceQtopia::ResourceQtopia( const QString &fileName ) 71ResourceQtopia::ResourceQtopia( const QString &fileName )
74 : Resource( 0 ) 72 : Resource( 0 )
75{ 73{
76 init( fileName ); 74 init( fileName );
77} 75}
78 76
79void ResourceQtopia::init( const QString &fileName ) 77void ResourceQtopia::init( const QString &fileName )
80{ 78{
81#ifdef _USE_DIRWATCH_ 79#ifdef _USE_DIRWATCH_
82 connect( &mDirWatch, SIGNAL( dirty(const QString&) ), SLOT( fileChanged() ) ); 80 connect( &mDirWatch, SIGNAL( dirty(const QString&) ), SLOT( fileChanged() ) );
83 connect( &mDirWatch, SIGNAL( created(const QString&) ), SLOT( fileChanged() ) ); 81 connect( &mDirWatch, SIGNAL( created(const QString&) ), SLOT( fileChanged() ) );
84 connect( &mDirWatch, SIGNAL( deleted(const QString&) ), SLOT( fileChanged() ) ); 82 connect( &mDirWatch, SIGNAL( deleted(const QString&) ), SLOT( fileChanged() ) );
85#endif 83#endif
86 setFileName( fileName ); 84 setFileName( fileName );
87} 85}
88 86
89ResourceQtopia::~ResourceQtopia() 87ResourceQtopia::~ResourceQtopia()
90{ 88{
91 if (mConverter != 0) 89 if (mConverter != 0)
92 delete mConverter; 90 delete mConverter;
93 91
94} 92}
95 93
96void ResourceQtopia::writeConfig( KConfig *config ) 94void ResourceQtopia::writeConfig( KConfig *config )
97{ 95{
98 Resource::writeConfig( config ); 96 Resource::writeConfig( config );
99} 97}
100 98
101Ticket *ResourceQtopia::requestSaveTicket() 99Ticket *ResourceQtopia::requestSaveTicket()
102{ 100{
103 kdDebug(5700) << "ResourceQtopia::requestSaveTicket()" << endl; 101 kdDebug(5700) << "ResourceQtopia::requestSaveTicket()" << endl;
104 102
105 qDebug("ResourceQtopia::requestSaveTicket: %s", fileName().latin1()); 103 qDebug("ResourceQtopia::requestSaveTicket: %s", fileName().latin1());
106 104
107 if ( !addressBook() ) return 0; 105 if ( !addressBook() ) return 0;
108 106
109 if ( !lock( fileName() ) ) { 107 if ( !lock( fileName() ) ) {
110 kdDebug(5700) << "ResourceQtopia::requestSaveTicket(): Unable to lock file '" 108 kdDebug(5700) << "ResourceQtopia::requestSaveTicket(): Unable to lock file '"
111 << fileName() << "'" << endl; 109 << fileName() << "'" << endl;
112 return 0; 110 return 0;
113 } 111 }
114 return createTicket( this ); 112 return createTicket( this );
115} 113}
116 114
117 115
118bool ResourceQtopia::doOpen() 116bool ResourceQtopia::doOpen()
119{ 117{
120 qDebug("ResourceQtopia::doOpen(): %s", fileName().latin1()); 118 qDebug("ResourceQtopia::doOpen(): %s", fileName().latin1());
121 119
122 120
123 if (mConverter == 0) 121 if (mConverter == 0)
124 { 122 {
125 mConverter = new QtopiaConverter(); 123 mConverter = new QtopiaConverter();
126 bool res = mConverter->init(); 124 bool res = mConverter->init();
127 if ( !res ) 125 if ( !res )
128 { 126 {
129 QString msg("Unable to initialize qtopia converter. Most likely a problem with the category file"); 127 QString msg("Unable to initialize qtopia converter. Most likely a problem with the category file");
130 qDebug(msg); 128 qDebug(msg);
131 return false; 129 return false;
132 } 130 }
133 } 131 }
134 132
135 return true; 133 return true;
136} 134}
137 135
138void ResourceQtopia::doClose() 136void ResourceQtopia::doClose()
139{ 137{
140 qDebug("ResourceQtopia::doClose: %s", fileName().latin1()); 138 qDebug("ResourceQtopia::doClose: %s", fileName().latin1());
141 139
142 140
143 // it seems so, that deletion of access deletes backend as well 141 // it seems so, that deletion of access deletes backend as well
144 //delete backend; 142 //delete backend;
145 143
146 return; 144 return;
147} 145}
148 146
149bool ResourceQtopia::load() 147bool ResourceQtopia::load()
150{ 148{
151 149
152 QFile file( fileName() ); 150 QFile file( fileName() );
153 if ( !file.open(IO_ReadOnly ) ) { 151 if ( !file.open(IO_ReadOnly ) ) {
154 return false; 152 return false;
155 } 153 }
156 154
157 QDomDocument doc("mydocument" ); 155 QDomDocument doc("mydocument" );
158 if ( !doc.setContent( &file ) ) { 156 if ( !doc.setContent( &file ) ) {
159 file.close(); 157 file.close();
160 return false; 158 return false;
161 } 159 }
162 bool res; 160 bool res;
163 QDomElement docElem = doc.documentElement( ); 161 QDomElement docElem = doc.documentElement( );
164 QDomNode n = docElem.firstChild(); 162 QDomNode n = docElem.firstChild();
165 while ( !n.isNull() ) { 163 while ( !n.isNull() ) {
166 QDomElement e = n.toElement(); 164 QDomElement e = n.toElement();
167 if ( !e.isNull() ) { 165 if ( !e.isNull() ) {
168 if ( e.tagName() == QString::fromLatin1( "Contacts" ) ) { 166 if ( e.tagName() == QString::fromLatin1( "Contacts" ) ) {
169 QDomNode no = e.firstChild(); 167 QDomNode no = e.firstChild();
170 while ( !no.isNull() ) { 168 while ( !no.isNull() ) {
171 QDomElement el = no.toElement(); 169 QDomElement el = no.toElement();
172 if ( !el.isNull() ) { 170 if ( !el.isNull() ) {
173 KABC::Addressee addressee; 171 KABC::Addressee addressee;
174 res = mConverter->qtopiaToAddressee( el, addressee ); 172 res = mConverter->qtopiaToAddressee( el, addressee );
175 if ( !addressee.isEmpty() && res ) 173 if ( !addressee.isEmpty() && res )
176 { 174 {
177 addressee.setResource( this ); 175 addressee.setResource( this );
178 addressBook()->insertAddressee( addressee ); 176 addressBook()->insertAddressee( addressee );
179 } 177 }
180 } 178 }
181 179
182 no = no.nextSibling(); 180 no = no.nextSibling();
183 } 181 }
184 } 182 }
185 } 183 }
186 184
187 n = n.nextSibling(); 185 n = n.nextSibling();
188 } 186 }
189 return true; 187 return true;
190} 188}
191 189
192bool ResourceQtopia::save( Ticket *ticket ) 190bool ResourceQtopia::save( Ticket *ticket )
193{ 191{
194#ifdef _USE_DIRWATCH_ 192#ifdef _USE_DIRWATCH_
195 mDirWatch.stopScan(); 193 mDirWatch.stopScan();
196#endif 194#endif
197 KABC::AddressBook::Iterator it; 195 KABC::AddressBook::Iterator it;
198 bool res; 196 bool res;
199 QFile file( fileName() ); 197 QFile file( fileName() );
200 if (!file.open( IO_WriteOnly ) ) { 198 if (!file.open( IO_WriteOnly ) ) {
201 return false; 199 return false;
202 } 200 }
203 QTextStream ts( &file ); 201 QTextStream ts( &file );
204 QTextStream *stream = &ts; 202 QTextStream *stream = &ts;
205 stream->setEncoding( QTextStream::UnicodeUTF8 ); 203 stream->setEncoding( QTextStream::UnicodeUTF8 );
206 *stream << "<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE Addressbook ><AddressBook>" << endl; 204 *stream << "<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE Addressbook ><AddressBook>" << endl;
207 *stream << " <Groups>" << endl; 205 *stream << " <Groups>" << endl;
208 *stream << " </Groups>" << endl; 206 *stream << " </Groups>" << endl;
209 *stream << " <Contacts> " << endl; 207 *stream << " <Contacts> " << endl;
210 // for all entries 208 // for all entries
211 KABC::Addressee ab; 209 KABC::Addressee ab;
212 for ( it = addressBook()->begin(); it != addressBook()->end(); ++it ) { 210 for ( it = addressBook()->begin(); it != addressBook()->end(); ++it ) {
213 KABC::Addressee addressee = (*it); 211 KABC::Addressee addressee = (*it);
214 res = mConverter->addresseeToQtopia( addressee, stream ); 212 res = mConverter->addresseeToQtopia( addressee, stream );
215 if (!res == true) 213 if (!res == true)
216 { 214 {
217 qDebug("Unable to convert Addressee %s", addressee.formattedName().latin1()); 215 qDebug("Unable to convert Addressee %s", addressee.formattedName().latin1());
218 } 216 }
219 } 217 }
220 *stream << "</Contacts>" << endl; 218 *stream << "</Contacts>" << endl;
221 *stream << "</AddressBook>" << endl; 219 *stream << "</AddressBook>" << endl;
222 file.close(); 220 file.close();
223#ifdef _USE_DIRWATCH_ 221#ifdef _USE_DIRWATCH_
224 mDirWatch.startScan(); 222 mDirWatch.startScan();
225#endif 223#endif
226 delete ticket; 224 delete ticket;
227 unlock( fileName() ); 225 unlock( fileName() );
228 return true; 226 return true;
229} 227}
230 228
231bool ResourceQtopia::lock( const QString &lockfileName ) 229bool ResourceQtopia::lock( const QString &lockfileName )
232{ 230{
233 //disabled 231 //disabled
234 return true; 232 return true;
235 qDebug("ResourceQtopia::lock: %s", fileName().latin1()); 233 qDebug("ResourceQtopia::lock: %s", fileName().latin1());
236 QString fn = lockfileName; 234 QString fn = lockfileName;
237 235
238 KURL url(fn); 236 KURL url(fn);
239 QString lockName = locateLocal( "data", "kabc/lock/" + url.fileName() + ".lock" ); 237 QString lockName = locateLocal( "data", "kabc/lock/" + url.fileName() + ".lock" );
240 238
241 if (QFile::exists( lockName )) 239 if (QFile::exists( lockName ))
242 { 240 {
243 qDebug("ResourceOpie::lock: lockfile %s already exists. (Delete it before continuing if nobody else is accessing the resourcefile %s)", lockName.latin1(), fileName().latin1()); 241 qDebug("ResourceOpie::lock: lockfile %s already exists. (Delete it before continuing if nobody else is accessing the resourcefile %s)", lockName.latin1(), fileName().latin1());
244 return false; 242 return false;
245 } 243 }
246 244
247 QString lockUniqueName; 245 QString lockUniqueName;
248 lockUniqueName = fn + KApplication::randomString( 8 ); 246 lockUniqueName = fn + KApplication::randomString( 8 );
249 247
250 url = lockUniqueName; 248 url = lockUniqueName;
251//US mLockUniqueName = locateLocal( "data", "kabc/lock/" + lockUniqueName ); 249//US mLockUniqueName = locateLocal( "data", "kabc/lock/" + lockUniqueName );
252 mLockUniqueName = locateLocal( "data", "kabc/lock/" + url.fileName() ); 250 mLockUniqueName = locateLocal( "data", "kabc/lock/" + url.fileName() );
253 kdDebug(5700) << "-- lock unique name: " << mLockUniqueName << endl; 251 kdDebug(5700) << "-- lock unique name: " << mLockUniqueName << endl;
254 252
255 // Create unique file 253 // Create unique file
256 QFile file( mLockUniqueName ); 254 QFile file( mLockUniqueName );
257 file.open( IO_WriteOnly ); 255 file.open( IO_WriteOnly );
258 file.close(); 256 file.close();
259 257
260 // Create lock file 258 // Create lock file
261 int result = 0; 259 int result = 0;
262#ifndef _WIN32_ 260#ifndef _WIN32_
263 result = ::link( QFile::encodeName( mLockUniqueName ), 261 result = ::link( QFile::encodeName( mLockUniqueName ),
264 QFile::encodeName( lockName ) ); 262 QFile::encodeName( lockName ) );
265#endif 263#endif
266 if ( result == 0 ) { 264 if ( result == 0 ) {
267 addressBook()->emitAddressBookLocked(); 265 addressBook()->emitAddressBookLocked();
268 return true; 266 return true;
269 } 267 }
270 268
271 // TODO: check stat 269 // TODO: check stat
272 270
273 return false; 271 return false;
274} 272}
275 273
276void ResourceQtopia::unlock( const QString &fileName ) 274void ResourceQtopia::unlock( const QString &fileName )
277{ 275{
278 //disabled 276 //disabled
279 return; 277 return;
280 qDebug("ResourceQtopia::unlock() %s", fileName.latin1()); 278 qDebug("ResourceQtopia::unlock() %s", fileName.latin1());
281 279
282 QString fn = fileName; 280 QString fn = fileName;
283 KURL url(fn); 281 KURL url(fn);
284 QString lockName = locateLocal( "data", "kabc/lock/" + url.fileName() + ".lock" ); 282 QString lockName = locateLocal( "data", "kabc/lock/" + url.fileName() + ".lock" );
285 283
286 QFile::remove( lockName ); 284 QFile::remove( lockName );
287 QFile::remove( mLockUniqueName ); 285 QFile::remove( mLockUniqueName );
288 addressBook()->emitAddressBookUnlocked(); 286 addressBook()->emitAddressBookUnlocked();
289} 287}
290 288
291void ResourceQtopia::setFileName( const QString &newFileName ) 289void ResourceQtopia::setFileName( const QString &newFileName )
292{ 290{
293#ifdef _USE_DIRWATCH_ 291#ifdef _USE_DIRWATCH_
294 mDirWatch.stopScan(); 292 mDirWatch.stopScan();
295#endif 293#endif
296 mDirWatch.removeFile( fileName() ); 294 mDirWatch.removeFile( fileName() );
297 295
298 Resource::setFileName( newFileName ); 296 Resource::setFileName( newFileName );
299 297
300 mDirWatch.addFile( fileName() ); 298 mDirWatch.addFile( fileName() );
301#ifdef _USE_DIRWATCH_ 299#ifdef _USE_DIRWATCH_
302 mDirWatch.startScan(); 300 mDirWatch.startScan();
303#endif 301#endif
diff --git a/kabc/plugins/qtopia/resourceqtopiaconfig.cpp b/kabc/plugins/qtopia/resourceqtopiaconfig.cpp
index b2310c4..0505d0b 100644
--- a/kabc/plugins/qtopia/resourceqtopiaconfig.cpp
+++ b/kabc/plugins/qtopia/resourceqtopiaconfig.cpp
@@ -1,110 +1,107 @@
1/* 1/*
2 This file is part of libkabc. 2 This file is part of libkabc.
3 Copyright (c) 2002 Tobias Koenig <tokoe@kde.org> 3 Copyright (c) 2002 Tobias Koenig <tokoe@kde.org>
4 4
5 This library is free software; you can redistribute it and/or 5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public 6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either 7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version. 8 version 2 of the License, or (at your option) any later version.
9 9
10 This library is distributed in the hope that it will be useful, 10 This library 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 GNU 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details. 13 Library General Public License for more details.
14 14
15 You should have received a copy of the GNU Library General Public License 15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to 16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA. 18 Boston, MA 02111-1307, USA.
19*/ 19*/
20 20
21/* 21/*
22Enhanced Version of the file for platform independent KDE tools. 22Enhanced Version of the file for platform independent KDE tools.
23Copyright (c) 2004 Ulf Schenk 23Copyright (c) 2004 Ulf Schenk
24 24
25$Id$ 25$Id$
26*/ 26*/
27 27
28#include <qlabel.h> 28#include <qlabel.h>
29#include <qlayout.h> 29#include <qlayout.h>
30 30
31#include <kdebug.h> 31#include <kdebug.h>
32#include <klocale.h> 32#include <klocale.h>
33#include <kstandarddirs.h> 33#include <kstandarddirs.h>
34#include <kdialog.h> 34#include <kdialog.h>
35 35
36#include <unistd.h> 36#include <unistd.h>
37 37
38#include <qdir.h> 38#include <qdir.h>
39#include <qfile.h> 39#include <qfile.h>
40#include "resourceqtopia.h" 40#include "resourceqtopia.h"
41//US #include <qpe/qpeapplication.h>
42
43//US #include "stdaddressbook.h"
44 41
45#include "resourceqtopiaconfig.h" 42#include "resourceqtopiaconfig.h"
46 43
47using namespace KABC; 44using namespace KABC;
48 45
49ResourceQtopiaConfig::ResourceQtopiaConfig( QWidget* parent, const char* name ) 46ResourceQtopiaConfig::ResourceQtopiaConfig( QWidget* parent, const char* name )
50 : ConfigWidget( parent, name ) 47 : ConfigWidget( parent, name )
51{ 48{
52 QGridLayout *mainLayout = new QGridLayout( this, 1, 2, 0, 49 QGridLayout *mainLayout = new QGridLayout( this, 1, 2, 0,
53 KDialog::spacingHint() ); 50 KDialog::spacingHint() );
54 51
55 QLabel *label = new QLabel( i18n( "Location:" ), this ); 52 QLabel *label = new QLabel( i18n( "Location:" ), this );
56 mFileNameEdit = new KURLRequester( this ); 53 mFileNameEdit = new KURLRequester( this );
57 54
58 connect( mFileNameEdit, SIGNAL( textChanged( const QString & ) ), 55 connect( mFileNameEdit, SIGNAL( textChanged( const QString & ) ),
59 SLOT( checkFilePermissions( const QString & ) ) ); 56 SLOT( checkFilePermissions( const QString & ) ) );
60 57
61 mainLayout->addWidget( label, 0, 0 ); 58 mainLayout->addWidget( label, 0, 0 );
62 mainLayout->addWidget( mFileNameEdit, 0, 1 ); 59 mainLayout->addWidget( mFileNameEdit, 0, 1 );
63 60
64} 61}
65 62
66void ResourceQtopiaConfig::loadSettings( KRES::Resource *res ) 63void ResourceQtopiaConfig::loadSettings( KRES::Resource *res )
67{ 64{
68//US ResourceFile *resource = dynamic_cast<ResourceFile*>( res ); 65//US ResourceFile *resource = dynamic_cast<ResourceFile*>( res );
69 ResourceQtopia *resource = (ResourceQtopia*)( res ); 66 ResourceQtopia *resource = (ResourceQtopia*)( res );
70 67
71 if ( !resource ) { 68 if ( !resource ) {
72 kdDebug(5700) << "ResourceQtopiaConfig::loadSettings(): cast failed" << endl; 69 kdDebug(5700) << "ResourceQtopiaConfig::loadSettings(): cast failed" << endl;
73 return; 70 return;
74 } 71 }
75 72
76 mFileNameEdit->setURL( resource->fileName() ); 73 mFileNameEdit->setURL( resource->fileName() );
77 if ( mFileNameEdit->url().isEmpty() ) 74 if ( mFileNameEdit->url().isEmpty() )
78 mFileNameEdit->setURL( QDir::homeDirPath() + "/Applications/addressbook/addressbook.xml" ); 75 mFileNameEdit->setURL( QDir::homeDirPath() + "/Applications/addressbook/addressbook.xml" );
79 76
80 //US Qtopia resources are ReadOnly by definition 77 //US Qtopia resources are ReadOnly by definition
81 emit setPersistentReadOnly( true ); 78 emit setPersistentReadOnly( true );
82 79
83 //US we can not choose the filename for the qtopia backend => make it readonly. 80 //US we can not choose the filename for the qtopia backend => make it readonly.
84 mFileNameEdit->setEnabled( false ); 81 mFileNameEdit->setEnabled( false );
85 82
86} 83}
87 84
88void ResourceQtopiaConfig::saveSettings( KRES::Resource *res ) 85void ResourceQtopiaConfig::saveSettings( KRES::Resource *res )
89{ 86{
90//US ResourceFile *resource = dynamic_cast<ResourceFile*>( res ); 87//US ResourceFile *resource = dynamic_cast<ResourceFile*>( res );
91 ResourceQtopia *resource = (ResourceQtopia*)( res ); 88 ResourceQtopia *resource = (ResourceQtopia*)( res );
92 89
93 if ( !resource ) { 90 if ( !resource ) {
94 kdDebug(5700) << "ResourceQtopiaConfig::saveSettings(): cast failed" << endl; 91 kdDebug(5700) << "ResourceQtopiaConfig::saveSettings(): cast failed" << endl;
95 return; 92 return;
96 } 93 }
97 94
98 resource->setFileName( mFileNameEdit->url() ); 95 resource->setFileName( mFileNameEdit->url() );
99} 96}
100 97
101void ResourceQtopiaConfig::checkFilePermissions( const QString& fileName ) 98void ResourceQtopiaConfig::checkFilePermissions( const QString& fileName )
102{ 99{
103 // If file exist but is not writeable... 100 // If file exist but is not writeable...
104/*US 101/*US
105 if ( access( QFile::encodeName( fileName ), F_OK ) == 0 ) 102 if ( access( QFile::encodeName( fileName ), F_OK ) == 0 )
106 emit setReadOnly( access( QFile::encodeName( fileName ), W_OK ) < 0 ); 103 emit setReadOnly( access( QFile::encodeName( fileName ), W_OK ) < 0 );
107*/ 104*/
108} 105}
109 106
110//US #include "resourceopieconfig.moc" 107//US #include "resourceopieconfig.moc"
diff --git a/korganizer/wordsgerman.h b/korganizer/wordsgerman.h
index b2651d4..c5cae20 100644
--- a/korganizer/wordsgerman.h
+++ b/korganizer/wordsgerman.h
@@ -616,448 +616,448 @@
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 receice 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 (+00:30) to selected Timezone","Addiere 30 min zur selektierten Zeitzone" }, 916{ "Add 30 min (+00:30) to selected Timezone","Addiere 30 min zur selektierten 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{ "","" },
1058{ "","" }, 1058{ "","" },
1059{ "","" }, 1059{ "","" },
1060{ "","" }, 1060{ "","" },
1061{ "","" }, 1061{ "","" },
1062{ "","" }, 1062{ "","" },
1063{ "","" }, 1063{ "","" },
diff --git a/pwmanager/pwmanager/pwm.cpp b/pwmanager/pwmanager/pwm.cpp
index ac0c978..9798e8e 100644
--- a/pwmanager/pwmanager/pwm.cpp
+++ b/pwmanager/pwmanager/pwm.cpp
@@ -1,423 +1,429 @@
1/*************************************************************************** 1/***************************************************************************
2 * * 2 * *
3 * copyright (C) 2003, 2004 by Michael Buesch * 3 * copyright (C) 2003, 2004 by Michael Buesch *
4 * email: mbuesch@freenet.de * 4 * email: mbuesch@freenet.de *
5 * * 5 * *
6 * This program is free software; you can redistribute it and/or modify * 6 * This program is free software; you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License version 2 * 7 * it under the terms of the GNU General Public License version 2 *
8 * as published by the Free Software Foundation. * 8 * as published by the Free Software Foundation. *
9 * * 9 * *
10 ***************************************************************************/ 10 ***************************************************************************/
11 11
12/*************************************************************************** 12/***************************************************************************
13 * copyright (C) 2004 by Ulf Schenk 13 * copyright (C) 2004 by Ulf Schenk
14 * This file is originaly based on version 1.0.1 of pwmanager 14 * This file is originaly based on version 1.0.1 of pwmanager
15 * and was modified to run on embedded devices that run microkde 15 * and was modified to run on embedded devices that run microkde
16 * 16 *
17 * $Id$ 17 * $Id$
18 **************************************************************************/ 18 **************************************************************************/
19 19
20#include <klocale.h> 20#include <klocale.h>
21#include <klistview.h> 21#include <klistview.h>
22#include <ktoolbar.h> 22#include <ktoolbar.h>
23#include <kfiledialog.h> 23#include <kfiledialog.h>
24#include <kiconloader.h> 24#include <kiconloader.h>
25#include <kmessagebox.h> 25#include <kmessagebox.h>
26 26
27#ifndef PWM_EMBEDDED 27#ifndef PWM_EMBEDDED
28#include <kmenubar.h> 28#include <kmenubar.h>
29#include <kstatusbar.h> 29#include <kstatusbar.h>
30#include <dcopclient.h> 30#include <dcopclient.h>
31#include "configwndimpl.h" 31#include "configwndimpl.h"
32#include "configuration.h" 32#include "configuration.h"
33#else 33#else
34#include <qmenubar.h> 34#include <qmenubar.h>
35#include <qmessagebox.h> 35#include <qmessagebox.h>
36#include <pwmprefs.h> 36#include <pwmprefs.h>
37#include <kpimglobalprefs.h> 37#include <kpimglobalprefs.h>
38#include <kcmconfigs/kcmpwmconfig.h> 38#include <kcmconfigs/kcmpwmconfig.h>
39#include <kcmconfigs/kcmkdepimconfig.h> 39#include <kcmconfigs/kcmkdepimconfig.h>
40#include <kcmultidialog.h> 40#include <kcmultidialog.h>
41#endif 41#endif
42 42
43
44#ifndef DESKTOP_VERSION
45#include <qpe/global.h>
46#endif
47
43#include <qpixmap.h> 48#include <qpixmap.h>
44#include <qcheckbox.h> 49#include <qcheckbox.h>
45#include <qspinbox.h> 50#include <qspinbox.h>
46#include <qlineedit.h> 51#include <qlineedit.h>
47#include <qfileinfo.h> 52#include <qfileinfo.h>
48#include <qclipboard.h> 53#include <qclipboard.h>
49 54
50 55
51#include <stdio.h> 56#include <stdio.h>
52 57
53#include "pwm.h" 58#include "pwm.h"
54#include "pwminit.h" 59#include "pwminit.h"
55#include "pwmprint.h" 60#include "pwmprint.h"
56#include "addentrywndimpl.h" 61#include "addentrywndimpl.h"
57#include "globalstuff.h" 62#include "globalstuff.h"
58#include "findwndimpl.h" 63#include "findwndimpl.h"
59#include "csv.h" 64#include "csv.h"
60 65
61#ifdef CONFIG_KWALLETIF 66#ifdef CONFIG_KWALLETIF
62# include "kwalletif.h" 67# include "kwalletif.h"
63# include "kwalletemu.h" 68# include "kwalletemu.h"
64#endif 69#endif
65#ifdef CONFIG_KEYCARD 70#ifdef CONFIG_KEYCARD
66# include "pwmkeycard.h" 71# include "pwmkeycard.h"
67#endif 72#endif
68 73
69 74
70 #define DEFAULT_SIZE (QSize(700, 400)) 75 #define DEFAULT_SIZE (QSize(700, 400))
71 76
72// Button IDs for "file" popup menu 77// Button IDs for "file" popup menu
73enum { 78enum {
74 BUTTON_POPUP_FILE_NEW = 0, 79 BUTTON_POPUP_FILE_NEW = 0,
75 BUTTON_POPUP_FILE_OPEN, 80 BUTTON_POPUP_FILE_OPEN,
76 BUTTON_POPUP_FILE_CLOSE, 81 BUTTON_POPUP_FILE_CLOSE,
77 BUTTON_POPUP_FILE_SAVE, 82 BUTTON_POPUP_FILE_SAVE,
78 BUTTON_POPUP_FILE_SAVEAS, 83 BUTTON_POPUP_FILE_SAVEAS,
79 BUTTON_POPUP_FILE_EXPORT, 84 BUTTON_POPUP_FILE_EXPORT,
80 BUTTON_POPUP_FILE_IMPORT, 85 BUTTON_POPUP_FILE_IMPORT,
81 BUTTON_POPUP_FILE_PRINT, 86 BUTTON_POPUP_FILE_PRINT,
82 BUTTON_POPUP_FILE_QUIT 87 BUTTON_POPUP_FILE_QUIT
83}; 88};
84// Button IDs for "manage" popup menu 89// Button IDs for "manage" popup menu
85enum { 90enum {
86 BUTTON_POPUP_MANAGE_ADD = 0, 91 BUTTON_POPUP_MANAGE_ADD = 0,
87 BUTTON_POPUP_MANAGE_EDIT, 92 BUTTON_POPUP_MANAGE_EDIT,
88 BUTTON_POPUP_MANAGE_DEL, 93 BUTTON_POPUP_MANAGE_DEL,
89 BUTTON_POPUP_MANAGE_CHANGEMP 94 BUTTON_POPUP_MANAGE_CHANGEMP
90}; 95};
91// Button IDs for chipcard popup menu 96// Button IDs for chipcard popup menu
92enum { 97enum {
93#ifdef CONFIG_KEYCARD 98#ifdef CONFIG_KEYCARD
94 BUTTON_POPUP_CHIPCARD_GENNEW = 0, 99 BUTTON_POPUP_CHIPCARD_GENNEW = 0,
95 BUTTON_POPUP_CHIPCARD_DEL, 100 BUTTON_POPUP_CHIPCARD_DEL,
96 BUTTON_POPUP_CHIPCARD_READID, 101 BUTTON_POPUP_CHIPCARD_READID,
97 BUTTON_POPUP_CHIPCARD_SAVEBACKUP, 102 BUTTON_POPUP_CHIPCARD_SAVEBACKUP,
98 BUTTON_POPUP_CHIPCARD_REPLAYBACKUP 103 BUTTON_POPUP_CHIPCARD_REPLAYBACKUP
99#else // CONFIG_KEYCARD 104#else // CONFIG_KEYCARD
100 BUTTON_POPUP_CHIPCARD_NO = 0 105 BUTTON_POPUP_CHIPCARD_NO = 0
101#endif // CONFIG_KEYCARD 106#endif // CONFIG_KEYCARD
102}; 107};
103// Button IDs for "view" popup menu 108// Button IDs for "view" popup menu
104enum { 109enum {
105 BUTTON_POPUP_VIEW_FIND = 0, 110 BUTTON_POPUP_VIEW_FIND = 0,
106 BUTTON_POPUP_VIEW_LOCK, 111 BUTTON_POPUP_VIEW_LOCK,
107 BUTTON_POPUP_VIEW_DEEPLOCK, 112 BUTTON_POPUP_VIEW_DEEPLOCK,
108 BUTTON_POPUP_VIEW_UNLOCK 113 BUTTON_POPUP_VIEW_UNLOCK
109}; 114};
110// Button IDs for "options" popup menu 115// Button IDs for "options" popup menu
111enum { 116enum {
112 BUTTON_POPUP_OPTIONS_CONFIG = 0 117 BUTTON_POPUP_OPTIONS_CONFIG = 0
113}; 118};
114// Button IDs for "export" popup menu (in "file" popup menu) 119// Button IDs for "export" popup menu (in "file" popup menu)
115enum { 120enum {
116 BUTTON_POPUP_EXPORT_TEXT = 0, 121 BUTTON_POPUP_EXPORT_TEXT = 0,
117 BUTTON_POPUP_EXPORT_GPASMAN, 122 BUTTON_POPUP_EXPORT_GPASMAN,
118 BUTTON_POPUP_EXPORT_CSV 123 BUTTON_POPUP_EXPORT_CSV
119#ifdef CONFIG_KWALLETIF 124#ifdef CONFIG_KWALLETIF
120 ,BUTTON_POPUP_EXPORT_KWALLET 125 ,BUTTON_POPUP_EXPORT_KWALLET
121#endif 126#endif
122}; 127};
123// Button IDs for "import" popup menu (in "file" popup menu) 128// Button IDs for "import" popup menu (in "file" popup menu)
124enum { 129enum {
125 BUTTON_POPUP_IMPORT_TEXT = 0, 130 BUTTON_POPUP_IMPORT_TEXT = 0,
126 BUTTON_POPUP_IMPORT_GPASMAN, 131 BUTTON_POPUP_IMPORT_GPASMAN,
127 BUTTON_POPUP_IMPORT_CSV 132 BUTTON_POPUP_IMPORT_CSV
128#ifdef CONFIG_KWALLETIF 133#ifdef CONFIG_KWALLETIF
129 ,BUTTON_POPUP_IMPORT_KWALLET 134 ,BUTTON_POPUP_IMPORT_KWALLET
130#endif 135#endif
131}; 136};
132 137
133#ifdef PWM_EMBEDDED 138#ifdef PWM_EMBEDDED
134// Button IDs for "help" popup menu 139// Button IDs for "help" popup menu
135enum { 140enum {
136 BUTTON_POPUP_HELP_LICENSE = 0, 141 BUTTON_POPUP_HELP_LICENSE = 0,
137 BUTTON_POPUP_HELP_FAQ, 142 BUTTON_POPUP_HELP_FAQ,
138 BUTTON_POPUP_HELP_ABOUT, 143 BUTTON_POPUP_HELP_ABOUT,
139 BUTTON_POPUP_HELP_SYNC, 144 BUTTON_POPUP_HELP_SYNC,
140 BUTTON_POPUP_HELP_WHATSNEW 145 BUTTON_POPUP_HELP_WHATSNEW
141}; 146};
142#endif 147#endif
143 148
144// Button IDs for toolbar 149// Button IDs for toolbar
145enum { 150enum {
146 BUTTON_TOOL_NEW = 0, 151 BUTTON_TOOL_NEW = 0,
147 BUTTON_TOOL_OPEN, 152 BUTTON_TOOL_OPEN,
148 BUTTON_TOOL_SAVE, 153 BUTTON_TOOL_SAVE,
149 BUTTON_TOOL_SAVEAS, 154 BUTTON_TOOL_SAVEAS,
150 BUTTON_TOOL_PRINT, 155 BUTTON_TOOL_PRINT,
151 BUTTON_TOOL_ADD, 156 BUTTON_TOOL_ADD,
152 BUTTON_TOOL_EDIT, 157 BUTTON_TOOL_EDIT,
153 BUTTON_TOOL_DEL, 158 BUTTON_TOOL_DEL,
154 BUTTON_TOOL_FIND, 159 BUTTON_TOOL_FIND,
155 BUTTON_TOOL_LOCK, 160 BUTTON_TOOL_LOCK,
156 BUTTON_TOOL_DEEPLOCK, 161 BUTTON_TOOL_DEEPLOCK,
157 BUTTON_TOOL_UNLOCK 162 BUTTON_TOOL_UNLOCK
158}; 163};
159 164
160 165
161PwM::PwM(PwMInit *_init, PwMDoc *doc, 166PwM::PwM(PwMInit *_init, PwMDoc *doc,
162 bool virginity, 167 bool virginity,
163 QWidget *parent, const char *name) 168 QWidget *parent, const char *name)
164 : KMainWindow(parent, "HALLO") 169 : KMainWindow(parent, "HALLO")
165 , forceQuit (false) 170 , forceQuit (false)
166 , forceMinimizeToTray (false) 171 , forceMinimizeToTray (false)
167{ 172{
173 virgin = !virginity;
168 init = _init; 174 init = _init;
169 connect(doc, SIGNAL(docClosed(PwMDoc *)), 175 connect(doc, SIGNAL(docClosed(PwMDoc *)),
170 this, SLOT(docClosed(PwMDoc *))); 176 this, SLOT(docClosed(PwMDoc *)));
171 initMenubar(); 177 initMenubar();
172 initToolbar(); 178 initToolbar();
173 initMetrics(); 179 initMetrics();
174 setVirgin(virginity); 180 setVirgin(virginity);
175 setFocusPolicy(QWidget::WheelFocus); 181 setFocusPolicy(QWidget::WheelFocus);
176#ifndef PWM_EMBEDDED 182#ifndef PWM_EMBEDDED
177 statusBar()->show(); 183 statusBar()->show();
178#endif 184#endif
179 view = makeNewListView(doc); 185 view = makeNewListView(doc);
180 setCentralWidget(view); 186 setCentralWidget(view);
181 updateCaption(); 187 updateCaption();
182 showStatMsg(i18n("Ready.")); 188 showStatMsg(i18n("Ready."));
183} 189}
184 190
185PwM::~PwM() 191PwM::~PwM()
186{ 192{
187 //qDebug("PwM::~PwM()"); 193 //qDebug("PwM::~PwM()");
188 disconnect(curDoc(), SIGNAL(docClosed(PwMDoc *)), 194 disconnect(curDoc(), SIGNAL(docClosed(PwMDoc *)),
189 this, SLOT(docClosed(PwMDoc *))); 195 this, SLOT(docClosed(PwMDoc *)));
190 conf()->confWndMainWndSize(size()); 196 conf()->confWndMainWndSize(size());
191 emit closed(this); 197 emit closed(this);
192 //qDebug("PwM::~PwM() emited closed(this)"); 198 //qDebug("PwM::~PwM() emited closed(this)");
193 delete view; 199 delete view;
194} 200}
195 201
196void PwM::initMenubar() 202void PwM::initMenubar()
197{ 203{
198 KIconLoader* picons; 204 KIconLoader* picons;
199#ifndef PWM_EMBEDDED 205#ifndef PWM_EMBEDDED
200 KIconLoader icons; 206 KIconLoader icons;
201 picons = &icons; 207 picons = &icons;
202#else 208#else
203 picons = KGlobal::iconLoader(); 209 picons = KGlobal::iconLoader();
204 210
205 211
206 syncPopup = new KPopupMenu(this); 212 syncPopup = new KPopupMenu(this);
207 213
208 syncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)this, KSyncManager::PWMPI, PWMPrefs::instance(), syncPopup); 214 syncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)this, KSyncManager::PWMPI, PWMPrefs::instance(), syncPopup);
209 syncManager->setBlockSave(false); 215 syncManager->setBlockSave(false);
210 216
211 connect ( syncPopup, SIGNAL( activated ( int ) ), syncManager, SLOT (slotSyncMenu( int ) ) ); 217 connect ( syncPopup, SIGNAL( activated ( int ) ), syncManager, SLOT (slotSyncMenu( int ) ) );
212 syncManager->fillSyncMenu(); 218 syncManager->fillSyncMenu();
213 219
214#endif 220#endif
215 filePopup = new KPopupMenu(this); 221 filePopup = new KPopupMenu(this);
216 importPopup = new KPopupMenu(filePopup); 222 importPopup = new KPopupMenu(filePopup);
217 exportPopup = new KPopupMenu(filePopup); 223 exportPopup = new KPopupMenu(filePopup);
218 managePopup = new KPopupMenu(this); 224 managePopup = new KPopupMenu(this);
219#ifdef CONFIG_KEYCARD 225#ifdef CONFIG_KEYCARD
220 chipcardPopup = new KPopupMenu(this); 226 chipcardPopup = new KPopupMenu(this);
221#endif // CONFIG_KEYCARD 227#endif // CONFIG_KEYCARD
222 viewPopup = new KPopupMenu(this); 228 viewPopup = new KPopupMenu(this);
223 optionsPopup = new KPopupMenu(this); 229 optionsPopup = new KPopupMenu(this);
224 230
225// "file" popup menu 231// "file" popup menu
226 filePopup->insertItem(QIconSet(picons->loadIcon("filenew", KIcon::Small)), 232 filePopup->insertItem(QIconSet(picons->loadIcon("filenew", KIcon::Small)),
227 i18n("&New"), this, 233 i18n("&New"), this,
228 SLOT(new_slot()), 0, BUTTON_POPUP_FILE_NEW); 234 SLOT(new_slot()), 0, BUTTON_POPUP_FILE_NEW);
229 filePopup->insertItem(QIconSet(picons->loadIcon("fileopen", KIcon::Small)), 235 filePopup->insertItem(QIconSet(picons->loadIcon("fileopen", KIcon::Small)),
230 i18n("&Open"), this, 236 i18n("&Open"), this,
231 SLOT(open_slot()), 0, BUTTON_POPUP_FILE_OPEN); 237 SLOT(open_slot()), 0, BUTTON_POPUP_FILE_OPEN);
232 filePopup->insertItem(QIconSet(picons->loadIcon("fileclose", KIcon::Small)), 238 filePopup->insertItem(QIconSet(picons->loadIcon("fileclose", KIcon::Small)),
233 i18n("&Close"), this, 239 i18n("&Close"), this,
234 SLOT(close_slot()), 0, BUTTON_POPUP_FILE_CLOSE); 240 SLOT(close_slot()), 0, BUTTON_POPUP_FILE_CLOSE);
235 filePopup->insertSeparator(); 241 filePopup->insertSeparator();
236 filePopup->insertItem(QIconSet(picons->loadIcon("filesave", KIcon::Small)), 242 filePopup->insertItem(QIconSet(picons->loadIcon("filesave", KIcon::Small)),
237 i18n("&Save"), this, 243 i18n("&Save"), this,
238 SLOT(save_slot()), 0, BUTTON_POPUP_FILE_SAVE); 244 SLOT(save_slot()), 0, BUTTON_POPUP_FILE_SAVE);
239 filePopup->insertItem(QIconSet(picons->loadIcon("filesaveas", KIcon::Small)), 245 filePopup->insertItem(QIconSet(picons->loadIcon("filesaveas", KIcon::Small)),
240 i18n("Save &as..."), 246 i18n("Save &as..."),
241 this, SLOT(saveAs_slot()), 0, 247 this, SLOT(saveAs_slot()), 0,
242 BUTTON_POPUP_FILE_SAVEAS); 248 BUTTON_POPUP_FILE_SAVEAS);
243 filePopup->insertSeparator(); 249 filePopup->insertSeparator();
244 // "file/export" popup menu 250 // "file/export" popup menu
245 exportPopup->insertItem(i18n("&Text-file..."), this, 251 exportPopup->insertItem(i18n("&Text-file..."), this,
246 SLOT(exportToText()), 0, BUTTON_POPUP_EXPORT_TEXT); 252 SLOT(exportToText()), 0, BUTTON_POPUP_EXPORT_TEXT);
247 exportPopup->insertItem(i18n("&Gpasman / Kpasman ..."), this, 253 exportPopup->insertItem(i18n("&Gpasman / Kpasman ..."), this,
248 SLOT(exportToGpasman()), 0, BUTTON_POPUP_EXPORT_GPASMAN); 254 SLOT(exportToGpasman()), 0, BUTTON_POPUP_EXPORT_GPASMAN);
249 exportPopup->insertItem(i18n("&CSV (Comma Separated Value) ..."), this, 255 exportPopup->insertItem(i18n("&CSV (Comma Separated Value) ..."), this,
250 SLOT(exportToCsv()), 0, BUTTON_POPUP_EXPORT_CSV); 256 SLOT(exportToCsv()), 0, BUTTON_POPUP_EXPORT_CSV);
251#ifdef CONFIG_KWALLETIF 257#ifdef CONFIG_KWALLETIF
252 exportPopup->insertItem(i18n("&KWallet..."), this, 258 exportPopup->insertItem(i18n("&KWallet..."), this,
253 SLOT(exportToKWallet()), 0, BUTTON_POPUP_EXPORT_KWALLET); 259 SLOT(exportToKWallet()), 0, BUTTON_POPUP_EXPORT_KWALLET);
254#endif 260#endif
255 filePopup->insertItem(QIconSet(picons->loadIcon("fileexport", KIcon::Small)), 261 filePopup->insertItem(QIconSet(picons->loadIcon("fileexport", KIcon::Small)),
256 i18n("E&xport"), exportPopup, 262 i18n("E&xport"), exportPopup,
257 BUTTON_POPUP_FILE_EXPORT); 263 BUTTON_POPUP_FILE_EXPORT);
258 // "file/import" popup menu 264 // "file/import" popup menu
259 importPopup->insertItem(i18n("&Text-file..."), this, 265 importPopup->insertItem(i18n("&Text-file..."), this,
260 SLOT(importFromText()), 0, BUTTON_POPUP_IMPORT_TEXT); 266 SLOT(importFromText()), 0, BUTTON_POPUP_IMPORT_TEXT);
261 importPopup->insertItem(i18n("&Gpasman / Kpasman ..."), this, 267 importPopup->insertItem(i18n("&Gpasman / Kpasman ..."), this,
262 SLOT(importFromGpasman()), 0, BUTTON_POPUP_IMPORT_GPASMAN); 268 SLOT(importFromGpasman()), 0, BUTTON_POPUP_IMPORT_GPASMAN);
263 importPopup->insertItem(i18n("&CSV (Comma Separated Value) ..."), this, 269 importPopup->insertItem(i18n("&CSV (Comma Separated Value) ..."), this,
264 SLOT(importCsv()), 0, BUTTON_POPUP_IMPORT_CSV); 270 SLOT(importCsv()), 0, BUTTON_POPUP_IMPORT_CSV);
265#ifdef CONFIG_KWALLETIF 271#ifdef CONFIG_KWALLETIF
266 importPopup->insertItem(i18n("&KWallet..."), this, 272 importPopup->insertItem(i18n("&KWallet..."), this,
267 SLOT(importKWallet()), 0, BUTTON_POPUP_IMPORT_KWALLET); 273 SLOT(importKWallet()), 0, BUTTON_POPUP_IMPORT_KWALLET);
268#endif 274#endif
269 filePopup->insertItem(QIconSet(picons->loadIcon("fileimport", KIcon::Small)), 275 filePopup->insertItem(QIconSet(picons->loadIcon("fileimport", KIcon::Small)),
270 i18n("I&mport"), importPopup, 276 i18n("I&mport"), importPopup,
271 BUTTON_POPUP_FILE_IMPORT); 277 BUTTON_POPUP_FILE_IMPORT);
272 filePopup->insertSeparator(); 278 filePopup->insertSeparator();
273 filePopup->insertItem(QIconSet(picons->loadIcon("fileprint", KIcon::Small)), 279 filePopup->insertItem(QIconSet(picons->loadIcon("fileprint", KIcon::Small)),
274 i18n("&Print..."), this, 280 i18n("&Print..."), this,
275 SLOT(print_slot()), 0, BUTTON_POPUP_FILE_PRINT); 281 SLOT(print_slot()), 0, BUTTON_POPUP_FILE_PRINT);
276 filePopup->insertSeparator(); 282 filePopup->insertSeparator();
277 filePopup->insertItem(QIconSet(picons->loadIcon("exit", KIcon::Small)), 283 filePopup->insertItem(QIconSet(picons->loadIcon("exit", KIcon::Small)),
278 i18n("&Quit"), this, 284 i18n("&Quit"), this,
279 SLOT(quitButton_slot()), 0, BUTTON_POPUP_FILE_QUIT); 285 SLOT(quitButton_slot()), 0, BUTTON_POPUP_FILE_QUIT);
280 menuBar()->insertItem(i18n("&File"), filePopup); 286 menuBar()->insertItem(i18n("&File"), filePopup);
281// "manage" popup menu 287// "manage" popup menu
282 managePopup->insertItem(QIconSet(picons->loadIcon("pencil", KIcon::Small)), 288 managePopup->insertItem(QIconSet(picons->loadIcon("pencil", KIcon::Small)),
283 i18n("&Add password"), this, 289 i18n("&Add password"), this,
284 SLOT(addPwd_slot()), 0, 290 SLOT(addPwd_slot()), 0,
285 BUTTON_POPUP_MANAGE_ADD); 291 BUTTON_POPUP_MANAGE_ADD);
286 managePopup->insertItem(QIconSet(picons->loadIcon("edit", KIcon::Small)), 292 managePopup->insertItem(QIconSet(picons->loadIcon("edit", KIcon::Small)),
287 i18n("&Edit"), this, SLOT(editPwd_slot()), 0, 293 i18n("&Edit"), this, SLOT(editPwd_slot()), 0,
288 BUTTON_POPUP_MANAGE_EDIT); 294 BUTTON_POPUP_MANAGE_EDIT);
289 managePopup->insertItem(QIconSet(picons->loadIcon("editdelete", KIcon::Small)), 295 managePopup->insertItem(QIconSet(picons->loadIcon("editdelete", KIcon::Small)),
290 i18n("&Delete"), this, SLOT(deletePwd_slot()), 296 i18n("&Delete"), this, SLOT(deletePwd_slot()),
291 0, BUTTON_POPUP_MANAGE_DEL); 297 0, BUTTON_POPUP_MANAGE_DEL);
292 managePopup->insertSeparator(); 298 managePopup->insertSeparator();
293 managePopup->insertItem(QIconSet(picons->loadIcon("rotate", KIcon::Small)), 299 managePopup->insertItem(QIconSet(picons->loadIcon("rotate", KIcon::Small)),
294 i18n("Change &Master Password"), this, 300 i18n("Change &Master Password"), this,
295 SLOT(changeMasterPwd_slot()), 0, 301 SLOT(changeMasterPwd_slot()), 0,
296 BUTTON_POPUP_MANAGE_CHANGEMP); 302 BUTTON_POPUP_MANAGE_CHANGEMP);
297 menuBar()->insertItem(i18n("&Manage"), managePopup); 303 menuBar()->insertItem(i18n("&Manage"), managePopup);
298// "chipcard" popup menu 304// "chipcard" popup menu
299#ifdef CONFIG_KEYCARD 305#ifdef CONFIG_KEYCARD
300 chipcardPopup->insertItem(QIconSet(picons->loadIcon("filenew", KIcon::Small)), 306 chipcardPopup->insertItem(QIconSet(picons->loadIcon("filenew", KIcon::Small)),
301 i18n("&Generate new key-card"), this, 307 i18n("&Generate new key-card"), this,
302 SLOT(genNewCard_slot()), 0, 308 SLOT(genNewCard_slot()), 0,
303 BUTTON_POPUP_CHIPCARD_GENNEW); 309 BUTTON_POPUP_CHIPCARD_GENNEW);
304 chipcardPopup->insertItem(QIconSet(picons->loadIcon("editdelete", KIcon::Small)), 310 chipcardPopup->insertItem(QIconSet(picons->loadIcon("editdelete", KIcon::Small)),
305 i18n("&Erase key-card"), this, 311 i18n("&Erase key-card"), this,
306 SLOT(eraseCard_slot()), 0, 312 SLOT(eraseCard_slot()), 0,
307 BUTTON_POPUP_CHIPCARD_DEL); 313 BUTTON_POPUP_CHIPCARD_DEL);
308 chipcardPopup->insertItem(QIconSet(picons->loadIcon("", KIcon::Small)), 314 chipcardPopup->insertItem(QIconSet(picons->loadIcon("", KIcon::Small)),
309 i18n("Read card-&ID"), this, 315 i18n("Read card-&ID"), this,
310 SLOT(readCardId_slot()), 0, 316 SLOT(readCardId_slot()), 0,
311 BUTTON_POPUP_CHIPCARD_READID); 317 BUTTON_POPUP_CHIPCARD_READID);
312 chipcardPopup->insertSeparator(); 318 chipcardPopup->insertSeparator();
313 chipcardPopup->insertItem(QIconSet(picons->loadIcon("2rightarrow", KIcon::Small)), 319 chipcardPopup->insertItem(QIconSet(picons->loadIcon("2rightarrow", KIcon::Small)),
314 i18n("&Make card backup-image"), this, 320 i18n("&Make card backup-image"), this,
315 SLOT(makeCardBackup_slot()), 0, 321 SLOT(makeCardBackup_slot()), 0,
316 BUTTON_POPUP_CHIPCARD_SAVEBACKUP); 322 BUTTON_POPUP_CHIPCARD_SAVEBACKUP);
317 chipcardPopup->insertItem(QIconSet(picons->loadIcon("2leftarrow", KIcon::Small)), 323 chipcardPopup->insertItem(QIconSet(picons->loadIcon("2leftarrow", KIcon::Small)),
318 i18n("&Replay card backup-image"), this, 324 i18n("&Replay card backup-image"), this,
319 SLOT(replayCardBackup_slot()), 0, 325 SLOT(replayCardBackup_slot()), 0,
320 BUTTON_POPUP_CHIPCARD_REPLAYBACKUP); 326 BUTTON_POPUP_CHIPCARD_REPLAYBACKUP);
321 menuBar()->insertItem(i18n("&Chipcard manager"), chipcardPopup); 327 menuBar()->insertItem(i18n("&Chipcard manager"), chipcardPopup);
322#endif // CONFIG_KEYCARD 328#endif // CONFIG_KEYCARD
323// "view" popup menu 329// "view" popup menu
324 viewPopup->insertItem(QIconSet(picons->loadIcon("find", KIcon::Small)), 330 viewPopup->insertItem(QIconSet(picons->loadIcon("find", KIcon::Small)),
325 i18n("&Find"), this, 331 i18n("&Find"), this,
326 SLOT(find_slot()), 0, BUTTON_POPUP_VIEW_FIND); 332 SLOT(find_slot()), 0, BUTTON_POPUP_VIEW_FIND);
327 viewPopup->insertSeparator(); 333 viewPopup->insertSeparator();
328 viewPopup->insertItem(QIconSet(picons->loadIcon("halfencrypted", KIcon::Small)), 334 viewPopup->insertItem(QIconSet(picons->loadIcon("halfencrypted", KIcon::Small)),
329 i18n("&Lock all entries"), this, 335 i18n("&Lock all entries"), this,
330 SLOT(lockWnd_slot()), 0, 336 SLOT(lockWnd_slot()), 0,
331 BUTTON_POPUP_VIEW_LOCK); 337 BUTTON_POPUP_VIEW_LOCK);
332 viewPopup->insertItem(QIconSet(picons->loadIcon("encrypted", KIcon::Small)), 338 viewPopup->insertItem(QIconSet(picons->loadIcon("encrypted", KIcon::Small)),
333 i18n("&Deep-lock all entries"), this, 339 i18n("&Deep-lock all entries"), this,
334 SLOT(deepLockWnd_slot()), 0, 340 SLOT(deepLockWnd_slot()), 0,
335 BUTTON_POPUP_VIEW_DEEPLOCK); 341 BUTTON_POPUP_VIEW_DEEPLOCK);
336 viewPopup->insertItem(QIconSet(picons->loadIcon("decrypted", KIcon::Small)), 342 viewPopup->insertItem(QIconSet(picons->loadIcon("decrypted", KIcon::Small)),
337 i18n("&Unlock all entries"), this, 343 i18n("&Unlock all entries"), this,
338 SLOT(unlockWnd_slot()), 0, 344 SLOT(unlockWnd_slot()), 0,
339 BUTTON_POPUP_VIEW_UNLOCK); 345 BUTTON_POPUP_VIEW_UNLOCK);
340 menuBar()->insertItem(i18n("&View"), viewPopup); 346 menuBar()->insertItem(i18n("&View"), viewPopup);
341// "options" popup menu 347// "options" popup menu
342 optionsPopup->insertItem(QIconSet(picons->loadIcon("configure", KIcon::Small)), 348 optionsPopup->insertItem(QIconSet(picons->loadIcon("configure", KIcon::Small)),
343 i18n("&Configure..."), this, 349 i18n("&Configure..."), this,
344 SLOT(config_slot()), 350 SLOT(config_slot()),
345 BUTTON_POPUP_OPTIONS_CONFIG); 351 BUTTON_POPUP_OPTIONS_CONFIG);
346 menuBar()->insertItem(i18n("&Options"), optionsPopup); 352 menuBar()->insertItem(i18n("&Options"), optionsPopup);
347// "help" popup menu 353// "help" popup menu
348#ifndef PWM_EMBEDDED 354#ifndef PWM_EMBEDDED
349 helpPopup = helpMenu(QString::null, false); 355 helpPopup = helpMenu(QString::null, false);
350#else 356#else
351 menuBar()->insertItem(i18n("&Sync"), syncPopup); 357 menuBar()->insertItem(i18n("&Sync"), syncPopup);
352 358
353 359
354 360
355 361
356 362
357 helpPopup = new KPopupMenu(this); 363 helpPopup = new KPopupMenu(this);
358 364
359 365
360 helpPopup->insertItem(i18n("&License"), this, 366 helpPopup->insertItem(i18n("&License"), this,
361 SLOT(showLicense_slot()), 0, 367 SLOT(showLicense_slot()), 0,
362 BUTTON_POPUP_HELP_LICENSE); 368 BUTTON_POPUP_HELP_LICENSE);
363 369
364 helpPopup->insertItem(i18n("&Faq"), this, 370 helpPopup->insertItem(i18n("&Faq"), this,
365 SLOT(faq_slot()), 0, 371 SLOT(faq_slot()), 0,
366 BUTTON_POPUP_HELP_FAQ); 372 BUTTON_POPUP_HELP_FAQ);
367 373
368 helpPopup->insertItem(i18n("&About PwManager"), this, 374 helpPopup->insertItem(i18n("&About PwManager"), this,
369 SLOT(createAboutData_slot()), 0, 375 SLOT(createAboutData_slot()), 0,
370 BUTTON_POPUP_HELP_ABOUT); 376 BUTTON_POPUP_HELP_ABOUT);
371 377
372 helpPopup->insertItem(i18n("&Sync HowTo"), this, 378 helpPopup->insertItem(i18n("&Sync HowTo"), this,
373 SLOT(syncHowTo_slot()), 0, 379 SLOT(syncHowTo_slot()), 0,
374 BUTTON_POPUP_HELP_SYNC); 380 BUTTON_POPUP_HELP_SYNC);
375 381
376 helpPopup->insertItem(i18n("&What's New"), this, 382 helpPopup->insertItem(i18n("&What's New"), this,
377 SLOT(whatsnew_slot()), 0, 383 SLOT(whatsnew_slot()), 0,
378 BUTTON_POPUP_HELP_WHATSNEW); 384 BUTTON_POPUP_HELP_WHATSNEW);
379 385
380#endif 386#endif
381 menuBar()->insertItem(i18n("&Help"), helpPopup); 387 menuBar()->insertItem(i18n("&Help"), helpPopup);
382 388
383} 389}
384 390
385void PwM::initToolbar() 391void PwM::initToolbar()
386{ 392{
387 KIconLoader* picons; 393 KIconLoader* picons;
388#ifndef PWM_EMBEDDED 394#ifndef PWM_EMBEDDED
389 KIconLoader icons; 395 KIconLoader icons;
390 picons = &icons; 396 picons = &icons;
391#else 397#else
392 picons = KGlobal::iconLoader(); 398 picons = KGlobal::iconLoader();
393#endif 399#endif
394 400
395#ifdef PWM_EMBEDDED 401#ifdef PWM_EMBEDDED
396 if ( QApplication::desktop()->width() > 320 ) 402 if ( QApplication::desktop()->width() > 320 )
397#endif 403#endif
398 { 404 {
399 toolBar()->insertButton(picons->loadIcon("filenew", KIcon::Toolbar), 405 toolBar()->insertButton(picons->loadIcon("filenew", KIcon::Toolbar),
400 BUTTON_TOOL_NEW, SIGNAL(clicked(int)), this, 406 BUTTON_TOOL_NEW, SIGNAL(clicked(int)), this,
401 SLOT(new_slot()), true, i18n("New")); 407 SLOT(new_slot()), true, i18n("New"));
402 toolBar()->insertButton(picons->loadIcon("fileopen", KIcon::Toolbar), 408 toolBar()->insertButton(picons->loadIcon("fileopen", KIcon::Toolbar),
403 BUTTON_TOOL_OPEN, SIGNAL(clicked(int)), this, 409 BUTTON_TOOL_OPEN, SIGNAL(clicked(int)), this,
404 SLOT(open_slot()), true, i18n("Open")); 410 SLOT(open_slot()), true, i18n("Open"));
405 toolBar()->insertSeparator(); 411 toolBar()->insertSeparator();
406 } 412 }
407 toolBar()->insertButton(picons->loadIcon("filesave", KIcon::Toolbar), 413 toolBar()->insertButton(picons->loadIcon("filesave", KIcon::Toolbar),
408 BUTTON_TOOL_SAVE, SIGNAL(clicked(int)), this, 414 BUTTON_TOOL_SAVE, SIGNAL(clicked(int)), this,
409 SLOT(save_slot()), true, i18n("Save")); 415 SLOT(save_slot()), true, i18n("Save"));
410 toolBar()->insertButton(picons->loadIcon("filesaveas", KIcon::Toolbar), 416 toolBar()->insertButton(picons->loadIcon("filesaveas", KIcon::Toolbar),
411 BUTTON_TOOL_SAVEAS, SIGNAL(clicked(int)), this, 417 BUTTON_TOOL_SAVEAS, SIGNAL(clicked(int)), this,
412 SLOT(saveAs_slot()), true, i18n("Save as")); 418 SLOT(saveAs_slot()), true, i18n("Save as"));
413 toolBar()->insertButton(picons->loadIcon("fileprint", KIcon::Toolbar), 419 toolBar()->insertButton(picons->loadIcon("fileprint", KIcon::Toolbar),
414 BUTTON_TOOL_PRINT, SIGNAL(clicked(int)), this, 420 BUTTON_TOOL_PRINT, SIGNAL(clicked(int)), this,
415 SLOT(print_slot()), true, i18n("Print...")); 421 SLOT(print_slot()), true, i18n("Print..."));
416 toolBar()->insertSeparator(); 422 toolBar()->insertSeparator();
417 toolBar()->insertButton(picons->loadIcon("pencil", KIcon::Toolbar), 423 toolBar()->insertButton(picons->loadIcon("pencil", KIcon::Toolbar),
418 BUTTON_TOOL_ADD, SIGNAL(clicked(int)), this, 424 BUTTON_TOOL_ADD, SIGNAL(clicked(int)), this,
419 SLOT(addPwd_slot()), true, 425 SLOT(addPwd_slot()), true,
420 i18n("Add password")); 426 i18n("Add password"));
421 toolBar()->insertButton(picons->loadIcon("edit", KIcon::Toolbar), 427 toolBar()->insertButton(picons->loadIcon("edit", KIcon::Toolbar),
422 BUTTON_TOOL_EDIT, SIGNAL(clicked(int)), this, 428 BUTTON_TOOL_EDIT, SIGNAL(clicked(int)), this,
423 SLOT(editPwd_slot()), true, 429 SLOT(editPwd_slot()), true,
@@ -1106,349 +1112,352 @@ void PwM::exportToKWallet()
1106 if (curDoc()->isDocEmpty()) { 1112 if (curDoc()->isDocEmpty()) {
1107 KMessageBox::information(this, 1113 KMessageBox::information(this,
1108 i18n 1114 i18n
1109 ("Sorry, there's nothing to export.\n" 1115 ("Sorry, there's nothing to export.\n"
1110 "Please first add some passwords."), 1116 "Please first add some passwords."),
1111 i18n("nothing to do")); 1117 i18n("nothing to do"));
1112 init->initKWalletEmu(); 1118 init->initKWalletEmu();
1113 return; 1119 return;
1114 } 1120 }
1115 curDoc()->timer()->getLock(DocTimer::id_autoLockTimer); 1121 curDoc()->timer()->getLock(DocTimer::id_autoLockTimer);
1116 KWalletIf walletIf(this); 1122 KWalletIf walletIf(this);
1117 if (walletIf.kwalletExport(curDoc())) { 1123 if (walletIf.kwalletExport(curDoc())) {
1118 KMessageBox::information(this, 1124 KMessageBox::information(this,
1119 i18n("Successfully exported the data of the current " 1125 i18n("Successfully exported the data of the current "
1120 "document to KWallet."), 1126 "document to KWallet."),
1121 i18n("Successfully exported data.")); 1127 i18n("Successfully exported data."));
1122 showStatMsg(i18n("Successfully exported data.")); 1128 showStatMsg(i18n("Successfully exported data."));
1123 } 1129 }
1124 init->initKWalletEmu(); 1130 init->initKWalletEmu();
1125 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); 1131 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer);
1126#endif // CONFIG_KWALLETIF 1132#endif // CONFIG_KWALLETIF
1127} 1133}
1128 1134
1129bool PwM::importFromGpasman() 1135bool PwM::importFromGpasman()
1130{ 1136{
1131 if (!isVirgin()) { 1137 if (!isVirgin()) {
1132 if (KMessageBox::questionYesNo(this, 1138 if (KMessageBox::questionYesNo(this,
1133 i18n("Do you want to import the data\n" 1139 i18n("Do you want to import the data\n"
1134 "into the current document? (If you\n" 1140 "into the current document? (If you\n"
1135 "select \"no\", a new document will be\n" 1141 "select \"no\", a new document will be\n"
1136 "opened.)"), 1142 "opened.)"),
1137 i18n("import into this document?")) 1143 i18n("import into this document?"))
1138 == KMessageBox::No) { 1144 == KMessageBox::No) {
1139 // import the data to a new window. 1145 // import the data to a new window.
1140 PwM *newInstance = init->createMainWnd(); 1146 PwM *newInstance = init->createMainWnd();
1141 bool ok = newInstance->importFromGpasman(); 1147 bool ok = newInstance->importFromGpasman();
1142 if (!ok) { 1148 if (!ok) {
1143 newInstance->setForceQuit(true); 1149 newInstance->setForceQuit(true);
1144 delete_and_null(newInstance); 1150 delete_and_null(newInstance);
1145 } 1151 }
1146 return ok; 1152 return ok;
1147 } 1153 }
1148 } 1154 }
1149 1155
1150 curDoc()->timer()->getLock(DocTimer::id_autoLockTimer); 1156 curDoc()->timer()->getLock(DocTimer::id_autoLockTimer);
1151 PwMerror ret; 1157 PwMerror ret;
1152 QString path(KFileDialog::getOpenFileName(QString::null, 1158 QString path(KFileDialog::getOpenFileName(QString::null,
1153 i18n("*|Gpasman or Kpasman file"), this)); 1159 i18n("*|Gpasman or Kpasman file"), this));
1154 if (path == "") 1160 if (path == "")
1155 goto cancelImport; 1161 goto cancelImport;
1156 ret = curDoc()->importFromGpasman(&path); 1162 ret = curDoc()->importFromGpasman(&path);
1157 if (ret == e_wrongPw) { 1163 if (ret == e_wrongPw) {
1158 if (KMessageBox::questionYesNo(this, 1164 if (KMessageBox::questionYesNo(this,
1159 i18n 1165 i18n
1160 ("This is probably the wrong master-password\n" 1166 ("This is probably the wrong master-password\n"
1161 "you have typed in.\n" 1167 "you have typed in.\n"
1162 "There is no real way to determine the\n" 1168 "There is no real way to determine the\n"
1163 "correctness of the password in the Gpasman\n" 1169 "correctness of the password in the Gpasman\n"
1164 "file-format. But I think this\n" 1170 "file-format. But I think this\n"
1165 "password ist wrong.\n" 1171 "password ist wrong.\n"
1166 "Do you want to continue nevertheless?"), 1172 "Do you want to continue nevertheless?"),
1167 i18n("password error")) 1173 i18n("password error"))
1168 == KMessageBox::No) { 1174 == KMessageBox::No) {
1169 goto cancelImport; 1175 goto cancelImport;
1170 } 1176 }
1171 } else if (ret != e_success) { 1177 } else if (ret != e_success) {
1172 KMessageBox::error(this, 1178 KMessageBox::error(this,
1173 i18n("Could not import file!\n" 1179 i18n("Could not import file!\n"
1174 "Do you have permission to read this file?"), 1180 "Do you have permission to read this file?"),
1175 i18n("import failed")); 1181 i18n("import failed"));
1176 goto cancelImport; 1182 goto cancelImport;
1177 } 1183 }
1178 setVirgin(false); 1184 setVirgin(false);
1179 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); 1185 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer);
1180 return true; 1186 return true;
1181 1187
1182cancelImport: 1188cancelImport:
1183 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); 1189 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer);
1184 return false; 1190 return false;
1185} 1191}
1186 1192
1187#ifdef CONFIG_KWALLETIF 1193#ifdef CONFIG_KWALLETIF
1188bool PwM::checkAndAskForKWalletEmu() 1194bool PwM::checkAndAskForKWalletEmu()
1189{ 1195{
1190 if (init->kwalletEmu()) { 1196 if (init->kwalletEmu()) {
1191 /* KWallet emulation is enabled. We can't import/export 1197 /* KWallet emulation is enabled. We can't import/export
1192 * data from/to it, while emulation is active. 1198 * data from/to it, while emulation is active.
1193 */ 1199 */
1194 if (KMessageBox::questionYesNo(this, 1200 if (KMessageBox::questionYesNo(this,
1195 i18n("KWallet emulation is enabled.\n" 1201 i18n("KWallet emulation is enabled.\n"
1196 "You can't import or export data from/to " 1202 "You can't import or export data from/to "
1197 "the original KWallet, while the emulation " 1203 "the original KWallet, while the emulation "
1198 "is active.\n" 1204 "is active.\n"
1199 "Do you want to tempoarly disable the KWallet emulation?"), 1205 "Do you want to tempoarly disable the KWallet emulation?"),
1200 i18n("Tempoarly disable KWallet emulation?")) 1206 i18n("Tempoarly disable KWallet emulation?"))
1201 == KMessageBox::Yes) { 1207 == KMessageBox::Yes) {
1202 init->initKWalletEmu(true); 1208 init->initKWalletEmu(true);
1203 PWM_ASSERT(!init->kwalletEmu()); 1209 PWM_ASSERT(!init->kwalletEmu());
1204 return true; 1210 return true;
1205 } 1211 }
1206 return false; 1212 return false;
1207 } 1213 }
1208 return true; 1214 return true;
1209} 1215}
1210#endif // CONFIG_KWALLETIF 1216#endif // CONFIG_KWALLETIF
1211 1217
1212bool PwM::importKWallet() 1218bool PwM::importKWallet()
1213{ 1219{
1214#ifdef CONFIG_KWALLETIF 1220#ifdef CONFIG_KWALLETIF
1215 if (!checkAndAskForKWalletEmu()) 1221 if (!checkAndAskForKWalletEmu())
1216 return false; 1222 return false;
1217 KWalletIf walletIf(this); 1223 KWalletIf walletIf(this);
1218 if (!isVirgin()) { 1224 if (!isVirgin()) {
1219 if (KMessageBox::questionYesNo(this, 1225 if (KMessageBox::questionYesNo(this,
1220 i18n("Do you want to import the data " 1226 i18n("Do you want to import the data "
1221 "into the current document? (If you " 1227 "into the current document? (If you "
1222 "select \"no\", a new document will be " 1228 "select \"no\", a new document will be "
1223 "opened.)"), 1229 "opened.)"),
1224 i18n("import into this document?")) 1230 i18n("import into this document?"))
1225 == KMessageBox::No) { 1231 == KMessageBox::No) {
1226 // import the data to a new window. 1232 // import the data to a new window.
1227 PwM *newInstance = init->createMainWnd(); 1233 PwM *newInstance = init->createMainWnd();
1228 bool ok = newInstance->importKWallet(); 1234 bool ok = newInstance->importKWallet();
1229 if (!ok) { 1235 if (!ok) {
1230 newInstance->setForceQuit(true); 1236 newInstance->setForceQuit(true);
1231 delete_and_null(newInstance); 1237 delete_and_null(newInstance);
1232 goto exit_fail; 1238 goto exit_fail;
1233 } else { 1239 } else {
1234 goto exit_ok; 1240 goto exit_ok;
1235 } 1241 }
1236 } 1242 }
1237 } 1243 }
1238 curDoc()->timer()->getLock(DocTimer::id_autoLockTimer); 1244 curDoc()->timer()->getLock(DocTimer::id_autoLockTimer);
1239 if (!walletIf.kwalletImport(curDoc())) { 1245 if (!walletIf.kwalletImport(curDoc())) {
1240 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); 1246 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer);
1241 showStatMsg(i18n("KWallet import failed")); 1247 showStatMsg(i18n("KWallet import failed"));
1242 goto exit_fail; 1248 goto exit_fail;
1243 } 1249 }
1244 KMessageBox::information(this, 1250 KMessageBox::information(this,
1245 i18n("Successfully imported the KWallet data " 1251 i18n("Successfully imported the KWallet data "
1246 "into the current document."), 1252 "into the current document."),
1247 i18n("successfully imported")); 1253 i18n("successfully imported"));
1248 showStatMsg(i18n("successfully imported")); 1254 showStatMsg(i18n("successfully imported"));
1249 setVirgin(false); 1255 setVirgin(false);
1250 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); 1256 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer);
1251 1257
1252exit_ok: 1258exit_ok:
1253 init->initKWalletEmu(); 1259 init->initKWalletEmu();
1254 return true; 1260 return true;
1255 1261
1256exit_fail: 1262exit_fail:
1257 init->initKWalletEmu(); 1263 init->initKWalletEmu();
1258#endif // CONFIG_KWALLETIF 1264#endif // CONFIG_KWALLETIF
1259 return false; 1265 return false;
1260} 1266}
1261 1267
1262void PwM::print_slot() 1268void PwM::print_slot()
1263{ 1269{
1264 curDoc()->timer()->getLock(DocTimer::id_autoLockTimer); 1270 curDoc()->timer()->getLock(DocTimer::id_autoLockTimer);
1265#ifndef PWM_EMBEDDED 1271#ifndef PWM_EMBEDDED
1266 PwMPrint p(curDoc(), this); 1272 PwMPrint p(curDoc(), this);
1267 p.printNow(); 1273 p.printNow();
1268#else 1274#else
1269 qDebug("PwM::print_slot , PRINTING IS NOT IMPLEMENTED"); 1275 qDebug("PwM::print_slot , PRINTING IS NOT IMPLEMENTED");
1270#endif 1276#endif
1271 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); 1277 curDoc()->timer()->putLock(DocTimer::id_autoLockTimer);
1272} 1278}
1273 1279
1274void PwM::genNewCard_slot() 1280void PwM::genNewCard_slot()
1275{ 1281{
1276#ifdef CONFIG_KEYCARD 1282#ifdef CONFIG_KEYCARD
1277 init->keycard()->genNewCard(); 1283 init->keycard()->genNewCard();
1278#endif 1284#endif
1279} 1285}
1280 1286
1281void PwM::eraseCard_slot() 1287void PwM::eraseCard_slot()
1282{ 1288{
1283#ifdef CONFIG_KEYCARD 1289#ifdef CONFIG_KEYCARD
1284 init->keycard()->eraseCard(); 1290 init->keycard()->eraseCard();
1285#endif 1291#endif
1286} 1292}
1287 1293
1288void PwM::readCardId_slot() 1294void PwM::readCardId_slot()
1289{ 1295{
1290#ifdef CONFIG_KEYCARD 1296#ifdef CONFIG_KEYCARD
1291 init->keycard()->displayKey(); 1297 init->keycard()->displayKey();
1292#endif 1298#endif
1293} 1299}
1294 1300
1295void PwM::makeCardBackup_slot() 1301void PwM::makeCardBackup_slot()
1296{ 1302{
1297#ifdef CONFIG_KEYCARD 1303#ifdef CONFIG_KEYCARD
1298 init->keycard()->makeBackupImage(); 1304 init->keycard()->makeBackupImage();
1299#endif 1305#endif
1300} 1306}
1301 1307
1302void PwM::replayCardBackup_slot() 1308void PwM::replayCardBackup_slot()
1303{ 1309{
1304#ifdef CONFIG_KEYCARD 1310#ifdef CONFIG_KEYCARD
1305 init->keycard()->replayBackupImage(); 1311 init->keycard()->replayBackupImage();
1306#endif 1312#endif
1307} 1313}
1308 1314
1309void PwM::execLauncher_slot() 1315void PwM::execLauncher_slot()
1310{ 1316{
1311 PWM_ASSERT(curDoc()); 1317 PWM_ASSERT(curDoc());
1312 if (curDoc()->isDeepLocked()) 1318 if (curDoc()->isDeepLocked())
1313 return; 1319 return;
1314 unsigned int curEntryIndex; 1320 unsigned int curEntryIndex;
1315 if (!view->getCurEntryIndex(&curEntryIndex)) 1321 if (!view->getCurEntryIndex(&curEntryIndex))
1316 return; 1322 return;
1317 bool ret = curDoc()->execLauncher(view->getCurrentCategory(), 1323 bool ret = curDoc()->execLauncher(view->getCurrentCategory(),
1318 curEntryIndex); 1324 curEntryIndex);
1319 if (ret) 1325 if (ret)
1320 showStatMsg(i18n("Executed the \"Launcher\".")); 1326 showStatMsg(i18n("Executed the \"Launcher\"."));
1321 else 1327 else
1322 showStatMsg(i18n("ERROR: Couldn't execute the \"Launcher\"!")); 1328 showStatMsg(i18n("ERROR: Couldn't execute the \"Launcher\"!"));
1323} 1329}
1324 1330
1325void PwM::goToURL_slot() 1331void PwM::goToURL_slot()
1326{ 1332{
1327 PWM_ASSERT(curDoc()); 1333 PWM_ASSERT(curDoc());
1328 if (curDoc()->isDeepLocked()) 1334 if (curDoc()->isDeepLocked())
1329 return; 1335 return;
1330 unsigned int curEntryIndex; 1336 unsigned int curEntryIndex;
1331 if (!view->getCurEntryIndex(&curEntryIndex)) 1337 if (!view->getCurEntryIndex(&curEntryIndex))
1332 return; 1338 return;
1333 bool ret = curDoc()->goToURL(view->getCurrentCategory(), 1339 bool ret = curDoc()->goToURL(view->getCurrentCategory(),
1334 curEntryIndex); 1340 curEntryIndex);
1335 if (ret) 1341 if (ret)
1336 showStatMsg(i18n("started browser with current URL.")); 1342 showStatMsg(i18n("started browser with current URL."));
1337 else 1343 else
1338 showStatMsg(i18n("ERROR: Couldn't start browser! Maybe invalid URL?")); 1344 showStatMsg(i18n("ERROR: Couldn't start browser! Maybe invalid URL?"));
1339} 1345}
1340 1346
1341void PwM::copyToClipboard(const QString &s) 1347void PwM::copyToClipboard(const QString &s)
1342{ 1348{
1343 QClipboard *cb = QApplication::clipboard(); 1349 QClipboard *cb = QApplication::clipboard();
1344#ifndef PWM_EMBEDDED 1350#ifndef PWM_EMBEDDED
1345 if (cb->supportsSelection()) 1351 if (cb->supportsSelection())
1346 cb->setText(s, QClipboard::Selection); 1352 cb->setText(s, QClipboard::Selection);
1347 cb->setText(s, QClipboard::Clipboard); 1353 cb->setText(s, QClipboard::Clipboard);
1348#else 1354#else
1349 cb->setText(s); 1355 cb->setText(s);
1350 1356
1351#endif 1357#endif
1352 1358
1353} 1359}
1354 1360
1355void PwM::showStatMsg(const QString &msg) 1361void PwM::showStatMsg(const QString &msg)
1356{ 1362{
1357#ifndef PWM_EMBEDDED 1363#ifndef PWM_EMBEDDED
1358 KStatusBar *statBar = statusBar(); 1364 KStatusBar *statBar = statusBar();
1359 statBar->message(msg, STATUSBAR_MSG_TIMEOUT * 1000); 1365 statBar->message(msg, STATUSBAR_MSG_TIMEOUT * 1000);
1360#else 1366#else
1361 qDebug("Statusbar : %s",msg.latin1()); 1367 qDebug("Statusbar : %s",msg.latin1());
1368#ifndef DESKTOP_VERSION
1369 Global::statusMessage(msg);
1370#endif
1362#endif 1371#endif
1363} 1372}
1364 1373
1365void PwM::focusInEvent(QFocusEvent *e) 1374void PwM::focusInEvent(QFocusEvent *e)
1366{ 1375{
1367 if (e->gotFocus()) { 1376 if (e->gotFocus()) {
1368 emit gotFocus(this); 1377 emit gotFocus(this);
1369 } else if (e->lostFocus()) { 1378 } else if (e->lostFocus()) {
1370 emit lostFocus(this); 1379 emit lostFocus(this);
1371 } 1380 }
1372} 1381}
1373 1382
1374 1383
1375#ifdef PWM_EMBEDDED 1384#ifdef PWM_EMBEDDED
1376 1385
1377void PwM::whatsnew_slot() 1386void PwM::whatsnew_slot()
1378{ 1387{
1379 KApplication::showFile( "KDE-Pim/Pi Version Info", "kdepim/WhatsNew.txt" ); 1388 KApplication::showFile( "KDE-Pim/Pi Version Info", "kdepim/WhatsNew.txt" );
1380} 1389}
1381 1390
1382void PwM::showLicense_slot() 1391void PwM::showLicense_slot()
1383{ 1392{
1384 KApplication::showLicence(); 1393 KApplication::showLicence();
1385} 1394}
1386 1395
1387void PwM::faq_slot() 1396void PwM::faq_slot()
1388{ 1397{
1389 KApplication::showFile( "PWM/Pi FAQ", "kdepim/pwmanager/pwmanagerFAQ.txt" ); 1398 KApplication::showFile( "PWM/Pi FAQ", "kdepim/pwmanager/pwmanagerFAQ.txt" );
1390} 1399}
1391 1400
1392void PwM::syncHowTo_slot() 1401void PwM::syncHowTo_slot()
1393{ 1402{
1394 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/SyncHowto.txt" ); 1403 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/SyncHowto.txt" );
1395} 1404}
1396 1405
1397 1406
1398void PwM::createAboutData_slot() 1407void PwM::createAboutData_slot()
1399{ 1408{
1400 QString version; 1409 QString version;
1401#include <../version> 1410#include <../version>
1402 QMessageBox::about( this, "About PwManager/Pi", 1411 QMessageBox::about( this, "About PwManager/Pi",
1403 "PwManager/Platform-independent\n" 1412 "PwManager/Platform-independent\n"
1404 "(PWM/Pi) " +version + " - " + 1413 "(PWM/Pi) " +version + " - " +
1405#ifdef DESKTOP_VERSION 1414#ifdef DESKTOP_VERSION
1406 "Desktop Edition\n" 1415 "Desktop Edition\n"
1407#else 1416#else
1408 "PDA-Edition\n" 1417 "PDA-Edition\n"
1409 "for: Zaurus 5500 / 7x0 / 8x0\n" 1418 "for: Zaurus 5500 / 7x0 / 8x0\n"
1410#endif 1419#endif
1411 1420
1412 "(c) 2004 Ulf Schenk\n" 1421 "(c) 2004 Ulf Schenk\n"
1413 "(c) 2004 Lutz Rogowski\n" 1422 "(c) 2004 Lutz Rogowski\n"
1414 "(c) 1997-2004, The KDE PIM Team\n" 1423 "(c) 1997-2004, The KDE PIM Team\n"
1415 1424
1416 "(c) Michael Buesch - main programming\nand current maintainer\nmbuesch@freenet.de\n" 1425 "(c) Michael Buesch - main programming\nand current maintainer\nmbuesch@freenet.de\n"
1417 "Matt Scifo - mscifo@o1.com\n" 1426 "Matt Scifo - mscifo@o1.com\n"
1418 "Elias Probst - elias.probst@gmx.de\n" 1427 "Elias Probst - elias.probst@gmx.de\n"
1419 "George Staikos - staikos@kde.org\n" 1428 "George Staikos - staikos@kde.org\n"
1420 "Matthew Palmer - mjp16@uow.edu.au\n" 1429 "Matthew Palmer - mjp16@uow.edu.au\n"
1421 "Olivier Sessink - gpasman@nl.linux.org\n" 1430 "Olivier Sessink - gpasman@nl.linux.org\n"
1422 "The libgcrypt developers -\nBlowfish and SHA1 algorithms\nftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt/\n" 1431 "The libgcrypt developers -\nBlowfish and SHA1 algorithms\nftp://ftp.gnupg.org/gcrypt/alpha/libgcrypt/\n"
1423 "Troy Engel - tengel@sonic.net\n" 1432 "Troy Engel - tengel@sonic.net\n"
1424 "Wickey - wickey@gmx.at\n" 1433 "Wickey - wickey@gmx.at\n"
1425 "Ian MacGregor - original documentation author.\n" 1434 "Ian MacGregor - original documentation author.\n"
1426 ); 1435 );
1427} 1436}
1428 1437
1429 1438
1430//this are the overwritten callbackmethods from the syncinterface 1439//this are the overwritten callbackmethods from the syncinterface
1431bool PwM::sync(KSyncManager* manager, QString filename, int mode) 1440bool PwM::sync(KSyncManager* manager, QString filename, int mode)
1432{ 1441{
1433 PWM_ASSERT(curDoc()); 1442 PWM_ASSERT(curDoc());
1434 1443
1435 bool ret = curDoc()->sync(manager, filename, mode); 1444 bool ret = curDoc()->sync(manager, filename, mode);
1436 1445
1437 qDebug("PwM::sync save now: ret=%i", ret); 1446 qDebug("PwM::sync save now: ret=%i", ret);
1438 1447
1439 if (ret == true) { 1448 if (ret == true) {
1440 //US BUG: what can we call here to update the view of the current doc? 1449 //US BUG: what can we call here to update the view of the current doc?
1441 //mViewManager->refreshView(); 1450 //mViewManager->refreshView();
1442 1451
1443 //US curDoc()->sync sets the dirtyFlag in case the sync was successfull. 1452 //US curDoc()->sync sets the dirtyFlag in case the sync was successfull.
1444 save(); 1453 save();
1445 } 1454 }
1446 1455
1447 return ret; 1456 return ret;
1448} 1457}
1449#endif 1458#endif
1450 1459
1451 1460
1452#ifndef PWM_EMBEDDED 1461#ifndef PWM_EMBEDDED
1453#include "pwm.moc" 1462#include "pwm.moc"
1454#endif 1463#endif