summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--bin/kdepim/WhatsNew.txt10
-rw-r--r--bin/kdepim/korganizer/germantranslation.txt2
-rw-r--r--bin/kdepim/korganizer/icons16/workweek2.pngbin579 -> 609 bytes
-rw-r--r--bin/kdepim/korganizer/workweek2.pngbin907 -> 929 bytes
-rw-r--r--korganizer/koprefs.cpp1
-rw-r--r--korganizer/koprefs.h1
-rw-r--r--korganizer/mainwindow.cpp26
-rw-r--r--korganizer/searchdialog.cpp72
-rw-r--r--korganizer/searchdialog.h7
9 files changed, 69 insertions, 50 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt
index 7c81b3a..d3a8bc1 100644
--- a/bin/kdepim/WhatsNew.txt
+++ b/bin/kdepim/WhatsNew.txt
@@ -1,386 +1,396 @@
1Info about the changes in new versions of KDE-Pim/Pi 1Info about the changes in new versions of KDE-Pim/Pi
2 2
3********** VERSION 2.0.10 ************
4
5KO/Pi:
6In the desktop versions the context menu in the search dialog was broken after introducing the What'sThis info for the list view.
7This is fixed.
8Changed the search dialog a bit to make it more user friendly.
9(E.g.: Removed message box about "no items found" and set key focus to search line edit after search).
10
11Added config option to hide the week number in KO/Pi toolbar.
12
3********** VERSION 2.0.9 ************ 13********** VERSION 2.0.9 ************
4 14
5Made month view icons for multiday events a bit nicer. 15Made month view icons for multiday events a bit nicer.
6Some minor fixes in KO/Pi 16Some minor fixes in KO/Pi
7(e.g. go to today did not work for new week view properly). 17(e.g. go to today did not work for new week view properly).
8 18
9 19
10********** VERSION 2.0.8 ************ 20********** VERSION 2.0.8 ************
11 21
12Fixed a problem in dependency info in the ipk files for the Zaurus. 22Fixed a problem in dependency info in the ipk files for the Zaurus.
13 23
14Added icon for the stealth new week view and made navigation more user friendly in monthview by adding a prev/next week button to the navigator bar. 24Added icon for the stealth new week view and made navigation more user friendly in monthview by adding a prev/next week button to the navigator bar.
15 25
16Added a "go today" button to the datepicker. 26Added a "go today" button to the datepicker.
17 27
18Added "created" and "last modified" to event/todo viewer (and What'sThis viewer) 28Added "created" and "last modified" to event/todo viewer (and What'sThis viewer)
19and made it configureable to show these values. 29and made it configureable to show these values.
20 30
21Fixed a problem for events (from external iCal files) that do have a duration but no end date. 31Fixed a problem for events (from external iCal files) that do have a duration but no end date.
22 32
23 33
24********** VERSION 2.0.7 ************ 34********** VERSION 2.0.7 ************
25 35
26Added global application font settings 36Added global application font settings
27(for all KDE-Pim/Pi apps) to the general settings. 37(for all KDE-Pim/Pi apps) to the general settings.
28 38
29Fixed a problem in OM/Pi when trying to login to some IMAP servers 39Fixed a problem in OM/Pi when trying to login to some IMAP servers
30(like the IMAP server of Apple: mail.mac.com ) 40(like the IMAP server of Apple: mail.mac.com )
31 41
32Added recurring todos to KO/Pi. 42Added recurring todos to KO/Pi.
33 43
34 44
35********** VERSION 2.0.6 ************ 45********** VERSION 2.0.6 ************
36 46
37Some bugfixes in the pi-sync mode. 47Some bugfixes in the pi-sync mode.
38Added German translation for pi-sync mode. 48Added German translation for pi-sync mode.
39 49
40KO/Pi: 50KO/Pi:
41Made the todolist using alternate background. 51Made the todolist using alternate background.
42 52
43Other minor fixes in KO/Pi. 53Other minor fixes in KO/Pi.
44 54
45 55
46********** VERSION 2.0.5 ************ 56********** VERSION 2.0.5 ************
47 57
48Bugfixes in KO/Pi. 58Bugfixes in KO/Pi.
49 59
50********** VERSION 2.0.4 ************ 60********** VERSION 2.0.4 ************
51 61
52KO/Pi: 62KO/Pi:
53Fixed problem loading translations for summary/location edit boxes in event/todo editor. 63Fixed problem loading translations for summary/location edit boxes in event/todo editor.
54 64
55Added a general "select week number" to the toolbar. 65Added a general "select week number" to the toolbar.
56 66
57Fixed some small problem of the new features introduced in version 2.0.3. 67Fixed some small problem of the new features introduced in version 2.0.3.
58 68
59Made it possible to specify one specific category as category color, 69Made it possible to specify one specific category as category color,
60if more than one categories are selected. 70if more than one categories are selected.
61 71
62Fixed a bug in saving colors for categories with non-ascii characters. 72Fixed a bug in saving colors for categories with non-ascii characters.
63(Like, e.g. German Umlauts). 73(Like, e.g. German Umlauts).
64Propably you have to set your colors again for those categories. 74Propably you have to set your colors again for those categories.
65 75
66 76
67********** VERSION 2.0.3 ************ 77********** VERSION 2.0.3 ************
68 78
69KO/Pi: 79KO/Pi:
70Added feature for changing alarm settings for many items at once: 80Added feature for changing alarm settings for many items at once:
71Open list view (or search dialog), select the desired items and choose in 81Open list view (or search dialog), select the desired items and choose in
72the popup menu: Set alarm for selected... 82the popup menu: Set alarm for selected...
73 83
74Added to the event/todo viewer the option to send an email to 84Added to the event/todo viewer the option to send an email to
75all attendees or all selected (with RSVP) attendees. 85all attendees or all selected (with RSVP) attendees.
76 86
77Made the week-month mode changing in month view faster. 87Made the week-month mode changing in month view faster.
78 88
79Made month view better useable with keyboard. 89Made month view better useable with keyboard.
80Now TAB key jumps to next cell with an event/todo. 90Now TAB key jumps to next cell with an event/todo.
81Scroll in cell with coursor keys, scroll in time (next week) with 91Scroll in cell with coursor keys, scroll in time (next week) with
82Shift/Control + coursorkeys. 92Shift/Control + coursorkeys.
83 93
84Fixed bug that the todo view flat mode was reset after first view update. 94Fixed bug that the todo view flat mode was reset after first view update.
85 95
86If a todo is displayed closed in the todo view, 96If a todo is displayed closed in the todo view,
87it is now displayed in overdue/due today color depending on the subtodos overdue/due today properties. 97it is now displayed in overdue/due today color depending on the subtodos overdue/due today properties.
88 98
89Added info about the numbers of years to the caption (title) information about a birthday event. 99Added info about the numbers of years to the caption (title) information about a birthday event.
90 100
91Made completion date in todo editor editable. 101Made completion date in todo editor editable.
92 102
93Added possibility to save/load templates for journals. 103Added possibility to save/load templates for journals.
94(Which is just a simple "save text to file" or "insert text from file". 104(Which is just a simple "save text to file" or "insert text from file".
95 105
96********** VERSION 2.0.2 ************ 106********** VERSION 2.0.2 ************
97 107
98KO/Pi: 108KO/Pi:
99Fixed the layout problem of the day label buttons 109Fixed the layout problem of the day label buttons
100of the agenda view introduced in version 2.0.1. 110of the agenda view introduced in version 2.0.1.
101 111
102Added WhatsThis support for the todo view and the list view. 112Added WhatsThis support for the todo view and the list view.
103 113
104Added a quite useful feature to the montview. 114Added a quite useful feature to the montview.
105Just click on the week numbers on the left. 115Just click on the week numbers on the left.
106And in the top right corner of month view/agenda view 116And in the top right corner of month view/agenda view
107there is now a "week number quick selector". 117there is now a "week number quick selector".
108(Click on the black triangle). 118(Click on the black triangle).
109 119
110Made the quite difficult timezone change in KO/Pi easy. 120Made the quite difficult timezone change in KO/Pi easy.
111 121
112OM/Pi: 122OM/Pi:
113Fixed too small icons on desktop. 123Fixed too small icons on desktop.
114Fixed non visible icons in mainwindow on Z with fastload enabled. 124Fixed non visible icons in mainwindow on Z with fastload enabled.
115Added signature file setting to smtp account config. 125Added signature file setting to smtp account config.
116And the signature can be edited and saved in the edit mail dialog. 126And the signature can be edited and saved in the edit mail dialog.
117That does mean: 127That does mean:
118Simply edit the signature for the selected smtp account in the 128Simply edit the signature for the selected smtp account in the
119edit new mail dialog and press the "save signature" button there. 129edit new mail dialog and press the "save signature" button there.
120Then the signature is saved to the file specified in the smtp account settings. 130Then the signature is saved to the file specified in the smtp account settings.
121If there is no file specified, it is saved automatically to the file 131If there is no file specified, it is saved automatically to the file
122kdepim/apps/kopiemail/<accountname>.sig. 132kdepim/apps/kopiemail/<accountname>.sig.
123 133
124 134
125 135
126********** VERSION 2.0.1 ************ 136********** VERSION 2.0.1 ************
127 137
128Oooops ... I forgot to test on the Zaurus 5500 ... 138Oooops ... I forgot to test on the Zaurus 5500 ...
129 139
130Fixed many problems of new (english) strings (and german translations) 140Fixed many problems of new (english) strings (and german translations)
131introduced in the latest versions, where the text was not fitting on the 141introduced in the latest versions, where the text was not fitting on the
132240x320 display of the Zaurus 5500. 142240x320 display of the Zaurus 5500.
133 143
134KO/Pi: 144KO/Pi:
135Added a popup menu ( press pen and hold to get popup ) to the agenda view 145Added a popup menu ( press pen and hold to get popup ) to the agenda view
136with many useful items (add event/todo, show next week, two weeks, month, journal). 146with many useful items (add event/todo, show next week, two weeks, month, journal).
137 147
138Added items to the todolist popup menu for: 148Added items to the todolist popup menu for:
139Display all opened, all closed or all todos flat. 149Display all opened, all closed or all todos flat.
140The "flat" view makes is possible to sort all todos after ,e.g., prio or date. 150The "flat" view makes is possible to sort all todos after ,e.g., prio or date.
141Made the reparenting of todos on the desktop possible via Drag&Drop. 151Made the reparenting of todos on the desktop possible via Drag&Drop.
142Fixed several bugs in setting the completed datetime for todos. 152Fixed several bugs in setting the completed datetime for todos.
143Added info about completed datetime of todos to the todo viewer. 153Added info about completed datetime of todos to the todo viewer.
144Now displaying a completed todo (with completed datetime set) in the agenda view 154Now displaying a completed todo (with completed datetime set) in the agenda view
145at the time of the completion. Such that now it is possible to see in the agenda view 155at the time of the completion. Such that now it is possible to see in the agenda view
146when what todo was completed. 156when what todo was completed.
147Fixed behaviour of automatic setting completion of todos with sub-todos/parent todos. 157Fixed behaviour of automatic setting completion of todos with sub-todos/parent todos.
148Now the behaviour is: 158Now the behaviour is:
149Setting a parent to complete sets all (sub)childs to complete. 159Setting a parent to complete sets all (sub)childs to complete.
150Setting a parent to uncomplete does not change the childs. 160Setting a parent to uncomplete does not change the childs.
151Setting a child to uncomplete sets all parent to uncomplete. 161Setting a child to uncomplete sets all parent to uncomplete.
152Setting a child to complete does not change the parents. 162Setting a child to complete does not change the parents.
153 163
154Smart updating and double buffering of the daymatrix. 164Smart updating and double buffering of the daymatrix.
155Showing holidays in the day matrix. 165Showing holidays in the day matrix.
156Many other small performance updates. 166Many other small performance updates.
157 167
158Made day labels in agenda clickable. By clicking a label, the day is displayed in single day mode. 168Made day labels in agenda clickable. By clicking a label, the day is displayed in single day mode.
159 169
160Now the translation file usertranslation.txt is supposed to be in utf8 format. 170Now the translation file usertranslation.txt is supposed to be in utf8 format.
161If you want to translate a language from western europe, just change the germantranslation.txt file. Please read the updated Usertranslation HowTo in KO/Pi Help menu. 171If you want to translate a language from western europe, just change the germantranslation.txt file. Please read the updated Usertranslation HowTo in KO/Pi Help menu.
162 172
163 173
164********** VERSION 2.0.0 ************ 174********** VERSION 2.0.0 ************
165 175
166Stable release 2.0.0! 176Stable release 2.0.0!
167 177
168KO/Pi: 178KO/Pi:
169Fixed problem in edit dialog recreation at startup. 179Fixed problem in edit dialog recreation at startup.
170Made "toggle view*" menu items enabled context sensitive. 180Made "toggle view*" menu items enabled context sensitive.
171Changed agenda size menu to items 1-10. 181Changed agenda size menu to items 1-10.
172Made it possible to change agenda size quickly by pressing mouse on timelabels in agenda view and move mouse up/down. 182Made it possible to change agenda size quickly by pressing mouse on timelabels in agenda view and move mouse up/down.
173Usebility enhancements in the KO/Pi menus. 183Usebility enhancements in the KO/Pi menus.
174Birthday import now adds year to summary. 184Birthday import now adds year to summary.
175What's Next view shows age in years for birthday. 185What's Next view shows age in years for birthday.
176 186
177OM/Pi: 187OM/Pi:
178Added three info lines to display subject, from and to of selected mails. 188Added three info lines to display subject, from and to of selected mails.
179 189
180KA/Pi: 190KA/Pi:
181Fixed jump bar behaviour on Zaurus. 191Fixed jump bar behaviour on Zaurus.
182Now KA/Pi search field supports searching for a range of starting characters. 192Now KA/Pi search field supports searching for a range of starting characters.
183E.g. to search for all contact beginning with b to n, type 193E.g. to search for all contact beginning with b to n, type
184b-n 194b-n
185in the search field. 195in the search field.
186 196
187********** VERSION 1.9.20 ************ 197********** VERSION 1.9.20 ************
188 198
189KO/Pi: 199KO/Pi:
190Added for the "dislplay one day" agenda mode 200Added for the "dislplay one day" agenda mode
191info in the caption and in the day lables: 201info in the caption and in the day lables:
192Now it is displayed, if the selected day is from "day before yesterday" 202Now it is displayed, if the selected day is from "day before yesterday"
193to "day after tomorrow". 203to "day after tomorrow".
194Made it possible to delete a Todo, which has sub-todos. 204Made it possible to delete a Todo, which has sub-todos.
195Fixed two small problems in the todo view. 205Fixed two small problems in the todo view.
196Added missing German translation for filter edit and print dialog. 206Added missing German translation for filter edit and print dialog.
197Made search dialog closeable by cancel key. 207Made search dialog closeable by cancel key.
198 208
199Made it possible to select in the date picker the (ligt grey ) 209Made it possible to select in the date picker the (ligt grey )
200dates of the prev./next month with the mouse. 210dates of the prev./next month with the mouse.
201 211
202OM/Pi: 212OM/Pi:
203"Delete mail" icon in main window now deletes all selected mails. 213"Delete mail" icon in main window now deletes all selected mails.
204Fixed the problem, that the state flag of imap mails was ignored. 214Fixed the problem, that the state flag of imap mails was ignored.
205Now mails with "FLAG_SEEN" on the imap server get no icon in the list view 215Now mails with "FLAG_SEEN" on the imap server get no icon in the list view
206to indecate that they are already seen. 216to indecate that they are already seen.
207Fixed the problem that the body of some mails was not displayed in the 217Fixed the problem that the body of some mails was not displayed in the
208mail viewer when fetching them from the imap server directly to read them. 218mail viewer when fetching them from the imap server directly to read them.
209Made it (configurable) possible to show the "To:" field in the list view. 219Made it (configurable) possible to show the "To:" field in the list view.
210Added to the mail viewer the option "View Source" to make it possible to see the raw mail data. 220Added to the mail viewer the option "View Source" to make it possible to see the raw mail data.
211Added a "Download Mail" button to the mail viewer to quickly download the viewed mail to the 221Added a "Download Mail" button to the mail viewer to quickly download the viewed mail to the
212local storage folder (specified in account settings) of the account of the mail. 222local storage folder (specified in account settings) of the account of the mail.
213Removed some memory leaks in OM/Pi. 223Removed some memory leaks in OM/Pi.
214 224
215 225
216********** VERSION 1.9.19 ************ 226********** VERSION 1.9.19 ************
217 227
218Added a lot of missing translations to KA/Pi, 228Added a lot of missing translations to KA/Pi,
219Added some missing translations to KO/Pi and OM/Pi. 229Added some missing translations to KO/Pi and OM/Pi.
220 230
221Fixed some minor problems in KA/Pi + KO/Pi. 231Fixed some minor problems in KA/Pi + KO/Pi.
222 232
223Fixed a crash when closing PwM/Pi. 233Fixed a crash when closing PwM/Pi.
224Added German translation for PwM/Pi. 234Added German translation for PwM/Pi.
225 235
226Made view change and Month View update faster in KO/Pi. 236Made view change and Month View update faster in KO/Pi.
227 237
228 238
229********** VERSION 1.9.18 ************ 239********** VERSION 1.9.18 ************
230 240
231FYI: The VERSION 1.9.17 was a testing release only. 241FYI: The VERSION 1.9.17 was a testing release only.
232Please read the changelog of VERSION 1.9.17 as well. 242Please read the changelog of VERSION 1.9.17 as well.
233 243
234Cleaned up the syncing config dialog. 244Cleaned up the syncing config dialog.
235Added sync config options for date range for events. 245Added sync config options for date range for events.
236Added sync config options for filters on incoming data. 246Added sync config options for filters on incoming data.
237Added sync config options for filters on outgoing data. 247Added sync config options for filters on outgoing data.
238Please read the updated SyncHowTo about the new filter settings. 248Please read the updated SyncHowTo about the new filter settings.
239These filter settings make it now possible to sync with shared 249These filter settings make it now possible to sync with shared
240calendars without writing back private or confidential data 250calendars without writing back private or confidential data
241(via the outgoing filters). 251(via the outgoing filters).
242To sync only with particular parts of a shared calendar, 252To sync only with particular parts of a shared calendar,
243the incoming filter settings can be used. 253the incoming filter settings can be used.
244An example can be found in the SyncHowTo. 254An example can be found in the SyncHowTo.
245Same for shared addressbooks. 255Same for shared addressbooks.
246 256
247Added a setting for the global kdepim data storage. 257Added a setting for the global kdepim data storage.
248Usually the data is stored in (yourhomedir/kdepim). 258Usually the data is stored in (yourhomedir/kdepim).
249Now you can set in the Global config dialog TAB, subTAB "Data storage path" 259Now you can set in the Global config dialog TAB, subTAB "Data storage path"
250a directory where all the kdepim data is stored. 260a directory where all the kdepim data is stored.
251That makes it easy to save all kdepim data on a SD card on the Z, for example. 261That makes it easy to save all kdepim data on a SD card on the Z, for example.
252 262
253KO/Pi: 263KO/Pi:
254The timeedit input has a pulldown list for times. 264The timeedit input has a pulldown list for times.
255If opened, this pulldown list should now has the right time highlighted. 265If opened, this pulldown list should now has the right time highlighted.
256Added the possibility to exclude events/todos/journals in a filter. 266Added the possibility to exclude events/todos/journals in a filter.
257You should exclude journals, if you do not want them to sync with a public calendar. 267You should exclude journals, if you do not want them to sync with a public calendar.
258 268
259KA/Pi: 269KA/Pi:
260Added the possibility to in/exclude public/private/confidential contacts to a filter. 270Added the possibility to in/exclude public/private/confidential contacts to a filter.
261If you have already defined filterrules in KA/Pi you have to adjust them all by setting the "include public/private/confidential" property manually. Sorry for that ... 271If you have already defined filterrules in KA/Pi you have to adjust them all by setting the "include public/private/confidential" property manually. Sorry for that ...
262Added printing of card view and details view on desktop. 272Added printing of card view and details view on desktop.
263Printing of list view is not working... 273Printing of list view is not working...
264Added button for removing pictures in contact editor. 274Added button for removing pictures in contact editor.
265Parsing data fix of KA/Pi version 1.9.17. 275Parsing data fix of KA/Pi version 1.9.17.
266Fixed the "parse name automatically" problem of KA/Pi version 1.9.17. 276Fixed the "parse name automatically" problem of KA/Pi version 1.9.17.
267Fixed some syncing merging problems. 277Fixed some syncing merging problems.
268 278
269 279
270********** VERSION 1.9.17 ************ 280********** VERSION 1.9.17 ************
271 281
272KO/Pi: 282KO/Pi:
273Fixed that tooltips were not updated after moving an item in agenda view. 283Fixed that tooltips were not updated after moving an item in agenda view.
274Fixed a bug in sorting start date for recurring events in list view. 284Fixed a bug in sorting start date for recurring events in list view.
275Changed the left button in todo viewer from "Agenda" to "Set completed". 285Changed the left button in todo viewer from "Agenda" to "Set completed".
276This makes it possible to change a todo in the What's Next View quickly to the completed state without leaving the What's Next View. 286This makes it possible to change a todo in the What's Next View quickly to the completed state without leaving the What's Next View.
277Added more info in the todo viewer: Startdate, parent/sub todos. 287Added more info in the todo viewer: Startdate, parent/sub todos.
278 288
279 289
280KA/Pi: 290KA/Pi:
281All fields search does now actually search all the (possible) fields, 291All fields search does now actually search all the (possible) fields,
282not only those listed in the contact list. 292not only those listed in the contact list.
283Made is possible to inline a picture in a vcard on the Z. 293Made is possible to inline a picture in a vcard on the Z.
284This was only possible on the desktop, now is it possible on the Z as well. 294This was only possible on the desktop, now is it possible on the Z as well.
285Fixed of missing save settings after filter configuration. 295Fixed of missing save settings after filter configuration.
286Made saving of addressbook much faster. 296Made saving of addressbook much faster.
287Fixed extension widget layout problem. 297Fixed extension widget layout problem.
288Fixed saving of default formatted name settings. 298Fixed saving of default formatted name settings.
289Fixed formatted name handling in edit dialog. 299Fixed formatted name handling in edit dialog.
290Added an option for changing formatted names of many contacts 300Added an option for changing formatted names of many contacts
291(menu: File - Change - Set formatted name). 301(menu: File - Change - Set formatted name).
292 302
293QWhatsThis was not working on the Z ( only black rectangle was shown). 303QWhatsThis was not working on the Z ( only black rectangle was shown).
294This is Fixed. 304This is Fixed.
295 305
296KDE-Sync: 306KDE-Sync:
297Now readonly KDE resources are synced as well. 307Now readonly KDE resources are synced as well.
298(They are not changed in KDE itself, of course). 308(They are not changed in KDE itself, of course).
299 309
300 310
301 311
302********** VERSION 1.9.16 ************ 312********** VERSION 1.9.16 ************
303 313
304KO/Pi: 314KO/Pi:
305Fixed search dialog size on Z 6000 (480x640 display). 315Fixed search dialog size on Z 6000 (480x640 display).
306Added setting to hide/show time in agenda items. 316Added setting to hide/show time in agenda items.
307Added setting to hide not running todos in todo view. 317Added setting to hide not running todos in todo view.
308Added columns for start date/time in todo view. 318Added columns for start date/time in todo view.
309Replaced the solid half-hour lines in agenda view by dot lines. 319Replaced the solid half-hour lines in agenda view by dot lines.
310Added possibility of printing the What's Next View on the desktop 320Added possibility of printing the What's Next View on the desktop
311(i.e. Windows and Linux). 321(i.e. Windows and Linux).
312Fixed a crash in KO/Pi when starting KO/Pi with What's Next view. 322Fixed a crash in KO/Pi when starting KO/Pi with What's Next view.
313Added tooltips in month view.(Tooltips only available on desktop) 323Added tooltips in month view.(Tooltips only available on desktop)
314 324
315Fixed a strange problem in KO/Pi alarm applet. 325Fixed a strange problem in KO/Pi alarm applet.
316Did not find the actual problem, 326Did not find the actual problem,
317such that now Qtopia reboots again if deinstalling the alarm applet. 327such that now Qtopia reboots again if deinstalling the alarm applet.
318But the alarm applet should work again. 328But the alarm applet should work again.
319 329
320KA/Pi: 330KA/Pi:
321Fixed the problem, that internal pictures were not saved. 331Fixed the problem, that internal pictures were not saved.
322 332
323Fixed a problem in the pi-sync mode by increasing the timeout for data transfer from 20 seconds to 5 minutes. 333Fixed a problem in the pi-sync mode by increasing the timeout for data transfer from 20 seconds to 5 minutes.
324 334
325Fixed some minor problems. (Like word wrap in help text windows). 335Fixed some minor problems. (Like word wrap in help text windows).
326 336
327Fixed a compiling problem in microkde/kresources. 337Fixed a compiling problem in microkde/kresources.
328 338
329KO/Pi is using zdbat (renamed to db2file) for syncing with Sharp DTM. 339KO/Pi is using zdbat (renamed to db2file) for syncing with Sharp DTM.
330This version now includes zdbat 1.0.0 (old version was zdbat 0.2.9) 340This version now includes zdbat 1.0.0 (old version was zdbat 0.2.9)
331such that now syncing KO/Pi with Sharp DTM should work on the 341such that now syncing KO/Pi with Sharp DTM should work on the
332Zaurus C 3000 model. 342Zaurus C 3000 model.
333 343
334********** VERSION 1.9.15 ************ 344********** VERSION 1.9.15 ************
335 345
336Usebilty enhancements in KO/Pi: 346Usebilty enhancements in KO/Pi:
337When clicking on the date in a month view cell, the day view is shown. 347When clicking on the date in a month view cell, the day view is shown.
338Old behaviour was, that the "new event" dialog popped up. 348Old behaviour was, that the "new event" dialog popped up.
339 349
340Added a one step "undo delete" in KO/Pi (Accessable in the "Action" menu). 350Added a one step "undo delete" in KO/Pi (Accessable in the "Action" menu).
341That means, you can restore the latest 351That means, you can restore the latest
342event/todo/journal you have deleted. 352event/todo/journal you have deleted.
343A journal is deleted, if you clear all the text of the journal. 353A journal is deleted, if you clear all the text of the journal.
344 354
345Fixed the bug of the editor dialogs in KO/Pi of version 1.9.14. 355Fixed the bug of the editor dialogs in KO/Pi of version 1.9.14.
346 356
347KA/Pi starting in 480x640 resolution: 357KA/Pi starting in 480x640 resolution:
348Hide the filter action in toolbar 358Hide the filter action in toolbar
349and added icons for undo/delete/redo in toolbar. 359and added icons for undo/delete/redo in toolbar.
350 360
351Change in OM/Pi ViewMail dialog: 361Change in OM/Pi ViewMail dialog:
352When clicking on the "delete" icon the mail is deleted after confirmation as usual. 362When clicking on the "delete" icon the mail is deleted after confirmation as usual.
353But the edit dialog is not closed as before, now the next mail in the folder is shown automatically (if there is any). 363But the edit dialog is not closed as before, now the next mail in the folder is shown automatically (if there is any).
354 364
355Fixed a crash when deleting mail-accounts in OM/Pi. 365Fixed a crash when deleting mail-accounts in OM/Pi.
356 366
357 367
358********** VERSION 1.9.14 ************ 368********** VERSION 1.9.14 ************
359 369
360Fixed some problems with the dialog sizes when switching 370Fixed some problems with the dialog sizes when switching
361portrait/landscape mode on 640x480 PDA display. 371portrait/landscape mode on 640x480 PDA display.
362 372
363Fixed some other small bugs in KA/Pi KO/Pi and OM/Pi and PwM/Pi. 373Fixed some other small bugs in KA/Pi KO/Pi and OM/Pi and PwM/Pi.
364 374
365Fixed an ugly bug in KOpieMail: 375Fixed an ugly bug in KOpieMail:
366KOpieMail was not able to write files (mails) to MSDOS file system, 376KOpieMail was not able to write files (mails) to MSDOS file system,
367like on an usual preformatted SD card. That should work now. 377like on an usual preformatted SD card. That should work now.
368To save your mail data on the Sd card do the following: 378To save your mail data on the Sd card do the following:
369Create a dir on the SD card: 379Create a dir on the SD card:
370mkdir /mnt/card/localmail 380mkdir /mnt/card/localmail
371Go to your home dir: 381Go to your home dir:
372cd 382cd
373Go to kopiemail data storage dir: 383Go to kopiemail data storage dir:
374cd kdepim/apps/kopiemail 384cd kdepim/apps/kopiemail
375Create a symlink to the SD card: 385Create a symlink to the SD card:
376ls -s /mnt/card/localmail 386ls -s /mnt/card/localmail
377Now KOpieMail will store all mails on the SD card. 387Now KOpieMail will store all mails on the SD card.
378 388
379KO/Pi Monthview: 389KO/Pi Monthview:
380Now "Go to Today" selects the current month from day 1-end, 390Now "Go to Today" selects the current month from day 1-end,
381not the current date + some days. 391not the current date + some days.
382I.e. "Go to Today" shows now always 392I.e. "Go to Today" shows now always
383the current month with first day of month in the first row. 393the current month with first day of month in the first row.
384 394
385Added missing German translation. 395Added missing German translation.
386 396
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt
index 1073fe7..b526df9 100644
--- a/bin/kdepim/korganizer/germantranslation.txt
+++ b/bin/kdepim/korganizer/germantranslation.txt
@@ -911,396 +911,396 @@
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 Datumsnavigator</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>: Monatsansicht</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>: Arbeitswochenansicht | <b>U</b>: Wochenansicht</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 | <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{ "<p><b>K</b>: Week view in Month view syle</p>\n","<p><b>K</b>: Wochenansicht in Art der Monatsansicht</p>\n" }, 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{ "Enable tooltips displaying summary of ev.","Titel-Tooltips anzeigen" }, 1291{ "Enable tooltips displaying summary of ev.","Titel-Tooltips anzeigen" },
1292{ "Enable scrollbars in month view cells","Scrollbar in Zellen anzeigen" }, 1292{ "Enable scrollbars in month view cells","Scrollbar in Zellen anzeigen" },
1293{ "Summary/Loc.","Titel/Ort" }, 1293{ "Summary/Loc.","Titel/Ort" },
1294{ "No items found. Use '*' and '?' where needed.","Nichts gefunden. Benutze '*' and '?' wo benötigt." }, 1294{ "No items found. Use '*' and '?' where needed.","Nichts gefunden. Benutze '*' and '?' wo benötigt." },
1295{ "","" }, 1295{ "Week Number","Wochennummer" },
1296{ "","" }, 1296{ "","" },
1297{ "","" }, 1297{ "","" },
1298{ "","" }, 1298{ "","" },
1299{ "","" }, 1299{ "","" },
1300{ "","" }, 1300{ "","" },
1301{ "","" }, 1301{ "","" },
1302{ "","" }, 1302{ "","" },
1303{ "","" }, 1303{ "","" },
1304{ "","" }, 1304{ "","" },
1305{ "","" }, 1305{ "","" },
1306 1306
diff --git a/bin/kdepim/korganizer/icons16/workweek2.png b/bin/kdepim/korganizer/icons16/workweek2.png
index e0e1fde..d3033d4 100644
--- a/bin/kdepim/korganizer/icons16/workweek2.png
+++ b/bin/kdepim/korganizer/icons16/workweek2.png
Binary files differ
diff --git a/bin/kdepim/korganizer/workweek2.png b/bin/kdepim/korganizer/workweek2.png
index 76cb86c..9538d53 100644
--- a/bin/kdepim/korganizer/workweek2.png
+++ b/bin/kdepim/korganizer/workweek2.png
Binary files differ
diff --git a/korganizer/koprefs.cpp b/korganizer/koprefs.cpp
index a91074f..7e3deff 100644
--- a/korganizer/koprefs.cpp
+++ b/korganizer/koprefs.cpp
@@ -1,471 +1,472 @@
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 <time.h> 24#include <time.h>
25#ifndef _WIN32_ 25#ifndef _WIN32_
26#include <unistd.h> 26#include <unistd.h>
27#endif 27#endif
28#include <qdir.h> 28#include <qdir.h>
29#include <qtextstream.h> 29#include <qtextstream.h>
30#include <qtextcodec.h> 30#include <qtextcodec.h>
31#include <qstring.h> 31#include <qstring.h>
32#include <qregexp.h> 32#include <qregexp.h>
33#include <qfont.h> 33#include <qfont.h>
34#include <qcolor.h> 34#include <qcolor.h>
35#include <qstringlist.h> 35#include <qstringlist.h>
36#include <stdlib.h> 36#include <stdlib.h>
37 37
38#include <kglobal.h> 38#include <kglobal.h>
39#include <kglobalsettings.h> 39#include <kglobalsettings.h>
40#include <kconfig.h> 40#include <kconfig.h>
41#include <klocale.h> 41#include <klocale.h>
42#include <kdebug.h> 42#include <kdebug.h>
43#include <kemailsettings.h> 43#include <kemailsettings.h>
44#include <kstaticdeleter.h> 44#include <kstaticdeleter.h>
45#include <libkdepim/kpimglobalprefs.h> 45#include <libkdepim/kpimglobalprefs.h>
46 46
47#include "koprefs.h" 47#include "koprefs.h"
48#include "mainwindow.h" 48#include "mainwindow.h"
49 49
50KOPrefs *KOPrefs::mInstance = 0; 50KOPrefs *KOPrefs::mInstance = 0;
51static KStaticDeleter<KOPrefs> insd; 51static KStaticDeleter<KOPrefs> insd;
52 52
53KOPrefs::KOPrefs() : 53KOPrefs::KOPrefs() :
54 KPimPrefs("korganizerrc") 54 KPimPrefs("korganizerrc")
55{ 55{
56 mCategoryColors.setAutoDelete(true); 56 mCategoryColors.setAutoDelete(true);
57 fillMailDefaults(); 57 fillMailDefaults();
58 mDefaultCategoryColor = QColor(175,210,255);//196,196,196); 58 mDefaultCategoryColor = QColor(175,210,255);//196,196,196);
59 QColor defaultHolidayColor = QColor(255,0,0); 59 QColor defaultHolidayColor = QColor(255,0,0);
60 QColor defaultHighlightColor = QColor(129,112,255);//64,64,255); 60 QColor defaultHighlightColor = QColor(129,112,255);//64,64,255);
61 QColor defaultAgendaBgColor = QColor(239,241,169);//128,128,128); 61 QColor defaultAgendaBgColor = QColor(239,241,169);//128,128,128);
62 QColor defaultWorkingHoursColor = QColor(170,223,150);//160,160,160); 62 QColor defaultWorkingHoursColor = QColor(170,223,150);//160,160,160);
63 QColor defaultTodoDueTodayColor = QColor(255,220,100); 63 QColor defaultTodoDueTodayColor = QColor(255,220,100);
64 QColor defaultTodoOverdueColor = QColor(255,153,125); 64 QColor defaultTodoOverdueColor = QColor(255,153,125);
65 65
66 66
67 KPrefs::setCurrentGroup("General"); 67 KPrefs::setCurrentGroup("General");
68 68
69 69
70 addItemBool("Enable Group Scheduling",&mEnableGroupScheduling,false); 70 addItemBool("Enable Group Scheduling",&mEnableGroupScheduling,false);
71 71
72 addItemBool("ShowIconNewTodo",&mShowIconNewTodo,true); 72 addItemBool("ShowIconNewTodo",&mShowIconNewTodo,true);
73 addItemBool("ShowIconNewEvent",&mShowIconNewEvent,true); 73 addItemBool("ShowIconNewEvent",&mShowIconNewEvent,true);
74 addItemBool("ShowIconSearch",&mShowIconSearch,true); 74 addItemBool("ShowIconSearch",&mShowIconSearch,true);
75 addItemBool("ShowIconList",&mShowIconList,true); 75 addItemBool("ShowIconList",&mShowIconList,true);
76 addItemBool("ShowIconDay1",&mShowIconDay1,true); 76 addItemBool("ShowIconDay1",&mShowIconDay1,true);
77 addItemBool("ShowIconDay5",&mShowIconDay5,true); 77 addItemBool("ShowIconDay5",&mShowIconDay5,true);
78 addItemBool("ShowIconDay6",&mShowIconDay6,true); 78 addItemBool("ShowIconDay6",&mShowIconDay6,true);
79 addItemBool("ShowIconDay7",&mShowIconDay7,true); 79 addItemBool("ShowIconDay7",&mShowIconDay7,true);
80 addItemBool("ShowIconMonth",&mShowIconMonth,true); 80 addItemBool("ShowIconMonth",&mShowIconMonth,true);
81 addItemBool("ShowIconTodoview",&mShowIconTodoview,true); 81 addItemBool("ShowIconTodoview",&mShowIconTodoview,true);
82 addItemBool("ShowIconBackFast",&mShowIconBackFast,true); 82 addItemBool("ShowIconBackFast",&mShowIconBackFast,true);
83 addItemBool("ShowIconBack",&mShowIconBack,true); 83 addItemBool("ShowIconBack",&mShowIconBack,true);
84 addItemBool("ShowIconToday",&mShowIconToday,true); 84 addItemBool("ShowIconToday",&mShowIconToday,true);
85 addItemBool("ShowIconForward",&mShowIconForward,true); 85 addItemBool("ShowIconForward",&mShowIconForward,true);
86 addItemBool("ShowIconForwardFast",&mShowIconForwardFast,true); 86 addItemBool("ShowIconForwardFast",&mShowIconForwardFast,true);
87 addItemBool("ShowIconWhatsThis",&mShowIconWhatsThis,true); 87 addItemBool("ShowIconWhatsThis",&mShowIconWhatsThis,true);
88 addItemBool("ShowIconWeekNum",&mShowIconWeekNum,true);
88 addItemBool("ShowIconNextDays",&mShowIconNextDays,true); 89 addItemBool("ShowIconNextDays",&mShowIconNextDays,true);
89 addItemBool("ShowIconNext",&mShowIconNext,true); 90 addItemBool("ShowIconNext",&mShowIconNext,true);
90 addItemBool("ShowIconJournal",&mShowIconJournal,true); 91 addItemBool("ShowIconJournal",&mShowIconJournal,true);
91 addItemBool("ShowIconStretch",&mShowIconStretch,true); 92 addItemBool("ShowIconStretch",&mShowIconStretch,true);
92 addItemInt("LastLoadedLanguage",&mOldLanguage,0); 93 addItemInt("LastLoadedLanguage",&mOldLanguage,0);
93 94
94 addItemBool("AskForQuit",&mAskForQuit,false); 95 addItemBool("AskForQuit",&mAskForQuit,false);
95 96
96#ifndef DESKTOP_VERSION 97#ifndef DESKTOP_VERSION
97 addItemBool("ShowFullMenu",&mShowFullMenu,false); 98 addItemBool("ShowFullMenu",&mShowFullMenu,false);
98#else 99#else
99 addItemBool("ShowFullMenu",&mShowFullMenu,true); 100 addItemBool("ShowFullMenu",&mShowFullMenu,true);
100#endif 101#endif
101 addItemBool("ToolBarHor",&mToolBarHor, true ); 102 addItemBool("ToolBarHor",&mToolBarHor, true );
102 addItemBool("ToolBarUp",&mToolBarUp, false ); 103 addItemBool("ToolBarUp",&mToolBarUp, false );
103 addItemBool("ToolBarMiniIcons",&mToolBarMiniIcons, false ); 104 addItemBool("ToolBarMiniIcons",&mToolBarMiniIcons, false );
104 addItemInt("Whats Next Days",&mWhatsNextDays,3); 105 addItemInt("Whats Next Days",&mWhatsNextDays,3);
105 addItemInt("Whats Next Prios",&mWhatsNextPrios,1); 106 addItemInt("Whats Next Prios",&mWhatsNextPrios,1);
106 107
107 addItemBool("ShowTodoInAgenda",&mShowTodoInAgenda,true); 108 addItemBool("ShowTodoInAgenda",&mShowTodoInAgenda,true);
108 addItemBool("ShowTimeInAgenda",&mShowTimeInAgenda,true); 109 addItemBool("ShowTimeInAgenda",&mShowTimeInAgenda,true);
109 addItemBool("HideNonStartedTodos",&mHideNonStartedTodos,false); 110 addItemBool("HideNonStartedTodos",&mHideNonStartedTodos,false);
110 addItemBool("ShowCompletedTodo",&mShowCompletedTodo,true); 111 addItemBool("ShowCompletedTodo",&mShowCompletedTodo,true);
111 addItemInt("AllDay Size",&mAllDaySize,28); 112 addItemInt("AllDay Size",&mAllDaySize,28);
112 QString defAlarm = KGlobal::iconLoader()->iconPath()+"koalarm.wav"; 113 QString defAlarm = KGlobal::iconLoader()->iconPath()+"koalarm.wav";
113 addItemString("DefaultAlarmFile",&mDefaultAlarmFile,defAlarm ); 114 addItemString("DefaultAlarmFile",&mDefaultAlarmFile,defAlarm );
114 115
115 addItemStringList("LocationDefaults",&mLocationDefaults ); 116 addItemStringList("LocationDefaults",&mLocationDefaults );
116 addItemStringList("EventSummary User",&mEventSummaryUser); 117 addItemStringList("EventSummary User",&mEventSummaryUser);
117 addItemStringList("TodoSummary User",&mTodoSummaryUser); 118 addItemStringList("TodoSummary User",&mTodoSummaryUser);
118 119
119 addItemBool("Enable Group Scheduling",&mEnableGroupScheduling,false); 120 addItemBool("Enable Group Scheduling",&mEnableGroupScheduling,false);
120 addItemBool("Enable Project View",&mEnableProjectView,false); 121 addItemBool("Enable Project View",&mEnableProjectView,false);
121 addItemBool("Auto Save",&mAutoSave,false); 122 addItemBool("Auto Save",&mAutoSave,false);
122 addItemInt("Auto Save Interval",&mAutoSaveInterval,3); 123 addItemInt("Auto Save Interval",&mAutoSaveInterval,3);
123 addItemBool("Confirm Deletes",&mConfirm,true); 124 addItemBool("Confirm Deletes",&mConfirm,true);
124 addItemString("Archive File",&mArchiveFile); 125 addItemString("Archive File",&mArchiveFile);
125 addItemString("Html Export File",&mHtmlExportFile, 126 addItemString("Html Export File",&mHtmlExportFile,
126 QDir::homeDirPath() + "/" + i18n("Default export file", "calendar.html")); 127 QDir::homeDirPath() + "/" + i18n("Default export file", "calendar.html"));
127 addItemBool("Html With Save",&mHtmlWithSave,false); 128 addItemBool("Html With Save",&mHtmlWithSave,false);
128 129
129 KPrefs::setCurrentGroup("Personal Settings"); 130 KPrefs::setCurrentGroup("Personal Settings");
130 131
131 addItemInt("Mail Client",&mMailClient,MailClientKMail); 132 addItemInt("Mail Client",&mMailClient,MailClientKMail);
132 addItemBool("Use Control Center Email",&mEmailControlCenter,false); 133 addItemBool("Use Control Center Email",&mEmailControlCenter,false);
133 addItemBool("Bcc",&mBcc,false); 134 addItemBool("Bcc",&mBcc,false);
134 135
135 KPrefs::setCurrentGroup("Time & Date"); 136 KPrefs::setCurrentGroup("Time & Date");
136 137
137 138
138 addItemInt("Default Start Time",&mStartTime,10); 139 addItemInt("Default Start Time",&mStartTime,10);
139 addItemInt("Default Duration",&mDefaultDuration,2); 140 addItemInt("Default Duration",&mDefaultDuration,2);
140 addItemInt("Default Alarm Time",&mAlarmTime,3); 141 addItemInt("Default Alarm Time",&mAlarmTime,3);
141 KPrefs::setCurrentGroup("AlarmSettings"); 142 KPrefs::setCurrentGroup("AlarmSettings");
142 addItemInt("AlarmPlayBeeps",&mAlarmPlayBeeps,20); 143 addItemInt("AlarmPlayBeeps",&mAlarmPlayBeeps,20);
143 addItemInt("AlarmSuspendTime",&mAlarmSuspendTime,7); 144 addItemInt("AlarmSuspendTime",&mAlarmSuspendTime,7);
144 addItemInt("AlarmSuspendCount",&mAlarmSuspendCount,5); 145 addItemInt("AlarmSuspendCount",&mAlarmSuspendCount,5);
145 addItemInt("AlarmBeepInterval",&mAlarmBeepInterval,3); 146 addItemInt("AlarmBeepInterval",&mAlarmBeepInterval,3);
146 147
147 148
148 KPrefs::setCurrentGroup("Calendar"); 149 KPrefs::setCurrentGroup("Calendar");
149 150
150 addItemInt("Default Calendar Format",&mDefaultFormat,FormatICalendar); 151 addItemInt("Default Calendar Format",&mDefaultFormat,FormatICalendar);
151 152
152 KPrefs::setCurrentGroup("Fonts"); 153 KPrefs::setCurrentGroup("Fonts");
153 // qDebug(" KPrefs::setCurrentGroup(Fonts); "); 154 // qDebug(" KPrefs::setCurrentGroup(Fonts); ");
154 addItemFont("TimeBar Font",&mTimeBarFont,KGlobalSettings::generalFont() ); 155 addItemFont("TimeBar Font",&mTimeBarFont,KGlobalSettings::generalFont() );
155 addItemFont("MonthView Font",&mMonthViewFont,KGlobalSettings::generalFont()); 156 addItemFont("MonthView Font",&mMonthViewFont,KGlobalSettings::generalFont());
156 addItemFont("AgendaView Font",&mAgendaViewFont,KGlobalSettings::generalFont()); 157 addItemFont("AgendaView Font",&mAgendaViewFont,KGlobalSettings::generalFont());
157 addItemFont("MarcusBains Font",&mMarcusBainsFont,KGlobalSettings::generalFont()); 158 addItemFont("MarcusBains Font",&mMarcusBainsFont,KGlobalSettings::generalFont());
158 addItemFont("TimeLabels Font",&mTimeLabelsFont,KGlobalSettings::generalFont()); 159 addItemFont("TimeLabels Font",&mTimeLabelsFont,KGlobalSettings::generalFont());
159 addItemFont("TodoView Font",&mTodoViewFont,KGlobalSettings::generalFont()); 160 addItemFont("TodoView Font",&mTodoViewFont,KGlobalSettings::generalFont());
160 addItemFont("ListView Font",&mListViewFont,KGlobalSettings::generalFont()); 161 addItemFont("ListView Font",&mListViewFont,KGlobalSettings::generalFont());
161 addItemFont("DateNavigator Font",&mDateNavigatorFont,KGlobalSettings::generalFont()); 162 addItemFont("DateNavigator Font",&mDateNavigatorFont,KGlobalSettings::generalFont());
162 addItemFont("EditBox Font",&mEditBoxFont,KGlobalSettings::generalFont()); 163 addItemFont("EditBox Font",&mEditBoxFont,KGlobalSettings::generalFont());
163 addItemFont("JournalView Font",&mJornalViewFont,KGlobalSettings::generalFont()); 164 addItemFont("JournalView Font",&mJornalViewFont,KGlobalSettings::generalFont());
164 addItemFont("WhatsNextView Font",&mWhatsNextFont,KGlobalSettings::generalFont()); 165 addItemFont("WhatsNextView Font",&mWhatsNextFont,KGlobalSettings::generalFont());
165 addItemFont("EventView Font",&mEventViewFont,KGlobalSettings::generalFont()); 166 addItemFont("EventView Font",&mEventViewFont,KGlobalSettings::generalFont());
166 167
167 KPrefs::setCurrentGroup("RemoteSyncing"); 168 KPrefs::setCurrentGroup("RemoteSyncing");
168 addItemString("ActiveSyncPort",&mActiveSyncPort,"9197" ); 169 addItemString("ActiveSyncPort",&mActiveSyncPort,"9197" );
169 addItemString("ActiveSyncIP",&mActiveSyncIP,"192.168.0.40" ); 170 addItemString("ActiveSyncIP",&mActiveSyncIP,"192.168.0.40" );
170 addItemBool("ShowSyncEvents",&mShowSyncEvents,false); 171 addItemBool("ShowSyncEvents",&mShowSyncEvents,false);
171 addItemInt("LastSyncTime",&mLastSyncTime,0); 172 addItemInt("LastSyncTime",&mLastSyncTime,0);
172 173
173#ifdef _WIN32_ 174#ifdef _WIN32_
174 QString hdp= locateLocal("data","korganizer")+"\\\\"; 175 QString hdp= locateLocal("data","korganizer")+"\\\\";
175#else 176#else
176 QString hdp= locateLocal("data","korganizer")+"/"; 177 QString hdp= locateLocal("data","korganizer")+"/";
177#endif 178#endif
178 179
179 KPrefs::setCurrentGroup("LoadSaveFileNames"); 180 KPrefs::setCurrentGroup("LoadSaveFileNames");
180 181
181 addItemString("LastImportFile", &mLastImportFile ,hdp +"import.ics" ); 182 addItemString("LastImportFile", &mLastImportFile ,hdp +"import.ics" );
182 addItemString("LastVcalFile", &mLastVcalFile ,hdp +"export.vcs" ); 183 addItemString("LastVcalFile", &mLastVcalFile ,hdp +"export.vcs" );
183 addItemString("LastSaveFile", &mLastSaveFile ,hdp +"mybackup.ics" ); 184 addItemString("LastSaveFile", &mLastSaveFile ,hdp +"mybackup.ics" );
184 addItemString("LastLoadFile", &mLastLoadFile ,hdp +"mybackup.ics" ); 185 addItemString("LastLoadFile", &mLastLoadFile ,hdp +"mybackup.ics" );
185 186
186 187
187 KPrefs::setCurrentGroup("Locale"); 188 KPrefs::setCurrentGroup("Locale");
188 addItemBool("ShortDateInViewer",&mShortDateInViewer,false); 189 addItemBool("ShortDateInViewer",&mShortDateInViewer,false);
189 190
190 191
191 KPrefs::setCurrentGroup("Colors"); 192 KPrefs::setCurrentGroup("Colors");
192 addItemColor("Holiday Color",&mHolidayColor,defaultHolidayColor); 193 addItemColor("Holiday Color",&mHolidayColor,defaultHolidayColor);
193 addItemColor("Highlight Color",&mHighlightColor,defaultHighlightColor); 194 addItemColor("Highlight Color",&mHighlightColor,defaultHighlightColor);
194 addItemColor("Event Color",&mEventColor,mDefaultCategoryColor); 195 addItemColor("Event Color",&mEventColor,mDefaultCategoryColor);
195 addItemColor("Todo done Color",&mTodoDoneColor,QColor(111,255,115) ); 196 addItemColor("Todo done Color",&mTodoDoneColor,QColor(111,255,115) );
196 addItemColor("Agenda Background Color",&mAgendaBgColor,defaultAgendaBgColor); 197 addItemColor("Agenda Background Color",&mAgendaBgColor,defaultAgendaBgColor);
197 addItemColor("WorkingHours Color",&mWorkingHoursColor,defaultWorkingHoursColor); 198 addItemColor("WorkingHours Color",&mWorkingHoursColor,defaultWorkingHoursColor);
198 addItemColor("Todo due today Color",&mTodoDueTodayColor,defaultTodoDueTodayColor); 199 addItemColor("Todo due today Color",&mTodoDueTodayColor,defaultTodoDueTodayColor);
199 addItemColor("Todo overdue Color",&mTodoOverdueColor,defaultTodoOverdueColor); 200 addItemColor("Todo overdue Color",&mTodoOverdueColor,defaultTodoOverdueColor);
200 addItemColor("MonthViewEvenColor",&mMonthViewEvenColor,QColor( 160,160,255 )); 201 addItemColor("MonthViewEvenColor",&mMonthViewEvenColor,QColor( 160,160,255 ));
201 addItemColor("MonthViewOddColor",&mMonthViewOddColor,QColor( 160,255,160 )); 202 addItemColor("MonthViewOddColor",&mMonthViewOddColor,QColor( 160,255,160 ));
202 addItemColor("MonthViewHolidayColor",&mMonthViewHolidayColor,QColor( 255,160,160 )); 203 addItemColor("MonthViewHolidayColor",&mMonthViewHolidayColor,QColor( 255,160,160 ));
203 addItemBool("MonthViewUsesDayColors",&mMonthViewUsesDayColors,true); 204 addItemBool("MonthViewUsesDayColors",&mMonthViewUsesDayColors,true);
204 addItemBool("MonthViewSatSunTog",&mMonthViewSatSunTog,true); 205 addItemBool("MonthViewSatSunTog",&mMonthViewSatSunTog,true);
205 addItemBool("MonthViewWeek",&mMonthViewWeek,false); 206 addItemBool("MonthViewWeek",&mMonthViewWeek,false);
206 addItemBool("HightlightDateTimeEdit",&mHightlightDateTimeEdit,false); 207 addItemBool("HightlightDateTimeEdit",&mHightlightDateTimeEdit,false);
207 addItemColor("AppColor1",&mAppColor1,QColor( 130,170,255 )); 208 addItemColor("AppColor1",&mAppColor1,QColor( 130,170,255 ));
208 addItemColor("AppColor2",&mAppColor2,QColor( 174,216,255 )); 209 addItemColor("AppColor2",&mAppColor2,QColor( 174,216,255 ));
209 addItemBool("UseAppColors",&mUseAppColors,false); 210 addItemBool("UseAppColors",&mUseAppColors,false);
210 211
211 212
212 213
213 KPrefs::setCurrentGroup("Views"); 214 KPrefs::setCurrentGroup("Views");
214 addItemBool("Show Date Navigator",&mShowDateNavigator,true); 215 addItemBool("Show Date Navigator",&mShowDateNavigator,true);
215 addItemInt("Hour Size",&mHourSize,8); 216 addItemInt("Hour Size",&mHourSize,8);
216 addItemBool("Show Daily Recurrences",&mDailyRecur,true); 217 addItemBool("Show Daily Recurrences",&mDailyRecur,true);
217 addItemBool("Show Weekly Recurrences",&mWeeklyRecur,true); 218 addItemBool("Show Weekly Recurrences",&mWeeklyRecur,true);
218 addItemBool("Show Month Daily Recurrences",&mMonthDailyRecur,true); 219 addItemBool("Show Month Daily Recurrences",&mMonthDailyRecur,true);
219 addItemBool("Show Month Weekly Recurrences",&mMonthWeeklyRecur,true); 220 addItemBool("Show Month Weekly Recurrences",&mMonthWeeklyRecur,true);
220 addItemBool("ShowShortMonthName",&mMonthShowShort,false); 221 addItemBool("ShowShortMonthName",&mMonthShowShort,false);
221 addItemBool("ShowIconsInMonthCell",&mMonthShowIcons,true); 222 addItemBool("ShowIconsInMonthCell",&mMonthShowIcons,true);
222#ifdef DESKTOP_VERION 223#ifdef DESKTOP_VERION
223 addItemBool("Enable ToolTips",&mEnableToolTips,true); 224 addItemBool("Enable ToolTips",&mEnableToolTips,true);
224#else 225#else
225 addItemBool("Enable ToolTips",&mEnableToolTips,false); 226 addItemBool("Enable ToolTips",&mEnableToolTips,false);
226#endif 227#endif
227 addItemBool("Enable MonthView ScrollBars",&mEnableMonthScroll,false); 228 addItemBool("Enable MonthView ScrollBars",&mEnableMonthScroll,false);
228 addItemBool("Marcus Bains shows seconds",&mMarcusBainsShowSeconds,false); 229 addItemBool("Marcus Bains shows seconds",&mMarcusBainsShowSeconds,false);
229 addItemBool("Show Marcus Bains",&mMarcusBainsEnabled,true); 230 addItemBool("Show Marcus Bains",&mMarcusBainsEnabled,true);
230 addItemBool("EditOnDoubleClick",&mEditOnDoubleClick,true); 231 addItemBool("EditOnDoubleClick",&mEditOnDoubleClick,true);
231 addItemBool("ViewChangeHoldFullscreen",&mViewChangeHoldFullscreen,true); 232 addItemBool("ViewChangeHoldFullscreen",&mViewChangeHoldFullscreen,true);
232 addItemBool("ViewChangeHoldNonFullscreen",&mViewChangeHoldNonFullscreen,false); 233 addItemBool("ViewChangeHoldNonFullscreen",&mViewChangeHoldNonFullscreen,false);
233 addItemBool("CenterOnCurrentTime",&mCenterOnCurrentTime,false); 234 addItemBool("CenterOnCurrentTime",&mCenterOnCurrentTime,false);
234 addItemBool("SetTimeToDayStartAt",&mSetTimeToDayStartAt,true); 235 addItemBool("SetTimeToDayStartAt",&mSetTimeToDayStartAt,true);
235 addItemBool("HighlightCurrentDay",&mHighlightCurrentDay,true); 236 addItemBool("HighlightCurrentDay",&mHighlightCurrentDay,true);
236 addItemBool("WNViewShowsParents",&mWNViewShowsParents,true);; 237 addItemBool("WNViewShowsParents",&mWNViewShowsParents,true);;
237 addItemBool("WNViewShowsPast",&mWNViewShowsPast,true); 238 addItemBool("WNViewShowsPast",&mWNViewShowsPast,true);
238 addItemBool("WNViewShowLocation",&mWNViewShowLocation,false); 239 addItemBool("WNViewShowLocation",&mWNViewShowLocation,false);
239 addItemBool("UseHighlightLightColor",&mUseHighlightLightColor,false); 240 addItemBool("UseHighlightLightColor",&mUseHighlightLightColor,false);
240 addItemBool("ListViewMonthTimespan",&mListViewMonthTimespan,true); 241 addItemBool("ListViewMonthTimespan",&mListViewMonthTimespan,true);
241 addItemBool("TodoViewUsesCatColors",&mTodoViewUsesCatColors,false); 242 addItemBool("TodoViewUsesCatColors",&mTodoViewUsesCatColors,false);
242 addItemBool("TodoViewShowsPercentage",&mTodoViewShowsPercentage,false); 243 addItemBool("TodoViewShowsPercentage",&mTodoViewShowsPercentage,false);
243 addItemBool("TodoViewUsesSmallFont",&mTodoViewUsesSmallFont,true); 244 addItemBool("TodoViewUsesSmallFont",&mTodoViewUsesSmallFont,true);
244 addItemBool("MonthViewUsesBigFont",&mMonthViewUsesBigFont,true); 245 addItemBool("MonthViewUsesBigFont",&mMonthViewUsesBigFont,true);
245 addItemBool("TodoViewUsesForegroundColor",&mTodoViewUsesForegroundColor,false); 246 addItemBool("TodoViewUsesForegroundColor",&mTodoViewUsesForegroundColor,false);
246 addItemBool("MonthViewUsesForegroundColor",&mMonthViewUsesForegroundColor,false); 247 addItemBool("MonthViewUsesForegroundColor",&mMonthViewUsesForegroundColor,false);
247#ifdef DESKTOP_VERSION 248#ifdef DESKTOP_VERSION
248 addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,true); 249 addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,true);
249#else 250#else
250 addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,false); 251 addItemBool("UseInternalAlarmNotification",&mUseInternalAlarmNotification,false);
251#endif 252#endif
252 addItemInt("Day Begins",&mDayBegins,7); 253 addItemInt("Day Begins",&mDayBegins,7);
253 addItemInt("Working Hours Start",&mWorkingHoursStart,8); 254 addItemInt("Working Hours Start",&mWorkingHoursStart,8);
254 addItemInt("Working Hours End",&mWorkingHoursEnd,17); 255 addItemInt("Working Hours End",&mWorkingHoursEnd,17);
255 addItemBool("Exclude Holidays",&mExcludeHolidays,true); 256 addItemBool("Exclude Holidays",&mExcludeHolidays,true);
256 addItemBool("Exclude Saturdays",&mExcludeSaturdays,true); 257 addItemBool("Exclude Saturdays",&mExcludeSaturdays,true);
257 258
258 addItemBool("Month View Uses Category Color",&mMonthViewUsesCategoryColor,false); 259 addItemBool("Month View Uses Category Color",&mMonthViewUsesCategoryColor,false);
259 addItemBool("Full View Month",&mFullViewMonth,true); 260 addItemBool("Full View Month",&mFullViewMonth,true);
260 addItemBool("Full View Todo",&mFullViewTodo,true); 261 addItemBool("Full View Todo",&mFullViewTodo,true);
261 addItemBool("Quick Todo",&mEnableQuickTodo,false); 262 addItemBool("Quick Todo",&mEnableQuickTodo,false);
262 263
263 addItemInt("Next X Days",&mNextXDays,3); 264 addItemInt("Next X Days",&mNextXDays,3);
264 265
265 KPrefs::setCurrentGroup("Printer"); 266 KPrefs::setCurrentGroup("Printer");
266 267
267 KPrefs::setCurrentGroup("Layout"); 268 KPrefs::setCurrentGroup("Layout");
268 269
269 addItemBool("CompactDialogs",&mCompactDialogs,false); 270 addItemBool("CompactDialogs",&mCompactDialogs,false);
270 addItemBool("VerticalScreen",&mVerticalScreen,true); 271 addItemBool("VerticalScreen",&mVerticalScreen,true);
271 272
272 KPrefs::setCurrentGroup("KOrganizer Plugins"); 273 KPrefs::setCurrentGroup("KOrganizer Plugins");
273 274
274 addItemStringList("SelectedPlugins",&mSelectedPlugins,"holidays"); 275 addItemStringList("SelectedPlugins",&mSelectedPlugins,"holidays");
275 276
276 KPrefs::setCurrentGroup("Group Scheduling"); 277 KPrefs::setCurrentGroup("Group Scheduling");
277 278
278 addItemInt("IMIPScheduler",&mIMIPScheduler,IMIPKMail); 279 addItemInt("IMIPScheduler",&mIMIPScheduler,IMIPKMail);
279 addItemInt("IMIPSend",&mIMIPSend,IMIPdirectsend); 280 addItemInt("IMIPSend",&mIMIPSend,IMIPdirectsend);
280 addItemStringList("AdditionalMails",&mAdditionalMails,""); 281 addItemStringList("AdditionalMails",&mAdditionalMails,"");
281 addItemInt("IMIP auto refresh",&mIMIPAutoRefresh,neverAuto); 282 addItemInt("IMIP auto refresh",&mIMIPAutoRefresh,neverAuto);
282 addItemInt("IMIP auto insert request",&mIMIPAutoInsertRequest,neverAuto); 283 addItemInt("IMIP auto insert request",&mIMIPAutoInsertRequest,neverAuto);
283 addItemInt("IMIP auto insert reply",&mIMIPAutoInsertReply,neverAuto); 284 addItemInt("IMIP auto insert reply",&mIMIPAutoInsertReply,neverAuto);
284 addItemInt("IMIP auto FreeBusy",&mIMIPAutoFreeBusy,neverAuto); 285 addItemInt("IMIP auto FreeBusy",&mIMIPAutoFreeBusy,neverAuto);
285 addItemInt("IMIP auto save FreeBusy",&mIMIPAutoFreeBusyReply,neverAuto); 286 addItemInt("IMIP auto save FreeBusy",&mIMIPAutoFreeBusyReply,neverAuto);
286 287
287 KPrefs::setCurrentGroup( "Editors" ); 288 KPrefs::setCurrentGroup( "Editors" );
288 289
289 addItemStringList( "EventTemplates", &mEventTemplates ); 290 addItemStringList( "EventTemplates", &mEventTemplates );
290 addItemStringList( "TodoTemplates", &mTodoTemplates ); 291 addItemStringList( "TodoTemplates", &mTodoTemplates );
291 292
292 addItemInt("DestinationPolicy",&mDestination,standardDestination); 293 addItemInt("DestinationPolicy",&mDestination,standardDestination);
293 294
294 KPrefs::setCurrentGroup( "ViewOptions" ); 295 KPrefs::setCurrentGroup( "ViewOptions" );
295 addItemBool("EVshowDetails",&mEVshowDetails,true); 296 addItemBool("EVshowDetails",&mEVshowDetails,true);
296 addItemBool("EVshowCreated",&mEVshowCreated,true); 297 addItemBool("EVshowCreated",&mEVshowCreated,true);
297 addItemBool("EVshowChanged",&mEVshowChanged,true); 298 addItemBool("EVshowChanged",&mEVshowChanged,true);
298 addItemBool("WTshowDetails",&mWTshowDetails,false); 299 addItemBool("WTshowDetails",&mWTshowDetails,false);
299 addItemBool("WTshowCreated",&mWTshowCreated,false); 300 addItemBool("WTshowCreated",&mWTshowCreated,false);
300 addItemBool("WTshowChanged",&mWTshowChanged,false); 301 addItemBool("WTshowChanged",&mWTshowChanged,false);
301 302
302} 303}
303 304
304 305
305KOPrefs::~KOPrefs() 306KOPrefs::~KOPrefs()
306{ 307{
307 if (mInstance == this) 308 if (mInstance == this)
308 mInstance = insd.setObject(0); 309 mInstance = insd.setObject(0);
309 310
310 //qDebug("KOPrefs::~KOPrefs() "); 311 //qDebug("KOPrefs::~KOPrefs() ");
311} 312}
312 313
313 314
314KOPrefs *KOPrefs::instance() 315KOPrefs *KOPrefs::instance()
315{ 316{
316 if (!mInstance) { 317 if (!mInstance) {
317 mInstance = insd.setObject(new KOPrefs()); 318 mInstance = insd.setObject(new KOPrefs());
318 mInstance->readConfig(); 319 mInstance->readConfig();
319 } 320 }
320 321
321 return mInstance; 322 return mInstance;
322} 323}
323 324
324void KOPrefs::usrSetDefaults() 325void KOPrefs::usrSetDefaults()
325{ 326{
326 327
327} 328}
328 329
329void KOPrefs::fillMailDefaults() 330void KOPrefs::fillMailDefaults()
330{ 331{
331 if (mName.isEmpty()) mName = i18n("Anonymous"); 332 if (mName.isEmpty()) mName = i18n("Anonymous");
332 if (mEmail.isEmpty()) mEmail = i18n("nobody@nowhere"); 333 if (mEmail.isEmpty()) mEmail = i18n("nobody@nowhere");
333} 334}
334 335
335void KOPrefs::setTimeZoneIdDefault() 336void KOPrefs::setTimeZoneIdDefault()
336{ 337{
337 ; 338 ;
338} 339}
339 340
340void KOPrefs::setAllDefaults() 341void KOPrefs::setAllDefaults()
341{ 342{
342 setCategoryDefaults(); 343 setCategoryDefaults();
343 mEventSummaryUser = getDefaultList() ; 344 mEventSummaryUser = getDefaultList() ;
344 mTodoSummaryUser = getDefaultList() ; 345 mTodoSummaryUser = getDefaultList() ;
345 mLocationDefaults = getLocationDefaultList(); 346 mLocationDefaults = getLocationDefaultList();
346} 347}
347 348
348void KOPrefs::setCategoryDefaults() 349void KOPrefs::setCategoryDefaults()
349{ 350{
350 mCustomCategories.clear(); 351 mCustomCategories.clear();
351 mCustomCategories = getDefaultList(); 352 mCustomCategories = getDefaultList();
352 353
353 QStringList::Iterator it; 354 QStringList::Iterator it;
354 for (it = mCustomCategories.begin();it != mCustomCategories.end();++it ) { 355 for (it = mCustomCategories.begin();it != mCustomCategories.end();++it ) {
355 setCategoryColor(*it,mDefaultCategoryColor); 356 setCategoryColor(*it,mDefaultCategoryColor);
356 } 357 }
357} 358}
358QStringList KOPrefs::getLocationDefaultList() 359QStringList KOPrefs::getLocationDefaultList()
359{ 360{
360 QStringList retval ; 361 QStringList retval ;
361 retval << i18n("Home") << i18n("Office") << i18n("Library") << i18n("School") << i18n("Doctor") << i18n("Beach") 362 retval << i18n("Home") << i18n("Office") << i18n("Library") << i18n("School") << i18n("Doctor") << i18n("Beach")
362 << i18n("University") << i18n("Restaurant") << i18n("Bar") << i18n("Conference room") 363 << i18n("University") << i18n("Restaurant") << i18n("Bar") << i18n("Conference room")
363 << i18n("Cinema") << i18n("Lake") << i18n("Kindergarten") 364 << i18n("Cinema") << i18n("Lake") << i18n("Kindergarten")
364 << i18n("Germany") << i18n("Sweden") << i18n("Forest") << i18n("Desert") << i18n("Kitchen") ; 365 << i18n("Germany") << i18n("Sweden") << i18n("Forest") << i18n("Desert") << i18n("Kitchen") ;
365 // << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") 366 // << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("") << i18n("")
366 367
367 retval.sort(); 368 retval.sort();
368 return retval; 369 return retval;
369} 370}
370QStringList KOPrefs::getDefaultList() 371QStringList KOPrefs::getDefaultList()
371{ 372{
372 QStringList retval ; 373 QStringList retval ;
373 retval << i18n("Anniversary") << i18n("Appointment") << i18n("Birthday") << i18n("Business") << i18n("Business Travel") << i18n("Cinema") << i18n("Customer") 374 retval << i18n("Anniversary") << i18n("Appointment") << i18n("Birthday") << i18n("Business") << i18n("Business Travel") << i18n("Cinema") << i18n("Customer")
374 << i18n("Break")<< i18n("Breakfast")<< i18n("Competition")<< i18n("Dinner") 375 << i18n("Break")<< i18n("Breakfast")<< i18n("Competition")<< i18n("Dinner")
375 << i18n("Education")<< i18n("Family") << i18n("Favorites") << i18n("Festival")<< i18n("Fishing")<< i18n("Flight") << i18n("Gifts") 376 << i18n("Education")<< i18n("Family") << i18n("Favorites") << i18n("Festival")<< i18n("Fishing")<< i18n("Flight") << i18n("Gifts")
376 << i18n("Holiday") << i18n("Holiday Cards")<< i18n("Hot Contacts") << i18n("Hiking") << i18n("Hunting") << i18n("Key Customer") << i18n("Kids") 377 << i18n("Holiday") << i18n("Holiday Cards")<< i18n("Hot Contacts") << i18n("Hiking") << i18n("Hunting") << i18n("Key Customer") << i18n("Kids")
377 << i18n("Lunch") << i18n("Meeting") << i18n("Miscellaneous") << i18n("Partner")<< i18n("Party") << i18n("Personal") << i18n("Personal Travel") 378 << i18n("Lunch") << i18n("Meeting") << i18n("Miscellaneous") << i18n("Partner")<< i18n("Party") << i18n("Personal") << i18n("Personal Travel")
378 << i18n("PHB") << i18n("Phone Calls") << i18n("Projects") << i18n("Recurring") << i18n("School") << i18n("Shopping") 379 << i18n("PHB") << i18n("Phone Calls") << i18n("Projects") << i18n("Recurring") << i18n("School") << i18n("Shopping")
379 << i18n("Speach") << i18n("Special Occasion") << i18n("Sports") << i18n("Talk") << i18n("Travel") << i18n("TV")<< i18n("University") 380 << i18n("Speach") << i18n("Special Occasion") << i18n("Sports") << i18n("Talk") << i18n("Travel") << i18n("TV")<< i18n("University")
380 << i18n("Vacation") << i18n("VIP") << i18n("SyncEvent") ; 381 << i18n("Vacation") << i18n("VIP") << i18n("SyncEvent") ;
381 retval.sort(); 382 retval.sort();
382 //qDebug("cat %s ", retval.join("-").latin1()); 383 //qDebug("cat %s ", retval.join("-").latin1());
383 return retval; 384 return retval;
384} 385}
385 386
386void KOPrefs::usrReadConfig() 387void KOPrefs::usrReadConfig()
387{ 388{
388 config()->setGroup("General"); 389 config()->setGroup("General");
389 390
390 //qDebug("KOPrefs::usrReadConfig() "); 391 //qDebug("KOPrefs::usrReadConfig() ");
391 mCustomCategories = config()->readListEntry("Custom Categories"); 392 mCustomCategories = config()->readListEntry("Custom Categories");
392 mOldLoadedLanguage = mOldLanguage ; 393 mOldLoadedLanguage = mOldLanguage ;
393 mOldLanguage = KPimGlobalPrefs::instance()->mPreferredLanguage; 394 mOldLanguage = KPimGlobalPrefs::instance()->mPreferredLanguage;
394 if (mLocationDefaults.isEmpty()) { 395 if (mLocationDefaults.isEmpty()) {
395 mLocationDefaults = getLocationDefaultList(); 396 mLocationDefaults = getLocationDefaultList();
396 } 397 }
397 398
398 if (mEventSummaryUser.isEmpty()) { 399 if (mEventSummaryUser.isEmpty()) {
399 mEventSummaryUser = getDefaultList() ; 400 mEventSummaryUser = getDefaultList() ;
400 } 401 }
401 if (mTodoSummaryUser.isEmpty()) { 402 if (mTodoSummaryUser.isEmpty()) {
402 mTodoSummaryUser = getDefaultList() ; 403 mTodoSummaryUser = getDefaultList() ;
403 } 404 }
404 405
405 if (mCustomCategories.isEmpty()) setCategoryDefaults(); 406 if (mCustomCategories.isEmpty()) setCategoryDefaults();
406 407
407 config()->setGroup("Personal Settings"); 408 config()->setGroup("Personal Settings");
408 mName = config()->readEntry("user_name",""); 409 mName = config()->readEntry("user_name","");
409 mEmail = config()->readEntry("user_email",""); 410 mEmail = config()->readEntry("user_email","");
410 fillMailDefaults(); 411 fillMailDefaults();
411 412
412 config()->setGroup("Category Colors"); 413 config()->setGroup("Category Colors");
413 QStringList::Iterator it; 414 QStringList::Iterator it;
414 for (it = mCustomCategories.begin();it != mCustomCategories.end();++it ) { 415 for (it = mCustomCategories.begin();it != mCustomCategories.end();++it ) {
415 setCategoryColor(*it,config()->readColorEntry(*it,&mDefaultCategoryColor)); 416 setCategoryColor(*it,config()->readColorEntry(*it,&mDefaultCategoryColor));
416 417
417 } 418 }
418 419
419 KPimPrefs::usrReadConfig(); 420 KPimPrefs::usrReadConfig();
420} 421}
421 422
422 423
423void KOPrefs::usrWriteConfig() 424void KOPrefs::usrWriteConfig()
424{ 425{
425 config()->setGroup("General"); 426 config()->setGroup("General");
426 config()->writeEntry("Custom Categories",mCustomCategories); 427 config()->writeEntry("Custom Categories",mCustomCategories);
427 428
428 config()->setGroup("Personal Settings"); 429 config()->setGroup("Personal Settings");
429 config()->writeEntry("user_name",mName); 430 config()->writeEntry("user_name",mName);
430 config()->writeEntry("user_email",mEmail); 431 config()->writeEntry("user_email",mEmail);
431 432
432 config()->setGroup("Category Colors"); 433 config()->setGroup("Category Colors");
433 QDictIterator<QColor> it(mCategoryColors); 434 QDictIterator<QColor> it(mCategoryColors);
434 while (it.current()) { 435 while (it.current()) {
435 config()->writeEntry(it.currentKey(),*(it.current())); 436 config()->writeEntry(it.currentKey(),*(it.current()));
436 ++it; 437 ++it;
437 } 438 }
438 439
439 440
440 KPimPrefs::usrWriteConfig(); 441 KPimPrefs::usrWriteConfig();
441} 442}
442 443
443void KOPrefs::setCategoryColor(QString cat,const QColor & color) 444void KOPrefs::setCategoryColor(QString cat,const QColor & color)
444{ 445{
445 mCategoryColors.replace(cat,new QColor(color)); 446 mCategoryColors.replace(cat,new QColor(color));
446} 447}
447 448
448QColor *KOPrefs::categoryColor(QString cat) 449QColor *KOPrefs::categoryColor(QString cat)
449{ 450{
450 QColor *color = 0; 451 QColor *color = 0;
451 452
452 if (!cat.isEmpty()) color = mCategoryColors[cat]; 453 if (!cat.isEmpty()) color = mCategoryColors[cat];
453 454
454 if (color) return color; 455 if (color) return color;
455 else return &mDefaultCategoryColor; 456 else return &mDefaultCategoryColor;
456} 457}
457 458
458void KOPrefs::setFullName(const QString &name) 459void KOPrefs::setFullName(const QString &name)
459{ 460{
460 mName = name; 461 mName = name;
461} 462}
462 463
463void KOPrefs::setEmail(const QString &email) 464void KOPrefs::setEmail(const QString &email)
464{ 465{
465 //qDebug(" KOPrefs::setEmai*********** %s",email.latin1() ); 466 //qDebug(" KOPrefs::setEmai*********** %s",email.latin1() );
466 mEmail = email; 467 mEmail = email;
467} 468}
468 469
469QString KOPrefs::fullName() 470QString KOPrefs::fullName()
470{ 471{
471 if (mEmailControlCenter) { 472 if (mEmailControlCenter) {
diff --git a/korganizer/koprefs.h b/korganizer/koprefs.h
index e4e3dd7..09a0dce 100644
--- a/korganizer/koprefs.h
+++ b/korganizer/koprefs.h
@@ -1,292 +1,293 @@
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 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#ifndef KOPREFS_H 23#ifndef KOPREFS_H
24#define KOPREFS_H 24#define KOPREFS_H
25 25
26 26
27#include <libkdepim/kpimprefs.h> 27#include <libkdepim/kpimprefs.h>
28#include <qdict.h> 28#include <qdict.h>
29 29
30class KConfig; 30class KConfig;
31class QFont; 31class QFont;
32class QColor; 32class QColor;
33class QStringList; 33class QStringList;
34 34
35class KOPrefs : public KPimPrefs 35class KOPrefs : public KPimPrefs
36{ 36{
37 public: 37 public:
38 enum { FormatVCalendar, FormatICalendar }; 38 enum { FormatVCalendar, FormatICalendar };
39 enum { MailClientKMail, MailClientSendmail }; 39 enum { MailClientKMail, MailClientSendmail };
40 enum { IMIPDummy, IMIPKMail }; 40 enum { IMIPDummy, IMIPKMail };
41 enum { IMIPOutbox, IMIPdirectsend }; 41 enum { IMIPOutbox, IMIPdirectsend };
42 enum { neverAuto, addressbookAuto, selectedAuto }; 42 enum { neverAuto, addressbookAuto, selectedAuto };
43 enum { standardDestination, askDestination }; 43 enum { standardDestination, askDestination };
44 44
45 virtual ~KOPrefs(); 45 virtual ~KOPrefs();
46 46
47 /** Get instance of KOPrefs. It is made sure that there is only one 47 /** Get instance of KOPrefs. It is made sure that there is only one
48 instance. */ 48 instance. */
49 static KOPrefs *instance(); 49 static KOPrefs *instance();
50 50
51 /** Set preferences to default values */ 51 /** Set preferences to default values */
52 void usrSetDefaults(); 52 void usrSetDefaults();
53 53
54 /** Read preferences from config file */ 54 /** Read preferences from config file */
55 void usrReadConfig(); 55 void usrReadConfig();
56 56
57 /** Write preferences to config file */ 57 /** Write preferences to config file */
58 void usrWriteConfig(); 58 void usrWriteConfig();
59 void setCategoryDefaults(); 59 void setCategoryDefaults();
60 void setAllDefaults(); 60 void setAllDefaults();
61 61
62 protected: 62 protected:
63 void setTimeZoneIdDefault(); 63 void setTimeZoneIdDefault();
64 64
65 /** Fill empty mail fields with default values. */ 65 /** Fill empty mail fields with default values. */
66 void fillMailDefaults(); 66 void fillMailDefaults();
67 67
68 private: 68 private:
69 /** Constructor disabled for public. Use instance() to create a KOPrefs 69 /** Constructor disabled for public. Use instance() to create a KOPrefs
70 object. */ 70 object. */
71 KOPrefs(); 71 KOPrefs();
72 72
73 static KOPrefs *mInstance; 73 static KOPrefs *mInstance;
74 QStringList getDefaultList(); 74 QStringList getDefaultList();
75 QStringList getLocationDefaultList(); 75 QStringList getLocationDefaultList();
76 public: 76 public:
77 // preferences data 77 // preferences data
78 KConfig* getConfig(); 78 KConfig* getConfig();
79 void setFullName(const QString &); 79 void setFullName(const QString &);
80 QString fullName(); 80 QString fullName();
81 void setEmail(const QString &); 81 void setEmail(const QString &);
82 QString email(); 82 QString email();
83 83
84 QString mAdditional; 84 QString mAdditional;
85 85
86 bool mEmailControlCenter; 86 bool mEmailControlCenter;
87 87
88 bool mBcc; 88 bool mBcc;
89 bool mAutoSave; 89 bool mAutoSave;
90 int mAutoSaveInterval; 90 int mAutoSaveInterval;
91 bool mConfirm; 91 bool mConfirm;
92 92
93 bool mEnableGroupScheduling; 93 bool mEnableGroupScheduling;
94 bool mEnableProjectView; 94 bool mEnableProjectView;
95 95
96 int mDefaultFormat; 96 int mDefaultFormat;
97 int mMailClient; 97 int mMailClient;
98 98
99 int mStartTime; 99 int mStartTime;
100 int mDefaultDuration; 100 int mDefaultDuration;
101 int mAlarmTime; 101 int mAlarmTime;
102 102
103 int mWorkingHoursStart; 103 int mWorkingHoursStart;
104 int mWorkingHoursEnd; 104 int mWorkingHoursEnd;
105 bool mExcludeHolidays; 105 bool mExcludeHolidays;
106 bool mExcludeSaturdays; 106 bool mExcludeSaturdays;
107 bool mMarcusBainsShowSeconds; 107 bool mMarcusBainsShowSeconds;
108 108
109 QFont mTimeBarFont; 109 QFont mTimeBarFont;
110 QFont mMonthViewFont; 110 QFont mMonthViewFont;
111 QFont mAgendaViewFont; 111 QFont mAgendaViewFont;
112 QFont mMarcusBainsFont; 112 QFont mMarcusBainsFont;
113 QFont mTimeLabelsFont; 113 QFont mTimeLabelsFont;
114 QFont mTodoViewFont; 114 QFont mTodoViewFont;
115 QFont mListViewFont; 115 QFont mListViewFont;
116 QFont mDateNavigatorFont; 116 QFont mDateNavigatorFont;
117 QFont mEditBoxFont; 117 QFont mEditBoxFont;
118 QFont mJornalViewFont; 118 QFont mJornalViewFont;
119 QFont mWhatsNextFont; 119 QFont mWhatsNextFont;
120 QFont mEventViewFont; 120 QFont mEventViewFont;
121 121
122 122
123 123
124 124
125 QColor mHolidayColor; 125 QColor mHolidayColor;
126 QColor mHighlightColor; 126 QColor mHighlightColor;
127 QColor mEventColor; 127 QColor mEventColor;
128 QColor mTodoDoneColor; 128 QColor mTodoDoneColor;
129 QColor mAgendaBgColor; 129 QColor mAgendaBgColor;
130 QColor mWorkingHoursColor; 130 QColor mWorkingHoursColor;
131 QColor mTodoDueTodayColor; 131 QColor mTodoDueTodayColor;
132 QColor mTodoOverdueColor; 132 QColor mTodoOverdueColor;
133 QColor mMonthViewEvenColor; 133 QColor mMonthViewEvenColor;
134 QColor mMonthViewOddColor; 134 QColor mMonthViewOddColor;
135 QColor mMonthViewHolidayColor; 135 QColor mMonthViewHolidayColor;
136 bool mMonthViewUsesDayColors; 136 bool mMonthViewUsesDayColors;
137 bool mMonthViewSatSunTog; 137 bool mMonthViewSatSunTog;
138 bool mMonthViewWeek; 138 bool mMonthViewWeek;
139 QColor mAppColor1; 139 QColor mAppColor1;
140 QColor mAppColor2; 140 QColor mAppColor2;
141 bool mUseAppColors; 141 bool mUseAppColors;
142 142
143 int mDayBegins; 143 int mDayBegins;
144 int mHourSize; 144 int mHourSize;
145 int mAllDaySize; 145 int mAllDaySize;
146 bool mShowFullMenu; 146 bool mShowFullMenu;
147 bool mDailyRecur; 147 bool mDailyRecur;
148 bool mWeeklyRecur; 148 bool mWeeklyRecur;
149 bool mMonthDailyRecur; 149 bool mMonthDailyRecur;
150 bool mMonthWeeklyRecur; 150 bool mMonthWeeklyRecur;
151 bool mMonthShowIcons; 151 bool mMonthShowIcons;
152 bool mMonthShowShort; 152 bool mMonthShowShort;
153 bool mEnableToolTips; 153 bool mEnableToolTips;
154 bool mEnableMonthScroll; 154 bool mEnableMonthScroll;
155 bool mFullViewMonth; 155 bool mFullViewMonth;
156 bool mMonthViewUsesCategoryColor; 156 bool mMonthViewUsesCategoryColor;
157 bool mFullViewTodo; 157 bool mFullViewTodo;
158 bool mShowCompletedTodo; 158 bool mShowCompletedTodo;
159 bool mMarcusBainsEnabled; 159 bool mMarcusBainsEnabled;
160 int mNextXDays; 160 int mNextXDays;
161 int mWhatsNextDays; 161 int mWhatsNextDays;
162 int mWhatsNextPrios; 162 int mWhatsNextPrios;
163 bool mEnableQuickTodo; 163 bool mEnableQuickTodo;
164 164
165 bool mCompactDialogs; 165 bool mCompactDialogs;
166 bool mVerticalScreen; 166 bool mVerticalScreen;
167 167
168 bool mShowIconNewTodo; 168 bool mShowIconNewTodo;
169 bool mShowIconNewEvent; 169 bool mShowIconNewEvent;
170 bool mShowIconSearch; 170 bool mShowIconSearch;
171 bool mShowIconList; 171 bool mShowIconList;
172 bool mShowIconDay1; 172 bool mShowIconDay1;
173 bool mShowIconDay5; 173 bool mShowIconDay5;
174 bool mShowIconDay6; 174 bool mShowIconDay6;
175 bool mShowIconDay7; 175 bool mShowIconDay7;
176 bool mShowIconMonth; 176 bool mShowIconMonth;
177 bool mShowIconTodoview; 177 bool mShowIconTodoview;
178 bool mShowIconBackFast; 178 bool mShowIconBackFast;
179 bool mShowIconBack; 179 bool mShowIconBack;
180 bool mShowIconToday; 180 bool mShowIconToday;
181 bool mShowIconForward; 181 bool mShowIconForward;
182 bool mShowIconForwardFast; 182 bool mShowIconForwardFast;
183 bool mShowIconWhatsThis; 183 bool mShowIconWhatsThis;
184 bool mShowIconWeekNum;
184 bool mShowIconNextDays; 185 bool mShowIconNextDays;
185 bool mShowIconNext; 186 bool mShowIconNext;
186 bool mShowIconJournal; 187 bool mShowIconJournal;
187 188
188 bool mShowIconStretch; 189 bool mShowIconStretch;
189 190
190 bool mToolBarHor; 191 bool mToolBarHor;
191 bool mToolBarUp; 192 bool mToolBarUp;
192 bool mToolBarMiniIcons; 193 bool mToolBarMiniIcons;
193 194
194 bool mAskForQuit; 195 bool mAskForQuit;
195 bool mUsePassWd; 196 bool mUsePassWd;
196 bool mShowSyncEvents; 197 bool mShowSyncEvents;
197 bool mShowTodoInAgenda; 198 bool mShowTodoInAgenda;
198 bool mShowTimeInAgenda; 199 bool mShowTimeInAgenda;
199 bool mHideNonStartedTodos; 200 bool mHideNonStartedTodos;
200 201
201 int mLastSyncTime; 202 int mLastSyncTime;
202 void setCategoryColor(QString cat,const QColor & color); 203 void setCategoryColor(QString cat,const QColor & color);
203 QColor *categoryColor(QString cat); 204 QColor *categoryColor(QString cat);
204 205
205 QString mArchiveFile; 206 QString mArchiveFile;
206 QString mHtmlExportFile; 207 QString mHtmlExportFile;
207 bool mHtmlWithSave; 208 bool mHtmlWithSave;
208 209
209 QStringList mSelectedPlugins; 210 QStringList mSelectedPlugins;
210 211
211 QString mLastImportFile; 212 QString mLastImportFile;
212 QString mLastVcalFile; 213 QString mLastVcalFile;
213 QString mLastSaveFile; 214 QString mLastSaveFile;
214 QString mLastLoadFile; 215 QString mLastLoadFile;
215 216
216 217
217 QString mDefaultAlarmFile; 218 QString mDefaultAlarmFile;
218 int mIMIPScheduler; 219 int mIMIPScheduler;
219 int mIMIPSend; 220 int mIMIPSend;
220 QStringList mAdditionalMails; 221 QStringList mAdditionalMails;
221 int mIMIPAutoRefresh; 222 int mIMIPAutoRefresh;
222 int mIMIPAutoInsertReply; 223 int mIMIPAutoInsertReply;
223 int mIMIPAutoInsertRequest; 224 int mIMIPAutoInsertRequest;
224 int mIMIPAutoFreeBusy; 225 int mIMIPAutoFreeBusy;
225 int mIMIPAutoFreeBusyReply; 226 int mIMIPAutoFreeBusyReply;
226 227
227 QStringList mTodoTemplates; 228 QStringList mTodoTemplates;
228 QStringList mEventTemplates; 229 QStringList mEventTemplates;
229 230
230 int mDestination; 231 int mDestination;
231 232
232 233
233 bool mEditOnDoubleClick; 234 bool mEditOnDoubleClick;
234 bool mViewChangeHoldFullscreen; 235 bool mViewChangeHoldFullscreen;
235 bool mViewChangeHoldNonFullscreen; 236 bool mViewChangeHoldNonFullscreen;
236 bool mCenterOnCurrentTime; 237 bool mCenterOnCurrentTime;
237 bool mSetTimeToDayStartAt; 238 bool mSetTimeToDayStartAt;
238 bool mHighlightCurrentDay; 239 bool mHighlightCurrentDay;
239 bool mUseHighlightLightColor; 240 bool mUseHighlightLightColor;
240 bool mListViewMonthTimespan; 241 bool mListViewMonthTimespan;
241 bool mWNViewShowsParents; 242 bool mWNViewShowsParents;
242 bool mWNViewShowsPast; 243 bool mWNViewShowsPast;
243 bool mWNViewShowLocation; 244 bool mWNViewShowLocation;
244 bool mTodoViewShowsPercentage; 245 bool mTodoViewShowsPercentage;
245 bool mTodoViewUsesCatColors; 246 bool mTodoViewUsesCatColors;
246 bool mMonthViewUsesBigFont; 247 bool mMonthViewUsesBigFont;
247 bool mTodoViewUsesSmallFont; 248 bool mTodoViewUsesSmallFont;
248 bool mTodoViewUsesForegroundColor; 249 bool mTodoViewUsesForegroundColor;
249 bool mMonthViewUsesForegroundColor; 250 bool mMonthViewUsesForegroundColor;
250 251
251 bool mHightlightDateTimeEdit; 252 bool mHightlightDateTimeEdit;
252 bool mShortDateInViewer; 253 bool mShortDateInViewer;
253 254
254 bool mShowDateNavigator; 255 bool mShowDateNavigator;
255 256
256 QStringList mLocationDefaults; 257 QStringList mLocationDefaults;
257 QStringList mEventSummaryUser; 258 QStringList mEventSummaryUser;
258 QStringList mTodoSummaryUser; 259 QStringList mTodoSummaryUser;
259 260
260 bool mUseInternalAlarmNotification; 261 bool mUseInternalAlarmNotification;
261 int mAlarmPlayBeeps; 262 int mAlarmPlayBeeps;
262 int mAlarmSuspendTime; 263 int mAlarmSuspendTime;
263 int mAlarmSuspendCount; 264 int mAlarmSuspendCount;
264 int mAlarmBeepInterval; 265 int mAlarmBeepInterval;
265 int mOldLanguage; 266 int mOldLanguage;
266 int mOldLoadedLanguage; 267 int mOldLoadedLanguage;
267 268
268 269
269 QString mActiveSyncPort; 270 QString mActiveSyncPort;
270 QString mActiveSyncIP; 271 QString mActiveSyncIP;
271 272
272 // settings for eventviewer 273 // settings for eventviewer
273 bool mEVshowDetails; 274 bool mEVshowDetails;
274 bool mEVshowCreated; 275 bool mEVshowCreated;
275 bool mEVshowChanged; 276 bool mEVshowChanged;
276 bool mWTshowDetails; 277 bool mWTshowDetails;
277 bool mWTshowCreated; 278 bool mWTshowCreated;
278 bool mWTshowChanged; 279 bool mWTshowChanged;
279 280
280 private: 281 private:
281 QDict<QColor> mCategoryColors; 282 QDict<QColor> mCategoryColors;
282 QColor mDefaultCategoryColor; 283 QColor mDefaultCategoryColor;
283 284
284 QFont mDefaultTimeBarFont; 285 QFont mDefaultTimeBarFont;
285 QFont mDefaultViewFont; 286 QFont mDefaultViewFont;
286 QFont mDefaultMonthViewFont; 287 QFont mDefaultMonthViewFont;
287 288
288 QString mName; 289 QString mName;
289 QString mEmail; 290 QString mEmail;
290}; 291};
291 292
292#endif 293#endif
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index a164fa4..4f2cccf 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -190,1902 +190,1906 @@ MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) :
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 setFocusPolicy ( WheelFocus );
291} 291}
292MainWindow::~MainWindow() 292MainWindow::~MainWindow()
293{ 293{
294 //qDebug("MainWindow::~MainWindow() "); 294 //qDebug("MainWindow::~MainWindow() ");
295 //save toolbar location 295 //save toolbar location
296 delete mCalendar; 296 delete mCalendar;
297 delete mSyncManager; 297 delete mSyncManager;
298#ifndef DESKTOP_VERSION 298#ifndef DESKTOP_VERSION
299 if ( infrared ) 299 if ( infrared )
300 delete infrared; 300 delete infrared;
301#endif 301#endif
302 302
303 303
304} 304}
305 305
306void MainWindow::disableBR(bool b) 306void MainWindow::disableBR(bool b)
307{ 307{
308#ifndef DESKTOP_VERSION 308#ifndef DESKTOP_VERSION
309 if ( b ) { 309 if ( b ) {
310 if ( infrared ) { 310 if ( infrared ) {
311 toggleBeamReceive(); 311 toggleBeamReceive();
312 mBRdisabled = true; 312 mBRdisabled = true;
313 } 313 }
314 mBRdisabled = true; 314 mBRdisabled = true;
315 } else { 315 } else {
316 if ( mBRdisabled ) { 316 if ( mBRdisabled ) {
317 mBRdisabled = false; 317 mBRdisabled = false;
318 //makes no sense,because other cal ap is probably running 318 //makes no sense,because other cal ap is probably running
319 // toggleBeamReceive(); 319 // toggleBeamReceive();
320 } 320 }
321 } 321 }
322#endif 322#endif
323 323
324} 324}
325bool MainWindow::beamReceiveEnabled() 325bool MainWindow::beamReceiveEnabled()
326{ 326{
327#ifndef DESKTOP_VERSION 327#ifndef DESKTOP_VERSION
328 return ( infrared != 0 ); 328 return ( infrared != 0 );
329#endif 329#endif
330 return false; 330 return false;
331} 331}
332 332
333void MainWindow::toggleBeamReceive() 333void MainWindow::toggleBeamReceive()
334{ 334{
335 if ( mBRdisabled ) 335 if ( mBRdisabled )
336 return; 336 return;
337#ifndef DESKTOP_VERSION 337#ifndef DESKTOP_VERSION
338 if ( infrared ) { 338 if ( infrared ) {
339 qDebug("disable BeamReceive "); 339 qDebug("disable BeamReceive ");
340 delete infrared; 340 delete infrared;
341 infrared = 0; 341 infrared = 0;
342 brAction->setOn(false); 342 brAction->setOn(false);
343 return; 343 return;
344 } 344 }
345 qDebug("enable BeamReceive "); 345 qDebug("enable BeamReceive ");
346 brAction->setOn(true); 346 brAction->setOn(true);
347 infrared = new QCopChannel("QPE/Application/datebook",this, "channel" ) ; 347 infrared = new QCopChannel("QPE/Application/datebook",this, "channel" ) ;
348 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& )));
349#endif 349#endif
350} 350}
351void MainWindow::showMaximized () 351void MainWindow::showMaximized ()
352{ 352{
353#ifndef DESKTOP_VERSION 353#ifndef DESKTOP_VERSION
354 if ( ! globalFlagBlockStartup ) 354 if ( ! globalFlagBlockStartup )
355 if ( mClosed ) 355 if ( mClosed )
356 mView->goToday(); 356 mView->goToday();
357#endif 357#endif
358 QWidget::showMaximized () ; 358 QWidget::showMaximized () ;
359 mClosed = false; 359 mClosed = false;
360} 360}
361void MainWindow::closeEvent( QCloseEvent* ce ) 361void MainWindow::closeEvent( QCloseEvent* ce )
362{ 362{
363 363
364 364
365 365
366 if ( ! KOPrefs::instance()->mAskForQuit ) { 366 if ( ! KOPrefs::instance()->mAskForQuit ) {
367 saveOnClose(); 367 saveOnClose();
368 mClosed = true; 368 mClosed = true;
369 ce->accept(); 369 ce->accept();
370 return; 370 return;
371 371
372 } 372 }
373 373
374 switch( QMessageBox::information( this, "KO/Pi", 374 switch( QMessageBox::information( this, "KO/Pi",
375 i18n("Do you really want\nto close KO/Pi?"), 375 i18n("Do you really want\nto close KO/Pi?"),
376 i18n("Close"), i18n("No"), 376 i18n("Close"), i18n("No"),
377 0, 0 ) ) { 377 0, 0 ) ) {
378 case 0: 378 case 0:
379 saveOnClose(); 379 saveOnClose();
380 mClosed = true; 380 mClosed = true;
381 ce->accept(); 381 ce->accept();
382 break; 382 break;
383 case 1: 383 case 1:
384 ce->ignore(); 384 ce->ignore();
385 break; 385 break;
386 case 2: 386 case 2:
387 387
388 default: 388 default:
389 break; 389 break;
390 } 390 }
391 391
392 392
393} 393}
394 394
395void MainWindow::recieve( const QCString& cmsg, const QByteArray& data ) 395void MainWindow::recieve( const QCString& cmsg, const QByteArray& data )
396{ 396{
397 QDataStream stream( data, IO_ReadOnly ); 397 QDataStream stream( data, IO_ReadOnly );
398 // QMessageBox::about( this, "About KOrganizer/Pi", "*" +msg +"*" ); 398 // QMessageBox::about( this, "About KOrganizer/Pi", "*" +msg +"*" );
399 //QString datamess; 399 //QString datamess;
400 //qDebug("message "); 400 //qDebug("message ");
401 qDebug("KO: QCOP message received: %s ", cmsg.data() ); 401 qDebug("KO: QCOP message received: %s ", cmsg.data() );
402 402
403 if ( cmsg == "setDocument(QString)" ) { 403 if ( cmsg == "setDocument(QString)" ) {
404 QDataStream stream( data, IO_ReadOnly ); 404 QDataStream stream( data, IO_ReadOnly );
405 QString fileName; 405 QString fileName;
406 stream >> fileName; 406 stream >> fileName;
407 //qDebug("filename %s ", fileName.latin1()); 407 //qDebug("filename %s ", fileName.latin1());
408 showMaximized(); 408 showMaximized();
409 raise(); 409 raise();
410 KOPrefs::instance()->mLastSyncedLocalFile = fileName ; 410 KOPrefs::instance()->mLastSyncedLocalFile = fileName ;
411 mSyncManager->slotSyncMenu( 1002 ); 411 mSyncManager->slotSyncMenu( 1002 );
412 return; 412 return;
413 } 413 }
414 414
415 if ( cmsg == "-writeFile" ) { 415 if ( cmsg == "-writeFile" ) {
416 // I made from the "-writeFile" an "-writeAlarm" 416 // I made from the "-writeFile" an "-writeAlarm"
417 mView->viewManager()->showWhatsNextView(); 417 mView->viewManager()->showWhatsNextView();
418 mCalendar->checkAlarmForIncidence( 0, true); 418 mCalendar->checkAlarmForIncidence( 0, true);
419 showMaximized(); 419 showMaximized();
420 raise(); 420 raise();
421 return; 421 return;
422 422
423 } 423 }
424 if ( cmsg == "-writeFileSilent" ) { 424 if ( cmsg == "-writeFileSilent" ) {
425 // I made from the "-writeFile" an "-writeAlarm" 425 // I made from the "-writeFile" an "-writeAlarm"
426 // mView->viewManager()->showWhatsNextView(); 426 // mView->viewManager()->showWhatsNextView();
427 mCalendar->checkAlarmForIncidence( 0, true); 427 mCalendar->checkAlarmForIncidence( 0, true);
428 //showMaximized(); 428 //showMaximized();
429 //raise(); 429 //raise();
430 hide(); 430 hide();
431 return; 431 return;
432 } 432 }
433 if ( cmsg == "-newCountdown" ) { 433 if ( cmsg == "-newCountdown" ) {
434 qDebug("newCountdown "); 434 qDebug("newCountdown ");
435 435
436 } 436 }
437 QString msg ; 437 QString msg ;
438 QString allmsg = cmsg; 438 QString allmsg = cmsg;
439 while ( allmsg.length() > 0 ) { 439 while ( allmsg.length() > 0 ) {
440 int nextC = allmsg.find( "-", 1 ); 440 int nextC = allmsg.find( "-", 1 );
441 if ( nextC == -1 ) { 441 if ( nextC == -1 ) {
442 msg = allmsg; 442 msg = allmsg;
443 allmsg = ""; 443 allmsg = "";
444 } else{ 444 } else{
445 msg = allmsg.left( nextC ); 445 msg = allmsg.left( nextC );
446 allmsg = allmsg.mid( nextC, allmsg.length()-nextC ); 446 allmsg = allmsg.mid( nextC, allmsg.length()-nextC );
447 } 447 }
448 //qDebug("msg: %s all: %s ", msg.latin1(), allmsg.latin1() ); 448 //qDebug("msg: %s all: %s ", msg.latin1(), allmsg.latin1() );
449 if ( msg == "-newEvent" ) { 449 if ( msg == "-newEvent" ) {
450 mView->newEvent(); 450 mView->newEvent();
451 } 451 }
452 if ( msg == "-newTodo" ) { 452 if ( msg == "-newTodo" ) {
453 mView->newTodo(); 453 mView->newTodo();
454 454
455 } 455 }
456 if ( msg == "-showWN" ) { 456 if ( msg == "-showWN" ) {
457 mView->viewManager()->showWhatsNextView(); 457 mView->viewManager()->showWhatsNextView();
458 } 458 }
459 if ( msg == "-showTodo" ) { 459 if ( msg == "-showTodo" ) {
460 mView->viewManager()->showTodoView(); 460 mView->viewManager()->showTodoView();
461 } 461 }
462 if ( msg == "-showList" ) { 462 if ( msg == "-showList" ) {
463 mView->viewManager()->showListView(); 463 mView->viewManager()->showListView();
464 } 464 }
465 else if ( msg == "-showDay" ) { 465 else if ( msg == "-showDay" ) {
466 mView->viewManager()->showDayView(); 466 mView->viewManager()->showDayView();
467 } 467 }
468 else if ( msg == "-showWWeek" ) { 468 else if ( msg == "-showWWeek" ) {
469 mView->viewManager()->showWorkWeekView(); 469 mView->viewManager()->showWorkWeekView();
470 } 470 }
471 else if ( msg == "-ringSync" ) { 471 else if ( msg == "-ringSync" ) {
472 mSyncManager->multiSync( false ); 472 mSyncManager->multiSync( false );
473 } 473 }
474 else if ( msg == "-showWeek" ) { 474 else if ( msg == "-showWeek" ) {
475 mView->viewManager()->showWeekView(); 475 mView->viewManager()->showWeekView();
476 } 476 }
477 else if ( msg == "-showTodo" ) { 477 else if ( msg == "-showTodo" ) {
478 mView->viewManager()->showTodoView(); 478 mView->viewManager()->showTodoView();
479 } 479 }
480 else if ( msg == "-showJournal" ) { 480 else if ( msg == "-showJournal" ) {
481 mView->dateNavigator()->selectDates( 1 ); 481 mView->dateNavigator()->selectDates( 1 );
482 mView->dateNavigator()->selectToday(); 482 mView->dateNavigator()->selectToday();
483 mView->viewManager()->showJournalView(); 483 mView->viewManager()->showJournalView();
484 } 484 }
485 else if ( msg == "-showKO" ) { 485 else if ( msg == "-showKO" ) {
486 mView->viewManager()->showNextXView(); 486 mView->viewManager()->showNextXView();
487 } 487 }
488 else if ( msg == "-showWNext" || msg == "nextView()" ) { 488 else if ( msg == "-showWNext" || msg == "nextView()" ) {
489 mView->viewManager()->showWhatsNextView(); 489 mView->viewManager()->showWhatsNextView();
490 } 490 }
491 else if ( msg == "-showNextXView" ) { 491 else if ( msg == "-showNextXView" ) {
492 mView->viewManager()->showNextXView(); 492 mView->viewManager()->showNextXView();
493 } 493 }
494 494
495 495
496 } 496 }
497 497
498 showMaximized(); 498 showMaximized();
499 raise(); 499 raise();
500} 500}
501 501
502QPixmap MainWindow::loadPixmap( QString name ) 502QPixmap MainWindow::loadPixmap( QString name )
503{ 503{
504 return SmallIcon( name ); 504 return SmallIcon( name );
505 505
506} 506}
507void MainWindow::initActions() 507void MainWindow::initActions()
508{ 508{
509 //KOPrefs::instance()->mShowFullMenu 509 //KOPrefs::instance()->mShowFullMenu
510 iconToolBar->clear(); 510 iconToolBar->clear();
511 KOPrefs *p = KOPrefs::instance(); 511 KOPrefs *p = KOPrefs::instance();
512 //QPEMenuBar *menuBar1;// = new QPEMenuBar( iconToolBar ); 512 //QPEMenuBar *menuBar1;// = new QPEMenuBar( iconToolBar );
513 513
514 QPopupMenu *viewMenu = new QPopupMenu( this ); 514 QPopupMenu *viewMenu = new QPopupMenu( this );
515 QPopupMenu *actionMenu = new QPopupMenu( this ); 515 QPopupMenu *actionMenu = new QPopupMenu( this );
516 QPopupMenu *importMenu = new QPopupMenu( this ); 516 QPopupMenu *importMenu = new QPopupMenu( this );
517 selectFilterMenu = new QPopupMenu( this ); 517 selectFilterMenu = new QPopupMenu( this );
518 selectFilterMenu->setCheckable( true ); 518 selectFilterMenu->setCheckable( true );
519 syncMenu = new QPopupMenu( this ); 519 syncMenu = new QPopupMenu( this );
520 configureAgendaMenu = new QPopupMenu( this ); 520 configureAgendaMenu = new QPopupMenu( this );
521 configureToolBarMenu = new QPopupMenu( this ); 521 configureToolBarMenu = new QPopupMenu( this );
522 QPopupMenu *helpMenu = new QPopupMenu( this ); 522 QPopupMenu *helpMenu = new QPopupMenu( this );
523 if ( KOPrefs::instance()->mShowFullMenu ) { 523 if ( KOPrefs::instance()->mShowFullMenu ) {
524 QMenuBar *menuBar1; 524 QMenuBar *menuBar1;
525 menuBar1 = menuBar(); 525 menuBar1 = menuBar();
526 menuBar1->insertItem( i18n("File"), importMenu ); 526 menuBar1->insertItem( i18n("File"), importMenu );
527 menuBar1->insertItem( i18n("View"), viewMenu ); 527 menuBar1->insertItem( i18n("View"), viewMenu );
528 menuBar1->insertItem( i18n("Actions"), actionMenu ); 528 menuBar1->insertItem( i18n("Actions"), actionMenu );
529#ifdef DESKTOP_VERSION 529#ifdef DESKTOP_VERSION
530 menuBar1->insertItem( i18n("Synchronize"), syncMenu ); 530 menuBar1->insertItem( i18n("Synchronize"), syncMenu );
531 menuBar1->insertItem( i18n("AgendaSize"),configureAgendaMenu ); 531 menuBar1->insertItem( i18n("AgendaSize"),configureAgendaMenu );
532#else 532#else
533 menuBar1->insertItem( i18n("Sync"), syncMenu ); 533 menuBar1->insertItem( i18n("Sync"), syncMenu );
534 menuBar1->insertItem( i18n("Agenda"),configureAgendaMenu ); 534 menuBar1->insertItem( i18n("Agenda"),configureAgendaMenu );
535#endif 535#endif
536 //menuBar1->insertItem( i18n("Toolbar"),configureToolBarMenu ); 536 //menuBar1->insertItem( i18n("Toolbar"),configureToolBarMenu );
537 menuBar1->insertItem( i18n("Filter"),selectFilterMenu ); 537 menuBar1->insertItem( i18n("Filter"),selectFilterMenu );
538 menuBar1->insertItem( i18n("Help"), helpMenu ); 538 menuBar1->insertItem( i18n("Help"), helpMenu );
539 } else { 539 } else {
540 QPEMenuBar *menuBar1; 540 QPEMenuBar *menuBar1;
541 menuBar1 = new QPEMenuBar( iconToolBar ); 541 menuBar1 = new QPEMenuBar( iconToolBar );
542 QPopupMenu *menuBar = new QPopupMenu( this ); 542 QPopupMenu *menuBar = new QPopupMenu( this );
543 menuBar1->insertItem( i18n("ME"), menuBar); 543 menuBar1->insertItem( i18n("ME"), menuBar);
544 menuBar->insertItem( i18n("File"), importMenu ); 544 menuBar->insertItem( i18n("File"), importMenu );
545 menuBar->insertItem( i18n("View"), viewMenu ); 545 menuBar->insertItem( i18n("View"), viewMenu );
546 menuBar->insertItem( i18n("Actions"), actionMenu ); 546 menuBar->insertItem( i18n("Actions"), actionMenu );
547 menuBar->insertItem( i18n("Synchronize"), syncMenu ); 547 menuBar->insertItem( i18n("Synchronize"), syncMenu );
548 menuBar->insertItem( i18n("AgendaSize"),configureAgendaMenu ); 548 menuBar->insertItem( i18n("AgendaSize"),configureAgendaMenu );
549 menuBar->insertItem( i18n("Toolbar"),configureToolBarMenu ); 549 menuBar->insertItem( i18n("Toolbar"),configureToolBarMenu );
550 menuBar->insertItem( i18n("Filter"),selectFilterMenu ); 550 menuBar->insertItem( i18n("Filter"),selectFilterMenu );
551 menuBar->insertItem( i18n("Help"), helpMenu ); 551 menuBar->insertItem( i18n("Help"), helpMenu );
552 //menuBar1->setMaximumWidth( menuBar1->sizeHint().width() ); 552 //menuBar1->setMaximumWidth( menuBar1->sizeHint().width() );
553 menuBar1->setMaximumSize( menuBar1->sizeHint( )); 553 menuBar1->setMaximumSize( menuBar1->sizeHint( ));
554 } 554 }
555 connect ( selectFilterMenu, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) ); 555 connect ( selectFilterMenu, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) );
556 connect ( selectFilterMenu, SIGNAL( aboutToShow() ), this, SLOT (fillFilterMenu() ) ); 556 connect ( selectFilterMenu, SIGNAL( aboutToShow() ), this, SLOT (fillFilterMenu() ) );
557 QIconSet icon; 557 QIconSet icon;
558 int pixWid = 22, pixHei = 22; 558 int pixWid = 22, pixHei = 22;
559 QString pathString = ""; 559 QString pathString = "";
560 if ( !p->mToolBarMiniIcons ) { 560 if ( !p->mToolBarMiniIcons ) {
561 if ( QApplication::desktop()->width() < 480 ) { 561 if ( QApplication::desktop()->width() < 480 ) {
562 pathString += "icons16/"; 562 pathString += "icons16/";
563 pixWid = 18; pixHei = 16; 563 pixWid = 18; pixHei = 16;
564 } 564 }
565 } else { 565 } else {
566 pathString += "iconsmini/"; 566 pathString += "iconsmini/";
567 pixWid = 18; pixHei = 16; 567 pixWid = 18; pixHei = 16;
568 } 568 }
569 mWeekBgColor = iconToolBar->backgroundColor(); 569 mWeekBgColor = iconToolBar->backgroundColor();
570 mWeekPixmap.resize( pixWid , pixHei ); 570 mWeekPixmap.resize( pixWid , pixHei );
571 mWeekPixmap.fill( mWeekBgColor ); 571 mWeekPixmap.fill( mWeekBgColor );
572 icon = mWeekPixmap; 572 icon = mWeekPixmap;
573 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 );
574 mWeekAction->addTo( iconToolBar ); 574 if ( p-> mShowIconWeekNum )
575 mWeekAction->addTo( iconToolBar );
575 mWeekFont = font(); 576 mWeekFont = font();
576 577
577 int fontPoint = mWeekFont.pointSize(); 578 int fontPoint = mWeekFont.pointSize();
578 QFontMetrics f( mWeekFont ); 579 QFontMetrics f( mWeekFont );
579 int fontWid = f.width( "30" ); 580 int fontWid = f.width( "30" );
580 while ( fontWid > pixWid ) { 581 while ( fontWid > pixWid ) {
581 --fontPoint; 582 --fontPoint;
582 mWeekFont.setPointSize( fontPoint ); 583 mWeekFont.setPointSize( fontPoint );
583 QFontMetrics f( mWeekFont ); 584 QFontMetrics f( mWeekFont );
584 fontWid = f.width( "30" ); 585 fontWid = f.width( "30" );
585 qDebug("dec-- "); 586 qDebug("dec-- ");
586 } 587 }
587 588
588 connect( mWeekAction, SIGNAL( activated() ), 589 connect( mWeekAction, SIGNAL( activated() ),
589 this, SLOT( weekAction() ) ); 590 this, SLOT( weekAction() ) );
590 591
591 connect( this, SIGNAL( selectWeek ( int ) ), mView->dateNavigator(), SLOT( selectWeek ( int ) ) ); 592 connect( this, SIGNAL( selectWeek ( int ) ), mView->dateNavigator(), SLOT( selectWeek ( int ) ) );
592 593
593 //#endif 594 //#endif
594 // ****************** 595 // ******************
595 QAction *action; 596 QAction *action;
596 // QPopupMenu *configureMenu= new QPopupMenu( menuBar ); 597 // QPopupMenu *configureMenu= new QPopupMenu( menuBar );
597 configureToolBarMenu->setCheckable( true ); 598 configureToolBarMenu->setCheckable( true );
598 599
599 600
600 configureAgendaMenu->setCheckable( true ); 601 configureAgendaMenu->setCheckable( true );
601 int iii ; 602 int iii ;
602 for ( iii = 1;iii<= 10 ;++iii ){ 603 for ( iii = 1;iii<= 10 ;++iii ){
603 configureAgendaMenu->insertItem(i18n("Size %1").arg(iii), (iii+1)*2 ); 604 configureAgendaMenu->insertItem(i18n("Size %1").arg(iii), (iii+1)*2 );
604 } 605 }
605 //configureMenu->insertItem( "AgendaSize",configureAgendaMenu ); 606 //configureMenu->insertItem( "AgendaSize",configureAgendaMenu );
606 607
607 connect( configureAgendaMenu, SIGNAL( aboutToShow()), 608 connect( configureAgendaMenu, SIGNAL( aboutToShow()),
608 this, SLOT( showConfigureAgenda( ) ) ); 609 this, SLOT( showConfigureAgenda( ) ) );
609 610
610 icon = loadPixmap( pathString + "configure" ); 611 icon = loadPixmap( pathString + "configure" );
611 action = new QAction( i18n("Configure"),icon, i18n("Configure..."), 0, this ); 612 action = new QAction( i18n("Configure"),icon, i18n("Configure..."), 0, this );
612 action->addTo( actionMenu ); 613 action->addTo( actionMenu );
613 connect( action, SIGNAL( activated() ), 614 connect( action, SIGNAL( activated() ),
614 mView, SLOT( edit_options() ) ); 615 mView, SLOT( edit_options() ) );
615 actionMenu->insertSeparator(); 616 actionMenu->insertSeparator();
616 617
617 action = new QAction( i18n("Undo Delete"), i18n("Undo Delete..."), 0, this ); 618 action = new QAction( i18n("Undo Delete"), i18n("Undo Delete..."), 0, this );
618 action->addTo( actionMenu ); 619 action->addTo( actionMenu );
619 connect( action, SIGNAL( activated() ), 620 connect( action, SIGNAL( activated() ),
620 mView, SLOT( undo_delete() ) ); 621 mView, SLOT( undo_delete() ) );
621 actionMenu->insertSeparator(); 622 actionMenu->insertSeparator();
622 623
623 icon = loadPixmap( pathString + "newevent" ); 624 icon = loadPixmap( pathString + "newevent" );
624 configureToolBarMenu->insertItem(i18n("Stretched TB"), 5 ); 625 configureToolBarMenu->insertItem(i18n("Stretched TB"), 5 );
625 configureToolBarMenu->insertSeparator(); 626 configureToolBarMenu->insertSeparator();
627 configureToolBarMenu->insertItem(i18n("Week Number"), 400);
626 configureToolBarMenu->insertItem(icon, i18n("New Event..."), 10 ); 628 configureToolBarMenu->insertItem(icon, i18n("New Event..."), 10 );
627 QAction* ne_action = new QAction( i18n("New Event..."), icon, i18n("New Event..."), 0, this ); 629 QAction* ne_action = new QAction( i18n("New Event..."), icon, i18n("New Event..."), 0, this );
628 ne_action->addTo( actionMenu ); 630 ne_action->addTo( actionMenu );
629 connect( ne_action, SIGNAL( activated() ), 631 connect( ne_action, SIGNAL( activated() ),
630 mView, SLOT( newEvent() ) ); 632 mView, SLOT( newEvent() ) );
631 icon = loadPixmap( pathString + "newtodo" ); 633 icon = loadPixmap( pathString + "newtodo" );
632 configureToolBarMenu->insertItem(icon, i18n("New Todo..."), 20 ); 634 configureToolBarMenu->insertItem(icon, i18n("New Todo..."), 20 );
633 QAction* nt_action = new QAction( i18n("New Todo..."), icon, i18n("New Todo..."), 0, this ); 635 QAction* nt_action = new QAction( i18n("New Todo..."), icon, i18n("New Todo..."), 0, this );
634 nt_action->addTo( actionMenu ); 636 nt_action->addTo( actionMenu );
635 connect( nt_action, SIGNAL( activated() ), 637 connect( nt_action, SIGNAL( activated() ),
636 mView, SLOT( newTodo() ) ); 638 mView, SLOT( newTodo() ) );
637 639
638 icon = loadPixmap( pathString + "today" ); 640 icon = loadPixmap( pathString + "today" );
639 QAction* today_action = new QAction( i18n("Go to Today"), icon, i18n("Go to Today"), 0, this ); 641 QAction* today_action = new QAction( i18n("Go to Today"), icon, i18n("Go to Today"), 0, this );
640 today_action->addTo( viewMenu ); 642 today_action->addTo( viewMenu );
641 connect( today_action, SIGNAL( activated() ), 643 connect( today_action, SIGNAL( activated() ),
642 mView, SLOT( goToday() ) ); 644 mView, SLOT( goToday() ) );
643 viewMenu->insertSeparator(); 645 viewMenu->insertSeparator();
644 646
645 icon = loadPixmap( pathString + "navi" ); 647 icon = loadPixmap( pathString + "navi" );
646 action = new QAction( i18n("Toggle DateNavigator"), icon, i18n("Toggle DateNavigator"), 0, this ); 648 action = new QAction( i18n("Toggle DateNavigator"), icon, i18n("Toggle DateNavigator"), 0, this );
647 action->addTo( viewMenu ); 649 action->addTo( viewMenu );
648 connect( action, SIGNAL( activated() ), 650 connect( action, SIGNAL( activated() ),
649 mView, SLOT( toggleDateNavigatorWidget() ) ); 651 mView, SLOT( toggleDateNavigatorWidget() ) );
650 mToggleNav = action ; 652 mToggleNav = action ;
651 icon = loadPixmap( pathString + "filter" ); 653 icon = loadPixmap( pathString + "filter" );
652 action = new QAction( i18n("Toggle FilterView"), icon, i18n("Toggle FilterView"), 0, this ); 654 action = new QAction( i18n("Toggle FilterView"), icon, i18n("Toggle FilterView"), 0, this );
653 action->addTo( viewMenu ); 655 action->addTo( viewMenu );
654 connect( action, SIGNAL( activated() ), 656 connect( action, SIGNAL( activated() ),
655 mView, SLOT( toggleFilter() ) ); 657 mView, SLOT( toggleFilter() ) );
656 mToggleFilter = action; 658 mToggleFilter = action;
657 icon = loadPixmap( pathString + "allday" ); 659 icon = loadPixmap( pathString + "allday" );
658 action = new QAction( i18n("Toggle Allday"), icon,i18n("Toggle Allday"), 0, this ); 660 action = new QAction( i18n("Toggle Allday"), icon,i18n("Toggle Allday"), 0, this );
659 action->addTo( viewMenu ); 661 action->addTo( viewMenu );
660 connect( action, SIGNAL( activated() ), 662 connect( action, SIGNAL( activated() ),
661 mView, SLOT( toggleAllDaySize() ) ); 663 mView, SLOT( toggleAllDaySize() ) );
662 mToggleAllday = action; 664 mToggleAllday = action;
663 665
664 666
665 connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ), 667 connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ),
666 mToggleNav, SLOT( setEnabled ( bool ) ) ); 668 mToggleNav, SLOT( setEnabled ( bool ) ) );
667 connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ), 669 connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ),
668 mToggleFilter, SLOT( setEnabled ( bool ) ) ); 670 mToggleFilter, SLOT( setEnabled ( bool ) ) );
669 connect( mView->viewManager(), SIGNAL( signalAgendaView( bool ) ), 671 connect( mView->viewManager(), SIGNAL( signalAgendaView( bool ) ),
670 mToggleAllday, SLOT( setEnabled ( bool ) ) ); 672 mToggleAllday, SLOT( setEnabled ( bool ) ) );
671 673
672 viewMenu->insertSeparator(); 674 viewMenu->insertSeparator();
673 icon = loadPixmap( pathString + "picker" ); 675 icon = loadPixmap( pathString + "picker" );
674 action = new QAction( i18n("Date Picker"), icon, i18n("Date Picker"), 0, this ); 676 action = new QAction( i18n("Date Picker"), icon, i18n("Date Picker"), 0, this );
675 action->addTo( viewMenu ); 677 action->addTo( viewMenu );
676 connect( action, SIGNAL( activated() ), 678 connect( action, SIGNAL( activated() ),
677 mView, SLOT( showDatePicker() ) ); 679 mView, SLOT( showDatePicker() ) );
678 action->addTo( iconToolBar ); 680 action->addTo( iconToolBar );
679 viewMenu->insertSeparator(); 681 viewMenu->insertSeparator();
680 icon = loadPixmap( pathString + "list" ); 682 icon = loadPixmap( pathString + "list" );
681 configureToolBarMenu->insertItem(icon, i18n("List View"), 30 ); 683 configureToolBarMenu->insertItem(icon, i18n("List View"), 30 );
682 QAction* showlist_action = new QAction( i18n("List View"), icon, i18n("List View"), 0, this ); 684 QAction* showlist_action = new QAction( i18n("List View"), icon, i18n("List View"), 0, this );
683 showlist_action->addTo( viewMenu ); 685 showlist_action->addTo( viewMenu );
684 connect( showlist_action, SIGNAL( activated() ), 686 connect( showlist_action, SIGNAL( activated() ),
685 mView->viewManager(), SLOT( showListView() ) ); 687 mView->viewManager(), SLOT( showListView() ) );
686 688
687 689
688 icon = loadPixmap( pathString + "day" ); 690 icon = loadPixmap( pathString + "day" );
689 configureToolBarMenu->insertItem(icon, i18n("Day View"), 40 ); 691 configureToolBarMenu->insertItem(icon, i18n("Day View"), 40 );
690 QAction* day1_action = new QAction( i18n("Day View"), icon, i18n("Day View"), 0, this ); 692 QAction* day1_action = new QAction( i18n("Day View"), icon, i18n("Day View"), 0, this );
691 day1_action->addTo( viewMenu ); 693 day1_action->addTo( viewMenu );
692 // action->addTo( toolBar ); 694 // action->addTo( toolBar );
693 connect( day1_action, SIGNAL( activated() ), 695 connect( day1_action, SIGNAL( activated() ),
694 mView->viewManager(), SLOT( showDayView() ) ); 696 mView->viewManager(), SLOT( showDayView() ) );
695 697
696 icon = loadPixmap( pathString + "workweek" ); 698 icon = loadPixmap( pathString + "workweek" );
697 configureToolBarMenu->insertItem(icon, i18n("Work Week"), 50 ); 699 configureToolBarMenu->insertItem(icon, i18n("Work Week"), 50 );
698 QAction* day5_action = new QAction( i18n("Work Week"), icon, i18n("Work Week"), 0, this ); 700 QAction* day5_action = new QAction( i18n("Work Week"), icon, i18n("Work Week"), 0, this );
699 day5_action->addTo( viewMenu ); 701 day5_action->addTo( viewMenu );
700 connect( day5_action, SIGNAL( activated() ), 702 connect( day5_action, SIGNAL( activated() ),
701 mView->viewManager(), SLOT( showWorkWeekView() ) ); 703 mView->viewManager(), SLOT( showWorkWeekView() ) );
702 704
703 icon = loadPixmap( pathString + "week" ); 705 icon = loadPixmap( pathString + "week" );
704 configureToolBarMenu->insertItem(icon, i18n("Week"), 60 ); 706 configureToolBarMenu->insertItem(icon, i18n("Week"), 60 );
705 QAction* day7_action = new QAction( i18n("Week"), icon, i18n("Week"), 0, this ); 707 QAction* day7_action = new QAction( i18n("Week"), icon, i18n("Week"), 0, this );
706 day7_action->addTo( viewMenu ); 708 day7_action->addTo( viewMenu );
707 connect( day7_action, SIGNAL( activated() ), 709 connect( day7_action, SIGNAL( activated() ),
708 mView->viewManager(), SLOT( showWeekView() ) ); 710 mView->viewManager(), SLOT( showWeekView() ) );
711
712 icon = loadPixmap( pathString + "workweek2" );
713 configureToolBarMenu->insertItem(icon, i18n("List week view"), 75 );
714 QAction* day6_action = new QAction( i18n("List week"), icon, i18n("List week"), 0, this );
715 day6_action->addTo( viewMenu );
716 connect( day6_action, SIGNAL( activated() ),
717 mView->viewManager(), SLOT( showMonthViewWeek() ) );
709 718
710 icon = loadPixmap( pathString + "month" ); 719 icon = loadPixmap( pathString + "month" );
711 configureToolBarMenu->insertItem(icon, i18n("Month"), 70 ); 720 configureToolBarMenu->insertItem(icon, i18n("Month"), 70 );
712 QAction* month_action = new QAction( i18n("Month"), icon, i18n("Month"), 0, this ); 721 QAction* month_action = new QAction( i18n("Month"), icon, i18n("Month"), 0, this );
713 month_action->addTo( viewMenu ); 722 month_action->addTo( viewMenu );
714 connect( month_action, SIGNAL( activated() ), 723 connect( month_action, SIGNAL( activated() ),
715 mView->viewManager(), SLOT( showMonthView() ) ); 724 mView->viewManager(), SLOT( showMonthView() ) );
716 725
717 icon = loadPixmap( pathString + "workweek2" );
718 configureToolBarMenu->insertItem(icon, i18n("List week view"), 75 );
719 QAction* day6_action = new QAction( i18n("List week"), icon, i18n("List week"), 0, this );
720 day6_action->addTo( viewMenu );
721 connect( day6_action, SIGNAL( activated() ),
722 mView->viewManager(), SLOT( showMonthViewWeek() ) );
723
724 icon = loadPixmap( pathString + "todo" ); 726 icon = loadPixmap( pathString + "todo" );
725 configureToolBarMenu->insertItem(icon, i18n("Todo View"), 80 ); 727 configureToolBarMenu->insertItem(icon, i18n("Todo View"), 80 );
726 QAction* todoview_action = new QAction( i18n("Todo View"), icon, i18n("Todo View"), 0, this ); 728 QAction* todoview_action = new QAction( i18n("Todo View"), icon, i18n("Todo View"), 0, this );
727 todoview_action->addTo( viewMenu ); 729 todoview_action->addTo( viewMenu );
728 connect( todoview_action, SIGNAL( activated() ), 730 connect( todoview_action, SIGNAL( activated() ),
729 mView->viewManager(), SLOT( showTodoView() ) ); 731 mView->viewManager(), SLOT( showTodoView() ) );
730 732
731 icon = loadPixmap( pathString + "journal" ); 733 icon = loadPixmap( pathString + "journal" );
732 configureToolBarMenu->insertItem(icon, i18n("Journal"), 90 ); 734 configureToolBarMenu->insertItem(icon, i18n("Journal"), 90 );
733 QAction* viewjournal_action = new QAction( i18n("Journal"), icon, i18n("Journal"), 0, this ); 735 QAction* viewjournal_action = new QAction( i18n("Journal"), icon, i18n("Journal"), 0, this );
734 viewjournal_action->addTo( viewMenu ); 736 viewjournal_action->addTo( viewMenu );
735 connect( viewjournal_action, SIGNAL( activated() ), 737 connect( viewjournal_action, SIGNAL( activated() ),
736 mView->viewManager(), SLOT( showJournalView() ) ); 738 mView->viewManager(), SLOT( showJournalView() ) );
737 739
738 icon = loadPixmap( pathString + "xdays" ); 740 icon = loadPixmap( pathString + "xdays" );
739 configureToolBarMenu->insertItem(icon, i18n("Next days"), 100,4 ); 741 configureToolBarMenu->insertItem(icon, i18n("Next days"), 100,4 );
740 QAction* xdays_action = new QAction( i18n("Next days"), icon, i18n("Next days"), 0, this ); 742 QAction* xdays_action = new QAction( i18n("Next days"), icon, i18n("Next days"), 0, this );
741 xdays_action->addTo( viewMenu ); 743 xdays_action->addTo( viewMenu );
742 connect( xdays_action, SIGNAL( activated() ), 744 connect( xdays_action, SIGNAL( activated() ),
743 mView->viewManager(), SLOT( showNextXView() ) ); 745 mView->viewManager(), SLOT( showNextXView() ) );
744 746
745 icon = loadPixmap( pathString + "whatsnext" ); 747 icon = loadPixmap( pathString + "whatsnext" );
746 configureToolBarMenu->insertItem(icon, i18n("What's Next"), 110, 4 ); 748 configureToolBarMenu->insertItem(icon, i18n("What's Next"), 110, 4 );
747 QAction* whatsnext_action = new QAction( i18n("What's Next"), icon, i18n("What's Next"), 0, this ); 749 QAction* whatsnext_action = new QAction( i18n("What's Next"), icon, i18n("What's Next"), 0, this );
748 whatsnext_action->addTo( viewMenu ); 750 whatsnext_action->addTo( viewMenu );
749 connect( whatsnext_action, SIGNAL( activated() ), 751 connect( whatsnext_action, SIGNAL( activated() ),
750 mView->viewManager(), SLOT( showWhatsNextView() ) ); 752 mView->viewManager(), SLOT( showWhatsNextView() ) );
751 753
752#if 0 754#if 0
753 action = new QAction( "view_timespan", "Time Span", 0, this ); 755 action = new QAction( "view_timespan", "Time Span", 0, this );
754 action->addTo( viewMenu ); 756 action->addTo( viewMenu );
755 connect( action, SIGNAL( activated() ), 757 connect( action, SIGNAL( activated() ),
756 mView->viewManager(), SLOT( showTimeSpanView() ) ); 758 mView->viewManager(), SLOT( showTimeSpanView() ) );
757#endif 759#endif
758 760
759 mNewSubTodoAction = new QAction( "new_subtodo", i18n("New Sub-Todo..."), 0, 761 mNewSubTodoAction = new QAction( "new_subtodo", i18n("New Sub-Todo..."), 0,
760 this ); 762 this );
761 mNewSubTodoAction->addTo( actionMenu ); 763 mNewSubTodoAction->addTo( actionMenu );
762 connect( mNewSubTodoAction, SIGNAL( activated() ), 764 connect( mNewSubTodoAction, SIGNAL( activated() ),
763 mView, SLOT( newSubTodo() ) ); 765 mView, SLOT( newSubTodo() ) );
764 766
765 actionMenu->insertSeparator(); 767 actionMenu->insertSeparator();
766 768
767 mShowAction = new QAction( "show_incidence", i18n("Show..."), 0, this ); 769 mShowAction = new QAction( "show_incidence", i18n("Show..."), 0, this );
768 mShowAction->addTo( actionMenu ); 770 mShowAction->addTo( actionMenu );
769 connect( mShowAction, SIGNAL( activated() ), 771 connect( mShowAction, SIGNAL( activated() ),
770 mView, SLOT( showIncidence() ) ); 772 mView, SLOT( showIncidence() ) );
771 773
772 mEditAction = new QAction( "edit_incidence", i18n("Edit..."), 0, this ); 774 mEditAction = new QAction( "edit_incidence", i18n("Edit..."), 0, this );
773 mEditAction->addTo( actionMenu ); 775 mEditAction->addTo( actionMenu );
774 connect( mEditAction, SIGNAL( activated() ), 776 connect( mEditAction, SIGNAL( activated() ),
775 mView, SLOT( editIncidence() ) ); 777 mView, SLOT( editIncidence() ) );
776 778
777 mDeleteAction = new QAction( "delete_incidence", i18n("Delete..."), 0, this ); 779 mDeleteAction = new QAction( "delete_incidence", i18n("Delete..."), 0, this );
778 mDeleteAction->addTo( actionMenu ); 780 mDeleteAction->addTo( actionMenu );
779 connect( mDeleteAction, SIGNAL( activated() ), 781 connect( mDeleteAction, SIGNAL( activated() ),
780 mView, SLOT( deleteIncidence() ) ); 782 mView, SLOT( deleteIncidence() ) );
781 783
782 784
783 mCloneAction = new QAction( "clone_incidence", i18n("Clone..."), 0, this ); 785 mCloneAction = new QAction( "clone_incidence", i18n("Clone..."), 0, this );
784 mCloneAction->addTo( actionMenu ); 786 mCloneAction->addTo( actionMenu );
785 connect( mCloneAction, SIGNAL( activated() ), 787 connect( mCloneAction, SIGNAL( activated() ),
786 mView, SLOT( cloneIncidence() ) ); 788 mView, SLOT( cloneIncidence() ) );
787 mMoveAction = new QAction( "Move_incidence", i18n("Move..."), 0, this ); 789 mMoveAction = new QAction( "Move_incidence", i18n("Move..."), 0, this );
788 mMoveAction->addTo( actionMenu ); 790 mMoveAction->addTo( actionMenu );
789 connect( mMoveAction, SIGNAL( activated() ), 791 connect( mMoveAction, SIGNAL( activated() ),
790 mView, SLOT( moveIncidence() ) ); 792 mView, SLOT( moveIncidence() ) );
791 mBeamAction = new QAction( "Beam_incidence", i18n("Beam..."), 0, this ); 793 mBeamAction = new QAction( "Beam_incidence", i18n("Beam..."), 0, this );
792 mBeamAction->addTo( actionMenu ); 794 mBeamAction->addTo( actionMenu );
793 connect( mBeamAction, SIGNAL( activated() ), 795 connect( mBeamAction, SIGNAL( activated() ),
794 mView, SLOT( beamIncidence() ) ); 796 mView, SLOT( beamIncidence() ) );
795 mCancelAction = new QAction( "Cancel_incidence", i18n("Toggle Cancel"), 0, this ); 797 mCancelAction = new QAction( "Cancel_incidence", i18n("Toggle Cancel"), 0, this );
796 mCancelAction->addTo( actionMenu ); 798 mCancelAction->addTo( actionMenu );
797 connect( mCancelAction, SIGNAL( activated() ), 799 connect( mCancelAction, SIGNAL( activated() ),
798 mView, SLOT( toggleCancelIncidence() ) ); 800 mView, SLOT( toggleCancelIncidence() ) );
799 801
800 actionMenu->insertSeparator(); 802 actionMenu->insertSeparator();
801 803
802 action = new QAction( "purge_completed", i18n("Purge Completed"), 0, 804 action = new QAction( "purge_completed", i18n("Purge Completed"), 0,
803 this ); 805 this );
804 action->addTo( actionMenu ); 806 action->addTo( actionMenu );
805 connect( action, SIGNAL( activated() ), mView, SLOT( purgeCompleted() ) ); 807 connect( action, SIGNAL( activated() ), mView, SLOT( purgeCompleted() ) );
806 808
807 icon = loadPixmap( pathString + "search" ); 809 icon = loadPixmap( pathString + "search" );
808 QAction* search_action = new QAction( i18n("Search"), icon, i18n("Search..."), 0, this ); 810 QAction* search_action = new QAction( i18n("Search"), icon, i18n("Search..."), 0, this );
809 configureToolBarMenu->insertItem(icon, i18n("Search"), 120 , 4); 811 configureToolBarMenu->insertItem(icon, i18n("Search"), 120 , 4);
810 search_action->addTo( actionMenu ); 812 search_action->addTo( actionMenu );
811 connect( search_action, SIGNAL( activated() ), 813 connect( search_action, SIGNAL( activated() ),
812 mView->dialogManager(), SLOT( showSearchDialog() ) ); 814 mView->dialogManager(), SLOT( showSearchDialog() ) );
813 815
814 816
815 817
816 if ( KOPrefs::instance()->mShowFullMenu ) { 818 if ( KOPrefs::instance()->mShowFullMenu ) {
817 actionMenu->insertSeparator(); 819 actionMenu->insertSeparator();
818 actionMenu->insertItem( i18n("Configure Toolbar"),configureToolBarMenu ); 820 actionMenu->insertItem( i18n("Configure Toolbar"),configureToolBarMenu );
819 821
820 } 822 }
821 // actionMenu->insertSeparator(); 823 // actionMenu->insertSeparator();
822 action = new QAction( "import_qtopia", i18n("Import (*.ics/*.vcs) file"), 0, 824 action = new QAction( "import_qtopia", i18n("Import (*.ics/*.vcs) file"), 0,
823 this ); 825 this );
824 action->addTo( importMenu ); 826 action->addTo( importMenu );
825 connect( action, SIGNAL( activated() ), SLOT( importIcal() ) ); 827 connect( action, SIGNAL( activated() ), SLOT( importIcal() ) );
826 action = new QAction( "import_quick", i18n("Import last file"), 0, 828 action = new QAction( "import_quick", i18n("Import last file"), 0,
827 this ); 829 this );
828 action->addTo( importMenu ); 830 action->addTo( importMenu );
829 connect( action, SIGNAL( activated() ), SLOT( quickImportIcal() ) ); 831 connect( action, SIGNAL( activated() ), SLOT( quickImportIcal() ) );
830 importMenu->insertSeparator(); 832 importMenu->insertSeparator();
831 action = new QAction( "import_bday", i18n("Import Birthdays (KA/Pi)"), 0, 833 action = new QAction( "import_bday", i18n("Import Birthdays (KA/Pi)"), 0,
832 this ); 834 this );
833 action->addTo( importMenu ); 835 action->addTo( importMenu );
834 connect( action, SIGNAL( activated() ), SLOT( importBday() ) ); 836 connect( action, SIGNAL( activated() ), SLOT( importBday() ) );
835#ifndef DESKTOP_VERSION 837#ifndef DESKTOP_VERSION
836 importMenu->insertSeparator(); 838 importMenu->insertSeparator();
837 action = new QAction( "import_qtopia", i18n("Import Opie/Qtopia Cal."), 0, 839 action = new QAction( "import_qtopia", i18n("Import Opie/Qtopia Cal."), 0,
838 this ); 840 this );
839 action->addTo( importMenu ); 841 action->addTo( importMenu );
840 connect( action, SIGNAL( activated() ), SLOT( importQtopia() ) ); 842 connect( action, SIGNAL( activated() ), SLOT( importQtopia() ) );
841#else 843#else
842#ifdef _OL_IMPORT_ 844#ifdef _OL_IMPORT_
843 importMenu->insertSeparator(); 845 importMenu->insertSeparator();
844 action = new QAction( "import_ol", i18n("Import from OL"), 0, 846 action = new QAction( "import_ol", i18n("Import from OL"), 0,
845 this ); 847 this );
846 action->addTo( importMenu ); 848 action->addTo( importMenu );
847 connect( action, SIGNAL( activated() ), SLOT( importOL() ) ); 849 connect( action, SIGNAL( activated() ), SLOT( importOL() ) );
848#endif 850#endif
849#endif 851#endif
850 852
851 importMenu->insertSeparator(); 853 importMenu->insertSeparator();
852 action = new QAction( "load_cal", i18n("Load Calendar Backup"), 0, 854 action = new QAction( "load_cal", i18n("Load Calendar Backup"), 0,
853 this ); 855 this );
854 action->addTo( importMenu ); 856 action->addTo( importMenu );
855 connect( action, SIGNAL( activated() ), SLOT( loadCalendar() ) ); 857 connect( action, SIGNAL( activated() ), SLOT( loadCalendar() ) );
856 858
857 action = new QAction( "save_cal", i18n("Save Calendar Backup"), 0, 859 action = new QAction( "save_cal", i18n("Save Calendar Backup"), 0,
858 this ); 860 this );
859 action->addTo( importMenu ); 861 action->addTo( importMenu );
860 connect( action, SIGNAL( activated() ), SLOT( saveCalendar() ) ); 862 connect( action, SIGNAL( activated() ), SLOT( saveCalendar() ) );
861 863
862 importMenu->insertSeparator(); 864 importMenu->insertSeparator();
863 action = new QAction( "import_qtopia", i18n("Export VCalendar"), 0, 865 action = new QAction( "import_qtopia", i18n("Export VCalendar"), 0,
864 this ); 866 this );
865 action->addTo( importMenu ); connect( action, SIGNAL( activated() ), SLOT( exportVCalendar() ) ); 867 action->addTo( importMenu ); connect( action, SIGNAL( activated() ), SLOT( exportVCalendar() ) );
866 868
867 869
868 //LR 870 //LR
869 QPopupMenu *ex2phone = new QPopupMenu( this ); 871 QPopupMenu *ex2phone = new QPopupMenu( this );
870 ex2phone->insertItem(i18n("Complete calendar..."), 1 ); 872 ex2phone->insertItem(i18n("Complete calendar..."), 1 );
871 ex2phone->insertItem(i18n("Filtered calendar..."), 2 ); 873 ex2phone->insertItem(i18n("Filtered calendar..."), 2 );
872 connect( ex2phone, SIGNAL( activated(int) ), this, SLOT( exportToPhone( int)) ); 874 connect( ex2phone, SIGNAL( activated(int) ), this, SLOT( exportToPhone( int)) );
873 importMenu->insertItem( i18n("Export to phone"), ex2phone ); 875 importMenu->insertItem( i18n("Export to phone"), ex2phone );
874 876
875 importMenu->insertSeparator(); 877 importMenu->insertSeparator();
876 action = new QAction( "manage cat", i18n("Manage new categories..."), 0, 878 action = new QAction( "manage cat", i18n("Manage new categories..."), 0,
877 this ); 879 this );
878 action->addTo( importMenu ); 880 action->addTo( importMenu );
879 connect( action, SIGNAL( activated() ), mView, SLOT( manageCategories() ) ); 881 connect( action, SIGNAL( activated() ), mView, SLOT( manageCategories() ) );
880#ifndef DESKTOP_VERSION 882#ifndef DESKTOP_VERSION
881 importMenu->insertSeparator(); 883 importMenu->insertSeparator();
882 brAction = new QAction( "beam toggle", i18n("Beam receive enabled"), 0, 884 brAction = new QAction( "beam toggle", i18n("Beam receive enabled"), 0,
883 this ); 885 this );
884 brAction->addTo( importMenu ); 886 brAction->addTo( importMenu );
885 brAction->setToggleAction (true ) ; 887 brAction->setToggleAction (true ) ;
886 connect( brAction, SIGNAL( activated() ), this, SLOT( toggleBeamReceive() ) ); 888 connect( brAction, SIGNAL( activated() ), this, SLOT( toggleBeamReceive() ) );
887 889
888 action = new QAction( "beam all", i18n("Beam complete calendar..."), 0, 890 action = new QAction( "beam all", i18n("Beam complete calendar..."), 0,
889 this ); 891 this );
890 action->addTo( importMenu ); 892 action->addTo( importMenu );
891 connect( action, SIGNAL( activated() ), mView, SLOT( beamCalendar() ) ); 893 connect( action, SIGNAL( activated() ), mView, SLOT( beamCalendar() ) );
892 894
893 action = new QAction( "beam all", i18n("Beam filtered calendar..."), 0, 895 action = new QAction( "beam all", i18n("Beam filtered calendar..."), 0,
894 this ); 896 this );
895 action->addTo( importMenu ); 897 action->addTo( importMenu );
896 connect( action, SIGNAL( activated() ), mView, SLOT( beamFilteredCalendar()) ); 898 connect( action, SIGNAL( activated() ), mView, SLOT( beamFilteredCalendar()) );
897#else 899#else
898 importMenu->insertSeparator(); 900 importMenu->insertSeparator();
899 icon = loadPixmap( pathString + "print" ); 901 icon = loadPixmap( pathString + "print" );
900 action = new QAction( i18n("Print calendar..."),icon,i18n("Print calendar..."), 0, this ); 902 action = new QAction( i18n("Print calendar..."),icon,i18n("Print calendar..."), 0, this );
901 action->addTo( importMenu ); 903 action->addTo( importMenu );
902 connect( action, SIGNAL( activated() ), 904 connect( action, SIGNAL( activated() ),
903 this, SLOT( printCal() ) ); 905 this, SLOT( printCal() ) );
904 906
905 icon = loadPixmap( pathString + "print" ); 907 icon = loadPixmap( pathString + "print" );
906 action = new QAction( i18n("Print agenda selection..."),icon,i18n("Print agenda selection..."), 0, this ); 908 action = new QAction( i18n("Print agenda selection..."),icon,i18n("Print agenda selection..."), 0, this );
907 action->addTo( importMenu ); 909 action->addTo( importMenu );
908 connect( action, SIGNAL( activated() ), 910 connect( action, SIGNAL( activated() ),
909 this, SLOT( printSel() ) ); 911 this, SLOT( printSel() ) );
910 action = new QAction( i18n("Print What's Next View..."),icon,i18n("Print What's Next View..."), 0, this ); 912 action = new QAction( i18n("Print What's Next View..."),icon,i18n("Print What's Next View..."), 0, this );
911 action->addTo( importMenu ); 913 action->addTo( importMenu );
912 connect( action, SIGNAL( activated() ), 914 connect( action, SIGNAL( activated() ),
913 mView->viewManager(), SIGNAL( printWNV() ) ); 915 mView->viewManager(), SIGNAL( printWNV() ) );
914#endif 916#endif
915 importMenu->insertSeparator(); 917 importMenu->insertSeparator();
916 action = new QAction( "beam all", i18n("Save"), 0, 918 action = new QAction( "beam all", i18n("Save"), 0,
917 this ); 919 this );
918 action->addTo( importMenu ); 920 action->addTo( importMenu );
919 connect( action, SIGNAL( activated() ), this, SLOT( save() ) ); 921 connect( action, SIGNAL( activated() ), this, SLOT( save() ) );
920 action = new QAction( "beam all", i18n("Exit (+save)"), 0, 922 action = new QAction( "beam all", i18n("Exit (+save)"), 0,
921 this ); 923 this );
922 action->addTo( importMenu ); 924 action->addTo( importMenu );
923 connect( action, SIGNAL( activated() ), this, SLOT( close() ) ); 925 connect( action, SIGNAL( activated() ), this, SLOT( close() ) );
924 926
925 //menuBar->insertItem( "Configure",configureMenu ); 927 //menuBar->insertItem( "Configure",configureMenu );
926 //configureMenu->insertItem( "Toolbar",configureToolBarMenu ); 928 //configureMenu->insertItem( "Toolbar",configureToolBarMenu );
927 icon = loadPixmap( "korganizer/korganizer" ); 929 icon = loadPixmap( "korganizer/korganizer" );
928 930
929 action = new QAction( "Whats New", i18n("What's new?"), 0,this ); 931 action = new QAction( "Whats New", i18n("What's new?"), 0,this );
930 action->addTo( helpMenu ); 932 action->addTo( helpMenu );
931 connect( action, SIGNAL( activated() ), 933 connect( action, SIGNAL( activated() ),
932 SLOT( whatsNew() ) ); 934 SLOT( whatsNew() ) );
933 action = new QAction( "featureHowto", i18n("Features + hints..."), 0,this ); 935 action = new QAction( "featureHowto", i18n("Features + hints..."), 0,this );
934 action->addTo( helpMenu ); 936 action->addTo( helpMenu );
935 connect( action, SIGNAL( activated() ), 937 connect( action, SIGNAL( activated() ),
936 SLOT( features() ) ); 938 SLOT( features() ) );
937 action = new QAction( "Keys + Colors", i18n("Keys + Colors..."), 0, this ); 939 action = new QAction( "Keys + Colors", i18n("Keys + Colors..."), 0, this );
938 action->addTo( helpMenu ); 940 action->addTo( helpMenu );
939 connect( action, SIGNAL( activated() ), 941 connect( action, SIGNAL( activated() ),
940 SLOT( keyBindings() ) ); 942 SLOT( keyBindings() ) );
941 action = new QAction( "Sync Howto", i18n("Sync HowTo..."), 0,this ); 943 action = new QAction( "Sync Howto", i18n("Sync HowTo..."), 0,this );
942 action->addTo( helpMenu ); 944 action->addTo( helpMenu );
943 connect( action, SIGNAL( activated() ), 945 connect( action, SIGNAL( activated() ),
944 SLOT( synchowto() ) ); 946 SLOT( synchowto() ) );
945 action = new QAction( "KDE Sync Howto", i18n("KDE Sync HowTo..."), 0,this ); 947 action = new QAction( "KDE Sync Howto", i18n("KDE Sync HowTo..."), 0,this );
946 action->addTo( helpMenu ); 948 action->addTo( helpMenu );
947 connect( action, SIGNAL( activated() ), 949 connect( action, SIGNAL( activated() ),
948 SLOT( kdesynchowto() ) ); 950 SLOT( kdesynchowto() ) );
949 action = new QAction( "Multi Sync Howto", i18n("Multi Sync HowTo..."), 0,this ); 951 action = new QAction( "Multi Sync Howto", i18n("Multi Sync HowTo..."), 0,this );
950 action->addTo( helpMenu ); 952 action->addTo( helpMenu );
951 connect( action, SIGNAL( activated() ), 953 connect( action, SIGNAL( activated() ),
952 SLOT( multisynchowto() ) ); 954 SLOT( multisynchowto() ) );
953 action = new QAction( "Auto saving", i18n("Auto saving..."), 0, this ); 955 action = new QAction( "Auto saving", i18n("Auto saving..."), 0, this );
954 action->addTo( helpMenu ); 956 action->addTo( helpMenu );
955 connect( action, SIGNAL( activated() ), 957 connect( action, SIGNAL( activated() ),
956 SLOT( aboutAutoSaving() ) ); 958 SLOT( aboutAutoSaving() ) );
957 action = new QAction( "Problemd", i18n("Known Problems..."), 0,this ); 959 action = new QAction( "Problemd", i18n("Known Problems..."), 0,this );
958 action->addTo( helpMenu ); 960 action->addTo( helpMenu );
959 connect( action, SIGNAL( activated() ), 961 connect( action, SIGNAL( activated() ),
960 SLOT( aboutKnownBugs() ) ); 962 SLOT( aboutKnownBugs() ) );
961 action = new QAction( "Translate Howto", i18n("User translation..."), 0,this ); 963 action = new QAction( "Translate Howto", i18n("User translation..."), 0,this );
962 action->addTo( helpMenu ); 964 action->addTo( helpMenu );
963 connect( action, SIGNAL( activated() ), 965 connect( action, SIGNAL( activated() ),
964 SLOT( usertrans() ) ); 966 SLOT( usertrans() ) );
965 action = new QAction( "Frequently asked questions", i18n("FAQ..."), 0,this ); 967 action = new QAction( "Frequently asked questions", i18n("FAQ..."), 0,this );
966 action->addTo( helpMenu ); 968 action->addTo( helpMenu );
967 connect( action, SIGNAL( activated() ), 969 connect( action, SIGNAL( activated() ),
968 SLOT( faq() ) ); 970 SLOT( faq() ) );
969 action = new QAction( "licence", i18n("Licence..."), 0, this ); 971 action = new QAction( "licence", i18n("Licence..."), 0, this );
970 action->addTo( helpMenu ); 972 action->addTo( helpMenu );
971 connect( action, SIGNAL( activated() ), 973 connect( action, SIGNAL( activated() ),
972 SLOT( licence() ) ); 974 SLOT( licence() ) );
973 action = new QAction( "about", i18n("About..."), 0, this ); 975 action = new QAction( "about", i18n("About..."), 0, this );
974 action->addTo( helpMenu ); 976 action->addTo( helpMenu );
975 connect( action, SIGNAL( activated() ), 977 connect( action, SIGNAL( activated() ),
976 SLOT( about() ) ); 978 SLOT( about() ) );
977 //menuBar->insertSeparator(); 979 //menuBar->insertSeparator();
978 980
979 // ****************************************************** 981 // ******************************************************
980 // menubar icons 982 // menubar icons
981 983
982 984
983 iconToolBar->setHorizontalStretchable (true ); 985 iconToolBar->setHorizontalStretchable (true );
984 //menuBar->insertItem( iconToolBar ); 986 //menuBar->insertItem( iconToolBar );
985 //xdays_action 987 //xdays_action
986 if (p-> mShowIconNewEvent) 988 if (p-> mShowIconNewEvent)
987 ne_action->addTo( iconToolBar ); 989 ne_action->addTo( iconToolBar );
988 if (p->mShowIconNewTodo ) 990 if (p->mShowIconNewTodo )
989 nt_action->addTo( iconToolBar ); 991 nt_action->addTo( iconToolBar );
990 if (p-> mShowIconSearch) 992 if (p-> mShowIconSearch)
991 search_action->addTo( iconToolBar ); 993 search_action->addTo( iconToolBar );
992 if (p-> mShowIconNext) 994 if (p-> mShowIconNext)
993 whatsnext_action->addTo( iconToolBar ); 995 whatsnext_action->addTo( iconToolBar );
994 if (p-> mShowIconNextDays) 996 if (p-> mShowIconNextDays)
995 xdays_action->addTo( iconToolBar ); 997 xdays_action->addTo( iconToolBar );
996 if (p-> mShowIconList) 998 if (p-> mShowIconList)
997 showlist_action->addTo( iconToolBar ); 999 showlist_action->addTo( iconToolBar );
998 if (p-> mShowIconDay1) 1000 if (p-> mShowIconDay1)
999 day1_action->addTo( iconToolBar ); 1001 day1_action->addTo( iconToolBar );
1000 if (p-> mShowIconDay5) 1002 if (p-> mShowIconDay5)
1001 day5_action->addTo( iconToolBar ); 1003 day5_action->addTo( iconToolBar );
1002 if (p-> mShowIconDay7) 1004 if (p-> mShowIconDay7)
1003 day7_action->addTo( iconToolBar ); 1005 day7_action->addTo( iconToolBar );
1004 if (p-> mShowIconMonth)
1005 month_action->addTo( iconToolBar );
1006 if (p-> mShowIconDay6) 1006 if (p-> mShowIconDay6)
1007 day6_action->addTo( iconToolBar ); 1007 day6_action->addTo( iconToolBar );
1008 if (p-> mShowIconMonth)
1009 month_action->addTo( iconToolBar );
1008 if (p-> mShowIconTodoview) 1010 if (p-> mShowIconTodoview)
1009 todoview_action->addTo( iconToolBar ); 1011 todoview_action->addTo( iconToolBar );
1010 if (p-> mShowIconJournal) 1012 if (p-> mShowIconJournal)
1011 viewjournal_action->addTo( iconToolBar ); 1013 viewjournal_action->addTo( iconToolBar );
1012 icon = loadPixmap( pathString + "2leftarrowB" ); 1014 icon = loadPixmap( pathString + "2leftarrowB" );
1013 configureToolBarMenu->insertItem(icon, i18n("Prev. month"), 200, 14); 1015 configureToolBarMenu->insertItem(icon, i18n("Prev. month"), 200, 14);
1014 if (p-> mShowIconBackFast) { 1016 if (p-> mShowIconBackFast) {
1015 action = new QAction( i18n("Prev. month"), icon, i18n("Prev. month"),0 , this ); 1017 action = new QAction( i18n("Prev. month"), icon, i18n("Prev. month"),0 , this );
1016 connect( action, SIGNAL( activated() ), 1018 connect( action, SIGNAL( activated() ),
1017 mView, SLOT( goPreviousMonth() ) ); 1019 mView, SLOT( goPreviousMonth() ) );
1018 action->addTo( iconToolBar ); 1020 action->addTo( iconToolBar );
1019 } 1021 }
1020 icon = loadPixmap( pathString + "1leftarrowB" ); 1022 icon = loadPixmap( pathString + "1leftarrowB" );
1021 configureToolBarMenu->insertItem(icon, i18n("Go backward"), 210,15); 1023 configureToolBarMenu->insertItem(icon, i18n("Go backward"), 210,15);
1022 if (p-> mShowIconBack) { 1024 if (p-> mShowIconBack) {
1023 action = new QAction( i18n("Go backward"), icon, i18n("Go backward"),0 , this ); 1025 action = new QAction( i18n("Go backward"), icon, i18n("Go backward"),0 , this );
1024 connect( action, SIGNAL( activated() ), 1026 connect( action, SIGNAL( activated() ),
1025 mView, SLOT( goPrevious() ) ); 1027 mView, SLOT( goPrevious() ) );
1026 action->addTo( iconToolBar ); 1028 action->addTo( iconToolBar );
1027 } 1029 }
1028 icon = loadPixmap( pathString + "today" ); 1030 icon = loadPixmap( pathString + "today" );
1029 configureToolBarMenu->insertItem(icon, i18n("Go to Today"), 130); 1031 configureToolBarMenu->insertItem(icon, i18n("Go to Today"), 130);
1030 if (p-> mShowIconToday) 1032 if (p-> mShowIconToday)
1031 today_action->addTo( iconToolBar ); 1033 today_action->addTo( iconToolBar );
1032 icon = loadPixmap( pathString + "1rightarrowB" ); 1034 icon = loadPixmap( pathString + "1rightarrowB" );
1033 configureToolBarMenu->insertItem(icon, i18n("Go forward"), 220); 1035 configureToolBarMenu->insertItem(icon, i18n("Go forward"), 220);
1034 if (p-> mShowIconForward) { 1036 if (p-> mShowIconForward) {
1035 action = new QAction( i18n("Go forward"), icon, i18n("Go forward"),0 , this ); 1037 action = new QAction( i18n("Go forward"), icon, i18n("Go forward"),0 , this );
1036 connect( action, SIGNAL( activated() ), 1038 connect( action, SIGNAL( activated() ),
1037 mView, SLOT( goNext() ) ); 1039 mView, SLOT( goNext() ) );
1038 action->addTo( iconToolBar ); 1040 action->addTo( iconToolBar );
1039 } 1041 }
1040 icon = loadPixmap( pathString + "2rightarrowB" ); 1042 icon = loadPixmap( pathString + "2rightarrowB" );
1041 configureToolBarMenu->insertItem(icon, i18n("Next month"), 230); 1043 configureToolBarMenu->insertItem(icon, i18n("Next month"), 230);
1042 if (p-> mShowIconForwardFast) { 1044 if (p-> mShowIconForwardFast) {
1043 action = new QAction( i18n("Next month"), icon, i18n("Next month"),0 , this ); 1045 action = new QAction( i18n("Next month"), icon, i18n("Next month"),0 , this );
1044 connect( action, SIGNAL( activated() ), 1046 connect( action, SIGNAL( activated() ),
1045 mView, SLOT( goNextMonth() ) ); 1047 mView, SLOT( goNextMonth() ) );
1046 action->addTo( iconToolBar ); 1048 action->addTo( iconToolBar );
1047 } 1049 }
1048 1050
1049 1051
1050 configureToolBarMenu->insertItem(i18n("What's This?"), 300); 1052 configureToolBarMenu->insertItem(i18n("What's This?"), 300);
1051 1053
1052 if (p-> mShowIconNewEvent) 1054 if (p-> mShowIconNewEvent)
1053 configureToolBarMenu->setItemChecked( 10, true ); 1055 configureToolBarMenu->setItemChecked( 10, true );
1054 if (p->mShowIconNewTodo ) 1056 if (p->mShowIconNewTodo )
1055 configureToolBarMenu->setItemChecked( 20, true ); 1057 configureToolBarMenu->setItemChecked( 20, true );
1056 if (p-> mShowIconSearch) 1058 if (p-> mShowIconSearch)
1057 configureToolBarMenu->setItemChecked( 120, true ); 1059 configureToolBarMenu->setItemChecked( 120, true );
1058 if (p-> mShowIconList) 1060 if (p-> mShowIconList)
1059 configureToolBarMenu->setItemChecked( 30, true ); 1061 configureToolBarMenu->setItemChecked( 30, true );
1060 if (p-> mShowIconDay1) 1062 if (p-> mShowIconDay1)
1061 configureToolBarMenu->setItemChecked( 40, true ); 1063 configureToolBarMenu->setItemChecked( 40, true );
1062 if (p-> mShowIconDay5) 1064 if (p-> mShowIconDay5)
1063 configureToolBarMenu->setItemChecked( 50, true ); 1065 configureToolBarMenu->setItemChecked( 50, true );
1064 if (p-> mShowIconDay6) 1066 if (p-> mShowIconDay6)
1065 configureToolBarMenu->setItemChecked( 75, true ); 1067 configureToolBarMenu->setItemChecked( 75, true );
1066 if (p-> mShowIconDay7) 1068 if (p-> mShowIconDay7)
1067 configureToolBarMenu->setItemChecked( 60, true ); 1069 configureToolBarMenu->setItemChecked( 60, true );
1068 if (p-> mShowIconMonth) 1070 if (p-> mShowIconMonth)
1069 configureToolBarMenu->setItemChecked( 70, true ); 1071 configureToolBarMenu->setItemChecked( 70, true );
1070 if (p-> mShowIconTodoview) 1072 if (p-> mShowIconTodoview)
1071 configureToolBarMenu->setItemChecked( 80, true ); 1073 configureToolBarMenu->setItemChecked( 80, true );
1072 if (p-> mShowIconBackFast) 1074 if (p-> mShowIconBackFast)
1073 configureToolBarMenu->setItemChecked( 200, true ); 1075 configureToolBarMenu->setItemChecked( 200, true );
1074 if (p-> mShowIconBack) 1076 if (p-> mShowIconBack)
1075 configureToolBarMenu->setItemChecked( 210, true ); 1077 configureToolBarMenu->setItemChecked( 210, true );
1076 if (p-> mShowIconToday) 1078 if (p-> mShowIconToday)
1077 configureToolBarMenu->setItemChecked( 130, true ); 1079 configureToolBarMenu->setItemChecked( 130, true );
1078 if (p-> mShowIconForward) 1080 if (p-> mShowIconForward)
1079 configureToolBarMenu->setItemChecked( 220, true ); 1081 configureToolBarMenu->setItemChecked( 220, true );
1080 if (p-> mShowIconForwardFast) 1082 if (p-> mShowIconForwardFast)
1081 configureToolBarMenu->setItemChecked( 230, true ); 1083 configureToolBarMenu->setItemChecked( 230, true );
1082 if (p-> mShowIconNextDays) 1084 if (p-> mShowIconNextDays)
1083 configureToolBarMenu->setItemChecked( 100, true ); 1085 configureToolBarMenu->setItemChecked( 100, true );
1084 if (p-> mShowIconNext) 1086 if (p-> mShowIconNext)
1085 configureToolBarMenu->setItemChecked( 110, true ); 1087 configureToolBarMenu->setItemChecked( 110, true );
1086 if (p-> mShowIconJournal) 1088 if (p-> mShowIconJournal)
1087 configureToolBarMenu->setItemChecked( 90, true ); 1089 configureToolBarMenu->setItemChecked( 90, true );
1088 if (p-> mShowIconWhatsThis) 1090 if (p-> mShowIconWhatsThis)
1089 configureToolBarMenu->setItemChecked( 300, true ); 1091 configureToolBarMenu->setItemChecked( 300, true );
1090 1092 if (p-> mShowIconWeekNum)
1093 configureToolBarMenu->setItemChecked( 400, true );
1091 QLabel* dummy = new QLabel( iconToolBar ); 1094 QLabel* dummy = new QLabel( iconToolBar );
1092 dummy->setBackgroundColor( iconToolBar->backgroundColor() ); 1095 dummy->setBackgroundColor( iconToolBar->backgroundColor() );
1093 if (!p-> mShowIconStretch) 1096 if (!p-> mShowIconStretch)
1094 iconToolBar->setStretchableWidget ( dummy ) ; 1097 iconToolBar->setStretchableWidget ( dummy ) ;
1095 else 1098 else
1096 configureToolBarMenu->setItemChecked( 5, true ); 1099 configureToolBarMenu->setItemChecked( 5, true );
1097 if (p-> mShowIconWhatsThis) 1100 if (p-> mShowIconWhatsThis)
1098 QWhatsThis::whatsThisButton ( iconToolBar ); 1101 QWhatsThis::whatsThisButton ( iconToolBar );
1099 connect( configureToolBarMenu, SIGNAL( activated( int ) ),this, SLOT(configureToolBar( int ) ) ); 1102 connect( configureToolBarMenu, SIGNAL( activated( int ) ),this, SLOT(configureToolBar( int ) ) );
1100 configureAgenda( p->mHourSize ); 1103 configureAgenda( p->mHourSize );
1101 connect( configureAgendaMenu, SIGNAL( activated( int ) ),this, SLOT(configureAgenda( int ) ) ); 1104 connect( configureAgendaMenu, SIGNAL( activated( int ) ),this, SLOT(configureAgenda( int ) ) );
1102} 1105}
1103 1106
1104void MainWindow::exportToPhone( int mode ) 1107void MainWindow::exportToPhone( int mode )
1105{ 1108{
1106 1109
1107 //ex2phone->insertItem(i18n("Complete calendar..."), 1 ); 1110 //ex2phone->insertItem(i18n("Complete calendar..."), 1 );
1108 //ex2phone->insertItem(i18n("Filtered calendar..."), 2 ); 1111 //ex2phone->insertItem(i18n("Filtered calendar..."), 2 );
1109 KOex2phonePrefs ex2phone; 1112 KOex2phonePrefs ex2phone;
1110 1113
1111 ex2phone.mPhoneConnection->setText( KPimGlobalPrefs::instance()->mEx2PhoneConnection ); 1114 ex2phone.mPhoneConnection->setText( KPimGlobalPrefs::instance()->mEx2PhoneConnection );
1112 ex2phone.mPhoneDevice->setText( KPimGlobalPrefs::instance()->mEx2PhoneDevice ); 1115 ex2phone.mPhoneDevice->setText( KPimGlobalPrefs::instance()->mEx2PhoneDevice );
1113 ex2phone.mPhoneModel->setText( KPimGlobalPrefs::instance()->mEx2PhoneModel ); 1116 ex2phone.mPhoneModel->setText( KPimGlobalPrefs::instance()->mEx2PhoneModel );
1114 if ( mode == 1 ) 1117 if ( mode == 1 )
1115 ex2phone.setCaption(i18n("Export complete calendar")); 1118 ex2phone.setCaption(i18n("Export complete calendar"));
1116 if ( mode == 2 ) 1119 if ( mode == 2 )
1117 ex2phone.setCaption(i18n("Export filtered calendar")); 1120 ex2phone.setCaption(i18n("Export filtered calendar"));
1118 1121
1119 if ( !ex2phone.exec() ) { 1122 if ( !ex2phone.exec() ) {
1120 return; 1123 return;
1121 } 1124 }
1122 KPimGlobalPrefs::instance()->mEx2PhoneConnection = ex2phone.mPhoneConnection->text(); 1125 KPimGlobalPrefs::instance()->mEx2PhoneConnection = ex2phone.mPhoneConnection->text();
1123 KPimGlobalPrefs::instance()->mEx2PhoneDevice = ex2phone.mPhoneDevice->text(); 1126 KPimGlobalPrefs::instance()->mEx2PhoneDevice = ex2phone.mPhoneDevice->text();
1124 KPimGlobalPrefs::instance()->mEx2PhoneModel = ex2phone.mPhoneModel->text(); 1127 KPimGlobalPrefs::instance()->mEx2PhoneModel = ex2phone.mPhoneModel->text();
1125 1128
1126 int inFuture = 0; 1129 int inFuture = 0;
1127 if ( ex2phone.mWriteBackFuture->isChecked() ) 1130 if ( ex2phone.mWriteBackFuture->isChecked() )
1128 inFuture = ex2phone.mWriteBackFutureWeeks->value(); 1131 inFuture = ex2phone.mWriteBackFutureWeeks->value();
1129 QPtrList<Incidence> delSel; 1132 QPtrList<Incidence> delSel;
1130 if ( mode == 1 ) 1133 if ( mode == 1 )
1131 delSel = mCalendar->rawIncidences(); 1134 delSel = mCalendar->rawIncidences();
1132 if ( mode == 2 ) 1135 if ( mode == 2 )
1133 delSel = mCalendar->incidences(); 1136 delSel = mCalendar->incidences();
1134 CalendarLocal* cal = new CalendarLocal(); 1137 CalendarLocal* cal = new CalendarLocal();
1135 cal->setLocalTime(); 1138 cal->setLocalTime();
1136 Incidence *incidence = delSel.first(); 1139 Incidence *incidence = delSel.first();
1137 QDateTime cur = QDateTime::currentDateTime().addDays( -7 ); 1140 QDateTime cur = QDateTime::currentDateTime().addDays( -7 );
1138 QDateTime end = cur.addDays( ( inFuture +1 ) *7 ); 1141 QDateTime end = cur.addDays( ( inFuture +1 ) *7 );
1139 while ( incidence ) { 1142 while ( incidence ) {
1140 if ( incidence->type() != "Journal" ) { 1143 if ( incidence->type() != "Journal" ) {
1141 bool add = true; 1144 bool add = true;
1142 if ( inFuture ) { 1145 if ( inFuture ) {
1143 QDateTime dt; 1146 QDateTime dt;
1144 if ( incidence->type() == "Todo" ) { 1147 if ( incidence->type() == "Todo" ) {
1145 Todo * t = (Todo*)incidence; 1148 Todo * t = (Todo*)incidence;
1146 if ( t->hasDueDate() ) 1149 if ( t->hasDueDate() )
1147 dt = t->dtDue(); 1150 dt = t->dtDue();
1148 else 1151 else
1149 dt = cur.addSecs( 62 ); 1152 dt = cur.addSecs( 62 );
1150 } 1153 }
1151 else { 1154 else {
1152 bool ok; 1155 bool ok;
1153 dt = incidence->getNextOccurence( cur, &ok ); 1156 dt = incidence->getNextOccurence( cur, &ok );
1154 if ( !ok ) 1157 if ( !ok )
1155 dt = cur.addSecs( -62 ); 1158 dt = cur.addSecs( -62 );
1156 } 1159 }
1157 if ( dt < cur || dt > end ) { 1160 if ( dt < cur || dt > end ) {
1158 add = false; 1161 add = false;
1159 } 1162 }
1160 } 1163 }
1161 if ( add ) { 1164 if ( add ) {
1162 Incidence *in = incidence->clone(); 1165 Incidence *in = incidence->clone();
1163 cal->addIncidence( in ); 1166 cal->addIncidence( in );
1164 } 1167 }
1165 } 1168 }
1166 incidence = delSel.next(); 1169 incidence = delSel.next();
1167 } 1170 }
1168 PhoneAccess::writeConfig( KPimGlobalPrefs::instance()->mEx2PhoneDevice, 1171 PhoneAccess::writeConfig( KPimGlobalPrefs::instance()->mEx2PhoneDevice,
1169 KPimGlobalPrefs::instance()->mEx2PhoneConnection, 1172 KPimGlobalPrefs::instance()->mEx2PhoneConnection,
1170 KPimGlobalPrefs::instance()->mEx2PhoneModel ); 1173 KPimGlobalPrefs::instance()->mEx2PhoneModel );
1171 1174
1172 setCaption( i18n("Writing to phone...")); 1175 setCaption( i18n("Writing to phone..."));
1173 if ( PhoneFormat::writeToPhone( cal ) ) 1176 if ( PhoneFormat::writeToPhone( cal ) )
1174 setCaption( i18n("Export to phone successful!")); 1177 setCaption( i18n("Export to phone successful!"));
1175 else 1178 else
1176 setCaption( i18n("Error exporting to phone!")); 1179 setCaption( i18n("Error exporting to phone!"));
1177 delete cal; 1180 delete cal;
1178} 1181}
1179 1182
1180 1183
1181void MainWindow::setDefaultPreferences() 1184void MainWindow::setDefaultPreferences()
1182{ 1185{
1183 KOPrefs *p = KOPrefs::instance(); 1186 KOPrefs *p = KOPrefs::instance();
1184 1187
1185 p->mCompactDialogs = true; 1188 p->mCompactDialogs = true;
1186 p->mConfirm = true; 1189 p->mConfirm = true;
1187 // p->mEnableQuickTodo = false; 1190 // p->mEnableQuickTodo = false;
1188 1191
1189} 1192}
1190 1193
1191QString MainWindow::resourcePath() 1194QString MainWindow::resourcePath()
1192{ 1195{
1193 return KGlobal::iconLoader()->iconPath(); 1196 return KGlobal::iconLoader()->iconPath();
1194} 1197}
1195 1198
1196void MainWindow::displayText( QString text ,QString cap ) 1199void MainWindow::displayText( QString text ,QString cap )
1197{ 1200{
1198 QDialog dia( this, "name", true ); ; 1201 QDialog dia( this, "name", true ); ;
1199 dia.setCaption( cap ); 1202 dia.setCaption( cap );
1200 QVBoxLayout* lay = new QVBoxLayout( &dia ); 1203 QVBoxLayout* lay = new QVBoxLayout( &dia );
1201 lay->setSpacing( 3 ); 1204 lay->setSpacing( 3 );
1202 lay->setMargin( 3 ); 1205 lay->setMargin( 3 );
1203 QTextBrowser tb ( &dia ); 1206 QTextBrowser tb ( &dia );
1204 lay->addWidget( &tb ); 1207 lay->addWidget( &tb );
1205 tb.setText( text ); 1208 tb.setText( text );
1206#ifdef DESKTOP_VERSION 1209#ifdef DESKTOP_VERSION
1207 dia.resize( 640, 480); 1210 dia.resize( 640, 480);
1208#else 1211#else
1209 dia.showMaximized(); 1212 dia.showMaximized();
1210#endif 1213#endif
1211 dia.exec(); 1214 dia.exec();
1212} 1215}
1213 1216
1214void MainWindow::features() 1217void MainWindow::features()
1215{ 1218{
1216 1219
1217 KApplication::showFile( i18n("KO/Pi Features and hints"), "kdepim/korganizer/featuresKOPI.txt" ); 1220 KApplication::showFile( i18n("KO/Pi Features and hints"), "kdepim/korganizer/featuresKOPI.txt" );
1218} 1221}
1219 1222
1220void MainWindow::usertrans() 1223void MainWindow::usertrans()
1221{ 1224{
1222 1225
1223 KApplication::showFile( i18n("KO/Pi User translation HowTo"), "kdepim/korganizer/usertranslationHOWTO.txt" ); 1226 KApplication::showFile( i18n("KO/Pi User translation HowTo"), "kdepim/korganizer/usertranslationHOWTO.txt" );
1224} 1227}
1225 1228
1226void MainWindow::kdesynchowto() 1229void MainWindow::kdesynchowto()
1227{ 1230{
1228 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/Zaurus-KDE_syncHowTo.txt" ); 1231 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/Zaurus-KDE_syncHowTo.txt" );
1229} 1232}
1230void MainWindow::multisynchowto() 1233void MainWindow::multisynchowto()
1231{ 1234{
1232 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/MultiSyncHowTo.txt" ); 1235 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/MultiSyncHowTo.txt" );
1233} 1236}
1234void MainWindow::synchowto() 1237void MainWindow::synchowto()
1235{ 1238{
1236 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/SyncHowto.txt" ); 1239 KApplication::showFile( "KDE-Pim/Pi Synchronization HowTo", "kdepim/SyncHowto.txt" );
1237} 1240}
1238void MainWindow::faq() 1241void MainWindow::faq()
1239{ 1242{
1240 KApplication::showFile( i18n("KO/Pi FAQ"), "kdepim/korganizer/kopiFAQ.txt" ); 1243 KApplication::showFile( i18n("KO/Pi FAQ"), "kdepim/korganizer/kopiFAQ.txt" );
1241 1244
1242} 1245}
1243void MainWindow::whatsNew() 1246void MainWindow::whatsNew()
1244{ 1247{
1245 KApplication::showFile( "KDE-Pim/Pi Version Info", "kdepim/WhatsNew.txt" ); 1248 KApplication::showFile( "KDE-Pim/Pi Version Info", "kdepim/WhatsNew.txt" );
1246 1249
1247} 1250}
1248void MainWindow::licence() 1251void MainWindow::licence()
1249{ 1252{
1250 KApplication::showLicence(); 1253 KApplication::showLicence();
1251 1254
1252} 1255}
1253void MainWindow::about() 1256void MainWindow::about()
1254{ 1257{
1255 QString version; 1258 QString version;
1256#include <../version> 1259#include <../version>
1257 QMessageBox::about( this, i18n("About KOrganizer/Pi"), 1260 QMessageBox::about( this, i18n("About KOrganizer/Pi"),
1258 i18n("KOrganizer/Platform-independent\n") + 1261 i18n("KOrganizer/Platform-independent\n") +
1259 "(KO/Pi) " + version + " - " + 1262 "(KO/Pi) " + version + " - " +
1260 1263
1261#ifdef DESKTOP_VERSION 1264#ifdef DESKTOP_VERSION
1262 i18n("Desktop Edition\n") + 1265 i18n("Desktop Edition\n") +
1263#else 1266#else
1264 i18n("PDA-Edition\nfor: Zaurus 5x00/7x0/860/3000/6000\n") + 1267 i18n("PDA-Edition\nfor: Zaurus 5x00/7x0/860/3000/6000\n") +
1265#endif 1268#endif
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!") ); 1269 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!") );
1267} 1270}
1268void MainWindow::keyBindings() 1271void MainWindow::keyBindings()
1269{ 1272{
1270 QString cap = i18n("KO/Pi Keys + Colors"); 1273 QString cap = i18n("KO/Pi Keys + Colors");
1271 QString text = i18n("<p><h2>KO/Pi key shortcuts:</h2></p>\n") + 1274 QString text = i18n("<p><h2>KO/Pi key shortcuts:</h2></p>\n") +
1272 i18n("<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n")+ 1275 i18n("<p><b>H</b>: This help dialog | <b>S</b>: Search dialog</p>\n")+
1273 i18n("<p><b>I</b>: Show info for selected event/todo</p>\n") + 1276 i18n("<p><b>I</b>: Show info for selected event/todo</p>\n") +
1274 i18n("<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n")+ 1277 i18n("<p><b>Space</b>: Toggle fullscreen | <b>P</b>: Date picker</p>\n")+
1275 i18n("<p><b>F</b>: Toggle filterview |<b>F+ctrl</b>: Edit filter </p>\n")+ 1278 i18n("<p><b>F</b>: Toggle filterview |<b>F+ctrl</b>: Edit filter </p>\n")+
1276 i18n("<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n")+ 1279 i18n("<p><b>O</b>: Filter On/Off | <b>J</b>: Journal view</p>\n")+
1277 i18n("<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n")+ 1280 i18n("<p><b>1-0</b> (+<b>ctrl</b>): Select filter 1-10 (11-20)</p>\n")+
1278 i18n("<p><b>N</b>: Next days view| <b>W</b>: What's next view\n ")+ 1281 i18n("<p><b>N</b>: Next days view| <b>W</b>: What's next view\n ")+
1279 i18n("<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n")+ 1282 i18n("<p><b>V</b>: Todo view | <b>L</b>: Event list view</p>\n")+
1280 i18n("<p><b>Z,Y</b>: Work week view | <b>U</b>: Week view</p>\n")+ 1283 i18n("<p><b>Z,Y</b>: Work week view | <b>U</b>: Week view</p>\n")+
1281 i18n("<p><b>D</b>: One day view | <b>M</b>: Month view</p>\n")+ 1284 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")+ 1285 i18n("<p><b>K</b>: Week view in Month view syle</p>\n")+
1283 i18n("<p><b>E</b>: Edit selected item |<b> E+ctrl</b>: New Event</p>\n")+ 1286 i18n("<p><b>E</b>: Edit selected item |<b> E+ctrl</b>: New Event</p>\n")+
1284 i18n("<p><b>T</b>: Goto today | <b>T+ctrl</b>: New Todo</p>\n")+ 1287 i18n("<p><b>T</b>: Goto today | <b>T+ctrl</b>: New Todo</p>\n")+
1285 i18n("<p><b>S+ctrl</b>: Add sub-todo | <b>X</b>: Toggle datenavigator</p>\n")+ 1288 i18n("<p><b>S+ctrl</b>: Add sub-todo | <b>X</b>: Toggle datenavigator</p>\n")+
1286 i18n("<p><b>+,-</b> : Zoom in/out agenda | <b>A</b>: Toggle allday agenda height</p>\n")+ 1289 i18n("<p><b>+,-</b> : Zoom in/out agenda | <b>A</b>: Toggle allday agenda height</p>\n")+
1287 i18n("<p><b>C</b>: Show current time in agenda view</p>\n")+ 1290 i18n("<p><b>C</b>: Show current time in agenda view</p>\n")+
1288 i18n("<p><b>B</b>: Edit description (details) of selected item</p>\n")+ 1291 i18n("<p><b>B</b>: Edit description (details) of selected item</p>\n")+
1289 i18n("<p><b>right</b>: Next week | <b>right+ctrl</b>: Next month</p>\n")+ 1292 i18n("<p><b>right</b>: Next week | <b>right+ctrl</b>: Next month</p>\n")+
1290 i18n("<p><b>left</b>: Prev. week | <b>left+ctrl</b>: Prev. month</p>\n")+ 1293 i18n("<p><b>left</b>: Prev. week | <b>left+ctrl</b>: Prev. month</p>\n")+
1291 i18n("<p><b>del,backspace</b>: Delete selected item</p>\n")+ 1294 i18n("<p><b>del,backspace</b>: Delete selected item</p>\n")+
1292 i18n("<p><h3>In agenda view:</h3></p>\n") + 1295 i18n("<p><h3>In agenda view:</h3></p>\n") +
1293 i18n("<p><b>up/down</b>: Scroll agenda view</p>\n")+ 1296 i18n("<p><b>up/down</b>: Scroll agenda view</p>\n")+
1294 i18n("<p><b>ctrl+up/down</b>: Scroll small todo view</p>\n")+ 1297 i18n("<p><b>ctrl+up/down</b>: Scroll small todo view</p>\n")+
1295 i18n("<p><h3>In todo view:</h3></p>\n") + 1298 i18n("<p><h3>In todo view:</h3></p>\n") +
1296 i18n("<p><b>shift+U</b>: <b>U</b>nparent todo (make root todo)</p>\n")+ 1299 i18n("<p><b>shift+U</b>: <b>U</b>nparent todo (make root todo)</p>\n")+
1297 i18n("<p><b>shift+S</b>: Make <b>S</b>ubtodo (reparent todo)</p>\n")+ 1300 i18n("<p><b>shift+S</b>: Make <b>S</b>ubtodo (reparent todo)</p>\n")+
1298 i18n("<p><b>shift+P</b>: Make new <b>P</b>arent for todo selected with shift+S</p>\n")+ 1301 i18n("<p><b>shift+P</b>: Make new <b>P</b>arent for todo selected with shift+S</p>\n")+
1299 i18n("<p><b>Q</b>: Toggle quick todo line edit.</p>\n")+ 1302 i18n("<p><b>Q</b>: Toggle quick todo line edit.</p>\n")+
1300 i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+ 1303 i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+
1301 i18n("<p><b>return</b>: Mark item as completed+one step down.</p>\n")+ 1304 i18n("<p><b>return</b>: Mark item as completed+one step down.</p>\n")+
1302 i18n("<p><b>return+shift</b>: Mark item as not completed+one step down</p>\n")+ 1305 i18n("<p><b>return+shift</b>: Mark item as not completed+one step down</p>\n")+
1303 i18n("<p><h3>In list view:</h3></p>\n") + 1306 i18n("<p><h3>In list view:</h3></p>\n") +
1304 i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+ 1307 i18n("<p><b>I</b>: Show info of current item+one step down.</p>\n")+
1305 i18n("<p><b>return</b>: Select item+one step down</p>\n")+ 1308 i18n("<p><b>return</b>: Select item+one step down</p>\n")+
1306 i18n("<p><b>return+shift</b>: Deselect item+one step down</p>\n")+ 1309 i18n("<p><b>return+shift</b>: Deselect item+one step down</p>\n")+
1307 i18n("<p><b>up/down</b>: Next/prev item</p>\n")+ 1310 i18n("<p><b>up/down</b>: Next/prev item</p>\n")+
1308 i18n("<p><b>ctrl+up/down</b>: Goto up/down by 20% of items</p>\n")+ 1311 i18n("<p><b>ctrl+up/down</b>: Goto up/down by 20% of items</p>\n")+
1309 i18n("<p><b>shift+up/down</b>: Goto first/last item</p>\n")+ 1312 i18n("<p><b>shift+up/down</b>: Goto first/last item</p>\n")+
1310 i18n("<p><h3>In event/todo viewer:</h3></p>\n") + 1313 i18n("<p><h3>In event/todo viewer:</h3></p>\n") +
1311 i18n("<p><b>I,C</b>: Close dialog.</p>\n")+ 1314 i18n("<p><b>I,C</b>: Close dialog.</p>\n")+
1312 i18n("<p><b>A</b>: Show agenda view.</p>\n")+ 1315 i18n("<p><b>A</b>: Show agenda view.</p>\n")+
1313 i18n("<p><b>E</b>: Edit item</p>\n") + 1316 i18n("<p><b>E</b>: Edit item</p>\n") +
1314 i18n("<p><h2>KO/Pi icon colors:</h2></p>\n") + 1317 i18n("<p><h2>KO/Pi icon colors:</h2></p>\n") +
1315 i18n("<p><b>(for square icons in agenda and month view)</b></p>\n") + 1318 i18n("<p><b>(for square icons in agenda and month view)</b></p>\n") +
1316 i18n("<p><b>Cross</b>: Item cancelled.([c] in Whats'Next view)</p>\n")+ 1319 i18n("<p><b>Cross</b>: Item cancelled.([c] in Whats'Next view)</p>\n")+
1317 i18n("<p><b>Red</b>: Alarm set.([a] in Whats'Next view)</p>\n")+ 1320 i18n("<p><b>Red</b>: Alarm set.([a] in Whats'Next view)</p>\n")+
1318 i18n("<p><b>Blue</b>: Recurrent event.([r] in Whats'Next view)</p>\n")+ 1321 i18n("<p><b>Blue</b>: Recurrent event.([r] in Whats'Next view)</p>\n")+
1319 i18n("<p><b>Dark green</b>: Information(description) available.([i] in WN view)</p>\n")+ 1322 i18n("<p><b>Dark green</b>: Information(description) available.([i] in WN view)</p>\n")+
1320 i18n("<p><b>Black</b>: Event/todo with attendees. You are the organizer!</p>\n")+ 1323 i18n("<p><b>Black</b>: Event/todo with attendees. You are the organizer!</p>\n")+
1321 i18n("<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n") + 1324 i18n("<p><b>Dark yellow</b>: Event/todo with attendees.</p>\n") +
1322 i18n("<p><b>White</b>: Item readonly</p>\n"); 1325 i18n("<p><b>White</b>: Item readonly</p>\n");
1323 displayText( text, cap); 1326 displayText( text, cap);
1324} 1327}
1325void MainWindow::aboutAutoSaving() 1328void MainWindow::aboutAutoSaving()
1326{ 1329{
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"); 1330 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");
1328 1331
1329 KApplication::showText( i18n("Auto Saving in KOrganizer/Pi"), text); 1332 KApplication::showText( i18n("Auto Saving in KOrganizer/Pi"), text);
1330 1333
1331} 1334}
1332void MainWindow::aboutKnownBugs() 1335void MainWindow::aboutKnownBugs()
1333{ 1336{
1334 QMessageBox* msg; 1337 QMessageBox* msg;
1335 msg = new QMessageBox( i18n("Known Problems in KOrganizer/Pi"), 1338 msg = new QMessageBox( i18n("Known Problems in KOrganizer/Pi"),
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")+ 1339 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")+
1337 i18n("2) Audio alarm daemon\nfor Zaurus is available!\nas an additional small application\n")+ 1340 i18n("2) Audio alarm daemon\nfor Zaurus is available!\nas an additional small application\n")+
1338 i18n("\nPlease report unexpected behaviour to\nlutz@pi-sync.net\n") + 1341 i18n("\nPlease report unexpected behaviour to\nlutz@pi-sync.net\n") +
1339 i18n("\nor report them in the bugtracker on\n") + 1342 i18n("\nor report them in the bugtracker on\n") +
1340 i18n("\nhttp://sourceforge.net/projects/kdepimpi\n"), 1343 i18n("\nhttp://sourceforge.net/projects/kdepimpi\n"),
1341 QMessageBox::NoIcon, 1344 QMessageBox::NoIcon,
1342 QMessageBox::Ok, 1345 QMessageBox::Ok,
1343 QMessageBox::NoButton, 1346 QMessageBox::NoButton,
1344 QMessageBox::NoButton); 1347 QMessageBox::NoButton);
1345 msg->exec(); 1348 msg->exec();
1346 delete msg; 1349 delete msg;
1347 1350
1348} 1351}
1349 1352
1350QString MainWindow::defaultFileName() 1353QString MainWindow::defaultFileName()
1351{ 1354{
1352 return locateLocal( "data", "korganizer/mycalendar.ics" ); 1355 return locateLocal( "data", "korganizer/mycalendar.ics" );
1353} 1356}
1354QString MainWindow::syncFileName() 1357QString MainWindow::syncFileName()
1355{ 1358{
1356#ifdef DESKTOP_VERSION 1359#ifdef DESKTOP_VERSION
1357 return locateLocal( "tmp", "synccalendar.ics" ); 1360 return locateLocal( "tmp", "synccalendar.ics" );
1358#else 1361#else
1359 return QString( "/tmp/synccalendar.ics" ); 1362 return QString( "/tmp/synccalendar.ics" );
1360#endif 1363#endif
1361} 1364}
1362void MainWindow::updateWeek(QDate seda) 1365void MainWindow::updateWeek(QDate seda)
1363{ 1366{
1364 int weekNum = 0; 1367 int weekNum = 0;
1365 QDate d = QDate ( seda.year(), 1,1); 1368 QDate d = QDate ( seda.year(), 1,1);
1366 seda = seda.addDays( 1-seda.dayOfWeek() );//we are on monday 1369 seda = seda.addDays( 1-seda.dayOfWeek() );//we are on monday
1367 if ( seda.addDays(6).year() != seda.year() ) { 1370 if ( seda.addDays(6).year() != seda.year() ) {
1368 if ( seda.year() != d.year() ) { 1371 if ( seda.year() != d.year() ) {
1369 if ( d.dayOfWeek() > 4 ) 1372 if ( d.dayOfWeek() > 4 )
1370 d = QDate ( seda.year(), 1,1); 1373 d = QDate ( seda.year(), 1,1);
1371 else 1374 else
1372 weekNum = 1; 1375 weekNum = 1;
1373 } else { 1376 } else {
1374 QDate dd( seda.year()+1, 1,1); 1377 QDate dd( seda.year()+1, 1,1);
1375 if ( dd.dayOfWeek() <= 4 ) 1378 if ( dd.dayOfWeek() <= 4 )
1376 weekNum = 1; 1379 weekNum = 1;
1377 } 1380 }
1378 } 1381 }
1379 if ( weekNum == 0 ){ 1382 if ( weekNum == 0 ){
1380 int dow = d.dayOfWeek(); 1383 int dow = d.dayOfWeek();
1381 if ( dow <= 4 ) 1384 if ( dow <= 4 )
1382 d = d.addDays( 1-dow ); 1385 d = d.addDays( 1-dow );
1383 else // 5,6,7 1386 else // 5,6,7
1384 d = d.addDays( 8-dow ); 1387 d = d.addDays( 8-dow );
1385 // we have the first week of the year.we are on monday 1388 // we have the first week of the year.we are on monday
1386 weekNum = d.daysTo( seda ) / 7 +1; 1389 weekNum = d.daysTo( seda ) / 7 +1;
1387 } 1390 }
1388 1391
1389 mWeekPixmap.fill( mWeekBgColor ); 1392 mWeekPixmap.fill( mWeekBgColor );
1390 QPainter p ( &mWeekPixmap ); 1393 QPainter p ( &mWeekPixmap );
1391 p.setFont( mWeekFont ); 1394 p.setFont( mWeekFont );
1392 p.drawText( 0,0,mWeekPixmap.width(), mWeekPixmap.height(),AlignCenter, QString::number( weekNum) ); 1395 p.drawText( 0,0,mWeekPixmap.width(), mWeekPixmap.height(),AlignCenter, QString::number( weekNum) );
1393 p.end(); 1396 p.end();
1394 QIconSet icon3 ( mWeekPixmap ); 1397 QIconSet icon3 ( mWeekPixmap );
1395 mWeekAction->setIconSet ( icon3 ); 1398 mWeekAction->setIconSet ( icon3 );
1396 1399
1397} 1400}
1398void MainWindow::updateWeekNum(const DateList &selectedDates) 1401void MainWindow::updateWeekNum(const DateList &selectedDates)
1399{ 1402{
1400 updateWeek( selectedDates.first() ); 1403 updateWeek( selectedDates.first() );
1401} 1404}
1402void MainWindow::processIncidenceSelection( Incidence *incidence ) 1405void MainWindow::processIncidenceSelection( Incidence *incidence )
1403{ 1406{
1404 1407
1405 if ( !incidence ) { 1408 if ( !incidence ) {
1406 enableIncidenceActions( false ); 1409 enableIncidenceActions( false );
1407 1410
1408 mNewSubTodoAction->setEnabled( false ); 1411 mNewSubTodoAction->setEnabled( false );
1409 setCaptionToDates(); 1412 setCaptionToDates();
1410 return; 1413 return;
1411 1414
1412 } 1415 }
1413 1416
1414 //KGlobal::locale()->formatDateTime(nextA, true); 1417 //KGlobal::locale()->formatDateTime(nextA, true);
1415 QString startString = ""; 1418 QString startString = "";
1416 if ( incidence->type() != "Todo" ) { 1419 if ( incidence->type() != "Todo" ) {
1417 if ( incidence->dtStart().date() < incidence->dtEnd().date() ) { 1420 if ( incidence->dtStart().date() < incidence->dtEnd().date() ) {
1418 if ( incidence->doesFloat() ) { 1421 if ( incidence->doesFloat() ) {
1419 startString += ": "+incidence->dtStartDateStr( true ); 1422 startString += ": "+incidence->dtStartDateStr( true );
1420 startString += " --- "+((Event*)incidence)->dtEndDateStr( true ); 1423 startString += " --- "+((Event*)incidence)->dtEndDateStr( true );
1421 1424
1422 } else { 1425 } else {
1423 startString = ": "+incidence->dtStartStr(true); 1426 startString = ": "+incidence->dtStartStr(true);
1424 startString += " --- "+((Event*)incidence)->dtEndStr(true); 1427 startString += " --- "+((Event*)incidence)->dtEndStr(true);
1425 1428
1426 } 1429 }
1427 1430
1428 } else { 1431 } else {
1429 if ( incidence->dtStart().time() != incidence->dtEnd().time() ) 1432 if ( incidence->dtStart().time() != incidence->dtEnd().time() )
1430 startString = ": "+KGlobal::locale()->formatTime(incidence->dtStart().time())+ 1433 startString = ": "+KGlobal::locale()->formatTime(incidence->dtStart().time())+
1431 "-"+KGlobal::locale()->formatTime(incidence->dtEnd().time()); 1434 "-"+KGlobal::locale()->formatTime(incidence->dtEnd().time());
1432 if ( incidence->categories().contains( i18n("Birthday") ) || incidence->categories().contains( i18n("Anniversary") ) ) { 1435 if ( incidence->categories().contains( i18n("Birthday") ) || incidence->categories().contains( i18n("Anniversary") ) ) {
1433 bool ok; 1436 bool ok;
1434 QDateTime noc = incidence->getNextOccurence( mView->startDate().addDays(-1), &ok ); 1437 QDateTime noc = incidence->getNextOccurence( mView->startDate().addDays(-1), &ok );
1435 if ( ok ) { 1438 if ( ok ) {
1436 int years = noc.date().year() - incidence->dtStart().date().year(); 1439 int years = noc.date().year() - incidence->dtStart().date().year();
1437 startString += i18n(" (%1 y.)"). arg( years ); 1440 startString += i18n(" (%1 y.)"). arg( years );
1438 } 1441 }
1439 } 1442 }
1440 else 1443 else
1441 startString +=" "+KGlobal::locale()->formatDate( incidence->dtStart().date(), true); 1444 startString +=" "+KGlobal::locale()->formatDate( incidence->dtStart().date(), true);
1442 } 1445 }
1443 1446
1444 } 1447 }
1445 else 1448 else
1446 startString = i18n(": (Prio ") +QString::number( (( KCal::Todo*)incidence)->priority() ) +") "+QString::number( (( KCal::Todo*)incidence)->percentComplete() ) +i18n("\% completed"); 1449 startString = i18n(": (Prio ") +QString::number( (( KCal::Todo*)incidence)->priority() ) +") "+QString::number( (( KCal::Todo*)incidence)->percentComplete() ) +i18n("\% completed");
1447 if ( !incidence->location().isEmpty() ) 1450 if ( !incidence->location().isEmpty() )
1448 startString += " (" +incidence->location()+")"; 1451 startString += " (" +incidence->location()+")";
1449 setCaption( incidence->summary()+startString); 1452 setCaption( incidence->summary()+startString);
1450 1453
1451 enableIncidenceActions( true ); 1454 enableIncidenceActions( true );
1452 1455
1453 if ( incidence->type() == "Event" ) { 1456 if ( incidence->type() == "Event" ) {
1454 mShowAction->setText( i18n("Show Event...") ); 1457 mShowAction->setText( i18n("Show Event...") );
1455 mEditAction->setText( i18n("Edit Event...") ); 1458 mEditAction->setText( i18n("Edit Event...") );
1456 mDeleteAction->setText( i18n("Delete Event...") ); 1459 mDeleteAction->setText( i18n("Delete Event...") );
1457 1460
1458 mNewSubTodoAction->setEnabled( false ); 1461 mNewSubTodoAction->setEnabled( false );
1459 } else if ( incidence->type() == "Todo" ) { 1462 } else if ( incidence->type() == "Todo" ) {
1460 mShowAction->setText( i18n("Show Todo...") ); 1463 mShowAction->setText( i18n("Show Todo...") );
1461 mEditAction->setText( i18n("Edit Todo...") ); 1464 mEditAction->setText( i18n("Edit Todo...") );
1462 mDeleteAction->setText( i18n("Delete Todo...") ); 1465 mDeleteAction->setText( i18n("Delete Todo...") );
1463 1466
1464 mNewSubTodoAction->setEnabled( true ); 1467 mNewSubTodoAction->setEnabled( true );
1465 } else { 1468 } else {
1466 mShowAction->setText( i18n("Show...") ); 1469 mShowAction->setText( i18n("Show...") );
1467 mShowAction->setText( i18n("Edit...") ); 1470 mShowAction->setText( i18n("Edit...") );
1468 mShowAction->setText( i18n("Delete...") ); 1471 mShowAction->setText( i18n("Delete...") );
1469 1472
1470 mNewSubTodoAction->setEnabled( false ); 1473 mNewSubTodoAction->setEnabled( false );
1471 } 1474 }
1472} 1475}
1473 1476
1474void MainWindow::enableIncidenceActions( bool enabled ) 1477void MainWindow::enableIncidenceActions( bool enabled )
1475{ 1478{
1476 mShowAction->setEnabled( enabled ); 1479 mShowAction->setEnabled( enabled );
1477 mEditAction->setEnabled( enabled ); 1480 mEditAction->setEnabled( enabled );
1478 mDeleteAction->setEnabled( enabled ); 1481 mDeleteAction->setEnabled( enabled );
1479 1482
1480 mCloneAction->setEnabled( enabled ); 1483 mCloneAction->setEnabled( enabled );
1481 mMoveAction->setEnabled( enabled ); 1484 mMoveAction->setEnabled( enabled );
1482 mBeamAction->setEnabled( enabled ); 1485 mBeamAction->setEnabled( enabled );
1483 mCancelAction->setEnabled( enabled ); 1486 mCancelAction->setEnabled( enabled );
1484} 1487}
1485 1488
1486void MainWindow::importOL() 1489void MainWindow::importOL()
1487{ 1490{
1488#ifdef _OL_IMPORT_ 1491#ifdef _OL_IMPORT_
1489 KOImportOLdialog *id = new KOImportOLdialog("Import from OL - select folder!" , mView->calendar(),this ); 1492 KOImportOLdialog *id = new KOImportOLdialog("Import from OL - select folder!" , mView->calendar(),this );
1490 id->exec(); 1493 id->exec();
1491 delete id; 1494 delete id;
1492 mView->updateView(); 1495 mView->updateView();
1493#endif 1496#endif
1494} 1497}
1495void MainWindow::importBday() 1498void MainWindow::importBday()
1496{ 1499{
1497 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), 1500 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
1498 i18n("When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n"), 1501 i18n("When importing birthdays twice\nduplicated events will be ignored,\nif the event has not been\nchanged in KO/Pi!\n"),
1499 i18n("Import!"), i18n("Cancel"), 0, 1502 i18n("Import!"), i18n("Cancel"), 0,
1500 0, 1 ); 1503 0, 1 );
1501 if ( result == 0 ) { 1504 if ( result == 0 ) {
1502 mView->importBday(); 1505 mView->importBday();
1503 1506
1504 } 1507 }
1505 1508
1506 1509
1507} 1510}
1508void MainWindow::importQtopia() 1511void MainWindow::importQtopia()
1509{ 1512{
1510#ifndef DESKTOP_VERSION 1513#ifndef DESKTOP_VERSION
1511 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), 1514 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
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"), 1515 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"),
1513 i18n("Import!"), i18n("Cancel"), 0, 1516 i18n("Import!"), i18n("Cancel"), 0,
1514 0, 1 ); 1517 0, 1 );
1515 if ( result == 0 ) { 1518 if ( result == 0 ) {
1516 QString datebook = Global::applicationFileName( "datebook", "datebook.xml"); 1519 QString datebook = Global::applicationFileName( "datebook", "datebook.xml");
1517 QString todolist = Global::applicationFileName( "todolist", "todolist.xml"); 1520 QString todolist = Global::applicationFileName( "todolist", "todolist.xml");
1518 QString categories = QString( getenv( "HOME" ) ) + "/Settings/Categories.xml"; 1521 QString categories = QString( getenv( "HOME" ) ) + "/Settings/Categories.xml";
1519 mView->importQtopia( categories, datebook, todolist ); 1522 mView->importQtopia( categories, datebook, todolist );
1520 } 1523 }
1521#else 1524#else
1522 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), 1525 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
1523 i18n("Not supported \non desktop!\n"), 1526 i18n("Not supported \non desktop!\n"),
1524 i18n("Ok"), i18n("Cancel"), 0, 1527 i18n("Ok"), i18n("Cancel"), 0,
1525 0, 1 ); 1528 0, 1 );
1526 1529
1527#endif 1530#endif
1528} 1531}
1529 1532
1530void MainWindow::saveOnClose() 1533void MainWindow::saveOnClose()
1531{ 1534{
1532 KOPrefs *p = KOPrefs::instance(); 1535 KOPrefs *p = KOPrefs::instance();
1533 p->mToolBarHor = ( iconToolBar->orientation () == Qt:: Horizontal ); 1536 p->mToolBarHor = ( iconToolBar->orientation () == Qt:: Horizontal );
1534 p->mToolBarUp = iconToolBar->x() > width()/2 || 1537 p->mToolBarUp = iconToolBar->x() > width()/2 ||
1535 iconToolBar->y() > height()/2; 1538 iconToolBar->y() > height()/2;
1536 mView->writeSettings(); 1539 mView->writeSettings();
1537 if ( mCalendarModifiedFlag || mView->checkFileChanged( defaultFileName())) 1540 if ( mCalendarModifiedFlag || mView->checkFileChanged( defaultFileName()))
1538 save(); 1541 save();
1539} 1542}
1540void MainWindow::slotModifiedChanged( bool changed ) 1543void MainWindow::slotModifiedChanged( bool changed )
1541{ 1544{
1542 if ( mBlockAtStartup ) 1545 if ( mBlockAtStartup )
1543 return; 1546 return;
1544 1547
1545 int msec; 1548 int msec;
1546 // we store the changes after 1 minute, 1549 // we store the changes after 1 minute,
1547 // and for safety reasons after 10 minutes again 1550 // and for safety reasons after 10 minutes again
1548 if ( !mSyncManager->blockSave() ) 1551 if ( !mSyncManager->blockSave() )
1549 msec = (1000 * 60*KOPrefs::instance()->mAutoSaveInterval) +1000; 1552 msec = (1000 * 60*KOPrefs::instance()->mAutoSaveInterval) +1000;
1550 else 1553 else
1551 msec = 1000 * 600; 1554 msec = 1000 * 600;
1552 mSaveTimer.start( msec, true ); // 1 minute 1555 mSaveTimer.start( msec, true ); // 1 minute
1553 qDebug("KO: Saving File in %d secs!", msec/1000); 1556 qDebug("KO: Saving File in %d secs!", msec/1000);
1554 mCalendarModifiedFlag = true; 1557 mCalendarModifiedFlag = true;
1555} 1558}
1556void MainWindow::saveStopTimer() 1559void MainWindow::saveStopTimer()
1557{ 1560{
1558 mSaveTimer.stop(); 1561 mSaveTimer.stop();
1559 if (mSaveTimer.isActive() ) 1562 if (mSaveTimer.isActive() )
1560 qDebug("ti active "); 1563 qDebug("ti active ");
1561 else 1564 else
1562 qDebug("KO: Save timer stopped"); 1565 qDebug("KO: Save timer stopped");
1563} 1566}
1564void MainWindow::save() 1567void MainWindow::save()
1565{ 1568{
1566 if ( !mCalendarModifiedFlag ) { 1569 if ( !mCalendarModifiedFlag ) {
1567 qDebug("KO: Calendar not modified. Nothing saved."); 1570 qDebug("KO: Calendar not modified. Nothing saved.");
1568 return; 1571 return;
1569 } 1572 }
1570 if ( mSyncManager->blockSave() ) 1573 if ( mSyncManager->blockSave() )
1571 return; 1574 return;
1572 mSyncManager->setBlockSave(true); 1575 mSyncManager->setBlockSave(true);
1573 if ( mView->checkFileVersion( defaultFileName()) ) { 1576 if ( mView->checkFileVersion( defaultFileName()) ) {
1574 QTime neededSaveTime = QDateTime::currentDateTime().time(); 1577 QTime neededSaveTime = QDateTime::currentDateTime().time();
1575 setCaption(i18n("KO/Pi:Saving Data to File ..." )); 1578 setCaption(i18n("KO/Pi:Saving Data to File ..." ));
1576 qDebug("KO: Start saving data to file!"); 1579 qDebug("KO: Start saving data to file!");
1577 mView->saveCalendar( defaultFileName() ); 1580 mView->saveCalendar( defaultFileName() );
1578 mCalendarModifiedFlag = false; 1581 mCalendarModifiedFlag = false;
1579 int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() ); 1582 int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() );
1580 qDebug("KO: Needed %d ms for saving.",msNeeded ); 1583 qDebug("KO: Needed %d ms for saving.",msNeeded );
1581 QString savemes; 1584 QString savemes;
1582 savemes.sprintf(i18n("KO/Pi:File Saved. Needed %d sec, %d ms"),(msNeeded/1000)%100,msNeeded%1000 ); 1585 savemes.sprintf(i18n("KO/Pi:File Saved. Needed %d sec, %d ms"),(msNeeded/1000)%100,msNeeded%1000 );
1583 setCaption(savemes); 1586 setCaption(savemes);
1584 } else 1587 } else
1585 setCaption(i18n("Saving cancelled!")); 1588 setCaption(i18n("Saving cancelled!"));
1586 mSyncManager->setBlockSave( false ); 1589 mSyncManager->setBlockSave( false );
1587} 1590}
1588 1591
1589void MainWindow::keyReleaseEvent ( QKeyEvent * e) 1592void MainWindow::keyReleaseEvent ( QKeyEvent * e)
1590{ 1593{
1591 if ( !e->isAutoRepeat() ) { 1594 if ( !e->isAutoRepeat() ) {
1592 mFlagKeyPressed = false; 1595 mFlagKeyPressed = false;
1593 } 1596 }
1594} 1597}
1595void MainWindow::keyPressEvent ( QKeyEvent * e ) 1598void MainWindow::keyPressEvent ( QKeyEvent * e )
1596{ 1599{
1597 qApp->processEvents(); 1600 qApp->processEvents();
1598 if ( e->isAutoRepeat() && !mFlagKeyPressed ) { 1601 if ( e->isAutoRepeat() && !mFlagKeyPressed ) {
1599 e->ignore(); 1602 e->ignore();
1600 // qDebug(" ignore %d",e->isAutoRepeat() ); 1603 // qDebug(" ignore %d",e->isAutoRepeat() );
1601 return; 1604 return;
1602 } 1605 }
1603 if (! e->isAutoRepeat() ) 1606 if (! e->isAutoRepeat() )
1604 mFlagKeyPressed = true; 1607 mFlagKeyPressed = true;
1605 KOPrefs *p = KOPrefs::instance(); 1608 KOPrefs *p = KOPrefs::instance();
1606 bool showSelectedDates = false; 1609 bool showSelectedDates = false;
1607 int size; 1610 int size;
1608 int pro = 0; 1611 int pro = 0;
1609 //qDebug("MainWindow::keyPressEvent "); 1612 //qDebug("MainWindow::keyPressEvent ");
1610 switch ( e->key() ) { 1613 switch ( e->key() ) {
1611 case Qt::Key_Right: 1614 case Qt::Key_Right:
1612 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton) 1615 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton)
1613 mView->goNextMonth(); 1616 mView->goNextMonth();
1614 else 1617 else
1615 mView->goNext(); 1618 mView->goNext();
1616 showSelectedDates = true; 1619 showSelectedDates = true;
1617 break; 1620 break;
1618 case Qt::Key_Left: 1621 case Qt::Key_Left:
1619 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) 1622 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton )
1620 mView->goPreviousMonth(); 1623 mView->goPreviousMonth();
1621 else 1624 else
1622 mView->goPrevious(); 1625 mView->goPrevious();
1623 showSelectedDates = true; 1626 showSelectedDates = true;
1624 break; 1627 break;
1625 case Qt::Key_Down: 1628 case Qt::Key_Down:
1626 mView->viewManager()->agendaView()->scrollOneHourDown(); 1629 mView->viewManager()->agendaView()->scrollOneHourDown();
1627 break; 1630 break;
1628 case Qt::Key_Up: 1631 case Qt::Key_Up:
1629 mView->viewManager()->agendaView()->scrollOneHourUp(); 1632 mView->viewManager()->agendaView()->scrollOneHourUp();
1630 break; 1633 break;
1631 case Qt::Key_K: 1634 case Qt::Key_K:
1632 mView->viewManager()->showMonthViewWeek(); 1635 mView->viewManager()->showMonthViewWeek();
1633 break; 1636 break;
1634 case Qt::Key_I: 1637 case Qt::Key_I:
1635 mView->showIncidence(); 1638 mView->showIncidence();
1636 break; 1639 break;
1637 case Qt::Key_Delete: 1640 case Qt::Key_Delete:
1638 case Qt::Key_Backspace: 1641 case Qt::Key_Backspace:
1639 mView->deleteIncidence(); 1642 mView->deleteIncidence();
1640 break; 1643 break;
1641 case Qt::Key_D: 1644 case Qt::Key_D:
1642 mView->viewManager()->showDayView(); 1645 mView->viewManager()->showDayView();
1643 showSelectedDates = true; 1646 showSelectedDates = true;
1644 break; 1647 break;
1645 case Qt::Key_O: 1648 case Qt::Key_O:
1646 mView->toggleFilerEnabled( ); 1649 mView->toggleFilerEnabled( );
1647 break; 1650 break;
1648 case Qt::Key_0: 1651 case Qt::Key_0:
1649 case Qt::Key_1: 1652 case Qt::Key_1:
1650 case Qt::Key_2: 1653 case Qt::Key_2:
1651 case Qt::Key_3: 1654 case Qt::Key_3:
1652 case Qt::Key_4: 1655 case Qt::Key_4:
1653 case Qt::Key_5: 1656 case Qt::Key_5:
1654 case Qt::Key_6: 1657 case Qt::Key_6:
1655 case Qt::Key_7: 1658 case Qt::Key_7:
1656 case Qt::Key_8: 1659 case Qt::Key_8:
1657 case Qt::Key_9: 1660 case Qt::Key_9:
1658 pro = e->key()-48; 1661 pro = e->key()-48;
1659 if ( pro == 0 ) 1662 if ( pro == 0 )
1660 pro = 10; 1663 pro = 10;
1661 if ( e->state() == Qt::ControlButton) 1664 if ( e->state() == Qt::ControlButton)
1662 pro += 10; 1665 pro += 10;
1663 break; 1666 break;
1664 case Qt::Key_M: 1667 case Qt::Key_M:
1665 mView->viewManager()->showMonthView(); 1668 mView->viewManager()->showMonthView();
1666 showSelectedDates = true; 1669 showSelectedDates = true;
1667 break; 1670 break;
1668 case Qt::Key_Insert: 1671 case Qt::Key_Insert:
1669 mView->newEvent(); 1672 mView->newEvent();
1670 break; 1673 break;
1671 case Qt::Key_S : 1674 case Qt::Key_S :
1672 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton) 1675 if ( e->state() == Qt::ControlButton || e->state() == Qt::ShiftButton)
1673 mView->newSubTodo(); 1676 mView->newSubTodo();
1674 else 1677 else
1675 mView->dialogManager()->showSearchDialog(); 1678 mView->dialogManager()->showSearchDialog();
1676 break; 1679 break;
1677 case Qt::Key_Y : 1680 case Qt::Key_Y :
1678 case Qt::Key_Z : 1681 case Qt::Key_Z :
1679 mView->viewManager()->showWorkWeekView(); 1682 mView->viewManager()->showWorkWeekView();
1680 showSelectedDates = true; 1683 showSelectedDates = true;
1681 break; 1684 break;
1682 case Qt::Key_U : 1685 case Qt::Key_U :
1683 mView->viewManager()->showWeekView(); 1686 mView->viewManager()->showWeekView();
1684 showSelectedDates = true; 1687 showSelectedDates = true;
1685 break; 1688 break;
1686 case Qt::Key_H : 1689 case Qt::Key_H :
1687 keyBindings(); 1690 keyBindings();
1688 break; 1691 break;
1689 case Qt::Key_W: 1692 case Qt::Key_W:
1690 mView->viewManager()->showWhatsNextView(); 1693 mView->viewManager()->showWhatsNextView();
1691 break; 1694 break;
1692 case Qt::Key_L: 1695 case Qt::Key_L:
1693 mView->viewManager()->showListView(); 1696 mView->viewManager()->showListView();
1694 break; 1697 break;
1695 case Qt::Key_N: 1698 case Qt::Key_N:
1696 mView->viewManager()->showNextXView(); 1699 mView->viewManager()->showNextXView();
1697 showSelectedDates = true; 1700 showSelectedDates = true;
1698 break; 1701 break;
1699 case Qt::Key_V: 1702 case Qt::Key_V:
1700 mView->viewManager()->showTodoView(); 1703 mView->viewManager()->showTodoView();
1701 break; 1704 break;
1702 case Qt::Key_C: 1705 case Qt::Key_C:
1703 mView->viewManager()->agendaView()->setStartHour( QTime::currentTime ().hour() ); 1706 mView->viewManager()->agendaView()->setStartHour( QTime::currentTime ().hour() );
1704 break; 1707 break;
1705 case Qt::Key_P: 1708 case Qt::Key_P:
1706 mView->showDatePicker( ); 1709 mView->showDatePicker( );
1707 break; 1710 break;
1708 case Qt::Key_F: 1711 case Qt::Key_F:
1709 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) 1712 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton )
1710 mView->editFilters(); 1713 mView->editFilters();
1711 else 1714 else
1712 mView->toggleFilter(); 1715 mView->toggleFilter();
1713 break; 1716 break;
1714 case Qt::Key_X: 1717 case Qt::Key_X:
1715 mView->toggleDateNavigatorWidget(); 1718 mView->toggleDateNavigatorWidget();
1716 break; 1719 break;
1717 case Qt::Key_Space: 1720 case Qt::Key_Space:
1718 mView->toggleExpand(); 1721 mView->toggleExpand();
1719 break; 1722 break;
1720 case Qt::Key_A: 1723 case Qt::Key_A:
1721 mView->toggleAllDaySize(); 1724 mView->toggleAllDaySize();
1722 break; 1725 break;
1723 case Qt::Key_T: 1726 case Qt::Key_T:
1724 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) 1727 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton )
1725 mView->newTodo(); 1728 mView->newTodo();
1726 else { 1729 else {
1727 mView->goToday(); 1730 mView->goToday();
1728 showSelectedDates = true; 1731 showSelectedDates = true;
1729 } 1732 }
1730 break; 1733 break;
1731 case Qt::Key_J: 1734 case Qt::Key_J:
1732 mView->viewManager()->showJournalView(); 1735 mView->viewManager()->showJournalView();
1733 break; 1736 break;
1734 case Qt::Key_B: 1737 case Qt::Key_B:
1735 mView->editIncidenceDescription();; 1738 mView->editIncidenceDescription();;
1736 break; 1739 break;
1737 // case Qt::Key_Return: 1740 // case Qt::Key_Return:
1738 case Qt::Key_E: 1741 case Qt::Key_E:
1739 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton ) 1742 if ( e->state() == Qt::ControlButton|| e->state() == Qt::ShiftButton )
1740 mView->newEvent(); 1743 mView->newEvent();
1741 else 1744 else
1742 mView->editIncidence(); 1745 mView->editIncidence();
1743 break; 1746 break;
1744 case Qt::Key_Plus: 1747 case Qt::Key_Plus:
1745 size = p->mHourSize +2; 1748 size = p->mHourSize +2;
1746 if ( size <= 22 ) 1749 if ( size <= 22 )
1747 configureAgenda( size ); 1750 configureAgenda( size );
1748 break; 1751 break;
1749 case Qt::Key_Minus: 1752 case Qt::Key_Minus:
1750 size = p->mHourSize - 2; 1753 size = p->mHourSize - 2;
1751 if ( size >= 4 ) 1754 if ( size >= 4 )
1752 configureAgenda( size ); 1755 configureAgenda( size );
1753 break; 1756 break;
1754 1757
1755 1758
1756 default: 1759 default:
1757 e->ignore(); 1760 e->ignore();
1758 } 1761 }
1759 if ( pro > 0 ) { 1762 if ( pro > 0 ) {
1760 mView->selectFilter( pro-1 ); 1763 mView->selectFilter( pro-1 );
1761 } 1764 }
1762 if ( showSelectedDates ) { 1765 if ( showSelectedDates ) {
1763 ;// setCaptionToDates(); 1766 ;// setCaptionToDates();
1764 } 1767 }
1765 1768
1766} 1769}
1767 1770
1768void MainWindow::fillFilterMenu() 1771void MainWindow::fillFilterMenu()
1769{ 1772{
1770 selectFilterMenu->clear(); 1773 selectFilterMenu->clear();
1771 bool disable = false; 1774 bool disable = false;
1772 selectFilterMenu->insertItem(i18n ( "Edit Filters" ), 0 ); 1775 selectFilterMenu->insertItem(i18n ( "Edit Filters" ), 0 );
1773 selectFilterMenu->insertSeparator(); 1776 selectFilterMenu->insertSeparator();
1774 if ( mView->filterView()->filtersEnabled() ) { 1777 if ( mView->filterView()->filtersEnabled() ) {
1775 selectFilterMenu->insertItem(i18n ( "Turn filter off" ), 1 ); 1778 selectFilterMenu->insertItem(i18n ( "Turn filter off" ), 1 );
1776 } 1779 }
1777 else { 1780 else {
1778 selectFilterMenu->insertItem(i18n ( "Turn filter on" ), 1 ); 1781 selectFilterMenu->insertItem(i18n ( "Turn filter on" ), 1 );
1779 disable = true; 1782 disable = true;
1780 } 1783 }
1781 selectFilterMenu->insertSeparator(); 1784 selectFilterMenu->insertSeparator();
1782 QPtrList<CalFilter> fili = mView->filters(); 1785 QPtrList<CalFilter> fili = mView->filters();
1783 CalFilter *curfilter = mView->filterView()->selectedFilter(); 1786 CalFilter *curfilter = mView->filterView()->selectedFilter();
1784 CalFilter *filter = fili.first(); 1787 CalFilter *filter = fili.first();
1785 int iii = 2; 1788 int iii = 2;
1786 while(filter) { 1789 while(filter) {
1787 selectFilterMenu->insertItem( filter->name(), iii ); 1790 selectFilterMenu->insertItem( filter->name(), iii );
1788 if ( filter == curfilter) 1791 if ( filter == curfilter)
1789 selectFilterMenu->setItemChecked( iii, true ); 1792 selectFilterMenu->setItemChecked( iii, true );
1790 if ( disable ) 1793 if ( disable )
1791 selectFilterMenu->setItemEnabled( iii, false ); 1794 selectFilterMenu->setItemEnabled( iii, false );
1792 filter = fili.next(); 1795 filter = fili.next();
1793 ++iii; 1796 ++iii;
1794 } 1797 }
1795} 1798}
1796void MainWindow::selectFilter( int fil ) 1799void MainWindow::selectFilter( int fil )
1797{ 1800{
1798 if ( fil == 0 ) { 1801 if ( fil == 0 ) {
1799 mView->editFilters( ); 1802 mView->editFilters( );
1800 } else if ( fil == 1 ){ 1803 } else if ( fil == 1 ){
1801 mView->toggleFilerEnabled( ); 1804 mView->toggleFilerEnabled( );
1802 } else { 1805 } else {
1803 mView->selectFilter( fil-2 ); 1806 mView->selectFilter( fil-2 );
1804 } 1807 }
1805} 1808}
1806void MainWindow::configureToolBar( int item ) 1809void MainWindow::configureToolBar( int item )
1807{ 1810{
1808 1811
1809 configureToolBarMenu->setItemChecked( item, !configureToolBarMenu-> isItemChecked ( item ) ); 1812 configureToolBarMenu->setItemChecked( item, !configureToolBarMenu-> isItemChecked ( item ) );
1810 KOPrefs *p = KOPrefs::instance(); 1813 KOPrefs *p = KOPrefs::instance();
1811 p-> mShowIconStretch= configureToolBarMenu->isItemChecked( 5 ); 1814 p-> mShowIconStretch= configureToolBarMenu->isItemChecked( 5 );
1812 p-> mShowIconNewEvent= configureToolBarMenu->isItemChecked( 10 ); 1815 p-> mShowIconNewEvent= configureToolBarMenu->isItemChecked( 10 );
1813 p->mShowIconNewTodo = configureToolBarMenu->isItemChecked( 20 ); 1816 p->mShowIconNewTodo = configureToolBarMenu->isItemChecked( 20 );
1814 p-> mShowIconSearch= configureToolBarMenu->isItemChecked( 120 ); 1817 p-> mShowIconSearch= configureToolBarMenu->isItemChecked( 120 );
1815 p-> mShowIconList= configureToolBarMenu->isItemChecked( 30 ); 1818 p-> mShowIconList= configureToolBarMenu->isItemChecked( 30 );
1816 p-> mShowIconDay1= configureToolBarMenu->isItemChecked( 40 ); 1819 p-> mShowIconDay1= configureToolBarMenu->isItemChecked( 40 );
1817 p-> mShowIconDay5= configureToolBarMenu->isItemChecked( 50 ); 1820 p-> mShowIconDay5= configureToolBarMenu->isItemChecked( 50 );
1818 p-> mShowIconDay6= configureToolBarMenu->isItemChecked( 75 ); 1821 p-> mShowIconDay6= configureToolBarMenu->isItemChecked( 75 );
1819 p-> mShowIconDay7= configureToolBarMenu->isItemChecked( 60 ); 1822 p-> mShowIconDay7= configureToolBarMenu->isItemChecked( 60 );
1820 p-> mShowIconMonth= configureToolBarMenu->isItemChecked( 70 ); 1823 p-> mShowIconMonth= configureToolBarMenu->isItemChecked( 70 );
1821 p-> mShowIconTodoview= configureToolBarMenu->isItemChecked( 80 ); 1824 p-> mShowIconTodoview= configureToolBarMenu->isItemChecked( 80 );
1822 p-> mShowIconBackFast= configureToolBarMenu->isItemChecked( 200 ); 1825 p-> mShowIconBackFast= configureToolBarMenu->isItemChecked( 200 );
1823 p-> mShowIconBack = configureToolBarMenu->isItemChecked( 210 ); 1826 p-> mShowIconBack = configureToolBarMenu->isItemChecked( 210 );
1824 p-> mShowIconToday= configureToolBarMenu->isItemChecked( 130 ); 1827 p-> mShowIconToday= configureToolBarMenu->isItemChecked( 130 );
1825 p-> mShowIconForward= configureToolBarMenu->isItemChecked( 220 ); 1828 p-> mShowIconForward= configureToolBarMenu->isItemChecked( 220 );
1826 p-> mShowIconForwardFast= configureToolBarMenu->isItemChecked( 230 ); 1829 p-> mShowIconForwardFast= configureToolBarMenu->isItemChecked( 230 );
1827 p-> mShowIconNextDays= configureToolBarMenu->isItemChecked( 100 ); 1830 p-> mShowIconNextDays= configureToolBarMenu->isItemChecked( 100 );
1828 p-> mShowIconNext= configureToolBarMenu->isItemChecked( 110 ); 1831 p-> mShowIconNext= configureToolBarMenu->isItemChecked( 110 );
1829 p-> mShowIconJournal= configureToolBarMenu->isItemChecked( 90 ); 1832 p-> mShowIconJournal= configureToolBarMenu->isItemChecked( 90 );
1830 p-> mShowIconWhatsThis= configureToolBarMenu->isItemChecked( 300 ); 1833 p-> mShowIconWhatsThis= configureToolBarMenu->isItemChecked( 300 );
1834 p-> mShowIconWeekNum= configureToolBarMenu->isItemChecked( 400 );
1831 // initActions(); 1835 // initActions();
1832} 1836}
1833 1837
1834void MainWindow::setCaptionToDates() 1838void MainWindow::setCaptionToDates()
1835{ 1839{
1836 QString selDates; 1840 QString selDates;
1837 selDates = KGlobal::locale()->formatDate(mView->startDate(), true); 1841 selDates = KGlobal::locale()->formatDate(mView->startDate(), true);
1838 if (mView->startDate() < mView->endDate() ) 1842 if (mView->startDate() < mView->endDate() )
1839 selDates += " - " + KGlobal::locale()->formatDate(mView->endDate(), true); 1843 selDates += " - " + KGlobal::locale()->formatDate(mView->endDate(), true);
1840 else { 1844 else {
1841 QString addString; 1845 QString addString;
1842 if ( mView->startDate() == QDateTime::currentDateTime().date() ) 1846 if ( mView->startDate() == QDateTime::currentDateTime().date() )
1843 addString = i18n("Today"); 1847 addString = i18n("Today");
1844 else if ( mView->startDate() == QDateTime::currentDateTime().date().addDays(1) ) 1848 else if ( mView->startDate() == QDateTime::currentDateTime().date().addDays(1) )
1845 addString = i18n("Tomorrow"); 1849 addString = i18n("Tomorrow");
1846 if ( !addString.isEmpty() ) 1850 if ( !addString.isEmpty() )
1847 selDates = addString+", "+selDates ; 1851 selDates = addString+", "+selDates ;
1848 } 1852 }
1849 setCaption( i18n("Dates: ") + selDates ); 1853 setCaption( i18n("Dates: ") + selDates );
1850 1854
1851} 1855}
1852void MainWindow::showConfigureAgenda( ) 1856void MainWindow::showConfigureAgenda( )
1853{ 1857{
1854 int iii; 1858 int iii;
1855 for ( iii = 1;iii<= 10 ;++iii ){ 1859 for ( iii = 1;iii<= 10 ;++iii ){
1856 configureAgendaMenu->setItemChecked( (iii+1)*2, false ); 1860 configureAgendaMenu->setItemChecked( (iii+1)*2, false );
1857 } 1861 }
1858 configureAgendaMenu->setItemChecked( (KOPrefs::instance()->mHourSize/2)*2, true ); 1862 configureAgendaMenu->setItemChecked( (KOPrefs::instance()->mHourSize/2)*2, true );
1859} 1863}
1860void MainWindow::configureAgenda( int item ) 1864void MainWindow::configureAgenda( int item )
1861{ 1865{
1862 if ( KOPrefs::instance()->mHourSize == item ) 1866 if ( KOPrefs::instance()->mHourSize == item )
1863 return; 1867 return;
1864 KOPrefs::instance()->mHourSize=item; 1868 KOPrefs::instance()->mHourSize=item;
1865 mView->viewManager()->agendaView()->updateConfig(); 1869 mView->viewManager()->agendaView()->updateConfig();
1866} 1870}
1867 1871
1868void MainWindow::saveCalendar() 1872void MainWindow::saveCalendar()
1869{ 1873{
1870 QString fn = KOPrefs::instance()->mLastSaveFile; 1874 QString fn = KOPrefs::instance()->mLastSaveFile;
1871 fn = KFileDialog::getSaveFileName( fn, i18n("Save backup filename"), this ); 1875 fn = KFileDialog::getSaveFileName( fn, i18n("Save backup filename"), this );
1872 1876
1873 if ( fn == "" ) 1877 if ( fn == "" )
1874 return; 1878 return;
1875 QFileInfo info; 1879 QFileInfo info;
1876 info.setFile( fn ); 1880 info.setFile( fn );
1877 QString mes; 1881 QString mes;
1878 bool createbup = true; 1882 bool createbup = true;
1879 if ( info. exists() ) { 1883 if ( info. exists() ) {
1880 mes = i18n("Backup file\nalready exists!\nOld backup file from:\n%1\nOverwrite?\n").arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false )) ; 1884 mes = i18n("Backup file\nalready exists!\nOld backup file from:\n%1\nOverwrite?\n").arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false )) ;
1881 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mes, 1885 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mes,
1882 i18n("Overwrite!"), i18n("Cancel"), 0, 1886 i18n("Overwrite!"), i18n("Cancel"), 0,
1883 0, 1 ); 1887 0, 1 );
1884 if ( result != 0 ) { 1888 if ( result != 0 ) {
1885 createbup = false; 1889 createbup = false;
1886 } 1890 }
1887 } 1891 }
1888 if ( createbup ) { 1892 if ( createbup ) {
1889 mView->saveCalendar( fn ); 1893 mView->saveCalendar( fn );
1890 mes = i18n("KO/Pi:Saved %1").arg(fn); 1894 mes = i18n("KO/Pi:Saved %1").arg(fn);
1891 KOPrefs::instance()->mLastSaveFile = fn; 1895 KOPrefs::instance()->mLastSaveFile = fn;
1892 setCaption(mes); 1896 setCaption(mes);
1893 } 1897 }
1894} 1898}
1895void MainWindow::loadCalendar() 1899void MainWindow::loadCalendar()
1896{ 1900{
1897 1901
1898 QString fn = KOPrefs::instance()->mLastLoadFile; 1902 QString fn = KOPrefs::instance()->mLastLoadFile;
1899 fn = KFileDialog::getOpenFileName( fn, i18n("Load backup filename"), this ); 1903 fn = KFileDialog::getOpenFileName( fn, i18n("Load backup filename"), this );
1900 1904
1901 if ( fn == "" ) 1905 if ( fn == "" )
1902 return; 1906 return;
1903 QFileInfo info; 1907 QFileInfo info;
1904 info.setFile( fn ); 1908 info.setFile( fn );
1905 QString mess; 1909 QString mess;
1906 bool loadbup = true; 1910 bool loadbup = true;
1907 if ( info. exists() ) { 1911 if ( info. exists() ) {
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 )); 1912 mess = i18n("Backup file from:\n%1\nLoading backup\nfile will delete\nyour current Data!\n").arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false ));
1909 int result = QMessageBox::warning( this, "KO/Pi: Warning!", 1913 int result = QMessageBox::warning( this, "KO/Pi: Warning!",
1910 mess, 1914 mess,
1911 i18n("Load!"), i18n("Cancel"), 0, 1915 i18n("Load!"), i18n("Cancel"), 0,
1912 0, 1 ); 1916 0, 1 );
1913 if ( result != 0 ) { 1917 if ( result != 0 ) {
1914 loadbup = false; 1918 loadbup = false;
1915 } 1919 }
1916 } else { 1920 } else {
1917 QMessageBox::warning( this, i18n("KO/Pi: Warning!"), 1921 QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
1918 i18n("Backup file\ndoes not exist!\nNothing loaded!"), 0, 0, 1922 i18n("Backup file\ndoes not exist!\nNothing loaded!"), 0, 0,
1919 0, 1 ); 1923 0, 1 );
1920 1924
1921 return; 1925 return;
1922 } 1926 }
1923 if ( loadbup ) { 1927 if ( loadbup ) {
1924 mView->openCalendar( fn ); 1928 mView->openCalendar( fn );
1925 KOPrefs::instance()->mLastLoadFile = fn; 1929 KOPrefs::instance()->mLastLoadFile = fn;
1926 mess = i18n("KO/Pi:Loaded %1").arg(fn) ; 1930 mess = i18n("KO/Pi:Loaded %1").arg(fn) ;
1927 setCaption(mess); 1931 setCaption(mess);
1928 } 1932 }
1929 1933
1930} 1934}
1931void MainWindow::quickImportIcal() 1935void MainWindow::quickImportIcal()
1932{ 1936{
1933 importFile( KOPrefs::instance()->mLastImportFile, false ); 1937 importFile( KOPrefs::instance()->mLastImportFile, false );
1934} 1938}
1935void MainWindow::importFile( QString fn, bool quick ) 1939void MainWindow::importFile( QString fn, bool quick )
1936{ 1940{
1937 QFileInfo info; 1941 QFileInfo info;
1938 info.setFile( fn ); 1942 info.setFile( fn );
1939 QString mess; 1943 QString mess;
1940 bool loadbup = true; 1944 bool loadbup = true;
1941 if ( !info. exists() ) { 1945 if ( !info. exists() ) {
1942 mess = i18n("Import file \n...%1\ndoes not exist!\nNothing imported!\n").arg(fn.right( 30)); 1946 mess = i18n("Import file \n...%1\ndoes not exist!\nNothing imported!\n").arg(fn.right( 30));
1943 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"), 1947 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),
1944 mess ); 1948 mess );
1945 return; 1949 return;
1946 } 1950 }
1947 int result = 0; 1951 int result = 0;
1948 if ( !quick ) { 1952 if ( !quick ) {
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 )); 1953 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 ));
1950 result = QMessageBox::warning( this, "KO/Pi: Warning!", 1954 result = QMessageBox::warning( this, "KO/Pi: Warning!",
1951 mess, 1955 mess,
1952 "Import", "Cancel", 0, 1956 "Import", "Cancel", 0,
1953 0, 1 ); 1957 0, 1 );
1954 } 1958 }
1955 if ( result == 0 ) { 1959 if ( result == 0 ) {
1956 if ( mView->openCalendar( fn, true )) { 1960 if ( mView->openCalendar( fn, true )) {
1957 KOPrefs::instance()->mLastImportFile = fn; 1961 KOPrefs::instance()->mLastImportFile = fn;
1958 setCaption(i18n("Imported file successfully")); 1962 setCaption(i18n("Imported file successfully"));
1959 } else { 1963 } else {
1960 setCaption(i18n("Error importing file")); 1964 setCaption(i18n("Error importing file"));
1961 } 1965 }
1962 } 1966 }
1963} 1967}
1964 1968
1965void MainWindow::importIcal() 1969void MainWindow::importIcal()
1966{ 1970{
1967 1971
1968 QString fn =KOPrefs::instance()->mLastImportFile; 1972 QString fn =KOPrefs::instance()->mLastImportFile;
1969 1973
1970 fn =KFileDialog:: getOpenFileName( fn, i18n("Import filename(*.ics/*.vcs)"), this ); 1974 fn =KFileDialog:: getOpenFileName( fn, i18n("Import filename(*.ics/*.vcs)"), this );
1971 if ( fn == "" ) 1975 if ( fn == "" )
1972 return; 1976 return;
1973 importFile( fn, true ); 1977 importFile( fn, true );
1974 1978
1975} 1979}
1976 1980
1977void MainWindow::exportVCalendar() 1981void MainWindow::exportVCalendar()
1978{ 1982{
1979 QString fn = KOPrefs::instance()->mLastVcalFile; 1983 QString fn = KOPrefs::instance()->mLastVcalFile;
1980 fn = KFileDialog::getSaveFileName( fn, i18n("Export vcal filename(*.vcs)"), this ); 1984 fn = KFileDialog::getSaveFileName( fn, i18n("Export vcal filename(*.vcs)"), this );
1981 if ( fn == "" ) 1985 if ( fn == "" )
1982 return; 1986 return;
1983 QFileInfo info; 1987 QFileInfo info;
1984 info.setFile( fn ); 1988 info.setFile( fn );
1985 QString mes; 1989 QString mes;
1986 bool createbup = true; 1990 bool createbup = true;
1987 if ( info. exists() ) { 1991 if ( info. exists() ) {
1988 mes = i18n("Save file\nalready exists!\nOld save file from:\n%1\nOverwrite?\n").arg (KGlobal::locale()->formatDateTime(info.lastModified (), true, false ) ); 1992 mes = i18n("Save file\nalready exists!\nOld save file from:\n%1\nOverwrite?\n").arg (KGlobal::locale()->formatDateTime(info.lastModified (), true, false ) );
1989 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mes, 1993 int result = QMessageBox::warning( this, i18n("KO/Pi: Warning!"),mes,
1990 i18n("Overwrite!"), i18n("Cancel"), 0, 1994 i18n("Overwrite!"), i18n("Cancel"), 0,
1991 0, 1 ); 1995 0, 1 );
1992 if ( result != 0 ) { 1996 if ( result != 0 ) {
1993 createbup = false; 1997 createbup = false;
1994 } 1998 }
1995 } 1999 }
1996 if ( createbup ) { 2000 if ( createbup ) {
1997 if ( mView->exportVCalendar( fn ) ) { 2001 if ( mView->exportVCalendar( fn ) ) {
1998 KOPrefs::instance()->mLastVcalFile = fn; 2002 KOPrefs::instance()->mLastVcalFile = fn;
1999 if ( fn.length() > 20 ) 2003 if ( fn.length() > 20 )
2000 mes = i18n("KO/Pi:Exported to ...%1").arg(fn.right(20)) ; 2004 mes = i18n("KO/Pi:Exported to ...%1").arg(fn.right(20)) ;
2001 else 2005 else
2002 mes = i18n("KO/Pi:Exported to %1").arg(fn ); 2006 mes = i18n("KO/Pi:Exported to %1").arg(fn );
2003 setCaption(mes); 2007 setCaption(mes);
2004 } 2008 }
2005 } 2009 }
2006 2010
2007} 2011}
2008QString MainWindow::sentSyncFile() 2012QString MainWindow::sentSyncFile()
2009{ 2013{
2010#ifdef DESKTOP_VERSION 2014#ifdef DESKTOP_VERSION
2011 return locateLocal( "tmp", "copysynccal.ics" ); 2015 return locateLocal( "tmp", "copysynccal.ics" );
2012#else 2016#else
2013 return QString( "/tmp/copysynccal.ics" ); 2017 return QString( "/tmp/copysynccal.ics" );
2014#endif 2018#endif
2015} 2019}
2016 2020
2017void MainWindow::syncFileRequest() 2021void MainWindow::syncFileRequest()
2018{ 2022{
2019 if ( KOPrefs::instance()->mPassiveSyncWithDesktop ) { 2023 if ( KOPrefs::instance()->mPassiveSyncWithDesktop ) {
2020 mSyncManager->slotSyncMenu( 999 ); 2024 mSyncManager->slotSyncMenu( 999 );
2021 } 2025 }
2022 2026
2023 setCaption(i18n("Saving Data to temp file ..." )); 2027 setCaption(i18n("Saving Data to temp file ..." ));
2024 mView->saveCalendar( sentSyncFile() ); 2028 mView->saveCalendar( sentSyncFile() );
2025 setCaption(i18n("Data saved to temp file!" )); 2029 setCaption(i18n("Data saved to temp file!" ));
2026 2030
2027} 2031}
2028void MainWindow::getFile( bool success ) 2032void MainWindow::getFile( bool success )
2029{ 2033{
2030 if ( ! success ) { 2034 if ( ! success ) {
2031 setCaption( i18n("Error receiving file. Nothing changed!") ); 2035 setCaption( i18n("Error receiving file. Nothing changed!") );
2032 return; 2036 return;
2033 } 2037 }
2034 mView->openCalendar( sentSyncFile() ); 2038 mView->openCalendar( sentSyncFile() );
2035 if ( KOPrefs::instance()->mPassiveSyncWithDesktop ) { 2039 if ( KOPrefs::instance()->mPassiveSyncWithDesktop ) {
2036 mSyncManager->slotSyncMenu( 999 ); 2040 mSyncManager->slotSyncMenu( 999 );
2037 } 2041 }
2038 setCaption( i18n("Pi-Sync successful!") ); 2042 setCaption( i18n("Pi-Sync successful!") );
2039} 2043}
2040 2044
2041void MainWindow::printSel( ) 2045void MainWindow::printSel( )
2042{ 2046{
2043 mView->viewManager()->agendaView()->agenda()->printSelection(); 2047 mView->viewManager()->agendaView()->agenda()->printSelection();
2044} 2048}
2045 2049
2046void MainWindow::printCal() 2050void MainWindow::printCal()
2047{ 2051{
2048 mView->print();//mCp->showDialog(); 2052 mView->print();//mCp->showDialog();
2049} 2053}
2050 2054
2051 2055
2052#include "libkdepim/kdatepicker.h" 2056#include "libkdepim/kdatepicker.h"
2053#include <kdatetbl.h> 2057#include <kdatetbl.h>
2054void MainWindow::weekAction() 2058void MainWindow::weekAction()
2055{ 2059{
2056 int month; 2060 int month;
2057 KPopupFrame* popup = new KPopupFrame(this); 2061 KPopupFrame* popup = new KPopupFrame(this);
2058 KDateInternalWeekPicker* picker = new KDateInternalWeekPicker(popup); 2062 KDateInternalWeekPicker* picker = new KDateInternalWeekPicker(popup);
2059 // ----- 2063 // -----
2060 picker->resize(picker->sizeHint()); 2064 picker->resize(picker->sizeHint());
2061 popup->setMainWidget(picker); 2065 popup->setMainWidget(picker);
2062 picker->setFocus(); 2066 picker->setFocus();
2063 connect(picker, SIGNAL(closeMe(int)), popup, SLOT(close(int))); 2067 connect(picker, SIGNAL(closeMe(int)), popup, SLOT(close(int)));
2064 int x = 0; 2068 int x = 0;
2065 int y = iconToolBar->height(); 2069 int y = iconToolBar->height();
2066 int dX = 0; 2070 int dX = 0;
2067 int dY = 0; 2071 int dY = 0;
2068 if ( iconToolBar->orientation () == Qt:: Horizontal ) { 2072 if ( iconToolBar->orientation () == Qt:: Horizontal ) {
2069 if ( iconToolBar->y() > height()/2 ) { 2073 if ( iconToolBar->y() > height()/2 ) {
2070 dY = picker->sizeHint().height()+8; 2074 dY = picker->sizeHint().height()+8;
2071 y = 0; 2075 y = 0;
2072 } 2076 }
2073 } else { 2077 } else {
2074 if ( iconToolBar->x() > width()/2 ) { // right side 2078 if ( iconToolBar->x() > width()/2 ) { // right side
2075 x=0; 2079 x=0;
2076 dX= picker->sizeHint().width()+8; 2080 dX= picker->sizeHint().width()+8;
2077 y = 0; 2081 y = 0;
2078 } else { 2082 } else {
2079 x= iconToolBar->width(); 2083 x= iconToolBar->width();
2080 y = 0; 2084 y = 0;
2081 } 2085 }
2082 } 2086 }
2083 //qDebug("dax %d dy %d %d %d ", dX, dY, iconToolBar->x(), iconToolBar->y() ); 2087 //qDebug("dax %d dy %d %d %d ", dX, dY, iconToolBar->x(), iconToolBar->y() );
2084 if(popup->exec(iconToolBar->mapToGlobal(QPoint(x,y)-QPoint( dX,dY)))) 2088 if(popup->exec(iconToolBar->mapToGlobal(QPoint(x,y)-QPoint( dX,dY))))
2085 { 2089 {
2086 month = picker->getResult(); 2090 month = picker->getResult();
2087 emit selectWeek ( month ); 2091 emit selectWeek ( month );
2088 //qDebug("weekSelected %d ", month); 2092 //qDebug("weekSelected %d ", month);
2089 } 2093 }
2090 delete popup; 2094 delete popup;
2091} 2095}
diff --git a/korganizer/searchdialog.cpp b/korganizer/searchdialog.cpp
index 3fd9740..aa1b244 100644
--- a/korganizer/searchdialog.cpp
+++ b/korganizer/searchdialog.cpp
@@ -1,401 +1,405 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 1998 Preston Brown 3 Copyright (c) 1998 Preston Brown
4 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> 4 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org>
5 5
6 This program is free software; you can redistribute it and/or modify 6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or 8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version. 9 (at your option) any later version.
10 10
11 This program is distributed in the hope that it will be useful, 11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details. 14 GNU General Public License for more details.
15 15
16 You should have received a copy of the GNU General Public License 16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software 17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19 19
20 As a special exception, permission is given to link this program 20 As a special exception, permission is given to link this program
21 with any edition of Qt, and distribute the resulting executable, 21 with any edition of Qt, and distribute the resulting executable,
22 without including the source code for Qt in the source distribution. 22 without including the source code for Qt in the source distribution.
23*/ 23*/
24 24
25#include <qlayout.h> 25#include <qlayout.h>
26#include <qcheckbox.h> 26#include <qcheckbox.h>
27#include <qgroupbox.h> 27#include <qgroupbox.h>
28#include <qlabel.h> 28#include <qlabel.h>
29#include <qwhatsthis.h>
29#include <qlineedit.h> 30#include <qlineedit.h>
30#include <qpushbutton.h> 31#include <qpushbutton.h>
31 32
32#include <klocale.h> 33#include <klocale.h>
33#include <kmessagebox.h> 34#include <kmessagebox.h>
34 35
35#include <libkdepim/kdateedit.h> 36#include <libkdepim/kdateedit.h>
36 37
37#include "koglobals.h" 38#include "koglobals.h"
38#include "koprefs.h" 39#include "koprefs.h"
39 40
40#include "calendarview.h" 41#include "calendarview.h"
41#include "koviewmanager.h" 42#include "koviewmanager.h"
42#include "searchdialog.h" 43#include "searchdialog.h"
43 44
44SearchDialog::SearchDialog(Calendar *calendar,CalendarView *parent) 45SearchDialog::SearchDialog(Calendar *calendar,CalendarView *parent)
45 : KDialogBase(Plain,i18n("KO/Pi Find "),User1|Close,User1,parent,0,false,false, 46 : QVBox( 0 )
46 i18n("&Find")) 47
47{ 48{
48 mCalendar = calendar; 49 mCalendar = calendar;
49 QFrame *topFrame = plainPage(); 50 QFrame *topFrame = new QFrame( this ) ;//plainPage();
50 QVBoxLayout *layout = new QVBoxLayout(topFrame,0,spacingHint()); 51 QVBoxLayout *layout = new QVBoxLayout(topFrame,KDialog::marginHint(),KDialog::spacingHint());
51 52
52 // Search expression 53 // Search expression
53 QHBoxLayout *subLayout = new QHBoxLayout(); 54 QHBoxLayout *subLayout = new QHBoxLayout();
54 layout->addLayout(subLayout); 55 layout->addLayout(subLayout);
55
56 searchLabel = new QLabel(topFrame); 56 searchLabel = new QLabel(topFrame);
57 searchLabel->setText(i18n("Search for:")); 57 searchLabel->setText(i18n("Search for:"));
58 subLayout->addWidget(searchLabel); 58 subLayout->addWidget(searchLabel);
59 59
60 searchEdit = new QLineEdit(topFrame); 60 searchEdit = new QLineEdit(topFrame);
61 subLayout->addWidget(searchEdit); 61 subLayout->addWidget(searchEdit);
62 QPushButton *OkButton = new QPushButton( i18n("&Find"), topFrame );
63 //OkButton->setDefault( true );
64 connect(OkButton,SIGNAL(clicked()),SLOT(doSearch()));
65 subLayout->addWidget(OkButton);
62 searchEdit->setText("*"); // Find all events by default 66 searchEdit->setText("*"); // Find all events by default
63 searchEdit->setFocus(); 67 searchEdit->setFocus();
64 connect(searchEdit, SIGNAL(textChanged ( const QString & )),this,SLOT(searchTextChanged( const QString & ))); 68 connect(searchEdit, SIGNAL(textChanged ( const QString & )),this,SLOT(searchTextChanged( const QString & )));
65 connect(searchEdit, SIGNAL( returnPressed () ),this,SLOT(doSearch())); 69 connect(searchEdit, SIGNAL( returnPressed () ),this,SLOT(doSearch()));
66 // Subjects to search 70 // Subjects to search
67 // QGroupBox *subjectGroup = new QGroupBox(1,Vertical,i18n("Search In"), 71 // QGroupBox *subjectGroup = new QGroupBox(1,Vertical,i18n("Search In"),
68 // topFrame); 72 // topFrame);
69 73
70
71
72 QHBox *incidenceGroup = new QHBox( topFrame ); 74 QHBox *incidenceGroup = new QHBox( topFrame );
73 layout->addWidget(incidenceGroup); 75 layout->addWidget(incidenceGroup);
74 76
75 mSearchEvent = new QCheckBox(i18n("Events"),incidenceGroup); 77 mSearchEvent = new QCheckBox(i18n("Events"),incidenceGroup);
76 mSearchEvent->setChecked(true); 78 mSearchEvent->setChecked(true);
77 mSearchTodo = new QCheckBox(i18n("Todos"),incidenceGroup); 79 mSearchTodo = new QCheckBox(i18n("Todos"),incidenceGroup);
78 mSearchJournal = new QCheckBox(i18n("Journals"),incidenceGroup); 80 mSearchJournal = new QCheckBox(i18n("Journals"),incidenceGroup);
79 81
80 QHBox *subjectGroup = new QHBox( topFrame ); 82 QHBox *subjectGroup = new QHBox( topFrame );
81 layout->addWidget(subjectGroup); 83 layout->addWidget(subjectGroup);
82 84
83 mSummaryCheck = new QCheckBox(i18n("Summary/Loc."),subjectGroup); 85 mSummaryCheck = new QCheckBox(i18n("Summary/Loc."),subjectGroup);
84 mSummaryCheck->setChecked(true); 86 mSummaryCheck->setChecked(true);
85 mDescriptionCheck = new QCheckBox(i18n("Descriptions"),subjectGroup); 87 mDescriptionCheck = new QCheckBox(i18n("Descriptions"),subjectGroup);
86 mCategoryCheck = new QCheckBox(i18n("Categories"),subjectGroup); 88 mCategoryCheck = new QCheckBox(i18n("Categories"),subjectGroup);
87 89
88 QHBox *attendeeGroup = new QHBox( topFrame ); 90 QHBox *attendeeGroup = new QHBox( topFrame );
89 layout->addWidget(attendeeGroup ); 91 layout->addWidget(attendeeGroup );
90 new QLabel( i18n("Attendee:"),attendeeGroup ); 92 new QLabel( i18n("Attendee:"),attendeeGroup );
91 mSearchAName = new QCheckBox(i18n("Name"),attendeeGroup ); 93 mSearchAName = new QCheckBox(i18n("Name"),attendeeGroup );
92 mSearchAEmail = new QCheckBox(i18n("Email"), attendeeGroup ); 94 mSearchAEmail = new QCheckBox(i18n("Email"), attendeeGroup );
93 // Date range 95 // Date range
94 // QGroupBox *rangeGroup = new QGroupBox(1,Horizontal,i18n("Date Range"), 96 // QGroupBox *rangeGroup = new QGroupBox(1,Horizontal,i18n("Date Range"),
95 // topFrame); 97 // topFrame);
96 // layout->addWidget(rangeGroup); 98 // layout->addWidget(rangeGroup);
97 99
98 QWidget *rangeWidget = new QWidget(topFrame); 100 QWidget *rangeWidget = new QWidget(topFrame);
99 QHBoxLayout *rangeLayout = new QHBoxLayout(rangeWidget,0,spacingHint()); 101 QHBoxLayout *rangeLayout = new QHBoxLayout(rangeWidget,0,KDialog::spacingHint());
100
101 rangeLayout->addWidget(new QLabel(i18n("From:"),rangeWidget)); 102 rangeLayout->addWidget(new QLabel(i18n("From:"),rangeWidget));
102 mStartDate = new KDateEdit(rangeWidget); 103 mStartDate = new KDateEdit(rangeWidget);
103 rangeLayout->addWidget(mStartDate); 104 rangeLayout->addWidget(mStartDate);
104 rangeLayout->addWidget(new QLabel(i18n("To:"),rangeWidget)); 105 rangeLayout->addWidget(new QLabel(i18n("To:"),rangeWidget));
105 mEndDate = new KDateEdit(rangeWidget); 106 mEndDate = new KDateEdit(rangeWidget);
106 mEndDate->setDate(QDate::currentDate().addDays(365)); 107 mEndDate->setDate(QDate::currentDate().addDays(365));
107 rangeLayout->addWidget(mEndDate); 108 rangeLayout->addWidget(mEndDate);
108 109 QToolButton *wt = QWhatsThis::whatsThisButton ( rangeWidget );
109 // mInclusiveCheck = new QCheckBox(i18n("Events have to be completely included"), topFrame); 110 rangeLayout->addWidget( (QWidget*)wt );
110 //mInclusiveCheck->setChecked(false);
111 layout->addWidget(rangeWidget); 111 layout->addWidget(rangeWidget);
112 //layout->addWidget(mInclusiveCheck);
113 // Subjects to search
114
115
116 // Results list view 112 // Results list view
117 listView = new KOListView(mCalendar,topFrame); 113 listView = new KOListView(mCalendar,topFrame);
118 //listView->showDates();
119
120
121 layout->addWidget(listView); 114 layout->addWidget(listView);
122 115
123 // if ( KOPrefs::instance()->mCompactDialogs ) {
124 // KOGlobals::fitDialogToScreen( this, true );
125 // }
126
127 listView->readSettings(KOGlobals::config(),"SearchListView Layout"); 116 listView->readSettings(KOGlobals::config(),"SearchListView Layout");
128 connect(this,SIGNAL(user1Clicked()),SLOT(doSearch()));
129 QPushButton *CloseButton = findButton( Close );
130 //connect(CloseButton,SIGNAL(clicked()),listView, SLOT(clear()));
131 117
132#ifndef DESKTOP_VERSION 118 setCaption( i18n("KO/Pi Find: "));
133 setCaption(i18n("Click OK to search ->")); 119#ifdef DESKTOP_VERSION
134 hideButtons(); 120 OkButton = new QPushButton( i18n("Close"), this );
121 connect(OkButton,SIGNAL(clicked()),SLOT(hide()));
135#endif 122#endif
136} 123}
137 124
138SearchDialog::~SearchDialog() 125SearchDialog::~SearchDialog()
139{ 126{
140 127
141} 128}
142void SearchDialog::accept() 129void SearchDialog::accept()
143{ 130{
144 doSearch(); 131 doSearch();
145} 132}
146void SearchDialog::updateList() 133void SearchDialog::updateList()
147{ 134{
148 //listView->updateList(); 135 //listView->updateList();
149 if ( isVisible() ) { 136 if ( isVisible() ) {
150 updateView(); 137 updateView();
151 //qDebug("SearchDialog::updated "); 138 //qDebug("SearchDialog::updated ");
152 } 139 }
153 else { 140 else {
154 listView->clear(); 141 listView->clear();
155 //qDebug("SearchDialog::cleared "); 142 //qDebug("SearchDialog::cleared ");
156 143
157 } 144 }
158} 145}
159void SearchDialog::searchTextChanged( const QString &_text ) 146void SearchDialog::searchTextChanged( const QString &_text )
160{ 147{
148#if 0
161 enableButton( KDialogBase::User1, !_text.isEmpty() ); 149 enableButton( KDialogBase::User1, !_text.isEmpty() );
150#endif
162} 151}
163 152
164void SearchDialog::doSearch() 153void SearchDialog::doSearch()
165{ 154{
166 QRegExp re; 155 QRegExp re;
167 156
168 re.setWildcard(true); // most people understand these better. 157 re.setWildcard(true); // most people understand these better.
169 re.setCaseSensitive(false); 158 re.setCaseSensitive(false);
170 re.setPattern(searchEdit->text()); 159 re.setPattern(searchEdit->text());
171 if (!re.isValid() ) { 160 if (!re.isValid() ) {
172 KMessageBox::sorry(this, 161 KMessageBox::sorry(this,
173 i18n("Invalid search expression,\ncannot perform " 162 i18n("Invalid search expression,\ncannot perform "
174 "the search.\nPlease enter a search expression\n" 163 "the search.\nPlease enter a search expression\n"
175 "using the wildcard characters\n '*' and '?'" 164 "using the wildcard characters\n '*' and '?'"
176 "where needed.")); 165 "where needed."));
177 return; 166 return;
178 } 167 }
179 168
180 search(re); 169 search(re);
181 170
182 listView->setStartDate( mStartDate->date() ); 171 listView->setStartDate( mStartDate->date() );
183 listView->showEvents(mMatchedEvents); 172 listView->showEvents(mMatchedEvents);
184 listView->addTodos(mMatchedTodos); 173 listView->addTodos(mMatchedTodos);
185 listView->addJournals(mMatchedJournals); 174 listView->addJournals(mMatchedJournals);
186 175
187 if (mMatchedEvents.count() + mMatchedJournals.count() + mMatchedTodos.count() == 0) { 176 if (mMatchedEvents.count() + mMatchedJournals.count() + mMatchedTodos.count() == 0) {
188 setCaption(i18n("No items found. Use '*' and '?' where needed.")); 177 setCaption(i18n("No items found. Use '*' and '?' where needed."));
189 } else { 178 } else {
190 QString mess; 179 QString mess;
191 mess = mess.sprintf( i18n("%d item(s) found."), mMatchedEvents.count()+ mMatchedJournals.count() + mMatchedTodos.count() ); 180 mess = mess.sprintf( i18n("%d item(s) found."), mMatchedEvents.count()+ mMatchedJournals.count() + mMatchedTodos.count() );
192 setCaption( i18n("KO/Pi Find: ") + mess); 181 setCaption( i18n("KO/Pi Find: ") + mess);
193 182
194 } 183 }
195 searchEdit->setFocus(); 184 searchEdit->setFocus();
196} 185}
197void SearchDialog::updateConfig() 186void SearchDialog::updateConfig()
198{ 187{
199 listView->updateConfig(); 188 listView->updateConfig();
200} 189}
201void SearchDialog::updateView() 190void SearchDialog::updateView()
202{ 191{
203 192
204 QRegExp re; 193 QRegExp re;
205 re.setWildcard(true); // most people understand these better. 194 re.setWildcard(true); // most people understand these better.
206 re.setCaseSensitive(false); 195 re.setCaseSensitive(false);
207 re.setPattern(searchEdit->text()); 196 re.setPattern(searchEdit->text());
208 if (re.isValid()) { 197 if (re.isValid()) {
209 search(re); 198 search(re);
210 } else { 199 } else {
211 mMatchedEvents.clear(); 200 mMatchedEvents.clear();
212 mMatchedTodos.clear(); 201 mMatchedTodos.clear();
213 mMatchedJournals.clear(); 202 mMatchedJournals.clear();
214 } 203 }
215 listView->setStartDate( mStartDate->date() ); 204 listView->setStartDate( mStartDate->date() );
216 listView->showEvents(mMatchedEvents); 205 listView->showEvents(mMatchedEvents);
217 listView->addTodos(mMatchedTodos); 206 listView->addTodos(mMatchedTodos);
218 listView->addJournals(mMatchedJournals); 207 listView->addJournals(mMatchedJournals);
219} 208}
220 209
221void SearchDialog::search(const QRegExp &re) 210void SearchDialog::search(const QRegExp &re)
222{ 211{
223 QPtrList<Event> events = mCalendar->events( mStartDate->date(), 212 QPtrList<Event> events = mCalendar->events( mStartDate->date(),
224 mEndDate->date(), 213 mEndDate->date(),
225 false /*mInclusiveCheck->isChecked()*/ ); 214 false /*mInclusiveCheck->isChecked()*/ );
226 215
227 mMatchedEvents.clear(); 216 mMatchedEvents.clear();
228 if ( mSearchEvent->isChecked() ) { 217 if ( mSearchEvent->isChecked() ) {
229 Event *ev; 218 Event *ev;
230 for(ev=events.first();ev;ev=events.next()) { 219 for(ev=events.first();ev;ev=events.next()) {
231 if (mSummaryCheck->isChecked()) { 220 if (mSummaryCheck->isChecked()) {
232#if QT_VERSION >= 0x030000 221#if QT_VERSION >= 0x030000
233 if (re.search(ev->summary()) != -1) 222 if (re.search(ev->summary()) != -1)
234#else 223#else
235 if (re.match(ev->summary()) != -1) 224 if (re.match(ev->summary()) != -1)
236#endif 225#endif
237 { 226 {
238 mMatchedEvents.append(ev); 227 mMatchedEvents.append(ev);
239 continue; 228 continue;
240 } 229 }
241#if QT_VERSION >= 0x030000 230#if QT_VERSION >= 0x030000
242 if (re.search(ev->location()) != -1) 231 if (re.search(ev->location()) != -1)
243#else 232#else
244 if (re.match(ev->location()) != -1) 233 if (re.match(ev->location()) != -1)
245#endif 234#endif
246 { 235 {
247 mMatchedEvents.append(ev); 236 mMatchedEvents.append(ev);
248 continue; 237 continue;
249 } 238 }
250 } 239 }
251 if (mDescriptionCheck->isChecked()) { 240 if (mDescriptionCheck->isChecked()) {
252#if QT_VERSION >= 0x030000 241#if QT_VERSION >= 0x030000
253 if (re.search(ev->description()) != -1) 242 if (re.search(ev->description()) != -1)
254#else 243#else
255 if (re.match(ev->description()) != -1) 244 if (re.match(ev->description()) != -1)
256#endif 245#endif
257 { 246 {
258 mMatchedEvents.append(ev); 247 mMatchedEvents.append(ev);
259 continue; 248 continue;
260 } 249 }
261 } 250 }
262 if (mCategoryCheck->isChecked()) { 251 if (mCategoryCheck->isChecked()) {
263#if QT_VERSION >= 0x030000 252#if QT_VERSION >= 0x030000
264 if (re.search(ev->categoriesStr()) != -1) 253 if (re.search(ev->categoriesStr()) != -1)
265#else 254#else
266 if (re.match(ev->categoriesStr()) != -1) 255 if (re.match(ev->categoriesStr()) != -1)
267#endif 256#endif
268 { 257 {
269 mMatchedEvents.append(ev); 258 mMatchedEvents.append(ev);
270 continue; 259 continue;
271 } 260 }
272 } 261 }
273 if ( mSearchAName->isChecked() || mSearchAEmail->isChecked() ) { 262 if ( mSearchAName->isChecked() || mSearchAEmail->isChecked() ) {
274 QPtrList<Attendee> tmpAList = ev->attendees(); 263 QPtrList<Attendee> tmpAList = ev->attendees();
275 Attendee *a; 264 Attendee *a;
276 for (a = tmpAList.first(); a; a = tmpAList.next()) { 265 for (a = tmpAList.first(); a; a = tmpAList.next()) {
277 if (mSearchAName->isChecked()) { 266 if (mSearchAName->isChecked()) {
278#if QT_VERSION >= 0x030000 267#if QT_VERSION >= 0x030000
279 if (re.search(a->name()) != -1) 268 if (re.search(a->name()) != -1)
280#else 269#else
281 if (re.match(a->name()) != -1) 270 if (re.match(a->name()) != -1)
282#endif 271#endif
283 { 272 {
284 mMatchedEvents.append(ev); 273 mMatchedEvents.append(ev);
285 break; 274 break;
286 } 275 }
287 } 276 }
288 if (mSearchAEmail->isChecked()) { 277 if (mSearchAEmail->isChecked()) {
289#if QT_VERSION >= 0x030000 278#if QT_VERSION >= 0x030000
290 if (re.search(a->email()) != -1) 279 if (re.search(a->email()) != -1)
291#else 280#else
292 if (re.match(a->email()) != -1) 281 if (re.match(a->email()) != -1)
293#endif 282#endif
294 { 283 {
295 mMatchedEvents.append(ev); 284 mMatchedEvents.append(ev);
296 break; 285 break;
297 } 286 }
298 } 287 }
299 } 288 }
300 } 289 }
301 } 290 }
302 } 291 }
303 QPtrList<Todo> todos = mCalendar->todos( ); 292 QPtrList<Todo> todos = mCalendar->todos( );
304 mMatchedTodos.clear(); 293 mMatchedTodos.clear();
305 if ( mSearchTodo->isChecked() ) { 294 if ( mSearchTodo->isChecked() ) {
306 Todo *tod; 295 Todo *tod;
307 for(tod=todos.first();tod;tod=todos.next()) { 296 for(tod=todos.first();tod;tod=todos.next()) {
308 if (mSummaryCheck->isChecked()) { 297 if (mSummaryCheck->isChecked()) {
309#if QT_VERSION >= 0x030000 298#if QT_VERSION >= 0x030000
310 if (re.search(tod->summary()) != -1) 299 if (re.search(tod->summary()) != -1)
311#else 300#else
312 if (re.match(tod->summary()) != -1) 301 if (re.match(tod->summary()) != -1)
313#endif 302#endif
314 { 303 {
315 mMatchedTodos.append(tod); 304 mMatchedTodos.append(tod);
316 continue; 305 continue;
317 } 306 }
318 } 307 }
319 if (mDescriptionCheck->isChecked()) { 308 if (mDescriptionCheck->isChecked()) {
320#if QT_VERSION >= 0x030000 309#if QT_VERSION >= 0x030000
321 if (re.search(tod->description()) != -1) 310 if (re.search(tod->description()) != -1)
322#else 311#else
323 if (re.match(tod->description()) != -1) 312 if (re.match(tod->description()) != -1)
324#endif 313#endif
325 { 314 {
326 mMatchedTodos.append(tod); 315 mMatchedTodos.append(tod);
327 continue; 316 continue;
328 } 317 }
329 } 318 }
330 if (mCategoryCheck->isChecked()) { 319 if (mCategoryCheck->isChecked()) {
331#if QT_VERSION >= 0x030000 320#if QT_VERSION >= 0x030000
332 if (re.search(tod->categoriesStr()) != -1) 321 if (re.search(tod->categoriesStr()) != -1)
333#else 322#else
334 if (re.match(tod->categoriesStr()) != -1) 323 if (re.match(tod->categoriesStr()) != -1)
335#endif 324#endif
336 { 325 {
337 mMatchedTodos.append(tod); 326 mMatchedTodos.append(tod);
338 continue; 327 continue;
339 } 328 }
340 } 329 }
341 if ( mSearchAName->isChecked() || mSearchAEmail->isChecked() ) { 330 if ( mSearchAName->isChecked() || mSearchAEmail->isChecked() ) {
342 QPtrList<Attendee> tmpAList = tod->attendees(); 331 QPtrList<Attendee> tmpAList = tod->attendees();
343 Attendee *a; 332 Attendee *a;
344 for (a = tmpAList.first(); a; a = tmpAList.next()) { 333 for (a = tmpAList.first(); a; a = tmpAList.next()) {
345 if (mSearchAName->isChecked()) { 334 if (mSearchAName->isChecked()) {
346#if QT_VERSION >= 0x030000 335#if QT_VERSION >= 0x030000
347 if (re.search(a->name()) != -1) 336 if (re.search(a->name()) != -1)
348#else 337#else
349 if (re.match(a->name()) != -1) 338 if (re.match(a->name()) != -1)
350#endif 339#endif
351 { 340 {
352 mMatchedTodos.append(tod); 341 mMatchedTodos.append(tod);
353 break; 342 break;
354 } 343 }
355 } 344 }
356 if (mSearchAEmail->isChecked()) { 345 if (mSearchAEmail->isChecked()) {
357#if QT_VERSION >= 0x030000 346#if QT_VERSION >= 0x030000
358 if (re.search(a->email()) != -1) 347 if (re.search(a->email()) != -1)
359#else 348#else
360 if (re.match(a->email()) != -1) 349 if (re.match(a->email()) != -1)
361#endif 350#endif
362 { 351 {
363 mMatchedTodos.append(tod); 352 mMatchedTodos.append(tod);
364 break; 353 break;
365 } 354 }
366 } 355 }
367 } 356 }
368 } 357 }
369 } 358 }
370 } 359 }
371 mMatchedJournals.clear(); 360 mMatchedJournals.clear();
372 if (mSearchJournal->isChecked() ) { 361 if (mSearchJournal->isChecked() ) {
373 QPtrList<Journal> journals = mCalendar->journals( ); 362 QPtrList<Journal> journals = mCalendar->journals( );
374 Journal* journ; 363 Journal* journ;
375 364
376 for(journ=journals.first();journ;journ=journals.next()) { 365 for(journ=journals.first();journ;journ=journals.next()) {
377 if ( journ->dtStart().date() <= mEndDate->date() 366 if ( journ->dtStart().date() <= mEndDate->date()
378 &&journ->dtStart().date() >= mStartDate->date()) { 367 &&journ->dtStart().date() >= mStartDate->date()) {
379#if QT_VERSION >= 0x030000 368#if QT_VERSION >= 0x030000
380 if (re.search(journ->description()) != -1) 369 if (re.search(journ->description()) != -1)
381#else 370#else
382 if (re.match(journ->description()) != -1) 371 if (re.match(journ->description()) != -1)
383#endif 372#endif
384 { 373 {
385 mMatchedJournals.append(journ); 374 mMatchedJournals.append(journ);
386 continue; 375 continue;
387 } 376 }
388 } 377 }
389 } 378 }
390 } 379 }
391 380
392} 381}
393/* 382
394void SearchDialog::keyPressEvent ( QKeyEvent *e) 383void SearchDialog::keyPressEvent ( QKeyEvent *e)
395{ 384{
396 385 switch ( e->key() ) {
397 e->ignore(); 386 case Qt::Key_Escape:
398 387 hide();
388 break;
389 case Qt::Key_F:
390 if ( e->state() == Qt::ControlButton ) {
391 qDebug("full ");
392
393 }
394 break;
395 case Qt::Key_Return:
396 case Qt::Key_Enter:
397 doSearch();
398 break;
399
400 default:
401 e->ignore();
402 }
399} 403}
400*/ 404
401//mMatchedJournals; 405//mMatchedJournals;
diff --git a/korganizer/searchdialog.h b/korganizer/searchdialog.h
index ebcff7a..f4aad9e 100644
--- a/korganizer/searchdialog.h
+++ b/korganizer/searchdialog.h
@@ -1,93 +1,92 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 1998 Preston Brown 3 Copyright (c) 1998 Preston Brown
4 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> 4 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org>
5 5
6 This program is free software; you can redistribute it and/or modify 6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or 8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version. 9 (at your option) any later version.
10 10
11 This program is distributed in the hope that it will be useful, 11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details. 14 GNU General Public License for more details.
15 15
16 You should have received a copy of the GNU General Public License 16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software 17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19 19
20 As a special exception, permission is given to link this program 20 As a special exception, permission is given to link this program
21 with any edition of Qt, and distribute the resulting executable, 21 with any edition of Qt, and distribute the resulting executable,
22 without including the source code for Qt in the source distribution. 22 without including the source code for Qt in the source distribution.
23*/ 23*/
24#ifndef SEARCHDIALOG_H 24#ifndef SEARCHDIALOG_H
25#define SEARCHDIALOG_H 25#define SEARCHDIALOG_H
26 26
27#include <qregexp.h> 27#include <qregexp.h>
28 28
29#include <kdialogbase.h> 29#include <kdialogbase.h>
30#include <qvbox.h>
30 31
31#include <libkcal/calendar.h> 32#include <libkcal/calendar.h>
32 33
33#include "kolistview.h" 34#include "kolistview.h"
34 35
35class KDateEdit; 36class KDateEdit;
36class QCheckBox; 37class QCheckBox;
37class QLineEdit; 38class QLineEdit;
38class QLabel; 39class QLabel;
39class CalendarView; 40class CalendarView;
40 41
41using namespace KCal; 42using namespace KCal;
42 43class SearchDialog : public QVBox
43class SearchDialog : public KDialogBase
44{ 44{
45 Q_OBJECT 45 Q_OBJECT
46 public: 46 public:
47 SearchDialog(Calendar *calendar,CalendarView *parent=0); 47 SearchDialog(Calendar *calendar,CalendarView *parent=0);
48 virtual ~SearchDialog(); 48 virtual ~SearchDialog();
49 KOListView *listview(){ return listView;} 49 KOListView *listview(){ return listView;}
50 void updateView(); 50 void updateView();
51 51
52 public slots: 52 public slots:
53 void changeEventDisplay(Event *, int) { updateView(); } 53 void changeEventDisplay(Event *, int) { updateView(); }
54 void updateConfig(); 54 void updateConfig();
55 void updateList(); 55 void updateList();
56 protected slots: 56 protected slots:
57 void accept(); 57 void accept();
58 void doSearch(); 58 void doSearch();
59 void searchTextChanged( const QString &_text ); 59 void searchTextChanged( const QString &_text );
60 60
61 signals: 61 signals:
62 void showEventSignal(Event *); 62 void showEventSignal(Event *);
63 void editEventSignal(Event *); 63 void editEventSignal(Event *);
64 void deleteEventSignal(Event *); 64 void deleteEventSignal(Event *);
65 65
66 private: 66 private:
67 void search(const QRegExp &); 67 void search(const QRegExp &);
68 68
69 Calendar *mCalendar; 69 Calendar *mCalendar;
70 70
71 QPtrList<Event> mMatchedEvents; 71 QPtrList<Event> mMatchedEvents;
72 QPtrList<Todo> mMatchedTodos; 72 QPtrList<Todo> mMatchedTodos;
73 QPtrList<Journal> mMatchedJournals; 73 QPtrList<Journal> mMatchedJournals;
74 74
75 QLabel *searchLabel; 75 QLabel *searchLabel;
76 QLineEdit *searchEdit; 76 QLineEdit *searchEdit;
77 KOListView *listView; 77 KOListView *listView;
78 78
79 KDateEdit *mStartDate; 79 KDateEdit *mStartDate;
80 KDateEdit *mEndDate; 80 KDateEdit *mEndDate;
81 // QCheckBox *mInclusiveCheck;
82 QCheckBox *mSummaryCheck; 81 QCheckBox *mSummaryCheck;
83 QCheckBox *mDescriptionCheck; 82 QCheckBox *mDescriptionCheck;
84 QCheckBox *mCategoryCheck; 83 QCheckBox *mCategoryCheck;
85 QCheckBox *mSearchEvent; 84 QCheckBox *mSearchEvent;
86 QCheckBox *mSearchTodo; 85 QCheckBox *mSearchTodo;
87 QCheckBox *mSearchJournal; 86 QCheckBox *mSearchJournal;
88 QCheckBox *mSearchAName; 87 QCheckBox *mSearchAName;
89 QCheckBox *mSearchAEmail; 88 QCheckBox *mSearchAEmail;
90 //void keyPressEvent ( QKeyEvent *e) ; 89 void keyPressEvent ( QKeyEvent *e) ;
91}; 90};
92 91
93#endif 92#endif