summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/korganizer/germantranslation.txt10
-rw-r--r--korganizer/koagendaitem.cpp4
-rw-r--r--korganizer/mainwindow.cpp5
3 files changed, 12 insertions, 7 deletions
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt
index 58be545..f71401e 100644
--- a/bin/kdepim/korganizer/germantranslation.txt
+++ b/bin/kdepim/korganizer/germantranslation.txt
@@ -1,1300 +1,1300 @@
1{ "10 minutes","10 Minuten" }, 1{ "10 minutes","10 Minuten" },
2{ "10th","10." }, 2{ "10th","10." },
3{ "11th","11." }, 3{ "11th","11." },
4{ "12 pm Format","12 AM/PM Format" }, 4{ "12 pm Format","12 AM/PM Format" },
5{ "12th","12." }, 5{ "12th","12." },
6{ "13th","13." }, 6{ "13th","13." },
7{ "14th","14." }, 7{ "14th","14." },
8{ "15th","15." }, 8{ "15th","15." },
9{ "16th","16." }, 9{ "16th","16." },
10{ "17th","17." }, 10{ "17th","17." },
11{ "18th","18." }, 11{ "18th","18." },
12{ "19th","19." }, 12{ "19th","19." },
13{ "1 Day","1 Tag" }, 13{ "1 Day","1 Tag" },
14{ "1 h","1 Std" }, 14{ "1 h","1 Std" },
15{ "1 (high)","1 (hoch)" }, 15{ "1 (high)","1 (hoch)" },
16{ "5 (low)","5" }, 16{ "5 (low)","5" },
17{ "1st","1." }, 17{ "1st","1." },
18{ "20th","20." }, 18{ "20th","20." },
19{ "21st","21." }, 19{ "21st","21." },
20{ "22nd","22." }, 20{ "22nd","22." },
21{ "23rd","23." }, 21{ "23rd","23." },
22{ "24:00 Hour Format","24:00 Stunden Format" }, 22{ "24:00 Hour Format","24:00 Stunden Format" },
23{ "24th","24." }, 23{ "24th","24." },
24{ "25th","25." }, 24{ "25th","25." },
25{ "26th","26." }, 25{ "26th","26." },
26{ "27th","27." }, 26{ "27th","27." },
27{ "28th","28." }, 27{ "28th","28." },
28{ "29th","29." }, 28{ "29th","29." },
29{ "2nd","2." }, 29{ "2nd","2." },
30{ "30 minutes","30 Minuten" }, 30{ "30 minutes","30 Minuten" },
31{ "30th","30." }, 31{ "30th","30." },
32{ "31st","31." }, 32{ "31st","31." },
33{ "3rd","3." }, 33{ "3rd","3." },
34{ "4th","4." }, 34{ "4th","4." },
35{ "5 (lowest)","5 (Niedrigster)" }, 35{ "5 (lowest)","5 (Niedrigster)" },
36{ "5th","5." }, 36{ "5th","5." },
37{ "6th","6." }, 37{ "6th","6." },
38{ "7th","7." }, 38{ "7th","7." },
39{ "8th","8." }, 39{ "8th","8." },
40{ "9th","9." }, 40{ "9th","9." },
41{ "About...","Über..." }, 41{ "About...","Über..." },
42{ "&Accept","&Akzeptieren" }, 42{ "&Accept","&Akzeptieren" },
43{ "Accept","Akzeptieren" }, 43{ "Accept","Akzeptieren" },
44{ "Accept A&ll","A&lles Akzepieren" }, 44{ "Accept A&ll","A&lles Akzepieren" },
45{ "Access:","Zugriff:" }, 45{ "Access:","Zugriff:" },
46{ "A corresponding event is missing in your calendar!","Ein zugehöriger Termin fehlt in ihrem Kalender!" }, 46{ "A corresponding event is missing in your calendar!","Ein zugehöriger Termin fehlt in ihrem Kalender!" },
47{ "Actions","Aktionen" }, 47{ "Actions","Aktionen" },
48{ "Add Filter","Filter Hinzufügen" }, 48{ "Add Filter","Filter Hinzufügen" },
49{ "&Add","Hinzufügen" }, 49{ "&Add","Hinzufügen" },
50{ "Add","Hinzufügen" }, 50{ "Add","Hinzufügen" },
51{ "Additional email addresses:","Zusätzliche E-Mail Adressen:" }, 51{ "Additional email addresses:","Zusätzliche E-Mail Adressen:" },
52{ "Additional email address:","Zusätzliche E-Mail Adresse:" }, 52{ "Additional email address:","Zusätzliche E-Mail Adresse:" },
53{ "&Addressbook","&Adressbuch" }, 53{ "&Addressbook","&Adressbuch" },
54{ "Address &Book...","Adress&buch..." }, 54{ "Address &Book...","Adress&buch..." },
55{ "Agenda Size","Agende Größe" }, 55{ "Agenda Size","Agende Größe" },
56{ "Agenda Size:","Größe der Agenda:" }, 56{ "Agenda Size:","Größe der Agenda:" },
57{ "Agenda view:","Agenda Ansicht:" }, 57{ "Agenda view:","Agenda Ansicht:" },
58{ "Agenda view background color:","Hintergrund der Agenda Ansicht:" }, 58{ "Agenda view background color:","Hintergrund der Agenda Ansicht:" },
59{ "All attendees","Alle Teilnehmer" }, 59{ "All attendees","Alle Teilnehmer" },
60{ "AllDayAgenda Height:","Höhe Ganztages Agenda:" }, 60{ "AllDayAgenda Height:","Höhe Ganztages Agenda:" },
61{ "All day event","Ganztägig" }, 61{ "All day event","Ganztägig" },
62{ "Anonymous","Anonym" }, 62{ "Anonymous","Anonym" },
63{ "Apply","Anwenden" }, 63{ "Apply","Anwenden" },
64{ "Apr","Apr" }, 64{ "Apr","Apr" },
65{ "April","April" }, 65{ "April","April" },
66{"Ask for every entry on conflict","Frage bei Konflikten nach"}, 66{"Ask for every entry on conflict","Frage bei Konflikten nach"},
67{ "Ask for preferences before syncing","Vor dem Syncronisieren nachfragen" }, 67{ "Ask for preferences before syncing","Vor dem Syncronisieren nachfragen" },
68{ "Ask for quit when closing KO/Pi","Vor dem Beenden von KO/Pi nachfragen" }, 68{ "Ask for quit when closing KO/Pi","Vor dem Beenden von KO/Pi nachfragen" },
69{ "Attendees","Teilnehmer" }, 69{ "Attendees","Teilnehmer" },
70{ "Aug","Aug" }, 70{ "Aug","Aug" },
71{ "August","August" }, 71{ "August","August" },
72{ "Auto-Save","Automatisches Abspeichern" }, 72{ "Auto-Save","Automatisches Abspeichern" },
73{ "Auto save delay in minutes:","Verzög.autom.Speichern in Min" }, 73{ "Auto save delay in minutes:","Verzög.autom.Speichern in Min" },
74{ "Auto saving...","Automatische Sicherung..." }, 74{ "Auto saving...","Automatische Sicherung..." },
75{ "Begin on:","Starte mit:" }, 75{ "Begin on:","Starte mit:" },
76{ "Begins on: %1","Starte mit: %1" }, 76{ "Begins on: %1","Starte mit: %1" },
77{ "<b>From:</b> %1 <b>To:</b> %2","<b>Vom:</b> %1 <b>Zum:</b> %2" }, 77{ "<b>From:</b> %1 <b>To:</b> %2","<b>Vom:</b> %1 <b>Zum:</b> %2" },
78{ "<b>On:</b> %1","<b>Am:</b> %1" }, 78{ "<b>On:</b> %1","<b>Am:</b> %1" },
79{ "<b>On:</b> %1 <b>From:S</b> %2 <b>To:</b> %3","<b>Am:</b> %1 <b>Vom:S</b> %2 <b>Zum:</b> %3" }, 79{ "<b>On:</b> %1 <b>From:S</b> %2 <b>To:</b> %3","<b>Am:</b> %1 <b>Vom:S</b> %2 <b>Zum:</b> %3" },
80{ "<b>Original event:</b><p>","<b>Original Termin:</b><p>" }, 80{ "<b>Original event:</b><p>","<b>Original Termin:</b><p>" },
81{ " - both are modified after last sync"," - beide wurden nach der letzten Syncronisation verändert" }, 81{ " - both are modified after last sync"," - beide wurden nach der letzten Syncronisation verändert" },
82{ "Busy","Belegt" }, 82{ "Busy","Belegt" },
83{ "&Cancel","Abbre&chen" }, 83{ "&Cancel","Abbre&chen" },
84{ "Cancel","Abbrechen" }, 84{ "Cancel","Abbrechen" },
85{ "Cannot delete To-Do\nwhich has children.","Kann Todo nicht löschen,\n da noch Einträge vorhanden sind" }, 85{ "Cannot delete To-Do\nwhich has children.","Kann Todo nicht löschen,\n da noch Einträge vorhanden sind" },
86{ "Can't generate mail:\nNo event selected.","Kann e-Mail nicht erstellen:\nKein Termin ausgewählt." }, 86{ "Can't generate mail:\nNo event selected.","Kann e-Mail nicht erstellen:\nKein Termin ausgewählt." },
87{ "Categories...","Kategorien..." }, 87{ "Categories...","Kategorien..." },
88{ "Categories","Kategorien" }, 88{ "Categories","Kategorien" },
89{ "Category","Kategorie" }, 89{ "Category","Kategorie" },
90{ "Center View","Zentriere Ansicht" }, 90{ "Center View","Zentriere Ansicht" },
91{ "Change","Ändere" }, 91{ "Change","Ändere" },
92{ "Cinema","Kino" }, 92{ "Cinema","Kino" },
93{ "Click to add a new Todo","Hier klicken, um ein neues Todo anzulegen" }, 93{ "Click to add a new Todo","Hier klicken, um ein neues Todo anzulegen" },
94{ "Clone Item","Klone Eintrag" }, 94{ "Clone Item","Klone Eintrag" },
95{ "&Close","S&chließen" }, 95{ "&Close","S&chließen" },
96{ "Close","Schließen" }, 96{ "Close","Schließen" },
97{ "Close this dialog to abort deletion!","Zum Abbrechen des Löschvorganges Dialog schließen!" }, 97{ "Close this dialog to abort deletion!","Zum Abbrechen des Löschvorganges Dialog schließen!" },
98{ "Colors","Farben" }, 98{ "Colors","Farben" },
99{ "completed","erledigt" }, 99{ "completed","erledigt" },
100{ "completed on %1","erledigt am %1" }, 100{ "completed on %1","erledigt am %1" },
101{ "Complete","Erledigt" }, 101{ "Complete","Erledigt" },
102{ "Confidential","Vertraulich" }, 102{ "Confidential","Vertraulich" },
103{ "Configure...","Einstellungen..." }, 103{ "Configure...","Einstellungen..." },
104{ "Confirm &deletes","Löschvogang bestätigen" }, 104{ "Confirm &deletes","Löschvogang bestätigen" },
105{ "Couldn't load calendar\n '%1'.","Kann Kalender\n '%1' nicht laden." }, 105{ "Couldn't load calendar\n '%1'.","Kann Kalender\n '%1' nicht laden." },
106{ "Counter-event Viewer","Terminzähler Ansicht" }, 106{ "Counter-event Viewer","Terminzähler Ansicht" },
107{ "Daily ending hour:","Feierabend:" }, 107{ "Daily ending hour:","Feierabend:" },
108{ "Daily starting hour:","Anfangszeit:" }, 108{ "Daily starting hour:","Anfangszeit:" },
109{ "Daily","Täglich" }, 109{ "Daily","Täglich" },
110{ "Date Format","Datums Format" }, 110{ "Date Format","Datums Format" },
111{ "Date Format:","Datums Format:" }, 111{ "Date Format:","Datums Format:" },
112{ "DateNavigator:(nr)","Datums Navigator" }, 112{ "DateNavigator:(nr)","Datums Navigator" },
113{ "Dates: ","Datum: " }, 113{ "Dates: ","Datum: " },
114{ "Date && Time","Datum && Zeit" }, 114{ "Date && Time","Datum && Zeit" },
115{ "Day begins at:","Der Tag beginnt um:" }, 115{ "Day begins at:","Der Tag beginnt um:" },
116{ "Days in Next-X-Days:","Tage in Nächste-X-Tage:" }, 116{ "Days in Next-X-Days:","Tage in Nächste-X-Tage:" },
117{ "Days in What's Next:","Tage in What's Next:" }, 117{ "Days in What's Next:","Tage in What's Next:" },
118{ "day(s)","Tag(e)" }, 118{ "day(s)","Tag(e)" },
119{ "Days to show in Next-X-Days view:","Welche Tage in Nächste-X-Tagen anzeigen:" }, 119{ "Days to show in Next-X-Days view:","Welche Tage in Nächste-X-Tagen anzeigen:" },
120{ "day","Tag" }, 120{ "day","Tag" },
121{ "Dec","Dez" }, 121{ "Dec","Dez" },
122{ "December","Dezember" }, 122{ "December","Dezember" },
123{ "Default alarm time:","Standard Alarmzeit:" }, 123{ "Default alarm time:","Standard Alarmzeit:" },
124{ "Default appointment time:","Standard Termin Startzeit:" }, 124{ "Default appointment time:","Standard Termin Startzeit:" },
125{ "Default event color:","Standard Terminfarbe:" }, 125{ "Default event color:","Standard Terminfarbe:" },
126{ "Default","Standard" }, 126{ "Default","Standard" },
127{ "Def. duration of new app.:","Standard Termin Länge:" }, 127{ "Def. duration of new app.:","Standard Termin Länge:" },
128{ "Delete all completed To-Dos?","Alle bereits erledigten Todos löschen?" }, 128{ "Delete all completed To-Dos?","Alle bereits erledigten Todos löschen?" },
129{ "Delete All","Lösche alles" }, 129{ "Delete All","Lösche alles" },
130{ "Delete all selected","Lösche alle Selektierten" }, 130{ "Delete all selected","Lösche alle Selektierten" },
131{ "Delete Current","Aktuellen löschen" }, 131{ "Delete Current","Aktuellen löschen" },
132{ "Delete Event...","Lösche Termin..." }, 132{ "Delete Event...","Lösche Termin..." },
133{ "Delete Event","Lösche Termin" }, 133{ "Delete Event","Lösche Termin" },
134{ "&Delete","Löschen" }, 134{ "&Delete","Löschen" },
135{ "Delete...","Löschen..." }, 135{ "Delete...","Löschen..." },
136{ "Delete","Löschen" }, 136{ "Delete","Löschen" },
137{ "Delete Todo...","Lösche Todo..." }, 137{ "Delete Todo...","Lösche Todo..." },
138{ "Delete To-Do","Lösche Todo" }, 138{ "Delete To-Do","Lösche Todo" },
139{ "Deleting item %d ...","Lösche Eintrag %d..." }, 139{ "Deleting item %d ...","Lösche Eintrag %d..." },
140{ "Descriptions","Beschreibungen" }, 140{ "Descriptions","Beschreibungen" },
141{ "Deselect all","Deselektiere Alle" }, 141{ "Deselect all","Deselektiere Alle" },
142{ "Details","Details" }, 142{ "Details","Details" },
143{ "Dinner","Abendessen" }, 143{ "Dinner","Abendessen" },
144{ "Do you really want\nto close KO/Pi?","Möchten Sie wirklich\nKO/PI verlassen?" }, 144{ "Do you really want\nto close KO/Pi?","Möchten Sie wirklich\nKO/PI verlassen?" },
145{ "Due Date","Fällig am" }, 145{ "Due Date","Fällig am" },
146{ "Due: ","Fällig: "}, 146{ "Due: ","Fällig: "},
147{ "Due Time","Fällig um" }, 147{ "Due Time","Fällig um" },
148{ "Due:","Fällig:"}, 148{ "Due:","Fällig:"},
149{ "Duration: ","Dauer: " }, 149{ "Duration: ","Dauer: " },
150{ "Edit...","Bearbeite..." }, 150{ "Edit...","Bearbeite..." },
151{ "Edit","Bearbeite" }, 151{ "Edit","Bearbeite" },
152{ "Edit Event...","Bearbeite Termin..." }, 152{ "Edit Event...","Bearbeite Termin..." },
153{ "Edit Event","Bearbeite Termin" }, 153{ "Edit Event","Bearbeite Termin" },
154{ "Edit exceptions","Bearbeite Ausnahmen" }, 154{ "Edit exceptions","Bearbeite Ausnahmen" },
155{ "EditorBox:","Editor Fenster:" }, 155{ "EditorBox:","Editor Fenster:" },
156{ "Edit Recurrence Range","Bearbeite Wiederholung" }, 156{ "Edit Recurrence Range","Bearbeite Wiederholung" },
157{ "Edit Todo...","Berabeite Todo..." }, 157{ "Edit Todo...","Berabeite Todo..." },
158{ "Edit To-Do","Todo bearbeiten" }, 158{ "Edit To-Do","Todo bearbeiten" },
159{ "E&mail address:","E&mail Adresse:" }, 159{ "E&mail address:","E&mail Adresse:" },
160{ "(EmptyEmail)","(KeineEmail)" }, 160{ "(EmptyEmail)","(KeineEmail)" },
161{ "(EmptyName)","(KeinName)" }, 161{ "(EmptyName)","(KeinName)" },
162{ "Enable Recurrence","Wiederholender Termin" }, 162{ "Enable Recurrence","Wiederholender Termin" },
163{ "End after","Endet nach"}, 163{ "End after","Endet nach"},
164{ "End by:","Endet am"}, 164{ "End by:","Endet am"},
165{ "End Date","End Datum" }, 165{ "End Date","End Datum" },
166{ "End:","Ende:" }, 166{ "End:","Ende:" },
167{ "End Time","End Zeit" }, 167{ "End Time","End Zeit" },
168{ "English","Englisch" }, 168{ "English","Englisch" },
169{ "Event","Termin" }, 169{ "Event","Termin" },
170{ "Event list","Termin Liste" }, 170{ "Event list","Termin Liste" },
171{ "Events","Termine" }, 171{ "Events","Termine" },
172{ "Event Viewer:","Termin Übersicht:" }, 172{ "Event Viewer:","Termin Übersicht:" },
173{ "every","jede" }, 173{ "every","jede" },
174{ "Exceptions...","Ausnahmen..." }, 174{ "Exceptions...","Ausnahmen..." },
175{ "Exceptions","Ausnahmen" }, 175{ "Exceptions","Ausnahmen" },
176{ "Exclude holidays","Ohne freie Tage" }, 176{ "Exclude holidays","Ohne freie Tage" },
177{ "Exclude Saturdays","Ohne Samstage" }, 177{ "Exclude Saturdays","Ohne Samstage" },
178{ "Feb","Feb" }, 178{ "Feb","Feb" },
179{ "February","Februar" }, 179{ "February","Februar" },
180{ "&Find","Suche!" }, 180{ "&Find","Suche!" },
181{ "Fonts","Schriftart" }, 181{ "Fonts","Schriftart" },
182{ "Force take local entry always","Erzwinge:Nimm immer lokalen Eintrag" }, 182{ "Force take local entry always","Erzwinge:Nimm immer lokalen Eintrag" },
183{ "Force take remote entry always","Erzwinge:Nimm immer fernen Eintrag"}, 183{ "Force take remote entry always","Erzwinge:Nimm immer fernen Eintrag"},
184{ "Free","Frei" }, 184{ "Free","Frei" },
185{ "Friday","Freitag" }, 185{ "Friday","Freitag" },
186{ "Fri","Fr" }, 186{ "Fri","Fr" },
187{ "From:","Vom:" }, 187{ "From:","Vom:" },
188{ "Full &name:","Vor- und &Nachname:" }, 188{ "Full &name:","Vor- und &Nachname:" },
189{ "General","Allgemein" }, 189{ "General","Allgemein" },
190{ "German","Deutsch" }, 190{ "German","Deutsch" },
191{ "Gifts","Geschenke" }, 191{ "Gifts","Geschenke" },
192{ "Go to Today","Heute anzeigen" }, 192{ "Go to Today","Heute anzeigen" },
193{ "Help","Hilfe" }, 193{ "Help","Hilfe" },
194{ "Hide Dates","Daten ausblenden" }, 194{ "Hide Dates","Daten ausblenden" },
195{ "Highlight color:","Markierungen:" }, 195{ "Highlight color:","Markierungen:" },
196{ "Holiday color:","Freie Tage:" }, 196{ "Holiday color:","Freie Tage:" },
197{ "hour(s)","Stunde(n)" }, 197{ "hour(s)","Stunde(n)" },
198{ "In %1 days: ","In %1 Tagen: " }, 198{ "In %1 days: ","In %1 Tagen: " },
199{ "Incomplete Todo:","Unerledigte Aufgaben:" }, 199{ "Incomplete Todo:","Unerledigte Aufgaben:" },
200{ "Information","Information" }, 200{ "Information","Information" },
201{ "Invalid search expression,\ncannot perform ","Kann Suche nicht ausführen" }, 201{ "Invalid search expression,\ncannot perform ","Kann Suche nicht ausführen" },
202{ "Jan","Jan" }, 202{ "Jan","Jan" },
203{ "January","Januar" }, 203{ "January","Januar" },
204{ "JournalView:","Journal Ansicht:" }, 204{ "JournalView:","Journal Ansicht:" },
205{ "Journals","Journale" }, 205{ "Journals","Journale" },
206{ "Jul","Jul" }, 206{ "Jul","Jul" },
207{ "July","Juli" }, 207{ "July","Juli" },
208{ "Jump to date","Springe zum Datum" }, 208{ "Jump to date","Springe zum Datum" },
209{ "June","Juni" }, 209{ "June","Juni" },
210{ "Jun","Jun" }, 210{ "Jun","Jun" },
211{ "Key Bindings...","Tastenzuordnung..." }, 211{ "Key Bindings...","Tastenzuordnung..." },
212{ "Kids","Kinder" }, 212{ "Kids","Kinder" },
213{ "Known Problems...","Bekannte Probleme..." }, 213{ "Known Problems...","Bekannte Probleme..." },
214{ "KO/Pi Find ","KO/Pi Suchdialog " }, 214{ "KO/Pi Find ","KO/Pi Suchdialog " },
215{ "KO/Pi Find: ","KO/Pi Suchen: " }, 215{ "KO/Pi Find: ","KO/Pi Suchen: " },
216{ "KO/Pi is starting ... "," KO/Pi startet ... \n... Zeit für eine Kaffeepause ..." }, 216{ "KO/Pi is starting ... "," KO/Pi startet ... \n... Zeit für eine Kaffeepause ..." },
217{ "Language:(needs restart)","Sprache (Neustart!)" }, 217{ "Language:(needs restart)","Sprache (Neustart!)" },
218{ "Language:","Sprache" }, 218{ "Language:","Sprache" },
219{ "Large","Etwas mehr" }, 219{ "Large","Etwas mehr" },
220{ "List View:","Listenansicht:" }, 220{ "List View:","Listenansicht:" },
221{ "List View","Listenansicht" }, 221{ "List View","Listenansicht" },
222{ "Load/Save","Laden/Speichern" }, 222{ "Load/Save","Laden/Speichern" },
223{ "Load Template","Lade Vorlage" }, 223{ "Load Template","Lade Vorlage" },
224{ "Locale","Localisation" }, 224{ "Locale","Localisation" },
225{ "Local temp file:","Lokale temp. Datei:" }, 225{ "Local temp file:","Lokale temp. Datei:" },
226{ "Location: ","Ort: " }, 226{ "Location: ","Ort: " },
227{ "Location:","Ort:" }, 227{ "Location:","Ort:" },
228{ "Mail client","Mail Programm" }, 228{ "Mail client","Mail Programm" },
229{ "Mail Client","Mail Programm" }, 229{ "Mail Client","Mail Programm" },
230{ "March","März" }, 230{ "March","März" },
231{ "Mar","Mär" }, 231{ "Mar","Mär" },
232{ "May","Mai" }, 232{ "May","Mai" },
233{ "M. Bains line:","M. Bains Linie:" }, 233{ "M. Bains line:","M. Bains Linie:" },
234{ "Medium","Medium" }, 234{ "Medium","Medium" },
235{ "Method","Methode" }, 235{ "Method","Methode" },
236{ "minute(s)","Minute(n)" }, 236{ "minute(s)","Minute(n)" },
237{ "Monday","Montag" }, 237{ "Monday","Montag" },
238{ "Mon","Mo" }, 238{ "Mon","Mo" },
239{ "Monthly","Monatlich" }, 239{ "Monthly","Monatlich" },
240{ "Month not long enough","Monat ist nicht lang genug" }, 240{ "Month not long enough","Monat ist nicht lang genug" },
241{ "month(s)","Monat(e)" }, 241{ "month(s)","Monat(e)" },
242{ "Month view:","Monatsansicht:" }, 242{ "Month view:","Monatsansicht:" },
243{ "Month view uses category colors","Monatsansicht zeigt Kategorie Farben" }, 243{ "Month view uses category colors","Monatsansicht zeigt Kategorie Farben" },
244{ "Todo view uses category colors","To-Do Ansicht zeigt Kategorie Farben" }, 244{ "Todo view uses category colors","To-Do Ansicht zeigt Kategorie Farben" },
245{ "Move &Down","Nach unten verschieben" }, 245{ "Move &Down","Nach unten verschieben" },
246{ "Move &Up","Nach oben verschieben" }, 246{ "Move &Up","Nach oben verschieben" },
247{ "Name:","Name:" }, 247{ "Name:","Name:" },
248{ "Name","Name" }, 248{ "Name","Name" },
249{ "\nAre you sure you want\nto delete this event?","\nSind Sie sicher, dass Sie\nden Termin löschen möchten?" }, 249{ "\nAre you sure you want\nto delete this event?","\nSind Sie sicher, dass Sie\nden Termin löschen möchten?" },
250{ "%n Days","%n Tage" }, 250{ "%n Days","%n Tage" },
251{ "Never","Nie" }, 251{ "Never","Nie" },
252{ "New event...","Neuer Termin..." }, 252{ "New event...","Neuer Termin..." },
253{ "New event","Neuer Termin" }, 253{ "New event","Neuer Termin" },
254{ "New Event...","Neuer Termin..." }, 254{ "New Event...","Neuer Termin..." },
255{ "New Events/Todos should","Neue Termine/Todos sollten" }, 255{ "New Events/Todos should","Neue Termine/Todos sollten" },
256{ "&New","&Neu" }, 256{ "&New","&Neu" },
257{ "New","Neu", }, 257{ "New","Neu", },
258{ "New Sub-Todo...","Neues Sub-Todo..." }, 258{ "New Sub-Todo...","Neues Sub-Todo..." },
259{ "New Todo...","Neues Todo..." }, 259{ "New Todo...","Neues Todo..." },
260{ "Next Alarm: ","Nächster Alarm: ", }, 260{ "Next Alarm: ","Nächster Alarm: ", },
261{ "&Next Day","&Nächster Tag", }, 261{ "&Next Day","&Nächster Tag", },
262{ "Next days view uses full window","Nächste-X-Tage nutzt Vollbild" }, 262{ "Next days view uses full window","Nächste-X-Tage nutzt Vollbild" },
263{ "Next month","Nächster Monat" }, 263{ "Next month","Nächster Monat" },
264{ "&Next Week","&Nächste Woche" }, 264{ "&Next Week","&Nächste Woche" },
265{ "Next year","Nächstes Jahr" }, 265{ "Next year","Nächstes Jahr" },
266{ "Next Year","Nächstes Jahr" }, 266{ "Next Year","Nächstes Jahr" },
267{ "%n h","%n Std" }, 267{ "%n h","%n Std" },
268{ "No ending date","Kein End-Datum", }, 268{ "No ending date","Kein End-Datum", },
269{ "No event, nothing to do.","Kein Termin, nichts zu tun.", }, 269{ "No event, nothing to do.","Kein Termin, nichts zu tun.", },
270{ "No event selected.","Kein Termin selektiert" }, 270{ "No event selected.","Kein Termin selektiert" },
271{ "No","Nein" }, 271{ "No","Nein" },
272{ "No program set","Kein Programm ausgewählt", }, 272{ "No program set","Kein Programm ausgewählt", },
273{ "Normal","Normal" }, 273{ "Normal","Normal" },
274{ "[No selection]","Keine Selektion", }, 274{ "[No selection]","Keine Selektion", },
275{ "No sound set","Kein Sound ausgewählt", }, 275{ "No sound set","Kein Sound ausgewählt", },
276{ "no time ","keine Zeit ", }, 276{ "no time ","keine Zeit ", },
277{ "no time","keine Zeit", }, 277{ "no time","keine Zeit", },
278{ "No Time","Keine Zeit" }, 278{ "No Time","Keine Zeit" },
279{ "November","November" }, 279{ "November","November" },
280{ "Nov","Nov", }, 280{ "Nov","Nov", },
281{ "\nThis event recurs\nover multiple dates.\n","\nDieser Termin wiederholt sich an mehreren Tagen.\n" }, 281{ "\nThis event recurs\nover multiple dates.\n","\nDieser Termin wiederholt sich an mehreren Tagen.\n" },
282{ "occurrence(s)","Vorkommen" }, 282{ "occurrence(s)","Vorkommen" },
283{ "October","Oktober" }, 283{ "October","Oktober" },
284{ "Oct","Okt", }, 284{ "Oct","Okt", },
285{ "O-due!","Ü-fällig! " }, 285{ "O-due!","Ü-fällig! " },
286{ "&OK","&OK" }, 286{ "&OK","&OK" },
287{ "Ok+Show!","Ok+Anzeigen" }, 287{ "Ok+Show!","Ok+Anzeigen" },
288{ "Organizer: %1","Organisator %1" }, 288{ "Organizer: %1","Organisator %1" },
289{ "Organizer","Organisator" }, 289{ "Organizer","Organisator" },
290{ "Owner: ","Besitzer: " }, 290{ "Owner: ","Besitzer: " },
291{ "Owner:","Besitzer:" }, 291{ "Owner:","Besitzer:" },
292{ "<p><b>Priority:</b> %2</p>","<p><b>Priorität:</b> %2</p>" }, 292{ "<p><b>Priority:</b> %2</p>","<p><b>Priorität:</b> %2</p>" },
293{ "Pick a date to display","Wähle einen Tag zum anzeigen aus" }, 293{ "Pick a date to display","Wähle einen Tag zum anzeigen aus" },
294{ "Please specify a valid due date.","Bitte gültiges Fälligkeitsdatum angeben."}, 294{ "Please specify a valid due date.","Bitte gültiges Fälligkeitsdatum angeben."},
295{ "Please specify a valid end date,\nfor example '%1'.","Bitte gültiges Enddatum angeben,\nz.B.'%1'." }, 295{ "Please specify a valid end date,\nfor example '%1'.","Bitte gültiges Enddatum angeben,\nz.B.'%1'." },
296{ "Please specify a valid start date.","Bitte gültiges Startdatum angeben." }, 296{ "Please specify a valid start date.","Bitte gültiges Startdatum angeben." },
297{ "Please specify a valid start date,\nfor example '%1'.","Bitte gültiges Startdatum angeben,\nz.B. '%1'." }, 297{ "Please specify a valid start date,\nfor example '%1'.","Bitte gültiges Startdatum angeben,\nz.B. '%1'." },
298{ "Please specify a valid start time.","Bitte gültige Startzeit angeben."}, 298{ "Please specify a valid start time.","Bitte gültige Startzeit angeben."},
299{ "Please specify a valid start time,\nfor example '%1'.","Bitte gültige Startzeit angeben,\nz.B. '%1'." }, 299{ "Please specify a valid start time,\nfor example '%1'.","Bitte gültige Startzeit angeben,\nz.B. '%1'." },
300{ "Preferences - some settings need a restart (nr)","Einstellungen - teilweise Neustart erforderlich (bn)" }, 300{ "Preferences - some settings need a restart (nr)","Einstellungen - teilweise Neustart erforderlich (bn)" },
301{ "&Previous Day","Vorheriger Tag" }, 301{ "&Previous Day","Vorheriger Tag" },
302{ "Previous month","Vorheriger Monat" }, 302{ "Previous month","Vorheriger Monat" },
303{ "Previous Month","Vorheriger Monat" }, 303{ "Previous Month","Vorheriger Monat" },
304{ "&Previous Week","Vorherige Woche" }, 304{ "&Previous Week","Vorherige Woche" },
305{ "Previous year","Vorheriges Jahr" }, 305{ "Previous year","Vorheriges Jahr" },
306{ "Previous Year","Vorheriges Jahr" }, 306{ "Previous Year","Vorheriges Jahr" },
307{ "Printing","Drucken" }, 307{ "Printing","Drucken" },
308{ "Priority:","Priorität:" }, 308{ "Priority:","Priorität:" },
309{ "Private","Privat" }, 309{ "Private","Privat" },
310{ "Proceed","Weiter" }, 310{ "Proceed","Weiter" },
311{ "Public","Öffentlich" }, 311{ "Public","Öffentlich" },
312{ "Purge","Entferne" }, 312{ "Purge","Entferne" },
313{ "Purge Completed","Entferne erledigte ToDos" }, 313{ "Purge Completed","Entferne erledigte ToDos" },
314{ "Purge To-Dos","Todos bereinigen" }, 314{ "Purge To-Dos","Todos bereinigen" },
315{ "read-only","schreibgeschützt" }, 315{ "read-only","schreibgeschützt" },
316{ "Recur every","Wiederh. alle" }, 316{ "Recur every","Wiederh. alle" },
317{ "Recur in the month of","Wiederh. im Monat" }, 317{ "Recur in the month of","Wiederh. im Monat" },
318{ "Recur on the","Wiederh. am" }, 318{ "Recur on the","Wiederh. am" },
319{ "Recur on this day","Wiederh. am diesen Tag" }, 319{ "Recur on this day","Wiederh. am diesen Tag" },
320{ "Recurrence Range...","Wiederholungs Zeitraum..." }, 320{ "Recurrence Range...","Wiederholungs Zeitraum..." },
321{ "Recurrence Range","Wiederholungs Zeitraum" }, 321{ "Recurrence Range","Wiederholungs Zeitraum" },
322{ "Recurrence Rule","Wiederholungs Regel" }, 322{ "Recurrence Rule","Wiederholungs Regel" },
323{ "Recurrence","Wiederholung" }, 323{ "Recurrence","Wiederholung" },
324{ "Recurs","Wiederholung" }, 324{ "Recurs","Wiederholung" },
325{"&Reject","Abweisen"}, 325{"&Reject","Abweisen"},
326{ "Reminder:","Alarm:" }, 326{ "Reminder:","Alarm:" },
327{ "Rem.:","Alarm:" }, 327{ "Rem.:","Alarm:" },
328{ "Rem.","Alarm:" }, 328{ "Rem.","Alarm:" },
329{ "Remote file:","Remote Datei:"}, 329{ "Remote file:","Remote Datei:"},
330{ "Remote IP:","Remote (ferne) IP:" }, 330{ "Remote IP:","Remote (ferne) IP:" },
331{ "Remote syncing (via ssh/scp) network settings ","Remote Sync (via ssh/scp) Netzwerk Einstellungen " }, 331{ "Remote syncing (via ssh/scp) network settings ","Remote Sync (via ssh/scp) Netzwerk Einstellungen " },
332{ "Remote user:","Remote Benutzer"}, 332{ "Remote user:","Remote Benutzer"},
333{ "&Remove","Entfe&rnen" }, 333{ "&Remove","Entfe&rnen" },
334{ "Remove","Entfernen" }, 334{ "Remove","Entfernen" },
335{ "Request response","Bemerkung anfordern" }, 335{ "Request response","Bemerkung anfordern" },
336{ "Role:","Rolle:" }, 336{ "Role:","Rolle:" },
337{ "Role","Rolle" }, 337{ "Role","Rolle" },
338{ "Sat","Sa" }, 338{ "Sat","Sa" },
339{ "Saturday","Samstag" }, 339{ "Saturday","Samstag" },
340{ "Search for:","Suche nach:" }, 340{ "Search for:","Suche nach:" },
341{ "Search In","Suche in" }, 341{ "Search In","Suche in" },
342{ "Search...","Suche..." }, 342{ "Search...","Suche..." },
343{ "Search","Suche" }, 343{ "Search","Suche" },
344{ "Select Addresses","Wähle Adressen" }, 344{ "Select Addresses","Wähle Adressen" },
345{ "Select all","Selektiere Alle" }, 345{ "Select all","Selektiere Alle" },
346{ "Select a month","Wähle Monat" }, 346{ "Select a month","Wähle Monat" },
347{ "Select a week","Wähle Woche" }, 347{ "Select a week","Wähle Woche" },
348{ "Select a year","Wähle Jahr" }, 348{ "Select a year","Wähle Jahr" },
349{ "Send directly","Sende direkt" }, 349{ "Send directly","Sende direkt" },
350{ "&Send Messages","&Sende Nachrichten", }, 350{ "&Send Messages","&Sende Nachrichten", },
351{ "Sep","Sep" }, 351{ "Sep","Sep" },
352{ "September","September" }, 352{ "September","September" },
353{ "Shopping","Einkaufen" }, 353{ "Shopping","Einkaufen" },
354{ "Use short date in (WN/E) view","Kurzdatum in (WN/Termin) Ansicht" }, 354{ "Use short date in (WN/E) view","Kurzdatum in (WN/Termin) Ansicht" },
355{ "Show Dates","Zeige Daten" }, 355{ "Show Dates","Zeige Daten" },
356{ "Show events that recur daily in date nav.","Zeige tägl.wiederh.Term.in Datums Nav." }, 356{ "Show events that recur daily in date nav.","Zeige tägl.wiederh.Term.in Datums Nav." },
357{ "Show Event...","Zeige Termin..." }, 357{ "Show Event...","Zeige Termin..." },
358{ "Show ev. that recur weekly in date nav.","Zeige wöch.wiederh.Term.in Datums Nav." }, 358{ "Show ev. that recur weekly in date nav.","Zeige wöch.wiederh.Term.in Datums Nav." },
359{ "Show Marcus Bains line","Zeige Marcus Bains Linie" }, 359{ "Show Marcus Bains line","Zeige Marcus Bains Linie" },
360{ "Show summary after syncing","Zeige Zusammenfassung nach Sync." }, 360{ "Show summary after syncing","Zeige Zusammenfassung nach Sync." },
361{ "Show time as:","Zeige Zeit als" }, 361{ "Show time as:","Zeige Zeit als" },
362{ "Show Todo...","Zeige To-Do" }, 362{ "Show Todo...","Zeige To-Do" },
363{ "Show topmost todo prios in What's N.:","Anz. höchster Prios in What's N.:"}, 363{ "Show topmost todo prios in What's N.:","Anz. höchster Prios in What's N.:"},
364{ "Show topmost todo prios in What's Next:","Anz. höchster Prios in What's Next:"}, 364{ "Show topmost todo prios in What's Next:","Anz. höchster Prios in What's Next:"},
365{ "Show vertical screen (Needs restart)","Vertikaler Bildschirm-Layout (Neustart!)" }, 365{ "Show vertical screen (Needs restart)","Vertikaler Bildschirm-Layout (Neustart!)" },
366{ "&Show","Zeige" }, 366{ "&Show","Zeige" },
367{ "Show...","Zeige..." }, 367{ "Show...","Zeige..." },
368{ "Show","Zeige" }, 368{ "Show","Zeige" },
369{ "Small","Klein" }, 369{ "Small","Klein" },
370{ "Sorry","Entschuldigung" }, 370{ "Sorry","Entschuldigung" },
371{"Sorry, the copy command failed!\nCommand was:\n","Der Kopierbefehl schlug fehl!\nBefehl war:\n"}, 371{"Sorry, the copy command failed!\nCommand was:\n","Der Kopierbefehl schlug fehl!\nBefehl war:\n"},
372{ "Start:","Start:" }, 372{ "Start:","Start:" },
373{ "Start Date","Start Datum" }, 373{ "Start Date","Start Datum" },
374{ "Start date: %1","Start Datum: %1" }, 374{ "Start date: %1","Start Datum: %1" },
375{ "Start Time","Start Zeit" }, 375{ "Start Time","Start Zeit" },
376{ "Status:","Status:" }, 376{ "Status:","Status:" },
377{ "Status","Status:" }, 377{ "Status","Status:" },
378{ "Summaries","Titel" }, 378{ "Summaries","Titel" },
379{ "Summary:","Titel:" }, 379{ "Summary:","Titel:" },
380{ "Summary","Titel" }, 380{ "Summary","Titel" },
381{ "Sunday","Sonntag" }, 381{ "Sunday","Sonntag" },
382{ "Sun","So" }, 382{ "Sun","So" },
383{ "Sync preferences:","Sync Einstellungen" }, 383{ "Sync preferences:","Sync Einstellungen" },
384{ "Sync Prefs","Sync Einstellungen" }, 384{ "Sync Prefs","Sync Einstellungen" },
385{ "Syncronize","Daten abgleich" }, 385{ "Syncronize","Daten abgleich" },
386{ "Take local entry on conflict","Nimm lokalen Eintrag beim Konflikt" }, 386{ "Take local entry on conflict","Nimm lokalen Eintrag beim Konflikt" },
387{ "Take newest entry on conflict","Nimm neuesten Eintrag beim Konflikt" }, 387{ "Take newest entry on conflict","Nimm neuesten Eintrag beim Konflikt" },
388{ "Take remote entry on conflict","Nimm fernen Eintrag beim Konflikt" }, 388{ "Take remote entry on conflict","Nimm fernen Eintrag beim Konflikt" },
389{ "Template '%1' does not contain a valid Todo.","Template '%1' enthält kein gültiges To-Do" }, 389{ "Template '%1' does not contain a valid Todo.","Template '%1' enthält kein gültiges To-Do" },
390{ "Template does not contain a valid Event.","Template '%1' enthält keinen gültigen Termin" }, 390{ "Template does not contain a valid Event.","Template '%1' enthält keinen gültigen Termin" },
391{ "Template...","Vorlage..." }, 391{ "Template...","Vorlage..." },
392{ "This day","Dieser Tag" }, 392{ "This day","Dieser Tag" },
393{ "This is an experimental feature. ","Dieses Feature ist experimentel" }, 393{ "This is an experimental feature. ","Dieses Feature ist experimentel" },
394{ "This item will be\npermanently deleted.","Dieser Eintrag wird\nkomplett gelöscht." }, 394{ "This item will be\npermanently deleted.","Dieser Eintrag wird\nkomplett gelöscht." },
395{ "This item will be permanently deleted.", "Dieser Eintrag wird komplett gelöscht." }, 395{ "This item will be permanently deleted.", "Dieser Eintrag wird komplett gelöscht." },
396{ "Thu","Do" }, 396{ "Thu","Do" },
397{ "Thursday","Donnerstag" }, 397{ "Thursday","Donnerstag" },
398{ "Time associated","Mit Zeit" }, 398{ "Time associated","Mit Zeit" },
399{ "Time bar:","Uhrzeit Zeile:" }, 399{ "Time bar:","Uhrzeit Zeile:" },
400{ "Time && Date","Zeit und Datum" }, 400{ "Time && Date","Zeit und Datum" },
401{ "Time Format","Zeit Format" }, 401{ "Time Format","Zeit Format" },
402{ "Time Format(nr):","Zeit Format(Neustart!)" }, 402{ "Time Format(nr):","Zeit Format(Neustart!)" },
403{ "Date Labels:","Datumsleiste:" }, 403{ "Date Labels:","Datumsleiste:" },
404{ "Time: ","Zeit: " }, 404{ "Time: ","Zeit: " },
405{ "Timezone:","Zeitzone:" }, 405{ "Timezone:","Zeitzone:" },
406{ "To: ","Bis: " }, 406{ "To: ","Bis: " },
407{ "To:","Bis:" }, 407{ "To:","Bis:" },
408{ "Today: ","Heute: " }, 408{ "Today: ","Heute: " },
409{ "Todo due today color:","Heute fällige To-Do's" }, 409{ "Todo due today color:","Heute fällige To-Do's" },
410{ "To-do items:","To-Do items:" }, 410{ "To-do items:","To-Do items:" },
411{ "Todo overdue color:","Überfällige To-Do's" }, 411{ "Todo overdue color:","Überfällige To-Do's" },
412{ "Todo","Todo" }, 412{ "Todo","Todo" },
413{ "To-do view shows completed Todos","To-do Ansicht zeigt erledigte To-dos" }, 413{ "To-do view shows completed Todos","To-do Ansicht zeigt erledigte To-dos" },
414{ "ToDoView:","Todo Ansicht:" }, 414{ "ToDoView:","Todo Ansicht:" },
415{ "Toggle Alarm","Wechsle Alarm" }, 415{ "Toggle Alarm","Wechsle Alarm" },
416{ "Toggle Allday","Umschalten Ganztag" }, 416{ "Toggle Allday","Umschalten Ganztag" },
417{ "Tomorrow: ","Morgen: " }, 417{ "Tomorrow: ","Morgen: " },
418{ "Tue","Di" }, 418{ "Tue","Di" },
419{ "Tuesday","Dienstag" }, 419{ "Tuesday","Dienstag" },
420{ "Two entries are in conflict, if: ","Zwei Einträge haben einen Konflikt, wenn:" }, 420{ "Two entries are in conflict, if: ","Zwei Einträge haben einen Konflikt, wenn:" },
421{ "Unable to find template '%1'.","Kann Vorlage '%1' nicht finden." }, 421{ "Unable to find template '%1'.","Kann Vorlage '%1' nicht finden." },
422{ "Unknown","Unbekannt" }, 422{ "Unknown","Unbekannt" },
423{ "Up","Hinauf" }, 423{ "Up","Hinauf" },
424{ "Use password (if not, ask when syncing)","Passwort: (sonst jedesmal anfragen)" }, 424{ "Use password (if not, ask when syncing)","Passwort: (sonst jedesmal anfragen)" },
425{ "User defined","Benutzerdefiniert" }, 425{ "User defined","Benutzerdefiniert" },
426{ "User long date:","Format langes Datum:" }, 426{ "User long date:","Format langes Datum:" },
427{ "User short date:","Forma kurzes Datum:" }, 427{ "User short date:","Forma kurzes Datum:" },
428{ "View","Ansicht" }, 428{ "View","Ansicht" },
429{ "View Fonts","Schriftarten Ansichten" }, 429{ "View Fonts","Schriftarten Ansichten" },
430{ "Views","Ansichten" }, 430{ "Views","Ansichten" },
431{ "Wed","Mi" }, 431{ "Wed","Mi" },
432{ "Wednesday","Mittwoch" }, 432{ "Wednesday","Mittwoch" },
433{ "Week %1","Woche %1" }, 433{ "Week %1","Woche %1" },
434{ "Weekly","Wöchentlich" }, 434{ "Weekly","Wöchentlich" },
435{ "Week starts on Sunday","Woche beginnt Sonntags" }, 435{ "Week starts on Sunday","Woche beginnt Sonntags" },
436{ "What's Next View:","What's Next Anz." }, 436{ "What's Next View:","What's Next Anz." },
437{ "What's next ?","Was kommt als nächstes?(What's Next)" }, 437{ "What's next ?","Was kommt als nächstes?(What's Next)" },
438{ "Working Hours","Tägliche Arbeitszeit" }, 438{ "Working Hours","Tägliche Arbeitszeit" },
439{ "Working hours color:","Arbeitszeit in der Agenda Ansicht:" }, 439{ "Working hours color:","Arbeitszeit in der Agenda Ansicht:" },
440{ "Write back existing entries only","Nur exisitierende Einträge zurückschreiben" }, 440{ "Write back existing entries only","Nur exisitierende Einträge zurückschreiben" },
441{ "Write back synced file","Syncronisierte Datei zurückschreiben" }, 441{ "Write back synced file","Syncronisierte Datei zurückschreiben" },
442{ "Yearly","Jährlich" }, 442{ "Yearly","Jährlich" },
443{ "year(s)","Jahr(e)" }, 443{ "year(s)","Jahr(e)" },
444{ "Yes","Ja" }, 444{ "Yes","Ja" },
445{ "You have %d item(s) selected.\n","Sie haben %d Einträge ausgewählt.\n" }, 445{ "You have %d item(s) selected.\n","Sie haben %d Einträge ausgewählt.\n" },
446{ "You have to restart KOrganizer for this setting to take effect.","Sie müssem Korganizer neu starten, damit diese Einstellung aktiviert wird." }, 446{ "You have to restart KOrganizer for this setting to take effect.","Sie müssem Korganizer neu starten, damit diese Einstellung aktiviert wird." },
447{ "week(s) on:","Woche(n) am: " }, 447{ "week(s) on:","Woche(n) am: " },
448{ "Full menu bar(nr)","Volle Menuleiste(bn)" }, 448{ "Full menu bar(nr)","Volle Menuleiste(bn)" },
449{ "Timezone has daylight saving","Zeitzone hat Sommerzeit" }, 449{ "Timezone has daylight saving","Zeitzone hat Sommerzeit" },
450{ "Actual start and end is the\nsunday before this date.","Tatsächlicher Beginn/Ende ist der\nSonntag vor diesem Datum!" }, 450{ "Actual start and end is the\nsunday before this date.","Tatsächlicher Beginn/Ende ist der\nSonntag vor diesem Datum!" },
451{ "The year in the date is ignored.","Das Jahr vom Datum wird ignoriert." }, 451{ "The year in the date is ignored.","Das Jahr vom Datum wird ignoriert." },
452{ "Daylight start:","Sommerzeit Beginn:" }, 452{ "Daylight start:","Sommerzeit Beginn:" },
453{ "Daylight end:","Sommerzeit Ende:" }, 453{ "Daylight end:","Sommerzeit Ende:" },
454{ "Time Zone","Zeitzone" }, 454{ "Time Zone","Zeitzone" },
455{ "Monday 19 April 2004: %A %d %B %Y","Montag 19 April 2004: %A %d %B %Y" }, 455{ "Monday 19 April 2004: %A %d %B %Y","Montag 19 April 2004: %A %d %B %Y" },
456{ "%A: Monday --- %a: Mon","%A: Montag --- %a: Mon" }, 456{ "%A: Monday --- %a: Mon","%A: Montag --- %a: Mon" },
457{ "minutely","minütlich" }, 457{ "minutely","minütlich" },
458{ "hourly","stündlich" }, 458{ "hourly","stündlich" },
459{ "daily","täglich" }, 459{ "daily","täglich" },
460{ "weekly","wöchentlich" }, 460{ "weekly","wöchentlich" },
461{ "monthly","monatlich" }, 461{ "monthly","monatlich" },
462{ "day-monthly","tag-monatlich" }, 462{ "day-monthly","tag-monatlich" },
463{ "month-yearly","monat-jährlich" }, 463{ "month-yearly","monat-jährlich" },
464{ "day-yearly","tag-jährlich" }, 464{ "day-yearly","tag-jährlich" },
465{ "position-yearly","pos-jährlich" }, 465{ "position-yearly","pos-jährlich" },
466{ "Edit item on doubleclick (if not, show)","Editiere mit Doppelklick(wenn nicht, zeige)" }, 466{ "Edit item on doubleclick (if not, show)","Editiere mit Doppelklick(wenn nicht, zeige)" },
467{ "Highlight current day in agenda","Hebe >>heute<< in Agenda hervor" }, 467{ "Highlight current day in agenda","Hebe >>heute<< in Agenda hervor" },
468{ "Use light color for highlight current day","Helle Farbe für >>heute<< Hervorhebung" }, 468{ "Use light color for highlight current day","Helle Farbe für >>heute<< Hervorhebung" },
469{ "Highlight selection in Time Edit","Hebe Auswahl in Zeit Edit hervor" }, 469{ "Highlight selection in Time Edit","Hebe Auswahl in Zeit Edit hervor" },
470{ "Hold fullscreen on view change","Behalte Vollbild bei Ansichswechsel" }, 470{ "Hold fullscreen on view change","Behalte Vollbild bei Ansichswechsel" },
471{ "Hold non-fullscreen on view change","Behalte Nicht-Vollbild bei Ansichtsw." }, 471{ "Hold non-fullscreen on view change","Behalte Nicht-Vollbild bei Ansichtsw." },
472{ "Event list view uses full window","Listenansicht nutzt Vollbild" }, 472{ "Event list view uses full window","Listenansicht nutzt Vollbild" },
473{ "Set agenda to DayBeginsAt on change","Setze Agenda auf TagBeginntUm bei Wechsel" }, 473{ "Set agenda to DayBeginsAt on change","Setze Agenda auf TagBeginntUm bei Wechsel" },
474{ "Set agenda to current time on change","Setze Agenda auf gegenw.Zeit bei Wechsel" }, 474{ "Set agenda to current time on change","Setze Agenda auf gegenw.Zeit bei Wechsel" },
475{ "Listview uses monthly timespan","Listenansicht zeigt monatliche Zeitspanne" }, 475{ "Listview uses monthly timespan","Listenansicht zeigt monatliche Zeitspanne" },
476{ "ViewChange","Ansichtswechsel" }, 476{ "ViewChange","Ansichtswechsel" },
477{ "Default alarm *.wav file:","Standard Alarm *.wav Datei:" }, 477{ "Default alarm *.wav file:","Standard Alarm *.wav Datei:" },
478{ "This setting is useless for 5500 user!","Diese Einst. ist nutzlos für 5500 Nutzer" }, 478{ "This setting is useless for 5500 user!","Diese Einst. ist nutzlos für 5500 Nutzer" },
479{ "File","Datei" }, 479{ "File","Datei" },
480{ "Clone...","Dupliziere.." }, 480{ "Clone...","Dupliziere.." },
481{ "Move...","Bewege..." }, 481{ "Move...","Bewege..." },
482{ "Beam...","Sende via IR..." }, 482{ "Beam...","Sende via IR..." },
483{ "&Clone...","Dupliziere.." }, 483{ "&Clone...","Dupliziere.." },
484{ "&Move...","Bewege..." }, 484{ "&Move...","Bewege..." },
485{ "&Beam...","Sende via IR..." }, 485{ "&Beam...","Sende via IR..." },
486{ "Show Completed","Zeige erledigte Todos" }, 486{ "Show Completed","Zeige erledigte Todos" },
487{ "Show Quick Todo","Zeige Quick Todo" }, 487{ "Show Quick Todo","Zeige Quick Todo" },
488{ "Unparent Todo","Un-sub Todo" }, 488{ "Unparent Todo","Un-sub Todo" },
489{ "Save selected to file...","Speichere Selektierte..." }, 489{ "Save selected to file...","Speichere Selektierte..." },
490{ "Add Categ. to selected...","Füge zu Selekt. Kateg. hinzu..." }, 490{ "Add Categ. to selected...","Füge zu Selekt. Kateg. hinzu..." },
491{ "Set Categ. for selected...","Setze Kateg. für Selekt." }, 491{ "Set Categ. for selected...","Setze Kateg. für Selekt." },
492{ "Beam selected via IR","Sende Selekt. via IR..." }, 492{ "Beam selected via IR","Sende Selekt. via IR..." },
493{ "Search","Suchen" }, 493{ "Search","Suchen" },
494{ "Date Picker","Datum auswählen" }, 494{ "Date Picker","Datum auswählen" },
495{ "Day View","Tagesansicht" }, 495{ "Day View","Tagesansicht" },
496{ "Work Week","Arbeitswoche" }, 496{ "Work Week","Arbeitswoche" },
497{ "Week","Wochenansicht" }, 497{ "Week","Wochenansicht" },
498{ "Month","Monatsansicht" }, 498{ "Month","Monatsansicht" },
499{ "Todo View","Todo Liste" }, 499{ "Todo View","Todo Liste" },
500{ "Journal","Journal Ansicht" }, 500{ "Journal","Journal Ansicht" },
501{ "Next days","Nächste Tage" }, 501{ "Next days","Nächste Tage" },
502{ "Print agenda selection...","Drucke Agendaselektion..." }, 502{ "Print agenda selection...","Drucke Agendaselektion..." },
503{ "Toggle DateNavigator","Navigator umschalten" }, 503{ "Toggle DateNavigator","Navigator umschalten" },
504{ "Toggle FilterView","Filteransicht umschalten" }, 504{ "Toggle FilterView","Filteransicht umschalten" },
505{ "Prev. month","Vorheriger Monat" }, 505{ "Prev. month","Vorheriger Monat" },
506{ "Go backward","Gehe zurück" }, 506{ "Go backward","Gehe zurück" },
507{ "Go forward","Gehe weiter" }, 507{ "Go forward","Gehe weiter" },
508{ "Synchronize","Synchronisieren" }, 508{ "Synchronize","Synchronisieren" },
509{ "AgendaSize","Agendagröße" }, 509{ "AgendaSize","Agendagröße" },
510{ "Import (*.ics/*.vcs) file","Importiere (*.ics/*.vcs) Datei" }, 510{ "Import (*.ics/*.vcs) file","Importiere (*.ics/*.vcs) Datei" },
511{ "Import last file","Importiere letzte Datei" }, 511{ "Import last file","Importiere letzte Datei" },
512{ "Import Opie/Qtopia Cal.","Importiere Opie/Qtopia Kal." }, 512{ "Import Opie/Qtopia Cal.","Importiere Opie/Qtopia Kal." },
513{ "Load Calendar Backup","Lade Kalender Backup" }, 513{ "Load Calendar Backup","Lade Kalender Backup" },
514{ "Save Calendar Backup","Speichere Kalender Backup" }, 514{ "Save Calendar Backup","Speichere Kalender Backup" },
515{ "Export VCalendar","Exportiere VCalendar" }, 515{ "Export VCalendar","Exportiere VCalendar" },
516{ "Manage new categories...","Verwalte neue Kategorien..." }, 516{ "Manage new categories...","Verwalte neue Kategorien..." },
517{ "Beam complete calendar...","Sende kompletten Kalender via IR" }, 517{ "Beam complete calendar...","Sende kompletten Kalender via IR" },
518{ "Beam filtered calendar...","Sende gefilterten Kalender via IR" }, 518{ "Beam filtered calendar...","Sende gefilterten Kalender via IR" },
519{ "Remote via ssh","Über Netzwerk via ssh" }, 519{ "Remote via ssh","Über Netzwerk via ssh" },
520{ "With local file","Mit lokaler Datei" }, 520{ "With local file","Mit lokaler Datei" },
521{ "With last file","Mit letzter Datei" }, 521{ "With last file","Mit letzter Datei" },
522{ "KO/Pi: Ready for beaming","KO/Pi: Bereit zum Senden" }, 522{ "KO/Pi: Ready for beaming","KO/Pi: Bereit zum Senden" },
523{ "KO/Pi:Beaming done","KO/Pi: Senden erfolgt" }, 523{ "KO/Pi:Beaming done","KO/Pi: Senden erfolgt" },
524{ "Save filename","Speichern: Dateinamen wählen" }, 524{ "Save filename","Speichern: Dateinamen wählen" },
525{ "File already exists!\nOld file from:\n%1\nOverwrite?\n","Dateiname existiert bereits!\nAlte Datei vom:\n%1\nÜberschreiben?\n" }, 525{ "File already exists!\nOld file from:\n%1\nOverwrite?\n","Dateiname existiert bereits!\nAlte Datei vom:\n%1\nÜberschreiben?\n" },
526{ "KO/Pi: Warning!","KO/Pi: Warnung!" }, 526{ "KO/Pi: Warning!","KO/Pi: Warnung!" },
527{ "Overwrite!","Überschreibe!" }, 527{ "Overwrite!","Überschreibe!" },
528{ "KO/Pi:Saved %1","KO/Pi:Gespeichert %1" }, 528{ "KO/Pi:Saved %1","KO/Pi:Gespeichert %1" },
529{ "All selected items will be\npermanently deleted.\n(Deleting items will take\nsome time on a PDA)\n","Alle selektierten Einträge werden\nunwiederbringlich gelöscht.\n(Löschen kann auf dem\nPDA einige Zeit dauern)\n" }, 529{ "All selected items will be\npermanently deleted.\n(Deleting items will take\nsome time on a PDA)\n","Alle selektierten Einträge werden\nunwiederbringlich gelöscht.\n(Löschen kann auf dem\nPDA einige Zeit dauern)\n" },
530{ "KO/Pi Confirmation","KO/Pi Bestätigung" }, 530{ "KO/Pi Confirmation","KO/Pi Bestätigung" },
531{ "Close dialog to abort deletion!","Schließe Dialog um das Löschen abzubrechen!" }, 531{ "Close dialog to abort deletion!","Schließe Dialog um das Löschen abzubrechen!" },
532{ "Deleting item %d ...","Lösche Eintrag %d ..." }, 532{ "Deleting item %d ...","Lösche Eintrag %d ..." },
533{ "%d items remaining in list.","%d Einträge sind in der Liste verblieben." }, 533{ "%d items remaining in list.","%d Einträge sind in der Liste verblieben." },
534{ "Size","Größe" }, 534{ "Size","Größe" },
535{ "Date","Datum" }, 535{ "Date","Datum" },
536{ "Mime Type","Datei Typ" }, 536{ "Mime Type","Datei Typ" },
537{ "All Files","Alle Dateien" }, 537{ "All Files","Alle Dateien" },
538{ "Files","Dateien" }, 538{ "Files","Dateien" },
539{ "Documents","DoKumente" }, 539{ "Documents","DoKumente" },
540{ "Select Categories","Selektiere Kategorien" }, 540{ "Select Categories","Selektiere Kategorien" },
541{ " &Deselect All "," Auswahl aufheben " }, 541{ " &Deselect All "," Auswahl aufheben " },
542{ "A&dd","Hinzu" }, 542{ "A&dd","Hinzu" },
543{ "&Modify","Ändern" }, 543{ "&Modify","Ändern" },
544{ "Edit Categories","Editiere Kategorien" }, 544{ "Edit Categories","Editiere Kategorien" },
545{ " &Edit Categories "," &Editiere Kategorien " }, 545{ " &Edit Categories "," &Editiere Kategorien " },
546{ "Beam Options","Beam Einstellungen" }, 546{ "Beam Options","Beam Einstellungen" },
547{ " With timezone "," Mit Zeitzone " }, 547{ " With timezone "," Mit Zeitzone " },
548{ " Local time ", " Lokale Zeit " }, 548{ " Local time ", " Lokale Zeit " },
549{ "Manage new Categories","Verwalte neue Kategorien" }, 549{ "Manage new Categories","Verwalte neue Kategorien" },
550{ "Add to category list","Füge zur Kategorieliste hinzu" }, 550{ "Add to category list","Füge zur Kategorieliste hinzu" },
551{ "Remove from Events/Todos","Entferne von Terminen/Todos" }, 551{ "Remove from Events/Todos","Entferne von Terminen/Todos" },
552{ "After importing/loading/syncing\nthere may be new categories in\nevents or todos\nwhich are not in the category list.\nPlease choose what to do:\n ","Nach dem Importieren/Laden/Syncen\nkann es neue Kategorien in den \nTerminen oder Todos geben, die nicht\nin der Kategorieliste enthalten sind.\nBitte wählen Sie, was passieren soll:\n " }, 552{ "After importing/loading/syncing\nthere may be new categories in\nevents or todos\nwhich are not in the category list.\nPlease choose what to do:\n ","Nach dem Importieren/Laden/Syncen\nkann es neue Kategorien in den \nTerminen oder Todos geben, die nicht\nin der Kategorieliste enthalten sind.\nBitte wählen Sie, was passieren soll:\n " },
553{ "New categories not in list:","Kategorien, die nicht in der Liste sind:" }, 553{ "New categories not in list:","Kategorien, die nicht in der Liste sind:" },
554{ "File format","Datei Format" }, 554{ "File format","Datei Format" },
555{ "Time format","Zeit Format" }, 555{ "Time format","Zeit Format" },
556{ "Delete all\ncompleted To-Dos?","Lösche alle\nerledigten To-Dos?" }, 556{ "Delete all\ncompleted To-Dos?","Lösche alle\nerledigten To-Dos?" },
557{ "KO/Pi:Saving Data to File ...","KO/Pi: Speichere Kalender in Datei ..." }, 557{ "KO/Pi:Saving Data to File ...","KO/Pi: Speichere Kalender in Datei ..." },
558{ "KO/Pi:File Saved. Needed %d sec, %d ms","KO/Pi: Abgespeichert in %d sec, %d ms" }, 558{ "KO/Pi:File Saved. Needed %d sec, %d ms","KO/Pi: Abgespeichert in %d sec, %d ms" },
559{ "h","Std" }, 559{ "h","Std" },
560{ "min","Min" }, 560{ "min","Min" },
561{ "hou","Std" }, 561{ "hou","Std" },
562{ "day","Tag" }, 562{ "day","Tag" },
563{ "French","Französich" }, 563{ "French","Französich" },
564{ "Time","Zeit" }, 564{ "Time","Zeit" },
565{ "Event Viewer","Termin Ansicht" }, 565{ "Event Viewer","Termin Ansicht" },
566{ "Cancel Sync","Sync Abbrechen" }, 566{ "Cancel Sync","Sync Abbrechen" },
567{ "Remote","Fern" }, 567{ "Remote","Fern" },
568{ "Local","Lokal" }, 568{ "Local","Lokal" },
569{ "Conflict! Please choose entry","Konflikt! Bitte Eintrag wählen" }, 569{ "Conflict! Please choose entry","Konflikt! Bitte Eintrag wählen" },
570{ "Local: ","Lokal: " }, 570{ "Local: ","Lokal: " },
571{ "Remote: ","Fern: " }, 571{ "Remote: ","Fern: " },
572{ "Last modified: ","Zuletzt geändert: " }, 572{ "Last modified: ","Zuletzt geändert: " },
573{ "Location: ","Ort: " }, 573{ "Location: ","Ort: " },
574{ "<p><b>From:</b> %1 </p><p><b>To:</b> %2</p>","<p><b>Von:</b> %1 </p><p><b>Bis:</b> %2</p>" }, 574{ "<p><b>From:</b> %1 </p><p><b>To:</b> %2</p>","<p><b>Von:</b> %1 </p><p><b>Bis:</b> %2</p>" },
575{ "<p><b>On:</b> %1</p>","<p><b>Am:</b> %1</p>" }, 575{ "<p><b>On:</b> %1</p>","<p><b>Am:</b> %1</p>" },
576{ "<p><b>From:</b> %1</p> ","<p><b>Von:</b> %1</p> " }, 576{ "<p><b>From:</b> %1</p> ","<p><b>Von:</b> %1</p> " },
577{ "<p><b>To:</b> %1</p>","<p><b>Bis:</b> %1</p>" }, 577{ "<p><b>To:</b> %1</p>","<p><b>Bis:</b> %1</p>" },
578{ "<p><b>On:</b> %1</p> ","<p><b>Am:</b> %1</p> " }, 578{ "<p><b>On:</b> %1</p> ","<p><b>Am:</b> %1</p> " },
579{ "<p><b>From:</b> %1 <b>To:</b> %2</p>","<p><b>Von:</b> %1 <b>Bis:</b> %2</p>" }, 579{ "<p><b>From:</b> %1 <b>To:</b> %2</p>","<p><b>Von:</b> %1 <b>Bis:</b> %2</p>" },
580{ "This is a %1 recurring event.","Das ist ein %1 wiederholender Termin." }, 580{ "This is a %1 recurring event.","Das ist ein %1 wiederholender Termin." },
581{ "<b>Next recurrence is on:</b>","<b>Nächste Wiederholung ist am:</b>" }, 581{ "<b>Next recurrence is on:</b>","<b>Nächste Wiederholung ist am:</b>" },
582{ "<b>Last recurrence was on:</b>","<b>Letzte Wiederholung war am:</b>" }, 582{ "<b>Last recurrence was on:</b>","<b>Letzte Wiederholung war am:</b>" },
583{ "( %1 min before )","( %1 min vorher )" }, 583{ "( %1 min before )","( %1 min vorher )" },
584{ "<b>Alarm on: ","<b>Alarm am: " }, 584{ "<b>Alarm on: ","<b>Alarm am: " },
585{ "<b>Details: </b>","<b>Details: </b>" }, 585{ "<b>Details: </b>","<b>Details: </b>" },
586{ "<p><b>Priority:</b> %2</p>","<p><b>Priorität:</b> %2</p>" }, 586{ "<p><b>Priority:</b> %2</p>","<p><b>Priorität:</b> %2</p>" },
587{ "<p><i>%1 % completed</i></p>","<p><i>%1 % erledigt</i></p>" }, 587{ "<p><i>%1 % completed</i></p>","<p><i>%1 % erledigt</i></p>" },
588{ "Organizer","Organisator" }, 588{ "Organizer","Organisator" },
589{ "Save","Speichern" }, 589{ "Save","Speichern" },
590{ "Exit (+save)","Beenden (+ speichern)" }, 590{ "Exit (+save)","Beenden (+ speichern)" },
591{ "Home","Zuhause" }, 591{ "Home","Zuhause" },
592{ "Office","Büro" }, 592{ "Office","Büro" },
593{ "Libary","Bücherei" }, 593{ "Libary","Bücherei" },
594{ "Doctor","Arzt" }, 594{ "Doctor","Arzt" },
595{ "Beach","Strand" }, 595{ "Beach","Strand" },
596{ "Conference room","Konferenzraum" }, 596{ "Conference room","Konferenzraum" },
597{ "Drive Home","Heimfahrt" }, 597{ "Drive Home","Heimfahrt" },
598{ "Watch TV","Tv gucken" }, 598{ "Watch TV","Tv gucken" },
599{ "Phone call","Telefonanruf" }, 599{ "Phone call","Telefonanruf" },
600{ "Pay bill","Rechnung bezahlen" }, 600{ "Pay bill","Rechnung bezahlen" },
601{ "Read book","Buch lesen" }, 601{ "Read book","Buch lesen" },
602{ "Watering plants","Pflanzen giessen" }, 602{ "Watering plants","Pflanzen giessen" },
603{"Appointment","Verabredung" }, 603{"Appointment","Verabredung" },
604{"Birthday","Geburtstag" }, 604{"Birthday","Geburtstag" },
605{"Business","Geschäft" }, 605{"Business","Geschäft" },
606{"Business Travel","Geschäftsreise" }, 606{"Business Travel","Geschäftsreise" },
607{"Cinema","Kino" }, 607{"Cinema","Kino" },
608{"Customer","Kunde" }, 608{"Customer","Kunde" },
609{"Break","Pause" }, 609{"Break","Pause" },
610{"Breakfast","Frühstück" }, 610{"Breakfast","Frühstück" },
611{"Competition","Wettkampf" }, 611{"Competition","Wettkampf" },
612{"Dinner","Abendessen" }, 612{"Dinner","Abendessen" },
613{"Education","Erziehung" }, 613{"Education","Erziehung" },
614{"Family","Familie" }, 614{"Family","Familie" },
615{"Favorites","Favoriten" }, 615{"Favorites","Favoriten" },
616{"Festival","Festival" }, 616{"Festival","Festival" },
617{"Fishing","Angeln" }, 617{"Fishing","Angeln" },
618{"Flight","Flug" }, 618{"Flight","Flug" },
619{"Gifts","Geschenk" }, 619{"Gifts","Geschenk" },
620{"Holiday","Feiertag" }, 620{"Holiday","Feiertag" },
621{"Holiday Cards","Ansichtskarten" }, 621{"Holiday Cards","Ansichtskarten" },
622{"Hot Contacts","Heisse Kontakte" }, 622{"Hot Contacts","Heisse Kontakte" },
623{"Hiking","Wandern" }, 623{"Hiking","Wandern" },
624{"Hunting","Jagen" }, 624{"Hunting","Jagen" },
625{"Key Customer","Wichtiger Kunde" }, 625{"Key Customer","Wichtiger Kunde" },
626{"Kids","Kinder" }, 626{"Kids","Kinder" },
627{"Lunch","Mittagessen" }, 627{"Lunch","Mittagessen" },
628{"Meeting","Treffen" }, 628{"Meeting","Treffen" },
629{"Miscellaneous","Verschiedenes" }, 629{"Miscellaneous","Verschiedenes" },
630{"Partner","Partner" }, 630{"Partner","Partner" },
631{"Party","Partie" }, 631{"Party","Partie" },
632{"Personal","Privat" }, 632{"Personal","Privat" },
633{"Personal Travel","Privatreise"}, 633{"Personal Travel","Privatreise"},
634{"PHB","PHB" }, 634{"PHB","PHB" },
635{"Phone Calls","Telefonanruf" }, 635{"Phone Calls","Telefonanruf" },
636{"Projects","Projekt" }, 636{"Projects","Projekt" },
637{"Recurring","Wiederholend" }, 637{"Recurring","Wiederholend" },
638{"School","Schule" }, 638{"School","Schule" },
639{"Shopping","Einkaufen" }, 639{"Shopping","Einkaufen" },
640{"Speach","Rede" }, 640{"Speach","Rede" },
641{"Special Occasion","Spez.Gelegenheit" }, 641{"Special Occasion","Spez.Gelegenheit" },
642{"Sports","Sport" }, 642{"Sports","Sport" },
643{"Talk","Vortrag" }, 643{"Talk","Vortrag" },
644{"Travel","Reise" }, 644{"Travel","Reise" },
645{"TV","TV" }, 645{"TV","TV" },
646{"Germany","Deutschland" }, 646{"Germany","Deutschland" },
647{"Sweden","Schweden" }, 647{"Sweden","Schweden" },
648{"Forest","Wald" }, 648{"Forest","Wald" },
649{ "Desert","Wüste" }, 649{ "Desert","Wüste" },
650{ "Kitchen","Küche" }, 650{ "Kitchen","Küche" },
651{ "Lake","See" }, 651{ "Lake","See" },
652{"University","Universität"}, 652{"University","Universität"},
653{"Vacation","Urlaub" }, 653{"Vacation","Urlaub" },
654{"VIP","VIP" }, 654{"VIP","VIP" },
655{ "Import Sharp Calendar","Importiere Sharp Kalender" }, 655{ "Import Sharp Calendar","Importiere Sharp Kalender" },
656{ "This todo has been cancelled!","Dieses Todo wurde gecancelt!" }, 656{ "This todo has been cancelled!","Dieses Todo wurde gecancelt!" },
657{ "This event has been cancelled!","Dieser Termin wurde gecancelt!" }, 657{ "This event has been cancelled!","Dieser Termin wurde gecancelt!" },
658{ "Cancelled","Gecancelt" }, 658{ "Cancelled","Gecancelt" },
659{ "Multiple sync","Mehrfach Sync" }, 659{ "Multiple sync","Mehrfach Sync" },
660{ "Local file","Lokale Datei" }, 660{ "Local file","Lokale Datei" },
661{ "Last file","Letzte Datei" }, 661{ "Last file","Letzte Datei" },
662{ "Keys + Colors...","Tasten + Farben..." }, 662{ "Keys + Colors...","Tasten + Farben..." },
663{ "Mini icons in toolbar(nr)","Mini Icons in ToolBar(bn)" }, 663{ "Mini icons in toolbar(nr)","Mini Icons in ToolBar(bn)" },
664{ "Quick load/save (w/o Unicode)","Schnelles Laden/Speichern (o Unicode)" }, 664{ "Quick load/save (w/o Unicode)","Schnelles Laden/Speichern (o Unicode)" },
665{ "Choose...","Wähle..." }, 665{ "Choose...","Wähle..." },
666{ "Use colors for application:","Setze Farben für Programm:" }, 666{ "Use colors for application:","Setze Farben für Programm:" },
667{ "Buttons, menus, etc.:","Knöpfe, Menu, etc.:" }, 667{ "Buttons, menus, etc.:","Knöpfe, Menu, etc.:" },
668{ "Frames, labels, etc.:","Rahmen, Label, etc.:" }, 668{ "Frames, labels, etc.:","Rahmen, Label, etc.:" },
669{ "Show parent To-Do's in What's Next view","Zeige Ober-Todo in What's Next Anz." }, 669{ "Show parent To-Do's in What's Next view","Zeige Ober-Todo in What's Next Anz." },
670{ "Show location in What's Next view","Zeige Ort in What's Next Anz." }, 670{ "Show location in What's Next view","Zeige Ort in What's Next Anz." },
671{ "Show events that recur ","Zeige Termine, die sich wiederholen:" }, 671{ "Show events that recur ","Zeige Termine, die sich wiederholen:" },
672{ "Show in every cell ","Zeige in jeder Zelle " }, 672{ "Show in every cell ","Zeige in jeder Zelle " },
673{ "short month","kurzen Monat" }, 673{ "short month","kurzen Monat" },
674{ "icons","Icons" }, 674{ "icons","Icons" },
675{ "Show Sat/Sun together","Zeige Sam/Son zusammen" }, 675{ "Show Sat/Sun together","Zeige Sam/Son zusammen" },
676{ "Categorie colors are applied to text","Kategorie Farben färben Text" }, 676{ "Categorie colors are applied to text","Kategorie Farben färben Text" },
677{ "Month view uses day colors","Monatsansicht zeigt Tagesfarben" }, 677{ "Month view uses day colors","Monatsansicht zeigt Tagesfarben" },
678{ "Day color odd months","Tagesfarbe ungerade Monate" }, 678{ "Day color odd months","Tagesfarbe ungerade Monate" },
679{ "Day color even months","Tagesfarbe gerade Monate" }, 679{ "Day color even months","Tagesfarbe gerade Monate" },
680{ "Color for Sundays + category \"Holiday\"","Farbe für Sonntag + Kateg.\" Feiertag\"" }, 680{ "Color for Sundays + category \"Holiday\"","Farbe für Sonntag + Kateg.\" Feiertag\"" },
681{ "To-do view shows complete as 'xx %'","Zeige Prozent erledigt als 'xx %'" }, 681{ "To-do view shows complete as 'xx %'","Zeige Prozent erledigt als 'xx %'" },
682{ "Small To-do view uses smaller font","Kleine To-do Ansicht nutzt kleineren Font" }, 682{ "Small To-do view uses smaller font","Kleine To-do Ansicht nutzt kleineren Font" },
683{ "Colors are applied to text","Farben werden auf Text angewendet" }, 683{ "Colors are applied to text","Farben werden auf Text angewendet" },
684{ "Use internal alarm notification","Nutze interne Alarm Benachrichtigung" }, 684{ "Use internal alarm notification","Nutze interne Alarm Benachrichtigung" },
685{ "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" }, 685{ "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" },
686{ "Play beeps count:","Anzahl der Alarmpiepse: " }, 686{ "Play beeps count:","Anzahl der Alarmpiepse: " },
687{ "Beeps interval in sec:","Zeitintervall der Alarmpiepse: " }, 687{ "Beeps interval in sec:","Zeitintervall der Alarmpiepse: " },
688{ "Default suspend time in min:","Standard Supendierungs Zeit: " }, 688{ "Default suspend time in min:","Standard Supendierungs Zeit: " },
689{ "Auto suspend count:","Anzahl der auto Suspendierungen" }, 689{ "Auto suspend count:","Anzahl der auto Suspendierungen" },
690{ "Alarm *.wav file for newly created alarm:","Alarm *.wav Datei für neu angelegte Alarme:" }, 690{ "Alarm *.wav file for newly created alarm:","Alarm *.wav Datei für neu angelegte Alarme:" },
691{ "New profile","Neues Profil" }, 691{ "New profile","Neues Profil" },
692{ "Clone profile","Klone Profil" }, 692{ "Clone profile","Klone Profil" },
693{ "Delete profile","Lösche Profil" }, 693{ "Delete profile","Lösche Profil" },
694{ "Profile:","Profil:" }, 694{ "Profile:","Profil:" },
695{ "Include in multiple sync","Beziehe Profil in mehrfach Sync mit ein" }, 695{ "Include in multiple sync","Beziehe Profil in mehrfach Sync mit ein" },
696{ "Force: Take local entry always","Erzwinge: Nimm immer lokalen Eintrag" }, 696{ "Force: Take local entry always","Erzwinge: Nimm immer lokalen Eintrag" },
697{ "Force: Take remote entry always","Erzwinge: Nimm immer fernen Eintrag" }, 697{ "Force: Take remote entry always","Erzwinge: Nimm immer fernen Eintrag" },
698{ "Show summary after sync","Zeige Zusammenfassung nach dem Synchronisieren" }, 698{ "Show summary after sync","Zeige Zusammenfassung nach dem Synchronisieren" },
699{ "Write back file","Schreibe Datei zurück" }, 699{ "Write back file","Schreibe Datei zurück" },
700{ "Remote file (w down/upload command)","Entfernte Datei (via down/upload Kommando)" }, 700{ "Remote file (w down/upload command)","Entfernte Datei (via down/upload Kommando)" },
701{ "Pre sync (download) command:","Bevor Sync (download) Kommando:" }, 701{ "Pre sync (download) command:","Bevor Sync (download) Kommando:" },
702{ "Local device name:","Name dieses Gerätes:" }, 702{ "Local device name:","Name dieses Gerätes:" },
703{ "Ask for preferences before sync","Frage nach Synchronisationseinstellungen vor dem Syncen" }, 703{ "Ask for preferences before sync","Frage nach Synchronisationseinstellungen vor dem Syncen" },
704{ "Sync preferences","Synchronisations Einstellungen" }, 704{ "Sync preferences","Synchronisations Einstellungen" },
705{ "Profile kind","Profil Art" }, 705{ "Profile kind","Profil Art" },
706{ "Local file","Lokale Datei" }, 706{ "Local file","Lokale Datei" },
707{ "Local file:","Lokale Datei:" }, 707{ "Local file:","Lokale Datei:" },
708{ "Post sync (upload) command:","Nach Sync (upload) Kommando:" }, 708{ "Post sync (upload) command:","Nach Sync (upload) Kommando:" },
709{ "Fill in default values for:","Setze Beispiel Werte ein für:" }, 709{ "Fill in default values for:","Setze Beispiel Werte ein für:" },
710{ "Hint: Use $PWD$ for placeholder of password!","Hinweis: Benutze $PWD$ als Platzhalter für ein Passwort!" }, 710{ "Hint: Use $PWD$ for placeholder of password!","Hinweis: Benutze $PWD$ als Platzhalter für ein Passwort!" },
711{ "Synchronization Preferences","Einstellungen der Synchronisationsprofile"}, 711{ "Synchronization Preferences","Einstellungen der Synchronisationsprofile"},
712{ "Device","Gerät:" }, 712{ "Device","Gerät:" },
713{ "Sync with file \n...%1\nfrom:\n%2\n","Sync mit Datei \n...%1\nvom:\n%2\n" }, 713{ "Sync with file \n...%1\nfrom:\n%2\n","Sync mit Datei \n...%1\nvom:\n%2\n" },
714{ "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" }, 714{ "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" },
715{ "Synchronization successful","Synchronisation erfolgreich" }, 715{ "Synchronization successful","Synchronisation erfolgreich" },
716{ "Sync cancelled or failed. Nothing synced.","Sync abgebrochen oder fehlgeschlagen. Nichts wurde gesynced." }, 716{ "Sync cancelled or failed. Nothing synced.","Sync abgebrochen oder fehlgeschlagen. Nichts wurde gesynced." },
717{ "Sync file \n...%1\ndoes not exist!\nNothing synced!\n","Sync Datei \n...%1\nexistiert nicht!\nNichts wurde gesynced!\n" }, 717{ "Sync file \n...%1\ndoes not exist!\nNothing synced!\n","Sync Datei \n...%1\nexistiert nicht!\nNichts wurde gesynced!\n" },
718{ "Sync filename(*.ics/*.vcs)","Sync Dateiname(*.ics/*.vcs)" }, 718{ "Sync filename(*.ics/*.vcs)","Sync Dateiname(*.ics/*.vcs)" },
719{ "Enter password","Passwort eingeben" }, 719{ "Enter password","Passwort eingeben" },
720{ "Do you really want\nto remote sync\nwith profile \n","Wollen Sie wirklich\nmit dem entfernten\nProfil syncen: \n" }, 720{ "Do you really want\nto remote sync\nwith profile \n","Wollen Sie wirklich\nmit dem entfernten\nProfil syncen: \n" },
721{ "Copy remote file to local machine...","Kopiere entfernte Datei auf lokalen Rechner..." }, 721{ "Copy remote file to local machine...","Kopiere entfernte Datei auf lokalen Rechner..." },
722{ "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" }, 722{ "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" },
723{ "Writing back file result: ","Resultat des Dateizurückschreibens: " }, 723{ "Writing back file result: ","Resultat des Dateizurückschreibens: " },
724{ "Syncronization sucessfully completed","Synchronisation erfolgreich abgeschlossen" }, 724{ "Syncronization sucessfully completed","Synchronisation erfolgreich abgeschlossen" },
725{ "Edit Calendar Filters","Editiere Kalendar Filter" }, 725{ "Edit Calendar Filters","Editiere Kalendar Filter" },
726{ "Enter filter name:","Neuer Filter Name:" }, 726{ "Enter filter name:","Neuer Filter Name:" },
727{ "Add Filter","Filter hinzufügen" }, 727{ "Add Filter","Filter hinzufügen" },
728{ "Question","Frage" }, 728{ "Question","Frage" },
729{ "Filter position: ","Filter Position: " }, 729{ "Filter position: ","Filter Position: " },
730{ "Month View","Monatsansicht" }, 730{ "Month View","Monatsansicht" },
731{ "This profil cannot be deleted!\n","Dieses Profil kann\nnicht gelöscht werden!" }, 731{ "This profil cannot be deleted!\n","Dieses Profil kann\nnicht gelöscht werden!" },
732{ "KO/Pi config error","KO/Pi Konfig. Fehler" }, 732{ "KO/Pi config error","KO/Pi Konfig. Fehler" },
733{ "Local device name undefined!\nPlease define device name!","Name dieses Gerätes undefiniert!\nBitte Namen angeben!" }, 733{ "Local device name undefined!\nPlease define device name!","Name dieses Gerätes undefiniert!\nBitte Namen angeben!" },
734{ "Multiple profiles with same name!\nPlease use unique profile names!","Mehrere Profile haben denselben Namen!\nBitte unterschiedliche Namen wählen!" }, 734{ "Multiple profiles with same name!\nPlease use unique profile names!","Mehrere Profile haben denselben Namen!\nBitte unterschiedliche Namen wählen!" },
735{ "Access: ","Zugriff: " }, 735{ "Access: ","Zugriff: " },
736{ "Needs Action","Aktion notwendig" }, 736{ "Needs Action","Aktion notwendig" },
737{ "Accepted","Akzeptiert" }, 737{ "Accepted","Akzeptiert" },
738{ "Declined","Abgelehnt" }, 738{ "Declined","Abgelehnt" },
739{ "Tentative","Vorläufig" }, 739{ "Tentative","Vorläufig" },
740{ "Delegated","Beauftragt" }, 740{ "Delegated","Beauftragt" },
741{ "Completed","Vollständig" }, 741{ "Completed","Vollständig" },
742{ "In Process","In Bearbeitung" }, 742{ "In Process","In Bearbeitung" },
743{ "Participant","Teilnehmer" }, 743{ "Participant","Teilnehmer" },
744{ "Optional Participant","Möglicher Teilnehmer" }, 744{ "Optional Participant","Möglicher Teilnehmer" },
745{ "Observer","Beobachter" }, 745{ "Observer","Beobachter" },
746{ "Chair","Vorsitzender" }, 746{ "Chair","Vorsitzender" },
747{ "Not supported \non desktop!\n","" }, 747{ "Not supported \non desktop!\n","" },
748{ "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. " }, 748{ "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. " },
749{ "Date range: ","Datums Zeitspanne: " }, 749{ "Date range: ","Datums Zeitspanne: " },
750{ "Not supported \non PDA!\n","Nicht verfügbar\nauf dem PDA. " }, 750{ "Not supported \non PDA!\n","Nicht verfügbar\nauf dem PDA. " },
751{ "Syncing - close to abort!","Syncing-schließe um abzubrechen." }, 751{ "Syncing - close to abort!","Syncing-schließe um abzubrechen." },
752{ "Add / remove events","Add./entferne Termine" }, 752{ "Add / remove events","Add./entferne Termine" },
753{ "File does not exist:\n '%1'.","Datei existiert nicht:\n '%1'." }, 753{ "File does not exist:\n '%1'.","Datei existiert nicht:\n '%1'." },
754{ "Couldn't load calendar\n '%1'.","Kann Kalender nicht laden:\n '%1'." }, 754{ "Couldn't load calendar\n '%1'.","Kann Kalender nicht laden:\n '%1'." },
755{ "\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" }, 755{ "\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" },
756{ "Overwrite","Überschreiben" }, 756{ "Overwrite","Überschreiben" },
757{ "Sync+save","Syncen+speichern" }, 757{ "Sync+save","Syncen+speichern" },
758{ "Default","Standard" }, 758{ "Default","Standard" },
759{ " Categories added to list! "," Kategorien zur Liste hinzugefügt! " }, 759{ " Categories added to list! "," Kategorien zur Liste hinzugefügt! " },
760{ " %d items?"," %d Einträge?" }, 760{ " %d items?"," %d Einträge?" },
761{ "\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?" }, 761{ "\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?" },
762{ " ?\n\nDelete:\n"," ?\n\nLösche:\n" }, 762{ " ?\n\nDelete:\n"," ?\n\nLösche:\n" },
763{ "Current","Aktuelle" }, 763{ "Current","Aktuelle" },
764{ "\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" }, 764{ "\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" },
765{ "All","Alle" }, 765{ "All","Alle" },
766{ "Data Loss Warning","Datenverlust Warnung" }, 766{ "Data Loss Warning","Datenverlust Warnung" },
767{ "Proceed","Weitermachen" }, 767{ "Proceed","Weitermachen" },
768{ "The journal entries can not be\nexported to a vCalendar file.","Die Journal Einträge können\nnicht in eine vCalendar\nDatei exportiert werden!" }, 768{ "The journal entries can not be\nexported to a vCalendar file.","Die Journal Einträge können\nnicht in eine vCalendar\nDatei exportiert werden!" },
769{ "Filter disabled ","Filter abgeschaltet" }, 769{ "Filter disabled ","Filter abgeschaltet" },
770{ "Filter selected: ","Gewählter Filter: " }, 770{ "Filter selected: ","Gewählter Filter: " },
771{ "Toggle Cancel","Gecancelt ändern" }, 771{ "Toggle Cancel","Gecancelt ändern" },
772{ "&Toggle Cancel","Gecancel&t ändern" }, 772{ "&Toggle Cancel","Gecancel&t ändern" },
773{ "Configure Toolbar","Konfiguriere Toolbar" }, 773{ "Configure Toolbar","Konfiguriere Toolbar" },
774{ "Stretched TB","Gedehnte TB" }, 774{ "Stretched TB","Gedehnte TB" },
775{ "Import file \n...%1\ndoes not exist!\nNothing imported!\n","Import Datei \n...%1\nexistiert nicht!\nNichts importiert!\n" }, 775{ "Import file \n...%1\ndoes not exist!\nNothing imported!\n","Import Datei \n...%1\nexistiert nicht!\nNichts importiert!\n" },
776{ "Import filename(*.ics/*.vcs)","Import Dateiname(*.ics/*.vcs)" }, 776{ "Import filename(*.ics/*.vcs)","Import Dateiname(*.ics/*.vcs)" },
777{ "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" }, 777{ "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" },
778{ "Not supported \non desktop!\n","Nur verfügbar auf PDA!" }, 778{ "Not supported \non desktop!\n","Nur verfügbar auf PDA!" },
779{ "Imported file successfully","Datei erfolgreich importiert" }, 779{ "Imported file successfully","Datei erfolgreich importiert" },
780{ "Error importing file","Fehler beim Importieren der Datei" }, 780{ "Error importing file","Fehler beim Importieren der Datei" },
781{ "Export vcal filename(*.vcs)","Export vcal Dateiname(*.vcs)" }, 781{ "Export vcal filename(*.vcs)","Export vcal Dateiname(*.vcs)" },
782{ "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" }, 782{ "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" },
783{ "Overwrite!","Überschreiben!" }, 783{ "Overwrite!","Überschreiben!" },
784{ "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" }, 784{ "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" },
785{ "Load backup filename","Lade Backup Dateiname" }, 785{ "Load backup filename","Lade Backup Dateiname" },
786{ "Backup file\ndoes not exist!\nNothing loaded!","Backup Datei\nexistiert nicht!\nNichts geladen!" }, 786{ "Backup file\ndoes not exist!\nNothing loaded!","Backup Datei\nexistiert nicht!\nNichts geladen!" },
787{ "KO/Pi:Loaded %1","KO/Pi:Geladen %1" }, 787{ "KO/Pi:Loaded %1","KO/Pi:Geladen %1" },
788{ "Save backup filename","Speichere Backup Dateiname" }, 788{ "Save backup filename","Speichere Backup Dateiname" },
789{ "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" }, 789{ "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" },
790{ "KO/Pi:Saved %1","KO/Pi:Gespeichert %1" }, 790{ "KO/Pi:Saved %1","KO/Pi:Gespeichert %1" },
791{ "Details of attendee","Teilnehmerdetails" }, 791{ "Details of attendee","Teilnehmerdetails" },
792{ "Work phone:\n","Telefon Arbeit:\n" }, 792{ "Work phone:\n","Telefon Arbeit:\n" },
793{ "Work mobile phone:\n","Mobiltelefon Arbeit:\n" }, 793{ "Work mobile phone:\n","Mobiltelefon Arbeit:\n" },
794{ "Home phone:\n","Telefon privat:\n" }, 794{ "Home phone:\n","Telefon privat:\n" },
795{ "Mobile home phone:\n","Mobiltelefon privat:\n" }, 795{ "Mobile home phone:\n","Mobiltelefon privat:\n" },
796{ "Email:\n","Email:\n" }, 796{ "Email:\n","Email:\n" },
797{ "Alarm disabled for this item","Alarm deaktiviert für dieses Item" }, 797{ "Alarm disabled for this item","Alarm deaktiviert für dieses Item" },
798{ "Audio Al.: ","Audio Al.: " }, 798{ "Audio Al.: ","Audio Al.: " },
799{ "Proc.Al.: ","Proz.Al.: " }, 799{ "Proc.Al.: ","Proz.Al.: " },
800{ "No sound set","Kein Sound definiert" }, 800{ "No sound set","Kein Sound definiert" },
801{ "*.wav|Wav Files","*.wav|Wav Dateien" }, 801{ "*.wav|Wav Files","*.wav|Wav Dateien" },
802{ "No program set","Kein Programm definiert" }, 802{ "No program set","Kein Programm definiert" },
803{ "Running '%1'","Ausführen '%1'" }, 803{ "Running '%1'","Ausführen '%1'" },
804{ "Playing '%1'","Abspielen '%1'" }, 804{ "Playing '%1'","Abspielen '%1'" },
805{ "Show Sync Events in WN/Agenda view","Zeige Sync Events in WN/Agenda Ansicht" }, 805{ "Show Sync Events in WN/Agenda view","Zeige Sync Events in WN/Agenda Ansicht" },
806{ "User defined (usertranslation.txt)","Benutzerdefiniert (usertranslation.txt)" }, 806{ "User defined (usertranslation.txt)","Benutzerdefiniert (usertranslation.txt)" },
807{ "Load!","Laden!" }, 807{ "Load!","Laden!" },
808{ "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" }, 808{ "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" },
809{ "KO/Pi Features and hints","KO/Pi Eigenschaften und Tipps" }, 809{ "KO/Pi Features and hints","KO/Pi Eigenschaften und Tipps" },
810{ "KO/Pi User translation HowTo","KO/Pi Benutzer-Übersetzung HowTo" }, 810{ "KO/Pi User translation HowTo","KO/Pi Benutzer-Übersetzung HowTo" },
811{ "KO/Pi Synchronization HowTo","KO/Pi Synchronisation HowTo" }, 811{ "KO/Pi Synchronization HowTo","KO/Pi Synchronisation HowTo" },
812{ "Features + hints...","Eigenschaften + Tipps..." }, 812{ "Features + hints...","Eigenschaften + Tipps..." },
813{ "User translation...","Benutzer Übersetzung..." }, 813{ "User translation...","Benutzer Übersetzung..." },
814{ "Sync HowTo...","Synchronisation HowTo..." }, 814{ "Sync HowTo...","Synchronisation HowTo..." },
815{ "Print calendar...","Drucke Kalender..." }, 815{ "Print calendar...","Drucke Kalender..." },
816{ "Anniversary","Jahrestag" }, 816{ "Anniversary","Jahrestag" },
817{ "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" }, 817{ "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" },
818{ "Import Birthdays (KA/Pi)","Importiere Geburtstage (KA/Pi)" }, 818{ "Import Birthdays (KA/Pi)","Importiere Geburtstage (KA/Pi)" },
819{ "Next recurrence is on: ","Nächste Wiederholung ist am:" }, 819{ "Next recurrence is on: ","Nächste Wiederholung ist am:" },
820{ "<b>Alarm on: </b>","<b>Alarm am: </b>" }, 820{ "<b>Alarm on: </b>","<b>Alarm am: </b>" },
821{ "<b>Access: </b>","<b>Zugriff: </b>" }, 821{ "<b>Access: </b>","<b>Zugriff: </b>" },
822{ "(%1 min before)","(%1 min vorher)" }, 822{ "(%1 min before)","(%1 min vorher)" },
823{ "<b>Categories: </b>","<b>Kategorien: </b>" }, 823{ "<b>Categories: </b>","<b>Kategorien: </b>" },
824{ "Save Journal/Description...","Speichere Journal/Details..." }, 824{ "Save Journal/Description...","Speichere Journal/Details..." },
825{ "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." }, 825{ "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." },
826{ "Continue","Weitermachen" }, 826{ "Continue","Weitermachen" },
827{ " birthdays/anniversaries added!"," Geburts-/Jahrestage hinzugefügt" }, 827{ " birthdays/anniversaries added!"," Geburts-/Jahrestage hinzugefügt" },
828{ "Attendee:","Teilnehmer:" }, 828{ "Attendee:","Teilnehmer:" },
829{ "Click OK to search ->","Klicke zum Suchen auf OK ->" }, 829{ "Click OK to search ->","Klicke zum Suchen auf OK ->" },
830{ "On day ","Am Tag " }, 830{ "On day ","Am Tag " },
831{ "%1 of ","%1 des Monats" }, 831{ "%1 of ","%1 des Monats" },
832{ "%1 of the year","%1 des Jahres" }, 832{ "%1 of the year","%1 des Jahres" },
833{ "Anonymous","Anonymo" }, 833{ "Anonymous","Anonymo" },
834{ "nobody@nowhere","niemand@nirgendwo" }, 834{ "nobody@nowhere","niemand@nirgendwo" },
835{ "calendar.html","calendar.html" }, 835{ "calendar.html","calendar.html" },
836{ " Local Time"," Locale Zeit" }, 836{ " Local Time"," Locale Zeit" },
837{ "Unknown Name","Unbekannter Name" }, 837{ "Unknown Name","Unbekannter Name" },
838{ "unknown@nowhere","unbekannt@nirgendwo" }, 838{ "unknown@nowhere","unbekannt@nirgendwo" },
839{ "Beam via IR!","Beam via IR!" }, 839{ "Beam via IR!","Beam via IR!" },
840{ "Next Month","Nächster Monat" }, 840{ "Next Month","Nächster Monat" },
841{ "Prio","Prio" }, 841{ "Prio","Prio" },
842{ "Reparent Todo","Mache Sub-Todo" }, 842{ "Reparent Todo","Mache Sub-Todo" },
843{ "tomorrow","morgen" }, 843{ "tomorrow","morgen" },
844{ "today","heute" }, 844{ "today","heute" },
845{ "yesterday","gestern" }, 845{ "yesterday","gestern" },
846{ "Ok","Ok" }, 846{ "Ok","Ok" },
847{ "Ok+Agenda","Ok+Agenda" }, 847{ "Ok+Agenda","Ok+Agenda" },
848{ "Email","Email" }, 848{ "Email","Email" },
849{ "RSVP","RSVP" }, 849{ "RSVP","RSVP" },
850{ "Email:","Email:" }, 850{ "Email:","Email:" },
851{ "Appointment Time ","Termin Zeit " }, 851{ "Appointment Time ","Termin Zeit " },
852{ "2","2" }, 852{ "2","2" },
853{ "3","3" }, 853{ "3","3" },
854{ "4","4" }, 854{ "4","4" },
855{ " 0 %"," 0 %" }, 855{ " 0 %"," 0 %" },
856{ " 20 %"," 20 %" }, 856{ " 20 %"," 20 %" },
857{ " 40 %"," 40 %" }, 857{ " 40 %"," 40 %" },
858{ " 60 %"," 60 %" }, 858{ " 60 %"," 60 %" },
859{ " 80 %"," 80 %" }, 859{ " 80 %"," 80 %" },
860{ "100 %","100 %" }, 860{ "100 %","100 %" },
861{ "Filter","Filter" }, 861{ "Filter","Filter" },
862{ "Configure","Konfiguriere" }, 862{ "Configure","Konfiguriere" },
863{ "What's Next","What's Next" }, 863{ "What's Next","What's Next" },
864{ "Complete calendar...","Kompletten Kalender..." }, 864{ "Complete calendar...","Kompletten Kalender..." },
865{ "Filtered calendar...","Gefilterten Kalender..." }, 865{ "Filtered calendar...","Gefilterten Kalender..." },
866{ "Export to phone","Exportiere zum Handy" }, 866{ "Export to phone","Exportiere zum Handy" },
867{ "Beam receive enabled","Beam Empfang an" }, 867{ "Beam receive enabled","Beam Empfang an" },
868{ "What's new?","Was ist neu?" }, 868{ "What's new?","Was ist neu?" },
869{ "FAQ...","FAQ..." }, 869{ "FAQ...","FAQ..." },
870{ "Licence...","Licence..." }, 870{ "Licence...","Licence..." },
871{ "What's This?","What's This?" }, 871{ "What's This?","What's This?" },
872{ "&Edit...","&Editiere..." }, 872{ "&Edit...","&Editiere..." },
873{ "Oktober","Oktober" }, 873{ "Oktober","Oktober" },
874{ "Title","Titel" }, 874{ "Title","Titel" },
875{ "%1 %","%1 %" }, 875{ "%1 %","%1 %" },
876{ "Enable Pi-Sync","Schalte Pi-Sync an" }, 876{ "Enable Pi-Sync","Schalte Pi-Sync an" },
877{ "Import!","Importiere!" }, 877{ "Import!","Importiere!" },
878{ "inserting birthdays - close to abort!","Burzeltage werden eingefügt - schließe um abzubrechen!" }, 878{ "inserting birthdays - close to abort!","Burzeltage werden eingefügt - schließe um abzubrechen!" },
879{ "Export to phone options","Export ans Handy Optionen" }, 879{ "Export to phone options","Export ans Handy Optionen" },
880{ "Please read Help-Sync Howto\nto know what settings to use.","Bitte lese Hilfe-Sync Howto\num zu erfahren welche Einstellungen\ndie richtigen sind." }, 880{ "Please read Help-Sync Howto\nto know what settings to use.","Bitte lese Hilfe-Sync Howto\num zu erfahren welche Einstellungen\ndie richtigen sind." },
881{ "I/O device: ","I/O device: " }, 881{ "I/O device: ","I/O device: " },
882{ "Connection: ","Connection: " }, 882{ "Connection: ","Connection: " },
883{ "Model(opt.): ","Model(opt.): " }, 883{ "Model(opt.): ","Model(opt.): " },
884{ "Write back events in future only","Schreibe nur zukünftige Termine zurück" }, 884{ "Write back events in future only","Schreibe nur zukünftige Termine zurück" },
885{ "Max. weeks in future: ","Max. Wochen in der Zukunft: " }, 885{ "Max. weeks in future: ","Max. Wochen in der Zukunft: " },
886{ "NOTE: This will remove all old\ntodo/calendar data on phone!","ACHTUNG: Das löscht alle alten\nToDo/Kalender Daten auf dem Handy!" }, 886{ "NOTE: This will remove all old\ntodo/calendar data on phone!","ACHTUNG: Das löscht alle alten\nToDo/Kalender Daten auf dem Handy!" },
887{ "Export to mobile phone!","Exportiere auf das Handy!" }, 887{ "Export to mobile phone!","Exportiere auf das Handy!" },
888{ "Export complete calendar","Exportiere kompletten Kalender" }, 888{ "Export complete calendar","Exportiere kompletten Kalender" },
889{ "Writing to phone...","Sende Daten ans Handy..." }, 889{ "Writing to phone...","Sende Daten ans Handy..." },
890{ " This may take 1-3 minutes!"," Das kann 1-3 Minuten dauern!" }, 890{ " This may take 1-3 minutes!"," Das kann 1-3 Minuten dauern!" },
891{ "Retry","Nochmal versuchen" }, 891{ "Retry","Nochmal versuchen" },
892{ "KDE/Pim phone access","KDE/Pim Handy Zugriff" }, 892{ "KDE/Pim phone access","KDE/Pim Handy Zugriff" },
893{ "Error accessing device!\nPlease turn on connection\nand retry!","Fehler beim Zugriff auf das Gerät!\nBitte die Verbindung aktivieren\nund nochmal versuchen!" }, 893{ "Error accessing device!\nPlease turn on connection\nand retry!","Fehler beim Zugriff auf das Gerät!\nBitte die Verbindung aktivieren\nund nochmal versuchen!" },
894{ "Error exporting to phone!","Fehler beim Export auf das Handy!" }, 894{ "Error exporting to phone!","Fehler beim Export auf das Handy!" },
895{ "Export filtered calendar","Exportiere gefilterten Kalender" }, 895{ "Export filtered calendar","Exportiere gefilterten Kalender" },
896{ "Preferences","Vorlieben" }, 896{ "Preferences","Vorlieben" },
897{ "Global","Global" }, 897{ "Global","Global" },
898{ "Phone","Phone" }, 898{ "Phone","Phone" },
899{ "SMS","SMS" }, 899{ "SMS","SMS" },
900{ "Fax","Fax" }, 900{ "Fax","Fax" },
901{ "Pager","Pager" }, 901{ "Pager","Pager" },
902{ "SIP","SIP" }, 902{ "SIP","SIP" },
903{ "Italian","Italienisch" }, 903{ "Italian","Italienisch" },
904{ "24:00","24:00" }, 904{ "24:00","24:00" },
905{ "12:00am","12:00am" }, 905{ "12:00am","12:00am" },
906{ "24.03.2004 (%d.%m.%Y|%A %d %B %Y)","24.03.2004 (%d.%m.%Y|%A %d %B %Y)" }, 906{ "24.03.2004 (%d.%m.%Y|%A %d %B %Y)","24.03.2004 (%d.%m.%Y|%A %d %B %Y)" },
907{ "03.24.2004 (%m.%d.%Y|%A %B %d %Y)","03.24.2004 (%m.%d.%Y|%A %B %d %Y)" }, 907{ "03.24.2004 (%m.%d.%Y|%A %B %d %Y)","03.24.2004 (%m.%d.%Y|%A %B %d %Y)" },
908{ "2004-03-24 (%Y-%m-%d|%A %Y %B %d)","2004-03-24 (%Y-%m-%d|%A %Y %B %d)" }, 908{ "2004-03-24 (%Y-%m-%d|%A %Y %B %d)","2004-03-24 (%Y-%m-%d|%A %Y %B %d)" },
909{ "Mon 19.04.04: %a %d.%m.%y","Mon 19.04.04: %a %d.%m.%y" }, 909{ "Mon 19.04.04: %a %d.%m.%y","Mon 19.04.04: %a %d.%m.%y" },
910{ "Mon, 19.Apr.04: %a, %d.%b.%y","Mon, 19.Apr.04: %a, %d.%b.%y" }, 910{ "Mon, 19.Apr.04: %a, %d.%b.%y","Mon, 19.Apr.04: %a, %d.%b.%y" },
911{ "Add 30 min to selected Timezone","Addiere 30 min zur Zeitzone" }, 911{ "Add 30 min to selected Timezone","Addiere 30 min zur Zeitzone" },
912{ "Used Mail Client","Benutzter Mail Client" }, 912{ "Used Mail Client","Benutzter Mail Client" },
913{ "Channel:","Channel:" }, 913{ "Channel:","Channel:" },
914{ "Message:","Message:" }, 914{ "Message:","Message:" },
915{ "Parameters:","Parameter:" }, 915{ "Parameters:","Parameter:" },
916{ "HINT: Delimiter=; Name=%1,Email=%2","Hinweis: Begrenzer=; Name=%1,Email=%2" }, 916{ "HINT: Delimiter=; Name=%1,Email=%2","Hinweis: Begrenzer=; Name=%1,Email=%2" },
917{ "extra Message:","extra Message:" }, 917{ "extra Message:","extra Message:" },
918{ "extra Parameters:","extra Parameter:" }, 918{ "extra Parameters:","extra Parameter:" },
919{ "HINT: Emails=%1,Attachments=%2","Hinweis: Emails=%1,Attachments=%2" }, 919{ "HINT: Emails=%1,Attachments=%2","Hinweis: Emails=%1,Attachments=%2" },
920{ "External Apps.","Externe Appl." }, 920{ "External Apps.","Externe Appl." },
921{ "24 hours","24 Std." }, 921{ "24 hours","24 Std." },
922{ "3 hours","3 Std." }, 922{ "3 hours","3 Std." },
923{ "1 hour","1 Std." }, 923{ "1 hour","1 Std." },
924{ "15 minutes","15 Min." }, 924{ "15 minutes","15 Min." },
925{ "5 minutes","5 Min." }, 925{ "5 minutes","5 Min." },
926{ "1 minute","1 Min." }, 926{ "1 minute","1 Min." },
927{ "23","23" }, 927{ "23","23" },
928{ "Mon 15","Mon 15" }, 928{ "Mon 15","Mon 15" },
929{ "Configure KO","Konfiguriere KO" }, 929{ "Configure KO","Konfiguriere KO" },
930{ "Event text","Termin Text" }, 930{ "Event text","Termin Text" },
931{ "ToDo","ToDo" }, 931{ "ToDo","ToDo" },
932{ "Today","Heute" }, 932{ "Today","Heute" },
933{ "What's Next View","What's Next Ansicht" }, 933{ "What's Next View","What's Next Ansicht" },
934{ "Show Sync Events in \nWhat's Next/Agenda view","Zeige Sync Termine in \nWhat's Next/Agenda view" }, 934{ "Show Sync Events in \nWhat's Next/Agenda view","Zeige Sync Termine in \nWhat's Next/Agenda view" },
935{ "Use short date in \nWhat's Next/Event view","Zeige Kurzdatum in \nWhat's Next/Event view" }, 935{ "Use short date in \nWhat's Next/Event view","Zeige Kurzdatum in \nWhat's Next/Event view" },
936{ "Allday Agenda view shows todos","Ganztag Agenda zeigt Todos" }, 936{ "Allday Agenda view shows todos","Ganztag Agenda zeigt Todos" },
937{ "Alarm","Alarm" }, 937{ "Alarm","Alarm" },
938{ "Used %1 Client","Benutzter %1 Client" }, 938{ "Used %1 Client","Benutzter %1 Client" },
939{ "No email client installed","Kein Email Klient installiert" }, 939{ "No email client installed","Kein Email Klient installiert" },
940{ "Userdefined email client","Benutzerdef. Email Klient" }, 940{ "Userdefined email client","Benutzerdef. Email Klient" },
941{ "OM/Pi email client","OM/Pi Email Klient" }, 941{ "OM/Pi email client","OM/Pi Email Klient" },
942{ "Include in multiple ","Beziehe in multiple " }, 942{ "Include in multiple ","Beziehe in multiple " },
943{ "calendar ","Kalender " }, 943{ "calendar ","Kalender " },
944{ "addressbook ","Adressbuch " }, 944{ "addressbook ","Adressbuch " },
945{ "pwmanager","PWmanager" }, 945{ "pwmanager","PWmanager" },
946{ " sync"," Sync ein" }, 946{ " sync"," Sync ein" },
947{ "Write back synced data","Schreibe gesyncte Daten zurück" }, 947{ "Write back synced data","Schreibe gesyncte Daten zurück" },
948{ "-- Write back (on remote) existing entries only","-- Schreibe nur existierende (entfernte) Einträge zurück" }, 948{ "-- Write back (on remote) existing entries only","-- Schreibe nur existierende (entfernte) Einträge zurück" },
949{ "-- Write back (calendar) entries in future only","-- Schreibe nur zukünftige Kalender-Einträge zurück" }, 949{ "-- Write back (calendar) entries in future only","-- Schreibe nur zukünftige Kalender-Einträge zurück" },
950{ "---- Max. weeks in future: ","---- Max. wochen in der Zukunft: " }, 950{ "---- Max. weeks in future: ","---- Max. wochen in der Zukunft: " },
951{ "Pi-Sync ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync ( direktes Kx/Pi zu Kx/Pi sync )" }, 951{ "Pi-Sync ( direct Kx/Pi to Kx/Pi sync )","Pi-Sync ( direktes Kx/Pi zu Kx/Pi sync )" },
952{ "Mobile device (cell phone)","Mobiles Gerät (Handy)" }, 952{ "Mobile device (cell phone)","Mobiles Gerät (Handy)" },
953{ "Help...","Hilfe..." }, 953{ "Help...","Hilfe..." },
954{ "Local file Cal:","Lokale Datei Kal:" }, 954{ "Local file Cal:","Lokale Datei Kal:" },
955{ "Local file ABook:","Lokale Datei ABuch:" }, 955{ "Local file ABook:","Lokale Datei ABuch:" },
956{ "Local file PWMgr:","Lokale Datei PWMgr:" }, 956{ "Local file PWMgr:","Lokale Datei PWMgr:" },
957{ "Addressbook file (*.vcf) is used by KA/Pi","Adressbuch Datei (*.vcf) wird von KA/Pi genutzt" }, 957{ "Addressbook file (*.vcf) is used by KA/Pi","Adressbuch Datei (*.vcf) wird von KA/Pi genutzt" },
958{ "Calendar:","Kalender:" }, 958{ "Calendar:","Kalender:" },
959{ "AddressBook:","AdressBuch:" }, 959{ "AddressBook:","AdressBuch:" },
960{ "PWManager:","PWManager:" }, 960{ "PWManager:","PWManager:" },
961{ "Addressbook file is used by KA/Pi","Adressbuch Datei wird von KA/Pi genutzt" }, 961{ "Addressbook file is used by KA/Pi","Adressbuch Datei wird von KA/Pi genutzt" },
962{ "ssh/scp","ssh/scp" }, 962{ "ssh/scp","ssh/scp" },
963{ "ftp","ftp" }, 963{ "ftp","ftp" },
964{ "Password for remote access: (could be the same for each)","Passwort für entfernten Zugriff: (kann dasselbe sein für alle)" }, 964{ "Password for remote access: (could be the same for each)","Passwort für entfernten Zugriff: (kann dasselbe sein für alle)" },
965{ "Remote IP address: (could be the same for each)","Entfernte IP Adresse: (kann dasselbe sein für alle)" }, 965{ "Remote IP address: (could be the same for each)","Entfernte IP Adresse: (kann dasselbe sein für alle)" },
966{ "Remote port number: (should be different for each)","Entfernte Port Nummer: (Sollte für alle unterschiedlich sein)" }, 966{ "Remote port number: (should be different for each)","Entfernte Port Nummer: (Sollte für alle unterschiedlich sein)" },
967{ "command for downloading remote file to local device","Kommando zum Download der entfernten Datei zum lokalen Gerät" }, 967{ "command for downloading remote file to local device","Kommando zum Download der entfernten Datei zum lokalen Gerät" },
968{ "command for uploading local temp file to remote device","Kommando zum Upload der lokalen temp. Datei zum entfernten Gerät" }, 968{ "command for uploading local temp file to remote device","Kommando zum Upload der lokalen temp. Datei zum entfernten Gerät" },
969{ "Insert device where\nphone is connected. E.g.:\n","Füge Device ein, an dem\ndas Handy angeschlossen ist. Z.B.:\n" }, 969{ "Insert device where\nphone is connected. E.g.:\n","Füge Device ein, an dem\ndas Handy angeschlossen ist. Z.B.:\n" },
970{ "KDE-Pim sync config","KDE-Pim sync Konfig" }, 970{ "KDE-Pim sync config","KDE-Pim sync Konfig" },
971{ "Insert kind of connection,e.g.:\n","Füge Art der Verbindung ein,z.B.:\n" }, 971{ "Insert kind of connection,e.g.:\n","Füge Art der Verbindung ein,z.B.:\n" },
972{ "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" }, 972{ "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" },
973{ "Port number (Default: %1)","Port Nummer (Default: %1)" }, 973{ "Port number (Default: %1)","Port Nummer (Default: %1)" },
974{ "Password to enable\naccess from remote:","Passwort um entfernten\nZugriff zuzulassen:" }, 974{ "Password to enable\naccess from remote:","Passwort um entfernten\nZugriff zuzulassen:" },
975{ "Automatically start\nat application startup","Starte automatisch\nbeim Programmstart" }, 975{ "Automatically start\nat application startup","Starte automatisch\nbeim Programmstart" },
976{ "Automatically sync\nwith KDE-Desktop","Automatischer Sync\nmit dem KDE-Desktop" }, 976{ "Automatically sync\nwith KDE-Desktop","Automatischer Sync\nmit dem KDE-Desktop" },
977{ "Enter port for Pi-Sync","Port Nummer für Pi-Sync" }, 977{ "Enter port for Pi-Sync","Port Nummer für Pi-Sync" },
978{ "Disable Pi-Sync","Schalte Pi-Sync aus" }, 978{ "Disable Pi-Sync","Schalte Pi-Sync aus" },
979{ "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!" }, 979{ "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!" },
980{ "KDE-Pim Sync","KDE-Pim Sync" }, 980{ "KDE-Pim Sync","KDE-Pim Sync" },
981{ "Multiple profiles","Multi-Sync Profile" }, 981{ "Multiple profiles","Multi-Sync Profile" },
982{ "Device: ","Gerät: " }, 982{ "Device: ","Gerät: " },
983{ "Multiple sync started.","Multi-Sync gestartet." }, 983{ "Multiple sync started.","Multi-Sync gestartet." },
984{ "Nothing synced! No profiles defined for multisync!","Nichts gesynct! Keine Profile\nselektiert für Multi-Sync" }, 984{ "Nothing synced! No profiles defined for multisync!","Nichts gesynct! Keine Profile\nselektiert für Multi-Sync" },
985{ "Turn filter on","Schalte Filter an" }, 985{ "Turn filter on","Schalte Filter an" },
986{ "Turn filter off","Schalte Filter aus" }, 986{ "Turn filter off","Schalte Filter aus" },
987{ "Key bindings KOrganizer/Pi","Tastatur Belegung KOrganizer/Pi" }, 987{ "Key bindings KOrganizer/Pi","Tastatur Belegung KOrganizer/Pi" },
988{ "<p><b>White</b>: Item readonly</p>\n","<p><b>Weiss</b>: Eintrag schreibgeschützt</p>\n" }, 988{ "<p><b>White</b>: Item readonly</p>\n","<p><b>Weiss</b>: Eintrag schreibgeschützt</p>\n" },
989{ "<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n","<p><b>Dunkelgelb</b>: Termin/Todo mit Teilnehmern.</p>\n" }, 989{ "<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n","<p><b>Dunkelgelb</b>: Termin/Todo mit Teilnehmern.</p>\n" },
990{ "<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" }, 990{ "<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" },
991{ "<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" }, 991{ "<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" },
992{ "<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" }, 992{ "<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" },
993{ "<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" }, 993{ "<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" },
994{ "<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" }, 994{ "<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" },
995{ "<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" }, 995{ "<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" },
996{ "<p><h2>KO/Pi icon colors:</h2></p>\n","<p><h2>KO/Pi Icon Farben:</h2></p>\n" }, 996{ "<p><h2>KO/Pi icon colors:</h2></p>\n","<p><h2>KO/Pi Icon Farben:</h2></p>\n" },
997{ "<p><b>E</b>: Edit item</p>\n","<p><b>E</b>: Editiere Eintrag</p>\n" }, 997{ "<p><b>E</b>: Edit item</p>\n","<p><b>E</b>: Editiere Eintrag</p>\n" },
998{ "<p><b>A</b>: Show agenda view.</p>\n","<p><b>A</b>: Zeige Agenda Ansicht.</p>\n" }, 998{ "<p><b>A</b>: Show agenda view.</p>\n","<p><b>A</b>: Zeige Agenda Ansicht.</p>\n" },
999{ "<p><b>I,C</b>: Close dialog.</p>\n","<p><b>I,C</b>: Schließe Dialog.</p>\n" }, 999{ "<p><b>I,C</b>: Close dialog.</p>\n","<p><b>I,C</b>: Schließe Dialog.</p>\n" },
1000{ "<p><h3>In event/todo viewer:</h3></p>\n","<p><h3>In Termin/Todo Detail-Anzeige:</h3></p>\n" }, 1000{ "<p><h3>In event/todo viewer:</h3></p>\n","<p><h3>In Termin/Todo Detail-Anzeige:</h3></p>\n" },
1001{ "<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" }, 1001{ "<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" },
1002{ "<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" }, 1002{ "<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" },
1003{ "<p><b>up/down</b>: Next/prev item</p>\n","<p><b>up/down</b>: Nächster/vorheriger Eintrag</p>\n" }, 1003{ "<p><b>up/down</b>: Next/prev item</p>\n","<p><b>up/down</b>: Nächster/vorheriger Eintrag</p>\n" },
1004{ "<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" }, 1004{ "<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" },
1005{ "<p><b>return</b>: Select item+one step down</p>\n","<p><b>return</b>: Selektiere Item+Cursor einen Eintrag runter</p>\n" }, 1005{ "<p><b>return</b>: Select item+one step down</p>\n","<p><b>return</b>: Selektiere Item+Cursor einen Eintrag runter</p>\n" },
1006{ "<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" }, 1006{ "<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" },
1007{ "<p><h3>In list view:</h3></p>\n","<p><h3>In Listen Ansicht:</h3></p>\n" }, 1007{ "<p><h3>In list view:</h3></p>\n","<p><h3>In Listen Ansicht:</h3></p>\n" },
1008{ "<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" }, 1008{ "<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" },
1009{ "<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" }, 1009{ "<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" },
1010{ "<p><b>Q</b>: Toggle quick todo line edit.</p>\n","<p><b>Q</b>: Zeige/verstecke Quick Todo Eingabe Zeile.</p>\n" }, 1010{ "<p><b>Q</b>: Toggle quick todo line edit.</p>\n","<p><b>Q</b>: Zeige/verstecke Quick Todo Eingabe Zeile.</p>\n" },
1011{ "<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" }, 1011{ "<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" },
1012{ "<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" }, 1012{ "<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" },
1013{ "<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" }, 1013{ "<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" },
1014{ "<p><h3>In todo view:</h3></p>\n","<p><h3>In Todo Anzige:</h3></p>\n" }, 1014{ "<p><h3>In todo view:</h3></p>\n","<p><h3>In Todo Anzige:</h3></p>\n" },
1015{ "<p><b>ctrl+up/down</b>: Scroll small todo view</p>\n","<p><b>ctrl+up/down</b>: Scrolle kleine Todo Ansicht</p>\n" }, 1015{ "<p><b>ctrl+up/down</b>: Scroll small todo view</p>\n","<p><b>ctrl+up/down</b>: Scrolle kleine Todo Ansicht</p>\n" },
1016{ "<p><b>up/down</b>: Scroll agenda view</p>\n","<p><b>up/down</b>: Scrolle Agenda Ansicht</p>\n" }, 1016{ "<p><b>up/down</b>: Scroll agenda view</p>\n","<p><b>up/down</b>: Scrolle Agenda Ansicht</p>\n" },
1017{ "<p><h3>In agenda view:</h3></p>\n","<p><h3>In Agenda Ansicht:</h3></p>\n" }, 1017{ "<p><h3>In agenda view:</h3></p>\n","<p><h3>In Agenda Ansicht:</h3></p>\n" },
1018{ "<p><b>del,backspace</b>: Delete selected item</p>\n","<p><b>del,backspace</b>: Lösche selektiertes Item</p>\n" }, 1018{ "<p><b>del,backspace</b>: Delete selected item</p>\n","<p><b>del,backspace</b>: Lösche selektiertes Item</p>\n" },
1019{ "<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" }, 1019{ "<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" },
1020{ "<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" }, 1020{ "<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" },
1021{ "<p><b>B</b>: Edit description (details) of selected item</p>\n","<p><b>B</b>: Editiere Beschreibung (Details) des selektierten Items</p>\n" }, 1021{ "<p><b>B</b>: Edit description (details) of selected item</p>\n","<p><b>B</b>: Editiere Beschreibung (Details) des selektierten Items</p>\n" },
1022{ "<p><b>C</b>: Show current time in agenda view</p>\n","<p><b>C</b>: Zeige aktuelle Zeit in Agenda Ansicht</p>\n" }, 1022{ "<p><b>C</b>: Show current time in agenda view</p>\n","<p><b>C</b>: Zeige aktuelle Zeit in Agenda Ansicht</p>\n" },
1023{ "<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" }, 1023{ "<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" },
1024{ "<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" }, 1024{ "<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 Datumsnavigator</p>\n" },
1025{ "<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" }, 1025{ "<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" },
1026{ "<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" }, 1026{ "<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" },
1027{ "<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" }, 1027{ "<p><b>D</b>: One day view | <b>M</b>: Month view</p>\n","<p><b>D</b>: Ein-Tages Ansicht | <b>M</b>: Monatsansicht</p>\n" },
1028{ "<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" }, 1028{ "<p><b>Z,Y</b>: Work week view | <b>U</b>: Week view</p>\n","<p><b>Z,Y</b>: Arbeitswochenansicht | <b>U</b>: Wochenansicht</p>\n" },
1029{ "<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" }, 1029{ "<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" },
1030{ "<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 " }, 1030{ "<p><b>N</b>: Next days view| <b>W</b>: What's next view\n ","<p><b>N</b>: Nächste-Tage Ansicht | <b>W</b>: What's Next Ansicht\n " },
1031{ "<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" }, 1031{ "<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" },
1032{ "<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" }, 1032{ "<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" },
1033{ "<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" }, 1033{ "<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" },
1034{ "<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" }, 1034{ "<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" },
1035{ "<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" }, 1035{ "<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" },
1036{ "<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" }, 1036{ "<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" },
1037{ "<p><h2>KO/Pi key shortcuts:</h2></p>\n","<p><h2>KO/Pi Tastatur Kurzbefehle:</h2></p>\n" }, 1037{ "<p><h2>KO/Pi key shortcuts:</h2></p>\n","<p><h2>KO/Pi Tastatur Kurzbefehle:</h2></p>\n" },
1038{ "After changing something, the data is\nautomatically saved to the file\n~/kdepim/apps/korganizer/mycalendar.ics\nafter (configurable) 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" }, 1038{ "After changing something, the data is\nautomatically saved to the file\n~/kdepim/apps/korganizer/mycalendar.ics\nafter (configurable) 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" },
1039{ "Auto Saving in KOrganizer/Pi","Auto Speichern in KOrganizer/Pi" }, 1039{ "Auto Saving in KOrganizer/Pi","Auto Speichern in KOrganizer/Pi" },
1040{ "\nhttp://sourceforge.net/projects/kdepimpi\n","\nhttp://sourceforge.net/projects/kdepimpi\n" }, 1040{ "\nhttp://sourceforge.net/projects/kdepimpi\n","\nhttp://sourceforge.net/projects/kdepimpi\n" },
1041{ "\nor report them in the bugtracker on\n","\noder trage sie in dem Bugtracker ein auf\n" }, 1041{ "\nor report them in the bugtracker on\n","\noder trage sie in dem Bugtracker ein auf\n" },
1042{ "\nPlease report unexpected behaviour to\nlutz@pi-sync.net\n","\nBitte melde fehlerhaftes Verhalten an\nlutz@pi-sync.net\n" }, 1042{ "\nPlease report unexpected behaviour to\nlutz@pi-sync.net\n","\nBitte melde fehlerhaftes Verhalten an\nlutz@pi-sync.net\n" },
1043{ "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" }, 1043{ "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" },
1044{ "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" }, 1044{ "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" },
1045{ "Known Problems in KOrganizer/Pi","Bekannte Probleme in KOrganizer/Pi" }, 1045{ "Known Problems in KOrganizer/Pi","Bekannte Probleme in KOrganizer/Pi" },
1046{ "KO/Pi FAQ","KO/Pi FAQ" }, 1046{ "KO/Pi FAQ","KO/Pi FAQ" },
1047{ "PDA-Edition\nfor: Zaurus 5x00/7x0/860/3000/6000\n","PDA-Edition\nfür: Zaurus 5x00/7x0/860/3000/6000\n" }, 1047{ "PDA-Edition\nfor: Zaurus 5x00/7x0/860/3000/6000\n","PDA-Edition\nfür: Zaurus 5x00/7x0/860/3000/6000\n" },
1048{ "KOrganizer/Platform-independent\n","KOrganizer/Platform-independent\n" }, 1048{ "KOrganizer/Platform-independent\n","KOrganizer/Platform-independent\n" },
1049{ "About KOrganizer/Pi","Über KOrganizer/Pi" }, 1049{ "About KOrganizer/Pi","Über KOrganizer/Pi" },
1050{ "From: ","Von: " }, 1050{ "From: ","Von: " },
1051{ "Remove sync info","Entferne Sync Info" }, 1051{ "Remove sync info","Entferne Sync Info" },
1052{ "For all profiles","Für alle Profile" }, 1052{ "For all profiles","Für alle Profile" },
1053{ "Hide not Running","Verstecke nicht Laufende" }, 1053{ "Hide not Running","Verstecke nicht Laufende" },
1054{ "ME","ME" }, 1054{ "ME","ME" },
1055{ "Toolbar","Toolbar" }, 1055{ "Toolbar","Toolbar" },
1056{ "Undo Delete...","Löschen rückgängig machen..." }, 1056{ "Undo Delete...","Löschen rückgängig machen..." },
1057{ "Undo Delete","Löschen rückgängig machen" }, 1057{ "Undo Delete","Löschen rückgängig machen" },
1058{ "KDE Sync HowTo...","KDE Sync HowTo..." }, 1058{ "KDE Sync HowTo...","KDE Sync HowTo..." },
1059{ "Multi Sync HowTo...","Multi Sync HowTo..." }, 1059{ "Multi Sync HowTo...","Multi Sync HowTo..." },
1060{ "Januar","Januar" }, 1060{ "Januar","Januar" },
1061{ "KO/Pi Keys + Colors","KO/Pi Tasten + Farben" }, 1061{ "KO/Pi Keys + Colors","KO/Pi Tasten + Farben" },
1062{ "No Filter","Kein Filter" }, 1062{ "No Filter","Kein Filter" },
1063{ "Multiple Sync options","Multi Sync Optionen" }, 1063{ "Multiple Sync options","Multi Sync Optionen" },
1064{ "Sync algo options","Sync Ablauf Optionen" }, 1064{ "Sync algo options","Sync Ablauf Optionen" },
1065{ "Apply filter when adding data to local:","Filter für das Hinzufügen von Daten zu Lokal:" }, 1065{ "Apply filter when adding data to local:","Filter für das Hinzufügen von Daten zu Lokal:" },
1066{ "Incoming calendar filter:","Eingehender Kalender Filter:" }, 1066{ "Incoming calendar filter:","Eingehender Kalender Filter:" },
1067{ "Incoming addressbook filter:","Eingehender Adressbuch Filter:" }, 1067{ "Incoming addressbook filter:","Eingehender Adressbuch Filter:" },
1068{ "Write back options","Optionen zum Zurückschreiben" }, 1068{ "Write back options","Optionen zum Zurückschreiben" },
1069{ "Write back (on remote) existing entries only","Schreibe nur existierende (auf Entfernt) Einträge zurück" }, 1069{ "Write back (on remote) existing entries only","Schreibe nur existierende (auf Entfernt) Einträge zurück" },
1070{ "Apply filter when adding data to remote:","Filter für das Hinzufügen von Daten zu Entfernt:" }, 1070{ "Apply filter when adding data to remote:","Filter für das Hinzufügen von Daten zu Entfernt:" },
1071{ "Outgoing calendar filter:","Ausgehender Kalender Filter:" }, 1071{ "Outgoing calendar filter:","Ausgehender Kalender Filter:" },
1072{ "Outgoing addressbook filter:","Ausgehender Adressbuch Filter:" }, 1072{ "Outgoing addressbook filter:","Ausgehender Adressbuch Filter:" },
1073{ "Write back (calendar) entries for time period only","Schreibe nur Kalender Einträge für Zeitspanne zurück" }, 1073{ "Write back (calendar) entries for time period only","Schreibe nur Kalender Einträge für Zeitspanne zurück" },
1074{ "Time period","Zeitspanne" }, 1074{ "Time period","Zeitspanne" },
1075{ "From ","Von " }, 1075{ "From ","Von " },
1076{ " weeks in the past to "," Wochen in der Vergangenheit bis zu " }, 1076{ " weeks in the past to "," Wochen in der Vergangenheit bis zu " },
1077{ " weeks in the future "," Wochen in der Zukunft " }, 1077{ " weeks in the future "," Wochen in der Zukunft " },
1078{ "Profile kind specific settings","Profil Art abhängige Einstellungen" }, 1078{ "Profile kind specific settings","Profil Art abhängige Einstellungen" },
1079{ "Local temp file:","Lokale temp Datei:" }, 1079{ "Local temp file:","Lokale temp Datei:" },
1080{ "Multiple profiles with same name!\nPlease use unique profile names!","Mehrere Profile mit demselben Namen!\nBitte verschiedene Namen benutzen!" }, 1080{ "Multiple profiles with same name!\nPlease use unique profile names!","Mehrere Profile mit demselben Namen!\nBitte verschiedene Namen benutzen!" },
1081{ "Aborted! Nothing synced!","Abgebrochen! Nichts wurde gesynct!" }, 1081{ "Aborted! Nothing synced!","Abgebrochen! Nichts wurde gesynct!" },
1082{ "Language","Sprache" }, 1082{ "Language","Sprache" },
1083{ "Time Format","Zeit Format" }, 1083{ "Time Format","Zeit Format" },
1084{ "Time Zone","Zeit Zone" }, 1084{ "Time Zone","Zeit Zone" },
1085{ "%1 groups subscribed","%1 Guppen abboniert" }, 1085{ "%1 groups subscribed","%1 Guppen abboniert" },
1086{ "Your current storage dir is:\n%1\nYour mail is stored in:\n(storagedir)/apps/kopiemail/localmail","Aktuelles Speicherverzeichnis ist:\n%1\nIhre Mail wird gespeichert in:\n(speicherverz.)/apps/kopiemail/localmail" }, 1086{ "Your current storage dir is:\n%1\nYour mail is stored in:\n(storagedir)/apps/kopiemail/localmail","Aktuelles Speicherverzeichnis ist:\n%1\nIhre Mail wird gespeichert in:\n(speicherverz.)/apps/kopiemail/localmail" },
1087{ "<b>New data storage dir:</b>","<b>Neues Datenspeicherverzeichnis:</b>" }, 1087{ "<b>New data storage dir:</b>","<b>Neues Datenspeicherverzeichnis:</b>" },
1088{ "New dirs are created automatically","Neue Verzeichnisse werden aut. erstellt" }, 1088{ "New dirs are created automatically","Neue Verzeichnisse werden aut. erstellt" },
1089{ "Save settings","Speichere Einstellungen" }, 1089{ "Save settings","Speichere Einstellungen" },
1090{ "Save standard","Speichere Standard" }, 1090{ "Save standard","Speichere Standard" },
1091{ "<b>New settings are used\nafter a restart</b>","<b>Neue Einstellungen werden nach\neinem Neustart genutzt</b>" }, 1091{ "<b>New settings are used\nafter a restart</b>","<b>Neue Einstellungen werden nach\neinem Neustart genutzt</b>" },
1092{ "Settings are stored in\n%1","Einstellungen werden gespeichert in:\n%1" }, 1092{ "Settings are stored in\n%1","Einstellungen werden gespeichert in:\n%1" },
1093{ "Data storage path","Daten Speicherpfad" }, 1093{ "Data storage path","Daten Speicherpfad" },
1094{ "Language","Sprache" }, 1094{ "Language","Sprache" },
1095{ "Show time in agenda items","Zeige Zeit in Agenda Items" }, 1095{ "Show time in agenda items","Zeige Zeit in Agenda Items" },
1096{ "Color for Sundays + category "Holiday"","Farbe für Sonntags + Kategorie "Feiertag"" }, 1096{ "Color for Sundays + category "Holiday"","Farbe für Sonntags + Kategorie "Feiertag"" },
1097{ "Show events, that are done in \nWhat's Next view","Zeige abgelaufene Termine in\nWhat's Next Ansicht" }, 1097{ "Show events, that are done in \nWhat's Next view","Zeige abgelaufene Termine in\nWhat's Next Ansicht" },
1098{ "Hide not running Todos in To-do view","Verstecke nicht laufende Todos" }, 1098{ "Hide not running Todos in To-do view","Verstecke nicht laufende Todos" },
1099{ "+01:00 Europe/Oslo(CET)","+01:00 Europe/Oslo(CET)" }, 1099{ "+01:00 Europe/Oslo(CET)","+01:00 Europe/Oslo(CET)" },
1100{ "KO/Pi","KO/Pi" }, 1100{ "KO/Pi","KO/Pi" },
1101{ "There is nothing to undo!","Es gibt nichts zum\nRückgängigmachen!" }, 1101{ "There is nothing to undo!","Es gibt nichts zum\nRückgängigmachen!" },
1102{ "Recreating edit dialog. Please wait...","Recreating edit dialog. Please wait..." }, 1102{ "Recreating edit dialog. Please wait...","Recreating edit dialog. Please wait..." },
1103{ "Sound.Al.: ","Sound.Al.: " }, 1103{ "Sound.Al.: ","Sound.Al.: " },
1104{ "From: %1 To: %2 %3","Von: %1 Bis: %2 %3" }, 1104{ "From: %1 To: %2 %3","Von: %1 Bis: %2 %3" },
1105{ "Restore","Wiederherstellen" }, 1105{ "Restore","Wiederherstellen" },
1106{ "\nAre you sure you want\nto restore this?","\nMöchten Sie das wirklicht\nwiederherstellen?" }, 1106{ "\nAre you sure you want\nto restore this?","\nMöchten Sie das wirklicht\nwiederherstellen?" },
1107{ "% completed","% komplett" }, 1107{ "% completed","% komplett" },
1108{ "%d item(s) found.","%d Item(s) gefunden." }, 1108{ "%d item(s) found.","%d Item(s) gefunden." },
1109{ "Set complete","Setze auf erledigt" }, 1109{ "Set complete","Setze auf erledigt" },
1110{ "(cancelled)","(gecancelt)" }, 1110{ "(cancelled)","(gecancelt)" },
1111{ "Click on the week number to\nshow week in agenda view","Klicke auf die Wochennummer\num die Woche in der Agenda anzuzeigen" }, 1111{ "Click on the week number to\nshow week in agenda view","Klicke auf die Wochennummer\num die Woche in der Agenda anzuzeigen" },
1112{ " Local time "," Locale Zeit " }, 1112{ " Local time "," Locale Zeit " },
1113{ "Form2","Form2" }, 1113{ "Form2","Form2" },
1114{ "Filter enabled","Filter angeschaltet" }, 1114{ "Filter enabled","Filter angeschaltet" },
1115{ "Edit Filters","Ändere Filter" }, 1115{ "Edit Filters","Ändere Filter" },
1116{ "Print What's Next View...","Drucke What's Next Ansicht..." }, 1116{ "Print What's Next View...","Drucke What's Next Ansicht..." },
1117{ "Agenda","Agenda" }, 1117{ "Agenda","Agenda" },
1118{ " ("," (" }, 1118{ " ("," (" },
1119{ "<p><b>Due on:</b> %1</p>","<p><b>Fällig am:</b> %1</p>" }, 1119{ "<p><b>Due on:</b> %1</p>","<p><b>Fällig am:</b> %1</p>" },
1120{ "Print","Print" }, 1120{ "Print","Print" },
1121{ "&Setup Printer...","Drucker &Setup..." }, 1121{ "&Setup Printer...","Drucker &Setup..." },
1122{ "View Type","Zeige Typ" }, 1122{ "View Type","Zeige Typ" },
1123{ "Page &orientation:","Seiten Ausrichtung:" }, 1123{ "Page &orientation:","Seiten Ausrichtung:" },
1124{ "Use Default of Selected Style","Default des selektierten Stils" }, 1124{ "Use Default of Selected Style","Default des selektierten Stils" },
1125{ "Use Default Setting of Printer","Default Einstellung des Druckers" }, 1125{ "Use Default Setting of Printer","Default Einstellung des Druckers" },
1126{ "Portrait","Portrait" }, 1126{ "Portrait","Portrait" },
1127{ "Landscape","Landschaft" }, 1127{ "Landscape","Landschaft" },
1128{ "Print day","Drucke Tag" }, 1128{ "Print day","Drucke Tag" },
1129{ "CalPrintDay_Base","CalPrintDay_Base" }, 1129{ "CalPrintDay_Base","CalPrintDay_Base" },
1130{ "Date && Time Range","Datum && Zeitspanne" }, 1130{ "Date && Time Range","Datum && Zeitspanne" },
1131{ "&End date:","&Enddatum:" }, 1131{ "&End date:","&Enddatum:" },
1132{ "&Start date:","&Startdatum:" }, 1132{ "&Start date:","&Startdatum:" },
1133{ "Start &time:","Startzeit:" }, 1133{ "Start &time:","Startzeit:" },
1134{ "End ti&me:","Endzeit:" }, 1134{ "End ti&me:","Endzeit:" },
1135{ "E&xtend time range to include all events","Erweitere Zeitspanne um alle Termine einzuschliessen" }, 1135{ "E&xtend time range to include all events","Erweitere Zeitspanne um alle Termine einzuschliessen" },
1136{ "Include to&dos that are due on the printed day(s)","Inclusive To&dos, die an den selektierten Tagen fällig sind" }, 1136{ "Include to&dos that are due on the printed day(s)","Inclusive To&dos, die an den selektierten Tagen fällig sind" },
1137{ "Alt+D","Alt+D" }, 1137{ "Alt+D","Alt+D" },
1138{ "&Use colors","Nutze Farben" }, 1138{ "&Use colors","Nutze Farben" },
1139{ "Alt+U","Alt+U" }, 1139{ "Alt+U","Alt+U" },
1140{ "Print week","Drucke Woche" }, 1140{ "Print week","Drucke Woche" },
1141{ "CalPrintWeek_Base","CalPrintWeek_Base" }, 1141{ "CalPrintWeek_Base","CalPrintWeek_Base" },
1142{ "Use &colors","Nutze Farben" }, 1142{ "Use &colors","Nutze Farben" },
1143{ "Type of View","Typ der Ansicht" }, 1143{ "Type of View","Typ der Ansicht" },
1144{ "Print as &Filofax page","Drucke als &Filofax Seite" }, 1144{ "Print as &Filofax page","Drucke als &Filofax Seite" },
1145{ "Alt+F","Alt+F" }, 1145{ "Alt+F","Alt+F" },
1146{ "Print as &timetable view:","Drucke als Zeittabelle:" }, 1146{ "Print as &timetable view:","Drucke als Zeittabelle:" },
1147{ "Alt+T","Alt+T" }, 1147{ "Alt+T","Alt+T" },
1148{ "Print as split week view","Drucke als gesplittete Wochenansicht" }, 1148{ "Print as split week view","Drucke als gesplittete Wochenansicht" },
1149{ "Print month","Drucke Monat" }, 1149{ "Print month","Drucke Monat" },
1150{ "CalPrintMonth_Base","CalPrintMonth_Base" }, 1150{ "CalPrintMonth_Base","CalPrintMonth_Base" },
1151{ "&Start month:","&Startmonat:" }, 1151{ "&Start month:","&Startmonat:" },
1152{ "&End month:","&Endmonat:" }, 1152{ "&End month:","&Endmonat:" },
1153{ "Print week &numbers","Drucke Wochen Nummer(n)" }, 1153{ "Print week &numbers","Drucke Wochen Nummer(n)" },
1154{ "Print todos","Drucke Todos" }, 1154{ "Print todos","Drucke Todos" },
1155{ "CalPrintTodoConfig_Base","CalPrintTodoConfig_Base" }, 1155{ "CalPrintTodoConfig_Base","CalPrintTodoConfig_Base" },
1156{ "Include &description of the item","Inclusive Itembeschreibung" }, 1156{ "Include &description of the item","Inclusive Itembeschreibung" },
1157{ "Include d&ue date of the item","Inclusive Fälligkeitsdatum des Items" }, 1157{ "Include d&ue date of the item","Inclusive Fälligkeitsdatum des Items" },
1158{ "Include &priority of the item","Inclusive Priorität des Items" }, 1158{ "Include &priority of the item","Inclusive Priorität des Items" },
1159{ "Items to Print","Zu druckende Items" }, 1159{ "Items to Print","Zu druckende Items" },
1160{ "&From:","Von:" }, 1160{ "&From:","Von:" },
1161{ "&To:","Bis:" }, 1161{ "&To:","Bis:" },
1162{ "Print &all todo items","Drucke alle Todo Items" }, 1162{ "Print &all todo items","Drucke alle Todo Items" },
1163{ "Print only &uncompleted items","Drucke nur nicht erledigte Todos" }, 1163{ "Print only &uncompleted items","Drucke nur nicht erledigte Todos" },
1164{ "Only items due in the &range:","Nur Items in dem Zeitraum:" }, 1164{ "Only items due in the &range:","Nur Items in dem Zeitraum:" },
1165{ "Todo List","Todo Liste" }, 1165{ "Todo List","Todo Liste" },
1166{ "&Title:","&Titel:" }, 1166{ "&Title:","&Titel:" },
1167{ "Co&nnect subtodos with its parent","Verbinde Unter-Todos mit ihren Ober-Todos" }, 1167{ "Co&nnect subtodos with its parent","Verbinde Unter-Todos mit ihren Ober-Todos" },
1168{ "Todo list","Todo Liste" }, 1168{ "Todo list","Todo Liste" },
1169{ "&Print...","Drucke..." }, 1169{ "&Print...","Drucke..." },
1170{ "<qt>Printing on printer <b>%1</b></qt>","<qt>Drucke auf Drucker <b>%1</b></qt>" }, 1170{ "<qt>Printing on printer <b>%1</b></qt>","<qt>Drucke auf Drucker <b>%1</b></qt>" },
1171{ "[Unconfigured]","[Unkonfiguriert]" }, 1171{ "[Unconfigured]","[Unkonfiguriert]" },
1172{ "OK","OK" }, 1172{ "OK","OK" },
1173{ "FilterEditor","FilterEditor" }, 1173{ "FilterEditor","FilterEditor" },
1174{ "Include","Inclusive" }, 1174{ "Include","Inclusive" },
1175{ "Exclude","Exclusive" }, 1175{ "Exclude","Exclusive" },
1176{ "Edit Selection...","Editiere Auswahl" }, 1176{ "Edit Selection...","Editiere Auswahl" },
1177{ "recurring events","wiederholende Termine" }, 1177{ "recurring events","wiederholende Termine" },
1178{ "recurr. events","wiederh.Termine" }, 1178{ "recurr. events","wiederh.Termine" },
1179{ "completed to-dos","erledigte Todos" }, 1179{ "completed to-dos","erledigte Todos" },
1180{ "events","Termine" }, 1180{ "events","Termine" },
1181{ "todos","Todos" }, 1181{ "todos","Todos" },
1182{ "journals","Journale" }, 1182{ "journals","Journale" },
1183{ "public","öffentl." }, 1183{ "public","öffentl." },
1184{ "private","privat" }, 1184{ "private","privat" },
1185{ "confidential","vertraul." }, 1185{ "confidential","vertraul." },
1186{ "\nhas sub-todos.\nAll completed sub-todos\nwill be deleted as well!","\nhat Unter-Todos.\nAlle erledigten Unter-Todos\nwerden auch gelöscht!" }, 1186{ "\nhas sub-todos.\nAll completed sub-todos\nwill be deleted as well!","\nhat Unter-Todos.\nAlle erledigten Unter-Todos\nwerden auch gelöscht!" },
1187{ "Yesterday","Gestern" }, 1187{ "Yesterday","Gestern" },
1188{ "Day after tomorrow","Übermorgen" }, 1188{ "Day after tomorrow","Übermorgen" },
1189{ "Tomorrow","Morgen" }, 1189{ "Tomorrow","Morgen" },
1190{ "Day before yesterday","Vorgestern" }, 1190{ "Day before yesterday","Vorgestern" },
1191{ "Size %1","Größe %1" }, 1191{ "Size %1","Größe %1" },
1192{ "New Agendasize: %1","Neue Agendagröße: %1" }, 1192{ "New Agendasize: %1","Neue Agendagröße: %1" },
1193{ " (%1 y.)"," (%1 J.)" }, 1193{ " (%1 y.)"," (%1 J.)" },
1194{ "Allday:","Ganztägig:" }, 1194{ "Allday:","Ganztägig:" },
1195{ "compl.todos","erled.Todos" }, 1195{ "compl.todos","erled.Todos" },
1196{ "Day view","Tagesansicht" }, 1196{ "Day view","Tagesansicht" },
1197{ "Next days","Nächste Tage" }, 1197{ "Next days","Nächste Tage" },
1198{ "Next week","Nächste Woche" }, 1198{ "Next week","Nächste Woche" },
1199{ "Next two weeks","Nächste zwei Wochen" }, 1199{ "Next two weeks","Nächste zwei Wochen" },
1200{ "Next month","Nächster Monat" }, 1200{ "Next month","Nächster Monat" },
1201{ "Journal view","Journal" }, 1201{ "Journal view","Journal" },
1202{ "Display all opened","Zeige alle geöffnet" }, 1202{ "Display all opened","Zeige alle geöffnet" },
1203{ "Display all closed","Zeige alle geschlossen" }, 1203{ "Display all closed","Zeige alle geschlossen" },
1204{ "Display all flat","Zeige alle flach" }, 1204{ "Display all flat","Zeige alle flach" },
1205{ "<p><i>Completed on %1</i></p>","<p><i>Erledigt am %1</i></p>" }, 1205{ "<p><i>Completed on %1</i></p>","<p><i>Erledigt am %1</i></p>" },
1206{ "Default todo done color:","Standard Todo erledigt Farbe" }, 1206{ "Default todo done color:","Standard Todo erledigt Farbe" },
1207{ "Select week %1-%2","Wähle Woche %1-%2" }, 1207{ "Select week %1-%2","Wähle Woche %1-%2" },
1208{ "Select Week","Wähle Woche" }, 1208{ "Select Week","Wähle Woche" },
1209{ "Set alarm for selected...","Setze Alarm für Selekt..." }, 1209{ "Set alarm for selected...","Setze Alarm für Selekt..." },
1210{ "Set Alarm!","Setze Alarm!" }, 1210{ "Set Alarm!","Setze Alarm!" },
1211{ "Canged alarm for %1 items","Alarm für %1 Items geändert" }, 1211{ "Canged alarm for %1 items","Alarm für %1 Items geändert" },
1212{ " and "," und " }, 1212{ " and "," und " },
1213{ "<IMG src="%1"> only )","nur <IMG src="%1"> )" }, 1213{ "<IMG src="%1"> only )","nur <IMG src="%1"> )" },
1214{ "Mail to selected","Mail an Ausgewählte" }, 1214{ "Mail to selected","Mail an Ausgewählte" },
1215{ "Mail to all","Mail an Alle" }, 1215{ "Mail to all","Mail an Alle" },
1216{ "Week view mode uses bigger font","Wochenansicht Modus nutzt größeren Font" }, 1216{ "Week view mode uses bigger font","Wochenansicht Modus nutzt größeren Font" },
1217{ "Set reminder ON with offset to:","Alarm AN mit Offset auf:" }, 1217{ "Set reminder ON with offset to:","Alarm AN mit Offset auf:" },
1218{ " on"," am" }, 1218{ " on"," am" },
1219{ " completed on "," erledigt am " }, 1219{ " completed on "," erledigt am " },
1220{ "Save as Event template","Speichere als Vorlage" }, 1220{ "Save as Event template","Speichere als Vorlage" },
1221{ "Load Event template","Lade Termin Vorlage" }, 1221{ "Load Event template","Lade Termin Vorlage" },
1222{ "Save as Journal template","Speichere als Journal Vorlage" }, 1222{ "Save as Journal template","Speichere als Journal Vorlage" },
1223{ "Insert Journal template","Füge Journal Vorlage ein" }, 1223{ "Insert Journal template","Füge Journal Vorlage ein" },
1224{ "Sub todos:<br>","Unter Todos:<br>" }, 1224{ "Sub todos:<br>","Unter Todos:<br>" },
1225{ "Parent todo:<br>","Über Todo:<br>" }, 1225{ "Parent todo:<br>","Über Todo:<br>" },
1226{ "Set current as color category","Setze Gewählte als Farbkategorie" }, 1226{ "Set current as color category","Setze Gewählte als Farbkategorie" },
1227{ " completed"," erledigt" }, 1227{ " completed"," erledigt" },
1228{ "(c)2004 Lutz Rogowski (rogowski@kde.org)\nKO/Pi is based on KOrganizer\n(c)2002,2003 Cornelius Schumacher\n(schumacher@kde.org) and the KDE team.\nKOrganizer/Pi is licensed under the GPL.\nKO/Pi can be compiled for\nLinux, Zaurus-PDA and Windows\nwww.pi-sync.net --- www.korganizer.org\nSpecial thanks to Michael and Ben\nfor intensive testing!","(c)2004 Lutz Rogowski (rogowski@kde.org)\nKO/Pi basiert auf KOrganizer\n(c)2002,2003 Cornelius Schumacher\n(schumacher@kde.org) und das KDE Team.\nKOrganizer/Pi ist lizensiert unter der GPL.\nKO/Pi kann kompiliert werden für\nLinux, Zaurus-PDA und Windows\nwww.pi-sync.net --- www.korganizer.org\nBesonderen Dank an Michael und Ben\nfür intensives Testen!" }, 1228{ "(c)2004 Lutz Rogowski (rogowski@kde.org)\nKO/Pi is based on KOrganizer\n(c)2002,2003 Cornelius Schumacher\n(schumacher@kde.org) and the KDE team.\nKOrganizer/Pi is licensed under the GPL.\nKO/Pi can be compiled for\nLinux, Zaurus-PDA and Windows\nwww.pi-sync.net --- www.korganizer.org\nSpecial thanks to Michael and Ben\nfor intensive testing!","(c)2004 Lutz Rogowski (rogowski@kde.org)\nKO/Pi basiert auf KOrganizer\n(c)2002,2003 Cornelius Schumacher\n(schumacher@kde.org) und das KDE Team.\nKOrganizer/Pi ist lizensiert unter der GPL.\nKO/Pi kann kompiliert werden für\nLinux, Zaurus-PDA und Windows\nwww.pi-sync.net --- www.korganizer.org\nBesonderen Dank an Michael und Ben\nfür intensives Testen!" },
1229{ "Syncing aborted. Nothing synced.","Syncing abgebrochen.Nichts wurde gesynct." }, 1229{ "Syncing aborted. Nothing synced.","Syncing abgebrochen.Nichts wurde gesynct." },
1230{ "Connected! Sending request for remote file ...","Verbunden! Sende Daten Anfrage..." }, 1230{ "Connected! Sending request for remote file ...","Verbunden! Sende Daten Anfrage..." },
1231{ "Trying to connect to remote...","Versuche mit Gegenstelle zu verbinden..." }, 1231{ "Trying to connect to remote...","Versuche mit Gegenstelle zu verbinden..." },
1232{ "Connection to remote\nhost timed out!\nDid you forgot to enable\nsyncing on remote host?","Verbindungsversuch wegen\nZeitüberschreitung gescheitert!\nWurde vergessen Pi-Sync auf\nder Gegenstelle anzuschalten?" }, 1232{ "Connection to remote\nhost timed out!\nDid you forgot to enable\nsyncing on remote host?","Verbindungsversuch wegen\nZeitüberschreitung gescheitert!\nWurde vergessen Pi-Sync auf\nder Gegenstelle anzuschalten?" },
1233{ "ERROR: Receiving remote file failed.","FEHLER: Empfang der entfernten Daten fehlgeschlagen." }, 1233{ "ERROR: Receiving remote file failed.","FEHLER: Empfang der entfernten Daten fehlgeschlagen." },
1234{ "Error","Fehler" }, 1234{ "Error","Fehler" },
1235{ ""You entered an invalid date!\n Date changed to current date.","Ungültiges Datum eingegeben.\nSetze heutiges Datum." }, 1235{ ""You entered an invalid date!\n Date changed to current date.","Ungültiges Datum eingegeben.\nSetze heutiges Datum." },
1236{ "You entered an invalid date!\n Will use current date instead.","Ungültiges Datum eingegeben.\nSetze stattdessen heutiges Datum." }, 1236{ "You entered an invalid date!\n Will use current date instead.","Ungültiges Datum eingegeben.\nSetze stattdessen heutiges Datum." },
1237{ "Warning","Warnung" }, 1237{ "Warning","Warnung" },
1238{ "Select week number","Wähle Wochen Nummer" }, 1238{ "Select week number","Wähle Wochen Nummer" },
1239{ "Februar","Februar" }, 1239{ "Februar","Februar" },
1240{ "Click on the week number to\nshow week zoomed","Klicke auf die Wochennummer\num die Woche groß zu zeigen" }, 1240{ "Click on the week number to\nshow week zoomed","Klicke auf die Wochennummer\num die Woche groß zu zeigen" },
1241{ "W","W" }, 1241{ "W","W" },
1242{ "Click on this to\nselect week number","Klicke hierauf um\ndie Woche auszuwählen" }, 1242{ "Click on this to\nselect week number","Klicke hierauf um\ndie Woche auszuwählen" },
1243{ "T: %1","T: %1" }, 1243{ "T: %1","T: %1" },
1244{ "Start: ","Start: " }, 1244{ "Start: ","Start: " },
1245{ "Pi-Sync options for device: ","Pi-Sync Einstellungen für Gerät: " }, 1245{ "Pi-Sync options for device: ","Pi-Sync Einstellungen für Gerät: " },
1246{ "Password for remote access:","Passwort für fernen Zugriff:" }, 1246{ "Password for remote access:","Passwort für fernen Zugriff:" },
1247{ "Remote IP address:","Ferne IP Adresse:" }, 1247{ "Remote IP address:","Ferne IP Adresse:" },
1248{ "Remote port number:","Ferne Port Nummer:" }, 1248{ "Remote port number:","Ferne Port Nummer:" },
1249{ "Remote file saved to temp file.","Ferne Daten in temp Datei gespeichert." }, 1249{ "Remote file saved to temp file.","Ferne Daten in temp Datei gespeichert." },
1250{ "Remote from: ","Fern von: " }, 1250{ "Remote from: ","Fern von: " },
1251{ "Local from: ","Lokal von: " }, 1251{ "Local from: ","Lokal von: " },
1252{ "Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n %d incoming filtered out\n %d outgoing filtered out\n","Synchronisationsübersicht:\n\n %d lokal hinzugefügt\n %d fern hinzugefügt\n %d lokal geändert\n %d fern geändert\n %d lokal gelöscht\n %d fern gelöscht\n %d eingehende ausgefiltert\n %d ausgehende ausgefiltert\n" }, 1252{ "Synchronization summary:\n\n %d items added to local\n %d items added to remote\n %d items updated on local\n %d items updated on remote\n %d items deleted on local\n %d items deleted on remote\n %d incoming filtered out\n %d outgoing filtered out\n","Synchronisationsübersicht:\n\n %d lokal hinzugefügt\n %d fern hinzugefügt\n %d lokal geändert\n %d fern geändert\n %d lokal gelöscht\n %d fern gelöscht\n %d eingehende ausgefiltert\n %d ausgehende ausgefiltert\n" },
1253{ "Local calendar changed!\n","Lokaler Kalender geändert!\n" }, 1253{ "Local calendar changed!\n","Lokaler Kalender geändert!\n" },
1254{ "Write back","Schreibe zurück" }, 1254{ "Write back","Schreibe zurück" },
1255{ "KO/Pi Synchronization","KO/Pi Synchronisation" }, 1255{ "KO/Pi Synchronization","KO/Pi Synchronisation" },
1256{ "Pi-Sync succesful!","Pi-Sync erfolgreich!" }, 1256{ "Pi-Sync succesful!","Pi-Sync erfolgreich!" },
1257{ "Received sync request","Sync Anfrage erhalten" }, 1257{ "Received sync request","Sync Anfrage erhalten" },
1258{ "Synchronizing from remote ...\n\nDo not use this application!\n\nIf syncing fails\nyou can close this dialog.","Ferne Synchronisation ...\n\nBenutze diese Anwendung nicht!\n\nWenn das Syncen fehlschlägt kann\ndieser Dialog geschlossen werden." }, 1258{ "Synchronizing from remote ...\n\nDo not use this application!\n\nIf syncing fails\nyou can close this dialog.","Ferne Synchronisation ...\n\nBenutze diese Anwendung nicht!\n\nWenn das Syncen fehlschlägt kann\ndieser Dialog geschlossen werden." },
1259{ "Saving Data to temp file ...","Speichere Daten in temp Datei..." }, 1259{ "Saving Data to temp file ...","Speichere Daten in temp Datei..." },
1260{ "Data saved to temp file!","Daten in temp Datei gespeichert!" }, 1260{ "Data saved to temp file!","Daten in temp Datei gespeichert!" },
1261{ "Sending file...","Sende Datei..." }, 1261{ "Sending file...","Sende Datei..." },
1262{ "Waiting for synced file...","Warte auf gesyncte Daten..." }, 1262{ "Waiting for synced file...","Warte auf gesyncte Daten..." },
1263{ "Receiving synced file...","Gesyncte Daten erhalten..." }, 1263{ "Receiving synced file...","Gesyncte Daten erhalten..." },
1264{ "Received %1 bytes","%1 Bytes erhalten" }, 1264{ "Received %1 bytes","%1 Bytes erhalten" },
1265{ "Writing file to disk...","Speichere Datei..." }, 1265{ "Writing file to disk...","Speichere Datei..." },
1266{ "Pi-Sync successful!","Pi-Sync erfolgreich!" }, 1266{ "Pi-Sync successful!","Pi-Sync erfolgreich!" },
1267{ "Clock skew of\nsyncing devices\nis %1 seconds!","Uhrzeitunterschied der\nsyncenden Geräte\nist %1 Sekunden!" }, 1267{ "Clock skew of\nsyncing devices\nis %1 seconds!","Uhrzeitunterschied der\nsyncenden Geräte\nist %1 Sekunden!" },
1268{ "Synchronize!","Synchronisiere!" }, 1268{ "Synchronize!","Synchronisiere!" },
1269{ "High clock skew!","Großer Uhrzeitunterschied!" }, 1269{ "High clock skew!","Großer Uhrzeitunterschied!" },
1270{ "ADJUST\nYOUR\nCLOCKS!","JUSTIERE\nDIE\nUHREN!" }, 1270{ "ADJUST\nYOUR\nCLOCKS!","JUSTIERE\nDIE\nUHREN!" },
1271{ "The clocks of the syncing\ndevices have a difference\nof more than 5 minutes.\nPlease adjust your clocks.\nYou may get wrong syncing results!\nPlease confirm synchronization!","Die Uhren der syncenden Geräte\nhaben einen Unterschied von\nmehr als 5 Minuten. Bitte die\nUhrzeiten anpassen. Sie können\nfalsche Sync-Resultate erhalten!\nBitte das Syncen bestätigen!" }, 1271{ "The clocks of the syncing\ndevices have a difference\nof more than 5 minutes.\nPlease adjust your clocks.\nYou may get wrong syncing results!\nPlease confirm synchronization!","Die Uhren der syncenden Geräte\nhaben einen Unterschied von\nmehr als 5 Minuten. Bitte die\nUhrzeiten anpassen. Sie können\nfalsche Sync-Resultate erhalten!\nBitte das Syncen bestätigen!" },
1272{ "This is a %1 recurring todo.","Das ist eine %1 wiederholende Aufgabe." }, 1272{ "This is a %1 recurring todo.","Das ist eine %1 wiederholende Aufgabe." },
1273{ "<p><b>Start on:</b> %1</p>","<p><b>Start am:</b> %1</p>" }, 1273{ "<p><b>Start on:</b> %1</p>","<p><b>Start am:</b> %1</p>" },
1274{ "List week view","Listenwochenansicht" }, 1274{ "List week view","Listenwochenansicht" },
1275{ "List week","Listenwochenansicht" }, 1275{ "List week","Listenwochenansicht" },
1276{ "Next Week","Nächste Woche" }, 1276{ "Next Week","Nächste Woche" },
1277{ "Previous Week","Vorherige Woche" }, 1277{ "Previous Week","Vorherige Woche" },
1278{ "No items were found matching\nyour search expression.\nUse the wildcard characters\n'*' and '?' where needed.","Keine Einträge gefunden die\ndem Suchausdruck entsprechen.\nBenutze Platzhalter Zeichen\n'*' und '?' wo benötigt." }, 1278{ "No items were found matching\nyour search expression.\nUse the wildcard characters\n'*' and '?' where needed.","Keine Einträge gefunden die\ndem Suchausdruck entsprechen.\nBenutze Platzhalter Zeichen\n'*' und '?' wo benötigt." },
1279{ "Show in todo/event viewer:","Zeige in Termin/Todo Anzeige:" }, 1279{ "Show in todo/event viewer:","Zeige in Termin/Todo Anzeige:" },
1280{ "Details","Details" }, 1280{ "Details","Details" },
1281{ "Created time","Erstellt Zeit" }, 1281{ "Created time","Erstellt Zeit" },
1282{ "Last modified time","Geändert Zeit" }, 1282{ "Last modified time","Geändert Zeit" },
1283{ "Show in What'sThis quick overview:","Zeige in What'sThis Schnellübersicht:" }, 1283{ "Show in What'sThis quick overview:","Zeige in What'sThis Schnellübersicht:" },
1284{ "View Options","Anzeige Optionen" }, 1284{ "View Options","Anzeige Optionen" },
1285{ "<b>Created: ","<b>Erstellt am: " }, 1285{ "<b>Created: ","<b>Erstellt am: " },
1286{ "<b>Last modified: ","<b>Zuletzt geändert am: " }, 1286{ "<b>Last modified: ","<b>Zuletzt geändert am: " },
1287{ "Journal: ","Journal: " }, 1287{ "Journal: ","Journal: " },
1288{ "yearly","jährlich" }, 1288{ "yearly","jährlich" },
1289{ "(%1) ","%1-" }, 1289{ "(%1) ","%1-" },
1290{ "","" }, 1290{ "<p><b>K</b>: Week view in Month view syle</p>\n","<p><b>K</b>: Wochenansicht in Art der Monatsansicht</p>\n" },
1291{ "","" }, 1291{ "","" },
1292{ "","" }, 1292{ "","" },
1293{ "","" }, 1293{ "","" },
1294{ "","" }, 1294{ "","" },
1295{ "","" }, 1295{ "","" },
1296{ "","" }, 1296{ "","" },
1297{ "","" }, 1297{ "","" },
1298{ "","" }, 1298{ "","" },
1299{ "","" }, 1299{ "","" },
1300 1300
diff --git a/korganizer/koagendaitem.cpp b/korganizer/koagendaitem.cpp
index 7b29ce7..d0a7b07 100644
--- a/korganizer/koagendaitem.cpp
+++ b/korganizer/koagendaitem.cpp
@@ -1,765 +1,765 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18*/ 18*/
19 19
20#include <qlabel.h> 20#include <qlabel.h>
21#include <qlayout.h> 21#include <qlayout.h>
22#include <qhbox.h> 22#include <qhbox.h>
23#include <qvbox.h> 23#include <qvbox.h>
24#include <qtooltip.h> 24#include <qtooltip.h>
25#include <qwhatsthis.h> 25#include <qwhatsthis.h>
26#include <qdragobject.h> 26#include <qdragobject.h>
27#include <qdrawutil.h> 27#include <qdrawutil.h>
28#include <qpainter.h> 28#include <qpainter.h>
29 29
30#include <kiconloader.h> 30#include <kiconloader.h>
31#include <kdebug.h> 31#include <kdebug.h>
32#include <kglobal.h> 32#include <kglobal.h>
33#include <klocale.h> 33#include <klocale.h>
34#ifndef DESKTOP_VERSION 34#ifndef DESKTOP_VERSION
35#include <qpe/qpeapplication.h> 35#include <qpe/qpeapplication.h>
36#define AGENDA_ICON_SIZE 5 36#define AGENDA_ICON_SIZE 5
37#else 37#else
38#define AGENDA_ICON_SIZE 7 38#define AGENDA_ICON_SIZE 7
39#endif 39#endif
40#include <libkcal/icaldrag.h> 40#include <libkcal/icaldrag.h>
41#include <libkcal/vcaldrag.h> 41#include <libkcal/vcaldrag.h>
42#include <libkcal/kincidenceformatter.h> 42#include <libkcal/kincidenceformatter.h>
43extern int globalFlagBlockAgenda; 43extern int globalFlagBlockAgenda;
44extern int globalFlagBlockAgendaItemPaint; 44extern int globalFlagBlockAgendaItemPaint;
45extern int globalFlagBlockAgendaItemUpdate; 45extern int globalFlagBlockAgendaItemUpdate;
46 46
47#include "koprefs.h" 47#include "koprefs.h"
48 48
49#include "koagendaitem.h" 49#include "koagendaitem.h"
50//#include "koagendaitem.moc" 50//#include "koagendaitem.moc"
51 51
52 52
53//-------------------------------------------------------------------------- 53//--------------------------------------------------------------------------
54 54
55QToolTipGroup *KOAgendaItem::mToolTipGroup = 0; 55QToolTipGroup *KOAgendaItem::mToolTipGroup = 0;
56 56
57//-------------------------------------------------------------------------- 57//--------------------------------------------------------------------------
58 58
59class KOAgendaItemWhatsThis :public QWhatsThis 59class KOAgendaItemWhatsThis :public QWhatsThis
60{ 60{
61public: 61public:
62 KOAgendaItemWhatsThis( KOAgendaItem* view ) : QWhatsThis( view ),_view (view) { }; 62 KOAgendaItemWhatsThis( KOAgendaItem* view ) : QWhatsThis( view ),_view (view) { };
63 63
64protected: 64protected:
65 virtual QString text( const QPoint& ) 65 virtual QString text( const QPoint& )
66 { 66 {
67 return _view->getWhatsThisText() ; 67 return _view->getWhatsThisText() ;
68 } 68 }
69private: 69private:
70 KOAgendaItem * _view; 70 KOAgendaItem * _view;
71}; 71};
72 72
73KOAgendaItem::KOAgendaItem(Incidence *incidence, QDate qd, QWidget *parent,bool allday, 73KOAgendaItem::KOAgendaItem(Incidence *incidence, QDate qd, QWidget *parent,bool allday,
74 const char *name,WFlags) : 74 const char *name,WFlags) :
75 QWidget(parent, name), mIncidence(incidence), mDate(qd) 75 QWidget(parent, name), mIncidence(incidence), mDate(qd)
76{ 76{
77#ifndef DESKTOP_VERSION 77#ifndef DESKTOP_VERSION
78 QPEApplication::setStylusOperation( this, QPEApplication::RightOnHold ); 78 QPEApplication::setStylusOperation( this, QPEApplication::RightOnHold );
79#endif 79#endif
80 new KOAgendaItemWhatsThis(this); 80 new KOAgendaItemWhatsThis(this);
81 int wflags = getWFlags() |WRepaintNoErase;// WResizeNoErase 81 int wflags = getWFlags() |WRepaintNoErase;// WResizeNoErase
82 setWFlags ( wflags); 82 setWFlags ( wflags);
83 mAllDay = allday; 83 mAllDay = allday;
84 init ( incidence, qd ); 84 init ( incidence, qd );
85 setMouseTracking(true); 85 setMouseTracking(true);
86 //setAcceptDrops(true); 86 //setAcceptDrops(true);
87 xPaintCoord = -1; 87 xPaintCoord = -1;
88 yPaintCoord = -1; 88 yPaintCoord = -1;
89} 89}
90QString KOAgendaItem::getWhatsThisText() 90QString KOAgendaItem::getWhatsThisText()
91{ 91{
92 if ( mIncidence ) 92 if ( mIncidence )
93 return KIncidenceFormatter::instance()->getFormattedText( mIncidence, 93 return KIncidenceFormatter::instance()->getFormattedText( mIncidence,
94 KOPrefs::instance()->mWTshowDetails, 94 KOPrefs::instance()->mWTshowDetails,
95 KOPrefs::instance()->mWTshowCreated, 95 KOPrefs::instance()->mWTshowCreated,
96 KOPrefs::instance()->mWTshowChanged); 96 KOPrefs::instance()->mWTshowChanged);
97 return "KOAgendaItem::getWhatsThisText()::internal error"; 97 return "KOAgendaItem::getWhatsThisText()::internal error";
98} 98}
99void KOAgendaItem::init ( Incidence *incidence, QDate qd ) 99void KOAgendaItem::init ( Incidence *incidence, QDate qd )
100{ 100{
101 mIncidence = incidence; 101 mIncidence = incidence;
102 mDate = qd; 102 mDate = qd;
103 mFirstMultiItem = 0; 103 mFirstMultiItem = 0;
104 mNextMultiItem = 0; 104 mNextMultiItem = 0;
105 mLastMultiItem = 0; 105 mLastMultiItem = 0;
106 computeText(); 106 computeText();
107 107
108 if ( (incidence->type() == "Todo") && 108 if ( (incidence->type() == "Todo") &&
109 ( !((static_cast<Todo*>(incidence))->isCompleted()) && 109 ( !((static_cast<Todo*>(incidence))->isCompleted()) &&
110 ((static_cast<Todo*>(incidence))->dtDue().date() <= QDate::currentDate()) ) ) { 110 ((static_cast<Todo*>(incidence))->dtDue().date() <= QDate::currentDate()) ) ) {
111 if ( (static_cast<Todo*>(incidence))->dtDue() < QDateTime::currentDateTime().date()) 111 if ( (static_cast<Todo*>(incidence))->dtDue() < QDateTime::currentDateTime().date())
112 mBackgroundColor = KOPrefs::instance()->mTodoOverdueColor ; 112 mBackgroundColor = KOPrefs::instance()->mTodoOverdueColor ;
113 else 113 else
114 mBackgroundColor = KOPrefs::instance()->mTodoDueTodayColor; 114 mBackgroundColor = KOPrefs::instance()->mTodoDueTodayColor;
115 } 115 }
116 else { 116 else {
117 QStringList categories = mIncidence->categories(); 117 QStringList categories = mIncidence->categories();
118 QString cat = categories.first(); 118 QString cat = categories.first();
119 if (cat.isEmpty()) { 119 if (cat.isEmpty()) {
120 if ( (incidence->type() == "Todo") &&((static_cast<Todo*>(incidence))->isCompleted()) ) 120 if ( (incidence->type() == "Todo") &&((static_cast<Todo*>(incidence))->isCompleted()) )
121 mBackgroundColor =KOPrefs::instance()->mTodoDoneColor; 121 mBackgroundColor =KOPrefs::instance()->mTodoDoneColor;
122 else 122 else
123 mBackgroundColor =KOPrefs::instance()->mEventColor; 123 mBackgroundColor =KOPrefs::instance()->mEventColor;
124 } else { 124 } else {
125 mBackgroundColor = *KOPrefs::instance()->categoryColor(cat); 125 mBackgroundColor = *KOPrefs::instance()->categoryColor(cat);
126 if ( (incidence->type() == "Todo") &&((static_cast<Todo*>(incidence))->isCompleted()) ) { 126 if ( (incidence->type() == "Todo") &&((static_cast<Todo*>(incidence))->isCompleted()) ) {
127 if ( mBackgroundColor == KOPrefs::instance()->mEventColor ) 127 if ( mBackgroundColor == KOPrefs::instance()->mEventColor )
128 mBackgroundColor =KOPrefs::instance()->mTodoDoneColor; 128 mBackgroundColor =KOPrefs::instance()->mTodoDoneColor;
129 } 129 }
130 } 130 }
131 131
132 } 132 }
133 mColorGroup = QColorGroup( mBackgroundColor.light(), 133 mColorGroup = QColorGroup( mBackgroundColor.light(),
134 mBackgroundColor.dark(),mBackgroundColor.light(), 134 mBackgroundColor.dark(),mBackgroundColor.light(),
135 mBackgroundColor.dark(),mBackgroundColor, black, mBackgroundColor) ; 135 mBackgroundColor.dark(),mBackgroundColor, black, mBackgroundColor) ;
136 setBackgroundColor( mBackgroundColor ); 136 setBackgroundColor( mBackgroundColor );
137 137
138 setCellXY(0,0,1); 138 setCellXY(0,0,1);
139 setCellXWidth(0); 139 setCellXWidth(0);
140 setSubCell(0); 140 setSubCell(0);
141 setSubCells(1); 141 setSubCells(1);
142 setMultiItem(0,0,0); 142 setMultiItem(0,0,0);
143 startMove(); 143 startMove();
144 mSelected = true; 144 mSelected = true;
145 select(false); 145 select(false);
146 QFontMetrics fontinf(KOPrefs::instance()->mAgendaViewFont); 146 QFontMetrics fontinf(KOPrefs::instance()->mAgendaViewFont);
147 mFontPixelSize = fontinf.height();; 147 mFontPixelSize = fontinf.height();;
148 hide(); 148 hide();
149 xPaintCoord = -1; 149 xPaintCoord = -1;
150 yPaintCoord = -1; 150 yPaintCoord = -1;
151} 151}
152 152
153 153
154KOAgendaItem::~KOAgendaItem() 154KOAgendaItem::~KOAgendaItem()
155{ 155{
156 // qDebug("deleteKOAgendaItem::~KOAgendaItem( "); 156 // qDebug("deleteKOAgendaItem::~KOAgendaItem( ");
157 157
158} 158}
159 159
160void KOAgendaItem::recreateIncidence() 160void KOAgendaItem::recreateIncidence()
161{ 161{
162#if 0 162#if 0
163 Incidence* newInc = mIncidence->clone(); 163 Incidence* newInc = mIncidence->clone();
164 newInc->recreate(); 164 newInc->recreate();
165 if ( mIncidence->doesRecur() ) { 165 if ( mIncidence->doesRecur() ) {
166 mIncidence->addExDate( mDate ); 166 mIncidence->addExDate( mDate );
167 newInc->recurrence()->unsetRecurs(); 167 newInc->recurrence()->unsetRecurs();
168 int len = mIncidence->dtStart().secsTo( ((Event*)mIncidence)->dtEnd()); 168 int len = mIncidence->dtStart().secsTo( ((Event*)mIncidence)->dtEnd());
169 QTime tim = mIncidence->dtStart().time(); 169 QTime tim = mIncidence->dtStart().time();
170 newInc->setDtStart( QDateTime(mDate, tim) ); 170 newInc->setDtStart( QDateTime(mDate, tim) );
171 ((Event*)newInc)->setDtEnd( newInc->dtStart().addSecs( len ) ); 171 ((Event*)newInc)->setDtEnd( newInc->dtStart().addSecs( len ) );
172 } 172 }
173#endif 173#endif
174 mIncidence = mIncidence->recreateCloneException( mDate ); 174 mIncidence = mIncidence->recreateCloneException( mDate );
175} 175}
176bool KOAgendaItem::updateIcons(QPainter * p, bool horLayout) 176bool KOAgendaItem::updateIcons(QPainter * p, bool horLayout)
177{ 177{
178 int size = AGENDA_ICON_SIZE; 178 int size = AGENDA_ICON_SIZE;
179 179
180 int yOff = 0; 180 int yOff = 0;
181 int xOff = 0; 181 int xOff = 0;
182 int x = pos().x() +3; 182 int x = pos().x() +3;
183 int y; 183 int y;
184 if ( mAllDay ) 184 if ( mAllDay )
185 y = pos().y()+3; 185 y = pos().y()+3;
186 else 186 else
187 y = mCellYTop * ( height() / cellHeight() ) +3; 187 y = mCellYTop * ( height() / cellHeight() ) +3;
188 if (mIncidence->cancelled()) { 188 if (mIncidence->cancelled()) {
189 int xpos = xOff*( 1 +AGENDA_ICON_SIZE )+x; 189 int xpos = xOff*( 1 +AGENDA_ICON_SIZE )+x;
190 int ypos = yOff*( 1 +AGENDA_ICON_SIZE)+y; 190 int ypos = yOff*( 1 +AGENDA_ICON_SIZE)+y;
191 p->drawLine( xpos, ypos, xpos+AGENDA_ICON_SIZE-1, ypos+AGENDA_ICON_SIZE-1 ); 191 p->drawLine( xpos, ypos, xpos+AGENDA_ICON_SIZE-1, ypos+AGENDA_ICON_SIZE-1 );
192 p->drawLine( xpos, ypos+AGENDA_ICON_SIZE-1, xpos+AGENDA_ICON_SIZE-1, ypos ); 192 p->drawLine( xpos, ypos+AGENDA_ICON_SIZE-1, xpos+AGENDA_ICON_SIZE-1, ypos );
193 if ( horLayout ) 193 if ( horLayout )
194 ++xOff; 194 ++xOff;
195 else 195 else
196 ++yOff; 196 ++yOff;
197 } 197 }
198 if (mIncidence->isAlarmEnabled()) { 198 if (mIncidence->isAlarmEnabled()) {
199 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, red ); 199 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, red );
200 if ( horLayout ) 200 if ( horLayout )
201 ++xOff; 201 ++xOff;
202 else 202 else
203 ++yOff; 203 ++yOff;
204 } 204 }
205 if (mIncidence->recurrence()->doesRecur()) { 205 if (mIncidence->recurrence()->doesRecur()) {
206 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, blue ); 206 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, blue );
207 if ( horLayout ) 207 if ( horLayout )
208 ++xOff; 208 ++xOff;
209 else 209 else
210 ++yOff; 210 ++yOff;
211 } 211 }
212 if (mIncidence->description().length() > 0) { 212 if (mIncidence->description().length() > 0) {
213 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, darkGreen ); 213 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, darkGreen );
214 if ( horLayout ) 214 if ( horLayout )
215 ++xOff; 215 ++xOff;
216 else 216 else
217 ++yOff; 217 ++yOff;
218 } 218 }
219 if (mIncidence->isReadOnly()) { 219 if (mIncidence->isReadOnly()) {
220 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, white ); 220 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, white );
221 if ( horLayout ) 221 if ( horLayout )
222 ++xOff; 222 ++xOff;
223 else 223 else
224 ++yOff; 224 ++yOff;
225 } 225 }
226 226
227 if (mIncidence->attendeeCount()>0) { 227 if (mIncidence->attendeeCount()>0) {
228 228
229 if (mIncidence->organizer() == KOPrefs::instance()->email()) { 229 if (mIncidence->organizer() == KOPrefs::instance()->email()) {
230 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, black ); 230 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, black );
231 if ( horLayout ) 231 if ( horLayout )
232 ++xOff; 232 ++xOff;
233 else 233 else
234 ++yOff; 234 ++yOff;
235 } else { 235 } else {
236 Attendee *me = mIncidence->attendeeByMails(KOPrefs::instance()->mAdditionalMails,KOPrefs::instance()->email()); 236 Attendee *me = mIncidence->attendeeByMails(KOPrefs::instance()->mAdditionalMails,KOPrefs::instance()->email());
237 if (me!=0) { 237 if (me!=0) {
238 238
239 239
240 } else { 240 } else {
241 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, yellow ); 241 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, yellow );
242 if ( horLayout ) 242 if ( horLayout )
243 ++xOff; 243 ++xOff;
244 else 244 else
245 ++yOff; 245 ++yOff;
246 246
247 } 247 }
248 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, darkYellow ); 248 p->fillRect ( xOff*( 1 +AGENDA_ICON_SIZE )+x, yOff*( 1 +AGENDA_ICON_SIZE)+y, AGENDA_ICON_SIZE, AGENDA_ICON_SIZE, darkYellow );
249 if ( horLayout ) 249 if ( horLayout )
250 ++xOff; 250 ++xOff;
251 else 251 else
252 ++yOff; 252 ++yOff;
253 253
254 } 254 }
255 255
256 } 256 }
257 return ( yOff || xOff ); 257 return ( yOff || xOff );
258} 258}
259 259
260 260
261void KOAgendaItem::select(bool selected) 261void KOAgendaItem::select(bool selected)
262{ 262{
263 //qDebug("select %d %d",firstMultiItem(), nextMultiItem() ); 263 //qDebug("select %d %d",firstMultiItem(), nextMultiItem() );
264 if (mSelected == selected) return; 264 if (mSelected == selected) return;
265 mSelected = selected; 265 mSelected = selected;
266 if ( ! isVisible() ) 266 if ( ! isVisible() )
267 return; 267 return;
268 if ( firstMultiItem() ) 268 if ( firstMultiItem() )
269 firstMultiItem()->select( selected ); 269 firstMultiItem()->select( selected );
270 if ( !firstMultiItem() && nextMultiItem() ) { 270 if ( !firstMultiItem() && nextMultiItem() ) {
271 KOAgendaItem * placeItem = nextMultiItem(); 271 KOAgendaItem * placeItem = nextMultiItem();
272 while ( placeItem ) { 272 while ( placeItem ) {
273 placeItem->select( selected ); 273 placeItem->select( selected );
274 placeItem = placeItem->nextMultiItem(); 274 placeItem = placeItem->nextMultiItem();
275 } 275 }
276 } 276 }
277 globalFlagBlockAgendaItemUpdate = 0; 277 globalFlagBlockAgendaItemUpdate = 0;
278 paintMe( selected ); 278 paintMe( selected );
279 globalFlagBlockAgendaItemUpdate = 1; 279 globalFlagBlockAgendaItemUpdate = 1;
280 repaint( false ); 280 repaint( false );
281} 281}
282 282
283 283
284/* 284/*
285 The eventFilter has to filter the mouse events of the agenda item childs. The 285 The eventFilter has to filter the mouse events of the agenda item childs. The
286 events are fed into the event handling method of KOAgendaItem. This allows the 286 events are fed into the event handling method of KOAgendaItem. This allows the
287 KOAgenda to handle the KOAgendaItems by using an eventFilter. 287 KOAgenda to handle the KOAgendaItems by using an eventFilter.
288*/ 288*/
289bool KOAgendaItem::eventFilter ( QObject *object, QEvent *e ) 289bool KOAgendaItem::eventFilter ( QObject *object, QEvent *e )
290{ 290{
291 if (e->type() == QEvent::MouseButtonPress || 291 if (e->type() == QEvent::MouseButtonPress ||
292 e->type() == QEvent::MouseButtonDblClick || 292 e->type() == QEvent::MouseButtonDblClick ||
293 e->type() == QEvent::MouseButtonRelease || 293 e->type() == QEvent::MouseButtonRelease ||
294 e->type() == QEvent::MouseMove) { 294 e->type() == QEvent::MouseMove) {
295 QMouseEvent *me = (QMouseEvent *)e; 295 QMouseEvent *me = (QMouseEvent *)e;
296 QPoint itemPos = this->mapFromGlobal(((QWidget *)object)-> 296 QPoint itemPos = this->mapFromGlobal(((QWidget *)object)->
297 mapToGlobal(me->pos())); 297 mapToGlobal(me->pos()));
298 QMouseEvent returnEvent (e->type(),itemPos,me->button(),me->state()); 298 QMouseEvent returnEvent (e->type(),itemPos,me->button(),me->state());
299 return event(&returnEvent); 299 return event(&returnEvent);
300 } else { 300 } else {
301 return false; 301 return false;
302 } 302 }
303} 303}
304void KOAgendaItem::repaintMe( ) 304void KOAgendaItem::repaintMe( )
305{ 305{
306 paintMe ( mSelected ); 306 paintMe ( mSelected );
307} 307}
308void KOAgendaItem::paintMe( bool selected, QPainter* paint ) 308void KOAgendaItem::paintMe( bool selected, QPainter* paint )
309{ 309{
310 if ( globalFlagBlockAgendaItemUpdate && ! selected) 310 if ( globalFlagBlockAgendaItemUpdate && ! selected)
311 return; 311 return;
312 QPainter pa; 312 QPainter pa;
313 313
314 if ( mSelected ) { 314 if ( mSelected ) {
315 pa.begin( paintPixSel() ); 315 pa.begin( paintPixSel() );
316 } else { 316 } else {
317 if ( mAllDay ) 317 if ( mAllDay )
318 pa.begin( paintPixAllday() ); 318 pa.begin( paintPixAllday() );
319 else 319 else
320 pa.begin( paintPix() ); 320 pa.begin( paintPix() );
321 } 321 }
322 int x, yy, w, h; 322 int x, yy, w, h;
323 float nfh = 7.0; 323 float nfh = 7.0;
324 x = pos().x(); w = width(); h = height (); 324 x = pos().x(); w = width(); h = height ();
325 if ( mAllDay ) 325 if ( mAllDay )
326 yy = y(); 326 yy = y();
327 else 327 else
328 yy = mCellYTop * ( height() / cellHeight() ); 328 yy = mCellYTop * ( height() / cellHeight() );
329 xPaintCoord= x; 329 xPaintCoord= x;
330 yPaintCoord = yy; 330 yPaintCoord = yy;
331 wPaintCoord = width(); 331 wPaintCoord = width();
332 hPaintCoord = height(); 332 hPaintCoord = height();
333 //qDebug("paintMe %s %d %d %d %d",incidence()->summary().latin1(), x, yy, width(), height()); 333 //qDebug("paintMe %s %d %d %d %d",incidence()->summary().latin1(), x, yy, width(), height());
334 if ( paint == 0 ) 334 if ( paint == 0 )
335 paint = &pa; 335 paint = &pa;
336 bool horLayout = ( w < h ); 336 bool horLayout = ( w < h );
337 int maxhei = mFontPixelSize+4; 337 int maxhei = mFontPixelSize+4;
338 if ( horLayout ) 338 if ( horLayout )
339 maxhei += AGENDA_ICON_SIZE -4; 339 maxhei += AGENDA_ICON_SIZE -4;
340 bool small = ( h < maxhei ); 340 bool small = ( h < maxhei );
341 if ( ! small ) 341 if ( ! small )
342 paint->setFont(KOPrefs::instance()->mAgendaViewFont); 342 paint->setFont(KOPrefs::instance()->mAgendaViewFont);
343 else { 343 else {
344 QFont f = KOPrefs::instance()->mAgendaViewFont; 344 QFont f = KOPrefs::instance()->mAgendaViewFont;
345 f.setBold( false ); 345 f.setBold( false );
346 int fh = f.pointSize(); 346 int fh = f.pointSize();
347 nfh = (((float)height())/(float)(mFontPixelSize+4))*fh; 347 nfh = (((float)height())/(float)(mFontPixelSize+4))*fh;
348 if ( nfh < 6 ) 348 if ( nfh < 6 )
349 nfh = 6; 349 nfh = 6;
350 f.setPointSize( nfh ); 350 f.setPointSize( nfh );
351 paint->setFont(f); 351 paint->setFont(f);
352 } 352 }
353 paint->fillRect ( x, yy, w, h, mBackgroundColor ); 353 paint->fillRect ( x, yy, w, h, mBackgroundColor );
354 static const QPixmap completedPxmp = SmallIcon("greenhook16"); 354 static const QPixmap completedPxmp = SmallIcon("greenhook16");
355 static const QPixmap overduePxmp = SmallIcon("redcross16"); 355 static const QPixmap overduePxmp = SmallIcon("redcross16");
356 if ( mIncidence->type() == "Todo" ) { 356 if ( mIncidence->type() == "Todo" ) {
357 Todo* tempTodo = static_cast<Todo*>(mIncidence); 357 Todo* tempTodo = static_cast<Todo*>(mIncidence);
358 int xx = pos().x()+(width()-completedPxmp.width()-3 ); 358 int xx = pos().x()+(width()-completedPxmp.width()-3 );
359 int yyy = yy+3; 359 int yyy = yy+3;
360 if ( tempTodo->isCompleted() ) 360 if ( tempTodo->isCompleted() )
361 paint->drawPixmap ( xx, yyy, completedPxmp ); 361 paint->drawPixmap ( xx, yyy, completedPxmp );
362 else { 362 else {
363 paint->drawPixmap ( xx, yyy, overduePxmp ); 363 paint->drawPixmap ( xx, yyy, overduePxmp );
364 364
365 } 365 }
366 } 366 }
367 bool addIcon = false; 367 bool addIcon = false;
368 if ( ! small || w > 3 * h || h > 3* w ) 368 if ( ! small || w > 3 * h || h > 3* w )
369 addIcon = updateIcons( paint, horLayout ); 369 addIcon = updateIcons( paint, horLayout );
370 370
371 qDrawShadePanel (paint, x, yy, w, h, mColorGroup, selected , 2, 0); 371 qDrawShadePanel (paint, x, yy, w, h, mColorGroup, selected , 2, 0);
372 //qDebug("draw rect %d %d %d %d ",x, yy, w, h ); 372 //qDebug("draw rect %d %d %d %d ",x, yy, w, h );
373 if ( ! small ) { 373 if ( ! small ) {
374 x += 3; yy += 3;w -= 6; h-= 5; 374 x += 3; yy += 3;w -= 6; h-= 5;
375 } else { 375 } else {
376 x += 2; yy += 1;w -= 4; h-= 4; 376 x += 2; yy += 1;w -= 4; h-= 4;
377 if ( nfh < 6.01 ) { 377 if ( nfh < 6.01 ) {
378 yy -= 2; 378 yy -= 2;
379 h += 4; 379 h += 4;
380 } 380 }
381 else 381 else
382 if ( nfh < h -2 ) 382 if ( nfh < h -2 )
383 ++yy; 383 ++yy;
384 } 384 }
385 int align; 385 int align;
386#ifndef DESKTOP_VERSION 386#ifndef DESKTOP_VERSION
387 align = ( AlignLeft|WordBreak|AlignTop); 387 align = ( AlignLeft|WordBreak|AlignTop);
388#else 388#else
389 align = ( AlignLeft|BreakAnywhere|WordBreak|AlignTop); 389 align = ( AlignLeft|BreakAnywhere|WordBreak|AlignTop);
390#endif 390#endif
391 if ( addIcon ) { 391 if ( addIcon ) {
392 if ( ! horLayout ) { 392 if ( ! horLayout ) {
393 x += AGENDA_ICON_SIZE+3; 393 x += AGENDA_ICON_SIZE+3;
394 w -= (AGENDA_ICON_SIZE+3); 394 w -= (AGENDA_ICON_SIZE+3);
395 } 395 }
396 else { 396 else {
397 yy+= AGENDA_ICON_SIZE+2; 397 yy+= AGENDA_ICON_SIZE+2;
398 h -=(AGENDA_ICON_SIZE+3); 398 h -=(AGENDA_ICON_SIZE+3);
399 } 399 }
400 } 400 }
401 int colsum = mBackgroundColor.red() + mBackgroundColor.green() + mBackgroundColor.blue(); 401 int colsum = mBackgroundColor.red() + mBackgroundColor.green() + mBackgroundColor.blue();
402 if ( colsum < 250 ) 402 if ( colsum < 250 )
403 paint->setPen ( white); 403 paint->setPen ( white);
404 if ( x < 0 ) { 404 if ( x < 0 ) {
405 w = w+x-3; 405 w = w+x-3;
406 x = 3; 406 x = 3;
407 if ( w > parentWidget()->width() ){ 407 if ( w > parentWidget()->width() ){
408 w = parentWidget()->width() - 6; 408 w = parentWidget()->width() - 6;
409#ifndef DESKTOP_VERSION 409#ifndef DESKTOP_VERSION
410 align = ( AlignCenter|WordBreak); 410 align = ( AlignHCenter|WordBreak|AlignTop);
411#else 411#else
412 align = ( AlignCenter|BreakAnywhere|WordBreak); 412 align = ( AlignHCenter|BreakAnywhere|WordBreak|AlignTop);
413#endif 413#endif
414 414
415 } 415 }
416 } 416 }
417 QRect dr; 417 QRect dr;
418 if ( w + x > parentWidget()->width() ) 418 if ( w + x > parentWidget()->width() )
419 w = parentWidget()->width()-x; 419 w = parentWidget()->width()-x;
420 paint->drawText ( x, yy, w, h, align, mDisplayedText, -1, &dr ); 420 paint->drawText ( x, yy, w, h, align, mDisplayedText, -1, &dr );
421 //qDebug("%d %d %d %d ", x, yy, w, h ); 421 //qDebug("%d %d %d %d ", x, yy, w, h );
422 if ( mIncidence->cancelled() ){ 422 if ( mIncidence->cancelled() ){
423 if ( ! small ) { 423 if ( ! small ) {
424 QFontMetrics fm ( paint->font() ); 424 QFontMetrics fm ( paint->font() );
425 paint->drawLine(dr.left(), yy+fm.height()/2, dr.right()-2, yy+fm.height()/2); 425 paint->drawLine(dr.left(), yy+fm.height()/2, dr.right()-2, yy+fm.height()/2);
426 } 426 }
427 427
428 } 428 }
429 pa.end(); 429 pa.end();
430 430
431} 431}
432void KOAgendaItem::resizePixmap( int w , int h ) 432void KOAgendaItem::resizePixmap( int w , int h )
433{ 433{
434 paintPix()->resize( w, h ); 434 paintPix()->resize( w, h );
435 paintPixSel()->resize( w, h ); 435 paintPixSel()->resize( w, h );
436 436
437} 437}
438QPixmap * KOAgendaItem::paintPix() 438QPixmap * KOAgendaItem::paintPix()
439{ 439{
440 static QPixmap* mPaintPix = 0; 440 static QPixmap* mPaintPix = 0;
441 if ( ! mPaintPix ) 441 if ( ! mPaintPix )
442 mPaintPix = new QPixmap(1,1); 442 mPaintPix = new QPixmap(1,1);
443 return mPaintPix ; 443 return mPaintPix ;
444} 444}
445QPixmap * KOAgendaItem::paintPixAllday() 445QPixmap * KOAgendaItem::paintPixAllday()
446{ 446{
447 static QPixmap* mPaintPixA = 0; 447 static QPixmap* mPaintPixA = 0;
448 if ( ! mPaintPixA ) 448 if ( ! mPaintPixA )
449 mPaintPixA = new QPixmap(1,1); 449 mPaintPixA = new QPixmap(1,1);
450 return mPaintPixA ; 450 return mPaintPixA ;
451} 451}
452QPixmap * KOAgendaItem::paintPixSel() 452QPixmap * KOAgendaItem::paintPixSel()
453{ 453{
454 static QPixmap* mPaintPixSel = 0; 454 static QPixmap* mPaintPixSel = 0;
455 if ( ! mPaintPixSel ) 455 if ( ! mPaintPixSel )
456 mPaintPixSel = new QPixmap(1,1); 456 mPaintPixSel = new QPixmap(1,1);
457 return mPaintPixSel ; 457 return mPaintPixSel ;
458} 458}
459void KOAgendaItem::paintEvent ( QPaintEvent *e ) 459void KOAgendaItem::paintEvent ( QPaintEvent *e )
460{ 460{
461 461
462 if ( globalFlagBlockAgendaItemPaint ) 462 if ( globalFlagBlockAgendaItemPaint )
463 return; 463 return;
464 if ( globalFlagBlockAgenda > 0 && globalFlagBlockAgenda < 5 ) 464 if ( globalFlagBlockAgenda > 0 && globalFlagBlockAgenda < 5 )
465 return; 465 return;
466 int yy; 466 int yy;
467 if ( mAllDay ) 467 if ( mAllDay )
468 yy = y(); 468 yy = y();
469 else 469 else
470 yy = mCellYTop * ( height() / cellHeight() ); 470 yy = mCellYTop * ( height() / cellHeight() );
471 int xx = x(); 471 int xx = x();
472 if ( xPaintCoord != xx || yPaintCoord != yy || 472 if ( xPaintCoord != xx || yPaintCoord != yy ||
473 wPaintCoord != width() || hPaintCoord != height()) { 473 wPaintCoord != width() || hPaintCoord != height()) {
474 xPaintCoord= xx; 474 xPaintCoord= xx;
475 yPaintCoord = yy; 475 yPaintCoord = yy;
476 wPaintCoord = width(); 476 wPaintCoord = width();
477 hPaintCoord = height(); 477 hPaintCoord = height();
478 globalFlagBlockAgendaItemUpdate = 0; 478 globalFlagBlockAgendaItemUpdate = 0;
479 paintMe( mSelected ); 479 paintMe( mSelected );
480 //qDebug("calling paintMe "); 480 //qDebug("calling paintMe ");
481 globalFlagBlockAgendaItemUpdate = 1; 481 globalFlagBlockAgendaItemUpdate = 1;
482 } 482 }
483 int rx, ry, rw, rh; 483 int rx, ry, rw, rh;
484 rx = e->rect().x(); 484 rx = e->rect().x();
485 ry = e->rect().y(); 485 ry = e->rect().y();
486 rw = e->rect().width(); 486 rw = e->rect().width();
487 rh = e->rect().height(); 487 rh = e->rect().height();
488 //qDebug(" paintevent %s %d %d %d %d", mIncidence->summary().latin1(), x(), yy, width(), height()); 488 //qDebug(" paintevent %s %d %d %d %d", mIncidence->summary().latin1(), x(), yy, width(), height());
489 489
490 QPixmap* paintFrom ; 490 QPixmap* paintFrom ;
491 if ( mSelected ) { 491 if ( mSelected ) {
492 paintFrom = paintPixSel(); 492 paintFrom = paintPixSel();
493 } else { 493 } else {
494 if ( mAllDay ) 494 if ( mAllDay )
495 paintFrom = paintPixAllday(); 495 paintFrom = paintPixAllday();
496 else 496 else
497 paintFrom = paintPix(); 497 paintFrom = paintPix();
498 } 498 }
499 bitBlt (this, rx, ry, paintFrom, x()+rx ,yPaintCoord+ry, rw, rh ,CopyROP); 499 bitBlt (this, rx, ry, paintFrom, x()+rx ,yPaintCoord+ry, rw, rh ,CopyROP);
500} 500}
501void KOAgendaItem::computeText() 501void KOAgendaItem::computeText()
502{ 502{
503 503
504 mDisplayedText = mIncidence->summary(); 504 mDisplayedText = mIncidence->summary();
505 if ( (mIncidence->type() == "Todo") ) { 505 if ( (mIncidence->type() == "Todo") ) {
506 if ( static_cast<Todo*>(mIncidence)->hasDueDate() ) { 506 if ( static_cast<Todo*>(mIncidence)->hasDueDate() ) {
507 if ( static_cast<Todo*>(mIncidence)->dtDue().date() < QDate::currentDate() ) 507 if ( static_cast<Todo*>(mIncidence)->dtDue().date() < QDate::currentDate() )
508 mDisplayedText += i18n(" (") +KGlobal::locale()->formatDate((static_cast<Todo*>(mIncidence))->dtDue().date(), true)+")"; 508 mDisplayedText += i18n(" (") +KGlobal::locale()->formatDate((static_cast<Todo*>(mIncidence))->dtDue().date(), true)+")";
509 else if ( !(mIncidence->doesFloat())) 509 else if ( !(mIncidence->doesFloat()))
510 mDisplayedText += i18n(" (") +KGlobal::locale()->formatTime((static_cast<Todo*>(mIncidence))->dtDue().time())+")"; 510 mDisplayedText += i18n(" (") +KGlobal::locale()->formatTime((static_cast<Todo*>(mIncidence))->dtDue().time())+")";
511 } 511 }
512 } else { 512 } else {
513 if ( !(mIncidence->doesFloat()) && KOPrefs::instance()->mShowTimeInAgenda) 513 if ( !(mIncidence->doesFloat()) && KOPrefs::instance()->mShowTimeInAgenda)
514 mDisplayedText += ": " +KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtStart().time()) + "-" + KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtEnd().time()) ; 514 mDisplayedText += ": " +KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtStart().time()) + "-" + KGlobal::locale()->formatTime((static_cast<Event*>(mIncidence))->dtEnd().time()) ;
515 515
516 if ( mAllDay ) { 516 if ( mAllDay ) {
517 if ( mIncidence->dtStart().date().addDays(3) < mIncidence->dtEnd().date() ) { 517 if ( mIncidence->dtStart().date().addDays(3) < mIncidence->dtEnd().date() ) {
518 mDisplayedText += ": " +KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtStart().date(), true) + " - " + KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtEnd().date(), true) ; 518 mDisplayedText += ": " +KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtStart().date(), true) + " - " + KGlobal::locale()->formatDate((static_cast<Event*>(mIncidence))->dtEnd().date(), true) ;
519 } 519 }
520 } 520 }
521 521
522 } 522 }
523 523
524 if ( !mIncidence->location().isEmpty() ) { 524 if ( !mIncidence->location().isEmpty() ) {
525 if ( mAllDay ) 525 if ( mAllDay )
526 mDisplayedText += " ("; 526 mDisplayedText += " (";
527 else 527 else
528 mDisplayedText += "\n("; 528 mDisplayedText += "\n(";
529 mDisplayedText += mIncidence->location() +")"; 529 mDisplayedText += mIncidence->location() +")";
530 } 530 }
531 531
532 QString tipText = mIncidence->summary(); 532 QString tipText = mIncidence->summary();
533 if ( !mIncidence->doesFloat() ) { 533 if ( !mIncidence->doesFloat() ) {
534 if ( mIncidence->type() == "Event" ) { 534 if ( mIncidence->type() == "Event" ) {
535 if ( (static_cast<Event*>(mIncidence))->isMultiDay() ) { 535 if ( (static_cast<Event*>(mIncidence))->isMultiDay() ) {
536 tipText += "\n"+i18n("From: ")+mIncidence->dtStartStr(); 536 tipText += "\n"+i18n("From: ")+mIncidence->dtStartStr();
537 tipText += "\n"+i18n("To: ")+(static_cast<Event*>(mIncidence))->dtEndStr(); 537 tipText += "\n"+i18n("To: ")+(static_cast<Event*>(mIncidence))->dtEndStr();
538 } 538 }
539 else { 539 else {
540 tipText += "\n"+i18n("Time: ")+mIncidence->dtStartTimeStr(); 540 tipText += "\n"+i18n("Time: ")+mIncidence->dtStartTimeStr();
541 tipText += " - "+(static_cast<Event*>(mIncidence))->dtEndTimeStr(); 541 tipText += " - "+(static_cast<Event*>(mIncidence))->dtEndTimeStr();
542 } 542 }
543 } 543 }
544 else if ( mIncidence->type() == "Todo" ) { 544 else if ( mIncidence->type() == "Todo" ) {
545 if (mIncidence->hasStartDate()) 545 if (mIncidence->hasStartDate())
546 tipText += "\n"+i18n("Start: ")+ (static_cast<Todo*>(mIncidence))->dtStartStr(); 546 tipText += "\n"+i18n("Start: ")+ (static_cast<Todo*>(mIncidence))->dtStartStr();
547 if (((Todo*)mIncidence)->hasDueDate()) 547 if (((Todo*)mIncidence)->hasDueDate())
548 tipText += "\n"+i18n("Due: ")+ (static_cast<Todo*>(mIncidence))->dtDueStr(); 548 tipText += "\n"+i18n("Due: ")+ (static_cast<Todo*>(mIncidence))->dtDueStr();
549 } 549 }
550 } else if ( mIncidence->type() == "Todo" ) { 550 } else if ( mIncidence->type() == "Todo" ) {
551 if (mIncidence->hasStartDate()) 551 if (mIncidence->hasStartDate())
552 tipText += "\n"+i18n("Start: ")+ (static_cast<Todo*>(mIncidence))->dtStartDateStr(); 552 tipText += "\n"+i18n("Start: ")+ (static_cast<Todo*>(mIncidence))->dtStartDateStr();
553 if (((Todo*)mIncidence)->hasDueDate()) 553 if (((Todo*)mIncidence)->hasDueDate())
554 tipText += "\n"+i18n("Due: ")+ (static_cast<Todo*>(mIncidence))->dtDueDateStr(); 554 tipText += "\n"+i18n("Due: ")+ (static_cast<Todo*>(mIncidence))->dtDueDateStr();
555 } 555 }
556 556
557 if (!mIncidence->location().isEmpty()) { 557 if (!mIncidence->location().isEmpty()) {
558 tipText += "\n"+i18n("Location: ")+mIncidence->location(); 558 tipText += "\n"+i18n("Location: ")+mIncidence->location();
559 } 559 }
560 QToolTip::add(this,tipText,toolTipGroup(),""); 560 QToolTip::add(this,tipText,toolTipGroup(),"");
561 561
562} 562}
563void KOAgendaItem::updateItem() 563void KOAgendaItem::updateItem()
564{ 564{
565 computeText(); 565 computeText();
566 566
567 //qDebug("KOAgendaItem:: updateItem() %s %d %d ",incidence()->summary().latin1(), x(), y()); 567 //qDebug("KOAgendaItem:: updateItem() %s %d %d ",incidence()->summary().latin1(), x(), y());
568 paintMe( mSelected ); 568 paintMe( mSelected );
569 repaint( false); 569 repaint( false);
570} 570}
571 571
572void KOAgendaItem::resizeEvent ( QResizeEvent *ev ) 572void KOAgendaItem::resizeEvent ( QResizeEvent *ev )
573{ 573{
574 //qDebug("KOAgendaItem::resizeEvent %s ", mIncidence->summary().latin1()); 574 //qDebug("KOAgendaItem::resizeEvent %s ", mIncidence->summary().latin1());
575 paintMe( mSelected ); 575 paintMe( mSelected );
576 repaint( false ); 576 repaint( false );
577} 577}
578 578
579/* 579/*
580 Return height of item in units of agenda cells 580 Return height of item in units of agenda cells
581*/ 581*/
582int KOAgendaItem::cellHeight() 582int KOAgendaItem::cellHeight()
583{ 583{
584 int ret = mCellYBottom - mCellYTop + 1; 584 int ret = mCellYBottom - mCellYTop + 1;
585 if ( ret <= 0 ) { 585 if ( ret <= 0 ) {
586 ret = 1; 586 ret = 1;
587 mCellYBottom = 0; 587 mCellYBottom = 0;
588 mCellYTop = 0; 588 mCellYTop = 0;
589 } 589 }
590 return ret; 590 return ret;
591} 591}
592 592
593/* 593/*
594 Return height of item in units of agenda cells 594 Return height of item in units of agenda cells
595*/ 595*/
596int KOAgendaItem::cellWidth() 596int KOAgendaItem::cellWidth()
597{ 597{
598 return mCellXWidth - mCellX + 1; 598 return mCellXWidth - mCellX + 1;
599} 599}
600 600
601void KOAgendaItem::setItemDate(QDate qd) 601void KOAgendaItem::setItemDate(QDate qd)
602{ 602{
603 mDate = qd; 603 mDate = qd;
604} 604}
605 605
606void KOAgendaItem::setCellXY(int X, int YTop, int YBottom) 606void KOAgendaItem::setCellXY(int X, int YTop, int YBottom)
607{ 607{
608 mCellX = X; 608 mCellX = X;
609 mCellYTop = YTop; 609 mCellYTop = YTop;
610 mCellYBottom = YBottom; 610 mCellYBottom = YBottom;
611} 611}
612 612
613void KOAgendaItem::setCellXWidth(int xwidth) 613void KOAgendaItem::setCellXWidth(int xwidth)
614{ 614{
615 mCellXWidth = xwidth; 615 mCellXWidth = xwidth;
616} 616}
617 617
618void KOAgendaItem::setCellX(int XLeft, int XRight) 618void KOAgendaItem::setCellX(int XLeft, int XRight)
619{ 619{
620 mCellX = XLeft; 620 mCellX = XLeft;
621 mCellXWidth = XRight; 621 mCellXWidth = XRight;
622} 622}
623 623
624void KOAgendaItem::setCellY(int YTop, int YBottom) 624void KOAgendaItem::setCellY(int YTop, int YBottom)
625{ 625{
626 mCellYTop = YTop; 626 mCellYTop = YTop;
627 mCellYBottom = YBottom; 627 mCellYBottom = YBottom;
628} 628}
629 629
630void KOAgendaItem::setSubCell(int subCell) 630void KOAgendaItem::setSubCell(int subCell)
631{ 631{
632 mSubCell = subCell; 632 mSubCell = subCell;
633} 633}
634 634
635void KOAgendaItem::setSubCells(int subCells) 635void KOAgendaItem::setSubCells(int subCells)
636{ 636{
637 mSubCells = subCells; 637 mSubCells = subCells;
638} 638}
639 639
640void KOAgendaItem::setMultiItem(KOAgendaItem *first,KOAgendaItem *next, 640void KOAgendaItem::setMultiItem(KOAgendaItem *first,KOAgendaItem *next,
641 KOAgendaItem *last) 641 KOAgendaItem *last)
642{ 642{
643 mFirstMultiItem = first; 643 mFirstMultiItem = first;
644 mNextMultiItem = next; 644 mNextMultiItem = next;
645 mLastMultiItem = last; 645 mLastMultiItem = last;
646} 646}
647 647
648void KOAgendaItem::startMove() 648void KOAgendaItem::startMove()
649{ 649{
650 mStartCellX = mCellX; 650 mStartCellX = mCellX;
651 mStartCellXWidth = mCellXWidth; 651 mStartCellXWidth = mCellXWidth;
652 mStartCellYTop = mCellYTop; 652 mStartCellYTop = mCellYTop;
653 mStartCellYBottom = mCellYBottom; 653 mStartCellYBottom = mCellYBottom;
654} 654}
655 655
656void KOAgendaItem::resetMove() 656void KOAgendaItem::resetMove()
657{ 657{
658 mCellX = mStartCellX; 658 mCellX = mStartCellX;
659 mCellXWidth = mStartCellXWidth; 659 mCellXWidth = mStartCellXWidth;
660 mCellYTop = mStartCellYTop; 660 mCellYTop = mStartCellYTop;
661 mCellYBottom = mStartCellYBottom; 661 mCellYBottom = mStartCellYBottom;
662} 662}
663 663
664void KOAgendaItem::moveRelative(int dx, int dy) 664void KOAgendaItem::moveRelative(int dx, int dy)
665{ 665{
666 int newX = cellX() + dx; 666 int newX = cellX() + dx;
667 int newXWidth = cellXWidth() + dx; 667 int newXWidth = cellXWidth() + dx;
668 int newYTop = cellYTop() + dy; 668 int newYTop = cellYTop() + dy;
669 int newYBottom = cellYBottom() + dy; 669 int newYBottom = cellYBottom() + dy;
670 setCellXY(newX,newYTop,newYBottom); 670 setCellXY(newX,newYTop,newYBottom);
671 setCellXWidth(newXWidth); 671 setCellXWidth(newXWidth);
672} 672}
673 673
674void KOAgendaItem::expandTop(int dy) 674void KOAgendaItem::expandTop(int dy)
675{ 675{
676 int newYTop = cellYTop() + dy; 676 int newYTop = cellYTop() + dy;
677 int newYBottom = cellYBottom(); 677 int newYBottom = cellYBottom();
678 if (newYTop > newYBottom) newYTop = newYBottom; 678 if (newYTop > newYBottom) newYTop = newYBottom;
679 setCellY(newYTop, newYBottom); 679 setCellY(newYTop, newYBottom);
680} 680}
681 681
682void KOAgendaItem::expandBottom(int dy) 682void KOAgendaItem::expandBottom(int dy)
683{ 683{
684 int newYTop = cellYTop(); 684 int newYTop = cellYTop();
685 int newYBottom = cellYBottom() + dy; 685 int newYBottom = cellYBottom() + dy;
686 if (newYBottom < newYTop) newYBottom = newYTop; 686 if (newYBottom < newYTop) newYBottom = newYTop;
687 setCellY(newYTop, newYBottom); 687 setCellY(newYTop, newYBottom);
688} 688}
689 689
690void KOAgendaItem::expandLeft(int dx) 690void KOAgendaItem::expandLeft(int dx)
691{ 691{
692 int newX = cellX() + dx; 692 int newX = cellX() + dx;
693 int newXWidth = cellXWidth(); 693 int newXWidth = cellXWidth();
694 if (newX > newXWidth) newX = newXWidth; 694 if (newX > newXWidth) newX = newXWidth;
695 setCellX(newX,newXWidth); 695 setCellX(newX,newXWidth);
696} 696}
697 697
698void KOAgendaItem::expandRight(int dx) 698void KOAgendaItem::expandRight(int dx)
699{ 699{
700 int newX = cellX(); 700 int newX = cellX();
701 int newXWidth = cellXWidth() + dx; 701 int newXWidth = cellXWidth() + dx;
702 if (newXWidth < newX) newXWidth = newX; 702 if (newXWidth < newX) newXWidth = newX;
703 setCellX(newX,newXWidth); 703 setCellX(newX,newXWidth);
704} 704}
705 705
706QToolTipGroup *KOAgendaItem::toolTipGroup() 706QToolTipGroup *KOAgendaItem::toolTipGroup()
707{ 707{
708 if (!mToolTipGroup) mToolTipGroup = new QToolTipGroup(0); 708 if (!mToolTipGroup) mToolTipGroup = new QToolTipGroup(0);
709 return mToolTipGroup; 709 return mToolTipGroup;
710} 710}
711 711
712void KOAgendaItem::dragEnterEvent( QDragEnterEvent *e ) 712void KOAgendaItem::dragEnterEvent( QDragEnterEvent *e )
713{ 713{
714#ifndef KORG_NODND 714#ifndef KORG_NODND
715 if ( ICalDrag::canDecode( e ) || VCalDrag::canDecode( e ) || 715 if ( ICalDrag::canDecode( e ) || VCalDrag::canDecode( e ) ||
716 !QTextDrag::canDecode( e ) ) { 716 !QTextDrag::canDecode( e ) ) {
717 e->ignore(); 717 e->ignore();
718 return; 718 return;
719 } 719 }
720 e->accept(); 720 e->accept();
721#endif 721#endif
722} 722}
723 723
724void KOAgendaItem::dropEvent( QDropEvent *e ) 724void KOAgendaItem::dropEvent( QDropEvent *e )
725{ 725{
726#ifndef KORG_NODND 726#ifndef KORG_NODND
727 QString text; 727 QString text;
728 if(QTextDrag::decode(e,text)) 728 if(QTextDrag::decode(e,text))
729 { 729 {
730 kdDebug() << "Dropped : " << text << endl; 730 kdDebug() << "Dropped : " << text << endl;
731 QStringList emails = QStringList::split(",",text); 731 QStringList emails = QStringList::split(",",text);
732 for(QStringList::ConstIterator it = emails.begin();it!=emails.end();++it) { 732 for(QStringList::ConstIterator it = emails.begin();it!=emails.end();++it) {
733 kdDebug() << " Email: " << (*it) << endl; 733 kdDebug() << " Email: " << (*it) << endl;
734 int pos = (*it).find("<"); 734 int pos = (*it).find("<");
735 QString name = (*it).left(pos); 735 QString name = (*it).left(pos);
736 QString email = (*it).mid(pos); 736 QString email = (*it).mid(pos);
737 if (!email.isEmpty()) { 737 if (!email.isEmpty()) {
738 mIncidence->addAttendee(new Attendee(name,email)); 738 mIncidence->addAttendee(new Attendee(name,email));
739 } 739 }
740 } 740 }
741 } 741 }
742#endif 742#endif
743} 743}
744 744
745 745
746QPtrList<KOAgendaItem> KOAgendaItem::conflictItems() 746QPtrList<KOAgendaItem> KOAgendaItem::conflictItems()
747{ 747{
748 return mConflictItems; 748 return mConflictItems;
749} 749}
750 750
751void KOAgendaItem::setConflictItems(QPtrList<KOAgendaItem> ci) 751void KOAgendaItem::setConflictItems(QPtrList<KOAgendaItem> ci)
752{ 752{
753 mConflictItems = ci; 753 mConflictItems = ci;
754 KOAgendaItem *item; 754 KOAgendaItem *item;
755 for ( item=mConflictItems.first(); item != 0; 755 for ( item=mConflictItems.first(); item != 0;
756 item=mConflictItems.next() ) { 756 item=mConflictItems.next() ) {
757 item->addConflictItem(this); 757 item->addConflictItem(this);
758 } 758 }
759} 759}
760 760
761void KOAgendaItem::addConflictItem(KOAgendaItem *ci) 761void KOAgendaItem::addConflictItem(KOAgendaItem *ci)
762{ 762{
763 if (mConflictItems.find(ci)<0) 763 if (mConflictItems.find(ci)<0)
764 mConflictItems.append(ci); 764 mConflictItems.append(ci);
765} 765}
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index 16031b8..a164fa4 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -1,2086 +1,2091 @@
1#include <stdlib.h> 1#include <stdlib.h>
2 2
3#include <qaction.h> 3#include <qaction.h>
4#include <qpopupmenu.h> 4#include <qpopupmenu.h>
5#include <qpainter.h> 5#include <qpainter.h>
6#include <qwhatsthis.h> 6#include <qwhatsthis.h>
7#include <qpushbutton.h> 7#include <qpushbutton.h>
8#include <qmessagebox.h> 8#include <qmessagebox.h>
9#include <qlineedit.h> 9#include <qlineedit.h>
10#include <qtextcodec.h> 10#include <qtextcodec.h>
11#include <qfile.h> 11#include <qfile.h>
12#include <qdir.h> 12#include <qdir.h>
13#include <qapp.h> 13#include <qapp.h>
14#include <qfileinfo.h> 14#include <qfileinfo.h>
15#include <qlabel.h> 15#include <qlabel.h>
16#include <qspinbox.h> 16#include <qspinbox.h>
17#include <qcheckbox.h> 17#include <qcheckbox.h>
18#include <qmap.h> 18#include <qmap.h>
19#include <qwmatrix.h> 19#include <qwmatrix.h>
20#include <qtextbrowser.h> 20#include <qtextbrowser.h>
21#include <qtextstream.h> 21#include <qtextstream.h>
22#ifndef DESKTOP_VERSION 22#ifndef DESKTOP_VERSION
23#include <qpe/global.h> 23#include <qpe/global.h>
24#include <qpe/qpemenubar.h> 24#include <qpe/qpemenubar.h>
25#include <qpe/qpetoolbar.h> 25#include <qpe/qpetoolbar.h>
26#include <qpe/resource.h> 26#include <qpe/resource.h>
27#include <qpe/qpeapplication.h> 27#include <qpe/qpeapplication.h>
28#include <qtopia/alarmserver.h> 28#include <qtopia/alarmserver.h>
29#include <qtopia/qcopenvelope_qws.h> 29#include <qtopia/qcopenvelope_qws.h>
30#include <unistd.h> // for sleep 30#include <unistd.h> // for sleep
31#else 31#else
32#include <qmenubar.h> 32#include <qmenubar.h>
33#include <qtoolbar.h> 33#include <qtoolbar.h>
34#include <qapplication.h> 34#include <qapplication.h>
35//#include <resource.h> 35//#include <resource.h>
36 36
37#endif 37#endif
38#include <libkcal/calendarlocal.h> 38#include <libkcal/calendarlocal.h>
39#include <libkcal/todo.h> 39#include <libkcal/todo.h>
40#include <libkcal/phoneformat.h> 40#include <libkcal/phoneformat.h>
41#include <libkdepim/ksyncprofile.h> 41#include <libkdepim/ksyncprofile.h>
42#include <libkdepim/phoneaccess.h> 42#include <libkdepim/phoneaccess.h>
43#include <libkcal/kincidenceformatter.h> 43#include <libkcal/kincidenceformatter.h>
44#include <libkdepim/kpimglobalprefs.h> 44#include <libkdepim/kpimglobalprefs.h>
45 45
46#include "calendarview.h" 46#include "calendarview.h"
47#include "koviewmanager.h" 47#include "koviewmanager.h"
48#include "datenavigator.h" 48#include "datenavigator.h"
49#include "koagendaview.h" 49#include "koagendaview.h"
50#include "koagenda.h" 50#include "koagenda.h"
51#include "kodialogmanager.h" 51#include "kodialogmanager.h"
52#include "kdialogbase.h" 52#include "kdialogbase.h"
53#include "kapplication.h" 53#include "kapplication.h"
54#include "kofilterview.h" 54#include "kofilterview.h"
55#include "kstandarddirs.h" 55#include "kstandarddirs.h"
56#include "koprefs.h" 56#include "koprefs.h"
57#include "kfiledialog.h" 57#include "kfiledialog.h"
58#include "koglobals.h" 58#include "koglobals.h"
59#include "kglobal.h" 59#include "kglobal.h"
60#include "klocale.h" 60#include "klocale.h"
61#include "kconfig.h" 61#include "kconfig.h"
62#include "simplealarmclient.h" 62#include "simplealarmclient.h"
63#include "externalapphandler.h" 63#include "externalapphandler.h"
64 64
65using namespace KCal; 65using namespace KCal;
66#ifndef _WIN32_ 66#ifndef _WIN32_
67#include <unistd.h> 67#include <unistd.h>
68#else 68#else
69#ifdef _OL_IMPORT_ 69#ifdef _OL_IMPORT_
70#include "koimportoldialog.h" 70#include "koimportoldialog.h"
71#endif 71#endif
72#endif 72#endif
73#include "mainwindow.h" 73#include "mainwindow.h"
74 74
75 75
76class KOex2phonePrefs : public QDialog 76class KOex2phonePrefs : public QDialog
77{ 77{
78 public: 78 public:
79 KOex2phonePrefs( QWidget *parent=0, const char *name=0 ) : 79 KOex2phonePrefs( QWidget *parent=0, const char *name=0 ) :
80 QDialog( parent, name, true ) 80 QDialog( parent, name, true )
81 { 81 {
82 setCaption( i18n("Export to phone options") ); 82 setCaption( i18n("Export to phone options") );
83 QVBoxLayout* lay = new QVBoxLayout( this ); 83 QVBoxLayout* lay = new QVBoxLayout( this );
84 lay->setSpacing( 3 ); 84 lay->setSpacing( 3 );
85 lay->setMargin( 3 ); 85 lay->setMargin( 3 );
86 QLabel *lab; 86 QLabel *lab;
87 lay->addWidget(lab = new QLabel( i18n("Please read Help-Sync Howto\nto know what settings to use."), this ) ); 87 lay->addWidget(lab = new QLabel( i18n("Please read Help-Sync Howto\nto know what settings to use."), this ) );
88 lab->setAlignment (AlignHCenter ); 88 lab->setAlignment (AlignHCenter );
89 QHBox* temphb; 89 QHBox* temphb;
90 temphb = new QHBox( this ); 90 temphb = new QHBox( this );
91 new QLabel( i18n("I/O device: "), temphb ); 91 new QLabel( i18n("I/O device: "), temphb );
92 mPhoneDevice = new QLineEdit( temphb); 92 mPhoneDevice = new QLineEdit( temphb);
93 lay->addWidget( temphb ); 93 lay->addWidget( temphb );
94 temphb = new QHBox( this ); 94 temphb = new QHBox( this );
95 new QLabel( i18n("Connection: "), temphb ); 95 new QLabel( i18n("Connection: "), temphb );
96 mPhoneConnection = new QLineEdit( temphb); 96 mPhoneConnection = new QLineEdit( temphb);
97 lay->addWidget( temphb ); 97 lay->addWidget( temphb );
98 temphb = new QHBox( this ); 98 temphb = new QHBox( this );
99 new QLabel( i18n("Model(opt.): "), temphb ); 99 new QLabel( i18n("Model(opt.): "), temphb );
100 mPhoneModel = new QLineEdit( temphb); 100 mPhoneModel = new QLineEdit( temphb);
101 lay->addWidget( temphb ); 101 lay->addWidget( temphb );
102 mWriteBackFuture= new QCheckBox( i18n("Write back events in future only"), this ); 102 mWriteBackFuture= new QCheckBox( i18n("Write back events in future only"), this );
103 mWriteBackFuture->setChecked( true ); 103 mWriteBackFuture->setChecked( true );
104 lay->addWidget( mWriteBackFuture ); 104 lay->addWidget( mWriteBackFuture );
105 temphb = new QHBox( this ); 105 temphb = new QHBox( this );
106 new QLabel( i18n("Max. weeks in future: ") , temphb ); 106 new QLabel( i18n("Max. weeks in future: ") , temphb );
107 mWriteBackFutureWeeks= new QSpinBox(1,104, 1, temphb); 107 mWriteBackFutureWeeks= new QSpinBox(1,104, 1, temphb);
108 mWriteBackFutureWeeks->setValue( 8 ); 108 mWriteBackFutureWeeks->setValue( 8 );
109 lay->addWidget( temphb ); 109 lay->addWidget( temphb );
110 lay->addWidget(lab = new QLabel( i18n("NOTE: This will remove all old\ntodo/calendar data on phone!"), this ) ); 110 lay->addWidget(lab = new QLabel( i18n("NOTE: This will remove all old\ntodo/calendar data on phone!"), this ) );
111 lab->setAlignment (AlignHCenter ); 111 lab->setAlignment (AlignHCenter );
112 QPushButton * ok = new QPushButton( i18n("Export to mobile phone!"), this ); 112 QPushButton * ok = new QPushButton( i18n("Export to mobile phone!"), this );
113 lay->addWidget( ok ); 113 lay->addWidget( ok );
114 QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); 114 QPushButton * cancel = new QPushButton( i18n("Cancel"), this );
115 lay->addWidget( cancel ); 115 lay->addWidget( cancel );
116 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); 116 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) );
117 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); 117 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) );
118 resize( 220, 240 ); 118 resize( 220, 240 );
119 qApp->processEvents(); 119 qApp->processEvents();
120 int dw = QApplication::desktop()->width(); 120 int dw = QApplication::desktop()->width();
121 int dh = QApplication::desktop()->height(); 121 int dh = QApplication::desktop()->height();
122 move( (dw-width())/2, (dh - height() )/2 ); 122 move( (dw-width())/2, (dh - height() )/2 );
123 } 123 }
124 124
125public: 125public:
126 QLineEdit* mPhoneConnection, *mPhoneDevice, *mPhoneModel; 126 QLineEdit* mPhoneConnection, *mPhoneDevice, *mPhoneModel;
127 QCheckBox* mWriteBackFuture; 127 QCheckBox* mWriteBackFuture;
128 QSpinBox* mWriteBackFutureWeeks; 128 QSpinBox* mWriteBackFutureWeeks;
129}; 129};
130 130
131int globalFlagBlockStartup; 131int globalFlagBlockStartup;
132MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) : 132MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) :
133 QMainWindow( parent, name ) 133 QMainWindow( parent, name )
134{ 134{
135 135
136 mClosed = false; 136 mClosed = false;
137 //QString confFile = KStandardDirs::appDir() + "config/korganizerrc"; 137 //QString confFile = KStandardDirs::appDir() + "config/korganizerrc";
138 QString confFile = locateLocal("config","korganizerrc"); 138 QString confFile = locateLocal("config","korganizerrc");
139 QFileInfo finf ( confFile ); 139 QFileInfo finf ( confFile );
140 bool showWarning = !finf.exists(); 140 bool showWarning = !finf.exists();
141 setIcon(SmallIcon( "ko24" ) ); 141 setIcon(SmallIcon( "ko24" ) );
142 mBlockAtStartup = true; 142 mBlockAtStartup = true;
143 mFlagKeyPressed = false; 143 mFlagKeyPressed = false;
144 setCaption("KOrganizer/Pi"); 144 setCaption("KOrganizer/Pi");
145 KOPrefs *p = KOPrefs::instance(); 145 KOPrefs *p = KOPrefs::instance();
146 KPimGlobalPrefs::instance()->setGlobalConfig(); 146 KPimGlobalPrefs::instance()->setGlobalConfig();
147 if ( p->mHourSize > 22 ) 147 if ( p->mHourSize > 22 )
148 p->mHourSize = 22; 148 p->mHourSize = 22;
149 QMainWindow::ToolBarDock tbd; 149 QMainWindow::ToolBarDock tbd;
150 if ( p->mToolBarHor ) { 150 if ( p->mToolBarHor ) {
151 if ( p->mToolBarUp ) 151 if ( p->mToolBarUp )
152 tbd = Bottom; 152 tbd = Bottom;
153 else 153 else
154 tbd = Top; 154 tbd = Top;
155 } 155 }
156 else { 156 else {
157 if ( p->mToolBarUp ) 157 if ( p->mToolBarUp )
158 tbd = Right; 158 tbd = Right;
159 else 159 else
160 tbd = Left; 160 tbd = Left;
161 } 161 }
162 if ( KOPrefs::instance()->mUseAppColors ) 162 if ( KOPrefs::instance()->mUseAppColors )
163 QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true ); 163 QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true );
164 globalFlagBlockStartup = 1; 164 globalFlagBlockStartup = 1;
165 iconToolBar = new QPEToolBar( this ); 165 iconToolBar = new QPEToolBar( this );
166 addToolBar (iconToolBar , tbd ); 166 addToolBar (iconToolBar , tbd );
167 mCalendarModifiedFlag = false; 167 mCalendarModifiedFlag = false;
168 QLabel* splash = new QLabel(i18n("KO/Pi is starting ... "), this ); 168 QLabel* splash = new QLabel(i18n("KO/Pi is starting ... "), this );
169 splash->setAlignment ( AlignCenter ); 169 splash->setAlignment ( AlignCenter );
170 setCentralWidget( splash ); 170 setCentralWidget( splash );
171#ifndef DESKTOP_VERSION 171#ifndef DESKTOP_VERSION
172 showMaximized(); 172 showMaximized();
173#endif 173#endif
174 174
175 //qDebug("Mainwidget x %d y %d w %d h %d", x(), y(), width(), height ()); 175 //qDebug("Mainwidget x %d y %d w %d h %d", x(), y(), width(), height ());
176 setDefaultPreferences(); 176 setDefaultPreferences();
177 mCalendar = new CalendarLocal(); 177 mCalendar = new CalendarLocal();
178 mView = new CalendarView( mCalendar, this,"mCalendar " ); 178 mView = new CalendarView( mCalendar, this,"mCalendar " );
179 mView->hide(); 179 mView->hide();
180 //mView->resize(splash->size() ); 180 //mView->resize(splash->size() );
181 initActions(); 181 initActions();
182 mSyncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)mView, KSyncManager::KOPI, KOPrefs::instance(), syncMenu); 182 mSyncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)mView, KSyncManager::KOPI, KOPrefs::instance(), syncMenu);
183 mSyncManager->setBlockSave(false); 183 mSyncManager->setBlockSave(false);
184 mView->setSyncManager(mSyncManager); 184 mView->setSyncManager(mSyncManager);
185#ifndef DESKTOP_VERSION 185#ifndef DESKTOP_VERSION
186 iconToolBar->show(); 186 iconToolBar->show();
187 qApp->processEvents(); 187 qApp->processEvents();
188#endif 188#endif
189 //qDebug("Splashwidget x %d y %d w %d h %d", splash-> x(), splash->y(), splash->width(),splash-> height ()); 189 //qDebug("Splashwidget x %d y %d w %d h %d", splash-> x(), splash->y(), splash->width(),splash-> height ());
190 int vh = height() ; 190 int vh = height() ;
191 int vw = width(); 191 int vw = width();
192 //qDebug("Toolbar hei %d ",iconToolBar->height() ); 192 //qDebug("Toolbar hei %d ",iconToolBar->height() );
193 if ( iconToolBar->orientation () == Qt:: Horizontal ) { 193 if ( iconToolBar->orientation () == Qt:: Horizontal ) {
194 vh -= iconToolBar->height(); 194 vh -= iconToolBar->height();
195 } else { 195 } else {
196 vw -= iconToolBar->height(); 196 vw -= iconToolBar->height();
197 } 197 }
198 //mView->setMaximumSize( splash->size() ); 198 //mView->setMaximumSize( splash->size() );
199 //mView->resize( splash->size() ); 199 //mView->resize( splash->size() );
200 //qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ()); 200 //qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ());
201 mView->readSettings(); 201 mView->readSettings();
202 bool newFile = false; 202 bool newFile = false;
203 if( !QFile::exists( defaultFileName() ) ) { 203 if( !QFile::exists( defaultFileName() ) ) {
204 QFileInfo finfo ( defaultFileName() ); 204 QFileInfo finfo ( defaultFileName() );
205 QString oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/Applications/korganizer/mycalendar.ics"); 205 QString oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/Applications/korganizer/mycalendar.ics");
206 qDebug("oldfile %s ", oldFile.latin1()); 206 qDebug("oldfile %s ", oldFile.latin1());
207 QString message = "You are starting KO/Pi for the\nfirst time after updating to a\nversion >= 1.9.1. The location of the\ndefault calendar file has changed.\nA mycalendar.ics file was detected\nat the old location.\nThis file will be loaded now\nand stored at the new location!\n(Config file location has changed, too!)\nPlease read menu Help-What's New!\n"; 207 QString message = "You are starting KO/Pi for the\nfirst time after updating to a\nversion >= 1.9.1. The location of the\ndefault calendar file has changed.\nA mycalendar.ics file was detected\nat the old location.\nThis file will be loaded now\nand stored at the new location!\n(Config file location has changed, too!)\nPlease read menu Help-What's New!\n";
208 finfo.setFile( oldFile ); 208 finfo.setFile( oldFile );
209 if (finfo.exists() ) { 209 if (finfo.exists() ) {
210 KMessageBox::information( this, message); 210 KMessageBox::information( this, message);
211 mView->openCalendar( oldFile ); 211 mView->openCalendar( oldFile );
212 qApp->processEvents(); 212 qApp->processEvents();
213 } else { 213 } else {
214 oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/korganizer/mycalendar.ics"); 214 oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/korganizer/mycalendar.ics");
215 finfo.setFile( oldFile ); 215 finfo.setFile( oldFile );
216 if (finfo.exists() ) { 216 if (finfo.exists() ) {
217 KMessageBox::information( this, message); 217 KMessageBox::information( this, message);
218 mView->openCalendar( oldFile ); 218 mView->openCalendar( oldFile );
219 qApp->processEvents(); 219 qApp->processEvents();
220 } 220 }
221 } 221 }
222 mView->saveCalendar( defaultFileName() ); 222 mView->saveCalendar( defaultFileName() );
223 newFile = true; 223 newFile = true;
224 } 224 }
225 225
226 QTime neededSaveTime = QDateTime::currentDateTime().time(); 226 QTime neededSaveTime = QDateTime::currentDateTime().time();
227 mView->openCalendar( defaultFileName() ); 227 mView->openCalendar( defaultFileName() );
228 int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() ); 228 int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() );
229 qDebug("KO: Calendar loading time: %d ms",msNeeded ); 229 qDebug("KO: Calendar loading time: %d ms",msNeeded );
230 230
231 if ( KPimGlobalPrefs::instance()->mPreferredLanguage != KOPrefs::instance()->mOldLoadedLanguage ) { 231 if ( KPimGlobalPrefs::instance()->mPreferredLanguage != KOPrefs::instance()->mOldLoadedLanguage ) {
232 KOPrefs::instance()->setAllDefaults(); 232 KOPrefs::instance()->setAllDefaults();
233 int count = mView->addCategories(); 233 int count = mView->addCategories();
234 } 234 }
235 processIncidenceSelection( 0 ); 235 processIncidenceSelection( 0 );
236 connect( mView, SIGNAL( incidenceSelected( Incidence * ) ), 236 connect( mView, SIGNAL( incidenceSelected( Incidence * ) ),
237 SLOT( processIncidenceSelection( Incidence * ) ) ); 237 SLOT( processIncidenceSelection( Incidence * ) ) );
238 connect( mView, SIGNAL( modifiedChanged( bool ) ), 238 connect( mView, SIGNAL( modifiedChanged( bool ) ),
239 SLOT( slotModifiedChanged( bool ) ) ); 239 SLOT( slotModifiedChanged( bool ) ) );
240 240
241 241
242 connect( mView, SIGNAL( tempDisableBR(bool) ), 242 connect( mView, SIGNAL( tempDisableBR(bool) ),
243 SLOT( disableBR(bool) ) ); 243 SLOT( disableBR(bool) ) );
244 connect( &mSaveTimer, SIGNAL( timeout() ), SLOT( save() ) ); 244 connect( &mSaveTimer, SIGNAL( timeout() ), SLOT( save() ) );
245 mView->setModified( false ); 245 mView->setModified( false );
246 mBlockAtStartup = false; 246 mBlockAtStartup = false;
247 mView->setModified( false ); 247 mView->setModified( false );
248 setCentralWidget( mView ); 248 setCentralWidget( mView );
249 globalFlagBlockStartup = 0; 249 globalFlagBlockStartup = 0;
250 mView->show(); 250 mView->show();
251 delete splash; 251 delete splash;
252 if ( newFile ) 252 if ( newFile )
253 mView->updateConfig(); 253 mView->updateConfig();
254 // qApp->processEvents(); 254 // qApp->processEvents();
255 //qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ()); 255 //qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ());
256 //fillSyncMenu(); 256 //fillSyncMenu();
257 257
258 258
259 connect(mSyncManager , SIGNAL( save() ), this, SLOT( save() ) ); 259 connect(mSyncManager , SIGNAL( save() ), this, SLOT( save() ) );
260 connect(mView , SIGNAL( save() ), this, SLOT( save() ) ); 260 connect(mView , SIGNAL( save() ), this, SLOT( save() ) );
261 connect(mView , SIGNAL( saveStopTimer() ), this, SLOT( saveStopTimer() ) ); 261 connect(mView , SIGNAL( saveStopTimer() ), this, SLOT( saveStopTimer() ) );
262 connect(mSyncManager , SIGNAL( request_file() ), this, SLOT( syncFileRequest() ) ); 262 connect(mSyncManager , SIGNAL( request_file() ), this, SLOT( syncFileRequest() ) );
263 connect(mSyncManager , SIGNAL( getFile( bool )), this, SLOT(getFile( bool ) ) ); 263 connect(mSyncManager , SIGNAL( getFile( bool )), this, SLOT(getFile( bool ) ) );
264 mSyncManager->setDefaultFileName( sentSyncFile()); 264 mSyncManager->setDefaultFileName( sentSyncFile());
265 connect ( syncMenu, SIGNAL( activated ( int ) ), mSyncManager, SLOT (slotSyncMenu( int ) ) ); 265 connect ( syncMenu, SIGNAL( activated ( int ) ), mSyncManager, SLOT (slotSyncMenu( int ) ) );
266 mSyncManager->fillSyncMenu(); 266 mSyncManager->fillSyncMenu();
267 267
268 268
269 269
270 mView->viewManager()->agendaView()->setStartHour( KOPrefs::instance()->mDayBegins ); 270 mView->viewManager()->agendaView()->setStartHour( KOPrefs::instance()->mDayBegins );
271 if ( showWarning ) { 271 if ( showWarning ) {
272 KMessageBox::information( this, 272 KMessageBox::information( this,
273 "You are starting KO/Pi for the first time.\nPlease read menu: Help-What's New,\nif you did an update!\nPlease choose your timezone in the \nConfigure Dialog TAB Time Zone!\nPlease choose your language\nin the TAB Locale!\nYou get the Configure Dialog\nvia Menu: Actions - Configure....\nClick OK to show the Configure Dialog!\n", "KO/Pi information"); 273 "You are starting KO/Pi for the first time.\nPlease read menu: Help-What's New,\nif you did an update!\nPlease choose your timezone in the \nConfigure Dialog TAB Time Zone!\nPlease choose your language\nin the TAB Locale!\nYou get the Configure Dialog\nvia Menu: Actions - Configure....\nClick OK to show the Configure Dialog!\n", "KO/Pi information");
274 qApp->processEvents(); 274 qApp->processEvents();
275 mView->dialogManager()->showSyncOptions(); 275 mView->dialogManager()->showSyncOptions();
276 } 276 }
277 277
278 //US listen for result adressed from Ka/Pi 278 //US listen for result adressed from Ka/Pi
279#ifndef DESKTOP_VERSION 279#ifndef DESKTOP_VERSION
280 connect(qApp, SIGNAL (appMessage ( const QCString &, const QByteArray & )), ExternalAppHandler::instance(), SLOT (appMessage ( const QCString &, const QByteArray & ))); 280 connect(qApp, SIGNAL (appMessage ( const QCString &, const QByteArray & )), ExternalAppHandler::instance(), SLOT (appMessage ( const QCString &, const QByteArray & )));
281#endif 281#endif
282#ifndef DESKTOP_VERSION 282#ifndef DESKTOP_VERSION
283 infrared = 0; 283 infrared = 0;
284#endif 284#endif
285 updateWeek( mView->startDate() ); 285 updateWeek( mView->startDate() );
286 connect( mView->dateNavigator(), SIGNAL( datesSelected( const KCal::DateList & ) ), 286 connect( mView->dateNavigator(), SIGNAL( datesSelected( const KCal::DateList & ) ),
287 SLOT( updateWeekNum( const KCal::DateList & ) ) ); 287 SLOT( updateWeekNum( const KCal::DateList & ) ) );
288 mBRdisabled = false; 288 mBRdisabled = false;
289 //toggleBeamReceive(); 289 //toggleBeamReceive();
290 setFocusPolicy ( WheelFocus );
290} 291}
291MainWindow::~MainWindow() 292MainWindow::~MainWindow()
292{ 293{
293 //qDebug("MainWindow::~MainWindow() "); 294 //qDebug("MainWindow::~MainWindow() ");
294 //save toolbar location 295 //save toolbar location
295 delete mCalendar; 296 delete mCalendar;
296 delete mSyncManager; 297 delete mSyncManager;
297#ifndef DESKTOP_VERSION 298#ifndef DESKTOP_VERSION
298 if ( infrared ) 299 if ( infrared )
299 delete infrared; 300 delete infrared;
300#endif 301#endif
301 302
302 303
303} 304}
304 305
305void MainWindow::disableBR(bool b) 306void MainWindow::disableBR(bool b)
306{ 307{
307#ifndef DESKTOP_VERSION 308#ifndef DESKTOP_VERSION
308 if ( b ) { 309 if ( b ) {
309 if ( infrared ) { 310 if ( infrared ) {
310 toggleBeamReceive(); 311 toggleBeamReceive();
311 mBRdisabled = true; 312 mBRdisabled = true;
312 } 313 }
313 mBRdisabled = true; 314 mBRdisabled = true;
314 } else { 315 } else {
315 if ( mBRdisabled ) { 316 if ( mBRdisabled ) {
316 mBRdisabled = false; 317 mBRdisabled = false;
317 //makes no sense,because other cal ap is probably running 318 //makes no sense,because other cal ap is probably running
318 // toggleBeamReceive(); 319 // toggleBeamReceive();
319 } 320 }
320 } 321 }
321#endif 322#endif
322 323
323} 324}
324bool MainWindow::beamReceiveEnabled() 325bool MainWindow::beamReceiveEnabled()
325{ 326{
326#ifndef DESKTOP_VERSION 327#ifndef DESKTOP_VERSION
327 return ( infrared != 0 ); 328 return ( infrared != 0 );
328#endif 329#endif
329 return false; 330 return false;
330} 331}
331 332
332void MainWindow::toggleBeamReceive() 333void MainWindow::toggleBeamReceive()
333{ 334{
334 if ( mBRdisabled ) 335 if ( mBRdisabled )
335 return; 336 return;
336#ifndef DESKTOP_VERSION 337#ifndef DESKTOP_VERSION
337 if ( infrared ) { 338 if ( infrared ) {
338 qDebug("disable BeamReceive "); 339 qDebug("disable BeamReceive ");
339 delete infrared; 340 delete infrared;
340 infrared = 0; 341 infrared = 0;
341 brAction->setOn(false); 342 brAction->setOn(false);
342 return; 343 return;
343 } 344 }
344 qDebug("enable BeamReceive "); 345 qDebug("enable BeamReceive ");
345 brAction->setOn(true); 346 brAction->setOn(true);
346 infrared = new QCopChannel("QPE/Application/datebook",this, "channel" ) ; 347 infrared = new QCopChannel("QPE/Application/datebook",this, "channel" ) ;
347 QObject::connect( infrared, SIGNAL (received ( const QCString &, const QByteArray & )),this, SLOT(recieve( const QCString&, const QByteArray& ))); 348 QObject::connect( infrared, SIGNAL (received ( const QCString &, const QByteArray & )),this, SLOT(recieve( const QCString&, const QByteArray& )));
348#endif 349#endif
349} 350}
350void MainWindow::showMaximized () 351void MainWindow::showMaximized ()
351{ 352{
352#ifndef DESKTOP_VERSION 353#ifndef DESKTOP_VERSION
353 if ( ! globalFlagBlockStartup ) 354 if ( ! globalFlagBlockStartup )
354 if ( mClosed ) 355 if ( mClosed )
355 mView->goToday(); 356 mView->goToday();
356#endif 357#endif
357 QWidget::showMaximized () ; 358 QWidget::showMaximized () ;
358 mClosed = false; 359 mClosed = false;
359} 360}
360void MainWindow::closeEvent( QCloseEvent* ce ) 361void MainWindow::closeEvent( QCloseEvent* ce )
361{ 362{
362 363
363 364
364 365
365 if ( ! KOPrefs::instance()->mAskForQuit ) { 366 if ( ! KOPrefs::instance()->mAskForQuit ) {
366 saveOnClose(); 367 saveOnClose();
367 mClosed = true; 368 mClosed = true;
368 ce->accept(); 369 ce->accept();
369 return; 370 return;
370 371
371 } 372 }
372 373
373 switch( QMessageBox::information( this, "KO/Pi", 374 switch( QMessageBox::information( this, "KO/Pi",
374 i18n("Do you really want\nto close KO/Pi?"), 375 i18n("Do you really want\nto close KO/Pi?"),
375 i18n("Close"), i18n("No"), 376 i18n("Close"), i18n("No"),
376 0, 0 ) ) { 377 0, 0 ) ) {
377 case 0: 378 case 0:
378 saveOnClose(); 379 saveOnClose();
379 mClosed = true; 380 mClosed = true;
380 ce->accept(); 381 ce->accept();
381 break; 382 break;
382 case 1: 383 case 1:
383 ce->ignore(); 384 ce->ignore();
384 break; 385 break;
385 case 2: 386 case 2:
386 387
387 default: 388 default:
388 break; 389 break;
389 } 390 }
390 391
391 392
392} 393}
393 394
394void MainWindow::recieve( const QCString& cmsg, const QByteArray& data ) 395void MainWindow::recieve( const QCString& cmsg, const QByteArray& data )
395{ 396{
396 QDataStream stream( data, IO_ReadOnly ); 397 QDataStream stream( data, IO_ReadOnly );
397 // QMessageBox::about( this, "About KOrganizer/Pi", "*" +msg +"*" ); 398 // QMessageBox::about( this, "About KOrganizer/Pi", "*" +msg +"*" );
398 //QString datamess; 399 //QString datamess;
399 //qDebug("message "); 400 //qDebug("message ");
400 qDebug("KO: QCOP message received: %s ", cmsg.data() ); 401 qDebug("KO: QCOP message received: %s ", cmsg.data() );
401 402
402 if ( cmsg == "setDocument(QString)" ) { 403 if ( cmsg == "setDocument(QString)" ) {
403 QDataStream stream( data, IO_ReadOnly ); 404 QDataStream stream( data, IO_ReadOnly );
404 QString fileName; 405 QString fileName;
405 stream >> fileName; 406 stream >> fileName;
406 //qDebug("filename %s ", fileName.latin1()); 407 //qDebug("filename %s ", fileName.latin1());
407 showMaximized(); 408 showMaximized();
408 raise(); 409 raise();
409 KOPrefs::instance()->mLastSyncedLocalFile = fileName ; 410 KOPrefs::instance()->mLastSyncedLocalFile = fileName ;
410 mSyncManager->slotSyncMenu( 1002 ); 411 mSyncManager->slotSyncMenu( 1002 );
411 return; 412 return;
412 } 413 }
413 414
414 if ( cmsg == "-writeFile" ) { 415 if ( cmsg == "-writeFile" ) {
415 // I made from the "-writeFile" an "-writeAlarm" 416 // I made from the "-writeFile" an "-writeAlarm"
416 mView->viewManager()->showWhatsNextView(); 417 mView->viewManager()->showWhatsNextView();
417 mCalendar->checkAlarmForIncidence( 0, true); 418 mCalendar->checkAlarmForIncidence( 0, true);
418 showMaximized(); 419 showMaximized();
419 raise(); 420 raise();
420 return; 421 return;
421 422
422 } 423 }
423 if ( cmsg == "-writeFileSilent" ) { 424 if ( cmsg == "-writeFileSilent" ) {
424 // I made from the "-writeFile" an "-writeAlarm" 425 // I made from the "-writeFile" an "-writeAlarm"
425 // mView->viewManager()->showWhatsNextView(); 426 // mView->viewManager()->showWhatsNextView();
426 mCalendar->checkAlarmForIncidence( 0, true); 427 mCalendar->checkAlarmForIncidence( 0, true);
427 //showMaximized(); 428 //showMaximized();
428 //raise(); 429 //raise();
429 hide(); 430 hide();
430 return; 431 return;
431 } 432 }
432 if ( cmsg == "-newCountdown" ) { 433 if ( cmsg == "-newCountdown" ) {
433 qDebug("newCountdown "); 434 qDebug("newCountdown ");
434 435
435 } 436 }
436 QString msg ; 437 QString msg ;
437 QString allmsg = cmsg; 438 QString allmsg = cmsg;
438 while ( allmsg.length() > 0 ) { 439 while ( allmsg.length() > 0 ) {
439 int nextC = allmsg.find( "-", 1 ); 440 int nextC = allmsg.find( "-", 1 );
440 if ( nextC == -1 ) { 441 if ( nextC == -1 ) {
441 msg = allmsg; 442 msg = allmsg;
442 allmsg = ""; 443 allmsg = "";
443 } else{ 444 } else{
444 msg = allmsg.left( nextC ); 445 msg = allmsg.left( nextC );
445 allmsg = allmsg.mid( nextC, allmsg.length()-nextC ); 446 allmsg = allmsg.mid( nextC, allmsg.length()-nextC );
446 } 447 }
447 //qDebug("msg: %s all: %s ", msg.latin1(), allmsg.latin1() ); 448 //qDebug("msg: %s all: %s ", msg.latin1(), allmsg.latin1() );
448 if ( msg == "-newEvent" ) { 449 if ( msg == "-newEvent" ) {
449 mView->newEvent(); 450 mView->newEvent();
450 } 451 }
451 if ( msg == "-newTodo" ) { 452 if ( msg == "-newTodo" ) {
452 mView->newTodo(); 453 mView->newTodo();
453 454
454 } 455 }
455 if ( msg == "-showWN" ) { 456 if ( msg == "-showWN" ) {
456 mView->viewManager()->showWhatsNextView(); 457 mView->viewManager()->showWhatsNextView();
457 } 458 }
458 if ( msg == "-showTodo" ) { 459 if ( msg == "-showTodo" ) {
459 mView->viewManager()->showTodoView(); 460 mView->viewManager()->showTodoView();
460 } 461 }
461 if ( msg == "-showList" ) { 462 if ( msg == "-showList" ) {
462 mView->viewManager()->showListView(); 463 mView->viewManager()->showListView();
463 } 464 }
464 else if ( msg == "-showDay" ) { 465 else if ( msg == "-showDay" ) {
465 mView->viewManager()->showDayView(); 466 mView->viewManager()->showDayView();
466 } 467 }
467 else if ( msg == "-showWWeek" ) { 468 else if ( msg == "-showWWeek" ) {
468 mView->viewManager()->showWorkWeekView(); 469 mView->viewManager()->showWorkWeekView();
469 } 470 }
470 else if ( msg == "-ringSync" ) { 471 else if ( msg == "-ringSync" ) {
471 mSyncManager->multiSync( false ); 472 mSyncManager->multiSync( false );
472 } 473 }
473 else if ( msg == "-showWeek" ) { 474 else if ( msg == "-showWeek" ) {
474 mView->viewManager()->showWeekView(); 475 mView->viewManager()->showWeekView();
475 } 476 }
476 else if ( msg == "-showTodo" ) { 477 else if ( msg == "-showTodo" ) {
477 mView->viewManager()->showTodoView(); 478 mView->viewManager()->showTodoView();
478 } 479 }
479 else if ( msg == "-showJournal" ) { 480 else if ( msg == "-showJournal" ) {
480 mView->dateNavigator()->selectDates( 1 ); 481 mView->dateNavigator()->selectDates( 1 );
481 mView->dateNavigator()->selectToday(); 482 mView->dateNavigator()->selectToday();
482 mView->viewManager()->showJournalView(); 483 mView->viewManager()->showJournalView();
483 } 484 }
484 else if ( msg == "-showKO" ) { 485 else if ( msg == "-showKO" ) {
485 mView->viewManager()->showNextXView(); 486 mView->viewManager()->showNextXView();
486 } 487 }
487 else if ( msg == "-showWNext" || msg == "nextView()" ) { 488 else if ( msg == "-showWNext" || msg == "nextView()" ) {
488 mView->viewManager()->showWhatsNextView(); 489 mView->viewManager()->showWhatsNextView();
489 } 490 }
490 else if ( msg == "-showNextXView" ) { 491 else if ( msg == "-showNextXView" ) {
491 mView->viewManager()->showNextXView(); 492 mView->viewManager()->showNextXView();
492 } 493 }
493 494
494 495
495 } 496 }
496 497
497 showMaximized(); 498 showMaximized();
498 raise(); 499 raise();
499} 500}
500 501
501QPixmap MainWindow::loadPixmap( QString name ) 502QPixmap MainWindow::loadPixmap( QString name )
502{ 503{
503 return SmallIcon( name ); 504 return SmallIcon( name );
504 505
505} 506}
506void MainWindow::initActions() 507void MainWindow::initActions()
507{ 508{
508 //KOPrefs::instance()->mShowFullMenu 509 //KOPrefs::instance()->mShowFullMenu
509 iconToolBar->clear(); 510 iconToolBar->clear();
510 KOPrefs *p = KOPrefs::instance(); 511 KOPrefs *p = KOPrefs::instance();
511 //QPEMenuBar *menuBar1;// = new QPEMenuBar( iconToolBar ); 512 //QPEMenuBar *menuBar1;// = new QPEMenuBar( iconToolBar );
512 513
513 QPopupMenu *viewMenu = new QPopupMenu( this ); 514 QPopupMenu *viewMenu = new QPopupMenu( this );
514 QPopupMenu *actionMenu = new QPopupMenu( this ); 515 QPopupMenu *actionMenu = new QPopupMenu( this );
515 QPopupMenu *importMenu = new QPopupMenu( this ); 516 QPopupMenu *importMenu = new QPopupMenu( this );
516 selectFilterMenu = new QPopupMenu( this ); 517 selectFilterMenu = new QPopupMenu( this );
517 selectFilterMenu->setCheckable( true ); 518 selectFilterMenu->setCheckable( true );
518 syncMenu = new QPopupMenu( this ); 519 syncMenu = new QPopupMenu( this );
519 configureAgendaMenu = new QPopupMenu( this ); 520 configureAgendaMenu = new QPopupMenu( this );
520 configureToolBarMenu = new QPopupMenu( this ); 521 configureToolBarMenu = new QPopupMenu( this );
521 QPopupMenu *helpMenu = new QPopupMenu( this ); 522 QPopupMenu *helpMenu = new QPopupMenu( this );
522 if ( KOPrefs::instance()->mShowFullMenu ) { 523 if ( KOPrefs::instance()->mShowFullMenu ) {
523 QMenuBar *menuBar1; 524 QMenuBar *menuBar1;
524 menuBar1 = menuBar(); 525 menuBar1 = menuBar();
525 menuBar1->insertItem( i18n("File"), importMenu ); 526 menuBar1->insertItem( i18n("File"), importMenu );
526 menuBar1->insertItem( i18n("View"), viewMenu ); 527 menuBar1->insertItem( i18n("View"), viewMenu );
527 menuBar1->insertItem( i18n("Actions"), actionMenu ); 528 menuBar1->insertItem( i18n("Actions"), actionMenu );
528#ifdef DESKTOP_VERSION 529#ifdef DESKTOP_VERSION
529 menuBar1->insertItem( i18n("Synchronize"), syncMenu ); 530 menuBar1->insertItem( i18n("Synchronize"), syncMenu );
530 menuBar1->insertItem( i18n("AgendaSize"),configureAgendaMenu ); 531 menuBar1->insertItem( i18n("AgendaSize"),configureAgendaMenu );
531#else 532#else
532 menuBar1->insertItem( i18n("Sync"), syncMenu ); 533 menuBar1->insertItem( i18n("Sync"), syncMenu );
533 menuBar1->insertItem( i18n("Agenda"),configureAgendaMenu ); 534 menuBar1->insertItem( i18n("Agenda"),configureAgendaMenu );
534#endif 535#endif
535 //menuBar1->insertItem( i18n("Toolbar"),configureToolBarMenu ); 536 //menuBar1->insertItem( i18n("Toolbar"),configureToolBarMenu );
536 menuBar1->insertItem( i18n("Filter"),selectFilterMenu ); 537 menuBar1->insertItem( i18n("Filter"),selectFilterMenu );
537 menuBar1->insertItem( i18n("Help"), helpMenu ); 538 menuBar1->insertItem( i18n("Help"), helpMenu );
538 } else { 539 } else {
539 QPEMenuBar *menuBar1; 540 QPEMenuBar *menuBar1;
540 menuBar1 = new QPEMenuBar( iconToolBar ); 541 menuBar1 = new QPEMenuBar( iconToolBar );
541 QPopupMenu *menuBar = new QPopupMenu( this ); 542 QPopupMenu *menuBar = new QPopupMenu( this );
542 menuBar1->insertItem( i18n("ME"), menuBar); 543 menuBar1->insertItem( i18n("ME"), menuBar);
543 menuBar->insertItem( i18n("File"), importMenu ); 544 menuBar->insertItem( i18n("File"), importMenu );
544 menuBar->insertItem( i18n("View"), viewMenu ); 545 menuBar->insertItem( i18n("View"), viewMenu );
545 menuBar->insertItem( i18n("Actions"), actionMenu ); 546 menuBar->insertItem( i18n("Actions"), actionMenu );
546 menuBar->insertItem( i18n("Synchronize"), syncMenu ); 547 menuBar->insertItem( i18n("Synchronize"), syncMenu );
547 menuBar->insertItem( i18n("AgendaSize"),configureAgendaMenu ); 548 menuBar->insertItem( i18n("AgendaSize"),configureAgendaMenu );
548 menuBar->insertItem( i18n("Toolbar"),configureToolBarMenu ); 549 menuBar->insertItem( i18n("Toolbar"),configureToolBarMenu );
549 menuBar->insertItem( i18n("Filter"),selectFilterMenu ); 550 menuBar->insertItem( i18n("Filter"),selectFilterMenu );
550 menuBar->insertItem( i18n("Help"), helpMenu ); 551 menuBar->insertItem( i18n("Help"), helpMenu );
551 //menuBar1->setMaximumWidth( menuBar1->sizeHint().width() ); 552 //menuBar1->setMaximumWidth( menuBar1->sizeHint().width() );
552 menuBar1->setMaximumSize( menuBar1->sizeHint( )); 553 menuBar1->setMaximumSize( menuBar1->sizeHint( ));
553 } 554 }
554 connect ( selectFilterMenu, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) ); 555 connect ( selectFilterMenu, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) );
555 connect ( selectFilterMenu, SIGNAL( aboutToShow() ), this, SLOT (fillFilterMenu() ) ); 556 connect ( selectFilterMenu, SIGNAL( aboutToShow() ), this, SLOT (fillFilterMenu() ) );
556 QIconSet icon; 557 QIconSet icon;
557 int pixWid = 22, pixHei = 22; 558 int pixWid = 22, pixHei = 22;
558 QString pathString = ""; 559 QString pathString = "";
559 if ( !p->mToolBarMiniIcons ) { 560 if ( !p->mToolBarMiniIcons ) {
560 if ( QApplication::desktop()->width() < 480 ) { 561 if ( QApplication::desktop()->width() < 480 ) {
561 pathString += "icons16/"; 562 pathString += "icons16/";
562 pixWid = 18; pixHei = 16; 563 pixWid = 18; pixHei = 16;
563 } 564 }
564 } else { 565 } else {
565 pathString += "iconsmini/"; 566 pathString += "iconsmini/";
566 pixWid = 18; pixHei = 16; 567 pixWid = 18; pixHei = 16;
567 } 568 }
568 mWeekBgColor = iconToolBar->backgroundColor(); 569 mWeekBgColor = iconToolBar->backgroundColor();
569 mWeekPixmap.resize( pixWid , pixHei ); 570 mWeekPixmap.resize( pixWid , pixHei );
570 mWeekPixmap.fill( mWeekBgColor ); 571 mWeekPixmap.fill( mWeekBgColor );
571 icon = mWeekPixmap; 572 icon = mWeekPixmap;
572 mWeekAction = new QAction( i18n("Select week number"),icon, i18n("Select week number"), 0, this ); 573 mWeekAction = new QAction( i18n("Select week number"),icon, i18n("Select week number"), 0, this );
573 mWeekAction->addTo( iconToolBar ); 574 mWeekAction->addTo( iconToolBar );
574 mWeekFont = font(); 575 mWeekFont = font();
575 576
576 int fontPoint = mWeekFont.pointSize(); 577 int fontPoint = mWeekFont.pointSize();
577 QFontMetrics f( mWeekFont ); 578 QFontMetrics f( mWeekFont );
578 int fontWid = f.width( "30" ); 579 int fontWid = f.width( "30" );
579 while ( fontWid > pixWid ) { 580 while ( fontWid > pixWid ) {
580 --fontPoint; 581 --fontPoint;
581 mWeekFont.setPointSize( fontPoint ); 582 mWeekFont.setPointSize( fontPoint );
582 QFontMetrics f( mWeekFont ); 583 QFontMetrics f( mWeekFont );
583 fontWid = f.width( "30" ); 584 fontWid = f.width( "30" );
584 qDebug("dec-- "); 585 qDebug("dec-- ");
585 } 586 }
586 587
587 connect( mWeekAction, SIGNAL( activated() ), 588 connect( mWeekAction, SIGNAL( activated() ),
588 this, SLOT( weekAction() ) ); 589 this, SLOT( weekAction() ) );
589 590
590 connect( this, SIGNAL( selectWeek ( int ) ), mView->dateNavigator(), SLOT( selectWeek ( int ) ) ); 591 connect( this, SIGNAL( selectWeek ( int ) ), mView->dateNavigator(), SLOT( selectWeek ( int ) ) );
591 592
592 //#endif 593 //#endif
593 // ****************** 594 // ******************
594 QAction *action; 595 QAction *action;
595 // QPopupMenu *configureMenu= new QPopupMenu( menuBar ); 596 // QPopupMenu *configureMenu= new QPopupMenu( menuBar );
596 configureToolBarMenu->setCheckable( true ); 597 configureToolBarMenu->setCheckable( true );
597 598
598 599
599 configureAgendaMenu->setCheckable( true ); 600 configureAgendaMenu->setCheckable( true );
600 int iii ; 601 int iii ;
601 for ( iii = 1;iii<= 10 ;++iii ){ 602 for ( iii = 1;iii<= 10 ;++iii ){
602 configureAgendaMenu->insertItem(i18n("Size %1").arg(iii), (iii+1)*2 ); 603 configureAgendaMenu->insertItem(i18n("Size %1").arg(iii), (iii+1)*2 );
603 } 604 }
604 //configureMenu->insertItem( "AgendaSize",configureAgendaMenu ); 605 //configureMenu->insertItem( "AgendaSize",configureAgendaMenu );
605 606
606 connect( configureAgendaMenu, SIGNAL( aboutToShow()), 607 connect( configureAgendaMenu, SIGNAL( aboutToShow()),
607 this, SLOT( showConfigureAgenda( ) ) ); 608 this, SLOT( showConfigureAgenda( ) ) );
608 609
609 icon = loadPixmap( pathString + "configure" ); 610 icon = loadPixmap( pathString + "configure" );
610 action = new QAction( i18n("Configure"),icon, i18n("Configure..."), 0, this ); 611 action = new QAction( i18n("Configure"),icon, i18n("Configure..."), 0, this );
611 action->addTo( actionMenu ); 612 action->addTo( actionMenu );
612 connect( action, SIGNAL( activated() ), 613 connect( action, SIGNAL( activated() ),
613 mView, SLOT( edit_options() ) ); 614 mView, SLOT( edit_options() ) );
614 actionMenu->insertSeparator(); 615 actionMenu->insertSeparator();
615 616
616 action = new QAction( i18n("Undo Delete"), i18n("Undo Delete..."), 0, this ); 617 action = new QAction( i18n("Undo Delete"), i18n("Undo Delete..."), 0, this );
617 action->addTo( actionMenu ); 618 action->addTo( actionMenu );
618 connect( action, SIGNAL( activated() ), 619 connect( action, SIGNAL( activated() ),
619 mView, SLOT( undo_delete() ) ); 620 mView, SLOT( undo_delete() ) );
620 actionMenu->insertSeparator(); 621 actionMenu->insertSeparator();
621 622
622 icon = loadPixmap( pathString + "newevent" ); 623 icon = loadPixmap( pathString + "newevent" );
623 configureToolBarMenu->insertItem(i18n("Stretched TB"), 5 ); 624 configureToolBarMenu->insertItem(i18n("Stretched TB"), 5 );
624 configureToolBarMenu->insertSeparator(); 625 configureToolBarMenu->insertSeparator();
625 configureToolBarMenu->insertItem(icon, i18n("New Event..."), 10 ); 626 configureToolBarMenu->insertItem(icon, i18n("New Event..."), 10 );
626 QAction* ne_action = new QAction( i18n("New Event..."), icon, i18n("New Event..."), 0, this ); 627 QAction* ne_action = new QAction( i18n("New Event..."), icon, i18n("New Event..."), 0, this );
627 ne_action->addTo( actionMenu ); 628 ne_action->addTo( actionMenu );
628 connect( ne_action, SIGNAL( activated() ), 629 connect( ne_action, SIGNAL( activated() ),
629 mView, SLOT( newEvent() ) ); 630 mView, SLOT( newEvent() ) );
630 icon = loadPixmap( pathString + "newtodo" ); 631 icon = loadPixmap( pathString + "newtodo" );
631 configureToolBarMenu->insertItem(icon, i18n("New Todo..."), 20 ); 632 configureToolBarMenu->insertItem(icon, i18n("New Todo..."), 20 );
632 QAction* nt_action = new QAction( i18n("New Todo..."), icon, i18n("New Todo..."), 0, this ); 633 QAction* nt_action = new QAction( i18n("New Todo..."), icon, i18n("New Todo..."), 0, this );
633 nt_action->addTo( actionMenu ); 634 nt_action->addTo( actionMenu );
634 connect( nt_action, SIGNAL( activated() ), 635 connect( nt_action, SIGNAL( activated() ),
635 mView, SLOT( newTodo() ) ); 636 mView, SLOT( newTodo() ) );
636 637
637 icon = loadPixmap( pathString + "today" ); 638 icon = loadPixmap( pathString + "today" );
638 QAction* today_action = new QAction( i18n("Go to Today"), icon, i18n("Go to Today"), 0, this ); 639 QAction* today_action = new QAction( i18n("Go to Today"), icon, i18n("Go to Today"), 0, this );
639 today_action->addTo( viewMenu ); 640 today_action->addTo( viewMenu );
640 connect( today_action, SIGNAL( activated() ), 641 connect( today_action, SIGNAL( activated() ),
641 mView, SLOT( goToday() ) ); 642 mView, SLOT( goToday() ) );
642 viewMenu->insertSeparator(); 643 viewMenu->insertSeparator();
643 644
644 icon = loadPixmap( pathString + "navi" ); 645 icon = loadPixmap( pathString + "navi" );
645 action = new QAction( i18n("Toggle DateNavigator"), icon, i18n("Toggle DateNavigator"), 0, this ); 646 action = new QAction( i18n("Toggle DateNavigator"), icon, i18n("Toggle DateNavigator"), 0, this );
646 action->addTo( viewMenu ); 647 action->addTo( viewMenu );
647 connect( action, SIGNAL( activated() ), 648 connect( action, SIGNAL( activated() ),
648 mView, SLOT( toggleDateNavigatorWidget() ) ); 649 mView, SLOT( toggleDateNavigatorWidget() ) );
649 mToggleNav = action ; 650 mToggleNav = action ;
650 icon = loadPixmap( pathString + "filter" ); 651 icon = loadPixmap( pathString + "filter" );
651 action = new QAction( i18n("Toggle FilterView"), icon, i18n("Toggle FilterView"), 0, this ); 652 action = new QAction( i18n("Toggle FilterView"), icon, i18n("Toggle FilterView"), 0, this );
652 action->addTo( viewMenu ); 653 action->addTo( viewMenu );
653 connect( action, SIGNAL( activated() ), 654 connect( action, SIGNAL( activated() ),
654 mView, SLOT( toggleFilter() ) ); 655 mView, SLOT( toggleFilter() ) );
655 mToggleFilter = action; 656 mToggleFilter = action;
656 icon = loadPixmap( pathString + "allday" ); 657 icon = loadPixmap( pathString + "allday" );
657 action = new QAction( i18n("Toggle Allday"), icon,i18n("Toggle Allday"), 0, this ); 658 action = new QAction( i18n("Toggle Allday"), icon,i18n("Toggle Allday"), 0, this );
658 action->addTo( viewMenu ); 659 action->addTo( viewMenu );
659 connect( action, SIGNAL( activated() ), 660 connect( action, SIGNAL( activated() ),
660 mView, SLOT( toggleAllDaySize() ) ); 661 mView, SLOT( toggleAllDaySize() ) );
661 mToggleAllday = action; 662 mToggleAllday = action;
662 663
663 664
664 connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ), 665 connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ),
665 mToggleNav, SLOT( setEnabled ( bool ) ) ); 666 mToggleNav, SLOT( setEnabled ( bool ) ) );
666 connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ), 667 connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ),
667 mToggleFilter, SLOT( setEnabled ( bool ) ) ); 668 mToggleFilter, SLOT( setEnabled ( bool ) ) );
668 connect( mView->viewManager(), SIGNAL( signalAgendaView( bool ) ), 669 connect( mView->viewManager(), SIGNAL( signalAgendaView( bool ) ),
669 mToggleAllday, SLOT( setEnabled ( bool ) ) ); 670 mToggleAllday, SLOT( setEnabled ( bool ) ) );
670 671
671 viewMenu->insertSeparator(); 672 viewMenu->insertSeparator();
672 icon = loadPixmap( pathString + "picker" ); 673 icon = loadPixmap( pathString + "picker" );
673 action = new QAction( i18n("Date Picker"), icon, i18n("Date Picker"), 0, this ); 674 action = new QAction( i18n("Date Picker"), icon, i18n("Date Picker"), 0, this );
674 action->addTo( viewMenu ); 675 action->addTo( viewMenu );
675 connect( action, SIGNAL( activated() ), 676 connect( action, SIGNAL( activated() ),
676 mView, SLOT( showDatePicker() ) ); 677 mView, SLOT( showDatePicker() ) );
677 action->addTo( iconToolBar ); 678 action->addTo( iconToolBar );
678 viewMenu->insertSeparator(); 679 viewMenu->insertSeparator();
679 icon = loadPixmap( pathString + "list" ); 680 icon = loadPixmap( pathString + "list" );
680 configureToolBarMenu->insertItem(icon, i18n("List View"), 30 ); 681 configureToolBarMenu->insertItem(icon, i18n("List View"), 30 );
681 QAction* showlist_action = new QAction( i18n("List View"), icon, i18n("List View"), 0, this ); 682 QAction* showlist_action = new QAction( i18n("List View"), icon, i18n("List View"), 0, this );
682 showlist_action->addTo( viewMenu ); 683 showlist_action->addTo( viewMenu );
683 connect( showlist_action, SIGNAL( activated() ), 684 connect( showlist_action, SIGNAL( activated() ),
684 mView->viewManager(), SLOT( showListView() ) ); 685 mView->viewManager(), SLOT( showListView() ) );
685 686
686 687
687 icon = loadPixmap( pathString + "day" ); 688 icon = loadPixmap( pathString + "day" );
688 configureToolBarMenu->insertItem(icon, i18n("Day View"), 40 ); 689 configureToolBarMenu->insertItem(icon, i18n("Day View"), 40 );
689 QAction* day1_action = new QAction( i18n("Day View"), icon, i18n("Day View"), 0, this ); 690 QAction* day1_action = new QAction( i18n("Day View"), icon, i18n("Day View"), 0, this );
690 day1_action->addTo( viewMenu ); 691 day1_action->addTo( viewMenu );
691 // action->addTo( toolBar ); 692 // action->addTo( toolBar );
692 connect( day1_action, SIGNAL( activated() ), 693 connect( day1_action, SIGNAL( activated() ),
693 mView->viewManager(), SLOT( showDayView() ) ); 694 mView->viewManager(), SLOT( showDayView() ) );
694 695
695 icon = loadPixmap( pathString + "workweek" ); 696 icon = loadPixmap( pathString + "workweek" );
696 configureToolBarMenu->insertItem(icon, i18n("Work Week"), 50 ); 697 configureToolBarMenu->insertItem(icon, i18n("Work Week"), 50 );
697 QAction* day5_action = new QAction( i18n("Work Week"), icon, i18n("Work Week"), 0, this ); 698 QAction* day5_action = new QAction( i18n("Work Week"), icon, i18n("Work Week"), 0, this );
698 day5_action->addTo( viewMenu ); 699 day5_action->addTo( viewMenu );
699 connect( day5_action, SIGNAL( activated() ), 700 connect( day5_action, SIGNAL( activated() ),
700 mView->viewManager(), SLOT( showWorkWeekView() ) ); 701 mView->viewManager(), SLOT( showWorkWeekView() ) );
701 702
702 icon = loadPixmap( pathString + "week" ); 703 icon = loadPixmap( pathString + "week" );
703 configureToolBarMenu->insertItem(icon, i18n("Week"), 60 ); 704 configureToolBarMenu->insertItem(icon, i18n("Week"), 60 );
704 QAction* day7_action = new QAction( i18n("Week"), icon, i18n("Week"), 0, this ); 705 QAction* day7_action = new QAction( i18n("Week"), icon, i18n("Week"), 0, this );
705 day7_action->addTo( viewMenu ); 706 day7_action->addTo( viewMenu );
706 connect( day7_action, SIGNAL( activated() ), 707 connect( day7_action, SIGNAL( activated() ),
707 mView->viewManager(), SLOT( showWeekView() ) ); 708 mView->viewManager(), SLOT( showWeekView() ) );
708 709
709 icon = loadPixmap( pathString + "month" ); 710 icon = loadPixmap( pathString + "month" );
710 configureToolBarMenu->insertItem(icon, i18n("Month"), 70 ); 711 configureToolBarMenu->insertItem(icon, i18n("Month"), 70 );
711 QAction* month_action = new QAction( i18n("Month"), icon, i18n("Month"), 0, this ); 712 QAction* month_action = new QAction( i18n("Month"), icon, i18n("Month"), 0, this );
712 month_action->addTo( viewMenu ); 713 month_action->addTo( viewMenu );
713 connect( month_action, SIGNAL( activated() ), 714 connect( month_action, SIGNAL( activated() ),
714 mView->viewManager(), SLOT( showMonthView() ) ); 715 mView->viewManager(), SLOT( showMonthView() ) );
715 716
716 icon = loadPixmap( pathString + "workweek2" ); 717 icon = loadPixmap( pathString + "workweek2" );
717 configureToolBarMenu->insertItem(icon, i18n("List week view"), 75 ); 718 configureToolBarMenu->insertItem(icon, i18n("List week view"), 75 );
718 QAction* day6_action = new QAction( i18n("List week"), icon, i18n("List week"), 0, this ); 719 QAction* day6_action = new QAction( i18n("List week"), icon, i18n("List week"), 0, this );
719 day6_action->addTo( viewMenu ); 720 day6_action->addTo( viewMenu );
720 connect( day6_action, SIGNAL( activated() ), 721 connect( day6_action, SIGNAL( activated() ),
721 mView->viewManager(), SLOT( showMonthViewWeek() ) ); 722 mView->viewManager(), SLOT( showMonthViewWeek() ) );
722 723
723 icon = loadPixmap( pathString + "todo" ); 724 icon = loadPixmap( pathString + "todo" );
724 configureToolBarMenu->insertItem(icon, i18n("Todo View"), 80 ); 725 configureToolBarMenu->insertItem(icon, i18n("Todo View"), 80 );
725 QAction* todoview_action = new QAction( i18n("Todo View"), icon, i18n("Todo View"), 0, this ); 726 QAction* todoview_action = new QAction( i18n("Todo View"), icon, i18n("Todo View"), 0, this );
726 todoview_action->addTo( viewMenu ); 727 todoview_action->addTo( viewMenu );
727 connect( todoview_action, SIGNAL( activated() ), 728 connect( todoview_action, SIGNAL( activated() ),
728 mView->viewManager(), SLOT( showTodoView() ) ); 729 mView->viewManager(), SLOT( showTodoView() ) );
729 730
730 icon = loadPixmap( pathString + "journal" ); 731 icon = loadPixmap( pathString + "journal" );
731 configureToolBarMenu->insertItem(icon, i18n("Journal"), 90 ); 732 configureToolBarMenu->insertItem(icon, i18n("Journal"), 90 );
732 QAction* viewjournal_action = new QAction( i18n("Journal"), icon, i18n("Journal"), 0, this ); 733 QAction* viewjournal_action = new QAction( i18n("Journal"), icon, i18n("Journal"), 0, this );
733 viewjournal_action->addTo( viewMenu ); 734 viewjournal_action->addTo( viewMenu );
734 connect( viewjournal_action, SIGNAL( activated() ), 735 connect( viewjournal_action, SIGNAL( activated() ),
735 mView->viewManager(), SLOT( showJournalView() ) ); 736 mView->viewManager(), SLOT( showJournalView() ) );
736 737
737 icon = loadPixmap( pathString + "xdays" ); 738 icon = loadPixmap( pathString + "xdays" );
738 configureToolBarMenu->insertItem(icon, i18n("Next days"), 100,4 ); 739 configureToolBarMenu->insertItem(icon, i18n("Next days"), 100,4 );
739 QAction* xdays_action = new QAction( i18n("Next days"), icon, i18n("Next days"), 0, this ); 740 QAction* xdays_action = new QAction( i18n("Next days"), icon, i18n("Next days"), 0, this );
740 xdays_action->addTo( viewMenu ); 741 xdays_action->addTo( viewMenu );
741 connect( xdays_action, SIGNAL( activated() ), 742 connect( xdays_action, SIGNAL( activated() ),
742 mView->viewManager(), SLOT( showNextXView() ) ); 743 mView->viewManager(), SLOT( showNextXView() ) );
743 744
744 icon = loadPixmap( pathString + "whatsnext" ); 745 icon = loadPixmap( pathString + "whatsnext" );
745 configureToolBarMenu->insertItem(icon, i18n("What's Next"), 110, 4 ); 746 configureToolBarMenu->insertItem(icon, i18n("What's Next"), 110, 4 );
746 QAction* whatsnext_action = new QAction( i18n("What's Next"), icon, i18n("What's Next"), 0, this ); 747 QAction* whatsnext_action = new QAction( i18n("What's Next"), icon, i18n("What's Next"), 0, this );
747 whatsnext_action->addTo( viewMenu ); 748 whatsnext_action->addTo( viewMenu );
748 connect( whatsnext_action, SIGNAL( activated() ), 749 connect( whatsnext_action, SIGNAL( activated() ),
749 mView->viewManager(), SLOT( showWhatsNextView() ) ); 750 mView->viewManager(), SLOT( showWhatsNextView() ) );
750 751
751#if 0 752#if 0
752 action = new QAction( "view_timespan", "Time Span", 0, this ); 753 action = new QAction( "view_timespan", "Time Span", 0, this );
753 action->addTo( viewMenu ); 754 action->addTo( viewMenu );
754 connect( action, SIGNAL( activated() ), 755 connect( action, SIGNAL( activated() ),
755 mView->viewManager(), SLOT( showTimeSpanView() ) ); 756 mView->viewManager(), SLOT( showTimeSpanView() ) );
756#endif 757#endif
757 758
758 mNewSubTodoAction = new QAction( "new_subtodo", i18n("New Sub-Todo..."), 0, 759 mNewSubTodoAction = new QAction( "new_subtodo", i18n("New Sub-Todo..."), 0,
759 this ); 760 this );
760 mNewSubTodoAction->addTo( actionMenu ); 761 mNewSubTodoAction->addTo( actionMenu );
761 connect( mNewSubTodoAction, SIGNAL( activated() ), 762 connect( mNewSubTodoAction, SIGNAL( activated() ),
762 mView, SLOT( newSubTodo() ) ); 763 mView, SLOT( newSubTodo() ) );
763 764
764 actionMenu->insertSeparator(); 765 actionMenu->insertSeparator();
765 766
766 mShowAction = new QAction( "show_incidence", i18n("Show..."), 0, this ); 767 mShowAction = new QAction( "show_incidence", i18n("Show..."), 0, this );
767 mShowAction->addTo( actionMenu ); 768 mShowAction->addTo( actionMenu );
768 connect( mShowAction, SIGNAL( activated() ), 769 connect( mShowAction, SIGNAL( activated() ),
769 mView, SLOT( showIncidence() ) ); 770 mView, SLOT( showIncidence() ) );
770 771
771 mEditAction = new QAction( "edit_incidence", i18n("Edit..."), 0, this ); 772 mEditAction = new QAction( "edit_incidence", i18n("Edit..."), 0, this );
772 mEditAction->addTo( actionMenu ); 773 mEditAction->addTo( actionMenu );
773 connect( mEditAction, SIGNAL( activated() ), 774 connect( mEditAction, SIGNAL( activated() ),
774 mView, SLOT( editIncidence() ) ); 775 mView, SLOT( editIncidence() ) );
775 776
776 mDeleteAction = new QAction( "delete_incidence", i18n("Delete..."), 0, this ); 777 mDeleteAction = new QAction( "delete_incidence", i18n("Delete..."), 0, this );
777 mDeleteAction->addTo( actionMenu ); 778 mDeleteAction->addTo( actionMenu );
778 connect( mDeleteAction, SIGNAL( activated() ), 779 connect( mDeleteAction, SIGNAL( activated() ),
779 mView, SLOT( deleteIncidence() ) ); 780 mView, SLOT( deleteIncidence() ) );
780 781
781 782
782 mCloneAction = new QAction( "clone_incidence", i18n("Clone..."), 0, this ); 783 mCloneAction = new QAction( "clone_incidence", i18n("Clone..."), 0, this );
783 mCloneAction->addTo( actionMenu ); 784 mCloneAction->addTo( actionMenu );
784 connect( mCloneAction, SIGNAL( activated() ), 785 connect( mCloneAction, SIGNAL( activated() ),
785 mView, SLOT( cloneIncidence() ) ); 786 mView, SLOT( cloneIncidence() ) );
786 mMoveAction = new QAction( "Move_incidence", i18n("Move..."), 0, this ); 787 mMoveAction = new QAction( "Move_incidence", i18n("Move..."), 0, this );
787 mMoveAction->addTo( actionMenu ); 788 mMoveAction->addTo( actionMenu );
788 connect( mMoveAction, SIGNAL( activated() ), 789 connect( mMoveAction, SIGNAL( activated() ),
789 mView, SLOT( moveIncidence() ) ); 790 mView, SLOT( moveIncidence() ) );
790 mBeamAction = new QAction( "Beam_incidence", i18n("Beam..."), 0, this ); 791 mBeamAction = new QAction( "Beam_incidence", i18n("Beam..."), 0, this );
791 mBeamAction->addTo( actionMenu ); 792 mBeamAction->addTo( actionMenu );
792 connect( mBeamAction, SIGNAL( activated() ), 793 connect( mBeamAction, SIGNAL( activated() ),
793 mView, SLOT( beamIncidence() ) ); 794 mView, SLOT( beamIncidence() ) );
794 mCancelAction = new QAction( "Cancel_incidence", i18n("Toggle Cancel"), 0, this ); 795 mCancelAction = new QAction( "Cancel_incidence", i18n("Toggle Cancel"), 0, this );
795 mCancelAction->addTo( actionMenu ); 796 mCancelAction->addTo( actionMenu );
796 connect( mCancelAction, SIGNAL( activated() ), 797 connect( mCancelAction, SIGNAL( activated() ),
797 mView, SLOT( toggleCancelIncidence() ) ); 798 mView, SLOT( toggleCancelIncidence() ) );
798 799
799 actionMenu->insertSeparator(); 800 actionMenu->insertSeparator();
800 801
801 action = new QAction( "purge_completed", i18n("Purge Completed"), 0, 802 action = new QAction( "purge_completed", i18n("Purge Completed"), 0,
802 this ); 803 this );
803 action->addTo( actionMenu ); 804 action->addTo( actionMenu );
804 connect( action, SIGNAL( activated() ), mView, SLOT( purgeCompleted() ) ); 805 connect( action, SIGNAL( activated() ), mView, SLOT( purgeCompleted() ) );
805 806
806 icon = loadPixmap( pathString + "search" ); 807 icon = loadPixmap( pathString + "search" );
807 QAction* search_action = new QAction( i18n("Search"), icon, i18n("Search..."), 0, this ); 808 QAction* search_action = new QAction( i18n("Search"), icon, i18n("Search..."), 0, this );
808 configureToolBarMenu->insertItem(icon, i18n("Search"), 120 , 4); 809 configureToolBarMenu->insertItem(icon, i18n("Search"), 120 , 4);
809 search_action->addTo( actionMenu ); 810 search_action->addTo( actionMenu );
810 connect( search_action, SIGNAL( activated() ), 811 connect( search_action, SIGNAL( activated() ),
811 mView->dialogManager(), SLOT( showSearchDialog() ) ); 812 mView->dialogManager(), SLOT( showSearchDialog() ) );
812 813
813 814
814 815
815 if ( KOPrefs::instance()->mShowFullMenu ) { 816 if ( KOPrefs::instance()->mShowFullMenu ) {
816 actionMenu->insertSeparator(); 817 actionMenu->insertSeparator();
817 actionMenu->insertItem( i18n("Configure Toolbar"),configureToolBarMenu ); 818 actionMenu->insertItem( i18n("Configure Toolbar"),configureToolBarMenu );
818 819
819 } 820 }
820 // actionMenu->insertSeparator(); 821 // actionMenu->insertSeparator();
821 action = new QAction( "import_qtopia", i18n("Import (*.ics/*.vcs) file"), 0, 822 action = new QAction( "import_qtopia", i18n("Import (*.ics/*.vcs) file"), 0,
822 this ); 823 this );
823 action->addTo( importMenu ); 824 action->addTo( importMenu );
824 connect( action, SIGNAL( activated() ), SLOT( importIcal() ) ); 825 connect( action, SIGNAL( activated() ), SLOT( importIcal() ) );
825 action = new QAction( "import_quick", i18n("Import last file"), 0, 826 action = new QAction( "import_quick", i18n("Import last file"), 0,
826 this ); 827 this );
827 action->addTo( importMenu ); 828 action->addTo( importMenu );
828 connect( action, SIGNAL( activated() ), SLOT( quickImportIcal() ) ); 829 connect( action, SIGNAL( activated() ), SLOT( quickImportIcal() ) );
829 importMenu->insertSeparator(); 830 importMenu->insertSeparator();
830 action = new QAction( "import_bday", i18n("Import Birthdays (KA/Pi)"), 0, 831 action = new QAction( "import_bday", i18n("Import Birthdays (KA/Pi)"), 0,
831 this ); 832 this );
832 action->addTo( importMenu ); 833 action->addTo( importMenu );
833 connect( action, SIGNAL( activated() ), SLOT( importBday() ) ); 834 connect( action, SIGNAL( activated() ), SLOT( importBday() ) );
834#ifndef DESKTOP_VERSION 835#ifndef DESKTOP_VERSION
835 importMenu->insertSeparator(); 836 importMenu->insertSeparator();
836 action = new QAction( "import_qtopia", i18n("Import Opie/Qtopia Cal."), 0, 837 action = new QAction( "import_qtopia", i18n("Import Opie/Qtopia Cal."), 0,
837 this ); 838 this );
838 action->addTo( importMenu ); 839 action->addTo( importMenu );
839 connect( action, SIGNAL( activated() ), SLOT( importQtopia() ) ); 840 connect( action, SIGNAL( activated() ), SLOT( importQtopia() ) );
840#else 841#else
841#ifdef _OL_IMPORT_ 842#ifdef _OL_IMPORT_
842 importMenu->insertSeparator(); 843 importMenu->insertSeparator();
843 action = new QAction( "import_ol", i18n("Import from OL"), 0, 844 action = new QAction( "import_ol", i18n("Import from OL"), 0,
844 this ); 845 this );
845 action->addTo( importMenu ); 846 action->addTo( importMenu );
846 connect( action, SIGNAL( activated() ), SLOT( importOL() ) ); 847 connect( action, SIGNAL( activated() ), SLOT( importOL() ) );
847#endif 848#endif
848#endif 849#endif
849 850
850 importMenu->insertSeparator(); 851 importMenu->insertSeparator();
851 action = new QAction( "load_cal", i18n("Load Calendar Backup"), 0, 852 action = new QAction( "load_cal", i18n("Load Calendar Backup"), 0,
852 this ); 853 this );
853 action->addTo( importMenu ); 854 action->addTo( importMenu );
854 connect( action, SIGNAL( activated() ), SLOT( loadCalendar() ) ); 855 connect( action, SIGNAL( activated() ), SLOT( loadCalendar() ) );
855 856
856 action = new QAction( "save_cal", i18n("Save Calendar Backup"), 0, 857 action = new QAction( "save_cal", i18n("Save Calendar Backup"), 0,
857 this ); 858 this );
858 action->addTo( importMenu ); 859 action->addTo( importMenu );
859 connect( action, SIGNAL( activated() ), SLOT( saveCalendar() ) ); 860 connect( action, SIGNAL( activated() ), SLOT( saveCalendar() ) );
860 861
861 importMenu->insertSeparator(); 862 importMenu->insertSeparator();
862 action = new QAction( "import_qtopia", i18n("Export VCalendar"), 0, 863 action = new QAction( "import_qtopia", i18n("Export VCalendar"), 0,
863 this ); 864 this );
864 action->addTo( importMenu ); connect( action, SIGNAL( activated() ), SLOT( exportVCalendar() ) ); 865 action->addTo( importMenu ); connect( action, SIGNAL( activated() ), SLOT( exportVCalendar() ) );
865 866
866 867
867 //LR 868 //LR
868 QPopupMenu *ex2phone = new QPopupMenu( this ); 869 QPopupMenu *ex2phone = new QPopupMenu( this );
869 ex2phone->insertItem(i18n("Complete calendar..."), 1 ); 870 ex2phone->insertItem(i18n("Complete calendar..."), 1 );
870 ex2phone->insertItem(i18n("Filtered calendar..."), 2 ); 871 ex2phone->insertItem(i18n("Filtered calendar..."), 2 );
871 connect( ex2phone, SIGNAL( activated(int) ), this, SLOT( exportToPhone( int)) ); 872 connect( ex2phone, SIGNAL( activated(int) ), this, SLOT( exportToPhone( int)) );
872 importMenu->insertItem( i18n("Export to phone"), ex2phone ); 873 importMenu->insertItem( i18n("Export to phone"), ex2phone );
873 874
874 importMenu->insertSeparator(); 875 importMenu->insertSeparator();
875 action = new QAction( "manage cat", i18n("Manage new categories..."), 0, 876 action = new QAction( "manage cat", i18n("Manage new categories..."), 0,
876 this ); 877 this );
877 action->addTo( importMenu ); 878 action->addTo( importMenu );
878 connect( action, SIGNAL( activated() ), mView, SLOT( manageCategories() ) ); 879 connect( action, SIGNAL( activated() ), mView, SLOT( manageCategories() ) );
879#ifndef DESKTOP_VERSION 880#ifndef DESKTOP_VERSION
880 importMenu->insertSeparator(); 881 importMenu->insertSeparator();
881 brAction = new QAction( "beam toggle", i18n("Beam receive enabled"), 0, 882 brAction = new QAction( "beam toggle", i18n("Beam receive enabled"), 0,
882 this ); 883 this );
883 brAction->addTo( importMenu ); 884 brAction->addTo( importMenu );
884 brAction->setToggleAction (true ) ; 885 brAction->setToggleAction (true ) ;
885 connect( brAction, SIGNAL( activated() ), this, SLOT( toggleBeamReceive() ) ); 886 connect( brAction, SIGNAL( activated() ), this, SLOT( toggleBeamReceive() ) );
886 887
887 action = new QAction( "beam all", i18n("Beam complete calendar..."), 0, 888 action = new QAction( "beam all", i18n("Beam complete calendar..."), 0,
888 this ); 889 this );
889 action->addTo( importMenu ); 890 action->addTo( importMenu );
890 connect( action, SIGNAL( activated() ), mView, SLOT( beamCalendar() ) ); 891 connect( action, SIGNAL( activated() ), mView, SLOT( beamCalendar() ) );
891 892
892 action = new QAction( "beam all", i18n("Beam filtered calendar..."), 0, 893 action = new QAction( "beam all", i18n("Beam filtered calendar..."), 0,
893 this ); 894 this );
894 action->addTo( importMenu ); 895 action->addTo( importMenu );
895 connect( action, SIGNAL( activated() ), mView, SLOT( beamFilteredCalendar()) ); 896 connect( action, SIGNAL( activated() ), mView, SLOT( beamFilteredCalendar()) );
896#else 897#else
897 importMenu->insertSeparator(); 898 importMenu->insertSeparator();
898 icon = loadPixmap( pathString + "print" ); 899 icon = loadPixmap( pathString + "print" );
899 action = new QAction( i18n("Print calendar..."),icon,i18n("Print calendar..."), 0, this ); 900 action = new QAction( i18n("Print calendar..."),icon,i18n("Print calendar..."), 0, this );
900 action->addTo( importMenu ); 901 action->addTo( importMenu );
901 connect( action, SIGNAL( activated() ), 902 connect( action, SIGNAL( activated() ),
902 this, SLOT( printCal() ) ); 903 this, SLOT( printCal() ) );
903 904
904 icon = loadPixmap( pathString + "print" ); 905 icon = loadPixmap( pathString + "print" );
905 action = new QAction( i18n("Print agenda selection..."),icon,i18n("Print agenda selection..."), 0, this ); 906 action = new QAction( i18n("Print agenda selection..."),icon,i18n("Print agenda selection..."), 0, this );
906 action->addTo( importMenu ); 907 action->addTo( importMenu );
907 connect( action, SIGNAL( activated() ), 908 connect( action, SIGNAL( activated() ),
908 this, SLOT( printSel() ) ); 909 this, SLOT( printSel() ) );
909 action = new QAction( i18n("Print What's Next View..."),icon,i18n("Print What's Next View..."), 0, this ); 910 action = new QAction( i18n("Print What's Next View..."),icon,i18n("Print What's Next View..."), 0, this );
910 action->addTo( importMenu ); 911 action->addTo( importMenu );
911 connect( action, SIGNAL( activated() ), 912 connect( action, SIGNAL( activated() ),
912 mView->viewManager(), SIGNAL( printWNV() ) ); 913 mView->viewManager(), SIGNAL( printWNV() ) );
913#endif 914#endif
914 importMenu->insertSeparator(); 915 importMenu->insertSeparator();
915 action = new QAction( "beam all", i18n("Save"), 0, 916 action = new QAction( "beam all", i18n("Save"), 0,
916 this ); 917 this );
917 action->addTo( importMenu ); 918 action->addTo( importMenu );
918 connect( action, SIGNAL( activated() ), this, SLOT( save() ) ); 919 connect( action, SIGNAL( activated() ), this, SLOT( save() ) );
919 action = new QAction( "beam all", i18n("Exit (+save)"), 0, 920 action = new QAction( "beam all", i18n("Exit (+save)"), 0,
920 this ); 921 this );
921 action->addTo( importMenu ); 922 action->addTo( importMenu );
922 connect( action, SIGNAL( activated() ), this, SLOT( close() ) ); 923 connect( action, SIGNAL( activated() ), this, SLOT( close() ) );
923 924
924 //menuBar->insertItem( "Configure",configureMenu ); 925 //menuBar->insertItem( "Configure",configureMenu );
925 //configureMenu->insertItem( "Toolbar",configureToolBarMenu ); 926 //configureMenu->insertItem( "Toolbar",configureToolBarMenu );
926 icon = loadPixmap( "korganizer/korganizer" ); 927 icon = loadPixmap( "korganizer/korganizer" );
927 928
928 action = new QAction( "Whats New", i18n("What's new?"), 0,this ); 929 action = new QAction( "Whats New", i18n("What's new?"), 0,this );
929 action->addTo( helpMenu ); 930 action->addTo( helpMenu );
930 connect( action, SIGNAL( activated() ), 931 connect( action, SIGNAL( activated() ),
931 SLOT( whatsNew() ) ); 932 SLOT( whatsNew() ) );
932 action = new QAction( "featureHowto", i18n("Features + hints..."), 0,this ); 933 action = new QAction( "featureHowto", i18n("Features + hints..."), 0,this );
933 action->addTo( helpMenu ); 934 action->addTo( helpMenu );
934 connect( action, SIGNAL( activated() ), 935 connect( action, SIGNAL( activated() ),
935 SLOT( features() ) ); 936 SLOT( features() ) );
936 action = new QAction( "Keys + Colors", i18n("Keys + Colors..."), 0, this ); 937 action = new QAction( "Keys + Colors", i18n("Keys + Colors..."), 0, this );
937 action->addTo( helpMenu ); 938 action->addTo( helpMenu );
938 connect( action, SIGNAL( activated() ), 939 connect( action, SIGNAL( activated() ),
939 SLOT( keyBindings() ) ); 940 SLOT( keyBindings() ) );
940 action = new QAction( "Sync Howto", i18n("Sync HowTo..."), 0,this ); 941 action = new QAction( "Sync Howto", i18n("Sync HowTo..."), 0,this );
941 action->addTo( helpMenu ); 942 action->addTo( helpMenu );
942 connect( action, SIGNAL( activated() ), 943 connect( action, SIGNAL( activated() ),
943 SLOT( synchowto() ) ); 944 SLOT( synchowto() ) );
944 action = new QAction( "KDE Sync Howto", i18n("KDE Sync HowTo..."), 0,this ); 945 action = new QAction( "KDE Sync Howto", i18n("KDE Sync HowTo..."), 0,this );
945 action->addTo( helpMenu ); 946 action->addTo( helpMenu );
946 connect( action, SIGNAL( activated() ), 947 connect( action, SIGNAL( activated() ),
947 SLOT( kdesynchowto() ) ); 948 SLOT( kdesynchowto() ) );
948 action = new QAction( "Multi Sync Howto", i18n("Multi Sync HowTo..."), 0,this ); 949 action = new QAction( "Multi Sync Howto", i18n("Multi Sync HowTo..."), 0,this );
949 action->addTo( helpMenu ); 950 action->addTo( helpMenu );
950 connect( action, SIGNAL( activated() ), 951 connect( action, SIGNAL( activated() ),
951 SLOT( multisynchowto() ) ); 952 SLOT( multisynchowto() ) );
952 action = new QAction( "Auto saving", i18n("Auto saving..."), 0, this ); 953 action = new QAction( "Auto saving", i18n("Auto saving..."), 0, this );
953 action->addTo( helpMenu ); 954 action->addTo( helpMenu );
954 connect( action, SIGNAL( activated() ), 955 connect( action, SIGNAL( activated() ),
955 SLOT( aboutAutoSaving() ) ); 956 SLOT( aboutAutoSaving() ) );
956 action = new QAction( "Problemd", i18n("Known Problems..."), 0,this ); 957 action = new QAction( "Problemd", i18n("Known Problems..."), 0,this );
957 action->addTo( helpMenu ); 958 action->addTo( helpMenu );
958 connect( action, SIGNAL( activated() ), 959 connect( action, SIGNAL( activated() ),
959 SLOT( aboutKnownBugs() ) ); 960 SLOT( aboutKnownBugs() ) );
960 action = new QAction( "Translate Howto", i18n("User translation..."), 0,this ); 961 action = new QAction( "Translate Howto", i18n("User translation..."), 0,this );
961 action->addTo( helpMenu ); 962 action->addTo( helpMenu );
962 connect( action, SIGNAL( activated() ), 963 connect( action, SIGNAL( activated() ),
963 SLOT( usertrans() ) ); 964 SLOT( usertrans() ) );
964 action = new QAction( "Frequently asked questions", i18n("FAQ..."), 0,this ); 965 action = new QAction( "Frequently asked questions", i18n("FAQ..."), 0,this );
965 action->addTo( helpMenu ); 966 action->addTo( helpMenu );
966 connect( action, SIGNAL( activated() ), 967 connect( action, SIGNAL( activated() ),
967 SLOT( faq() ) ); 968 SLOT( faq() ) );
968 action = new QAction( "licence", i18n("Licence..."), 0, this ); 969 action = new QAction( "licence", i18n("Licence..."), 0, this );
969 action->addTo( helpMenu ); 970 action->addTo( helpMenu );
970 connect( action, SIGNAL( activated() ), 971 connect( action, SIGNAL( activated() ),
971 SLOT( licence() ) ); 972 SLOT( licence() ) );
972 action = new QAction( "about", i18n("About..."), 0, this ); 973 action = new QAction( "about", i18n("About..."), 0, this );
973 action->addTo( helpMenu ); 974 action->addTo( helpMenu );
974 connect( action, SIGNAL( activated() ), 975 connect( action, SIGNAL( activated() ),
975 SLOT( about() ) ); 976 SLOT( about() ) );
976 //menuBar->insertSeparator(); 977 //menuBar->insertSeparator();
977 978
978 // ****************************************************** 979 // ******************************************************
979 // menubar icons 980 // menubar icons
980 981
981 982
982 iconToolBar->setHorizontalStretchable (true ); 983 iconToolBar->setHorizontalStretchable (true );
983 //menuBar->insertItem( iconToolBar ); 984 //menuBar->insertItem( iconToolBar );
984 //xdays_action 985 //xdays_action
985 if (p-> mShowIconNewEvent) 986 if (p-> mShowIconNewEvent)
986 ne_action->addTo( iconToolBar ); 987 ne_action->addTo( iconToolBar );
987 if (p->mShowIconNewTodo ) 988 if (p->mShowIconNewTodo )
988 nt_action->addTo( iconToolBar ); 989 nt_action->addTo( iconToolBar );
989 if (p-> mShowIconSearch) 990 if (p-> mShowIconSearch)
990 search_action->addTo( iconToolBar ); 991 search_action->addTo( iconToolBar );
991 if (p-> mShowIconNext) 992 if (p-> mShowIconNext)
992 whatsnext_action->addTo( iconToolBar ); 993 whatsnext_action->addTo( iconToolBar );
993 if (p-> mShowIconNextDays) 994 if (p-> mShowIconNextDays)
994 xdays_action->addTo( iconToolBar ); 995 xdays_action->addTo( iconToolBar );
995 if (p-> mShowIconList) 996 if (p-> mShowIconList)
996 showlist_action->addTo( iconToolBar ); 997 showlist_action->addTo( iconToolBar );
997 if (p-> mShowIconDay1) 998 if (p-> mShowIconDay1)
998 day1_action->addTo( iconToolBar ); 999 day1_action->addTo( iconToolBar );
999 if (p-> mShowIconDay5) 1000 if (p-> mShowIconDay5)
1000 day5_action->addTo( iconToolBar ); 1001 day5_action->addTo( iconToolBar );
1001 if (p-> mShowIconDay7) 1002 if (p-> mShowIconDay7)
1002 day7_action->addTo( iconToolBar ); 1003 day7_action->addTo( iconToolBar );
1003 if (p-> mShowIconMonth) 1004 if (p-> mShowIconMonth)
1004 month_action->addTo( iconToolBar ); 1005 month_action->addTo( iconToolBar );
1005 if (p-> mShowIconDay6) 1006 if (p-> mShowIconDay6)
1006 day6_action->addTo( iconToolBar ); 1007 day6_action->addTo( iconToolBar );
1007 if (p-> mShowIconTodoview) 1008 if (p-> mShowIconTodoview)
1008 todoview_action->addTo( iconToolBar ); 1009 todoview_action->addTo( iconToolBar );
1009 if (p-> mShowIconJournal) 1010 if (p-> mShowIconJournal)
1010 viewjournal_action->addTo( iconToolBar ); 1011 viewjournal_action->addTo( iconToolBar );
1011 icon = loadPixmap( pathString + "2leftarrowB" ); 1012 icon = loadPixmap( pathString + "2leftarrowB" );
1012 configureToolBarMenu->insertItem(icon, i18n("Prev. month"), 200, 14); 1013 configureToolBarMenu->insertItem(icon, i18n("Prev. month"), 200, 14);
1013 if (p-> mShowIconBackFast) { 1014 if (p-> mShowIconBackFast) {
1014 action = new QAction( i18n("Prev. month"), icon, i18n("Prev. month"),0 , this ); 1015 action = new QAction( i18n("Prev. month"), icon, i18n("Prev. month"),0 , this );
1015 connect( action, SIGNAL( activated() ), 1016 connect( action, SIGNAL( activated() ),
1016 mView, SLOT( goPreviousMonth() ) ); 1017 mView, SLOT( goPreviousMonth() ) );
1017 action->addTo( iconToolBar ); 1018 action->addTo( iconToolBar );
1018 } 1019 }
1019 icon = loadPixmap( pathString + "1leftarrowB" ); 1020 icon = loadPixmap( pathString + "1leftarrowB" );
1020 configureToolBarMenu->insertItem(icon, i18n("Go backward"), 210,15); 1021 configureToolBarMenu->insertItem(icon, i18n("Go backward"), 210,15);
1021 if (p-> mShowIconBack) { 1022 if (p-> mShowIconBack) {
1022 action = new QAction( i18n("Go backward"), icon, i18n("Go backward"),0 , this ); 1023 action = new QAction( i18n("Go backward"), icon, i18n("Go backward"),0 , this );
1023 connect( action, SIGNAL( activated() ), 1024 connect( action, SIGNAL( activated() ),
1024 mView, SLOT( goPrevious() ) ); 1025 mView, SLOT( goPrevious() ) );
1025 action->addTo( iconToolBar ); 1026 action->addTo( iconToolBar );
1026 } 1027 }
1027 icon = loadPixmap( pathString + "today" ); 1028 icon = loadPixmap( pathString + "today" );
1028 configureToolBarMenu->insertItem(icon, i18n("Go to Today"), 130); 1029 configureToolBarMenu->insertItem(icon, i18n("Go to Today"), 130);
1029 if (p-> mShowIconToday) 1030 if (p-> mShowIconToday)
1030 today_action->addTo( iconToolBar ); 1031 today_action->addTo( iconToolBar );
1031 icon = loadPixmap( pathString + "1rightarrowB" ); 1032 icon = loadPixmap( pathString + "1rightarrowB" );
1032 configureToolBarMenu->insertItem(icon, i18n("Go forward"), 220); 1033 configureToolBarMenu->insertItem(icon, i18n("Go forward"), 220);
1033 if (p-> mShowIconForward) { 1034 if (p-> mShowIconForward) {
1034 action = new QAction( i18n("Go forward"), icon, i18n("Go forward"),0 , this ); 1035 action = new QAction( i18n("Go forward"), icon, i18n("Go forward"),0 , this );
1035 connect( action, SIGNAL( activated() ), 1036 connect( action, SIGNAL( activated() ),
1036 mView, SLOT( goNext() ) ); 1037 mView, SLOT( goNext() ) );
1037 action->addTo( iconToolBar ); 1038 action->addTo( iconToolBar );
1038 } 1039 }
1039 icon = loadPixmap( pathString + "2rightarrowB" ); 1040 icon = loadPixmap( pathString + "2rightarrowB" );
1040 configureToolBarMenu->insertItem(icon, i18n("Next month"), 230); 1041 configureToolBarMenu->insertItem(icon, i18n("Next month"), 230);
1041 if (p-> mShowIconForwardFast) { 1042 if (p-> mShowIconForwardFast) {
1042 action = new QAction( i18n("Next month"), icon, i18n("Next month"),0 , this ); 1043 action = new QAction( i18n("Next month"), icon, i18n("Next month"),0 , this );
1043 connect( action, SIGNAL( activated() ), 1044 connect( action, SIGNAL( activated() ),
1044 mView, SLOT( goNextMonth() ) ); 1045 mView, SLOT( goNextMonth() ) );
1045 action->addTo( iconToolBar ); 1046 action->addTo( iconToolBar );
1046 } 1047 }
1047 1048
1048 1049
1049 configureToolBarMenu->insertItem(i18n("What's This?"), 300); 1050 configureToolBarMenu->insertItem(i18n("What's This?"), 300);
1050 1051
1051 if (p-> mShowIconNewEvent) 1052 if (p-> mShowIconNewEvent)
1052 configureToolBarMenu->setItemChecked( 10, true ); 1053 configureToolBarMenu->setItemChecked( 10, true );
1053 if (p->mShowIconNewTodo ) 1054 if (p->mShowIconNewTodo )
1054 configureToolBarMenu->setItemChecked( 20, true ); 1055 configureToolBarMenu->setItemChecked( 20, true );
1055 if (p-> mShowIconSearch) 1056 if (p-> mShowIconSearch)
1056 configureToolBarMenu->setItemChecked( 120, true ); 1057 configureToolBarMenu->setItemChecked( 120, true );
1057 if (p-> mShowIconList) 1058 if (p-> mShowIconList)
1058 configureToolBarMenu->setItemChecked( 30, true ); 1059 configureToolBarMenu->setItemChecked( 30, true );
1059 if (p-> mShowIconDay1) 1060 if (p-> mShowIconDay1)
1060 configureToolBarMenu->setItemChecked( 40, true ); 1061 configureToolBarMenu->setItemChecked( 40, true );
1061 if (p-> mShowIconDay5) 1062 if (p-> mShowIconDay5)
1062 configureToolBarMenu->setItemChecked( 50, true ); 1063 configureToolBarMenu->setItemChecked( 50, true );
1063 if (p-> mShowIconDay6) 1064 if (p-> mShowIconDay6)
1064 configureToolBarMenu->setItemChecked( 75, true ); 1065 configureToolBarMenu->setItemChecked( 75, true );
1065 if (p-> mShowIconDay7) 1066 if (p-> mShowIconDay7)
1066 configureToolBarMenu->setItemChecked( 60, true ); 1067 configureToolBarMenu->setItemChecked( 60, true );
1067 if (p-> mShowIconMonth) 1068 if (p-> mShowIconMonth)
1068 configureToolBarMenu->setItemChecked( 70, true ); 1069 configureToolBarMenu->setItemChecked( 70, true );
1069 if (p-> mShowIconTodoview) 1070 if (p-> mShowIconTodoview)
1070 configureToolBarMenu->setItemChecked( 80, true ); 1071 configureToolBarMenu->setItemChecked( 80, true );
1071 if (p-> mShowIconBackFast) 1072 if (p-> mShowIconBackFast)
1072 configureToolBarMenu->setItemChecked( 200, true ); 1073 configureToolBarMenu->setItemChecked( 200, true );
1073 if (p-> mShowIconBack) 1074 if (p-> mShowIconBack)
1074 configureToolBarMenu->setItemChecked( 210, true ); 1075 configureToolBarMenu->setItemChecked( 210, true );
1075 if (p-> mShowIconToday) 1076 if (p-> mShowIconToday)
1076 configureToolBarMenu->setItemChecked( 130, true ); 1077 configureToolBarMenu->setItemChecked( 130, true );
1077 if (p-> mShowIconForward) 1078 if (p-> mShowIconForward)
1078 configureToolBarMenu->setItemChecked( 220, true ); 1079 configureToolBarMenu->setItemChecked( 220, true );
1079 if (p-> mShowIconForwardFast) 1080 if (p-> mShowIconForwardFast)
1080 configureToolBarMenu->setItemChecked( 230, true ); 1081 configureToolBarMenu->setItemChecked( 230, true );
1081 if (p-> mShowIconNextDays) 1082 if (p-> mShowIconNextDays)
1082 configureToolBarMenu->setItemChecked( 100, true ); 1083 configureToolBarMenu->setItemChecked( 100, true );
1083 if (p-> mShowIconNext) 1084 if (p-> mShowIconNext)
1084 configureToolBarMenu->setItemChecked( 110, true ); 1085 configureToolBarMenu->setItemChecked( 110, true );
1085 if (p-> mShowIconJournal) 1086 if (p-> mShowIconJournal)
1086 configureToolBarMenu->setItemChecked( 90, true ); 1087 configureToolBarMenu->setItemChecked( 90, true );
1087 if (p-> mShowIconWhatsThis) 1088 if (p-> mShowIconWhatsThis)
1088 configureToolBarMenu->setItemChecked( 300, true ); 1089 configureToolBarMenu->setItemChecked( 300, true );
1089 1090
1090 QLabel* dummy = new QLabel( iconToolBar ); 1091 QLabel* dummy = new QLabel( iconToolBar );
1091 dummy->setBackgroundColor( iconToolBar->backgroundColor() ); 1092 dummy->setBackgroundColor( iconToolBar->backgroundColor() );
1092 if (!p-> mShowIconStretch) 1093 if (!p-> mShowIconStretch)
1093 iconToolBar->setStretchableWidget ( dummy ) ; 1094 iconToolBar->setStretchableWidget ( dummy ) ;
1094 else 1095 else
1095 configureToolBarMenu->setItemChecked( 5, true ); 1096 configureToolBarMenu->setItemChecked( 5, true );
1096 if (p-> mShowIconWhatsThis) 1097 if (p-> mShowIconWhatsThis)
1097 QWhatsThis::whatsThisButton ( iconToolBar ); 1098 QWhatsThis::whatsThisButton ( iconToolBar );
1098 connect( configureToolBarMenu, SIGNAL( activated( int ) ),this, SLOT(configureToolBar( int ) ) ); 1099 connect( configureToolBarMenu, SIGNAL( activated( int ) ),this, SLOT(configureToolBar( int ) ) );
1099 configureAgenda( p->mHourSize ); 1100 configureAgenda( p->mHourSize );
1100 connect( configureAgendaMenu, SIGNAL( activated( int ) ),this, SLOT(configureAgenda( int ) ) ); 1101 connect( configureAgendaMenu, SIGNAL( activated( int ) ),this, SLOT(configureAgenda( int ) ) );
1101} 1102}
1102 1103
1103void MainWindow::exportToPhone( int mode ) 1104void MainWindow::exportToPhone( int mode )
1104{ 1105{
1105 1106
1106 //ex2phone->insertItem(i18n("Complete calendar..."), 1 ); 1107 //ex2phone->insertItem(i18n("Complete calendar..."), 1 );
1107 //ex2phone->insertItem(i18n("Filtered calendar..."), 2 ); 1108 //ex2phone->insertItem(i18n("Filtered calendar..."), 2 );
1108 KOex2phonePrefs ex2phone; 1109 KOex2phonePrefs ex2phone;
1109 1110
1110 ex2phone.mPhoneConnection->setText( KPimGlobalPrefs::instance()->mEx2PhoneConnection ); 1111 ex2phone.mPhoneConnection->setText( KPimGlobalPrefs::instance()->mEx2PhoneConnection );
1111 ex2phone.mPhoneDevice->setText( KPimGlobalPrefs::instance()->mEx2PhoneDevice ); 1112 ex2phone.mPhoneDevice->setText( KPimGlobalPrefs::instance()->mEx2PhoneDevice );
1112 ex2phone.mPhoneModel->setText( KPimGlobalPrefs::instance()->mEx2PhoneModel ); 1113 ex2phone.mPhoneModel->setText( KPimGlobalPrefs::instance()->mEx2PhoneModel );
1113 if ( mode == 1 ) 1114 if ( mode == 1 )
1114 ex2phone.setCaption(i18n("Export complete calendar")); 1115 ex2phone.setCaption(i18n("Export complete calendar"));
1115 if ( mode == 2 ) 1116 if ( mode == 2 )
1116 ex2phone.setCaption(i18n("Export filtered calendar")); 1117 ex2phone.setCaption(i18n("Export filtered calendar"));
1117 1118
1118 if ( !ex2phone.exec() ) { 1119 if ( !ex2phone.exec() ) {
1119 return; 1120 return;
1120 } 1121 }
1121 KPimGlobalPrefs::instance()->mEx2PhoneConnection = ex2phone.mPhoneConnection->text(); 1122 KPimGlobalPrefs::instance()->mEx2PhoneConnection = ex2phone.mPhoneConnection->text();
1122 KPimGlobalPrefs::instance()->mEx2PhoneDevice = ex2phone.mPhoneDevice->text(); 1123 KPimGlobalPrefs::instance()->mEx2PhoneDevice = ex2phone.mPhoneDevice->text();
1123 KPimGlobalPrefs::instance()->mEx2PhoneModel = ex2phone.mPhoneModel->text(); 1124 KPimGlobalPrefs::instance()->mEx2PhoneModel = ex2phone.mPhoneModel->text();
1124 1125
1125 int inFuture = 0; 1126 int inFuture = 0;
1126 if ( ex2phone.mWriteBackFuture->isChecked() ) 1127 if ( ex2phone.mWriteBackFuture->isChecked() )
1127 inFuture = ex2phone.mWriteBackFutureWeeks->value(); 1128 inFuture = ex2phone.mWriteBackFutureWeeks->value();
1128 QPtrList<Incidence> delSel; 1129 QPtrList<Incidence> delSel;
1129 if ( mode == 1 ) 1130 if ( mode == 1 )
1130 delSel = mCalendar->rawIncidences(); 1131 delSel = mCalendar->rawIncidences();
1131 if ( mode == 2 ) 1132 if ( mode == 2 )
1132 delSel = mCalendar->incidences(); 1133 delSel = mCalendar->incidences();
1133 CalendarLocal* cal = new CalendarLocal(); 1134 CalendarLocal* cal = new CalendarLocal();
1134 cal->setLocalTime(); 1135 cal->setLocalTime();
1135 Incidence *incidence = delSel.first(); 1136 Incidence *incidence = delSel.first();
1136 QDateTime cur = QDateTime::currentDateTime().addDays( -7 ); 1137 QDateTime cur = QDateTime::currentDateTime().addDays( -7 );
1137 QDateTime end = cur.addDays( ( inFuture +1 ) *7 ); 1138 QDateTime end = cur.addDays( ( inFuture +1 ) *7 );
1138 while ( incidence ) { 1139 while ( incidence ) {
1139 if ( incidence->type() != "Journal" ) { 1140 if ( incidence->type() != "Journal" ) {
1140 bool add = true; 1141 bool add = true;
1141 if ( inFuture ) { 1142 if ( inFuture ) {
1142 QDateTime dt; 1143 QDateTime dt;
1143 if ( incidence->type() == "Todo" ) { 1144 if ( incidence->type() == "Todo" ) {
1144 Todo * t = (Todo*)incidence; 1145 Todo * t = (Todo*)incidence;
1145 if ( t->hasDueDate() ) 1146 if ( t->hasDueDate() )
1146 dt = t->dtDue(); 1147 dt = t->dtDue();
1147 else 1148 else
1148 dt = cur.addSecs( 62 ); 1149 dt = cur.addSecs( 62 );
1149 } 1150 }
1150 else { 1151 else {
1151 bool ok; 1152 bool ok;
1152 dt = incidence->getNextOccurence( cur, &ok ); 1153 dt = incidence->getNextOccurence( cur, &ok );
1153 if ( !ok ) 1154 if ( !ok )
1154 dt = cur.addSecs( -62 ); 1155 dt = cur.addSecs( -62 );
1155 } 1156 }
1156 if ( dt < cur || dt > end ) { 1157 if ( dt < cur || dt > end ) {
1157 add = false; 1158 add = false;
1158 } 1159 }
1159 } 1160 }
1160 if ( add ) { 1161 if ( add ) {
1161 Incidence *in = incidence->clone(); 1162 Incidence *in = incidence->clone();
1162 cal->addIncidence( in ); 1163 cal->addIncidence( in );
1163 } 1164 }
1164 } 1165 }
1165 incidence = delSel.next(); 1166 incidence = delSel.next();
1166 } 1167 }
1167 PhoneAccess::writeConfig( KPimGlobalPrefs::instance()->mEx2PhoneDevice, 1168 PhoneAccess::writeConfig( KPimGlobalPrefs::instance()->mEx2PhoneDevice,
1168 KPimGlobalPrefs::instance()->mEx2PhoneConnection, 1169 KPimGlobalPrefs::instance()->mEx2PhoneConnection,
1169 KPimGlobalPrefs::instance()->mEx2PhoneModel ); 1170 KPimGlobalPrefs::instance()->mEx2PhoneModel );
1170 1171
1171 setCaption( i18n("Writing to phone...")); 1172 setCaption( i18n("Writing to phone..."));
1172 if ( PhoneFormat::writeToPhone( cal ) ) 1173 if ( PhoneFormat::writeToPhone( cal ) )
1173 setCaption( i18n("Export to phone successful!")); 1174 setCaption( i18n("Export to phone successful!"));
1174 else 1175 else
1175 setCaption( i18n("Error exporting to phone!")); 1176 setCaption( i18n("Error exporting to phone!"));
1176 delete cal; 1177 delete cal;
1177} 1178}
1178 1179
1179 1180
1180void MainWindow::setDefaultPreferences() 1181void MainWindow::setDefaultPreferences()
1181{ 1182{
1182 KOPrefs *p = KOPrefs::instance(); 1183 KOPrefs *p = KOPrefs::instance();
1183 1184
1184 p->mCompactDialogs = true; 1185 p->mCompactDialogs = true;
1185 p->mConfirm = true; 1186 p->mConfirm = true;
1186 // p->mEnableQuickTodo = false; 1187 // p->mEnableQuickTodo = false;
1187 1188
1188} 1189}
1189 1190
1190QString MainWindow::resourcePath() 1191QString MainWindow::resourcePath()
1191{ 1192{
1192 return KGlobal::iconLoader()->iconPath(); 1193 return KGlobal::iconLoader()->iconPath();
1193} 1194}
1194 1195
1195void MainWindow::displayText( QString text ,QString cap ) 1196void MainWindow::displayText( QString text ,QString cap )
1196{ 1197{
1197 QDialog dia( this, "name", true ); ; 1198 QDialog dia( this, "name", true ); ;
1198 dia.setCaption( cap ); 1199 dia.setCaption( cap );
1199 QVBoxLayout* lay = new QVBoxLayout( &dia ); 1200 QVBoxLayout* lay = new QVBoxLayout( &dia );
1200 lay->setSpacing( 3 ); 1201 lay->setSpacing( 3 );
1201 lay->setMargin( 3 ); 1202 lay->setMargin( 3 );
1202 QTextBrowser tb ( &dia ); 1203 QTextBrowser tb ( &dia );
1203 lay->addWidget( &tb ); 1204 lay->addWidget( &tb );
1204 tb.setText( text ); 1205 tb.setText( text );
1205#ifdef DESKTOP_VERSION 1206#ifdef DESKTOP_VERSION
1206 dia.resize( 640, 480); 1207 dia.resize( 640, 480);
1207#else 1208#else
1208 dia.showMaximized(); 1209 dia.showMaximized();
1209#endif 1210#endif
1210 dia.exec(); 1211 dia.exec();
1211} 1212}
1212 1213
1213void MainWindow::features() 1214void MainWindow::features()
1214{ 1215{
1215 1216
1216 KApplication::showFile( i18n("KO/Pi Features and hints"), "kdepim/korganizer/featuresKOPI.txt" ); 1217 KApplication::showFile( i18n("KO/Pi Features and hints"), "kdepim/korganizer/featuresKOPI.txt" );
1217} 1218}
1218 1219
1219void MainWindow::usertrans() 1220void MainWindow::usertrans()
1220{ 1221{
1221 1222
1222 KApplication::showFile( i18n("KO/Pi User translation HowTo"), "kdepim/korganizer/usertranslationHOWTO.txt" ); 1223 KApplication::showFile( i18n("KO/Pi User translation HowTo"), "kdepim/korganizer/usertranslationHOWTO.txt" );
1223} 1224}
1224 1225
1225void MainWindow::kdesynchowto() 1226void MainWindow::kdesynchowto()
1226{ 1227{
1227 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/Zaurus-KDE_syncHowTo.txt" ); 1228 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/Zaurus-KDE_syncHowTo.txt" );
1228} 1229}
1229void MainWindow::multisynchowto() 1230void MainWindow::multisynchowto()
1230{ 1231{
1231 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/MultiSyncHowTo.txt" ); 1232 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/MultiSyncHowTo.txt" );
1232} 1233}
1233void MainWindow::synchowto() 1234void MainWindow::synchowto()
1234{ 1235{
1235 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/SyncHowto.txt" ); 1236 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/SyncHowto.txt" );
1236} 1237}
1237void MainWindow::faq() 1238void MainWindow::faq()
1238{ 1239{
1239 KApplication::showFile( i18n("KO/Pi FAQ"), "kdepim/korganizer/kopiFAQ.txt" ); 1240 KApplication::showFile( i18n("KO/Pi FAQ"), "kdepim/korganizer/kopiFAQ.txt" );
1240 1241
1241} 1242}
1242void MainWindow::whatsNew() 1243void MainWindow::whatsNew()
1243{ 1244{
1244 KApplication::showFile( "KDE-Pim/Pi Version Info", "kdepim/WhatsNew.txt" ); 1245 KApplication::showFile( "KDE-Pim/Pi Version Info", "kdepim/WhatsNew.txt" );
1245 1246
1246} 1247}
1247void MainWindow::licence() 1248void MainWindow::licence()
1248{ 1249{
1249 KApplication::showLicence(); 1250 KApplication::showLicence();
1250 1251
1251} 1252}
1252void MainWindow::about() 1253void MainWindow::about()
1253{ 1254{
1254 QString version; 1255 QString version;
1255#include <../version> 1256#include <../version>
1256 QMessageBox::about( this, i18n("About KOrganizer/Pi"), 1257 QMessageBox::about( this, i18n("About KOrganizer/Pi"),
1257 i18n("KOrganizer/Platform-independent\n") + 1258 i18n("KOrganizer/Platform-independent\n") +
1258 "(KO/Pi) " + version + " - " + 1259 "(KO/Pi) " + version + " - " +
1259 1260
1260#ifdef DESKTOP_VERSION 1261#ifdef DESKTOP_VERSION
1261 i18n("Desktop Edition\n") + 1262 i18n("Desktop Edition\n") +
1262#else 1263#else
1263 i18n("PDA-Edition\nfor: Zaurus 5x00/7x0/860/3000/6000\n") + 1264 i18n("PDA-Edition\nfor: Zaurus 5x00/7x0/860/3000/6000\n") +
1264#endif 1265#endif
1265 i18n("(c)2004 Lutz Rogowski (rogowski@kde.org)\nKO/Pi is based on KOrganizer\n(c)2002,2003 Cornelius Schumacher\n(schumacher@kde.org) and the KDE team.\nKOrganizer/Pi is licensed under the GPL.\nKO/Pi can be compiled for\nLinux, Zaurus-PDA and Windows\nwww.pi-sync.net --- www.korganizer.org\nSpecial thanks to Michael and Ben\nfor intensive testing!") ); 1266 i18n("(c)2004 Lutz Rogowski (rogowski@kde.org)\nKO/Pi is based on KOrganizer\n(c)2002,2003 Cornelius Schumacher\n(schumacher@kde.org) and the KDE team.\nKOrganizer/Pi is licensed under the GPL.\nKO/Pi can be compiled for\nLinux, Zaurus-PDA and Windows\nwww.pi-sync.net --- www.korganizer.org\nSpecial thanks to Michael and Ben\nfor intensive testing!") );
1266} 1267}
1267void MainWindow::keyBindings() 1268void MainWindow::keyBindings()
1268{ 1269{
1269 QString cap = i18n("KO/Pi Keys + Colors"); 1270 QString cap = i18n("KO/Pi Keys + Colors");
1270 QString text = i18n("<p><h2>KO/Pi key shortcuts:</h2></p>\n") + 1271 QString text = i18n("<p><h2>KO/Pi key shortcuts:</h2></p>\n") +
1271 i18n("<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n")+ 1272 i18n("<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n")+
1272 i18n("<p><b>I</b>: Show info for selected event/todo</p>\n") + 1273 i18n("<p><b>I</b>: Show info for selected event/todo</p>\n") +
1273 i18n("<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n")+ 1274 i18n("<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n")+
1274 i18n("<p><b>F</b>: Toggle filterview |<b>F+ctrl</b>: Edit filter </p>\n")+ 1275 i18n("<p><b>F</b>: Toggle filterview |<b>F+ctrl</b>: Edit filter </p>\n")+
1275 i18n("<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n")+ 1276 i18n("<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n")+
1276 i18n("<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n")+ 1277 i18n("<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n")+
1277 i18n("<p><b>N</b>: Next days view| <b>W</b>: What's next view\n ")+ 1278 i18n("<p><b>N</b>: Next days view| <b>W</b>: What's next view\n ")+
1278 i18n("<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n")+ 1279 i18n("<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n")+
1279 i18n("<p><b>Z,Y</b>: Work week view | <b>U</b>: Week view</p>\n")+ 1280 i18n("<p><b>Z,Y</b>: Work week view | <b>U</b>: Week view</p>\n")+
1280 i18n("<p><b>D</b>: One day view | <b>M</b>: Month view</p>\n")+ 1281 i18n("<p><b>D</b>: One day view | <b>M</b>: Month view</p>\n")+
1282 i18n("<p><b>K</b>: Week view in Month view syle</p>\n")+
1281 i18n("<p><b>E</b>: Edit selected item |<b> E+ctrl</b>: New Event</p>\n")+ 1283 i18n("<p><b>E</b>: Edit selected item |<b> E+ctrl</b>: New Event</p>\n")+
1282 i18n("<p><b>T</b>: Goto today | <b>T+ctrl</b>: New Todo</p>\n")+ 1284 i18n("<p><b>T</b>: Goto today | <b>T+ctrl</b>: New Todo</p>\n")+
1283 i18n("<p><b>S+ctrl</b>: Add sub-todo | <b>X</b>: Toggle datenavigator</p>\n")+ 1285 i18n("<p><b>S+ctrl</b>: Add sub-todo | <b>X</b>: Toggle datenavigator</p>\n")+
1284 i18n("<p><b>+,-</b> : Zoom in/out agenda | <b>A</b>: Toggle allday agenda height</p>\n")+ 1286 i18n("<p><b>+,-</b> : Zoom in/out agenda | <b>A</b>: Toggle allday agenda height</p>\n")+
1285 i18n("<p><b>C</b>: Show current time in agenda view</p>\n")+ 1287 i18n("<p><b>C</b>: Show current time in agenda view</p>\n")+
1286 i18n("<p><b>B</b>: Edit description (details) of selected item</p>\n")+ 1288 i18n("<p><b>B</b>: Edit description (details) of selected item</p>\n")+
1287 i18n("<p><b>right</b>: Next week | <b>right+ctrl</b>: Next month</p>\n")+ 1289 i18n("<p><b>right</b>: Next week | <b>right+ctrl</b>: Next month</p>\n")+
1288 i18n("<p><b>left</b>: Prev. week | <b>left+ctrl</b>: Prev. month</p>\n")+ 1290 i18n("<p><b>left</b>: Prev. week | <b>left+ctrl</b>: Prev. month</p>\n")+
1289 i18n("<p><b>del,backspace</b>: Delete selected item</p>\n")+ 1291 i18n("<p><b>del,backspace</b>: Delete selected item</p>\n")+
1290 i18n("<p><h3>In agenda view:</h3></p>\n") + 1292 i18n("<p><h3>In agenda view:</h3></p>\n") +
1291 i18n("<p><b>up/down</b>: Scroll agenda view</p>\n")+ 1293 i18n("<p><b>up/down</b>: Scroll agenda view</p>\n")+
1292 i18n("<p><b>ctrl+up/down</b>: Scroll small todo view</p>\n")+ 1294 i18n("<p><b>ctrl+up/down</b>: Scroll small todo view</p>\n")+
1293 i18n("<p><h3>In todo view:</h3></p>\n") + 1295 i18n("<p><h3>In todo view:</h3></p>\n") +
1294 i18n("<p><b>shift+U</b>: <b>U</b>nparent todo (make root todo)</p>\n")+ 1296 i18n("<p><b>shift+U</b>: <b>U</b>nparent todo (make root todo)</p>\n")+
1295 i18n("<p><b>shift+S</b>: Make <b>S</b>ubtodo (reparent todo)</p>\n")+ 1297 i18n("<p><b>shift+S</b>: Make <b>S</b>ubtodo (reparent todo)</p>\n")+
1296 i18n("<p><b>shift+P</b>: Make new <b>P</b>arent for todo selected with shift+S</p>\n")+ 1298 i18n("<p><b>shift+P</b>: Make new <b>P</b>arent for todo selected with shift+S</p>\n")+
1297 i18n("<p><b>Q</b>: Toggle quick todo line edit.</p>\n")+ 1299 i18n("<p><b>Q</b>: Toggle quick todo line edit.</p>\n")+
1298 i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+ 1300 i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+
1299 i18n("<p><b>return</b>: Mark item as completed+one step down.</p>\n")+ 1301 i18n("<p><b>return</b>: Mark item as completed+one step down.</p>\n")+
1300 i18n("<p><b>return+shift</b>: Mark item as not completed+one step down</p>\n")+ 1302 i18n("<p><b>return+shift</b>: Mark item as not completed+one step down</p>\n")+
1301 i18n("<p><h3>In list view:</h3></p>\n") + 1303 i18n("<p><h3>In list view:</h3></p>\n") +
1302 i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+ 1304 i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+
1303 i18n("<p><b>return</b>: Select item+one step down</p>\n")+ 1305 i18n("<p><b>return</b>: Select item+one step down</p>\n")+
1304 i18n("<p><b>return+shift</b>: Deselect item+one step down</p>\n")+ 1306 i18n("<p><b>return+shift</b>: Deselect item+one step down</p>\n")+
1305 i18n("<p><b>up/down</b>: Next/prev item</p>\n")+ 1307 i18n("<p><b>up/down</b>: Next/prev item</p>\n")+
1306 i18n("<p><b>ctrl+up/down</b>: Goto up/down by 20% of items</p>\n")+ 1308 i18n("<p><b>ctrl+up/down</b>: Goto up/down by 20% of items</p>\n")+
1307 i18n("<p><b>shift+up/down</b>: Goto first/last item</p>\n")+ 1309 i18n("<p><b>shift+up/down</b>: Goto first/last item</p>\n")+
1308 i18n("<p><h3>In event/todo viewer:</h3></p>\n") + 1310 i18n("<p><h3>In event/todo viewer:</h3></p>\n") +
1309 i18n("<p><b>I,C</b>: Close dialog.</p>\n")+ 1311 i18n("<p><b>I,C</b>: Close dialog.</p>\n")+
1310 i18n("<p><b>A</b>: Show agenda view.</p>\n")+ 1312 i18n("<p><b>A</b>: Show agenda view.</p>\n")+
1311 i18n("<p><b>E</b>: Edit item</p>\n") + 1313 i18n("<p><b>E</b>: Edit item</p>\n") +
1312 i18n("<p><h2>KO/Pi icon colors:</h2></p>\n") + 1314 i18n("<p><h2>KO/Pi icon colors:</h2></p>\n") +
1313 i18n("<p><b>(for square icons in agenda and month view)</b></p>\n") + 1315 i18n("<p><b>(for square icons in agenda and month view)</b></p>\n") +
1314 i18n("<p><b>Cross</b>: Item cancelled.([c] in Whats'Next view)</p>\n")+ 1316 i18n("<p><b>Cross</b>: Item cancelled.([c] in Whats'Next view)</p>\n")+
1315 i18n("<p><b>Red</b>: Alarm set.([a] in Whats'Next view)</p>\n")+ 1317 i18n("<p><b>Red</b>: Alarm set.([a] in Whats'Next view)</p>\n")+
1316 i18n("<p><b>Blue</b>: Recurrent event.([r] in Whats'Next view)</p>\n")+ 1318 i18n("<p><b>Blue</b>: Recurrent event.([r] in Whats'Next view)</p>\n")+
1317 i18n("<p><b>Dark green</b>: Information(description) available.([i] in WN view)</p>\n")+ 1319 i18n("<p><b>Dark green</b>: Information(description) available.([i] in WN view)</p>\n")+
1318 i18n("<p><b>Black</b>: Event/todo with attendees. You are the organizer!</p>\n")+ 1320 i18n("<p><b>Black</b>: Event/todo with attendees. You are the organizer!</p>\n")+
1319 i18n("<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n") + 1321 i18n("<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n") +
1320 i18n("<p><b>White</b>: Item readonly</p>\n"); 1322 i18n("<p><b>White</b>: Item readonly</p>\n");
1321 displayText( text, cap); 1323 displayText( text, cap);
1322} 1324}
1323void MainWindow::aboutAutoSaving() 1325void MainWindow::aboutAutoSaving()
1324{ 1326{
1325 QString text = i18n("After changing something, the data is\nautomatically saved to the file\n~/kdepim/apps/korganizer/mycalendar.ics\nafter (configurable) 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"); 1327 QString text = i18n("After changing something, the data is\nautomatically saved to the file\n~/kdepim/apps/korganizer/mycalendar.ics\nafter (configurable) 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");
1326 1328
1327 KApplication::showText( i18n("Auto Saving in KOrganizer/Pi"), text); 1329 KApplication::showText( i18n("Auto Saving in KOrganizer/Pi"), text);
1328 1330
1329} 1331}
1330void MainWindow::aboutKnownBugs() 1332void MainWindow::aboutKnownBugs()
1331{ 1333{
1332 QMessageBox* msg; 1334 QMessageBox* msg;
1333 msg = new QMessageBox( i18n("Known Problems in KOrganizer/Pi"), 1335 msg = new QMessageBox( i18n("Known Problems in KOrganizer/Pi"),
1334 i18n("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")+ 1336 i18n("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")+
1335 i18n("2) Audio alarm daemon\nfor Zaurus is available!\nas an additional small application\n")+ 1337 i18n("2) Audio alarm daemon\nfor Zaurus is available!\nas an additional small application\n")+
1336 i18n("\nPlease report unexpected behaviour to\nlutz@pi-sync.net\n") + 1338 i18n("\nPlease report unexpected behaviour to\nlutz@pi-sync.net\n") +
1337 i18n("\nor report them in the bugtracker on\n") + 1339 i18n("\nor report them in the bugtracker on\n") +
1338 i18n("\nhttp://sourceforge.net/projects/kdepimpi\n"), 1340 i18n("\nhttp://sourceforge.net/projects/kdepimpi\n"),
1339 QMessageBox::NoIcon, 1341 QMessageBox::NoIcon,
1340 QMessageBox::Ok, 1342 QMessageBox::Ok,
1341 QMessageBox::NoButton, 1343 QMessageBox::NoButton,
1342 QMessageBox::NoButton); 1344 QMessageBox::NoButton);
1343 msg->exec(); 1345 msg->exec();
1344 delete msg; 1346 delete msg;
1345 1347
1346} 1348}
1347 1349
1348QString MainWindow::defaultFileName() 1350QString MainWindow::defaultFileName()
1349{ 1351{
1350 return locateLocal( "data", "korganizer/mycalendar.ics" ); 1352 return locateLocal( "data", "korganizer/mycalendar.ics" );
1351} 1353}
1352QString MainWindow::syncFileName() 1354QString MainWindow::syncFileName()
1353{ 1355{
1354#ifdef DESKTOP_VERSION 1356#ifdef DESKTOP_VERSION
1355 return locateLocal( "tmp", "synccalendar.ics" ); 1357 return locateLocal( "tmp", "synccalendar.ics" );
1356#else 1358#else
1357 return QString( "/tmp/synccalendar.ics" ); 1359 return QString( "/tmp/synccalendar.ics" );
1358#endif 1360#endif
1359} 1361}
1360void MainWindow::updateWeek(QDate seda) 1362void MainWindow::updateWeek(QDate seda)
1361{ 1363{
1362 int weekNum = 0; 1364 int weekNum = 0;
1363 QDate d = QDate ( seda.year(), 1,1); 1365 QDate d = QDate ( seda.year(), 1,1);
1364 seda = seda.addDays( 1-seda.dayOfWeek() );//we are on monday 1366 seda = seda.addDays( 1-seda.dayOfWeek() );//we are on monday
1365 if ( seda.addDays(6).year() != seda.year() ) { 1367 if ( seda.addDays(6).year() != seda.year() ) {
1366 if ( seda.year() != d.year() ) { 1368 if ( seda.year() != d.year() ) {
1367 if ( d.dayOfWeek() > 4 ) 1369 if ( d.dayOfWeek() > 4 )
1368 d = QDate ( seda.year(), 1,1); 1370 d = QDate ( seda.year(), 1,1);
1369 else 1371 else
1370 weekNum = 1; 1372 weekNum = 1;
1371 } else { 1373 } else {
1372 QDate dd( seda.year()+1, 1,1); 1374 QDate dd( seda.year()+1, 1,1);
1373 if ( dd.dayOfWeek() <= 4 ) 1375 if ( dd.dayOfWeek() <= 4 )
1374 weekNum = 1; 1376 weekNum = 1;
1375 } 1377 }
1376 } 1378 }
1377 if ( weekNum == 0 ){ 1379 if ( weekNum == 0 ){
1378 int dow = d.dayOfWeek(); 1380 int dow = d.dayOfWeek();
1379 if ( dow <= 4 ) 1381 if ( dow <= 4 )
1380 d = d.addDays( 1-dow ); 1382 d = d.addDays( 1-dow );
1381 else // 5,6,7 1383 else // 5,6,7
1382 d = d.addDays( 8-dow ); 1384 d = d.addDays( 8-dow );
1383 // we have the first week of the year.we are on monday 1385 // we have the first week of the year.we are on monday
1384 weekNum = d.daysTo( seda ) / 7 +1; 1386 weekNum = d.daysTo( seda ) / 7 +1;
1385 } 1387 }
1386 1388
1387 mWeekPixmap.fill( mWeekBgColor ); 1389 mWeekPixmap.fill( mWeekBgColor );
1388 QPainter p ( &mWeekPixmap ); 1390 QPainter p ( &mWeekPixmap );
1389 p.setFont( mWeekFont ); 1391 p.setFont( mWeekFont );
1390 p.drawText( 0,0,mWeekPixmap.width(), mWeekPixmap.height(),AlignCenter, QString::number( weekNum) ); 1392 p.drawText( 0,0,mWeekPixmap.width(), mWeekPixmap.height(),AlignCenter, QString::number( weekNum) );
1391 p.end(); 1393 p.end();
1392 QIconSet icon3 ( mWeekPixmap ); 1394 QIconSet icon3 ( mWeekPixmap );
1393 mWeekAction->setIconSet ( icon3 ); 1395 mWeekAction->setIconSet ( icon3 );
1394 1396
1395} 1397}
1396void MainWindow::updateWeekNum(const DateList &selectedDates) 1398void MainWindow::updateWeekNum(const DateList &selectedDates)
1397{ 1399{
1398 updateWeek( selectedDates.first() ); 1400 updateWeek( selectedDates.first() );
1399} 1401}
1400void MainWindow::processIncidenceSelection( Incidence *incidence ) 1402void MainWindow::processIncidenceSelection( Incidence *incidence )
1401{ 1403{
1402 1404
1403 if ( !incidence ) { 1405 if ( !incidence ) {
1404 enableIncidenceActions( false ); 1406 enableIncidenceActions( false );
1405 1407
1406 mNewSubTodoAction->setEnabled( false ); 1408 mNewSubTodoAction->setEnabled( false );
1407 setCaptionToDates(); 1409 setCaptionToDates();
1408 return; 1410 return;
1409 1411
1410 } 1412 }
1411 1413
1412 //KGlobal::locale()->formatDateTime(nextA, true); 1414 //KGlobal::locale()->formatDateTime(nextA, true);
1413 QString startString = ""; 1415 QString startString = "";
1414 if ( incidence->type() != "Todo" ) { 1416 if ( incidence->type() != "Todo" ) {
1415 if ( incidence->dtStart().date() < incidence->dtEnd().date() ) { 1417 if ( incidence->dtStart().date() < incidence->dtEnd().date() ) {
1416 if ( incidence->doesFloat() ) { 1418 if ( incidence->doesFloat() ) {
1417 startString += ": "+incidence->dtStartDateStr( true ); 1419 startString += ": "+incidence->dtStartDateStr( true );
1418 startString += " --- "+((Event*)incidence)->dtEndDateStr( true ); 1420 startString += " --- "+((Event*)incidence)->dtEndDateStr( true );
1419 1421
1420 } else { 1422 } else {
1421 startString = ": "+incidence->dtStartStr(true); 1423 startString = ": "+incidence->dtStartStr(true);
1422 startString += " --- "+((Event*)incidence)->dtEndStr(true); 1424 startString += " --- "+((Event*)incidence)->dtEndStr(true);
1423 1425
1424 } 1426 }
1425 1427
1426 } else { 1428 } else {
1427 if ( incidence->dtStart().time() != incidence->dtEnd().time() ) 1429 if ( incidence->dtStart().time() != incidence->dtEnd().time() )
1428 startString = ": "+KGlobal::locale()->formatTime(incidence->dtStart().time())+ 1430 startString = ": "+KGlobal::locale()->formatTime(incidence->dtStart().time())+
1429 "-"+KGlobal::locale()->formatTime(incidence->dtEnd().time()); 1431 "-"+KGlobal::locale()->formatTime(incidence->dtEnd().time());
1430 if ( incidence->categories().contains( i18n("Birthday") ) || incidence->categories().contains( i18n("Anniversary") ) ) { 1432 if ( incidence->categories().contains( i18n("Birthday") ) || incidence->categories().contains( i18n("Anniversary") ) ) {
1431 bool ok; 1433 bool ok;
1432 QDateTime noc = incidence->getNextOccurence( mView->startDate().addDays(-1), &ok ); 1434 QDateTime noc = incidence->getNextOccurence( mView->startDate().addDays(-1), &ok );
1433 if ( ok ) { 1435 if ( ok ) {
1434 int years = noc.date().year() - incidence->dtStart().date().year(); 1436 int years = noc.date().year() - incidence->dtStart().date().year();
1435 startString += i18n(" (%1 y.)"). arg( years ); 1437 startString += i18n(" (%1 y.)"). arg( years );
1436 } 1438 }
1437 } 1439 }
1438 else 1440 else
1439 startString +=" "+KGlobal::locale()->formatDate( incidence->dtStart().date(), true); 1441 startString +=" "+KGlobal::locale()->formatDate( incidence->dtStart().date(), true);
1440 } 1442 }
1441 1443
1442 } 1444 }
1443 else 1445 else
1444 startString = i18n(": (Prio ") +QString::number( (( KCal::Todo*)incidence)->priority() ) +") "+QString::number( (( KCal::Todo*)incidence)->percentComplete() ) +i18n("\% completed"); 1446 startString = i18n(": (Prio ") +QString::number( (( KCal::Todo*)incidence)->priority() ) +") "+QString::number( (( KCal::Todo*)incidence)->percentComplete() ) +i18n("\% completed");
1445 if ( !incidence->location().isEmpty() ) 1447 if ( !incidence->location().isEmpty() )
1446 startString += " (" +incidence->location()+")"; 1448 startString += " (" +incidence->location()+")";
1447 setCaption( incidence->summary()+startString); 1449 setCaption( incidence->summary()+startString);
1448 1450
1449 enableIncidenceActions( true ); 1451 enableIncidenceActions( true );
1450 1452
1451 if ( incidence->type() == "Event" ) { 1453 if ( incidence->type() == "Event" ) {
1452 mShowAction->setText( i18n("Show Event...") ); 1454 mShowAction->setText( i18n("Show Event...") );
1453 mEditAction->setText( i18n("Edit Event...") ); 1455 mEditAction->setText( i18n("Edit Event...") );
1454 mDeleteAction->setText( i18n("Delete Event...") ); 1456 mDeleteAction->setText( i18n("Delete Event...") );
1455 1457
1456 mNewSubTodoAction->setEnabled( false ); 1458 mNewSubTodoAction->setEnabled( false );
1457 } else if ( incidence->type() == "Todo" ) { 1459 } else if ( incidence->type() == "Todo" ) {
1458 mShowAction->setText( i18n("Show Todo...") ); 1460 mShowAction->setText( i18n("Show Todo...") );
1459 mEditAction->setText( i18n("Edit Todo...") ); 1461 mEditAction->setText( i18n("Edit Todo...") );
1460 mDeleteAction->setText( i18n("Delete Todo...") ); 1462 mDeleteAction->setText( i18n("Delete Todo...") );
1461 1463
1462 mNewSubTodoAction->setEnabled( true ); 1464 mNewSubTodoAction->setEnabled( true );
1463 } else { 1465 } else {
1464 mShowAction->setText( i18n("Show...") ); 1466 mShowAction->setText( i18n("Show...") );
1465 mShowAction->setText( i18n("Edit...") ); 1467 mShowAction->setText( i18n("Edit...") );
1466 mShowAction->setText( i18n("Delete...") ); 1468 mShowAction->setText( i18n("Delete...") );
1467 1469
1468 mNewSubTodoAction->setEnabled( false ); 1470 mNewSubTodoAction->setEnabled( false );
1469 } 1471 }
1470} 1472}
1471 1473
1472void MainWindow::enableIncidenceActions( bool enabled ) 1474void MainWindow::enableIncidenceActions( bool enabled )
1473{ 1475{
1474 mShowAction->setEnabled( enabled ); 1476 mShowAction->setEnabled( enabled );
1475 mEditAction->setEnabled( enabled ); 1477 mEditAction->setEnabled( enabled );
1476 mDeleteAction->setEnabled( enabled ); 1478 mDeleteAction->setEnabled( enabled );
1477 1479
1478 mCloneAction->setEnabled( enabled ); 1480 mCloneAction->setEnabled( enabled );
1479 mMoveAction->setEnabled( enabled ); 1481 mMoveAction->setEnabled( enabled );
1480 mBeamAction->setEnabled( enabled ); 1482 mBeamAction->setEnabled( enabled );
1481 mCancelAction->setEnabled( enabled ); 1483 mCancelAction->setEnabled( enabled );
1482} 1484}
1483 1485
1484void MainWindow::importOL() 1486void MainWindow::importOL()
1485{ 1487{
1486#ifdef _OL_IMPORT_ 1488#ifdef _OL_IMPORT_
1487 KOImportOLdialog *id = new KOImportOLdialog("Import from OL - select folder!" , mView->calendar(),this ); 1489 KOImportOLdialog *id = new KOImportOLdialog("Import from OL - select folder!" , mView->calendar(),this );
1488 id->exec(); 1490 id->exec();
1489 delete id; 1491 delete id;
1490 mView->updateView(); 1492 mView->updateView();
1491#endif 1493#endif
1492} 1494}
1493void MainWindow::importBday() 1495void MainWindow::importBday()
1494{ 1496{
1495 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), 1497 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
1496 i18n("When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n"), 1498 i18n("When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n"),
1497 i18n("Import!"), i18n("Cancel"), 0, 1499 i18n("Import!"), i18n("Cancel"), 0,
1498 0, 1 ); 1500 0, 1 );
1499 if ( result == 0 ) { 1501 if ( result == 0 ) {
1500 mView->importBday(); 1502 mView->importBday();
1501 1503
1502 } 1504 }
1503 1505
1504 1506
1505} 1507}
1506void MainWindow::importQtopia() 1508void MainWindow::importQtopia()
1507{ 1509{
1508#ifndef DESKTOP_VERSION 1510#ifndef DESKTOP_VERSION
1509 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), 1511 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
1510 i18n("When importing a calendar twice\nduplicated events will be ignored!\nYou can create a backup file with\nFile - Save Calendar Backup\nto revert importing"), 1512 i18n("When importing a calendar twice\nduplicated events will be ignored!\nYou can create a backup file with\nFile - Save Calendar Backup\nto revert importing"),
1511 i18n("Import!"), i18n("Cancel"), 0, 1513 i18n("Import!"), i18n("Cancel"), 0,
1512 0, 1 ); 1514 0, 1 );
1513 if ( result == 0 ) { 1515 if ( result == 0 ) {
1514 QString datebook = Global::applicationFileName( "datebook", "datebook.xml"); 1516 QString datebook = Global::applicationFileName( "datebook", "datebook.xml");
1515 QString todolist = Global::applicationFileName( "todolist", "todolist.xml"); 1517 QString todolist = Global::applicationFileName( "todolist", "todolist.xml");
1516 QString categories = QString( getenv( "HOME" ) ) + "/Settings/Categories.xml"; 1518 QString categories = QString( getenv( "HOME" ) ) + "/Settings/Categories.xml";
1517 mView->importQtopia( categories, datebook, todolist ); 1519 mView->importQtopia( categories, datebook, todolist );
1518 } 1520 }
1519#else 1521#else
1520 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), 1522 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
1521 i18n("Not supported \non desktop!\n"), 1523 i18n("Not supported \non desktop!\n"),
1522 i18n("Ok"), i18n("Cancel"), 0, 1524 i18n("Ok"), i18n("Cancel"), 0,
1523 0, 1 ); 1525 0, 1 );
1524 1526
1525#endif 1527#endif
1526} 1528}
1527 1529
1528void MainWindow::saveOnClose() 1530void MainWindow::saveOnClose()
1529{ 1531{
1530 KOPrefs *p = KOPrefs::instance(); 1532 KOPrefs *p = KOPrefs::instance();
1531 p->mToolBarHor = ( iconToolBar->orientation () == Qt:: Horizontal ); 1533 p->mToolBarHor = ( iconToolBar->orientation () == Qt:: Horizontal );
1532 p->mToolBarUp = iconToolBar->x() > width()/2 || 1534 p->mToolBarUp = iconToolBar->x() > width()/2 ||
1533 iconToolBar->y() > height()/2; 1535 iconToolBar->y() > height()/2;
1534 mView->writeSettings(); 1536 mView->writeSettings();
1535 if ( mCalendarModifiedFlag || mView->checkFileChanged( defaultFileName())) 1537 if ( mCalendarModifiedFlag || mView->checkFileChanged( defaultFileName()))
1536 save(); 1538 save();
1537} 1539}
1538void MainWindow::slotModifiedChanged( bool changed ) 1540void MainWindow::slotModifiedChanged( bool changed )
1539{ 1541{
1540 if ( mBlockAtStartup ) 1542 if ( mBlockAtStartup )
1541 return; 1543 return;
1542 1544
1543 int msec; 1545 int msec;
1544 // we store the changes after 1 minute, 1546 // we store the changes after 1 minute,
1545 // and for safety reasons after 10 minutes again 1547 // and for safety reasons after 10 minutes again
1546 if ( !mSyncManager->blockSave() ) 1548 if ( !mSyncManager->blockSave() )
1547 msec = (1000 * 60*KOPrefs::instance()->mAutoSaveInterval) +1000; 1549 msec = (1000 * 60*KOPrefs::instance()->mAutoSaveInterval) +1000;
1548 else 1550 else
1549 msec = 1000 * 600; 1551 msec = 1000 * 600;
1550 mSaveTimer.start( msec, true ); // 1 minute 1552 mSaveTimer.start( msec, true ); // 1 minute
1551 qDebug("KO: Saving File in %d secs!", msec/1000); 1553 qDebug("KO: Saving File in %d secs!", msec/1000);
1552 mCalendarModifiedFlag = true; 1554 mCalendarModifiedFlag = true;
1553} 1555}
1554void MainWindow::saveStopTimer() 1556void MainWindow::saveStopTimer()
1555{ 1557{
1556 mSaveTimer.stop(); 1558 mSaveTimer.stop();
1557 if (mSaveTimer.isActive() ) 1559 if (mSaveTimer.isActive() )
1558 qDebug("ti active "); 1560 qDebug("ti active ");
1559 else 1561 else
1560 qDebug("KO: Save timer stopped"); 1562 qDebug("KO: Save timer stopped");
1561} 1563}
1562void MainWindow::save() 1564void MainWindow::save()
1563{ 1565{
1564 if ( !mCalendarModifiedFlag ) { 1566 if ( !mCalendarModifiedFlag ) {
1565 qDebug("KO: Calendar not modified. Nothing saved."); 1567 qDebug("KO: Calendar not modified. Nothing saved.");
1566 return; 1568 return;
1567 } 1569 }
1568 if ( mSyncManager->blockSave() ) 1570 if ( mSyncManager->blockSave() )
1569 return; 1571 return;
1570 mSyncManager->setBlockSave(true); 1572 mSyncManager->setBlockSave(true);
1571 if ( mView->checkFileVersion( defaultFileName()) ) { 1573 if ( mView->checkFileVersion( defaultFileName()) ) {
1572 QTime neededSaveTime = QDateTime::currentDateTime().time(); 1574 QTime neededSaveTime = QDateTime::currentDateTime().time();
1573 setCaption(i18n("KO/Pi:Saving Data to File ..." )); 1575 setCaption(i18n("KO/Pi:Saving Data to File ..." ));
1574 qDebug("KO: Start saving data to file!"); 1576 qDebug("KO: Start saving data to file!");
1575 mView->saveCalendar( defaultFileName() ); 1577 mView->saveCalendar( defaultFileName() );
1576 mCalendarModifiedFlag = false; 1578 mCalendarModifiedFlag = false;
1577 int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() ); 1579 int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() );
1578 qDebug("KO: Needed %d ms for saving.",msNeeded ); 1580 qDebug("KO: Needed %d ms for saving.",msNeeded );
1579 QString savemes; 1581 QString savemes;
1580 savemes.sprintf(i18n("KO/Pi:File Saved. Needed %d sec, %d ms"),(msNeeded/1000)%100,msNeeded%1000 ); 1582 savemes.sprintf(i18n("KO/Pi:File Saved. Needed %d sec, %d ms"),(msNeeded/1000)%100,msNeeded%1000 );
1581 setCaption(savemes); 1583 setCaption(savemes);
1582 } else 1584 } else
1583 setCaption(i18n("Saving cancelled!")); 1585 setCaption(i18n("Saving cancelled!"));
1584 mSyncManager->setBlockSave( false ); 1586 mSyncManager->setBlockSave( false );
1585} 1587}
1586 1588
1587void MainWindow::keyReleaseEvent ( QKeyEvent * e) 1589void MainWindow::keyReleaseEvent ( QKeyEvent * e)
1588{ 1590{
1589 if ( !e->isAutoRepeat() ) { 1591 if ( !e->isAutoRepeat() ) {
1590 mFlagKeyPressed = false; 1592 mFlagKeyPressed = false;
1591 } 1593 }
1592} 1594}
1593void MainWindow::keyPressEvent ( QKeyEvent * e ) 1595void MainWindow::keyPressEvent ( QKeyEvent * e )
1594{ 1596{
1595 qApp->processEvents(); 1597 qApp->processEvents();
1596 if ( e->isAutoRepeat() && !mFlagKeyPressed ) { 1598 if ( e->isAutoRepeat() && !mFlagKeyPressed ) {
1597 e->ignore(); 1599 e->ignore();
1598 // qDebug(" ignore %d",e->isAutoRepeat() ); 1600 // qDebug(" ignore %d",e->isAutoRepeat() );
1599 return; 1601 return;
1600 } 1602 }
1601 if (! e->isAutoRepeat() ) 1603 if (! e->isAutoRepeat() )
1602 mFlagKeyPressed = true; 1604 mFlagKeyPressed = true;
1603 KOPrefs *p = KOPrefs::instance(); 1605 KOPrefs *p = KOPrefs::instance();
1604 bool showSelectedDates = false; 1606 bool showSelectedDates = false;
1605 int size; 1607 int size;
1606 int pro = 0; 1608 int pro = 0;
1607 //qDebug("MainWindow::keyPressEvent "); 1609 //qDebug("MainWindow::keyPressEvent ");
1608 switch ( e->key() ) { 1610 switch ( e->key() ) {
1609 case Qt::Key_Right: 1611 case Qt::Key_Right:
1610 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton) 1612 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton)
1611 mView->goNextMonth(); 1613 mView->goNextMonth();
1612 else 1614 else
1613 mView->goNext(); 1615 mView->goNext();
1614 showSelectedDates = true; 1616 showSelectedDates = true;
1615 break; 1617 break;
1616 case Qt::Key_Left: 1618 case Qt::Key_Left:
1617 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) 1619 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton )
1618 mView->goPreviousMonth(); 1620 mView->goPreviousMonth();
1619 else 1621 else
1620 mView->goPrevious(); 1622 mView->goPrevious();
1621 showSelectedDates = true; 1623 showSelectedDates = true;
1622 break; 1624 break;
1623 case Qt::Key_Down: 1625 case Qt::Key_Down:
1624 mView->viewManager()->agendaView()->scrollOneHourDown(); 1626 mView->viewManager()->agendaView()->scrollOneHourDown();
1625 break; 1627 break;
1626 case Qt::Key_Up: 1628 case Qt::Key_Up:
1627 mView->viewManager()->agendaView()->scrollOneHourUp(); 1629 mView->viewManager()->agendaView()->scrollOneHourUp();
1628 break; 1630 break;
1631 case Qt::Key_K:
1632 mView->viewManager()->showMonthViewWeek();
1633 break;
1629 case Qt::Key_I: 1634 case Qt::Key_I:
1630 mView->showIncidence(); 1635 mView->showIncidence();
1631 break; 1636 break;
1632 case Qt::Key_Delete: 1637 case Qt::Key_Delete:
1633 case Qt::Key_Backspace: 1638 case Qt::Key_Backspace:
1634 mView->deleteIncidence(); 1639 mView->deleteIncidence();
1635 break; 1640 break;
1636 case Qt::Key_D: 1641 case Qt::Key_D:
1637 mView->viewManager()->showDayView(); 1642 mView->viewManager()->showDayView();
1638 showSelectedDates = true; 1643 showSelectedDates = true;
1639 break; 1644 break;
1640 case Qt::Key_O: 1645 case Qt::Key_O:
1641 mView->toggleFilerEnabled( ); 1646 mView->toggleFilerEnabled( );
1642 break; 1647 break;
1643 case Qt::Key_0: 1648 case Qt::Key_0:
1644 case Qt::Key_1: 1649 case Qt::Key_1:
1645 case Qt::Key_2: 1650 case Qt::Key_2:
1646 case Qt::Key_3: 1651 case Qt::Key_3:
1647 case Qt::Key_4: 1652 case Qt::Key_4:
1648 case Qt::Key_5: 1653 case Qt::Key_5:
1649 case Qt::Key_6: 1654 case Qt::Key_6:
1650 case Qt::Key_7: 1655 case Qt::Key_7:
1651 case Qt::Key_8: 1656 case Qt::Key_8:
1652 case Qt::Key_9: 1657 case Qt::Key_9:
1653 pro = e->key()-48; 1658 pro = e->key()-48;
1654 if ( pro == 0 ) 1659 if ( pro == 0 )
1655 pro = 10; 1660 pro = 10;
1656 if ( e->state() == Qt::ControlButton) 1661 if ( e->state() == Qt::ControlButton)
1657 pro += 10; 1662 pro += 10;
1658 break; 1663 break;
1659 case Qt::Key_M: 1664 case Qt::Key_M:
1660 mView->viewManager()->showMonthView(); 1665 mView->viewManager()->showMonthView();
1661 showSelectedDates = true; 1666 showSelectedDates = true;
1662 break; 1667 break;
1663 case Qt::Key_Insert: 1668 case Qt::Key_Insert:
1664 mView->newEvent(); 1669 mView->newEvent();
1665 break; 1670 break;
1666 case Qt::Key_S : 1671 case Qt::Key_S :
1667 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton) 1672 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton)
1668 mView->newSubTodo(); 1673 mView->newSubTodo();
1669 else 1674 else
1670 mView->dialogManager()->showSearchDialog(); 1675 mView->dialogManager()->showSearchDialog();
1671 break; 1676 break;
1672 case Qt::Key_Y : 1677 case Qt::Key_Y :
1673 case Qt::Key_Z : 1678 case Qt::Key_Z :
1674 mView->viewManager()->showWorkWeekView(); 1679 mView->viewManager()->showWorkWeekView();
1675 showSelectedDates = true; 1680 showSelectedDates = true;
1676 break; 1681 break;
1677 case Qt::Key_U : 1682 case Qt::Key_U :
1678 mView->viewManager()->showWeekView(); 1683 mView->viewManager()->showWeekView();
1679 showSelectedDates = true; 1684 showSelectedDates = true;
1680 break; 1685 break;
1681 case Qt::Key_H : 1686 case Qt::Key_H :
1682 keyBindings(); 1687 keyBindings();
1683 break; 1688 break;
1684 case Qt::Key_W: 1689 case Qt::Key_W:
1685 mView->viewManager()->showWhatsNextView(); 1690 mView->viewManager()->showWhatsNextView();
1686 break; 1691 break;
1687 case Qt::Key_L: 1692 case Qt::Key_L:
1688 mView->viewManager()->showListView(); 1693 mView->viewManager()->showListView();
1689 break; 1694 break;
1690 case Qt::Key_N: 1695 case Qt::Key_N:
1691 mView->viewManager()->showNextXView(); 1696 mView->viewManager()->showNextXView();
1692 showSelectedDates = true; 1697 showSelectedDates = true;
1693 break; 1698 break;
1694 case Qt::Key_V: 1699 case Qt::Key_V:
1695 mView->viewManager()->showTodoView(); 1700 mView->viewManager()->showTodoView();
1696 break; 1701 break;
1697 case Qt::Key_C: 1702 case Qt::Key_C:
1698 mView->viewManager()->agendaView()->setStartHour( QTime::currentTime ().hour() ); 1703 mView->viewManager()->agendaView()->setStartHour( QTime::currentTime ().hour() );
1699 break; 1704 break;
1700 case Qt::Key_P: 1705 case Qt::Key_P:
1701 mView->showDatePicker( ); 1706 mView->showDatePicker( );
1702 break; 1707 break;
1703 case Qt::Key_F: 1708 case Qt::Key_F:
1704 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) 1709 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton )
1705 mView->editFilters(); 1710 mView->editFilters();
1706 else 1711 else
1707 mView->toggleFilter(); 1712 mView->toggleFilter();
1708 break; 1713 break;
1709 case Qt::Key_X: 1714 case Qt::Key_X:
1710 mView->toggleDateNavigatorWidget(); 1715 mView->toggleDateNavigatorWidget();
1711 break; 1716 break;
1712 case Qt::Key_Space: 1717 case Qt::Key_Space:
1713 mView->toggleExpand(); 1718 mView->toggleExpand();
1714 break; 1719 break;
1715 case Qt::Key_A: 1720 case Qt::Key_A:
1716 mView->toggleAllDaySize(); 1721 mView->toggleAllDaySize();
1717 break; 1722 break;
1718 case Qt::Key_T: 1723 case Qt::Key_T:
1719 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) 1724 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton )
1720 mView->newTodo(); 1725 mView->newTodo();
1721 else { 1726 else {
1722 mView->goToday(); 1727 mView->goToday();
1723 showSelectedDates = true; 1728 showSelectedDates = true;
1724 } 1729 }
1725 break; 1730 break;
1726 case Qt::Key_J: 1731 case Qt::Key_J:
1727 mView->viewManager()->showJournalView(); 1732 mView->viewManager()->showJournalView();
1728 break; 1733 break;
1729 case Qt::Key_B: 1734 case Qt::Key_B:
1730 mView->editIncidenceDescription();; 1735 mView->editIncidenceDescription();;
1731 break; 1736 break;
1732 // case Qt::Key_Return: 1737 // case Qt::Key_Return:
1733 case Qt::Key_E: 1738 case Qt::Key_E:
1734 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) 1739 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton )
1735 mView->newEvent(); 1740 mView->newEvent();
1736 else 1741 else
1737 mView->editIncidence(); 1742 mView->editIncidence();
1738 break; 1743 break;
1739 case Qt::Key_Plus: 1744 case Qt::Key_Plus:
1740 size = p->mHourSize +2; 1745 size = p->mHourSize +2;
1741 if ( size <= 22 ) 1746 if ( size <= 22 )
1742 configureAgenda( size ); 1747 configureAgenda( size );
1743 break; 1748 break;
1744 case Qt::Key_Minus: 1749 case Qt::Key_Minus:
1745 size = p->mHourSize - 2; 1750 size = p->mHourSize - 2;
1746 if ( size >= 4 ) 1751 if ( size >= 4 )
1747 configureAgenda( size ); 1752 configureAgenda( size );
1748 break; 1753 break;
1749 1754
1750 1755
1751 default: 1756 default:
1752 e->ignore(); 1757 e->ignore();
1753 } 1758 }
1754 if ( pro > 0 ) { 1759 if ( pro > 0 ) {
1755 mView->selectFilter( pro-1 ); 1760 mView->selectFilter( pro-1 );
1756 } 1761 }
1757 if ( showSelectedDates ) { 1762 if ( showSelectedDates ) {
1758 ;// setCaptionToDates(); 1763 ;// setCaptionToDates();
1759 } 1764 }
1760 1765
1761} 1766}
1762 1767
1763void MainWindow::fillFilterMenu() 1768void MainWindow::fillFilterMenu()
1764{ 1769{
1765 selectFilterMenu->clear(); 1770 selectFilterMenu->clear();
1766 bool disable = false; 1771 bool disable = false;
1767 selectFilterMenu->insertItem(i18n ( "Edit Filters" ), 0 ); 1772 selectFilterMenu->insertItem(i18n ( "Edit Filters" ), 0 );
1768 selectFilterMenu->insertSeparator(); 1773 selectFilterMenu->insertSeparator();
1769 if ( mView->filterView()->filtersEnabled() ) { 1774 if ( mView->filterView()->filtersEnabled() ) {
1770 selectFilterMenu->insertItem(i18n ( "Turn filter off" ), 1 ); 1775 selectFilterMenu->insertItem(i18n ( "Turn filter off" ), 1 );
1771 } 1776 }
1772 else { 1777 else {
1773 selectFilterMenu->insertItem(i18n ( "Turn filter on" ), 1 ); 1778 selectFilterMenu->insertItem(i18n ( "Turn filter on" ), 1 );
1774 disable = true; 1779 disable = true;
1775 } 1780 }
1776 selectFilterMenu->insertSeparator(); 1781 selectFilterMenu->insertSeparator();
1777 QPtrList<CalFilter> fili = mView->filters(); 1782 QPtrList<CalFilter> fili = mView->filters();
1778 CalFilter *curfilter = mView->filterView()->selectedFilter(); 1783 CalFilter *curfilter = mView->filterView()->selectedFilter();
1779 CalFilter *filter = fili.first(); 1784 CalFilter *filter = fili.first();
1780 int iii = 2; 1785 int iii = 2;
1781 while(filter) { 1786 while(filter) {
1782 selectFilterMenu->insertItem( filter->name(), iii ); 1787 selectFilterMenu->insertItem( filter->name(), iii );
1783 if ( filter == curfilter) 1788 if ( filter == curfilter)
1784 selectFilterMenu->setItemChecked( iii, true ); 1789 selectFilterMenu->setItemChecked( iii, true );
1785 if ( disable ) 1790 if ( disable )
1786 selectFilterMenu->setItemEnabled( iii, false ); 1791 selectFilterMenu->setItemEnabled( iii, false );
1787 filter = fili.next(); 1792 filter = fili.next();
1788 ++iii; 1793 ++iii;
1789 } 1794 }
1790} 1795}
1791void MainWindow::selectFilter( int fil ) 1796void MainWindow::selectFilter( int fil )
1792{ 1797{
1793 if ( fil == 0 ) { 1798 if ( fil == 0 ) {
1794 mView->editFilters( ); 1799 mView->editFilters( );
1795 } else if ( fil == 1 ){ 1800 } else if ( fil == 1 ){
1796 mView->toggleFilerEnabled( ); 1801 mView->toggleFilerEnabled( );
1797 } else { 1802 } else {
1798 mView->selectFilter( fil-2 ); 1803 mView->selectFilter( fil-2 );
1799 } 1804 }
1800} 1805}
1801void MainWindow::configureToolBar( int item ) 1806void MainWindow::configureToolBar( int item )
1802{ 1807{
1803 1808
1804 configureToolBarMenu->setItemChecked( item, !configureToolBarMenu-> isItemChecked ( item ) ); 1809 configureToolBarMenu->setItemChecked( item, !configureToolBarMenu-> isItemChecked ( item ) );
1805 KOPrefs *p = KOPrefs::instance(); 1810 KOPrefs *p = KOPrefs::instance();
1806 p-> mShowIconStretch= configureToolBarMenu->isItemChecked( 5 ); 1811 p-> mShowIconStretch= configureToolBarMenu->isItemChecked( 5 );
1807 p-> mShowIconNewEvent= configureToolBarMenu->isItemChecked( 10 ); 1812 p-> mShowIconNewEvent= configureToolBarMenu->isItemChecked( 10 );
1808 p->mShowIconNewTodo = configureToolBarMenu->isItemChecked( 20 ); 1813 p->mShowIconNewTodo = configureToolBarMenu->isItemChecked( 20 );
1809 p-> mShowIconSearch= configureToolBarMenu->isItemChecked( 120 ); 1814 p-> mShowIconSearch= configureToolBarMenu->isItemChecked( 120 );
1810 p-> mShowIconList= configureToolBarMenu->isItemChecked( 30 ); 1815 p-> mShowIconList= configureToolBarMenu->isItemChecked( 30 );
1811 p-> mShowIconDay1= configureToolBarMenu->isItemChecked( 40 ); 1816 p-> mShowIconDay1= configureToolBarMenu->isItemChecked( 40 );
1812 p-> mShowIconDay5= configureToolBarMenu->isItemChecked( 50 ); 1817 p-> mShowIconDay5= configureToolBarMenu->isItemChecked( 50 );
1813 p-> mShowIconDay6= configureToolBarMenu->isItemChecked( 75 ); 1818 p-> mShowIconDay6= configureToolBarMenu->isItemChecked( 75 );
1814 p-> mShowIconDay7= configureToolBarMenu->isItemChecked( 60 ); 1819 p-> mShowIconDay7= configureToolBarMenu->isItemChecked( 60 );
1815 p-> mShowIconMonth= configureToolBarMenu->isItemChecked( 70 ); 1820 p-> mShowIconMonth= configureToolBarMenu->isItemChecked( 70 );
1816 p-> mShowIconTodoview= configureToolBarMenu->isItemChecked( 80 ); 1821 p-> mShowIconTodoview= configureToolBarMenu->isItemChecked( 80 );
1817 p-> mShowIconBackFast= configureToolBarMenu->isItemChecked( 200 ); 1822 p-> mShowIconBackFast= configureToolBarMenu->isItemChecked( 200 );
1818 p-> mShowIconBack = configureToolBarMenu->isItemChecked( 210 ); 1823 p-> mShowIconBack = configureToolBarMenu->isItemChecked( 210 );
1819 p-> mShowIconToday= configureToolBarMenu->isItemChecked( 130 ); 1824 p-> mShowIconToday= configureToolBarMenu->isItemChecked( 130 );
1820 p-> mShowIconForward= configureToolBarMenu->isItemChecked( 220 ); 1825 p-> mShowIconForward= configureToolBarMenu->isItemChecked( 220 );
1821 p-> mShowIconForwardFast= configureToolBarMenu->isItemChecked( 230 ); 1826 p-> mShowIconForwardFast= configureToolBarMenu->isItemChecked( 230 );
1822 p-> mShowIconNextDays= configureToolBarMenu->isItemChecked( 100 ); 1827 p-> mShowIconNextDays= configureToolBarMenu->isItemChecked( 100 );
1823 p-> mShowIconNext= configureToolBarMenu->isItemChecked( 110 ); 1828 p-> mShowIconNext= configureToolBarMenu->isItemChecked( 110 );
1824 p-> mShowIconJournal= configureToolBarMenu->isItemChecked( 90 ); 1829 p-> mShowIconJournal= configureToolBarMenu->isItemChecked( 90 );
1825 p-> mShowIconWhatsThis= configureToolBarMenu->isItemChecked( 300 ); 1830 p-> mShowIconWhatsThis= configureToolBarMenu->isItemChecked( 300 );
1826 // initActions(); 1831 // initActions();
1827} 1832}
1828 1833
1829void MainWindow::setCaptionToDates() 1834void MainWindow::setCaptionToDates()
1830{ 1835{
1831 QString selDates; 1836 QString selDates;
1832 selDates = KGlobal::locale()->formatDate(mView->startDate(), true); 1837 selDates = KGlobal::locale()->formatDate(mView->startDate(), true);
1833 if (mView->startDate() < mView->endDate() ) 1838 if (mView->startDate() < mView->endDate() )
1834 selDates += " - " + KGlobal::locale()->formatDate(mView->endDate(), true); 1839 selDates += " - " + KGlobal::locale()->formatDate(mView->endDate(), true);
1835 else { 1840 else {
1836 QString addString; 1841 QString addString;
1837 if ( mView->startDate() == QDateTime::currentDateTime().date() ) 1842 if ( mView->startDate() == QDateTime::currentDateTime().date() )
1838 addString = i18n("Today"); 1843 addString = i18n("Today");
1839 else if ( mView->startDate() == QDateTime::currentDateTime().date().addDays(1) ) 1844 else if ( mView->startDate() == QDateTime::currentDateTime().date().addDays(1) )
1840 addString = i18n("Tomorrow"); 1845 addString = i18n("Tomorrow");
1841 if ( !addString.isEmpty() ) 1846 if ( !addString.isEmpty() )
1842 selDates = addString+", "+selDates ; 1847 selDates = addString+", "+selDates ;
1843 } 1848 }
1844 setCaption( i18n("Dates: ") + selDates ); 1849 setCaption( i18n("Dates: ") + selDates );
1845 1850
1846} 1851}
1847void MainWindow::showConfigureAgenda( ) 1852void MainWindow::showConfigureAgenda( )
1848{ 1853{
1849 int iii; 1854 int iii;
1850 for ( iii = 1;iii<= 10 ;++iii ){ 1855 for ( iii = 1;iii<= 10 ;++iii ){
1851 configureAgendaMenu->setItemChecked( (iii+1)*2, false ); 1856 configureAgendaMenu->setItemChecked( (iii+1)*2, false );
1852 } 1857 }
1853 configureAgendaMenu->setItemChecked( (KOPrefs::instance()->mHourSize/2)*2, true ); 1858 configureAgendaMenu->setItemChecked( (KOPrefs::instance()->mHourSize/2)*2, true );
1854} 1859}
1855void MainWindow::configureAgenda( int item ) 1860void MainWindow::configureAgenda( int item )
1856{ 1861{
1857 if ( KOPrefs::instance()->mHourSize == item ) 1862 if ( KOPrefs::instance()->mHourSize == item )
1858 return; 1863 return;
1859 KOPrefs::instance()->mHourSize=item; 1864 KOPrefs::instance()->mHourSize=item;
1860 mView->viewManager()->agendaView()->updateConfig(); 1865 mView->viewManager()->agendaView()->updateConfig();
1861} 1866}
1862 1867
1863void MainWindow::saveCalendar() 1868void MainWindow::saveCalendar()
1864{ 1869{
1865 QString fn = KOPrefs::instance()->mLastSaveFile; 1870 QString fn = KOPrefs::instance()->mLastSaveFile;
1866 fn = KFileDialog::getSaveFileName( fn, i18n("Save backup filename"), this ); 1871 fn = KFileDialog::getSaveFileName( fn, i18n("Save backup filename"), this );
1867 1872
1868 if ( fn == "" ) 1873 if ( fn == "" )
1869 return; 1874 return;
1870 QFileInfo info; 1875 QFileInfo info;
1871 info.setFile( fn ); 1876 info.setFile( fn );
1872 QString mes; 1877 QString mes;
1873 bool createbup = true; 1878 bool createbup = true;
1874 if ( info. exists() ) { 1879 if ( info. exists() ) {
1875 mes = i18n("Backup file\nalready exists!\nOld backup file from:\n%1\nOverwrite?\n").arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false )) ; 1880 mes = i18n("Backup file\nalready exists!\nOld backup file from:\n%1\nOverwrite?\n").arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false )) ;
1876 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mes, 1881 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mes,
1877 i18n("Overwrite!"), i18n("Cancel"), 0, 1882 i18n("Overwrite!"), i18n("Cancel"), 0,
1878 0, 1 ); 1883 0, 1 );
1879 if ( result != 0 ) { 1884 if ( result != 0 ) {
1880 createbup = false; 1885 createbup = false;
1881 } 1886 }
1882 } 1887 }
1883 if ( createbup ) { 1888 if ( createbup ) {
1884 mView->saveCalendar( fn ); 1889 mView->saveCalendar( fn );
1885 mes = i18n("KO/Pi:Saved %1").arg(fn); 1890 mes = i18n("KO/Pi:Saved %1").arg(fn);
1886 KOPrefs::instance()->mLastSaveFile = fn; 1891 KOPrefs::instance()->mLastSaveFile = fn;
1887 setCaption(mes); 1892 setCaption(mes);
1888 } 1893 }
1889} 1894}
1890void MainWindow::loadCalendar() 1895void MainWindow::loadCalendar()
1891{ 1896{
1892 1897
1893 QString fn = KOPrefs::instance()->mLastLoadFile; 1898 QString fn = KOPrefs::instance()->mLastLoadFile;
1894 fn = KFileDialog::getOpenFileName( fn, i18n("Load backup filename"), this ); 1899 fn = KFileDialog::getOpenFileName( fn, i18n("Load backup filename"), this );
1895 1900
1896 if ( fn == "" ) 1901 if ( fn == "" )
1897 return; 1902 return;
1898 QFileInfo info; 1903 QFileInfo info;
1899 info.setFile( fn ); 1904 info.setFile( fn );
1900 QString mess; 1905 QString mess;
1901 bool loadbup = true; 1906 bool loadbup = true;
1902 if ( info. exists() ) { 1907 if ( info. exists() ) {
1903 mess = i18n("Backup file from:\n%1\nLoading backup\nfile will delete\nyour current Data!\n").arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false )); 1908 mess = i18n("Backup file from:\n%1\nLoading backup\nfile will delete\nyour current Data!\n").arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false ));
1904 int result = QMessageBox::warning( this, "KO/Pi: Warning!", 1909 int result = QMessageBox::warning( this, "KO/Pi: Warning!",
1905 mess, 1910 mess,
1906 i18n("Load!"), i18n("Cancel"), 0, 1911 i18n("Load!"), i18n("Cancel"), 0,
1907 0, 1 ); 1912 0, 1 );
1908 if ( result != 0 ) { 1913 if ( result != 0 ) {
1909 loadbup = false; 1914 loadbup = false;
1910 } 1915 }
1911 } else { 1916 } else {
1912 QMessageBox::warning( this, i18n("KO/Pi: Warning!"), 1917 QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
1913 i18n("Backup file\ndoes not exist!\nNothing loaded!"), 0, 0, 1918 i18n("Backup file\ndoes not exist!\nNothing loaded!"), 0, 0,
1914 0, 1 ); 1919 0, 1 );
1915 1920
1916 return; 1921 return;
1917 } 1922 }
1918 if ( loadbup ) { 1923 if ( loadbup ) {
1919 mView->openCalendar( fn ); 1924 mView->openCalendar( fn );
1920 KOPrefs::instance()->mLastLoadFile = fn; 1925 KOPrefs::instance()->mLastLoadFile = fn;
1921 mess = i18n("KO/Pi:Loaded %1").arg(fn) ; 1926 mess = i18n("KO/Pi:Loaded %1").arg(fn) ;
1922 setCaption(mess); 1927 setCaption(mess);
1923 } 1928 }
1924 1929
1925} 1930}
1926void MainWindow::quickImportIcal() 1931void MainWindow::quickImportIcal()
1927{ 1932{
1928 importFile( KOPrefs::instance()->mLastImportFile, false ); 1933 importFile( KOPrefs::instance()->mLastImportFile, false );
1929} 1934}
1930void MainWindow::importFile( QString fn, bool quick ) 1935void MainWindow::importFile( QString fn, bool quick )
1931{ 1936{
1932 QFileInfo info; 1937 QFileInfo info;
1933 info.setFile( fn ); 1938 info.setFile( fn );
1934 QString mess; 1939 QString mess;
1935 bool loadbup = true; 1940 bool loadbup = true;
1936 if ( !info. exists() ) { 1941 if ( !info. exists() ) {
1937 mess = i18n("Import file \n...%1\ndoes not exist!\nNothing imported!\n").arg(fn.right( 30)); 1942 mess = i18n("Import file \n...%1\ndoes not exist!\nNothing imported!\n").arg(fn.right( 30));
1938 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), 1943 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
1939 mess ); 1944 mess );
1940 return; 1945 return;
1941 } 1946 }
1942 int result = 0; 1947 int result = 0;
1943 if ( !quick ) { 1948 if ( !quick ) {
1944 mess = i18n( "Import file \n...%1\nfrom:\n%2\nDuplicated entries\nwill not be imported!\n").arg(fn.right( 25)).arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false )); 1949 mess = i18n( "Import file \n...%1\nfrom:\n%2\nDuplicated entries\nwill not be imported!\n").arg(fn.right( 25)).arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false ));
1945 result = QMessageBox::warning( this, "KO/Pi: Warning!", 1950 result = QMessageBox::warning( this, "KO/Pi: Warning!",
1946 mess, 1951 mess,
1947 "Import", "Cancel", 0, 1952 "Import", "Cancel", 0,
1948 0, 1 ); 1953 0, 1 );
1949 } 1954 }
1950 if ( result == 0 ) { 1955 if ( result == 0 ) {
1951 if ( mView->openCalendar( fn, true )) { 1956 if ( mView->openCalendar( fn, true )) {
1952 KOPrefs::instance()->mLastImportFile = fn; 1957 KOPrefs::instance()->mLastImportFile = fn;
1953 setCaption(i18n("Imported file successfully")); 1958 setCaption(i18n("Imported file successfully"));
1954 } else { 1959 } else {
1955 setCaption(i18n("Error importing file")); 1960 setCaption(i18n("Error importing file"));
1956 } 1961 }
1957 } 1962 }
1958} 1963}
1959 1964
1960void MainWindow::importIcal() 1965void MainWindow::importIcal()
1961{ 1966{
1962 1967
1963 QString fn =KOPrefs::instance()->mLastImportFile; 1968 QString fn =KOPrefs::instance()->mLastImportFile;
1964 1969
1965 fn =KFileDialog:: getOpenFileName( fn, i18n("Import filename(*.ics/*.vcs)"), this ); 1970 fn =KFileDialog:: getOpenFileName( fn, i18n("Import filename(*.ics/*.vcs)"), this );
1966 if ( fn == "" ) 1971 if ( fn == "" )
1967 return; 1972 return;
1968 importFile( fn, true ); 1973 importFile( fn, true );
1969 1974
1970} 1975}
1971 1976
1972void MainWindow::exportVCalendar() 1977void MainWindow::exportVCalendar()
1973{ 1978{
1974 QString fn = KOPrefs::instance()->mLastVcalFile; 1979 QString fn = KOPrefs::instance()->mLastVcalFile;
1975 fn = KFileDialog::getSaveFileName( fn, i18n("Export vcal filename(*.vcs)"), this ); 1980 fn = KFileDialog::getSaveFileName( fn, i18n("Export vcal filename(*.vcs)"), this );
1976 if ( fn == "" ) 1981 if ( fn == "" )
1977 return; 1982 return;
1978 QFileInfo info; 1983 QFileInfo info;
1979 info.setFile( fn ); 1984 info.setFile( fn );
1980 QString mes; 1985 QString mes;
1981 bool createbup = true; 1986 bool createbup = true;
1982 if ( info. exists() ) { 1987 if ( info. exists() ) {
1983 mes = i18n("Save file\nalready exists!\nOld save file from:\n%1\nOverwrite?\n").arg (KGlobal::locale()->formatDateTime(info.lastModified (), true, false ) ); 1988 mes = i18n("Save file\nalready exists!\nOld save file from:\n%1\nOverwrite?\n").arg (KGlobal::locale()->formatDateTime(info.lastModified (), true, false ) );
1984 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mes, 1989 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mes,
1985 i18n("Overwrite!"), i18n("Cancel"), 0, 1990 i18n("Overwrite!"), i18n("Cancel"), 0,
1986 0, 1 ); 1991 0, 1 );
1987 if ( result != 0 ) { 1992 if ( result != 0 ) {
1988 createbup = false; 1993 createbup = false;
1989 } 1994 }
1990 } 1995 }
1991 if ( createbup ) { 1996 if ( createbup ) {
1992 if ( mView->exportVCalendar( fn ) ) { 1997 if ( mView->exportVCalendar( fn ) ) {
1993 KOPrefs::instance()->mLastVcalFile = fn; 1998 KOPrefs::instance()->mLastVcalFile = fn;
1994 if ( fn.length() > 20 ) 1999 if ( fn.length() > 20 )
1995 mes = i18n("KO/Pi:Exported to ...%1").arg(fn.right(20)) ; 2000 mes = i18n("KO/Pi:Exported to ...%1").arg(fn.right(20)) ;
1996 else 2001 else
1997 mes = i18n("KO/Pi:Exported to %1").arg(fn ); 2002 mes = i18n("KO/Pi:Exported to %1").arg(fn );
1998 setCaption(mes); 2003 setCaption(mes);
1999 } 2004 }
2000 } 2005 }
2001 2006
2002} 2007}
2003QString MainWindow::sentSyncFile() 2008QString MainWindow::sentSyncFile()
2004{ 2009{
2005#ifdef DESKTOP_VERSION 2010#ifdef DESKTOP_VERSION
2006 return locateLocal( "tmp", "copysynccal.ics" ); 2011 return locateLocal( "tmp", "copysynccal.ics" );
2007#else 2012#else
2008 return QString( "/tmp/copysynccal.ics" ); 2013 return QString( "/tmp/copysynccal.ics" );
2009#endif 2014#endif
2010} 2015}
2011 2016
2012void MainWindow::syncFileRequest() 2017void MainWindow::syncFileRequest()
2013{ 2018{
2014 if ( KOPrefs::instance()->mPassiveSyncWithDesktop ) { 2019 if ( KOPrefs::instance()->mPassiveSyncWithDesktop ) {
2015 mSyncManager->slotSyncMenu( 999 ); 2020 mSyncManager->slotSyncMenu( 999 );
2016 } 2021 }
2017 2022
2018 setCaption(i18n("Saving Data to temp file ..." )); 2023 setCaption(i18n("Saving Data to temp file ..." ));
2019 mView->saveCalendar( sentSyncFile() ); 2024 mView->saveCalendar( sentSyncFile() );
2020 setCaption(i18n("Data saved to temp file!" )); 2025 setCaption(i18n("Data saved to temp file!" ));
2021 2026
2022} 2027}
2023void MainWindow::getFile( bool success ) 2028void MainWindow::getFile( bool success )
2024{ 2029{
2025 if ( ! success ) { 2030 if ( ! success ) {
2026 setCaption( i18n("Error receiving file. Nothing changed!") ); 2031 setCaption( i18n("Error receiving file. Nothing changed!") );
2027 return; 2032 return;
2028 } 2033 }
2029 mView->openCalendar( sentSyncFile() ); 2034 mView->openCalendar( sentSyncFile() );
2030 if ( KOPrefs::instance()->mPassiveSyncWithDesktop ) { 2035 if ( KOPrefs::instance()->mPassiveSyncWithDesktop ) {
2031 mSyncManager->slotSyncMenu( 999 ); 2036 mSyncManager->slotSyncMenu( 999 );
2032 } 2037 }
2033 setCaption( i18n("Pi-Sync successful!") ); 2038 setCaption( i18n("Pi-Sync successful!") );
2034} 2039}
2035 2040
2036void MainWindow::printSel( ) 2041void MainWindow::printSel( )
2037{ 2042{
2038 mView->viewManager()->agendaView()->agenda()->printSelection(); 2043 mView->viewManager()->agendaView()->agenda()->printSelection();
2039} 2044}
2040 2045
2041void MainWindow::printCal() 2046void MainWindow::printCal()
2042{ 2047{
2043 mView->print();//mCp->showDialog(); 2048 mView->print();//mCp->showDialog();
2044} 2049}
2045 2050
2046 2051
2047#include "libkdepim/kdatepicker.h" 2052#include "libkdepim/kdatepicker.h"
2048#include <kdatetbl.h> 2053#include <kdatetbl.h>
2049void MainWindow::weekAction() 2054void MainWindow::weekAction()
2050{ 2055{
2051 int month; 2056 int month;
2052 KPopupFrame* popup = new KPopupFrame(this); 2057 KPopupFrame* popup = new KPopupFrame(this);
2053 KDateInternalWeekPicker* picker = new KDateInternalWeekPicker(popup); 2058 KDateInternalWeekPicker* picker = new KDateInternalWeekPicker(popup);
2054 // ----- 2059 // -----
2055 picker->resize(picker->sizeHint()); 2060 picker->resize(picker->sizeHint());
2056 popup->setMainWidget(picker); 2061 popup->setMainWidget(picker);
2057 picker->setFocus(); 2062 picker->setFocus();
2058 connect(picker, SIGNAL(closeMe(int)), popup, SLOT(close(int))); 2063 connect(picker, SIGNAL(closeMe(int)), popup, SLOT(close(int)));
2059 int x = 0; 2064 int x = 0;
2060 int y = iconToolBar->height(); 2065 int y = iconToolBar->height();
2061 int dX = 0; 2066 int dX = 0;
2062 int dY = 0; 2067 int dY = 0;
2063 if ( iconToolBar->orientation () == Qt:: Horizontal ) { 2068 if ( iconToolBar->orientation () == Qt:: Horizontal ) {
2064 if ( iconToolBar->y() > height()/2 ) { 2069 if ( iconToolBar->y() > height()/2 ) {
2065 dY = picker->sizeHint().height()+8; 2070 dY = picker->sizeHint().height()+8;
2066 y = 0; 2071 y = 0;
2067 } 2072 }
2068 } else { 2073 } else {
2069 if ( iconToolBar->x() > width()/2 ) { // right side 2074 if ( iconToolBar->x() > width()/2 ) { // right side
2070 x=0; 2075 x=0;
2071 dX= picker->sizeHint().width()+8; 2076 dX= picker->sizeHint().width()+8;
2072 y = 0; 2077 y = 0;
2073 } else { 2078 } else {
2074 x= iconToolBar->width(); 2079 x= iconToolBar->width();
2075 y = 0; 2080 y = 0;
2076 } 2081 }
2077 } 2082 }
2078 //qDebug("dax %d dy %d %d %d ", dX, dY, iconToolBar->x(), iconToolBar->y() ); 2083 //qDebug("dax %d dy %d %d %d ", dX, dY, iconToolBar->x(), iconToolBar->y() );
2079 if(popup->exec(iconToolBar->mapToGlobal(QPoint(x,y)-QPoint( dX,dY)))) 2084 if(popup->exec(iconToolBar->mapToGlobal(QPoint(x,y)-QPoint( dX,dY))))
2080 { 2085 {
2081 month = picker->getResult(); 2086 month = picker->getResult();
2082 emit selectWeek ( month ); 2087 emit selectWeek ( month );
2083 //qDebug("weekSelected %d ", month); 2088 //qDebug("weekSelected %d ", month);
2084 } 2089 }
2085 delete popup; 2090 delete popup;
2086} 2091}