summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/korganizer/germantranslation.txt2
-rw-r--r--kaddressbook/views/kaddressbooktableview.cpp1
-rw-r--r--korganizer/koeditorgeneralevent.cpp2
3 files changed, 3 insertions, 2 deletions
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt
index d260be3..73940c6 100644
--- a/bin/kdepim/korganizer/germantranslation.txt
+++ b/bin/kdepim/korganizer/germantranslation.txt
@@ -1,253 +1,253 @@
1{ "10 minutes","10 Minuten" }, 1{ "10 minutes","10 Minuten" },
2{ "10th","10." }, 2{ "10th","10." },
3{ "11th","11." }, 3{ "11th","11." },
4{ "12 pm Format","12 AM/PM Format" }, 4{ "12 pm Format","12 AM/PM Format" },
5{ "12th","12." }, 5{ "12th","12." },
6{ "13th","13." }, 6{ "13th","13." },
7{ "14th","14." }, 7{ "14th","14." },
8{ "15th","15." }, 8{ "15th","15." },
9{ "16th","16." }, 9{ "16th","16." },
10{ "17th","17." }, 10{ "17th","17." },
11{ "18th","18." }, 11{ "18th","18." },
12{ "19th","19." }, 12{ "19th","19." },
13{ "1 Day","1 Tag" }, 13{ "1 Day","1 Tag" },
14{ "1 h","1 Std" }, 14{ "1 h","1 Std" },
15{ "1 (high)","1 (hoch)" }, 15{ "1 (high)","1 (hoch)" },
16{ "5 (low)","5" }, 16{ "5 (low)","5" },
17{ "1st","1." }, 17{ "1st","1." },
18{ "20th","20." }, 18{ "20th","20." },
19{ "21st","21." }, 19{ "21st","21." },
20{ "22nd","22." }, 20{ "22nd","22." },
21{ "23rd","23." }, 21{ "23rd","23." },
22{ "24:00 Hour Format","24:00 Stunden Format" }, 22{ "24:00 Hour Format","24:00 Stunden Format" },
23{ "24th","24." }, 23{ "24th","24." },
24{ "25th","25." }, 24{ "25th","25." },
25{ "26th","26." }, 25{ "26th","26." },
26{ "27th","27." }, 26{ "27th","27." },
27{ "28th","28." }, 27{ "28th","28." },
28{ "29th","29." }, 28{ "29th","29." },
29{ "2nd","2." }, 29{ "2nd","2." },
30{ "30 minutes","30 Minuten" }, 30{ "30 minutes","30 Minuten" },
31{ "30th","30." }, 31{ "30th","30." },
32{ "31st","31." }, 32{ "31st","31." },
33{ "3rd","3." }, 33{ "3rd","3." },
34{ "4th","4." }, 34{ "4th","4." },
35{ "5 (lowest)","5 (Niedrigster)" }, 35{ "5 (lowest)","5 (Niedrigster)" },
36{ "5th","5." }, 36{ "5th","5." },
37{ "6th","6." }, 37{ "6th","6." },
38{ "7th","7." }, 38{ "7th","7." },
39{ "8th","8." }, 39{ "8th","8." },
40{ "9th","9." }, 40{ "9th","9." },
41{ "About...","Über..." }, 41{ "About...","Über..." },
42{ "&Accept","&Akzeptieren" }, 42{ "&Accept","&Akzeptieren" },
43{ "Accept","Akzeptieren" }, 43{ "Accept","Akzeptieren" },
44{ "Accept A&ll","A&lles Akzepieren" }, 44{ "Accept A&ll","A&lles Akzepieren" },
45{ "Access:","Zugriff:" }, 45{ "Access:","Zugriff:" },
46{ "A corresponding event is missing in your calendar!","Ein zugehöriger Termin fehlt in ihrem Kalender!" }, 46{ "A corresponding event is missing in your calendar!","Ein zugehöriger Termin fehlt in ihrem Kalender!" },
47{ "Actions","Aktionen" }, 47{ "Actions","Aktionen" },
48{ "Add Filter","Filter Hinzufügen" }, 48{ "Add Filter","Filter Hinzufügen" },
49{ "&Add","Hinzufügen" }, 49{ "&Add","Hinzufügen" },
50{ "Add","Hinzufügen" }, 50{ "Add","Hinzufügen" },
51{ "Additional email addresses:","Zusätzliche E-Mail Adressen:" }, 51{ "Additional email addresses:","Zusätzliche E-Mail Adressen:" },
52{ "Additional email address:","Zusätzliche E-Mail Adresse:" }, 52{ "Additional email address:","Zusätzliche E-Mail Adresse:" },
53{ "&Addressbook","&Adressbuch" }, 53{ "&Addressbook","&Adressbuch" },
54{ "Address &Book...","Adress&buch..." }, 54{ "Address &Book...","Adress&buch..." },
55{ "Agenda Size","Agende Größe" }, 55{ "Agenda Size","Agende Größe" },
56{ "Agenda Size:","Größe der Agenda:" }, 56{ "Agenda Size:","Größe der Agenda:" },
57{ "Agenda view:","Agenda Ansicht:" }, 57{ "Agenda view:","Agenda Ansicht:" },
58{ "Agenda view background color:","Hintergrund der Agenda Ansicht:" }, 58{ "Agenda view background color:","Hintergrund der Agenda Ansicht:" },
59{ "All attendees","Alle Teilnehmer" }, 59{ "All attendees","Alle Teilnehmer" },
60{ "AllDayAgenda Height:","Höhe Ganztages Agenda:" }, 60{ "AllDayAgenda Height:","Höhe Ganztages Agenda:" },
61{ "Allday","Ganztägig" }, 61{ "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{ "Bigger","Größer" }, 78{ "Bigger","Größer" },
79{ "Biggest","Riesig" }, 79{ "Biggest","Riesig" },
80{ "Big","Groß" }, 80{ "Big","Groß" },
81{ "<b>On:</b> %1","<b>Am:</b> %1" }, 81{ "<b>On:</b> %1","<b>Am:</b> %1" },
82{ "<b>On:</b> %1 <b>From:S</b> %2 <b>To:</b> %3","<b>Am:</b> %1 <b>Vom:S</b> %2 <b>Zum:</b> %3" }, 82{ "<b>On:</b> %1 <b>From:S</b> %2 <b>To:</b> %3","<b>Am:</b> %1 <b>Vom:S</b> %2 <b>Zum:</b> %3" },
83{ "<b>Original event:</b><p>","<b>Original Termin:</b><p>" }, 83{ "<b>Original event:</b><p>","<b>Original Termin:</b><p>" },
84{ " - both are modified after last sync"," - beide wurden nach der letzten Syncronisation verändert" }, 84{ " - both are modified after last sync"," - beide wurden nach der letzten Syncronisation verändert" },
85{ "Busy","Belegt" }, 85{ "Busy","Belegt" },
86{ "&Cancel","Abbre&chen" }, 86{ "&Cancel","Abbre&chen" },
87{ "Cancel","Abbrechen" }, 87{ "Cancel","Abbrechen" },
88{ "Cannot delete To-Do\nwhich has children.","Kann Todo nicht löschen,\n da noch Einträge vorhanden sind" }, 88{ "Cannot delete To-Do\nwhich has children.","Kann Todo nicht löschen,\n da noch Einträge vorhanden sind" },
89{ "Can't generate mail:\nNo event selected.","Kann e-Mail nicht erstellen:\nKein Termin ausgewählt." }, 89{ "Can't generate mail:\nNo event selected.","Kann e-Mail nicht erstellen:\nKein Termin ausgewählt." },
90{ "Categories...","Kategorien..." }, 90{ "Categories...","Kategorien..." },
91{ "Categories","Kategorien" }, 91{ "Categories","Kategorien" },
92{ "Category","Kategorie" }, 92{ "Category","Kategorie" },
93{ "Center View","Zentriere Ansicht" }, 93{ "Center View","Zentriere Ansicht" },
94{ "Change","Ändere" }, 94{ "Change","Ändere" },
95{ "Cinema","Kino" }, 95{ "Cinema","Kino" },
96{ "Click to add a new Todo","Hier klicken, um ein neues Todo anzulegen" }, 96{ "Click to add a new Todo","Hier klicken, um ein neues Todo anzulegen" },
97{ "Clone Item","Klone Eintrag" }, 97{ "Clone Item","Klone Eintrag" },
98{ "&Close","S&chließen" }, 98{ "&Close","S&chließen" },
99{ "Close","Schließen" }, 99{ "Close","Schließen" },
100{ "Close this dialog to abort deletion!","Zum Abbrechen des Löschvorganges Dialog schließen!" }, 100{ "Close this dialog to abort deletion!","Zum Abbrechen des Löschvorganges Dialog schließen!" },
101{ "Colors","Farben" }, 101{ "Colors","Farben" },
102{ "completed","erledigt" }, 102{ "completed","erledigt" },
103{ "completed on %1","erledigt am %1" }, 103{ "completed on %1","erledigt am %1" },
104{ "Complete","Erledigt" }, 104{ "Complete","Erledigt" },
105{ "Confidential","Vertraulich" }, 105{ "Confidential","Vertraulich" },
106{ "Configure...","Einstellungen..." }, 106{ "Configure...","Einstellungen..." },
107{ "Confirm &deletes","Löschvogang bestätigen" }, 107{ "Confirm &deletes","Löschvogang bestätigen" },
108{ "Couldn't load calendar\n '%1'.","Kann Kalender\n '%1' nicht laden." }, 108{ "Couldn't load calendar\n '%1'.","Kann Kalender\n '%1' nicht laden." },
109{ "Counter-event Viewer","Terminzähler Ansicht" }, 109{ "Counter-event Viewer","Terminzähler Ansicht" },
110{ "Daily ending hour:","Feierabend:" }, 110{ "Daily ending hour:","Feierabend:" },
111{ "Daily starting hour:","Anfangszeit:" }, 111{ "Daily starting hour:","Anfangszeit:" },
112{ "Daily","Täglich" }, 112{ "Daily","Täglich" },
113{ "Date Format","Datums Format" }, 113{ "Date Format","Datums Format" },
114{ "Date Format:","Datums Format:" }, 114{ "Date Format:","Datums Format:" },
115{ "DateNavigator:(nr)","Datums Navigator" }, 115{ "DateNavigator:(nr)","Datums Navigator" },
116{ "Dates: ","Datum: " }, 116{ "Dates: ","Datum: " },
117{ "Date && Time","Datum && Zeit" }, 117{ "Date && Time","Datum && Zeit" },
118{ "Day begins at:","Der Tag beginnt um:" }, 118{ "Day begins at:","Der Tag beginnt um:" },
119{ "Days in Next-X-Days:","Tage in Nächste-X-Tage:" }, 119{ "Days in Next-X-Days:","Tage in Nächste-X-Tage:" },
120{ "Days in What's Next:","Tage in What's Next:" }, 120{ "Days in What's Next:","Tage in What's Next:" },
121{ "day(s)","Tag(e)" }, 121{ "day(s)","Tag(e)" },
122{ "Days to show in Next-X-Days view:","Welche Tage in Nächste-X-Tagen anzeigen:" }, 122{ "Days to show in Next-X-Days view:","Welche Tage in Nächste-X-Tagen anzeigen:" },
123{ "day","Tag" }, 123{ "day","Tag" },
124{ "Dec","Dez" }, 124{ "Dec","Dez" },
125{ "December","Dezember" }, 125{ "December","Dezember" },
126{ "Default alarm time:","Standard Alarmzeit:" }, 126{ "Default alarm time:","Standard Alarmzeit:" },
127{ "Default appointment time:","Standard Termin Startzeit:" }, 127{ "Default appointment time:","Standard Termin Startzeit:" },
128{ "Default event color:","Standard Terminfarbe:" }, 128{ "Default event color:","Standard Terminfarbe:" },
129{ "Default","Standard" }, 129{ "Default","Standard" },
130{ "Def. duration of new app.:","Standard Termin Länge:" }, 130{ "Def. duration of new app.:","Standard Termin Länge:" },
131{ "Delete all completed To-Dos?","Alle bereits erledigten Todos löschen?" }, 131{ "Delete all completed To-Dos?","Alle bereits erledigten Todos löschen?" },
132{ "Delete All","Lösche alles" }, 132{ "Delete All","Lösche alles" },
133{ "Delete all selected","Lösche alle Selektierten" }, 133{ "Delete all selected","Lösche alle Selektierten" },
134{ "Delete Current","Aktuellen löschen" }, 134{ "Delete Current","Aktuellen löschen" },
135{ "Delete Event...","Lösche Termin..." }, 135{ "Delete Event...","Lösche Termin..." },
136{ "Delete Event","Lösche Termin" }, 136{ "Delete Event","Lösche Termin" },
137{ "&Delete","Löschen" }, 137{ "&Delete","Löschen" },
138{ "Delete...","Löschen..." }, 138{ "Delete...","Löschen..." },
139{ "Delete","Löschen" }, 139{ "Delete","Löschen" },
140{ "Delete Todo...","Lösche Todo..." }, 140{ "Delete Todo...","Lösche Todo..." },
141{ "Delete To-Do","Lösche Todo" }, 141{ "Delete To-Do","Lösche Todo" },
142{ "Deleting item %d ...","Lösche Eintrag %d..." }, 142{ "Deleting item %d ...","Lösche Eintrag %d..." },
143{ "Descriptions","Beschreibungen" }, 143{ "Descriptions","Beschreibungen" },
144{ "Deselect All","Deselektiere Alle" }, 144{ "Deselect All","Deselektiere Alle" },
145{ "Details","Details" }, 145{ "Details","Details" },
146{ "Dinner","Abendessen" }, 146{ "Dinner","Abendessen" },
147{ "Do you really want\nto close KO/Pi?","Möchten Sie wirklich\nKO/PI verlassen?" }, 147{ "Do you really want\nto close KO/Pi?","Möchten Sie wirklich\nKO/PI verlassen?" },
148{ "Due Date","Fällig am" }, 148{ "Due Date","Fällig am" },
149{ "Due: ","Fällig: "}, 149{ "Due: ","Fällig: "},
150{ "Due Time","Fällig um" }, 150{ "Due Time","Fällig um" },
151{ "Due:","Fällig:"}, 151{ "Due:","Fällig:"},
152{ "Duration: ","Dauer: " }, 152{ "Duration: ","Dauer: " },
153{ "Edit...","Bearbeite..." }, 153{ "Edit...","Bearbeite..." },
154{ "Edit","Bearbeite" }, 154{ "Edit","Bearbeite" },
155{ "Edit Event...","Bearbeite Termin..." }, 155{ "Edit Event...","Bearbeite Termin..." },
156{ "Edit Event","Bearbeite Termin" }, 156{ "Edit Event","Bearbeite Termin" },
157{ "Edit exceptions","Bearbeite Ausnahmen" }, 157{ "Edit exceptions","Bearbeite Ausnahmen" },
158{ "EditorBox:","Editor Fenster:" }, 158{ "EditorBox:","Editor Fenster:" },
159{ "Edit Recurrence Range","Bearbeite Wiederholung" }, 159{ "Edit Recurrence Range","Bearbeite Wiederholung" },
160{ "Edit Todo...","Berabeite Todo..." }, 160{ "Edit Todo...","Berabeite Todo..." },
161{ "Edit To-Do","Todo bearbeiten" }, 161{ "Edit To-Do","Todo bearbeiten" },
162{ "E&mail address:","E&mail Adresse:" }, 162{ "E&mail address:","E&mail Adresse:" },
163{ "(EmptyEmail)","(KeineEmail)" }, 163{ "(EmptyEmail)","(KeineEmail)" },
164{ "(EmptyName)","(KeinName)" }, 164{ "(EmptyName)","(KeinName)" },
165{ "Enable Recurrence","Wiederholender Termin" }, 165{ "Enable Recurrence","Wiederholender Termin" },
166{ "End after","Endet nach"}, 166{ "End after","Endet nach"},
167{ "End by:","Endet am"}, 167{ "End by:","Endet am"},
168{ "End Date","End Datum" }, 168{ "End Date","End Datum" },
169{ "End:","Ende:" }, 169{ "End:","Ende:" },
170{ "End Time","End Zeit" }, 170{ "End Time","End Zeit" },
171{ "English","Englisch" }, 171{ "English","Englisch" },
172{ "Event","Termin" }, 172{ "Event","Termin" },
173{ "Event list","Termin Liste" }, 173{ "Event list","Termin Liste" },
174{ "Events","Termine" }, 174{ "Events","Termine" },
175{ "Event Viewer:","Termin Übersicht:" }, 175{ "Event Viewer:","Termin Übersicht:" },
176{ "every","jede" }, 176{ "every","jede" },
177{ "Exceptions...","Ausnahmen..." }, 177{ "Exceptions...","Ausnahmen..." },
178{ "Exceptions","Ausnahmen" }, 178{ "Exceptions","Ausnahmen" },
179{ "Exclude holidays","Ohne freie Tage" }, 179{ "Exclude holidays","Ohne freie Tage" },
180{ "Exclude Saturdays","Ohne Samstage" }, 180{ "Exclude Saturdays","Ohne Samstage" },
181{ "Feb","Feb" }, 181{ "Feb","Feb" },
182{ "February","Februar" }, 182{ "February","Februar" },
183{ "&Find","Suche!" }, 183{ "&Find","Suche!" },
184{ "Fonts","Schriftart" }, 184{ "Fonts","Schriftart" },
185{ "Force take local entry always","Erzwinge:Nimm immer lokalen Eintrag" }, 185{ "Force take local entry always","Erzwinge:Nimm immer lokalen Eintrag" },
186{ "Force take remote entry always","Erzwinge:Nimm immer fernen Eintrag"}, 186{ "Force take remote entry always","Erzwinge:Nimm immer fernen Eintrag"},
187{ "Free","Frei" }, 187{ "Free","Frei" },
188{ "Friday","Freitag" }, 188{ "Friday","Freitag" },
189{ "Fri","Fr" }, 189{ "Fri","Fr" },
190{ "From:","Vom:" }, 190{ "From:","Vom:" },
191{ "Full &name:","Vor- und &Nachname:" }, 191{ "Full &name:","Vor- und &Nachname:" },
192{ "General","Allgemein" }, 192{ "General","Allgemein" },
193{ "German","Deutsch" }, 193{ "German","Deutsch" },
194{ "Gifts","Geschenke" }, 194{ "Gifts","Geschenke" },
195{ "Go to Today","Heute anzeigen" }, 195{ "Go to Today","Heute anzeigen" },
196{ "Help","Hilfe" }, 196{ "Help","Hilfe" },
197{ "Hide Dates","Daten ausblenden" }, 197{ "Hide Dates","Daten ausblenden" },
198{ "Highlight color:","Markierungen:" }, 198{ "Highlight color:","Markierungen:" },
199{ "Holiday color:","Freie Tage:" }, 199{ "Holiday color:","Freie Tage:" },
200{ "hour(s)","Stunde(n)" }, 200{ "hour(s)","Stunde(n)" },
201{ "In %1 days: ","In %1 Tagen: " }, 201{ "In %1 days: ","In %1 Tagen: " },
202{ "Incomplete Todo:","Unerledigte Aufgaben:" }, 202{ "Incomplete Todo:","Unerledigte Aufgaben:" },
203{ "Information","Information" }, 203{ "Information","Information" },
204{ "Invalid search expression,\ncannot perform ","Kann Suche nicht ausführen" }, 204{ "Invalid search expression,\ncannot perform ","Kann Suche nicht ausführen" },
205{ "Jan","Jan" }, 205{ "Jan","Jan" },
206{ "January","Januar" }, 206{ "January","Januar" },
207{ "JournalView:","Journal Ansicht:" }, 207{ "JournalView:","Journal Ansicht:" },
208{ "Journals","Journale" }, 208{ "Journals","Journale" },
209{ "Jul","Jul" }, 209{ "Jul","Jul" },
210{ "July","Juli" }, 210{ "July","Juli" },
211{ "Jump to date","Springe zum Datum" }, 211{ "Jump to date","Springe zum Datum" },
212{ "June","Juni" }, 212{ "June","Juni" },
213{ "Jun","Jun" }, 213{ "Jun","Jun" },
214{ "Key Bindings...","Tastenzuordnung..." }, 214{ "Key Bindings...","Tastenzuordnung..." },
215{ "Kids","Kinder" }, 215{ "Kids","Kinder" },
216{ "Known Problems...","Bekannte Probleme..." }, 216{ "Known Problems...","Bekannte Probleme..." },
217{ "KO/Pi Find ","KO/Pi Suchdialog " }, 217{ "KO/Pi Find ","KO/Pi Suchdialog " },
218{ "KO/Pi Find: ","KO/Pi Suchen: " }, 218{ "KO/Pi Find: ","KO/Pi Suchen: " },
219{ "KO/Pi is starting ... "," KO/Pi startet ... \n... Zeit für eine Kaffeepause ..." }, 219{ "KO/Pi is starting ... "," KO/Pi startet ... \n... Zeit für eine Kaffeepause ..." },
220{ "Language:(needs restart)","Sprache (Neustart!)" }, 220{ "Language:(needs restart)","Sprache (Neustart!)" },
221{ "Language:","Sprache" }, 221{ "Language:","Sprache" },
222{ "Large","Etwas mehr" }, 222{ "Large","Etwas mehr" },
223{ "List View:","Listenansicht:" }, 223{ "List View:","Listenansicht:" },
224{ "List View","Listenansicht" }, 224{ "List View","Listenansicht" },
225{ "Load/Save","Laden/Speichern" }, 225{ "Load/Save","Laden/Speichern" },
226{ "Load Template","Lade Vorlage" }, 226{ "Load Template","Lade Vorlage" },
227{ "Locale","Localisation" }, 227{ "Locale","Localisation" },
228{ "Local temp file:","Lokale temp. Datei:" }, 228{ "Local temp file:","Lokale temp. Datei:" },
229{ "Location: ","Ort: " }, 229{ "Location: ","Ort: " },
230{ "Location:","Ort:" }, 230{ "Location:","Ort:" },
231{ "Mail client","Mail Programm" }, 231{ "Mail client","Mail Programm" },
232{ "Mail Client","Mail Programm" }, 232{ "Mail Client","Mail Programm" },
233{ "March","März" }, 233{ "March","März" },
234{ "Mar","Mär" }, 234{ "Mar","Mär" },
235{ "May","Mai" }, 235{ "May","Mai" },
236{ "M. Bains line:","M. Bains Linie:" }, 236{ "M. Bains line:","M. Bains Linie:" },
237{ "Medium","Medium" }, 237{ "Medium","Medium" },
238{ "Method","Methode" }, 238{ "Method","Methode" },
239{ "minute(s)","Minute(n)" }, 239{ "minute(s)","Minute(n)" },
240{ "Monday","Montag" }, 240{ "Monday","Montag" },
241{ "Mon","Mo" }, 241{ "Mon","Mo" },
242{ "Monthly","Monatlich" }, 242{ "Monthly","Monatlich" },
243{ "Month not long enough","Monat ist nicht lang genug" }, 243{ "Month not long enough","Monat ist nicht lang genug" },
244{ "month(s)","Monat(e)" }, 244{ "month(s)","Monat(e)" },
245{ "Month view:","Monatsansicht:" }, 245{ "Month view:","Monatsansicht:" },
246{ "Month view uses category colors","Monatsansicht zeigt Kategorie Farben" }, 246{ "Month view uses category colors","Monatsansicht zeigt Kategorie Farben" },
247{ "Todo view uses category colors","To-Do Ansicht zeigt Kategorie Farben" }, 247{ "Todo view uses category colors","To-Do Ansicht zeigt Kategorie Farben" },
248{ "Move &Down","Nach unten verschieben" }, 248{ "Move &Down","Nach unten verschieben" },
249{ "Move &Up","Nach oben verschieben" }, 249{ "Move &Up","Nach oben verschieben" },
250{ "Name:","Name:" }, 250{ "Name:","Name:" },
251{ "Name","Name" }, 251{ "Name","Name" },
252{ "\nAre you sure you want\nto delete this event?","\nSind Sie sicher, dass Sie\nden Termin löschen möchten?" }, 252{ "\nAre you sure you want\nto delete this event?","\nSind Sie sicher, dass Sie\nden Termin löschen möchten?" },
253{ "%n Days","%n Tage" }, 253{ "%n Days","%n Tage" },
diff --git a/kaddressbook/views/kaddressbooktableview.cpp b/kaddressbook/views/kaddressbooktableview.cpp
index 69802a4..b73ceaa 100644
--- a/kaddressbook/views/kaddressbooktableview.cpp
+++ b/kaddressbook/views/kaddressbooktableview.cpp
@@ -1,371 +1,372 @@
1// $Id$ 1// $Id$
2 2
3#include <qvbox.h> 3#include <qvbox.h>
4#include <qlistbox.h> 4#include <qlistbox.h>
5#include <qwidget.h> 5#include <qwidget.h>
6#include <qfile.h> 6#include <qfile.h>
7#include <qimage.h> 7#include <qimage.h>
8#include <qcombobox.h> 8#include <qcombobox.h>
9#include <qapplication.h> 9#include <qapplication.h>
10#include <qdragobject.h> 10#include <qdragobject.h>
11#include <qevent.h> 11#include <qevent.h>
12#include <qurl.h> 12#include <qurl.h>
13#include <qpixmap.h> 13#include <qpixmap.h>
14 14
15#include <kabc/addressbook.h> 15#include <kabc/addressbook.h>
16#include <kapplication.h> 16#include <kapplication.h>
17#include <kconfig.h> 17#include <kconfig.h>
18#include <kcolorbutton.h> 18#include <kcolorbutton.h>
19#include <kdebug.h> 19#include <kdebug.h>
20#include <kglobal.h> 20#include <kglobal.h>
21#include <kiconloader.h> 21#include <kiconloader.h>
22#include <klineedit.h> 22#include <klineedit.h>
23#include <klocale.h> 23#include <klocale.h>
24#include <kmessagebox.h> 24#include <kmessagebox.h>
25#include <kurl.h> 25#include <kurl.h>
26#include <kurlrequester.h> 26#include <kurlrequester.h>
27 27
28//US#include "configuretableviewdialog.h" 28//US#include "configuretableviewdialog.h"
29#include "contactlistview.h" 29#include "contactlistview.h"
30#include "kabprefs.h" 30#include "kabprefs.h"
31#include "undocmds.h" 31#include "undocmds.h"
32#include "viewmanager.h" 32#include "viewmanager.h"
33 33
34#include <qlayout.h> 34#include <qlayout.h>
35#include <qheader.h> 35#include <qheader.h>
36#include <qregexp.h> 36#include <qregexp.h>
37 37
38#include "kaddressbooktableview.h" 38#include "kaddressbooktableview.h"
39 39
40 40
41KAddressBookTableView::KAddressBookTableView( KABC::AddressBook *ab, 41KAddressBookTableView::KAddressBookTableView( KABC::AddressBook *ab,
42 QWidget *parent, const char *name ) 42 QWidget *parent, const char *name )
43 : KAddressBookView( ab, parent, name ) 43 : KAddressBookView( ab, parent, name )
44{ 44{
45 mainLayout = new QVBoxLayout( viewWidget(), 2 ); 45 mainLayout = new QVBoxLayout( viewWidget(), 2 );
46 46
47 // The list view will be created when the config is read. 47 // The list view will be created when the config is read.
48 mListView = 0; 48 mListView = 0;
49} 49}
50 50
51KAddressBookTableView::~KAddressBookTableView() 51KAddressBookTableView::~KAddressBookTableView()
52{ 52{
53} 53}
54void KAddressBookTableView::setFocusAV() 54void KAddressBookTableView::setFocusAV()
55{ 55{
56 if ( mListView ) 56 if ( mListView )
57 mListView->setFocus(); 57 mListView->setFocus();
58 58
59} 59}
60void KAddressBookTableView::scrollUP() 60void KAddressBookTableView::scrollUP()
61{ 61{
62 QKeyEvent * ev = new QKeyEvent ( QEvent::KeyPress, Qt::Key_Up, 0,0 ); 62 QKeyEvent * ev = new QKeyEvent ( QEvent::KeyPress, Qt::Key_Up, 0,0 );
63 QApplication::postEvent( mListView, ev ); 63 QApplication::postEvent( mListView, ev );
64} 64}
65void KAddressBookTableView::scrollDOWN() 65void KAddressBookTableView::scrollDOWN()
66{ 66{
67 QKeyEvent * ev = new QKeyEvent ( QEvent::KeyPress, Qt::Key_Down, 0,0 ); 67 QKeyEvent * ev = new QKeyEvent ( QEvent::KeyPress, Qt::Key_Down, 0,0 );
68 QApplication::postEvent( mListView, ev ); 68 QApplication::postEvent( mListView, ev );
69} 69}
70void KAddressBookTableView::reconstructListView() 70void KAddressBookTableView::reconstructListView()
71{ 71{
72 if (mListView) 72 if (mListView)
73 { 73 {
74 disconnect(mListView, SIGNAL(selectionChanged()), 74 disconnect(mListView, SIGNAL(selectionChanged()),
75 this, SLOT(addresseeSelected())); 75 this, SLOT(addresseeSelected()));
76 disconnect(mListView, SIGNAL(executed(QListViewItem*)), 76 disconnect(mListView, SIGNAL(executed(QListViewItem*)),
77 this, SLOT(addresseeExecuted(QListViewItem*))); 77 this, SLOT(addresseeExecuted(QListViewItem*)));
78 disconnect(mListView, SIGNAL(doubleClicked(QListViewItem*)), 78 disconnect(mListView, SIGNAL(doubleClicked(QListViewItem*)),
79 this, SLOT(addresseeExecuted(QListViewItem*))); 79 this, SLOT(addresseeExecuted(QListViewItem*)));
80 disconnect(mListView, SIGNAL(startAddresseeDrag()), this, 80 disconnect(mListView, SIGNAL(startAddresseeDrag()), this,
81 SIGNAL(startDrag())); 81 SIGNAL(startDrag()));
82 disconnect(mListView, SIGNAL(returnPressed(QListViewItem*)), 82 disconnect(mListView, SIGNAL(returnPressed(QListViewItem*)),
83 this, SLOT(addresseeExecuted(QListViewItem*))); 83 this, SLOT(addresseeExecuted(QListViewItem*)));
84 84
85 disconnect(mListView, SIGNAL(addresseeDropped(QDropEvent*)), this, 85 disconnect(mListView, SIGNAL(addresseeDropped(QDropEvent*)), this,
86 SIGNAL(dropped(QDropEvent*))); 86 SIGNAL(dropped(QDropEvent*)));
87 delete mListView; 87 delete mListView;
88 } 88 }
89 89
90 mListView = new ContactListView( this, addressBook(), viewWidget() ); 90 mListView = new ContactListView( this, addressBook(), viewWidget() );
91 91
92 connect(this, SIGNAL(printView()), 92 connect(this, SIGNAL(printView()),
93 mListView , SLOT(printMe())); 93 mListView , SLOT(printMe()));
94 //US set singleClick manually, because it is no global configparameter in embedded space 94 //US set singleClick manually, because it is no global configparameter in embedded space
95 mListView->setSingleClick(KABPrefs::instance()->mHonorSingleClick); 95 mListView->setSingleClick(KABPrefs::instance()->mHonorSingleClick);
96 96
97 // Add the columns 97 // Add the columns
98 KABC::Field::List fieldList = fields(); 98 KABC::Field::List fieldList = fields();
99 KABC::Field::List::ConstIterator it; 99 KABC::Field::List::ConstIterator it;
100 100
101 int c = 0; 101 int c = 0;
102 for( it = fieldList.begin(); it != fieldList.end(); ++it ) { 102 for( it = fieldList.begin(); it != fieldList.end(); ++it ) {
103 mListView->addColumn( (*it)->label() ); 103 mListView->addColumn( (*it)->label() );
104 mListView->setColumnWidthMode(c++, QListView::Manual); 104 mListView->setColumnWidthMode(c++, QListView::Manual);
105//US 105//US
106 // qDebug("KAddressBookTableView::reconstructListView: field %s", (*it)->label().latin1()); 106 // qDebug("KAddressBookTableView::reconstructListView: field %s", (*it)->label().latin1());
107 } 107 }
108 108
109 connect(mListView, SIGNAL(selectionChanged()), 109 connect(mListView, SIGNAL(selectionChanged()),
110 this, SLOT(addresseeSelected())); 110 this, SLOT(addresseeSelected()));
111 connect(mListView, SIGNAL(startAddresseeDrag()), this, 111 connect(mListView, SIGNAL(startAddresseeDrag()), this,
112 SIGNAL(startDrag())); 112 SIGNAL(startDrag()));
113 connect(mListView, SIGNAL(addresseeDropped(QDropEvent*)), this, 113 connect(mListView, SIGNAL(addresseeDropped(QDropEvent*)), this,
114 SIGNAL(dropped(QDropEvent*))); 114 SIGNAL(dropped(QDropEvent*)));
115 115
116 if (KABPrefs::instance()->mHonorSingleClick) { 116 if (KABPrefs::instance()->mHonorSingleClick) {
117 // qDebug("KAddressBookTableView::reconstructListView single"); 117 // qDebug("KAddressBookTableView::reconstructListView single");
118 connect(mListView, SIGNAL(executed(QListViewItem*)), 118 connect(mListView, SIGNAL(executed(QListViewItem*)),
119 this, SLOT(addresseeExecuted(QListViewItem*))); 119 this, SLOT(addresseeExecuted(QListViewItem*)));
120 } else { 120 } else {
121 // qDebug("KAddressBookTableView::reconstructListView double"); 121 // qDebug("KAddressBookTableView::reconstructListView double");
122 connect(mListView, SIGNAL(doubleClicked(QListViewItem*)), 122 connect(mListView, SIGNAL(doubleClicked(QListViewItem*)),
123 this, SLOT(addresseeExecuted(QListViewItem*))); 123 this, SLOT(addresseeExecuted(QListViewItem*)));
124 } 124 }
125 connect(mListView, SIGNAL(returnPressed(QListViewItem*)), 125 connect(mListView, SIGNAL(returnPressed(QListViewItem*)),
126 this, SLOT(addresseeExecuted(QListViewItem*))); 126 this, SLOT(addresseeExecuted(QListViewItem*)));
127 connect(mListView, SIGNAL(signalDelete()), 127 connect(mListView, SIGNAL(signalDelete()),
128 this, SLOT(addresseeDeleted())); 128 this, SLOT(addresseeDeleted()));
129 129
130//US performceimprovement. Refresh is done from the outside 130//US performceimprovement. Refresh is done from the outside
131//US refresh(); 131//US refresh();
132 132
133 mListView->setSorting( 0, true ); 133 mListView->setSorting( 0, true );
134 mainLayout->addWidget( mListView ); 134 mainLayout->addWidget( mListView );
135 mainLayout->activate(); 135 mainLayout->activate();
136 mListView->show(); 136 mListView->show();
137} 137}
138 138
139void KAddressBookTableView::doSearch( const QString& s, KABC::Field *field ) 139void KAddressBookTableView::doSearch( const QString& s, KABC::Field *field )
140{ 140{
141 mListView->clear(); 141 mListView->clear();
142 if ( s.isEmpty() || s == "*" ) { 142 if ( s.isEmpty() || s == "*" ) {
143 refresh(); 143 refresh();
144 return; 144 return;
145 } 145 }
146 QString pattern = s.lower()+"*"; 146 QString pattern = s.lower()+"*";
147 QRegExp re; 147 QRegExp re;
148 re.setWildcard(true); // most people understand these better. 148 re.setWildcard(true); // most people understand these better.
149 re.setCaseSensitive(false); 149 re.setCaseSensitive(false);
150 re.setPattern( pattern ); 150 re.setPattern( pattern );
151 if (!re.isValid()) 151 if (!re.isValid())
152 return; 152 return;
153 KABC::Addressee::List addresseeList = addressees(); 153 KABC::Addressee::List addresseeList = addressees();
154 KABC::Addressee::List::Iterator it; 154 KABC::Addressee::List::Iterator it;
155 if ( field ) { 155 if ( field ) {
156 for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { 156 for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) {
157 if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") ) 157 if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") )
158 continue; 158 continue;
159#if QT_VERSION >= 0x030000 159#if QT_VERSION >= 0x030000
160 if (re.search(field->value( *it ).lower()) == 0) 160 if (re.search(field->value( *it ).lower()) == 0)
161#else 161#else
162 if (re.match(field->value( *it ).lower()) != -1) 162 if (re.match(field->value( *it ).lower()) != -1)
163#endif 163#endif
164 ContactListViewItem *item = new ContactListViewItem(*it, mListView, addressBook(), fields()); 164 ContactListViewItem *item = new ContactListViewItem(*it, mListView, addressBook(), fields());
165 165
166 } 166 }
167 } else { 167 } else {
168 KABC::Field::List fieldList = allFields(); 168 KABC::Field::List fieldList = allFields();
169 KABC::Field::List::ConstIterator fieldIt; 169 KABC::Field::List::ConstIterator fieldIt;
170 for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { 170 for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) {
171 if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") ) 171 if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") )
172 continue; 172 continue;
173 for ( fieldIt = fieldList.begin(); fieldIt != fieldList.end(); ++fieldIt ) { 173 for ( fieldIt = fieldList.begin(); fieldIt != fieldList.end(); ++fieldIt ) {
174#if QT_VERSION >= 0x030000 174#if QT_VERSION >= 0x030000
175 if (re.search((*fieldIt)->value( *it ).lower()) != -1) 175 if (re.search((*fieldIt)->value( *it ).lower()) != -1)
176#else 176#else
177 if (re.match((*fieldIt)->value( *it ).lower()) != -1) 177 if (re.match((*fieldIt)->value( *it ).lower()) != -1)
178#endif 178#endif
179 { 179 {
180 //qDebug("match %s %s %s", pattern.latin1(), (*fieldIt)->value( *it ).latin1(), (*fieldIt)->label().latin1() );
180 ContactListViewItem *item = new ContactListViewItem(*it, mListView, addressBook(), fields()); 181 ContactListViewItem *item = new ContactListViewItem(*it, mListView, addressBook(), fields());
181 break; 182 break;
182 } 183 }
183 } 184 }
184 } 185 }
185 } 186 }
186 // Sometimes the background pixmap gets messed up when we add lots 187 // Sometimes the background pixmap gets messed up when we add lots
187 // of items. 188 // of items.
188 mListView->repaint(); 189 mListView->repaint();
189 if ( mListView->firstChild() ) { 190 if ( mListView->firstChild() ) {
190 mListView->setCurrentItem ( mListView->firstChild() ); 191 mListView->setCurrentItem ( mListView->firstChild() );
191 mListView->setSelected ( mListView->firstChild(), true ); 192 mListView->setSelected ( mListView->firstChild(), true );
192 } 193 }
193 else 194 else
194 emit selected(QString::null); 195 emit selected(QString::null);
195 196
196} 197}
197void KAddressBookTableView::writeConfig(KConfig *config) 198void KAddressBookTableView::writeConfig(KConfig *config)
198{ 199{
199 KAddressBookView::writeConfig(config); 200 KAddressBookView::writeConfig(config);
200 201
201 mListView->saveLayout(config, config->group()); 202 mListView->saveLayout(config, config->group());
202} 203}
203 204
204void KAddressBookTableView::readConfig(KConfig *config) 205void KAddressBookTableView::readConfig(KConfig *config)
205{ 206{
206 KAddressBookView::readConfig( config ); 207 KAddressBookView::readConfig( config );
207 // The config could have changed the fields, so we need to reconstruct 208 // The config could have changed the fields, so we need to reconstruct
208 // the listview. 209 // the listview.
209 reconstructListView(); 210 reconstructListView();
210 211
211 // costum colors? 212 // costum colors?
212 if ( config->readBoolEntry( "EnableCustomColors", false ) ) 213 if ( config->readBoolEntry( "EnableCustomColors", false ) )
213 { 214 {
214 QPalette p( mListView->palette() ); 215 QPalette p( mListView->palette() );
215 QColor c = p.color(QPalette::Normal, QColorGroup::Base ); 216 QColor c = p.color(QPalette::Normal, QColorGroup::Base );
216 p.setColor( QPalette::Normal, QColorGroup::Base, config->readColorEntry( "BackgroundColor", &c ) ); 217 p.setColor( QPalette::Normal, QColorGroup::Base, config->readColorEntry( "BackgroundColor", &c ) );
217 c = p.color(QPalette::Normal, QColorGroup::Text ); 218 c = p.color(QPalette::Normal, QColorGroup::Text );
218 p.setColor( QPalette::Normal, QColorGroup::Text, config->readColorEntry( "TextColor", &c ) ); 219 p.setColor( QPalette::Normal, QColorGroup::Text, config->readColorEntry( "TextColor", &c ) );
219 c = p.color(QPalette::Normal, QColorGroup::Button ); 220 c = p.color(QPalette::Normal, QColorGroup::Button );
220 p.setColor( QPalette::Normal, QColorGroup::Button, config->readColorEntry( "HeaderColor", &c ) ); 221 p.setColor( QPalette::Normal, QColorGroup::Button, config->readColorEntry( "HeaderColor", &c ) );
221 c = p.color(QPalette::Normal, QColorGroup::ButtonText ); 222 c = p.color(QPalette::Normal, QColorGroup::ButtonText );
222 p.setColor( QPalette::Normal, QColorGroup::ButtonText, config->readColorEntry( "HeaderTextColor", &c ) ); 223 p.setColor( QPalette::Normal, QColorGroup::ButtonText, config->readColorEntry( "HeaderTextColor", &c ) );
223 c = p.color(QPalette::Normal, QColorGroup::Highlight ); 224 c = p.color(QPalette::Normal, QColorGroup::Highlight );
224 p.setColor( QPalette::Normal, QColorGroup::Highlight, config->readColorEntry( "HighlightColor", &c ) ); 225 p.setColor( QPalette::Normal, QColorGroup::Highlight, config->readColorEntry( "HighlightColor", &c ) );
225 c = p.color(QPalette::Normal, QColorGroup::HighlightedText ); 226 c = p.color(QPalette::Normal, QColorGroup::HighlightedText );
226 p.setColor( QPalette::Normal, QColorGroup::HighlightedText, config->readColorEntry( "HighlightedTextColor", &c ) ); 227 p.setColor( QPalette::Normal, QColorGroup::HighlightedText, config->readColorEntry( "HighlightedTextColor", &c ) );
227#ifndef KAB_EMBEDDED 228#ifndef KAB_EMBEDDED
228 c = KGlobalSettings::alternateBackgroundColor(); 229 c = KGlobalSettings::alternateBackgroundColor();
229#else //KAB_EMBEDDED 230#else //KAB_EMBEDDED
230 c = QColor(240, 240, 240); 231 c = QColor(240, 240, 240);
231#endif //KAB_EMBEDDED 232#endif //KAB_EMBEDDED
232 c = config->readColorEntry ("AlternatingBackgroundColor", &c); 233 c = config->readColorEntry ("AlternatingBackgroundColor", &c);
233 mListView->setAlternateColor(c); 234 mListView->setAlternateColor(c);
234 235
235 236
236 //US mListView->viewport()->setPalette( p ); 237 //US mListView->viewport()->setPalette( p );
237 mListView->setPalette( p ); 238 mListView->setPalette( p );
238 } 239 }
239 else 240 else
240 { 241 {
241 // needed if turned off during a session. 242 // needed if turned off during a session.
242 //US mListView->viewport()->setPalette( mListView->palette() ); 243 //US mListView->viewport()->setPalette( mListView->palette() );
243 mListView->setPalette( mListView->palette() ); 244 mListView->setPalette( mListView->palette() );
244 } 245 }
245 246
246 //custom fonts? 247 //custom fonts?
247 QFont f( font() ); 248 QFont f( font() );
248 if ( config->readBoolEntry( "EnableCustomFonts", false ) ) 249 if ( config->readBoolEntry( "EnableCustomFonts", false ) )
249 { 250 {
250 mListView->setFont( config->readFontEntry( "TextFont", &f) ); 251 mListView->setFont( config->readFontEntry( "TextFont", &f) );
251 f.setBold( true ); 252 f.setBold( true );
252 //US mListView->setHeaderFont( config->readFontEntry( "HeaderFont", &f ) ); 253 //US mListView->setHeaderFont( config->readFontEntry( "HeaderFont", &f ) );
253 mListView->header()->setFont( config->readFontEntry( "HeaderFont", &f ) ); 254 mListView->header()->setFont( config->readFontEntry( "HeaderFont", &f ) );
254 } 255 }
255 else 256 else
256 { 257 {
257 mListView->setFont( f ); 258 mListView->setFont( f );
258 f.setBold( true ); 259 f.setBold( true );
259 //US mListView->setHeaderFont( f ); 260 //US mListView->setHeaderFont( f );
260 mListView->header()->setFont( f ); 261 mListView->header()->setFont( f );
261 } 262 }
262 263
263 // Set the list view options 264 // Set the list view options
264 mListView->setAlternateBackgroundEnabled(config->readBoolEntry("ABackground", 265 mListView->setAlternateBackgroundEnabled(config->readBoolEntry("ABackground",
265 true)); 266 true));
266 mListView->setSingleLineEnabled(config->readBoolEntry("SingleLine", false)); 267 mListView->setSingleLineEnabled(config->readBoolEntry("SingleLine", false));
267 mListView->setToolTipsEnabled(config->readBoolEntry("ToolTips", true)); 268 mListView->setToolTipsEnabled(config->readBoolEntry("ToolTips", true));
268 269
269 if (config->readBoolEntry("Background", false)) 270 if (config->readBoolEntry("Background", false))
270 mListView->setBackgroundPixmap(config->readEntry("BackgroundName")); 271 mListView->setBackgroundPixmap(config->readEntry("BackgroundName"));
271 272
272 // Restore the layout of the listview 273 // Restore the layout of the listview
273 mListView->restoreLayout(config, config->group()); 274 mListView->restoreLayout(config, config->group());
274} 275}
275 276
276void KAddressBookTableView::refresh(QString uid) 277void KAddressBookTableView::refresh(QString uid)
277{ 278{
278 // For now just repopulate. In reality this method should 279 // For now just repopulate. In reality this method should
279 // check the value of uid, and if valid iterate through 280 // check the value of uid, and if valid iterate through
280 // the listview to find the entry, then tell it to refresh. 281 // the listview to find the entry, then tell it to refresh.
281 282
282 if (uid.isNull()) { 283 if (uid.isNull()) {
283 // Clear the list view 284 // Clear the list view
284 QString currentUID, nextUID; 285 QString currentUID, nextUID;
285#ifndef KAB_EMBEDDED 286#ifndef KAB_EMBEDDED
286 ContactListViewItem *currentItem = dynamic_cast<ContactListViewItem*>( mListView->currentItem() ); 287 ContactListViewItem *currentItem = dynamic_cast<ContactListViewItem*>( mListView->currentItem() );
287#else //KAB_EMBEDDED 288#else //KAB_EMBEDDED
288 ContactListViewItem *currentItem = (ContactListViewItem*)( mListView->currentItem() ); 289 ContactListViewItem *currentItem = (ContactListViewItem*)( mListView->currentItem() );
289#endif //KAB_EMBEDDED 290#endif //KAB_EMBEDDED
290 291
291 if ( currentItem ) { 292 if ( currentItem ) {
292#ifndef KAB_EMBEDDED 293#ifndef KAB_EMBEDDED
293 ContactListViewItem *nextItem = dynamic_cast<ContactListViewItem*>( currentItem->itemBelow() ); 294 ContactListViewItem *nextItem = dynamic_cast<ContactListViewItem*>( currentItem->itemBelow() );
294#else //KAB_EMBEDDED 295#else //KAB_EMBEDDED
295 ContactListViewItem *nextItem = (ContactListViewItem*)( currentItem->itemBelow() ); 296 ContactListViewItem *nextItem = (ContactListViewItem*)( currentItem->itemBelow() );
296#endif //KAB_EMBEDDED 297#endif //KAB_EMBEDDED
297 if ( nextItem ) 298 if ( nextItem )
298 nextUID = nextItem->addressee().uid(); 299 nextUID = nextItem->addressee().uid();
299 currentUID = currentItem->addressee().uid(); 300 currentUID = currentItem->addressee().uid();
300 } 301 }
301 302
302 mListView->clear(); 303 mListView->clear();
303 304
304 currentItem = 0; 305 currentItem = 0;
305 KABC::Addressee::List addresseeList = addressees(); 306 KABC::Addressee::List addresseeList = addressees();
306 KABC::Addressee::List::Iterator it; 307 KABC::Addressee::List::Iterator it;
307 for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) { 308 for (it = addresseeList.begin(); it != addresseeList.end(); ++it ) {
308 if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") ) 309 if ( (*it).uid().left(2) == "la" && (*it).uid().left(19) == QString("last-syncAddressee-") )
309 continue; 310 continue;
310 ContactListViewItem *item = new ContactListViewItem(*it, mListView, addressBook(), fields()); 311 ContactListViewItem *item = new ContactListViewItem(*it, mListView, addressBook(), fields());
311 if ( (*it).uid() == currentUID ) 312 if ( (*it).uid() == currentUID )
312 currentItem = item; 313 currentItem = item;
313 else if ( (*it).uid() == nextUID && !currentItem ) 314 else if ( (*it).uid() == nextUID && !currentItem )
314 currentItem = item; 315 currentItem = item;
315 } 316 }
316 317
317 // Sometimes the background pixmap gets messed up when we add lots 318 // Sometimes the background pixmap gets messed up when we add lots
318 // of items. 319 // of items.
319 mListView->repaint(); 320 mListView->repaint();
320 321
321 if ( currentItem ) { 322 if ( currentItem ) {
322 mListView->setCurrentItem( currentItem ); 323 mListView->setCurrentItem( currentItem );
323 mListView->ensureItemVisible( currentItem ); 324 mListView->ensureItemVisible( currentItem );
324 } 325 }
325 } else { 326 } else {
326 // Only need to update on entry. Iterate through and try to find it 327 // Only need to update on entry. Iterate through and try to find it
327 ContactListViewItem *ceItem; 328 ContactListViewItem *ceItem;
328 QListViewItemIterator it( mListView ); 329 QListViewItemIterator it( mListView );
329 while ( it.current() ) { 330 while ( it.current() ) {
330#ifndef KAB_EMBEDDED 331#ifndef KAB_EMBEDDED
331 ceItem = dynamic_cast<ContactListViewItem*>( it.current() ); 332 ceItem = dynamic_cast<ContactListViewItem*>( it.current() );
332#else //KAB_EMBEDDED 333#else //KAB_EMBEDDED
333 ceItem = (ContactListViewItem*)( it.current() ); 334 ceItem = (ContactListViewItem*)( it.current() );
334#endif //KAB_EMBEDDED 335#endif //KAB_EMBEDDED
335 336
336 if ( ceItem && ceItem->addressee().uid() == uid ) { 337 if ( ceItem && ceItem->addressee().uid() == uid ) {
337 ceItem->refresh(); 338 ceItem->refresh();
338 return; 339 return;
339 } 340 }
340 ++it; 341 ++it;
341 } 342 }
342 343
343 refresh( QString::null ); 344 refresh( QString::null );
344 } 345 }
345} 346}
346 347
347QStringList KAddressBookTableView::selectedUids() 348QStringList KAddressBookTableView::selectedUids()
348{ 349{
349 QStringList uidList; 350 QStringList uidList;
350 QListViewItem *item; 351 QListViewItem *item;
351 ContactListViewItem *ceItem; 352 ContactListViewItem *ceItem;
352 353
353 for(item = mListView->firstChild(); item; item = item->itemBelow()) 354 for(item = mListView->firstChild(); item; item = item->itemBelow())
354 { 355 {
355 if (mListView->isSelected( item )) 356 if (mListView->isSelected( item ))
356 { 357 {
357#ifndef KAB_EMBEDDED 358#ifndef KAB_EMBEDDED
358 ceItem = dynamic_cast<ContactListViewItem*>(item); 359 ceItem = dynamic_cast<ContactListViewItem*>(item);
359#else //KAB_EMBEDDED 360#else //KAB_EMBEDDED
360 ceItem = (ContactListViewItem*)(item); 361 ceItem = (ContactListViewItem*)(item);
361#endif //KAB_EMBEDDED 362#endif //KAB_EMBEDDED
362 363
363 if (ceItem != 0L) 364 if (ceItem != 0L)
364 uidList << ceItem->addressee().uid(); 365 uidList << ceItem->addressee().uid();
365 } 366 }
366 } 367 }
367 if ( uidList.count() == 0 ) 368 if ( uidList.count() == 0 )
368 if ( mListView->currentItem() ) { 369 if ( mListView->currentItem() ) {
369 ceItem = (ContactListViewItem*)(mListView->currentItem()) ; 370 ceItem = (ContactListViewItem*)(mListView->currentItem()) ;
370 uidList << ceItem->addressee().uid(); 371 uidList << ceItem->addressee().uid();
371 } 372 }
diff --git a/korganizer/koeditorgeneralevent.cpp b/korganizer/koeditorgeneralevent.cpp
index 30b792b..adc733b 100644
--- a/korganizer/koeditorgeneralevent.cpp
+++ b/korganizer/koeditorgeneralevent.cpp
@@ -1,313 +1,313 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 18
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24#include <qtooltip.h> 24#include <qtooltip.h>
25#include <qlayout.h> 25#include <qlayout.h>
26#include <qvbox.h> 26#include <qvbox.h>
27#include <qbuttongroup.h> 27#include <qbuttongroup.h>
28#include <qvgroupbox.h> 28#include <qvgroupbox.h>
29#include <qwidgetstack.h> 29#include <qwidgetstack.h>
30#include <qdatetime.h> 30#include <qdatetime.h>
31 31
32#include <kdebug.h> 32#include <kdebug.h>
33#include <kglobal.h> 33#include <kglobal.h>
34#include <klocale.h> 34#include <klocale.h>
35#include <kiconloader.h> 35#include <kiconloader.h>
36#include <kmessagebox.h> 36#include <kmessagebox.h>
37#include <kfiledialog.h> 37#include <kfiledialog.h>
38#include <kstandarddirs.h> 38#include <kstandarddirs.h>
39 39
40#include <libkcal/event.h> 40#include <libkcal/event.h>
41 41
42#include <libkdepim/kdateedit.h> 42#include <libkdepim/kdateedit.h>
43 43
44#include "koprefs.h" 44#include "koprefs.h"
45 45
46#include "koeditorgeneralevent.h" 46#include "koeditorgeneralevent.h"
47#include "kolocationbox.h" 47#include "kolocationbox.h"
48 48
49KOEditorGeneralEvent::KOEditorGeneralEvent(QObject* parent, 49KOEditorGeneralEvent::KOEditorGeneralEvent(QObject* parent,
50 const char* name) : 50 const char* name) :
51 KOEditorGeneral( parent, name) 51 KOEditorGeneral( parent, name)
52{ 52{
53 mTemplate = false; 53 mTemplate = false;
54 connect(this,SIGNAL(dateTimesChanged(QDateTime,QDateTime)), 54 connect(this,SIGNAL(dateTimesChanged(QDateTime,QDateTime)),
55 SLOT(setDuration())); 55 SLOT(setDuration()));
56 connect(this,SIGNAL(dateTimesChanged(QDateTime,QDateTime)), 56 connect(this,SIGNAL(dateTimesChanged(QDateTime,QDateTime)),
57 SLOT(emitDateTimeStr())); 57 SLOT(emitDateTimeStr()));
58} 58}
59 59
60KOEditorGeneralEvent::~KOEditorGeneralEvent() 60KOEditorGeneralEvent::~KOEditorGeneralEvent()
61{ 61{
62} 62}
63 63
64void KOEditorGeneralEvent::finishSetup() 64void KOEditorGeneralEvent::finishSetup()
65{ 65{
66 66
67 //disabled 67 //disabled
68// QWidget::setTabOrder( mSummaryEdit, mLocationEdit ); 68// QWidget::setTabOrder( mSummaryEdit, mLocationEdit );
69// QWidget::setTabOrder( mLocationEdit, mStartDateEdit ); 69// QWidget::setTabOrder( mLocationEdit, mStartDateEdit );
70// QWidget::setTabOrder( mStartDateEdit, mStartTimeEdit ); 70// QWidget::setTabOrder( mStartDateEdit, mStartTimeEdit );
71// QWidget::setTabOrder( mStartTimeEdit, mEndDateEdit ); 71// QWidget::setTabOrder( mStartTimeEdit, mEndDateEdit );
72// QWidget::setTabOrder( mEndDateEdit, mEndTimeEdit ); 72// QWidget::setTabOrder( mEndDateEdit, mEndTimeEdit );
73// QWidget::setTabOrder( mEndTimeEdit, mNoTimeButton ); 73// QWidget::setTabOrder( mEndTimeEdit, mNoTimeButton );
74// QWidget::setTabOrder( mNoTimeButton, mAlarmButton ); 74// QWidget::setTabOrder( mNoTimeButton, mAlarmButton );
75// QWidget::setTabOrder( mAlarmButton, mAlarmTimeEdit ); 75// QWidget::setTabOrder( mAlarmButton, mAlarmTimeEdit );
76// QWidget::setTabOrder( mFreeTimeCombo, mCategoriesButton ); 76// QWidget::setTabOrder( mFreeTimeCombo, mCategoriesButton );
77// QWidget::setTabOrder( mCategoriesButton, mSecrecyCombo ); 77// QWidget::setTabOrder( mCategoriesButton, mSecrecyCombo );
78// QWidget::setTabOrder( mSecrecyCombo, mDescriptionEdit ); 78// QWidget::setTabOrder( mSecrecyCombo, mDescriptionEdit );
79 79
80 80
81 81
82 mSummaryEdit->load(KOLocationBox::SUMMARYEVENT); 82 mSummaryEdit->load(KOLocationBox::SUMMARYEVENT);
83 mSummaryEdit->setFocus(); 83 mSummaryEdit->setFocus();
84} 84}
85 85
86void KOEditorGeneralEvent::initTime(QWidget *parent,QBoxLayout *topLayout) 86void KOEditorGeneralEvent::initTime(QWidget *parent,QBoxLayout *topLayout)
87{ 87{
88 QBoxLayout *timeLayout = new QVBoxLayout(topLayout); 88 QBoxLayout *timeLayout = new QVBoxLayout(topLayout);
89 89
90 QGroupBox *timeGroupBox = new QGroupBox(1,QGroupBox::Horizontal, 90 QGroupBox *timeGroupBox = new QGroupBox(1,QGroupBox::Horizontal,
91 i18n("Date && Time"),parent); 91 i18n("Date && Time"),parent);
92 timeLayout->addWidget(timeGroupBox); 92 timeLayout->addWidget(timeGroupBox);
93 93
94 timeGroupBox->layout()->setSpacing( 0 ); 94 timeGroupBox->layout()->setSpacing( 0 );
95 timeGroupBox->layout()->setMargin( 5 ); 95 timeGroupBox->layout()->setMargin( 5 );
96 QFrame *timeBoxFrame = new QFrame(timeGroupBox); 96 QFrame *timeBoxFrame = new QFrame(timeGroupBox);
97 97
98 QGridLayout *layoutTimeBox = new QGridLayout(timeBoxFrame,2,3); 98 QGridLayout *layoutTimeBox = new QGridLayout(timeBoxFrame,2,3);
99 layoutTimeBox->setSpacing(topLayout->spacing()); 99 layoutTimeBox->setSpacing(topLayout->spacing());
100 100
101 mStartDateLabel = new QLabel(i18n("Start:"),timeBoxFrame); 101 mStartDateLabel = new QLabel(i18n("Start:"),timeBoxFrame);
102 layoutTimeBox->addWidget(mStartDateLabel,0,0); 102 layoutTimeBox->addWidget(mStartDateLabel,0,0);
103 103
104 mStartDateEdit = new KDateEdit(timeBoxFrame); 104 mStartDateEdit = new KDateEdit(timeBoxFrame);
105 layoutTimeBox->addWidget(mStartDateEdit,0,1); 105 layoutTimeBox->addWidget(mStartDateEdit,0,1);
106 106
107 mStartTimeEdit = new KOTimeEdit(timeBoxFrame); 107 mStartTimeEdit = new KOTimeEdit(timeBoxFrame);
108 layoutTimeBox->addWidget(mStartTimeEdit,0,2); 108 layoutTimeBox->addWidget(mStartTimeEdit,0,2);
109 109
110 110
111 mEndDateLabel = new QLabel(i18n("End:"),timeBoxFrame); 111 mEndDateLabel = new QLabel(i18n("End:"),timeBoxFrame);
112 layoutTimeBox->addWidget(mEndDateLabel,1,0); 112 layoutTimeBox->addWidget(mEndDateLabel,1,0);
113 113
114 mEndDateEdit = new KDateEdit(timeBoxFrame); 114 mEndDateEdit = new KDateEdit(timeBoxFrame);
115 layoutTimeBox->addWidget(mEndDateEdit,1,1); 115 layoutTimeBox->addWidget(mEndDateEdit,1,1);
116 116
117 mEndTimeEdit = new KOTimeEdit(timeBoxFrame); 117 mEndTimeEdit = new KOTimeEdit(timeBoxFrame);
118 layoutTimeBox->addWidget(mEndTimeEdit,1,2); 118 layoutTimeBox->addWidget(mEndTimeEdit,1,2);
119 QWidget* duration = new QWidget( timeBoxFrame ); 119 QWidget* duration = new QWidget( timeBoxFrame );
120 QHBoxLayout *flagsBox = new QHBoxLayout( duration ); 120 QHBoxLayout *flagsBox = new QHBoxLayout( duration );
121 mNoTimeButton = new QCheckBox(i18n("Allday"),duration); 121 mNoTimeButton = new QCheckBox(i18n("All day event"),duration);
122 flagsBox->addWidget(mNoTimeButton); 122 flagsBox->addWidget(mNoTimeButton);
123 connect(mNoTimeButton, SIGNAL(toggled(bool)),SLOT(dontAssociateTime(bool))); 123 connect(mNoTimeButton, SIGNAL(toggled(bool)),SLOT(dontAssociateTime(bool)));
124 mDurationLabel = new QLabel( duration ); 124 mDurationLabel = new QLabel( duration );
125 // if ( KOPrefs::instance()->mCompactDialogs ) { 125 // if ( KOPrefs::instance()->mCompactDialogs ) {
126 //layoutTimeBox->addMultiCellWidget( mDurationLabel, 3, 3, 0, 3 ); 126 //layoutTimeBox->addMultiCellWidget( mDurationLabel, 3, 3, 0, 3 );
127 //} else { 127 //} else {
128 flagsBox->addWidget( mDurationLabel ); 128 flagsBox->addWidget( mDurationLabel );
129 //} 129 //}
130 flagsBox->setStretchFactor(mDurationLabel, 10 ); 130 flagsBox->setStretchFactor(mDurationLabel, 10 );
131 mDurationLabel->setAlignment( AlignRight | AlignVCenter); 131 mDurationLabel->setAlignment( AlignRight | AlignVCenter);
132 layoutTimeBox->addMultiCellWidget( duration, 2, 2, 0, 3 ); 132 layoutTimeBox->addMultiCellWidget( duration, 2, 2, 0, 3 );
133 133
134 // time widgets are checked if they contain a valid time 134 // time widgets are checked if they contain a valid time
135 connect(mStartTimeEdit, SIGNAL(timeChanged(QTime)), 135 connect(mStartTimeEdit, SIGNAL(timeChanged(QTime)),
136 this, SLOT(startTimeChanged(QTime))); 136 this, SLOT(startTimeChanged(QTime)));
137 connect(mEndTimeEdit, SIGNAL(timeChanged(QTime)), 137 connect(mEndTimeEdit, SIGNAL(timeChanged(QTime)),
138 this, SLOT(endTimeChanged(QTime))); 138 this, SLOT(endTimeChanged(QTime)));
139 139
140 // date widgets are checked if they contain a valid date 140 // date widgets are checked if they contain a valid date
141 connect(mStartDateEdit, SIGNAL(dateChanged(QDate)), 141 connect(mStartDateEdit, SIGNAL(dateChanged(QDate)),
142 this, SLOT(startDateChanged(QDate))); 142 this, SLOT(startDateChanged(QDate)));
143 connect(mEndDateEdit, SIGNAL(dateChanged(QDate)), 143 connect(mEndDateEdit, SIGNAL(dateChanged(QDate)),
144 this, SLOT(endDateChanged(QDate))); 144 this, SLOT(endDateChanged(QDate)));
145} 145}
146 146
147void KOEditorGeneralEvent::initClass(QWidget *parent,QBoxLayout *topLayout) 147void KOEditorGeneralEvent::initClass(QWidget *parent,QBoxLayout *topLayout)
148{ 148{
149 QBoxLayout *classLayout = new QHBoxLayout(topLayout); 149 QBoxLayout *classLayout = new QHBoxLayout(topLayout);
150 150
151 QLabel *freeTimeLabel = new QLabel(i18n("Show time as:"),parent); 151 QLabel *freeTimeLabel = new QLabel(i18n("Show time as:"),parent);
152 classLayout->addWidget(freeTimeLabel); 152 classLayout->addWidget(freeTimeLabel);
153 153
154 mFreeTimeCombo = new QComboBox(false, parent); 154 mFreeTimeCombo = new QComboBox(false, parent);
155 mFreeTimeCombo->insertItem(i18n("Busy")); 155 mFreeTimeCombo->insertItem(i18n("Busy"));
156 mFreeTimeCombo->insertItem(i18n("Free")); 156 mFreeTimeCombo->insertItem(i18n("Free"));
157 classLayout->addWidget(mFreeTimeCombo); 157 classLayout->addWidget(mFreeTimeCombo);
158} 158}
159 159
160void KOEditorGeneralEvent::timeStuffDisable(bool disable) 160void KOEditorGeneralEvent::timeStuffDisable(bool disable)
161{ 161{
162 mStartTimeEdit->setEnabled( !disable ); 162 mStartTimeEdit->setEnabled( !disable );
163 mEndTimeEdit->setEnabled( !disable ); 163 mEndTimeEdit->setEnabled( !disable );
164 164
165 setDuration(); 165 setDuration();
166 emitDateTimeStr(); 166 emitDateTimeStr();
167} 167}
168 168
169void KOEditorGeneralEvent::dontAssociateTime(bool noTime) 169void KOEditorGeneralEvent::dontAssociateTime(bool noTime)
170{ 170{
171 timeStuffDisable(noTime); 171 timeStuffDisable(noTime);
172 //if(alarmButton->isChecked()) alarmStuffDisable(noTime); 172 //if(alarmButton->isChecked()) alarmStuffDisable(noTime);
173 allDayChanged(noTime); 173 allDayChanged(noTime);
174} 174}
175 175
176void KOEditorGeneralEvent::setDateTimes(QDateTime start, QDateTime end) 176void KOEditorGeneralEvent::setDateTimes(QDateTime start, QDateTime end)
177{ 177{
178// kdDebug() << "KOEditorGeneralEvent::setDateTimes(): Start DateTime: " << start.toString() << endl; 178// kdDebug() << "KOEditorGeneralEvent::setDateTimes(): Start DateTime: " << start.toString() << endl;
179 if ( !mTemplate ) 179 if ( !mTemplate )
180 mStartDateEdit->setDate(start.date()); 180 mStartDateEdit->setDate(start.date());
181 // KTimeEdit seems to emit some signals when setTime() is called. 181 // KTimeEdit seems to emit some signals when setTime() is called.
182 mStartTimeEdit->blockSignals( true ); 182 mStartTimeEdit->blockSignals( true );
183 mStartTimeEdit->setTime(start.time()); 183 mStartTimeEdit->setTime(start.time());
184 mStartTimeEdit->blockSignals( false ); 184 mStartTimeEdit->blockSignals( false );
185 if ( !mTemplate ) 185 if ( !mTemplate )
186 mEndDateEdit->setDate(end.date()); 186 mEndDateEdit->setDate(end.date());
187 mEndTimeEdit->setTime(end.time()); 187 mEndTimeEdit->setTime(end.time());
188 188
189 mCurrStartDateTime = start; 189 mCurrStartDateTime = start;
190 mCurrEndDateTime = end; 190 mCurrEndDateTime = end;
191 191
192 setDuration(); 192 setDuration();
193 emitDateTimeStr(); 193 emitDateTimeStr();
194} 194}
195 195
196void KOEditorGeneralEvent::startTimeChanged(QTime newtime) 196void KOEditorGeneralEvent::startTimeChanged(QTime newtime)
197{ 197{
198 kdDebug() << "KOEditorGeneralEvent::startTimeChanged() " << newtime.toString() << endl; 198 kdDebug() << "KOEditorGeneralEvent::startTimeChanged() " << newtime.toString() << endl;
199 199
200 int secsep = mCurrStartDateTime.secsTo(mCurrEndDateTime); 200 int secsep = mCurrStartDateTime.secsTo(mCurrEndDateTime);
201 201
202 mCurrStartDateTime.setTime(newtime); 202 mCurrStartDateTime.setTime(newtime);
203 203
204 // adjust end time so that the event has the same duration as before. 204 // adjust end time so that the event has the same duration as before.
205 mCurrEndDateTime = mCurrStartDateTime.addSecs(secsep); 205 mCurrEndDateTime = mCurrStartDateTime.addSecs(secsep);
206 mEndTimeEdit->setTime(mCurrEndDateTime.time()); 206 mEndTimeEdit->setTime(mCurrEndDateTime.time());
207 mEndDateEdit->setDate(mCurrEndDateTime.date()); 207 mEndDateEdit->setDate(mCurrEndDateTime.date());
208 208
209 emit dateTimesChanged(mCurrStartDateTime,mCurrEndDateTime); 209 emit dateTimesChanged(mCurrStartDateTime,mCurrEndDateTime);
210} 210}
211 211
212void KOEditorGeneralEvent::endTimeChanged(QTime newtime) 212void KOEditorGeneralEvent::endTimeChanged(QTime newtime)
213{ 213{
214// kdDebug() << "KOEditorGeneralEvent::endTimeChanged " << newtime.toString() << endl; 214// kdDebug() << "KOEditorGeneralEvent::endTimeChanged " << newtime.toString() << endl;
215 215
216 QDateTime newdt(mCurrEndDateTime.date(), newtime); 216 QDateTime newdt(mCurrEndDateTime.date(), newtime);
217 mCurrEndDateTime = newdt; 217 mCurrEndDateTime = newdt;
218 218
219 emit dateTimesChanged(mCurrStartDateTime,mCurrEndDateTime); 219 emit dateTimesChanged(mCurrStartDateTime,mCurrEndDateTime);
220} 220}
221 221
222void KOEditorGeneralEvent::startDateChanged(QDate newdate) 222void KOEditorGeneralEvent::startDateChanged(QDate newdate)
223{ 223{
224 int daysep = mCurrStartDateTime.daysTo(mCurrEndDateTime); 224 int daysep = mCurrStartDateTime.daysTo(mCurrEndDateTime);
225 225
226 mCurrStartDateTime.setDate(newdate); 226 mCurrStartDateTime.setDate(newdate);
227 227
228 // adjust end date so that the event has the same duration as before 228 // adjust end date so that the event has the same duration as before
229 mCurrEndDateTime.setDate(mCurrStartDateTime.date().addDays(daysep)); 229 mCurrEndDateTime.setDate(mCurrStartDateTime.date().addDays(daysep));
230 mEndDateEdit->setDate(mCurrEndDateTime.date()); 230 mEndDateEdit->setDate(mCurrEndDateTime.date());
231 231
232 emit dateTimesChanged(mCurrStartDateTime,mCurrEndDateTime); 232 emit dateTimesChanged(mCurrStartDateTime,mCurrEndDateTime);
233} 233}
234 234
235void KOEditorGeneralEvent::endDateChanged(QDate newdate) 235void KOEditorGeneralEvent::endDateChanged(QDate newdate)
236{ 236{
237 QDateTime newdt(newdate, mCurrEndDateTime.time()); 237 QDateTime newdt(newdate, mCurrEndDateTime.time());
238 238
239 if(newdt < mCurrStartDateTime) { 239 if(newdt < mCurrStartDateTime) {
240 // oops, we can't let that happen. 240 // oops, we can't let that happen.
241 newdt = mCurrStartDateTime; 241 newdt = mCurrStartDateTime;
242 mEndDateEdit->setDate(newdt.date()); 242 mEndDateEdit->setDate(newdt.date());
243 mEndTimeEdit->setTime(newdt.time()); 243 mEndTimeEdit->setTime(newdt.time());
244 } 244 }
245 mCurrEndDateTime = newdt; 245 mCurrEndDateTime = newdt;
246 246
247 emit dateTimesChanged(mCurrStartDateTime,mCurrEndDateTime); 247 emit dateTimesChanged(mCurrStartDateTime,mCurrEndDateTime);
248} 248}
249 249
250void KOEditorGeneralEvent::setDefaults(QDateTime from,QDateTime to,bool allDay) 250void KOEditorGeneralEvent::setDefaults(QDateTime from,QDateTime to,bool allDay)
251{ 251{
252 mSummaryEdit->load(KOLocationBox::SUMMARYEVENT); 252 mSummaryEdit->load(KOLocationBox::SUMMARYEVENT);
253 mLocationEdit->load(KOLocationBox::LOCATION); 253 mLocationEdit->load(KOLocationBox::LOCATION);
254 KOEditorGeneral::setDefaults(allDay); 254 KOEditorGeneral::setDefaults(allDay);
255 255
256 mNoTimeButton->setChecked(allDay); 256 mNoTimeButton->setChecked(allDay);
257 timeStuffDisable(allDay); 257 timeStuffDisable(allDay);
258 mFreeTimeCombo->setCurrentItem( 0 ); 258 mFreeTimeCombo->setCurrentItem( 0 );
259 setDateTimes(from,to); 259 setDateTimes(from,to);
260} 260}
261 261
262void KOEditorGeneralEvent::readEvent( Event *event, bool tmpl ) 262void KOEditorGeneralEvent::readEvent( Event *event, bool tmpl )
263{ 263{
264 QString tmpStr; 264 QString tmpStr;
265 265
266 mTemplate = tmpl; 266 mTemplate = tmpl;
267 // the rest is for the events only 267 // the rest is for the events only
268 mNoTimeButton->setChecked(event->doesFloat()); 268 mNoTimeButton->setChecked(event->doesFloat());
269 timeStuffDisable(event->doesFloat()); 269 timeStuffDisable(event->doesFloat());
270 270
271 setDateTimes(event->dtStart(),event->dtEnd()); 271 setDateTimes(event->dtStart(),event->dtEnd());
272 272
273 mTemplate = false; 273 mTemplate = false;
274 switch( event->transparency() ) { 274 switch( event->transparency() ) {
275 case Event::Transparent: 275 case Event::Transparent:
276 mFreeTimeCombo->setCurrentItem(1); 276 mFreeTimeCombo->setCurrentItem(1);
277 break; 277 break;
278 case Event::Opaque: 278 case Event::Opaque:
279 mFreeTimeCombo->setCurrentItem(0); 279 mFreeTimeCombo->setCurrentItem(0);
280 break; 280 break;
281 } 281 }
282 282
283 mSummaryEdit->load(KOLocationBox::SUMMARYEVENT); 283 mSummaryEdit->load(KOLocationBox::SUMMARYEVENT);
284 mLocationEdit->load(KOLocationBox::LOCATION); 284 mLocationEdit->load(KOLocationBox::LOCATION);
285 readIncidence(event); 285 readIncidence(event);
286} 286}
287 287
288void KOEditorGeneralEvent::writeEvent(Event *event) 288void KOEditorGeneralEvent::writeEvent(Event *event)
289{ 289{
290// kdDebug() << "KOEditorGeneralEvent::writeEvent()" << endl; 290// kdDebug() << "KOEditorGeneralEvent::writeEvent()" << endl;
291 291
292 writeIncidence(event); 292 writeIncidence(event);
293 293
294 QDate tmpDate; 294 QDate tmpDate;
295 QTime tmpTime; 295 QTime tmpTime;
296 QDateTime tmpDT; 296 QDateTime tmpDT;
297 297
298 // temp. until something better happens. 298 // temp. until something better happens.
299 QString tmpStr; 299 QString tmpStr;
300 300
301 if (mNoTimeButton->isChecked()) { 301 if (mNoTimeButton->isChecked()) {
302 event->setFloats(true); 302 event->setFloats(true);
303 // need to change this. 303 // need to change this.
304 tmpDate = mStartDateEdit->date(); 304 tmpDate = mStartDateEdit->date();
305 tmpTime.setHMS(0,0,0); 305 tmpTime.setHMS(0,0,0);
306 tmpDT.setDate(tmpDate); 306 tmpDT.setDate(tmpDate);
307 tmpDT.setTime(tmpTime); 307 tmpDT.setTime(tmpTime);
308 event->setDtStart(tmpDT); 308 event->setDtStart(tmpDT);
309 309
310 tmpDate = mEndDateEdit->date(); 310 tmpDate = mEndDateEdit->date();
311 tmpTime.setHMS(0,0,0); 311 tmpTime.setHMS(0,0,0);
312 tmpDT.setDate(tmpDate); 312 tmpDT.setDate(tmpDate);
313 tmpDT.setTime(tmpTime); 313 tmpDT.setTime(tmpTime);