summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2005-04-19 19:32:54 (UTC)
committer zautrix <zautrix>2005-04-19 19:32:54 (UTC)
commitcdcb0e0d0163695c56cf7cf9bd3f046ac63173ee (patch) (unidiff)
tree70cb7e2db9d7075a7c7e7c38adbad0c50e5d8dc4
parentb36bdf88fbf3cc78e4bf072b5eb3ec16bd8ec235 (diff)
downloadkdepimpi-cdcb0e0d0163695c56cf7cf9bd3f046ac63173ee.zip
kdepimpi-cdcb0e0d0163695c56cf7cf9bd3f046ac63173ee.tar.gz
kdepimpi-cdcb0e0d0163695c56cf7cf9bd3f046ac63173ee.tar.bz2
fixes
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--ReleaseNotes.txt18
-rw-r--r--bin/kdepim/korganizer/germantranslation.txt4
-rw-r--r--korganizer/kodaymatrix.cpp87
-rw-r--r--korganizer/kodaymatrix.h1
-rw-r--r--korganizer/komonthview.cpp3
-rw-r--r--korganizer/koprefsdialog.cpp13
-rw-r--r--korganizer/koviewmanager.cpp9
-rw-r--r--korganizer/mainwindow.cpp13
-rw-r--r--korganizer/mainwindow.h2
9 files changed, 105 insertions, 45 deletions
diff --git a/ReleaseNotes.txt b/ReleaseNotes.txt
index 01c34cc..f2adfc8 100644
--- a/ReleaseNotes.txt
+++ b/ReleaseNotes.txt
@@ -1,290 +1,294 @@
1 1
2KDE-Pim/Pi is available for four platforms: 2KDE-Pim/Pi is available for four platforms:
3 3
41) Windows 32 (not available for all releases) 41) Windows 32 (not available for all releases)
52) Zaurus Sharp ROM, gcc 2.95 compiled 52) Zaurus Sharp ROM, gcc 2.95 compiled
63) OpenZaurus ROM, gcc 3.xx compiled (not available for all releases) 63) OpenZaurus ROM, gcc 3.xx compiled (not available for all releases)
74) Linux Desktop (SuSE 9.2) (not available for all releases) 74) Linux Desktop (SuSE 9.2) (not available for all releases)
8 8
9Contents of the packages and how to install: 9Contents of the packages and how to install:
10 10
11 11
12***************************************************** 12*****************************************************
131) Windows 32 131) Windows 32
14***************************************************** 14*****************************************************
15NOTE: 15NOTE:
16There are two version for Windows available: 16There are two version for Windows available:
17The file 17The file
18kdepim_2.0.8_for_Windows.exe.zip, wich is for Windows 2000/XP 18kdepim_2.1.2_for_Windows.exe.zip, wich is for Windows 2000/XP
19and the file 19and the file
20kdepim_2.0.8_for_Windows_98-ME.exe.zip, wich is for Windows 98/ME. 20kdepim_2.1.2_for_Windows_98-ME.exe.zip, wich is for Windows 98/ME.
21The functionality is almost the same, but in the version for Windows 98/ME 21The functionality is almost the same, but in the version for Windows 98/ME
22is "Import from Outlook" disabled to make it running on Windows 98/ME. 22is "Import from Outlook" disabled to make it running on Windows 98/ME.
23 23
24Filename: kdepim_2.0.8_for_Windows.exe.zip 24Filename: kdepim_2.1.2_for_Windows.exe.zip
25Package contains: 25Package contains:
26KO/Pi 26KO/Pi
27KA/Pi 27KA/Pi
28Phone access(kammu.exe) 28Phone access(kammu.exe)
29Libs for file, dir, qtopia resources. 29Libs for file, dir, qtopia resources.
30 30
31Download file. 31Download file.
32Unzip the file, then you are almost done. 32Unzip the file, then you are almost done.
33When installing these package for the first time, 33When installing these package for the first time,
34you will need to install some needed dlls which are 34you will need to install some needed dlls which are
35available in an extra package "kdepim334.dll". This additional package contains 35available in an extra package "kdepim334.dll". This additional package contains
36the Qt3 library qt-mt334.dll and the MSVC library msvcr71.dll 36the Qt3 library qt-mt334.dll and the MSVC library msvcr71.dll
37and the MSVC library mfc71u.dll. 37and the MSVC library mfc71u.dll.
38You can download the "kdepim334.dll" package at: 38You can download the "kdepim334.dll" package at:
39http://sourceforge.net/projects/kdepimpi/ 39http://sourceforge.net/projects/kdepimpi/
40Please choose there package/project/file: 40Please choose there package/project/file:
41general Files for KDE/Pim 41general Files for KDE/Pim
42Needed Windows Dlls 42Needed Windows Dlls
43kdepim334dll.zip 43kdepim334dll.zip
44 44
45For details read the file 45For details read the file
46Migration-Howto.txt in the package. 46Migration-Howto.txt in the package.
47 47
48 48
49***************************************************** 49*****************************************************
502) Zaurus Sharp ROM, gcc 2.95 compiled 502) Zaurus Sharp ROM, gcc 2.95 compiled
51***************************************************** 51*****************************************************
52Filename: kdepim_X.X.X_for_SharpROM.ipk.zip 52Filename: kdepim_X.X.X_for_SharpROM.ipk.zip
53Package contains: 53Package contains:
54kaddressbook_X.X.X_arm.ipk 54kaddressbook_X.X.X_arm.ipk
55korganizer-alarm_X.X.X_arm.ipk 55korganizer-alarm_X.X.X_arm.ipk
56kmicrokdelibs_X.X.X_arm.ipk 56kmicrokdelibs_X.X.X_arm.ipk
57kmobilephoneaccess_X.X.X_arm.ipk 57kmobilephoneaccess_X.X.X_arm.ipk
58ksharpPIM-DTMaccess_X.X.X_arm.ipk 58ksharpPIM-DTMaccess_X.X.X_arm.ipk
59kopiemail_X.X.X_arm.ipk 59kopiemail_X.X.X_arm.ipk
60pimTABicon_X.X.X_arm.ipk 60pimTABicon_X.X.X_arm.ipk
61korganizer_X.X.X_arm.ipk 61korganizer_X.X.X_arm.ipk
62pwmanager_X.X.X_arm.ipk 62pwmanager_X.X.X_arm.ipk
63 63
64This package is for users of the Sharp ROM and clones. 64This package is for users of the Sharp ROM and clones.
65Users of old OpenZaurus releases, which are gcc2.95 65Users of old OpenZaurus releases, which are gcc2.95
66compiled can use it as well. 66compiled can use it as well.
67 67
68CONTENT: 68CONTENT:
69 69
70File kmicrokdelibs_X.X.X_arm.ipk: 70File kmicrokdelibs_X.X.X_arm.ipk:
71The libs in this file are needed to run 71The libs in this file are needed to run
72any of the included programs. 72any of the included programs.
73Install it. 73Install it.
74 74
75File kaddressbook_X.X.X_arm.ipk: 75File kaddressbook_X.X.X_arm.ipk:
76Contains KA/Pi addressbook program and needed additional libs. 76Contains KA/Pi addressbook program and needed additional libs.
77 77
78File korganizer-alarm_X.X.X_arm.ipk: 78File korganizer-alarm_X.X.X_arm.ipk:
79Contains KO/Pi calendar program and needed additional libs. 79Contains KO/Pi calendar program and needed additional libs.
80 80
81File kopiemail_X.X.X_arm.ipk: 81File kopiemail_X.X.X_arm.ipk:
82Contains OM/Pi email program and needed additional libs. 82Contains OM/Pi email program and needed additional libs.
83You need external lib openssl to run OM/Pi.
83 84
84File pwmanager_X.X.X_arm.ipk: 85File pwmanager_X.X.X_arm.ipk:
85Contains PwM/Pi password manager program. 86Contains PwM/Pi password manager program.
86 87
87File ksharpPIM-DTMaccess_X.X.X_arm.ipk: 88File ksharpPIM-DTMaccess_X.X.X_arm.ipk:
88Contains needed program/lib to sync KA/Pi and KO/Pi 89Contains needed program/lib to sync KA/Pi and KO/Pi
89with the Sharp PIM applications on the Zaurus, 90with the Sharp PIM applications on the Zaurus,
90which use the new Sharp DMT Pim format. 91which use the new Sharp DMT Pim format.
91 92
92File korganizer-alarm_X.X.X_arm.ipk: 93File korganizer-alarm_X.X.X_arm.ipk:
93Provides an alarm applet to get informed about alarms. 94Provides an alarm applet to get informed about alarms.
94The Zaurus will wake up from suspend 95The Zaurus will wake up from suspend
95if an event triggers an alarm. 96if an event triggers an alarm.
96 97
97File kmobilephoneaccess_X.X.X_arm.ipk: 98File kmobilephoneaccess_X.X.X_arm.ipk:
98Contains a command line tool for accessing mobile phones. 99Contains a command line tool for accessing mobile phones.
99It is used from Kx/Pi to sync with / export to 100It is used from Kx/Pi to sync with / export to
100mobile phones. It is not working very well, please do not 101mobile phones. It is not working very well, please do not
101expect too much. 102expect too much.
102 103
103File pimTABicon_X.X.X_arm.ipk: 104File pimTABicon_X.X.X_arm.ipk:
104If you insatll a program of the package, you may get 105If you insatll a program of the package, you may get
105a new TAB wchich is called Pim. 106a new TAB wchich is called Pim.
106If you did not have had this TAB on your Z, that 107If you did not have had this TAB on your Z, that
107TAB will not display an icon. 108TAB will not display an icon.
108Install this small package to assihn an icon to 109Install this small package to assihn an icon to
109the new Pim TAB. 110the new Pim TAB.
110 111
111 112
112Unzip package and install the apps in the usual way. 113Unzip package and install the apps in the usual way.
114You need external lib openssl to run OM/Pi.
113 115
114To get the character conversion in OM/Pi working, please download 116To get the character conversion in OM/Pi working, please download
115at the sourceforge project site the package 117at the sourceforge project site the package
116sr-character-conversion_SharpROM_arm.ipk.zip 118sr-character-conversion_SharpROM_arm.ipk.zip
117from the section "general files for KDE/Pim" 119from the section "general files for KDE/Pim"
118Instructions how to install this package are in a ReadMe in this file. 120Instructions how to install this package are in a ReadMe in this file.
119 121
120***************************************************** 122*****************************************************
1213) OpenZaurus ROM, gcc 3.xx compiled 1233) OpenZaurus ROM, gcc 3.xx compiled
122***************************************************** 124*****************************************************
123Filename: kdepim_X.X.X_for_OZ-gcc3xx.ipk.zip 125Filename: kdepim_X.X.X_for_OZ-gcc3xx.ipk.zip
124Package contains: 126Package contains:
125kaddressbook_OZ-gcc3xx_X.X.X_arm.ipk 127kaddressbook_OZ-gcc3xx_X.X.X_arm.ipk
126kmicrokdelibs_OZ-gcc3xx_X.X.X_arm.ipk 128kmicrokdelibs_OZ-gcc3xx_X.X.X_arm.ipk
127kopiemail_OZ-gcc3xx_X.X.X_arm.ipk 129kopiemail_OZ-gcc3xx_X.X.X_arm.ipk
128korganizer-alarm_OZ-gcc3xx_X.X.X_arm.ipk 130korganizer-alarm_OZ-gcc3xx_X.X.X_arm.ipk
129korganizer_OZ-gcc3xx_X.X.X_arm.ipk 131korganizer_OZ-gcc3xx_X.X.X_arm.ipk
130kmobilephoneaccess_OZ-gcc3xx_X.X.X_arm.ipk 132kmobilephoneaccess_OZ-gcc3xx_X.X.X_arm.ipk
131pimTABicon_OZ-gcc3xx_X.X.X_arm.ipk 133pimTABicon_OZ-gcc3xx_X.X.X_arm.ipk
132pwmanager_OZ-gcc3xx_X.X.X_arm.ipk 134pwmanager_OZ-gcc3xx_X.X.X_arm.ipk
133 135
134 136
135This package is for users of the Open Zaurus ROM 3.3.6, 137This package is for users of the Open Zaurus ROM 3.3.6,
136compiled by coredump (aka known as Hentges-Rom). 138compiled by coredump (aka known as Hentges-Rom).
137The programs may run on the new 139The programs may run on the new
138Open Zaurus Release 3.5.1 as well, but 140Open Zaurus Release 3.5.1 as well, but
139they cannot be installed there properly, 141they cannot be installed there properly,
140because the package manager of OZ needs more 142because the package manager of OZ needs more
141information in the ipk files to install them properly. 143information in the ipk files to install them properly.
142 144
143If you have Open Zaurus 3.5.1, you should use 145If you have Open Zaurus 3.5.1, you should use
144the packages of the OZ 3.5.1 feed, 146the packages of the OZ 3.5.1 feed,
145compiled and maintained by Hrw. 147compiled and maintained by Hrw.
146Do not ask the OZ people about problems with these 148Do not ask the OZ people about problems with these
147packages, they cannot help you. 149packages, they cannot help you.
148 150
149CONTENT: 151CONTENT:
150 152
151By the way, I cannot help you as well, because I 153By the way, I cannot help you as well, because I
152am not using OZ. 154am not using OZ.
153 155
154File kmicrokdelibs_OZ-gcc3xx_X.X.X_arm.ipk: 156File kmicrokdelibs_OZ-gcc3xx_X.X.X_arm.ipk:
155The libs in this file are needed to run 157The libs in this file are needed to run
156any of the included programs. 158any of the included programs.
157Install it. 159Install it.
158 160
159File kaddressbook_OZ-gcc3xx_X.X.X_arm.ipk: 161File kaddressbook_OZ-gcc3xx_X.X.X_arm.ipk:
160Contains KA/Pi addressbook program and needed additional libs. 162Contains KA/Pi addressbook program and needed additional libs.
161 163
162File korganizer-alarm_OZ-gcc3xx_X.X.X_arm.ipk: 164File korganizer-alarm_OZ-gcc3xx_X.X.X_arm.ipk:
163Contains KO/Pi calendar program and needed additional libs. 165Contains KO/Pi calendar program and needed additional libs.
164 166
165File kopiemail_OZ-gcc3xx_X.X.X_arm.ipk: 167File kopiemail_OZ-gcc3xx_X.X.X_arm.ipk:
166Contains OM/Pi email program and needed additional libs. 168Contains OM/Pi email program and needed additional libs.
169You need external lib openssl to run OM/Pi.
167 170
168File pwmanager_OZ-gcc3xx_X.X.X_arm.ipk: 171File pwmanager_OZ-gcc3xx_X.X.X_arm.ipk:
169Contains PwM/Pi password manager program. 172Contains PwM/Pi password manager program.
170 173
171File korganizer-alarm_OZ-gcc3xx_X.X.X_arm.ipk: 174File korganizer-alarm_OZ-gcc3xx_X.X.X_arm.ipk:
172Provides an alarm applet to get informed about alarms. 175Provides an alarm applet to get informed about alarms.
173The Zaurus will wake up from suspend 176The Zaurus will wake up from suspend
174if an event triggers an alarm. 177if an event triggers an alarm.
175 178
176File kmobilephoneaccess_OZ-gcc3xx_X.X.X_arm.ipk: 179File kmobilephoneaccess_OZ-gcc3xx_X.X.X_arm.ipk:
177Contains a command line tool for accessing mobile phones. 180Contains a command line tool for accessing mobile phones.
178It is used from Kx/Pi to sync with / export to 181It is used from Kx/Pi to sync with / export to
179mobile phones. It is not working very well, please do not 182mobile phones. It is not working very well, please do not
180expect too much. 183expect too much.
181 184
182File pimTABicon_OZ-gcc3xx_X.X.X_arm.ipk: 185File pimTABicon_OZ-gcc3xx_X.X.X_arm.ipk:
183If you insatll a program of the package, you may get 186If you insatll a program of the package, you may get
184a new TAB wchich is called Pim. 187a new TAB wchich is called Pim.
185If you did not have had this TAB on your Z, that 188If you did not have had this TAB on your Z, that
186TAB will not display an icon. 189TAB will not display an icon.
187Install this small package to assihn an icon to 190Install this small package to assihn an icon to
188the new Pim TAB. 191the new Pim TAB.
189 192
190Unzip package and install the apps in the usual way. 193Unzip package and install the apps in the usual way.
194You need external lib openssl to run OM/Pi.
191 195
192To get the character conversion in OM/Pi working, please download 196To get the character conversion in OM/Pi working, please download
193at the sourceforge project site the package 197at the sourceforge project site the package
194oz-character-conversion_OZ-gcc3xx_arm.ipk.zip 198oz-character-conversion_OZ-gcc3xx_arm.ipk.zip
195from the section "general files for KDE/Pim" 199from the section "general files for KDE/Pim"
196Instructions how to install this package are in a ReadMe in this file. 200Instructions how to install this package are in a ReadMe in this file.
197 201
198 202
199***************************************************** 203*****************************************************
2004) Linux Desktop (SuSE 9.2) 2044) Linux Desktop (SuSE 9.2)
201***************************************************** 205*****************************************************
202Filename: KDE-Pim-Pi-2.0.8-SuSE_9.2.i586.rpm 206Filename: KDE-Pim-Pi-2.1.2-SuSE_9.2.i586.rpm
203Package contains: 207Package contains:
204KAddessbook/Pi 208KAddessbook/Pi
205KOrganizer/Pi 209KOrganizer/Pi
206PasswordManager/Pi 210PasswordManager/Pi
207KPhone/Pi 211KPhone/Pi
208KTimeTracker/Pi 212KTimeTracker/Pi
209KOPieMail/Pi 213KOPieMail/Pi
210and the needed microkde libs. 214and the needed microkde libs.
211 215
212Download file and install it on console with 216Download file and install it on console with
213su 217su
214rpm -ihv KDE-Pim-Pi-2.0.8-SuSE_9.2.i586.rpm 218rpm -ihv KDE-Pim-Pi-2.1.2-SuSE_9.2.i586.rpm
215Note: 219Note:
216If you want to update, please do it with 220If you want to update, please do it with
217rpm -Uhv KDE-Pim-Pi-2.0.8-SuSE_9.2.i586.rpm 221rpm -Uhv KDE-Pim-Pi-2.1.2-SuSE_9.2.i586.rpm
218(Uninstall with rpm -e KDE-Pim-Pi-2.0.8-SuSE_9.2) 222(Uninstall with rpm -e KDE-Pim-Pi-2.1.2-SuSE_9.2)
219 223
220Here is the information, 224Here is the information,
221provided in the rpm file about the content: 225provided in the rpm file about the content:
222 226
223This package contains the platform-independent PIM programs from 227This package contains the platform-independent PIM programs from
224www.pi-sync.info, compiled for SuSE 9.2: 228www.pi-sync.info, compiled for SuSE 9.2:
225KTimeTacker/Pi 229KTimeTacker/Pi
226KPhone/Pi 230KPhone/Pi
227KAddressbook/Pi 231KAddressbook/Pi
228KOrganizer/Pi 232KOrganizer/Pi
229PasswordManager/Pi 233PasswordManager/Pi
230KOPieMail/Pi 234KOPieMail/Pi
231 235
232These applications do not need anything from the KDE-desktop 236These applications do not need anything from the KDE-desktop
233at all to run on Linux. However, there is a dependency from 237at all to run on Linux. However, there is a dependency from
234two KDE libs, because a small command line program is included 238two KDE libs, because a small command line program is included
235to make it possible to sync with the KDE-desktop applications. 239to make it possible to sync with the KDE-desktop applications.
236 240
237These applications are independent from the KDE-desktop 241These applications are independent from the KDE-desktop
238environment. That means, nothing of your existing 242environment. That means, nothing of your existing
239KDE-desktop setup will be changed, or any data 243KDE-desktop setup will be changed, or any data
240(calendar-addressbook) used by the KDE-desktop 244(calendar-addressbook) used by the KDE-desktop
241applications will be changed or accessed. 245applications will be changed or accessed.
242These applications stores their data and config in 246These applications stores their data and config in
243$HOME/kdepim/ 247$HOME/kdepim/
244However, because the same file format is used, 248However, because the same file format is used,
245an easy exchange of data with the KDE-desktop 249an easy exchange of data with the KDE-desktop
246is possible. 250is possible.
247A small command line program is included 251A small command line program is included
248to make it possible to sync with the KDE-desktop applications. 252to make it possible to sync with the KDE-desktop applications.
249You do not need to call this program from the commandline, 253You do not need to call this program from the commandline,
250it is called from the KDE-Pim/Pi apps when you choose there: 254it is called from the KDE-Pim/Pi apps when you choose there:
251Sync with KDE_Desktop. 255Sync with KDE_Desktop.
252If something is going wrong, please start the 256If something is going wrong, please start the
253KDE-Pim/Pi program itself from the console to get detailed output. 257KDE-Pim/Pi program itself from the console to get detailed output.
254 258
255After installation, you should have a 259After installation, you should have a
256PIM-pi 260PIM-pi
257folder in your KDE start menu, where you can 261folder in your KDE start menu, where you can
258start the applications from. 262start the applications from.
259 263
260These programs makes it possible to sync your Zaurus easily 264These programs makes it possible to sync your Zaurus easily
261(with the KDE-Pim/Pi programs running on the Zaurus) 265(with the KDE-Pim/Pi programs running on the Zaurus)
262with the KDE-desktop calendar/addressbook data. 266with the KDE-desktop calendar/addressbook data.
263If you want to use that, you have to update your 267If you want to use that, you have to update your
264KDE-desktop to version 3.3.0 or higher. 268KDE-desktop to version 3.3.0 or higher.
265SuSE 9.2 contains KDE 3.3.0 such that no update is needed. 269SuSE 9.2 contains KDE 3.3.0 such that no update is needed.
266Actually - after the (non difficult) configuration is set up - 270Actually - after the (non difficult) configuration is set up -
267with two mouseklicks on the Zaurus, 271with two mouseklicks on the Zaurus,
268the Zaurus syncs with the corresponding KDE-Pim/Pi 272the Zaurus syncs with the corresponding KDE-Pim/Pi
269program on the Linux Desktop which syncs automatically 273program on the Linux Desktop which syncs automatically
270with the KDE-desktop data. 274with the KDE-desktop data.
271 275
272If you want to use the KDE-desktop calendar/addressbook applications, 276If you want to use the KDE-desktop calendar/addressbook applications,
273just install these apps in this package and use them as a syncing tool for the 277just install these apps in this package and use them as a syncing tool for the
274Zaurus <-> KDE-desktop sync. 278Zaurus <-> KDE-desktop sync.
275The sync requires a network connection from your Zaurus to 279The sync requires a network connection from your Zaurus to
276the PC. A detailed Sync HowTo is available in the 280the PC. A detailed Sync HowTo is available in the
277Help menu of the applications. 281Help menu of the applications.
278 282
279These applications makes it also possible, that you can sync 283These applications makes it also possible, that you can sync
280(or just export the data to) your mobile phone with your 284(or just export the data to) your mobile phone with your
281data of the KDE-desktop calendar/addressbook applications. 285data of the KDE-desktop calendar/addressbook applications.
282This is tested and working for Nokia mobile phones, 286This is tested and working for Nokia mobile phones,
283it may work with others as well. 287it may work with others as well.
284(More info about that: -> Sync HowTo) 288(More info about that: -> Sync HowTo)
285 289
286NOTE: 290NOTE:
287When using SuSE 9.1 you have to update your KDE to 3.3.x 291When using SuSE 9.1 you have to update your KDE to 3.3.x
288and you have to make an online update in SuSE 9.1 to make it 292and you have to make an online update in SuSE 9.1 to make it
289possible to get the infrared connection working, such that 293possible to get the infrared connection working, such that
290you can sync your (Nokia) mobile phone via infrared. \ No newline at end of file 294you can sync your (Nokia) mobile phone via infrared. \ No newline at end of file
diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt
index 7fa92bf..5693112 100644
--- a/bin/kdepim/korganizer/germantranslation.txt
+++ b/bin/kdepim/korganizer/germantranslation.txt
@@ -368,257 +368,257 @@
368{ "Start:","Start:" }, 368{ "Start:","Start:" },
369{ "Start Date","Start Datum" }, 369{ "Start Date","Start Datum" },
370{ "Start date: %1","Start Datum: %1" }, 370{ "Start date: %1","Start Datum: %1" },
371{ "Start Time","Start Zeit" }, 371{ "Start Time","Start Zeit" },
372{ "Status:","Status:" }, 372{ "Status:","Status:" },
373{ "Status","Status:" }, 373{ "Status","Status:" },
374{ "Summaries","Titel" }, 374{ "Summaries","Titel" },
375{ "Summary:","Titel:" }, 375{ "Summary:","Titel:" },
376{ "Summary","Titel" }, 376{ "Summary","Titel" },
377{ "Sunday","Sonntag" }, 377{ "Sunday","Sonntag" },
378{ "Sun","So" }, 378{ "Sun","So" },
379{ "Sync preferences:","Sync Einstellungen" }, 379{ "Sync preferences:","Sync Einstellungen" },
380{ "Sync Prefs","Sync Einstellungen" }, 380{ "Sync Prefs","Sync Einstellungen" },
381{ "Syncronize","Daten abgleich" }, 381{ "Syncronize","Daten abgleich" },
382{ "Take local entry on conflict","Nimm lokalen Eintrag beim Konflikt" }, 382{ "Take local entry on conflict","Nimm lokalen Eintrag beim Konflikt" },
383{ "Take newest entry on conflict","Nimm neuesten Eintrag beim Konflikt" }, 383{ "Take newest entry on conflict","Nimm neuesten Eintrag beim Konflikt" },
384{ "Take remote entry on conflict","Nimm fernen Eintrag beim Konflikt" }, 384{ "Take remote entry on conflict","Nimm fernen Eintrag beim Konflikt" },
385{ "Template '%1' does not contain a valid Todo.","Template '%1' enthält kein gültiges To-Do" }, 385{ "Template '%1' does not contain a valid Todo.","Template '%1' enthält kein gültiges To-Do" },
386{ "Template does not contain a valid Event.","Template '%1' enthält keinen gültigen Termin" }, 386{ "Template does not contain a valid Event.","Template '%1' enthält keinen gültigen Termin" },
387{ "Template...","Vorlage..." }, 387{ "Template...","Vorlage..." },
388{ "This day","Dieser Tag" }, 388{ "This day","Dieser Tag" },
389{ "This is an experimental feature. ","Dieses Feature ist experimentel" }, 389{ "This is an experimental feature. ","Dieses Feature ist experimentel" },
390{ "This item will be\npermanently deleted.","Dieser Eintrag wird\nkomplett gelöscht." }, 390{ "This item will be\npermanently deleted.","Dieser Eintrag wird\nkomplett gelöscht." },
391{ "This item will be permanently deleted.", "Dieser Eintrag wird komplett gelöscht." }, 391{ "This item will be permanently deleted.", "Dieser Eintrag wird komplett gelöscht." },
392{ "Thu","Do" }, 392{ "Thu","Do" },
393{ "Thursday","Donnerstag" }, 393{ "Thursday","Donnerstag" },
394{ "Time associated","Mit Zeit" }, 394{ "Time associated","Mit Zeit" },
395{ "Time bar:","Uhrzeit Zeile:" }, 395{ "Time bar:","Uhrzeit Zeile:" },
396{ "Time && Date","Zeit und Datum" }, 396{ "Time && Date","Zeit und Datum" },
397{ "Time Format","Zeit Format" }, 397{ "Time Format","Zeit Format" },
398{ "Time Format(nr):","Zeit Format(Neustart!)" }, 398{ "Time Format(nr):","Zeit Format(Neustart!)" },
399{ "Date Labels:","Datumsleiste:" }, 399{ "Date Labels:","Datumsleiste:" },
400{ "Time: ","Zeit: " }, 400{ "Time: ","Zeit: " },
401{ "Timezone:","Zeitzone:" }, 401{ "Timezone:","Zeitzone:" },
402{ "To: ","Bis: " }, 402{ "To: ","Bis: " },
403{ "To:","Bis:" }, 403{ "To:","Bis:" },
404{ "Today: ","Heute: " }, 404{ "Today: ","Heute: " },
405{ "Todo due today color:","Heute fällige To-Do's" }, 405{ "Todo due today color:","Heute fällige To-Do's" },
406{ "To-do items:","To-Do items:" }, 406{ "To-do items:","To-Do items:" },
407{ "Todo overdue color:","Überfällige To-Do's" }, 407{ "Todo overdue color:","Überfällige To-Do's" },
408{ "Todo","Todo" }, 408{ "Todo","Todo" },
409{ "To-do view shows completed Todos","To-do Ansicht zeigt erledigte To-dos" }, 409{ "To-do view shows completed Todos","To-do Ansicht zeigt erledigte To-dos" },
410{ "ToDoView:","Todo Ansicht:" }, 410{ "ToDoView:","Todo Ansicht:" },
411{ "Toggle Alarm","Wechsle Alarm" }, 411{ "Toggle Alarm","Wechsle Alarm" },
412{ "Toggle Allday","Umschalten Ganztag" }, 412{ "Toggle Allday","Umschalten Ganztag" },
413{ "Tomorrow: ","Morgen: " }, 413{ "Tomorrow: ","Morgen: " },
414{ "Tue","Di" }, 414{ "Tue","Di" },
415{ "Tuesday","Dienstag" }, 415{ "Tuesday","Dienstag" },
416{ "Two entries are in conflict, if: ","Zwei Einträge haben einen Konflikt, wenn:" }, 416{ "Two entries are in conflict, if: ","Zwei Einträge haben einen Konflikt, wenn:" },
417{ "Unable to find template '%1'.","Kann Vorlage '%1' nicht finden." }, 417{ "Unable to find template '%1'.","Kann Vorlage '%1' nicht finden." },
418{ "Unknown","Unbekannt" }, 418{ "Unknown","Unbekannt" },
419{ "Up","Hinauf" }, 419{ "Up","Hinauf" },
420{ "Use password (if not, ask when syncing)","Passwort: (sonst jedesmal anfragen)" }, 420{ "Use password (if not, ask when syncing)","Passwort: (sonst jedesmal anfragen)" },
421{ "User defined","Benutzerdefiniert" }, 421{ "User defined","Benutzerdefiniert" },
422{ "User long date:","Format langes Datum:" }, 422{ "User long date:","Format langes Datum:" },
423{ "User short date:","Forma kurzes Datum:" }, 423{ "User short date:","Forma kurzes Datum:" },
424{ "View","Ansicht" }, 424{ "View","Ansicht" },
425{ "View Fonts","Schriftarten Ansichten" }, 425{ "View Fonts","Schriftarten Ansichten" },
426{ "Views","Ansichten" }, 426{ "Views","Ansichten" },
427{ "Wed","Mi" }, 427{ "Wed","Mi" },
428{ "Wednesday","Mittwoch" }, 428{ "Wednesday","Mittwoch" },
429{ "Week %1","Woche %1" }, 429{ "Week %1","Woche %1" },
430{ "Weekly","Wöchentlich" }, 430{ "Weekly","Wöchentlich" },
431{ "Week starts on Sunday","Woche beginnt Sonntags" }, 431{ "Week starts on Sunday","Woche beginnt Sonntags" },
432{ "What's Next View:","What's Next Anz." }, 432{ "What's Next View:","What's Next Anz." },
433{ "What's next ?","Was kommt als nächstes?(What's Next)" }, 433{ "What's next ?","Was kommt als nächstes?(What's Next)" },
434{ "Working Hours","Tägliche Arbeitszeit" }, 434{ "Working Hours","Tägliche Arbeitszeit" },
435{ "Working hours color:","Arbeitszeit in der Agenda Ansicht:" }, 435{ "Working hours color:","Arbeitszeit in der Agenda Ansicht:" },
436{ "Write back existing entries only","Nur exisitierende Einträge zurückschreiben" }, 436{ "Write back existing entries only","Nur exisitierende Einträge zurückschreiben" },
437{ "Write back synced file","Syncronisierte Datei zurückschreiben" }, 437{ "Write back synced file","Syncronisierte Datei zurückschreiben" },
438{ "Yearly","Jährlich" }, 438{ "Yearly","Jährlich" },
439{ "year(s)","Jahr(e)" }, 439{ "year(s)","Jahr(e)" },
440{ "Yes","Ja" }, 440{ "Yes","Ja" },
441{ "You have %d item(s) selected.\n","Sie haben %d Einträge ausgewählt.\n" }, 441{ "You have %d item(s) selected.\n","Sie haben %d Einträge ausgewählt.\n" },
442{ "You have to restart KOrganizer for this setting to take effect.","Sie müssem Korganizer neu starten, damit diese Einstellung aktiviert wird." }, 442{ "You have to restart KOrganizer for this setting to take effect.","Sie müssem Korganizer neu starten, damit diese Einstellung aktiviert wird." },
443{ "week(s) on:","Woche(n) am: " }, 443{ "week(s) on:","Woche(n) am: " },
444{ "Full menu bar(nr)","Volle Menuleiste(bn)" }, 444{ "Full menu bar(nr)","Volle Menuleiste(bn)" },
445{ "Timezone has daylight saving","Zeitzone hat Sommerzeit" }, 445{ "Timezone has daylight saving","Zeitzone hat Sommerzeit" },
446{ "Actual start and end is the\nsunday before this date.","Tatsächlicher Beginn/Ende ist der\nSonntag vor diesem Datum!" }, 446{ "Actual start and end is the\nsunday before this date.","Tatsächlicher Beginn/Ende ist der\nSonntag vor diesem Datum!" },
447{ "The year in the date is ignored.","Das Jahr vom Datum wird ignoriert." }, 447{ "The year in the date is ignored.","Das Jahr vom Datum wird ignoriert." },
448{ "Daylight start:","Sommerzeit Beginn:" }, 448{ "Daylight start:","Sommerzeit Beginn:" },
449{ "Daylight end:","Sommerzeit Ende:" }, 449{ "Daylight end:","Sommerzeit Ende:" },
450{ "Time Zone","Zeitzone" }, 450{ "Time Zone","Zeitzone" },
451{ "Monday 19 April 2004: %A %d %B %Y","Montag 19 April 2004: %A %d %B %Y" }, 451{ "Monday 19 April 2004: %A %d %B %Y","Montag 19 April 2004: %A %d %B %Y" },
452{ "%A: Monday --- %a: Mon","%A: Montag --- %a: Mon" }, 452{ "%A: Monday --- %a: Mon","%A: Montag --- %a: Mon" },
453{ "minutely","minütlich" }, 453{ "minutely","minütlich" },
454{ "hourly","stündlich" }, 454{ "hourly","stündlich" },
455{ "daily","täglich" }, 455{ "daily","täglich" },
456{ "weekly","wöchentlich" }, 456{ "weekly","wöchentlich" },
457{ "monthly","monatlich" }, 457{ "monthly","monatlich" },
458{ "day-monthly","tag-monatlich" }, 458{ "day-monthly","tag-monatlich" },
459{ "month-yearly","monat-jährlich" }, 459{ "month-yearly","monat-jährlich" },
460{ "day-yearly","tag-jährlich" }, 460{ "day-yearly","tag-jährlich" },
461{ "position-yearly","pos-jährlich" }, 461{ "position-yearly","pos-jährlich" },
462{ "Edit item on doubleclick (if not, show)","Editiere mit Doppelklick(wenn nicht, zeige)" }, 462{ "Edit item on doubleclick (if not, show)","Editiere mit Doppelklick(wenn nicht, zeige)" },
463{ "Highlight current day in agenda","Hebe >>heute<< in Agenda hervor" }, 463{ "Highlight current day in agenda","Hebe >>heute<< in Agenda hervor" },
464{ "Use light color for highlight current day","Helle Farbe für >>heute<< Hervorhebung" }, 464{ "Use light color for highlight current day","Helle Farbe für >>heute<< Hervorhebung" },
465{ "Highlight selection in Time Edit","Hebe Auswahl in Zeit Edit hervor" }, 465{ "Highlight selection in Time Edit","Hebe Auswahl in Zeit Edit hervor" },
466{ "Hold fullscreen on view change","Behalte Vollbild bei Ansichswechsel" }, 466{ "Hold fullscreen on view change","Behalte Vollbild bei Ansichswechsel" },
467{ "Hold non-fullscreen on view change","Behalte Nicht-Vollbild bei Ansichtsw." }, 467{ "Hold non-fullscreen on view change","Behalte Nicht-Vollbild bei Ansichtsw." },
468{ "Event list view uses full window","Listenansicht nutzt Vollbild" }, 468{ "Event list view uses full window","Listenansicht nutzt Vollbild" },
469{ "Set agenda to DayBeginsAt on change","Setze Agenda auf TagBeginntUm bei Wechsel" }, 469{ "Set agenda to DayBeginsAt on change","Setze Agenda auf TagBeginntUm bei Wechsel" },
470{ "Set agenda to current time on change","Setze Agenda auf gegenw.Zeit bei Wechsel" }, 470{ "Set agenda to current time on change","Setze Agenda auf gegenw.Zeit bei Wechsel" },
471{ "Listview uses monthly timespan","Listenansicht zeigt monatliche Zeitspanne" }, 471{ "Listview uses monthly timespan","Listenansicht zeigt monatliche Zeitspanne" },
472{ "ViewChange","Ansichtswechsel" }, 472{ "ViewChange","Ansichtswechsel" },
473{ "Default alarm *.wav file:","Standard Alarm *.wav Datei:" }, 473{ "Default alarm *.wav file:","Standard Alarm *.wav Datei:" },
474{ "This setting is useless for 5500 user!","Diese Einst. ist nutzlos für 5500 Nutzer" }, 474{ "This setting is useless for 5500 user!","Diese Einst. ist nutzlos für 5500 Nutzer" },
475{ "File","Datei" }, 475{ "File","Datei" },
476{ "Clone...","Dupliziere.." }, 476{ "Clone...","Dupliziere.." },
477{ "Move...","Bewege..." }, 477{ "Move...","Bewege..." },
478{ "Beam...","Sende via IR..." }, 478{ "Beam...","Sende via IR..." },
479{ "&Clone...","Dupliziere.." }, 479{ "&Clone...","Dupliziere.." },
480{ "&Move...","Bewege..." }, 480{ "&Move...","Bewege..." },
481{ "&Beam...","Sende via IR..." }, 481{ "&Beam...","Sende via IR..." },
482{ "Show Completed","Zeige erledigte Todos" }, 482{ "Show Completed","Zeige erledigte Todos" },
483{ "Show Quick Todo","Zeige Quick Todo" }, 483{ "Show Quick Todo","Zeige Quick Todo" },
484{ "Unparent Todo","Un-sub Todo" }, 484{ "Unparent Todo","Un-sub Todo" },
485{ "Save selected to file...","Speichere Selektierte..." }, 485{ "Save selected to file...","Speichere Selektierte..." },
486{ "Add Categ. to selected...","Füge zu Selekt. Kateg. hinzu..." }, 486{ "Add Categ. to selected...","Füge zu Selekt. Kateg. hinzu..." },
487{ "Set Categ. for selected...","Setze Kateg. für Selekt." }, 487{ "Set Categ. for selected...","Setze Kateg. für Selekt." },
488{ "Beam selected via IR","Sende Selekt. via IR..." }, 488{ "Beam selected via IR","Sende Selekt. via IR..." },
489{ "Search","Suchen" }, 489{ "Search","Suchen" },
490{ "Date Picker","Datum auswählen" }, 490{ "Date Picker","Datum auswählen" },
491{ "Day View","Tagesansicht" }, 491{ "Day View","Tagesansicht" },
492{ "Work Week","Arbeitswoche" }, 492{ "Work Week","Arbeitswoche" },
493{ "Week","Wochenansicht" }, 493{ "Week","Wochenansicht" },
494{ "Month","Monatsansicht" }, 494{ "Month","Monatsansicht" },
495{ "Todo View","Todo Liste" }, 495{ "Todo View","Todo Liste" },
496{ "Journal","Journal Ansicht" }, 496{ "Journal","Journal" },
497{ "Next days","Nächste Tage" }, 497{ "Next days","Nächste Tage" },
498{ "Print agenda selection...","Drucke Agendaselektion..." }, 498{ "Print agenda selection...","Drucke Agendaselektion..." },
499{ "Toggle DateNavigator","Navigator umschalten" }, 499{ "Toggle DateNavigator","Navigator umschalten" },
500{ "Toggle FilterView","Filteransicht umschalten" }, 500{ "Toggle FilterView","Filteransicht umschalten" },
501{ "Prev. month","Vorheriger Monat" }, 501{ "Prev. month","Vorheriger Monat" },
502{ "Go backward","Gehe zurück" }, 502{ "Go backward","Gehe zurück" },
503{ "Go forward","Gehe weiter" }, 503{ "Go forward","Gehe weiter" },
504{ "Synchronize","Synchronisieren" }, 504{ "Synchronize","Synchronisieren" },
505{ "AgendaSize","Agendagröße" }, 505{ "AgendaSize","Agendagröße" },
506{ "Import (*.ics/*.vcs) file","Importiere (*.ics/*.vcs) Datei" }, 506{ "Import (*.ics/*.vcs) file","Importiere (*.ics/*.vcs) Datei" },
507{ "Import last file","Importiere letzte Datei" }, 507{ "Import last file","Importiere letzte Datei" },
508{ "Import Opie/Qtopia Cal.","Importiere Opie/Qtopia Kal." }, 508{ "Import Opie/Qtopia Cal.","Importiere Opie/Qtopia Kal." },
509{ "Load Calendar Backup","Lade Kalender Backup" }, 509{ "Load Calendar Backup","Lade Kalender Backup" },
510{ "Save Calendar Backup","Speichere Kalender Backup" }, 510{ "Save Calendar Backup","Speichere Kalender Backup" },
511{ "Export VCalendar","Exportiere VCalendar" }, 511{ "Export VCalendar","Exportiere VCalendar" },
512{ "Manage new categories...","Verwalte neue Kategorien..." }, 512{ "Manage new categories...","Verwalte neue Kategorien..." },
513{ "Beam complete calendar...","Sende kompletten Kalender via IR" }, 513{ "Beam complete calendar...","Sende kompletten Kalender via IR" },
514{ "Beam filtered calendar...","Sende gefilterten Kalender via IR" }, 514{ "Beam filtered calendar...","Sende gefilterten Kalender via IR" },
515{ "Remote via ssh","Über Netzwerk via ssh" }, 515{ "Remote via ssh","Über Netzwerk via ssh" },
516{ "With local file","Mit lokaler Datei" }, 516{ "With local file","Mit lokaler Datei" },
517{ "With last file","Mit letzter Datei" }, 517{ "With last file","Mit letzter Datei" },
518{ "KO/Pi: Ready for beaming","KO/Pi: Bereit zum Senden" }, 518{ "KO/Pi: Ready for beaming","KO/Pi: Bereit zum Senden" },
519{ "KO/Pi:Beaming done","KO/Pi: Senden erfolgt" }, 519{ "KO/Pi:Beaming done","KO/Pi: Senden erfolgt" },
520{ "Save filename","Speichern: Dateinamen wählen" }, 520{ "Save filename","Speichern: Dateinamen wählen" },
521{ "File already exists!\nOld file from:\n%1\nOverwrite?\n","Dateiname existiert bereits!\nAlte Datei vom:\n%1\nÜberschreiben?\n" }, 521{ "File already exists!\nOld file from:\n%1\nOverwrite?\n","Dateiname existiert bereits!\nAlte Datei vom:\n%1\nÜberschreiben?\n" },
522{ "KO/Pi: Warning!","KO/Pi: Warnung!" }, 522{ "KO/Pi: Warning!","KO/Pi: Warnung!" },
523{ "Overwrite!","Überschreibe!" }, 523{ "Overwrite!","Überschreibe!" },
524{ "KO/Pi:Saved %1","KO/Pi:Gespeichert %1" }, 524{ "KO/Pi:Saved %1","KO/Pi:Gespeichert %1" },
525{ "All selected items will be\npermanently deleted.\n(Deleting items will take\nsome time on a PDA)\n","Alle selektierten Einträge werden\nunwiederbringlich gelöscht.\n(Löschen kann auf dem\nPDA einige Zeit dauern)\n" }, 525{ "All selected items will be\npermanently deleted.\n(Deleting items will take\nsome time on a PDA)\n","Alle selektierten Einträge werden\nunwiederbringlich gelöscht.\n(Löschen kann auf dem\nPDA einige Zeit dauern)\n" },
526{ "KO/Pi Confirmation","KO/Pi Bestätigung" }, 526{ "KO/Pi Confirmation","KO/Pi Bestätigung" },
527{ "Close dialog to abort deletion!","Schließe Dialog um das Löschen abzubrechen!" }, 527{ "Close dialog to abort deletion!","Schließe Dialog um das Löschen abzubrechen!" },
528{ "Deleting item %d ...","Lösche Eintrag %d ..." }, 528{ "Deleting item %d ...","Lösche Eintrag %d ..." },
529{ "%d items remaining in list.","%d Einträge sind in der Liste verblieben." }, 529{ "%d items remaining in list.","%d Einträge sind in der Liste verblieben." },
530{ "Size","Größe" }, 530{ "Size","Größe" },
531{ "Date","Datum" }, 531{ "Date","Datum" },
532{ "Mime Type","Datei Typ" }, 532{ "Mime Type","Datei Typ" },
533{ "All Files","Alle Dateien" }, 533{ "All Files","Alle Dateien" },
534{ "Files","Dateien" }, 534{ "Files","Dateien" },
535{ "Documents","DoKumente" }, 535{ "Documents","DoKumente" },
536{ "Select Categories","Selektiere Kategorien" }, 536{ "Select Categories","Selektiere Kategorien" },
537{ " &Deselect All "," Auswahl aufheben " }, 537{ " &Deselect All "," Auswahl aufheben " },
538{ "A&dd","Hinzu" }, 538{ "A&dd","Hinzu" },
539{ "&Modify","Ändern" }, 539{ "&Modify","Ändern" },
540{ "Edit Categories","Editiere Kategorien" }, 540{ "Edit Categories","Editiere Kategorien" },
541{ " &Edit Categories "," &Editiere Kategorien " }, 541{ " &Edit Categories "," &Editiere Kategorien " },
542{ "Beam Options","Beam Einstellungen" }, 542{ "Beam Options","Beam Einstellungen" },
543{ " With timezone "," Mit Zeitzone " }, 543{ " With timezone "," Mit Zeitzone " },
544{ " Local time ", " Lokale Zeit " }, 544{ " Local time ", " Lokale Zeit " },
545{ "Manage new Categories","Verwalte neue Kategorien" }, 545{ "Manage new Categories","Verwalte neue Kategorien" },
546{ "Add to category list","Füge zur Kategorieliste hinzu" }, 546{ "Add to category list","Füge zur Kategorieliste hinzu" },
547{ "Remove from Events/Todos","Entferne von Terminen/Todos" }, 547{ "Remove from Events/Todos","Entferne von Terminen/Todos" },
548{ "After importing/loading/syncing\nthere may be new categories in\nevents or todos\nwhich are not in the category list.\nPlease choose what to do:\n ","Nach dem Importieren/Laden/Syncen\nkann es neue Kategorien in den \nTerminen oder Todos geben, die nicht\nin der Kategorieliste enthalten sind.\nBitte wählen Sie, was passieren soll:\n " }, 548{ "After importing/loading/syncing\nthere may be new categories in\nevents or todos\nwhich are not in the category list.\nPlease choose what to do:\n ","Nach dem Importieren/Laden/Syncen\nkann es neue Kategorien in den \nTerminen oder Todos geben, die nicht\nin der Kategorieliste enthalten sind.\nBitte wählen Sie, was passieren soll:\n " },
549{ "New categories not in list:","Kategorien, die nicht in der Liste sind:" }, 549{ "New categories not in list:","Kategorien, die nicht in der Liste sind:" },
550{ "File format","Datei Format" }, 550{ "File format","Datei Format" },
551{ "Time format","Zeit Format" }, 551{ "Time format","Zeit Format" },
552{ "KO/Pi:Saving Data to File ...","KO/Pi: Speichere Kalender in Datei ..." }, 552{ "KO/Pi:Saving Data to File ...","KO/Pi: Speichere Kalender in Datei ..." },
553{ "KO/Pi:File Saved. Needed %d sec, %d ms","KO/Pi: Abgespeichert in %d sec, %d ms" }, 553{ "KO/Pi:File Saved. Needed %d sec, %d ms","KO/Pi: Abgespeichert in %d sec, %d ms" },
554{ "h","Std" }, 554{ "h","Std" },
555{ "min","Min" }, 555{ "min","Min" },
556{ "hou","Std" }, 556{ "hou","Std" },
557{ "day","Tag" }, 557{ "day","Tag" },
558{ "French","Französich" }, 558{ "French","Französich" },
559{ "Time","Zeit" }, 559{ "Time","Zeit" },
560{ "Event Viewer","Termin Ansicht" }, 560{ "Event Viewer","Termin Ansicht" },
561{ "Cancel Sync","Sync Abbrechen" }, 561{ "Cancel Sync","Sync Abbrechen" },
562{ "Remote","Fern" }, 562{ "Remote","Fern" },
563{ "Local","Lokal" }, 563{ "Local","Lokal" },
564{ "Conflict! Please choose entry","Konflikt! Bitte Eintrag wählen" }, 564{ "Conflict! Please choose entry","Konflikt! Bitte Eintrag wählen" },
565{ "Local: ","Lokal: " }, 565{ "Local: ","Lokal: " },
566{ "Remote: ","Fern: " }, 566{ "Remote: ","Fern: " },
567{ "Last modified: ","Zuletzt geändert: " }, 567{ "Last modified: ","Zuletzt geändert: " },
568{ "Location: ","Ort: " }, 568{ "Location: ","Ort: " },
569{ "<p><b>From:</b> %1 </p><p><b>To:</b> %2</p>","<p><b>Von:</b> %1 </p><p><b>Bis:</b> %2</p>" }, 569{ "<p><b>From:</b> %1 </p><p><b>To:</b> %2</p>","<p><b>Von:</b> %1 </p><p><b>Bis:</b> %2</p>" },
570{ "<p><b>On:</b> %1</p>","<p><b>Am:</b> %1</p>" }, 570{ "<p><b>On:</b> %1</p>","<p><b>Am:</b> %1</p>" },
571{ "<p><b>From:</b> %1</p> ","<p><b>Von:</b> %1</p> " }, 571{ "<p><b>From:</b> %1</p> ","<p><b>Von:</b> %1</p> " },
572{ "<p><b>To:</b> %1</p>","<p><b>Bis:</b> %1</p>" }, 572{ "<p><b>To:</b> %1</p>","<p><b>Bis:</b> %1</p>" },
573{ "<p><b>On:</b> %1</p> ","<p><b>Am:</b> %1</p> " }, 573{ "<p><b>On:</b> %1</p> ","<p><b>Am:</b> %1</p> " },
574{ "<p><b>From:</b> %1 <b>To:</b> %2</p>","<p><b>Von:</b> %1 <b>Bis:</b> %2</p>" }, 574{ "<p><b>From:</b> %1 <b>To:</b> %2</p>","<p><b>Von:</b> %1 <b>Bis:</b> %2</p>" },
575{ "This is a %1 recurring event.","Das ist ein %1 wiederholender Termin." }, 575{ "This is a %1 recurring event.","Das ist ein %1 wiederholender Termin." },
576{ "<b>Next recurrence is on:</b>","<b>Nächste Wiederholung ist am:</b>" }, 576{ "<b>Next recurrence is on:</b>","<b>Nächste Wiederholung ist am:</b>" },
577{ "<b>Last recurrence was on:</b>","<b>Letzte Wiederholung war am:</b>" }, 577{ "<b>Last recurrence was on:</b>","<b>Letzte Wiederholung war am:</b>" },
578{ "( %1 min before )","( %1 min vorher )" }, 578{ "( %1 min before )","( %1 min vorher )" },
579{ "<b>Alarm on: ","<b>Alarm am: " }, 579{ "<b>Alarm on: ","<b>Alarm am: " },
580{ "<b>Details: </b>","<b>Details: </b>" }, 580{ "<b>Details: </b>","<b>Details: </b>" },
581{ "<p><b>Priority:</b> %2</p>","<p><b>Priorität:</b> %2</p>" }, 581{ "<p><b>Priority:</b> %2</p>","<p><b>Priorität:</b> %2</p>" },
582{ "<p><i>%1 % completed</i></p>","<p><i>%1 % erledigt</i></p>" }, 582{ "<p><i>%1 % completed</i></p>","<p><i>%1 % erledigt</i></p>" },
583{ "Organizer","Organisator" }, 583{ "Organizer","Organisator" },
584{ "Save","Speichern" }, 584{ "Save","Speichern" },
585{ "Exit (+save)","Beenden (+ speichern)" }, 585{ "Exit (+save)","Beenden (+ speichern)" },
586{ "Home","Zuhause" }, 586{ "Home","Zuhause" },
587{ "Office","Büro" }, 587{ "Office","Büro" },
588{ "Libary","Bücherei" }, 588{ "Libary","Bücherei" },
589{ "Doctor","Arzt" }, 589{ "Doctor","Arzt" },
590{ "Beach","Strand" }, 590{ "Beach","Strand" },
591{ "Conference room","Konferenzraum" }, 591{ "Conference room","Konferenzraum" },
592{ "Drive Home","Heimfahrt" }, 592{ "Drive Home","Heimfahrt" },
593{ "Watch TV","Tv gucken" }, 593{ "Watch TV","Tv gucken" },
594{ "Phone call","Telefonanruf" }, 594{ "Phone call","Telefonanruf" },
595{ "Pay bill","Rechnung bezahlen" }, 595{ "Pay bill","Rechnung bezahlen" },
596{ "Read book","Buch lesen" }, 596{ "Read book","Buch lesen" },
597{ "Watering plants","Pflanzen giessen" }, 597{ "Watering plants","Pflanzen giessen" },
598{"Appointment","Verabredung" }, 598{"Appointment","Verabredung" },
599{"Birthday","Geburtstag" }, 599{"Birthday","Geburtstag" },
600{"Business","Geschäft" }, 600{"Business","Geschäft" },
601{"Business Travel","Geschäftsreise" }, 601{"Business Travel","Geschäftsreise" },
602{"Cinema","Kino" }, 602{"Cinema","Kino" },
603{"Customer","Kunde" }, 603{"Customer","Kunde" },
604{"Break","Pause" }, 604{"Break","Pause" },
605{"Breakfast","Frühstück" }, 605{"Breakfast","Frühstück" },
606{"Competition","Wettkampf" }, 606{"Competition","Wettkampf" },
607{"Dinner","Abendessen" }, 607{"Dinner","Abendessen" },
608{"Education","Erziehung" }, 608{"Education","Erziehung" },
609{"Family","Familie" }, 609{"Family","Familie" },
610{"Favorites","Favoriten" }, 610{"Favorites","Favoriten" },
611{"Festival","Festival" }, 611{"Festival","Festival" },
612{"Fishing","Angeln" }, 612{"Fishing","Angeln" },
613{"Flight","Flug" }, 613{"Flight","Flug" },
614{"Gifts","Geschenk" }, 614{"Gifts","Geschenk" },
615{"Holiday","Feiertag" }, 615{"Holiday","Feiertag" },
616{"Holiday Cards","Ansichtskarten" }, 616{"Holiday Cards","Ansichtskarten" },
617{"Hot Contacts","Heisse Kontakte" }, 617{"Hot Contacts","Heisse Kontakte" },
618{"Hiking","Wandern" }, 618{"Hiking","Wandern" },
619{"Hunting","Jagen" }, 619{"Hunting","Jagen" },
620{"Key Customer","Wichtiger Kunde" }, 620{"Key Customer","Wichtiger Kunde" },
621{"Kids","Kinder" }, 621{"Kids","Kinder" },
622{"Lunch","Mittagessen" }, 622{"Lunch","Mittagessen" },
623{"Meeting","Treffen" }, 623{"Meeting","Treffen" },
624{"Miscellaneous","Verschiedenes" }, 624{"Miscellaneous","Verschiedenes" },
@@ -1202,159 +1202,159 @@
1202{ "Set Alarm!","Setze Alarm!" }, 1202{ "Set Alarm!","Setze Alarm!" },
1203{ "Canged alarm for %1 items","Alarm für %1 Items geändert" }, 1203{ "Canged alarm for %1 items","Alarm für %1 Items geändert" },
1204{ " and "," und " }, 1204{ " and "," und " },
1205{ "<IMG src="%1"> only )","nur <IMG src="%1"> )" }, 1205{ "<IMG src="%1"> only )","nur <IMG src="%1"> )" },
1206{ "Mail to selected","Mail an Ausgewählte" }, 1206{ "Mail to selected","Mail an Ausgewählte" },
1207{ "Mail to all","Mail an Alle" }, 1207{ "Mail to all","Mail an Alle" },
1208{ "Week view mode uses bigger font","Wochenansicht Modus nutzt größeren Font" }, 1208{ "Week view mode uses bigger font","Wochenansicht Modus nutzt größeren Font" },
1209{ "Set reminder ON with offset to:","Alarm AN mit Offset auf:" }, 1209{ "Set reminder ON with offset to:","Alarm AN mit Offset auf:" },
1210{ " on"," am" }, 1210{ " on"," am" },
1211{ " completed on "," erledigt am " }, 1211{ " completed on "," erledigt am " },
1212{ "Save as Event template","Speichere als Vorlage" }, 1212{ "Save as Event template","Speichere als Vorlage" },
1213{ "Load Event template","Lade Termin Vorlage" }, 1213{ "Load Event template","Lade Termin Vorlage" },
1214{ "Save as Journal template","Speichere als Journal Vorlage" }, 1214{ "Save as Journal template","Speichere als Journal Vorlage" },
1215{ "Insert Journal template","Füge Journal Vorlage ein" }, 1215{ "Insert Journal template","Füge Journal Vorlage ein" },
1216{ "Sub todos:<br>","Unter Todos:<br>" }, 1216{ "Sub todos:<br>","Unter Todos:<br>" },
1217{ "Parent todo:<br>","Über Todo:<br>" }, 1217{ "Parent todo:<br>","Über Todo:<br>" },
1218{ "Set current as color category","Setze Gewählte als Farbkategorie" }, 1218{ "Set current as color category","Setze Gewählte als Farbkategorie" },
1219{ " completed"," erledigt" }, 1219{ " completed"," erledigt" },
1220{ "(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.info --- 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.info --- www.korganizer.org\nBesonderen Dank an Michael und Ben\nfür intensives Testen!" }, 1220{ "(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.info --- 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.info --- www.korganizer.org\nBesonderen Dank an Michael und Ben\nfür intensives Testen!" },
1221{ "Syncing aborted. Nothing synced.","Syncing abgebrochen.Nichts wurde gesynct." }, 1221{ "Syncing aborted. Nothing synced.","Syncing abgebrochen.Nichts wurde gesynct." },
1222{ "Connected! Sending request for remote file ...","Verbunden! Sende Daten Anfrage..." }, 1222{ "Connected! Sending request for remote file ...","Verbunden! Sende Daten Anfrage..." },
1223{ "Trying to connect to remote...","Versuche mit Gegenstelle zu verbinden..." }, 1223{ "Trying to connect to remote...","Versuche mit Gegenstelle zu verbinden..." },
1224{ "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?" }, 1224{ "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?" },
1225{ "ERROR: Receiving remote file failed.","FEHLER: Empfang der entfernten Daten fehlgeschlagen." }, 1225{ "ERROR: Receiving remote file failed.","FEHLER: Empfang der entfernten Daten fehlgeschlagen." },
1226{ "Error","Fehler" }, 1226{ "Error","Fehler" },
1227{ ""You entered an invalid date!\n Date changed to current date.","Ungültiges Datum eingegeben.\nSetze heutiges Datum." }, 1227{ ""You entered an invalid date!\n Date changed to current date.","Ungültiges Datum eingegeben.\nSetze heutiges Datum." },
1228{ "You entered an invalid date!\n Will use current date instead.","Ungültiges Datum eingegeben.\nSetze stattdessen heutiges Datum." }, 1228{ "You entered an invalid date!\n Will use current date instead.","Ungültiges Datum eingegeben.\nSetze stattdessen heutiges Datum." },
1229{ "Warning","Warnung" }, 1229{ "Warning","Warnung" },
1230{ "Select week number","Wähle Wochen Nummer" }, 1230{ "Select week number","Wähle Wochen Nummer" },
1231{ "Februar","Februar" }, 1231{ "Februar","Februar" },
1232{ "Click on the week number to\nshow week zoomed","Klicke auf die Wochennummer\num die Woche groß zu zeigen" }, 1232{ "Click on the week number to\nshow week zoomed","Klicke auf die Wochennummer\num die Woche groß zu zeigen" },
1233{ "W","W" }, 1233{ "W","W" },
1234{ "Click on this to\nselect week number","Klicke hierauf um\ndie Woche auszuwählen" }, 1234{ "Click on this to\nselect week number","Klicke hierauf um\ndie Woche auszuwählen" },
1235{ "T: %1","T: %1" }, 1235{ "T: %1","T: %1" },
1236{ "Start: ","Start: " }, 1236{ "Start: ","Start: " },
1237{ "Pi-Sync options for device: ","Pi-Sync Einstellungen für Gerät: " }, 1237{ "Pi-Sync options for device: ","Pi-Sync Einstellungen für Gerät: " },
1238{ "Password for remote access:","Passwort für fernen Zugriff:" }, 1238{ "Password for remote access:","Passwort für fernen Zugriff:" },
1239{ "Remote IP address:","Ferne IP Adresse:" }, 1239{ "Remote IP address:","Ferne IP Adresse:" },
1240{ "Remote port number:","Ferne Port Nummer:" }, 1240{ "Remote port number:","Ferne Port Nummer:" },
1241{ "Remote file saved to temp file.","Ferne Daten in temp Datei gespeichert." }, 1241{ "Remote file saved to temp file.","Ferne Daten in temp Datei gespeichert." },
1242{ "Remote from: ","Fern von: " }, 1242{ "Remote from: ","Fern von: " },
1243{ "Local from: ","Lokal von: " }, 1243{ "Local from: ","Lokal von: " },
1244{ "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" }, 1244{ "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" },
1245{ "Local calendar changed!\n","Lokaler Kalender geändert!\n" }, 1245{ "Local calendar changed!\n","Lokaler Kalender geändert!\n" },
1246{ "Write back","Schreibe zurück" }, 1246{ "Write back","Schreibe zurück" },
1247{ "KO/Pi Synchronization","KO/Pi Synchronisation" }, 1247{ "KO/Pi Synchronization","KO/Pi Synchronisation" },
1248{ "Pi-Sync succesful!","Pi-Sync erfolgreich!" }, 1248{ "Pi-Sync succesful!","Pi-Sync erfolgreich!" },
1249{ "Received sync request","Sync Anfrage erhalten" }, 1249{ "Received sync request","Sync Anfrage erhalten" },
1250{ "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." }, 1250{ "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." },
1251{ "Saving Data to temp file ...","Speichere Daten in temp Datei..." }, 1251{ "Saving Data to temp file ...","Speichere Daten in temp Datei..." },
1252{ "Data saved to temp file!","Daten in temp Datei gespeichert!" }, 1252{ "Data saved to temp file!","Daten in temp Datei gespeichert!" },
1253{ "Sending file...","Sende Datei..." }, 1253{ "Sending file...","Sende Datei..." },
1254{ "Waiting for synced file...","Warte auf gesyncte Daten..." }, 1254{ "Waiting for synced file...","Warte auf gesyncte Daten..." },
1255{ "Receiving synced file...","Gesyncte Daten erhalten..." }, 1255{ "Receiving synced file...","Gesyncte Daten erhalten..." },
1256{ "Received %1 bytes","%1 Bytes erhalten" }, 1256{ "Received %1 bytes","%1 Bytes erhalten" },
1257{ "Writing file to disk...","Speichere Datei..." }, 1257{ "Writing file to disk...","Speichere Datei..." },
1258{ "Pi-Sync successful!","Pi-Sync erfolgreich!" }, 1258{ "Pi-Sync successful!","Pi-Sync erfolgreich!" },
1259{ "Clock skew of\nsyncing devices\nis %1 seconds!","Uhrzeitunterschied der\nsyncenden Geräte\nist %1 Sekunden!" }, 1259{ "Clock skew of\nsyncing devices\nis %1 seconds!","Uhrzeitunterschied der\nsyncenden Geräte\nist %1 Sekunden!" },
1260{ "Synchronize!","Synchronisiere!" }, 1260{ "Synchronize!","Synchronisiere!" },
1261{ "High clock skew!","Großer Uhrzeitunterschied!" }, 1261{ "High clock skew!","Großer Uhrzeitunterschied!" },
1262{ "ADJUST\nYOUR\nCLOCKS!","JUSTIERE\nDIE\nUHREN!" }, 1262{ "ADJUST\nYOUR\nCLOCKS!","JUSTIERE\nDIE\nUHREN!" },
1263{ "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!" }, 1263{ "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!" },
1264{ "This is a %1 recurring todo.","Das ist eine %1 wiederholende Aufgabe." }, 1264{ "This is a %1 recurring todo.","Das ist eine %1 wiederholende Aufgabe." },
1265{ "<p><b>Start on:</b> %1</p>","<p><b>Start am:</b> %1</p>" }, 1265{ "<p><b>Start on:</b> %1</p>","<p><b>Start am:</b> %1</p>" },
1266{ "List week view","Listenwochenansicht" }, 1266{ "List week view","Listenwochenansicht" },
1267{ "List week","Listenwochenansicht" }, 1267{ "List week","Listenwochenansicht" },
1268{ "Next Week","Nächste Woche" }, 1268{ "Next Week","Nächste Woche" },
1269{ "Previous Week","Vorherige Woche" }, 1269{ "Previous Week","Vorherige Woche" },
1270{ "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." }, 1270{ "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." },
1271{ "Show in todo/event viewer:","Zeige in Termin/Todo Anzeige:" }, 1271{ "Show in todo/event viewer:","Zeige in Termin/Todo Anzeige:" },
1272{ "Details","Details" }, 1272{ "Details","Details" },
1273{ "Created time","Erstellt Zeit" }, 1273{ "Created time","Erstellt Zeit" },
1274{ "Last modified time","Geändert Zeit" }, 1274{ "Last modified time","Geändert Zeit" },
1275{ "Show in What'sThis quick overview:","Zeige in What'sThis Schnellübersicht:" }, 1275{ "Show in What'sThis quick overview:","Zeige in What'sThis Schnellübersicht:" },
1276{ "View Options","Anzeige Optionen" }, 1276{ "View Options","Anzeige Optionen" },
1277{ "<b>Created: ","<b>Erstellt am: " }, 1277{ "<b>Created: ","<b>Erstellt am: " },
1278{ "<b>Last modified: ","<b>Zuletzt geändert am: " }, 1278{ "<b>Last modified: ","<b>Zuletzt geändert am: " },
1279{ "Journal: ","Journal: " }, 1279{ "Journal: ","Journal: " },
1280{ "yearly","jährlich" }, 1280{ "yearly","jährlich" },
1281{ "(%1) ","%1-" }, 1281{ "(%1) ","%1-" },
1282{ "<p><b>K</b>: Week view in Month view syle</p>\n","<p><b>K</b>: Wochenansicht in Art der Monatsansicht</p>\n" }, 1282{ "<p><b>K</b>: Week view in Month view syle</p>\n","<p><b>K</b>: Wochenansicht in Art der Monatsansicht</p>\n" },
1283{ "Enable tooltips displaying summary of ev.","Titel-Tooltips anzeigen" }, 1283{ "Enable tooltips displaying summary of ev.","Titel-Tooltips anzeigen" },
1284{ "Enable scrollbars in month view cells","Scrollbar in Zellen anzeigen" }, 1284{ "Enable scrollbars in month view cells","Scrollbar in Zellen anzeigen" },
1285{ "Summary/Loc.","Titel/Ort" }, 1285{ "Summary/Loc.","Titel/Ort" },
1286{ "No items found. Use '*' and '?' where needed.","Nichts gefunden. Benutze '*' and '?' wo benötigt." }, 1286{ "No items found. Use '*' and '?' where needed.","Nichts gefunden. Benutze '*' and '?' wo benötigt." },
1287{ "Week Number","Wochennummer" }, 1287{ "Week Number","Wochennummer" },
1288{ "Import","Importiere" }, 1288{ "Import","Importiere" },
1289{ "Export","Exportiere" }, 1289{ "Export","Exportiere" },
1290{ "Beam","Beame" }, 1290{ "Beam","Beame" },
1291{ "Export selected","Exportiere Selektierte" }, 1291{ "Export selected","Exportiere Selektierte" },
1292{ "As iCal (ics) file...","Als iCal (ics) Datei..." }, 1292{ "As iCal (ics) file...","Als iCal (ics) Datei..." },
1293{ "As vCal (vcs) file...","Als vCal (vcs) Datei..." }, 1293{ "As vCal (vcs) file...","Als vCal (vcs) Datei..." },
1294{ "Journal/Details...","Journale/Details..." }, 1294{ "Journal/Details...","Journale/Details..." },
1295{ "Agenda View","Agenda Ansicht" }, 1295{ "Agenda View","Agenda Ansicht" },
1296{ "Show current time","Zeige aktuelle Zeit" }, 1296{ "Show current time","Zeige aktuelle Zeit" },
1297{ "Edit new item","Bearbeite neuen Eintrag" }, 1297{ "Edit new item","Bearbeite neuen Eintrag" },
1298{ "Please select at least one\nof the types to search for:\n\nEvents\nTodos\nJournals","Bitte wählen Sie mindestens\neinen dieser Typen\num darin zu suchen:\n\nTermine\nTodos\nJournale" }, 1298{ "Please select at least one\nof the types to search for:\n\nEvents\nTodos\nJournals","Bitte wählen Sie mindestens\neinen dieser Typen\num darin zu suchen:\n\nTermine\nTodos\nJournale" },
1299{ "There is no next alarm.","Es gibt keinen nächsten Alarm." }, 1299{ "There is no next alarm.","Es gibt keinen nächsten Alarm." },
1300{ "%1 %2 - %3 (next event/todo with alarm)","%1 %2 - %3 (nächster Termin/Todo mit Alarm)" }, 1300{ "%1 %2 - %3 (next event/todo with alarm)","%1 %2 - %3 (nächster Termin/Todo mit Alarm)" },
1301{ "The next alarm is in:\n","Der nächste Alarm ist in:\n" }, 1301{ "The next alarm is in:\n","Der nächste Alarm ist in:\n" },
1302{ "%1 days\n","%1 Tagen\n" }, 1302{ "%1 days\n","%1 Tagen\n" },
1303{ "1 day\n","1 Tag\n" }, 1303{ "1 day\n","1 Tag\n" },
1304{ "%1 hours\n","%1 Stunden\n" }, 1304{ "%1 hours\n","%1 Stunden\n" },
1305{ "1 hour\n","1 Stunde\n" }, 1305{ "1 hour\n","1 Stunde\n" },
1306{ "%1 minutes\n","%1 Minuten\n" }, 1306{ "%1 minutes\n","%1 Minuten\n" },
1307{ "1 minute\n","1 Minute\n" }, 1307{ "1 minute\n","1 Minute\n" },
1308{ "Only one toolbar","Nur eine Toolbar" }, 1308{ "Only one toolbar","Nur eine Toolbar" },
1309{ "Print","Drucke" }, 1309{ "Print","Drucke" },
1310{ "Print selected event / todo...","Drucke ausgewählten Termin / Todo..." }, 1310{ "Print selected event / todo...","Drucke ausgewählten Termin / Todo..." },
1311{ "There is nothing selected!","Es ist nichts ausgewählt!" }, 1311{ "There is nothing selected!","Es ist nichts ausgewählt!" },
1312{ "\n\nDo you really want to print this item?","\n\nMöchten Sie wirklich diesen Eintrag ausdrucken? " }, 1312{ "\n\nDo you really want to print this item?","\n\nMöchten Sie wirklich diesen Eintrag ausdrucken? " },
1313{ "KO/Pi Print Confirmation","KO/Pi Druckbestätigung" }, 1313{ "KO/Pi Print Confirmation","KO/Pi Druckbestätigung" },
1314{ "This prints the view as you see it.\n(With the complete content, of course.)\nYou may change the print layout by resizing the view.\nPrint unscaled may print several pages\ndepending on the amount of data.\nPrint scaled down will print all on one page.\nPrint scaled up/down will print all on one page,\nbut will scale up the text to page boundaries,\nif the text is smaller than the page.\nYou can select page geometry setup in the next dialog.\n","Dies druckt die Ansicht wie man sie sieht.\n(Mit dem kompletten Inhalt natürlich.)\nMan kann das Layout ändern durch ändern der Fenstergröße.\nDrucke unskaliert druckt ggf. mehrere Seiten\nabhängig von der Menge der Daten.\nDrucke runterskaliert um auf eine Seite zu passen\ndruckt alles auf eine Seite.\nDrucke hoch/runterskaliert um genau auf eine Seite zu passen\nvergrößert den Text gegebenenfalls.\nDas Seitenlayout kann im nächsten Dialog gewählt werden.\n" }, 1314{ "This prints the view as you see it.\n(With the complete content, of course.)\nYou may change the print layout by resizing the view.\nPrint unscaled may print several pages\ndepending on the amount of data.\nPrint scaled down will print all on one page.\nPrint scaled up/down will print all on one page,\nbut will scale up the text to page boundaries,\nif the text is smaller than the page.\nYou can select page geometry setup in the next dialog.\n","Dies druckt die Ansicht wie man sie sieht.\n(Mit dem kompletten Inhalt natürlich.)\nMan kann das Layout ändern durch ändern der Fenstergröße.\nDrucke unskaliert druckt ggf. mehrere Seiten\nabhängig von der Menge der Daten.\nDrucke runterskaliert um auf eine Seite zu passen\ndruckt alles auf eine Seite.\nDrucke hoch/runterskaliert um genau auf eine Seite zu passen\nvergrößert den Text gegebenenfalls.\nDas Seitenlayout kann im nächsten Dialog gewählt werden.\n" },
1315{ "KO/Pi Printout","KO/Pi Ausdruck" }, 1315{ "KO/Pi Printout","KO/Pi Ausdruck" },
1316{ "Print unscaled","Drucke unskaliert" }, 1316{ "Print unscaled","Drucke unskaliert" },
1317{ "Print scaled down to fit one page","Drucke runterskaliert um auf eine Seite zu passen." }, 1317{ "Print scaled down to fit one page","Drucke runterskaliert um auf eine Seite zu passen." },
1318{ "Print scaled up/down to fit one page","Drucke hoch/runterskaliert um genau auf eine Seite zu passen." }, 1318{ "Print scaled up/down to fit one page","Drucke hoch/runterskaliert um genau auf eine Seite zu passen." },
1319{ "Printout Mode","Druck Modus" }, 1319{ "Printout Mode","Druck Modus" },
1320{ "Filter menu icon","Filtermenu Icon" }, 1320{ "Filter menu icon","Filtermenu Icon" },
1321{ "<p><b>A+(shift or ctrl)</b>: Show occurence of next alarm</p>\n","<p><b>A+(shift oder ctrl)</b>: Zeige Zeit bis zum nächsten Alarm</p>\n" }, 1321{ "<p><b>A+(shift or ctrl)</b>: Show occurence of next alarm</p>\n","<p><b>A+(shift oder ctrl)</b>: Zeige Zeit bis zum nächsten Alarm</p>\n" },
1322{ "<p><b>N</b>: Switch to next view which has a toolbar icon</p>\n","<p><b>N</b>: Wechsle zur nächsten Ansicht, die ein Icon in der Toolbar hat</p>\n" }, 1322{ "<p><b>N</b>: Switch to next view which has a toolbar icon</p>\n","<p><b>N</b>: Wechsle zur nächsten Ansicht, die ein Icon in der Toolbar hat</p>\n" },
1323{ "%1d","%1t" }, 1323{ "%1d","%1t" },
1324{ "%1h","%1std" }, 1324{ "%1h","%1std" },
1325{ "%1min","%1min" }, 1325{ "%1min","%1min" },
1326{ "( %1 before )","( %1 vorher )" }, 1326{ "( %1 before )","( %1 vorher )" },
1327{ "The next alarm is in\nless than one minute!","Der nächste Alarm kommt in\nweniger als einer Minute!" }, 1327{ "The next alarm is in\nless than one minute!","Der nächste Alarm kommt in\nweniger als einer Minute!" },
1328{ "\nThe internal alarm notification is disabled!\n","\nDie interne Alarmbenachrichtigung ist ausgeschaltet!\n" }, 1328{ "\nThe internal alarm notification is disabled!\n","\nDie interne Alarmbenachrichtigung ist ausgeschaltet!\n" },
1329{ "Enable it in the settings menu, TAB alarm.","Schalten Sie sie an im Menu Einstellungen, TAB Alarm." }, 1329{ "Enable it in the settings menu, TAB alarm.","Schalten Sie sie an im Menu Einstellungen, TAB Alarm." },
1330{ "Show Sync Events in WN+Agenda","Zeige Sync-Ereignisse in WN+Agenda" }, 1330{ "Show Sync Events","Zeige Sync-Ereignisse" },
1331{ "Use short date in WN+Event view","Zeige Kurzdatum in WN+Terminanzeige" }, 1331{ "Use short date in WN+Event view","Zeige Kurzdatum in WN+Terminanzeige" },
1332{ "Number of max.displayed todo prios:","Anzahl max.angezeigter Todo-Prios:" }, 1332{ "Number of max.displayed todo prios:","Anzahl max.angezeigter Todo-Prios:" },
1333{ " on "," am " }, 1333{ " on "," am " },
1334{ "On: ","Am: " }, 1334{ "On: ","Am: " },
1335{ "<i>The recurrence is computed from the start datetime!</i>","<i>Die Wiederholung wird vom Startwert aus berechnet!</i>" }, 1335{ "<i>The recurrence is computed from the start datetime!</i>","<i>Die Wiederholung wird vom Startwert aus berechnet!</i>" },
1336{ "Start/Stop todo...","Starte/Stoppe Todo..." }, 1336{ "Start/Stop todo...","Starte/Stoppe Todo..." },
1337{ "Color for running todos:","Farbe für laufende Todos:" }, 1337{ "Color for running todos:","Farbe für laufende Todos:" },
1338{ "The todo\n%1\nis started.\nDo you want to set\nthe state to stopped?","Das Todo\n%1\nist gestartet.\nWollen Sie es\nauf gestoppt setzen?" }, 1338{ "The todo\n%1\nis started.\nDo you want to set\nthe state to stopped?","Das Todo\n%1\nist gestartet.\nWollen Sie es\nauf gestoppt setzen?" },
1339{ "Todo is started","Todo is gestarted" }, 1339{ "Todo is started","Todo is gestarted" },
1340{ "Stop todo","Stoppe Todo" }, 1340{ "Stop todo","Stoppe Todo" },
1341{ "Todo is stopped","Todo ist gestoppt" }, 1341{ "Todo is stopped","Todo ist gestoppt" },
1342{ "Start todo","Starte Todo" }, 1342{ "Start todo","Starte Todo" },
1343{ "The todo\n%1\nis stopped.\nDo you want to set\nthe state to started?","Das Todo\n%1\nist gestoppt.\nWollen Sie es auf\ngestartet setzen?" }, 1343{ "The todo\n%1\nis stopped.\nDo you want to set\nthe state to started?","Das Todo\n%1\nist gestoppt.\nWollen Sie es auf\ngestartet setzen?" },
1344{ "The todo\n%1\nwill be cloned!\nIt has subtodos!\nDo you want to clone\nall subtodos as well?","Das Todo\n%1\nwird geklont!\nEs hat Untertodos!\nMöchten Sie alle\nUntertodos auch klonen?" }, 1344{ "The todo\n%1\nwill be cloned!\nIt has subtodos!\nDo you want to clone\nall subtodos as well?","Das Todo\n%1\nwird geklont!\nEs hat Untertodos!\nMöchten Sie alle\nUntertodos auch klonen?" },
1345{ "Todo has subtodos","Todo hat Untertodos" }, 1345{ "Todo has subtodos","Todo hat Untertodos" },
1346{ "Block popup until mouse button release","Sperre Popup bis Mausknopf losgelassen" }, 1346{ "Block popup until mouse button release","Sperre Popup bis Mausknopf losgelassen" },
1347{ "Colors","Farben" }, 1347{ "Colors","Farben" },
1348{ "Click on new parent item","Klicke auf neues Übertodo" }, 1348{ "Click on new parent item","Klicke auf neues Übertodo" },
1349{ "Reparenting aborted!","Übertodo setzen abgebrochen" }, 1349{ "Reparenting aborted!","Übertodo setzen abgebrochen" },
1350{ "Cannot move Todo to itself\nor a child of itself","Kann nicht Todo auf\nsich selbst oder\nein Untertodo verschieben" }, 1350{ "Cannot move Todo to itself\nor a child of itself","Kann nicht Todo auf\nsich selbst oder\nein Untertodo verschieben" },
1351{ "Recursive reparenting not possible!","Rekursives Verschieben nicht möglich" }, 1351{ "Recursive reparenting not possible!","Rekursives Verschieben nicht möglich" },
1352{ "Delete all completed todos?\n(Completed recurring todos\nwill not be deleted!)","Entferne alle erledigten Todos?\n(Erledigte wiederholende Todos\nwerden nicht gelöscht!)" }, 1352{ "Delete all completed todos?\n(Completed recurring todos\nwill not be deleted!)","Entferne alle erledigten Todos?\n(Erledigte wiederholende Todos\nwerden nicht gelöscht!)" },
1353{ "Alternating background of list views","Abwechselnder Hintergrund für Listen" }, 1353{ "Alternating background of list views","Abwechselnder Hintergrund für Listen" },
1354{ "times","Zeiten" }, 1354{ "times","Zeiten" },
1355{ "The todo\n%1\nhas subtodos!\nDo you want to set\nthe categories for\nall subtodos as well?","Das Todo\n%1\nhat Untertodos!\nMöchten Sie die Kategorien\nauch für alle Untertodos setzen?" }, 1355{ "The todo\n%1\nhas subtodos!\nDo you want to set\nthe categories for\nall subtodos as well?","Das Todo\n%1\nhat Untertodos!\nMöchten Sie die Kategorien\nauch für alle Untertodos setzen?" },
1356{ "","" }, 1356{ "","" },
1357{ "","" }, 1357{ "","" },
1358{ "","" }, 1358{ "","" },
1359{ "","" }, 1359{ "","" },
1360{ "","" }, 1360{ "","" },
diff --git a/korganizer/kodaymatrix.cpp b/korganizer/kodaymatrix.cpp
index 17a1d13..df606d0 100644
--- a/korganizer/kodaymatrix.cpp
+++ b/korganizer/kodaymatrix.cpp
@@ -241,427 +241,464 @@ QColor KODayMatrix::getShadedColor(QColor color)
241 241
242 return shaded; 242 return shaded;
243} 243}
244 244
245KODayMatrix::~KODayMatrix() 245KODayMatrix::~KODayMatrix()
246{ 246{
247 // delete mKODaymatrixWhatsThis; 247 // delete mKODaymatrixWhatsThis;
248 delete [] days; 248 delete [] days;
249 delete [] daylbls; 249 delete [] daylbls;
250 //delete [] events; 250 //delete [] events;
251 delete mToolTip; 251 delete mToolTip;
252} 252}
253 253
254/* 254/*
255void KODayMatrix::setStartDate(QDate start) 255void KODayMatrix::setStartDate(QDate start)
256{ 256{
257 updateView(start); 257 updateView(start);
258} 258}
259*/ 259*/
260 260
261void KODayMatrix::addSelectedDaysTo(DateList& selDays) 261void KODayMatrix::addSelectedDaysTo(DateList& selDays)
262{ 262{
263 263
264 if (mSelStart == NOSELECTION) { 264 if (mSelStart == NOSELECTION) {
265 return; 265 return;
266 } 266 }
267 267
268 //cope with selection being out of matrix limits at top (< 0) 268 //cope with selection being out of matrix limits at top (< 0)
269 int i0 = mSelStart; 269 int i0 = mSelStart;
270 if (i0 < 0) { 270 if (i0 < 0) {
271 for (int i = i0; i < 0; i++) { 271 for (int i = i0; i < 0; i++) {
272 selDays.append(days[0].addDays(i)); 272 selDays.append(days[0].addDays(i));
273 } 273 }
274 i0 = 0; 274 i0 = 0;
275 } 275 }
276 276
277 //cope with selection being out of matrix limits at bottom (> NUMDAYS-1) 277 //cope with selection being out of matrix limits at bottom (> NUMDAYS-1)
278 if (mSelEnd > NUMDAYS-1) { 278 if (mSelEnd > NUMDAYS-1) {
279 for (int i = i0; i <= NUMDAYS-1; i++) { 279 for (int i = i0; i <= NUMDAYS-1; i++) {
280 selDays.append(days[i]); 280 selDays.append(days[i]);
281 } 281 }
282 for (int i = NUMDAYS; i < mSelEnd; i++) { 282 for (int i = NUMDAYS; i < mSelEnd; i++) {
283 selDays.append(days[0].addDays(i)); 283 selDays.append(days[0].addDays(i));
284 } 284 }
285 285
286 // apply normal routine to selection being entirely within matrix limits 286 // apply normal routine to selection being entirely within matrix limits
287 } else { 287 } else {
288 for (int i = i0; i <= mSelEnd; i++) { 288 for (int i = i0; i <= mSelEnd; i++) {
289 selDays.append(days[i]); 289 selDays.append(days[i]);
290 } 290 }
291 } 291 }
292} 292}
293 293
294bool KODayMatrix::setSelectedDaysFrom(const QDate& start, const QDate& end) 294bool KODayMatrix::setSelectedDaysFrom(const QDate& start, const QDate& end)
295{ 295{
296 mRedrawNeeded = true; 296 mRedrawNeeded = true;
297 bool noSel = (mSelEnd == NOSELECTION && mSelStart == NOSELECTION ); 297 bool noSel = (mSelEnd == NOSELECTION && mSelStart == NOSELECTION );
298 mSelStart = startdate.daysTo(start); 298 mSelStart = startdate.daysTo(start);
299 if ( mSelStart < 0 ) 299 if ( mSelStart < 0 )
300 mSelStart = 0; 300 mSelStart = 0;
301 mSelEnd = startdate.daysTo(end); 301 mSelEnd = startdate.daysTo(end);
302 if ( mSelEnd > NUMDAYS-1 ) 302 if ( mSelEnd > NUMDAYS-1 )
303 mSelEnd = NUMDAYS-1; 303 mSelEnd = NUMDAYS-1;
304 if ( mSelEnd < 0 || mSelStart > NUMDAYS-1 ) { 304 if ( mSelEnd < 0 || mSelStart > NUMDAYS-1 ) {
305 clearSelection(); 305 clearSelection();
306 if ( noSel ) 306 if ( noSel )
307 return false; 307 return false;
308 } 308 }
309 309
310 return true; 310 return true;
311} 311}
312void KODayMatrix::clearSelection() 312void KODayMatrix::clearSelection()
313{ 313{
314 mSelEnd = mSelStart = NOSELECTION; 314 mSelEnd = mSelStart = NOSELECTION;
315} 315}
316 316
317 317
318void KODayMatrix::recalculateToday() 318void KODayMatrix::recalculateToday()
319{ 319{
320 today = -1; 320 today = -1;
321 for (int i=0; i<NUMDAYS; i++) { 321 for (int i=0; i<NUMDAYS; i++) {
322 //events[i] = 0; 322 //events[i] = 0;
323 days[i] = startdate.addDays(i); 323 days[i] = startdate.addDays(i);
324 daylbls[i] = QString::number( KOGlobals::self()->calendarSystem()->day( days[i] )); 324 daylbls[i] = QString::number( KOGlobals::self()->calendarSystem()->day( days[i] ));
325 325
326 // if today is in the currently displayed month, hilight today 326 // if today is in the currently displayed month, hilight today
327 if (days[i].year() == QDate::currentDate().year() && 327 if (days[i].year() == QDate::currentDate().year() &&
328 days[i].month() == QDate::currentDate().month() && 328 days[i].month() == QDate::currentDate().month() &&
329 days[i].day() == QDate::currentDate().day()) { 329 days[i].day() == QDate::currentDate().day()) {
330 today = i; 330 today = i;
331 } 331 }
332 } 332 }
333 // qDebug(QString("Today is visible at %1.").arg(today)); 333 // qDebug(QString("Today is visible at %1.").arg(today));
334} 334}
335 335
336void KODayMatrix::updateView() 336void KODayMatrix::updateView()
337{ 337{
338 updateView(startdate); 338 updateView(startdate);
339} 339}
340void KODayMatrix::repaintViewTimed() 340void KODayMatrix::repaintViewTimed()
341{ 341{
342 mRedrawNeeded = true; 342 mRedrawNeeded = true;
343 // bDays.fill( false); 343 // bDays.fill( false);
344 //pDays.fill( false); 344 //pDays.fill( false);
345 //hDays.fill( false); 345 //hDays.fill( false);
346 //eDays.fill( false); 346 //eDays.fill( false);
347 mRepaintTimer->stop(); 347 mRepaintTimer->stop();
348 int startDay = days[0].dayOfWeek(); // 1...7 7 = sunday 348 int startDay = days[0].dayOfWeek(); // 1...7 7 = sunday
349 int i; 349 int i;
350 for(i = 0; i < NUMDAYS; i++) { 350 for(i = 0; i < NUMDAYS; i++) {
351 if ( ( (i+startDay) % 7 == 0 ) ) { 351 if ( ( (i+startDay) % 7 == 0 ) ) {
352 pDays.setBit(i); 352 pDays.setBit(i);
353 } 353 }
354 } 354 }
355 repaint(false); 355 repaint(false);
356} 356}
357void KODayMatrix::computeEvent(Event *event, int i ) 357void KODayMatrix::computeEvent(Event *event, int i )
358{ 358{
359 QString holiStr = mHolidays[i]; 359 QString holiStr = mHolidays[i];
360 if ( event->isHoliday()) { 360 if ( event->isHoliday()) {
361 pDays.setBit(i); 361 pDays.setBit(i);
362 hDays.setBit(i); 362 hDays.setBit(i);
363 if ( !holiStr.isEmpty() ) 363 if ( !holiStr.isEmpty() )
364 holiStr += "\n"; 364 holiStr += "\n";
365 holiStr += event->summary(); 365 holiStr += event->summary();
366 if ( !event->location().isEmpty() ) 366 if ( !event->location().isEmpty() )
367 holiStr += " (" + event->location() + ")"; 367 holiStr += " (" + event->location() + ")";
368 mHolidays[i] =holiStr ; 368 mHolidays[i] =holiStr ;
369 eDays.setBit(i);
369 } 370 }
370 if ( event->isBirthday()) { 371 if ( KOPrefs::instance()->mCurrentDisplayedView != VIEW_T_VIEW && KOPrefs::instance()->mCurrentDisplayedView != VIEW_J_VIEW ) {
371 pDays.setBit(i); 372 if ( event->isBirthday()) {
372 if ( !holiStr.isEmpty() ) 373 pDays.setBit(i);
373 holiStr += "\n"; 374 if ( !holiStr.isEmpty() )
374 holiStr += i18n("Birthday") + ": "+event->summary(); 375 holiStr += "\n";
375 if ( !event->location().isEmpty() ) 376 holiStr += i18n("Birthday") + ": "+event->summary();
376 holiStr += " (" + event->location() + ")"; 377 if ( !event->location().isEmpty() )
377 bDays.setBit(i); 378 holiStr += " (" + event->location() + ")";
378 mHolidays[i] =holiStr ; 379 bDays.setBit(i);
380 mHolidays[i] =holiStr ;
381 }
379 } 382 }
380 eDays.setBit(i); 383 if ( KOPrefs::instance()->mCurrentDisplayedView != VIEW_J_VIEW )
384 eDays.setBit(i);
381} 385}
382void KODayMatrix::updateViewTimed() 386void KODayMatrix::updateViewTimed()
383{ 387{
384 mUpdateTimer->stop(); 388 mUpdateTimer->stop();
385 if ( !mCalendar ) { 389 if ( !mCalendar ) {
386 qDebug("NOT CAL "); 390 qDebug("NOT CAL ");
387 return; 391 return;
388 } 392 }
389#if 1 393#if 1
390 394
395
391 int i; 396 int i;
392 int timeSpan = NUMDAYS-1; 397 int timeSpan = NUMDAYS-1;
393 QPtrList<Event> events = mCalendar->events(); 398 QPtrList<Event> events = mCalendar->events();
394 Event *event; 399 Event *event;
395 QDateTime dt; 400 QDateTime dt;
396 bool ok; 401 bool ok;
397 bDays.fill( false); 402 bDays.fill( false);
398 pDays.fill( false); 403 pDays.fill( false);
399 hDays.fill( false); 404 hDays.fill( false);
400 eDays.fill( false); 405 eDays.fill( false);
401 mHolidays.clear(); 406 mHolidays.clear();
402 QDate mStartDate = days[0]; 407 QDate mStartDate = days[0];
403 QDate endDate = mStartDate.addDays( timeSpan ); 408 QDate endDate = mStartDate.addDays( timeSpan );
404 for( event = events.first(); event; event = events.next() ) { // for event 409 for( event = events.first(); event; event = events.next() ) { // for event
405 ushort recurType = event->recurrence()->doesRecur(); 410 ushort recurType = event->recurrence()->doesRecur();
406 if ((recurType == Recurrence::rDaily && !KOPrefs::instance()->mDailyRecur) || 411 if ((recurType == Recurrence::rDaily && !KOPrefs::instance()->mDailyRecur) ||
407 (recurType == Recurrence::rWeekly && !KOPrefs::instance()->mWeeklyRecur)) { 412 (recurType == Recurrence::rWeekly && !KOPrefs::instance()->mWeeklyRecur)) {
408 continue; 413 continue;
409 } 414 }
410 if ( event->doesRecur() ) { 415 if ( event->doesRecur() ) {
411 bool last; 416 bool last;
412 QDateTime incidenceStart = event->recurrence()->getPreviousDateTime( QDateTime( mStartDate ) , &last ); 417 QDateTime incidenceStart = event->recurrence()->getPreviousDateTime( QDateTime( mStartDate ) , &last );
413 QDateTime incidenceEnd; 418 QDateTime incidenceEnd;
414 int eventlen = event->dtStart().date().daysTo ( event->dtEnd().date() ); 419 int eventlen = event->dtStart().date().daysTo ( event->dtEnd().date() );
415 bool invalid = false; 420 bool invalid = false;
416 while( true ) { 421 while( true ) {
417 if ( incidenceStart.isValid() ) { 422 if ( incidenceStart.isValid() ) {
418 incidenceEnd = incidenceStart.addDays( eventlen ); 423 incidenceEnd = incidenceStart.addDays( eventlen );
419 int st = incidenceStart.date().daysTo( endDate ); 424 int st = incidenceStart.date().daysTo( endDate );
420 if ( st >= 0 ) { // start before timeend 425 if ( st >= 0 ) { // start before timeend
421 int end = mStartDate.daysTo( incidenceEnd.date() ); 426 int end = mStartDate.daysTo( incidenceEnd.date() );
422 if ( end >= 0 ) { // end after timestart --- got one! 427 if ( end >= 0 ) { // end after timestart --- got one!
423 //normalize 428 //normalize
424 st = timeSpan - st; 429 st = timeSpan - st;
425 if ( st < 0 ) st = 0; 430 if ( st < 0 ) st = 0;
426 if ( end > timeSpan ) end = timeSpan; 431 if ( end > timeSpan ) end = timeSpan;
427 int iii; 432 int iii;
428 //qDebug("found %s %d %d ",event->summary().latin1(), st, end ); 433 //qDebug("found %s %d %d ",event->summary().latin1(), st, end );
429 for ( iii = st;iii<= end;++iii) { 434 for ( iii = st;iii<= end;++iii) {
430 computeEvent( event, iii ); 435 computeEvent( event, iii );
431 } 436 }
432 } 437 }
433 } 438 }
434 } else { 439 } else {
435 if ( invalid ) 440 if ( invalid )
436 break; 441 break;
437 invalid = true; 442 invalid = true;
438 //qDebug("invalid %s", event->summary().latin1()); 443 //qDebug("invalid %s", event->summary().latin1());
439 incidenceStart = QDateTime( mStartDate ).addSecs( -2 );; 444 incidenceStart = QDateTime( mStartDate ).addSecs( -2 );;
440 } 445 }
441 if ( last ) 446 if ( last )
442 break; 447 break;
443 bool ok; 448 bool ok;
444 incidenceStart = event->getNextOccurence( incidenceStart.addSecs( 1 ) ,&ok ); 449 incidenceStart = event->getNextOccurence( incidenceStart.addSecs( 1 ) ,&ok );
445 if ( ! ok ) 450 if ( ! ok )
446 break; 451 break;
447 if ( incidenceStart.date() > endDate ) 452 if ( incidenceStart.date() > endDate )
448 break; 453 break;
449 } 454 }
450 } else { // no recur 455 } else { // no recur
451 int st = event->dtStart().date().daysTo( endDate ); 456 int st = event->dtStart().date().daysTo( endDate );
452 if ( st >= 0 ) { // start before timeend 457 if ( st >= 0 ) { // start before timeend
453 int end = mStartDate.daysTo( event->dtEnd().date() ); 458 int end = mStartDate.daysTo( event->dtEnd().date() );
454 if ( end >= 0 ) { // end after timestart --- got one! 459 if ( end >= 0 ) { // end after timestart --- got one!
455 //normalize 460 //normalize
456 st = timeSpan - st; 461 st = timeSpan - st;
457 if ( st < 0 ) st = 0; 462 if ( st < 0 ) st = 0;
458 if ( end > timeSpan ) end = timeSpan; 463 if ( end > timeSpan ) end = timeSpan;
459 int iii; 464 int iii;
460 for ( iii = st;iii<= end;++iii) 465 for ( iii = st;iii<= end;++iii)
461 computeEvent( event, iii ); 466 computeEvent( event, iii );
462 } 467 }
463 } 468 }
464 } 469 }
465 } 470 }
466 int startDay = days[0].dayOfWeek(); // 1...7 7 = sunday 471 int startDay = days[0].dayOfWeek(); // 1...7 7 = sunday
467 for(i = 0; i < NUMDAYS; i++) { 472 for(i = 0; i < NUMDAYS; i++) {
468 if ( ( (i+startDay) % 7 == 0 ) ) { 473 if ( ( (i+startDay) % 7 == 0 ) ) {
469 pDays.setBit(i); 474 pDays.setBit(i);
470 } 475 }
471 } 476 }
472 477 if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) {
473#if 0 478 bDays.fill( false);
474 // insert due todos 479 // insert due todos
475 QPtrList<Todo> todos = calendar()->todos( ); 480 QPtrList<Todo> todos = mCalendar->todos( );
476 Todo *todo; 481 Todo *todo;
477 for(todo = todos.first(); todo; todo = todos.next()) { 482 for(todo = todos.first(); todo; todo = todos.next()) {
478 //insertTodo( todo ); 483 //insertTodo( todo );
479 if ( todo->hasDueDate() ) { 484 if ( todo->hasDueDate() ) {
480 int day = mStartDate.daysTo( todo->dtDue().date() ); 485 int day = mStartDate.daysTo( todo->dtDue().date() );
486 if ( day >= 0 && day < timeSpan + 1) {
487 int i = day;
488 QString holiStr = mHolidays[i];
489 pDays.setBit(i);
490 if ( !holiStr.isEmpty() )
491 holiStr += "\n";
492 holiStr += i18n("Todo") + ": "+todo->summary();
493 if ( !todo->location().isEmpty() )
494 holiStr += " (" + todo->location() + ")";
495 bDays.setBit(i);
496 mHolidays[i] =holiStr ;
497 eDays.setBit(i);
498 }
499 }
500 }
501 }
502 if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_J_VIEW ) {
503 bDays.fill( false);
504 // insert due todos
505 QPtrList<Journal> todos = mCalendar->journals( );
506 Journal *todo;
507 for(todo = todos.first(); todo; todo = todos.next()) {
508 int day = mStartDate.daysTo( todo->dtStart().date() );
481 if ( day >= 0 && day < timeSpan + 1) { 509 if ( day >= 0 && day < timeSpan + 1) {
482 (*cells)[day]->insertTodo( todo ); 510 int i = day;
511 QString holiStr = mHolidays[i];
512 pDays.setBit(i);
513 if ( !holiStr.isEmpty() )
514 holiStr += "\n";
515 holiStr += i18n("Journal");
516 bDays.setBit(i);
517 mHolidays[i] =holiStr ;
518 eDays.setBit(i);
519
483 } 520 }
484 } 521 }
485 } 522 }
486#endif
487
488#else 523#else
489 //qDebug("KODayMatrix::updateViewTimed "); 524 //qDebug("KODayMatrix::updateViewTimed ");
490 for(int i = 0; i < NUMDAYS; i++) { 525 for(int i = 0; i < NUMDAYS; i++) {
491 // if events are set for the day then remember to draw it bold 526 // if events are set for the day then remember to draw it bold
492 QPtrList<Event> eventlist = mCalendar->events(days[i]); 527 QPtrList<Event> eventlist = mCalendar->events(days[i]);
493 Event *event; 528 Event *event;
494 int numEvents = eventlist.count(); 529 int numEvents = eventlist.count();
495 QString holiStr = ""; 530 QString holiStr = "";
496 bDays.clearBit(i); 531 bDays.clearBit(i);
497 hDays.clearBit(i); 532 hDays.clearBit(i);
498 eDays.clearBit(i); 533 eDays.clearBit(i);
499 for(event=eventlist.first();event != 0;event=eventlist.next()) { 534 for(event=eventlist.first();event != 0;event=eventlist.next()) {
500 ushort recurType = event->recurrence()->doesRecur(); 535 ushort recurType = event->recurrence()->doesRecur();
501 if ((recurType == Recurrence::rDaily && !KOPrefs::instance()->mDailyRecur) || 536 if ((recurType == Recurrence::rDaily && !KOPrefs::instance()->mDailyRecur) ||
502 (recurType == Recurrence::rWeekly && !KOPrefs::instance()->mWeeklyRecur)) { 537 (recurType == Recurrence::rWeekly && !KOPrefs::instance()->mWeeklyRecur)) {
503 numEvents--; 538 numEvents--;
504 } 539 }
505 if ( event->isHoliday()) { 540 if ( event->isHoliday()) {
506 hDays.setBit(i); 541 hDays.setBit(i);
507 if ( !holiStr.isEmpty() ) 542 if ( !holiStr.isEmpty() )
508 holiStr += "\n"; 543 holiStr += "\n";
509 holiStr += event->summary(); 544 holiStr += event->summary();
510 if ( !event->location().isEmpty() ) 545 if ( !event->location().isEmpty() )
511 holiStr += " (" + event->location() + ")"; 546 holiStr += " (" + event->location() + ")";
512 } 547 }
513 if ( event->isBirthday()) { 548 if ( event->isBirthday()) {
514 if ( !holiStr.isEmpty() ) 549 if ( !holiStr.isEmpty() )
515 holiStr += "\n"; 550 holiStr += "\n";
516 holiStr += i18n("Birthday") + ": "+event->summary(); 551 holiStr += i18n("Birthday") + ": "+event->summary();
517 if ( !event->location().isEmpty() ) 552 if ( !event->location().isEmpty() )
518 holiStr += " (" + event->location() + ")"; 553 holiStr += " (" + event->location() + ")";
519 bDays.setBit(i); 554 bDays.setBit(i);
520 } 555 }
521 } 556 }
522 if ( numEvents ) 557 if ( numEvents )
523 eDays.setBit(i); 558 eDays.setBit(i);
524 //if it is a holy day then draw it red. Sundays are consider holidays, too 559 //if it is a holy day then draw it red. Sundays are consider holidays, too
525 if ( (KOGlobals::self()->calendarSystem()->dayOfWeek(days[i]) == KOGlobals::self()->calendarSystem()->weekDayOfPray()) || 560 if ( (KOGlobals::self()->calendarSystem()->dayOfWeek(days[i]) == KOGlobals::self()->calendarSystem()->weekDayOfPray()) ||
526 !holiStr.isEmpty()) { 561 !holiStr.isEmpty()) {
527 mHolidays[i] = holiStr; 562 mHolidays[i] = holiStr;
528 } else { 563 } else {
529 mHolidays[i] = QString::null; 564 mHolidays[i] = QString::null;
530 } 565 }
531 } 566 }
532#endif 567#endif
533 mRedrawNeeded = true; 568 mRedrawNeeded = true;
534 if ( ! mPendingUpdateBeforeRepaint ) 569 if ( ! mPendingUpdateBeforeRepaint )
535 repaint(false); 570 repaint(false);
536} 571}
537void KODayMatrix::updateView(QDate actdate) 572void KODayMatrix::updateView(QDate actdate)
538{ 573{
539 574 if ( mLastView != KOPrefs::instance()->mCurrentDisplayedView )
575 mRedrawNeeded = true;
576 mLastView = KOPrefs::instance()->mCurrentDisplayedView;
540 if ( ! actdate.isValid() ) { 577 if ( ! actdate.isValid() ) {
541 //qDebug("date not valid "); 578 //qDebug("date not valid ");
542 return; 579 return;
543 } 580 }
544 mDayChanged = false; 581 mDayChanged = false;
545 //flag to indicate if the starting day of the matrix has changed by this call 582 //flag to indicate if the starting day of the matrix has changed by this call
546 //mDayChanged = false; 583 //mDayChanged = false;
547 // if a new startdate is to be set then apply Cornelius's calculation 584 // if a new startdate is to be set then apply Cornelius's calculation
548 // of the first day to be shown 585 // of the first day to be shown
549 if (actdate != startdate) { 586 if (actdate != startdate) {
550 // reset index of selection according to shift of starting date from startdate to actdate 587 // reset index of selection according to shift of starting date from startdate to actdate
551 if (mSelStart != NOSELECTION) { 588 if (mSelStart != NOSELECTION) {
552 int tmp = actdate.daysTo(startdate); 589 int tmp = actdate.daysTo(startdate);
553 //kdDebug() << "Shift of Selection1: " << mSelStart << " - " << mSelEnd << " -> " << tmp << "(" << offset << ")" << endl; 590 //kdDebug() << "Shift of Selection1: " << mSelStart << " - " << mSelEnd << " -> " << tmp << "(" << offset << ")" << endl;
554 // shift selection if new one would be visible at least partly ! 591 // shift selection if new one would be visible at least partly !
555 592
556 if (mSelStart+tmp < NUMDAYS && mSelEnd+tmp >= 0) { 593 if (mSelStart+tmp < NUMDAYS && mSelEnd+tmp >= 0) {
557 // nested if is required for next X display pushed from a different month - correction required 594 // nested if is required for next X display pushed from a different month - correction required
558 // otherwise, for month forward and backward, it must be avoided 595 // otherwise, for month forward and backward, it must be avoided
559 if( mSelStart > NUMDAYS || mSelStart < 0 ) 596 if( mSelStart > NUMDAYS || mSelStart < 0 )
560 mSelStart = mSelStart + tmp; 597 mSelStart = mSelStart + tmp;
561 if( mSelEnd > NUMDAYS || mSelEnd < 0 ) 598 if( mSelEnd > NUMDAYS || mSelEnd < 0 )
562 mSelEnd = mSelEnd + tmp; 599 mSelEnd = mSelEnd + tmp;
563 } 600 }
564 } 601 }
565 startdate = actdate; 602 startdate = actdate;
566 mDayChanged = true; 603 mDayChanged = true;
567 recalculateToday(); 604 recalculateToday();
568 mRedrawNeeded = true; 605 mRedrawNeeded = true;
569 } 606 }
570 //qDebug("restart Timer %d vis: %d", mDayChanged, isVisible() ); 607 //qDebug("restart Timer %d vis: %d", mDayChanged, isVisible() );
571 if ( !isVisible() ) { 608 if ( !isVisible() ) {
572 mPendingUpdateBeforeRepaint = true; 609 mPendingUpdateBeforeRepaint = true;
573 } else { 610 } else {
574#ifdef DESKTOP_VERSION 611#ifdef DESKTOP_VERSION
575 //mRepaintTimer->start( 100 ); 612 //mRepaintTimer->start( 100 );
576 //updateViewTimed(); 613 //updateViewTimed();
577 mUpdateTimer->start( 50 ); 614 mUpdateTimer->start( 50 );
578#else 615#else
579 mRepaintTimer->start( 350 ); 616 mRepaintTimer->start( 350 );
580 mUpdateTimer->start( 800 ); 617 mUpdateTimer->start( 800 );
581#endif 618#endif
582 } 619 }
583} 620}
584void KODayMatrix::updateEvents() 621void KODayMatrix::updateEvents()
585{ 622{
586 if ( !mCalendar ) return; 623 if ( !mCalendar ) return;
587 624
588 for( int i = 0; i < NUMDAYS; i++ ) { 625 for( int i = 0; i < NUMDAYS; i++ ) {
589 // if events are set for the day then remember to draw it bold 626 // if events are set for the day then remember to draw it bold
590 QPtrList<Event> eventlist = mCalendar->events( days[ i ] ); 627 QPtrList<Event> eventlist = mCalendar->events( days[ i ] );
591 int numEvents = eventlist.count(); 628 int numEvents = eventlist.count();
592 Event *event; 629 Event *event;
593 for( event = eventlist.first(); event != 0;event=eventlist.next()) { 630 for( event = eventlist.first(); event != 0;event=eventlist.next()) {
594 ushort recurType = event->doesRecur(); 631 ushort recurType = event->doesRecur();
595 632
596 if ( ( recurType == Recurrence::rDaily && 633 if ( ( recurType == Recurrence::rDaily &&
597 !KOPrefs::instance()->mDailyRecur ) || 634 !KOPrefs::instance()->mDailyRecur ) ||
598 ( recurType == Recurrence::rWeekly && 635 ( recurType == Recurrence::rWeekly &&
599 !KOPrefs::instance()->mWeeklyRecur ) ) { 636 !KOPrefs::instance()->mWeeklyRecur ) ) {
600 numEvents--; 637 numEvents--;
601 } 638 }
602 } 639 }
603 if ( numEvents ) 640 if ( numEvents )
604 eDays.setBit(i); 641 eDays.setBit(i);
605 else 642 else
606 eDays.clearBit(i); 643 eDays.clearBit(i);
607 } 644 }
608} 645}
609 646
610const QDate& KODayMatrix::getDate(int offset) 647const QDate& KODayMatrix::getDate(int offset)
611{ 648{
612 if (offset < 0 || offset > NUMDAYS-1) { 649 if (offset < 0 || offset > NUMDAYS-1) {
613 qDebug("Wrong offset2 %d", offset); 650 qDebug("Wrong offset2 %d", offset);
614 return days[0]; 651 return days[0];
615 } 652 }
616 return days[offset]; 653 return days[offset];
617} 654}
618 655
619QString KODayMatrix::getHolidayLabel(int offset) 656QString KODayMatrix::getHolidayLabel(int offset)
620{ 657{
621 if (offset < 0 || offset > NUMDAYS-1) { 658 if (offset < 0 || offset > NUMDAYS-1) {
622 qDebug("Wrong offset1 %d", offset); 659 qDebug("Wrong offset1 %d", offset);
623 return QString(); 660 return QString();
624 } 661 }
625 return mHolidays[offset]; 662 return mHolidays[offset];
626} 663}
627 664
628int KODayMatrix::getDayIndexFrom(int x, int y) 665int KODayMatrix::getDayIndexFrom(int x, int y)
629{ 666{
630 int colModulo = (width()-2) % 7; 667 int colModulo = (width()-2) % 7;
631 int rowModulo = (height()-2) % 6; 668 int rowModulo = (height()-2) % 6;
632#if 0 669#if 0
633 return 7*(y/daysize.height()) + (KOGlobals::self()->reverseLayout() ? 670 return 7*(y/daysize.height()) + (KOGlobals::self()->reverseLayout() ?
634 6 - x/daysize.width() : x/daysize.width()); 671 6 - x/daysize.width() : x/daysize.width());
635#endif 672#endif
636 int xVal = (x-colModulo/2-2)/daysize.width(); 673 int xVal = (x-colModulo/2-2)/daysize.width();
637 int yVal = (y-rowModulo/2-2)/daysize.height(); 674 int yVal = (y-rowModulo/2-2)/daysize.height();
638 675
639 676
640 return 7*(yVal) + xVal; 677 return 7*(yVal) + xVal;
641 678
642} 679}
643 680
644// ---------------------------------------------------------------------------- 681// ----------------------------------------------------------------------------
645// M O U S E E V E N T H A N D L I N G 682// M O U S E E V E N T H A N D L I N G
646// ---------------------------------------------------------------------------- 683// ----------------------------------------------------------------------------
647 684
648void KODayMatrix::mousePressEvent (QMouseEvent* e) 685void KODayMatrix::mousePressEvent (QMouseEvent* e)
649{ 686{
650 687
651 if ( e->button() == LeftButton ) 688 if ( e->button() == LeftButton )
652 mouseDown = true; 689 mouseDown = true;
653 mSelStart = getDayIndexFrom(e->x(), e->y()); 690 mSelStart = getDayIndexFrom(e->x(), e->y());
654 if (mSelStart > NUMDAYS-1) mSelStart=NUMDAYS-1; 691 if (mSelStart > NUMDAYS-1) mSelStart=NUMDAYS-1;
655 mSelInit = mSelStart; 692 mSelInit = mSelStart;
656 mSelEnd = mSelStart; 693 mSelEnd = mSelStart;
657 mRedrawNeeded = true; 694 mRedrawNeeded = true;
658 repaint(false); 695 repaint(false);
659} 696}
660 697
661void KODayMatrix::mouseReleaseEvent (QMouseEvent* e) 698void KODayMatrix::mouseReleaseEvent (QMouseEvent* e)
662{ 699{
663 mRedrawNeeded = true; 700 mRedrawNeeded = true;
664 if ( e->button() == LeftButton ) 701 if ( e->button() == LeftButton )
665 if ( ! mouseDown ) { 702 if ( ! mouseDown ) {
666 return; 703 return;
667 } 704 }
@@ -927,203 +964,203 @@ void KODayMatrix::paintEvent(QPaintEvent * pevent)
927 row*dheight+addRow, (mSelEndT-mSelStartT+1)*dwidth+addCol, dheight+1, selcol); 964 row*dheight+addRow, (mSelEndT-mSelStartT+1)*dwidth+addCol, dheight+1, selcol);
928 } else { 965 } else {
929 // draw first row to the right 966 // draw first row to the right
930 if ( colModulo ) { 967 if ( colModulo ) {
931 if ( col >= 7 - colModulo ) 968 if ( col >= 7 - colModulo )
932 addCol2 = col - 7 + colModulo; 969 addCol2 = col - 7 + colModulo;
933 } 970 }
934 if ( rowModulo ) { 971 if ( rowModulo ) {
935 if ( row >= 6 - rowModulo ) 972 if ( row >= 6 - rowModulo )
936 addRow = row - 5 + rowModulo; 973 addRow = row - 5 + rowModulo;
937 } 974 }
938 //if ( row == 0) 975 //if ( row == 0)
939 // addRow = 1; 976 // addRow = 1;
940 int drawWid = width()-(col*dwidth+1+addCol2)-1; 977 int drawWid = width()-(col*dwidth+1+addCol2)-1;
941 p.fillRect(isRTL ? 0 : col*dwidth+1+addCol2, row*dheight+addRow, drawWid, 978 p.fillRect(isRTL ? 0 : col*dwidth+1+addCol2, row*dheight+addRow, drawWid,
942 dheight+1, selcol); 979 dheight+1, selcol);
943 // draw full block till last line 980 // draw full block till last line
944 selh = mSelEndT/7-row; 981 selh = mSelEndT/7-row;
945 addRow = 0; 982 addRow = 0;
946 if ( rowModulo ) { 983 if ( rowModulo ) {
947 if ( mSelEndT/7 >= 6 - rowModulo ) 984 if ( mSelEndT/7 >= 6 - rowModulo )
948 addRow = mSelEndT/7 - 5 + rowModulo; 985 addRow = mSelEndT/7 - 5 + rowModulo;
949 } 986 }
950 //qDebug("%d %d %d ",selh, row, addRow ); 987 //qDebug("%d %d %d ",selh, row, addRow );
951 int addrow2 = addRow-selh+1; 988 int addrow2 = addRow-selh+1;
952 if ( addrow2 < 0 ) 989 if ( addrow2 < 0 )
953 addrow2 = 0; 990 addrow2 = 0;
954 if (selh > 1) { 991 if (selh > 1) {
955 p.fillRect(1, (row+1)*dheight+addrow2, 7*dwidth+colModulo, (selh-1)*dheight+addRow,selcol); 992 p.fillRect(1, (row+1)*dheight+addrow2, 7*dwidth+colModulo, (selh-1)*dheight+addRow,selcol);
956 } 993 }
957 // draw last block from left to mSelEndT 994 // draw last block from left to mSelEndT
958 selw = mSelEndT-7*(mSelEndT/7)+1; 995 selw = mSelEndT-7*(mSelEndT/7)+1;
959 //qDebug("esl %d ",selw ); 996 //qDebug("esl %d ",selw );
960 int add = 0; 997 int add = 0;
961 if ( colModulo ) { 998 if ( colModulo ) {
962 add = 7 - colModulo; 999 add = 7 - colModulo;
963 if ( selw > add ) 1000 if ( selw > add )
964 add = selw - add; 1001 add = selw - add;
965 else 1002 else
966 add = 0; 1003 add = 0;
967 } 1004 }
968 //qDebug("add %d ", add); 1005 //qDebug("add %d ", add);
969 p.fillRect(isRTL ? (7-selw)*dwidth : 1, (row+selh)*dheight+addRow, 1006 p.fillRect(isRTL ? (7-selw)*dwidth : 1, (row+selh)*dheight+addRow,
970 selw*dwidth+add, dheight+1, selcol); 1007 selw*dwidth+add, dheight+1, selcol);
971 } 1008 }
972 } 1009 }
973 } 1010 }
974 1011
975 // iterate over all days in the matrix and draw the day label in appropriate colors 1012 // iterate over all days in the matrix and draw the day label in appropriate colors
976 QColor actcol = mDefaultTextColorShaded; 1013 QColor actcol = mDefaultTextColorShaded;
977 p.setPen(actcol); 1014 p.setPen(actcol);
978 QPen tmppen; 1015 QPen tmppen;
979 for(int i = 0; i < NUMDAYS; i++) { 1016 for(int i = 0; i < NUMDAYS; i++) {
980 row = i/7; 1017 row = i/7;
981 col = isRTL ? 6-(i-row*7) : i-row*7; 1018 col = isRTL ? 6-(i-row*7) : i-row*7;
982 1019
983 // if it is the first day of a month switch color from normal to shaded and vice versa 1020 // if it is the first day of a month switch color from normal to shaded and vice versa
984 if ( KOGlobals::self()->calendarSystem()->day( days[i] ) == 1) { 1021 if ( KOGlobals::self()->calendarSystem()->day( days[i] ) == 1) {
985 if (actcol == mDefaultTextColorShaded) { 1022 if (actcol == mDefaultTextColorShaded) {
986 actcol = mDefaultTextColor; 1023 actcol = mDefaultTextColor;
987 } else { 1024 } else {
988 actcol = mDefaultTextColorShaded; 1025 actcol = mDefaultTextColorShaded;
989 } 1026 }
990 p.setPen(actcol); 1027 p.setPen(actcol);
991 } 1028 }
992 if (actcol == mDefaultTextColorShaded) { 1029 if (actcol == mDefaultTextColorShaded) {
993 if ( ! mouseDown ) { 1030 if ( ! mouseDown ) {
994 continue; 1031 continue;
995 } 1032 }
996 } 1033 }
997 //Reset pen color after selected days block 1034 //Reset pen color after selected days block
998 if (i == mSelEndT+1) { 1035 if (i == mSelEndT+1) {
999 p.setPen(actcol); 1036 p.setPen(actcol);
1000 } 1037 }
1001 1038
1002 // if today then draw rectangle around day 1039 // if today then draw rectangle around day
1003 if (today == i) { 1040 if (today == i) {
1004 tmppen = p.pen(); 1041 tmppen = p.pen();
1005 QPen mTodayPen(p.pen()); 1042 QPen mTodayPen(p.pen());
1006 if ( daysize.width() < 20 ) 1043 if ( daysize.width() < 20 )
1007 mTodayPen.setWidth(1); 1044 mTodayPen.setWidth(1);
1008 else 1045 else
1009 mTodayPen.setWidth(mTodayMarginWidth); 1046 mTodayPen.setWidth(mTodayMarginWidth);
1010 //draw red rectangle for holidays 1047 //draw red rectangle for holidays
1011 if (pDays.testBit(i)) { 1048 if (pDays.testBit(i)) {
1012 if (actcol == mDefaultTextColor) { 1049 if (actcol == mDefaultTextColor) {
1013 mTodayPen.setColor(KOPrefs::instance()->mHolidayColor); 1050 mTodayPen.setColor(KOPrefs::instance()->mHolidayColor);
1014 } else { 1051 } else {
1015 mTodayPen.setColor(mHolidayColorShaded); 1052 mTodayPen.setColor(mHolidayColorShaded);
1016 } 1053 }
1017 } 1054 }
1018 //draw gray rectangle for today if in selection 1055 //draw gray rectangle for today if in selection
1019 if (i >= mSelStartT && i <= mSelEndT) { 1056 if (i >= mSelStartT && i <= mSelEndT) {
1020 QColor grey("grey"); 1057 QColor grey("grey");
1021 mTodayPen.setColor(grey); 1058 mTodayPen.setColor(grey);
1022 } 1059 }
1023 p.setPen(mTodayPen); 1060 p.setPen(mTodayPen);
1024 1061
1025 1062
1026 int addCol = 0; 1063 int addCol = 0;
1027 int addRow = 0; 1064 int addRow = 0;
1028 if (rowModulo) { 1065 if (rowModulo) {
1029 if ( row >= 6 - rowModulo ) 1066 if ( row >= 6 - rowModulo )
1030 addRow = row - 5 + rowModulo; 1067 addRow = row - 5 + rowModulo;
1031 } 1068 }
1032 if ( colModulo ) { 1069 if ( colModulo ) {
1033 if ( col >= 7 - colModulo ) 1070 if ( col >= 7 - colModulo )
1034 addCol = col - 6 + colModulo-1; 1071 addCol = col - 6 + colModulo-1;
1035 } 1072 }
1036 1073
1037 addCol += 1; 1074 addCol += 1;
1038 if ( row == 0 ) 1075 if ( row == 0 )
1039 addRow = 1; 1076 addRow = 1;
1040 p.drawRect(col*dwidth+addCol, row*dheight+addRow, dwidth+1, dheight+1); 1077 p.drawRect(col*dwidth+addCol, row*dheight+addRow, dwidth+1, dheight+1);
1041 p.setPen(tmppen); 1078 p.setPen(tmppen);
1042 } 1079 }
1043 1080
1044 // if any events are on that day then draw it using a bold font 1081 // if any events are on that day then draw it using a bold font
1045 if ( eDays.testBit(i) ) { 1082 if ( eDays.testBit(i) ) {
1046 QFont myFont = font(); 1083 QFont myFont = font();
1047 myFont.setBold(true); 1084 myFont.setBold(true);
1048 p.setFont(myFont); 1085 p.setFont(myFont);
1049 } 1086 }
1050 1087
1051 // if it is a holiday then use the default holiday color 1088 // if it is a holiday then use the default holiday color
1052 if ( pDays.testBit(i)) { 1089 if ( pDays.testBit(i)) {
1053 if ( bDays.testBit(i) ) { 1090 if ( bDays.testBit(i) ) {
1054 if ( hDays.testBit(i) ) 1091 if ( hDays.testBit(i) )
1055 p.setPen(QColor(Qt::green)); 1092 p.setPen(QColor(0,200,0));
1056 else 1093 else
1057 p.setPen(QColor(Qt::green).dark()); 1094 p.setPen(QColor(Qt::blue));
1058 } else { 1095 } else {
1059 if (actcol == mDefaultTextColor ) { 1096 if (actcol == mDefaultTextColor ) {
1060 p.setPen(KOPrefs::instance()->mHolidayColor); 1097 p.setPen(KOPrefs::instance()->mHolidayColor);
1061 } else { 1098 } else {
1062 p.setPen(mHolidayColorShaded); 1099 p.setPen(mHolidayColorShaded);
1063 } 1100 }
1064 } 1101 }
1065 } 1102 }
1066 1103
1067 // draw selected days with special color 1104 // draw selected days with special color
1068 // DO NOT specially highlight holidays in selection ! 1105 // DO NOT specially highlight holidays in selection !
1069 if (i >= mSelStartT && i <= mSelEndT) { 1106 if (i >= mSelStartT && i <= mSelEndT) {
1070 ;//p.setPen(mSelectedDaysColor); 1107 ;//p.setPen(mSelectedDaysColor);
1071 } 1108 }
1072 1109
1073 int addCol = 0; 1110 int addCol = 0;
1074 int addRow = 0; 1111 int addRow = 0;
1075 if ( colModulo ) { 1112 if ( colModulo ) {
1076 if ( col >= 7 - colModulo ) 1113 if ( col >= 7 - colModulo )
1077 addCol = col - 7 + colModulo; 1114 addCol = col - 7 + colModulo;
1078 } 1115 }
1079 if ( rowModulo ) { 1116 if ( rowModulo ) {
1080 if ( row >= 6 - rowModulo ) 1117 if ( row >= 6 - rowModulo )
1081 addRow = row - 5 + rowModulo; 1118 addRow = row - 5 + rowModulo;
1082 } 1119 }
1083 //qDebug("add %d %d -- %d %d ", col, addCol, row, addRow); 1120 //qDebug("add %d %d -- %d %d ", col, addCol, row, addRow);
1084 ++addCol;//++addCol; 1121 ++addCol;//++addCol;
1085 if ( row == 0) 1122 if ( row == 0)
1086 addRow = 1; 1123 addRow = 1;
1087 p.drawText(col*dwidth+addCol, row*dheight+addRow, dwidth, dheight, 1124 p.drawText(col*dwidth+addCol, row*dheight+addRow, dwidth, dheight,
1088 Qt::AlignHCenter | Qt::AlignVCenter, daylbls[i]); 1125 Qt::AlignHCenter | Qt::AlignVCenter, daylbls[i]);
1089 1126
1090 // reset color to actual color 1127 // reset color to actual color
1091 if (pDays.testBit(i)) { 1128 if (pDays.testBit(i)) {
1092 p.setPen(actcol); 1129 p.setPen(actcol);
1093 } 1130 }
1094 // reset bold font to plain font 1131 // reset bold font to plain font
1095 if ( eDays.testBit(i)) { 1132 if ( eDays.testBit(i)) {
1096 QFont myFont = font(); 1133 QFont myFont = font();
1097 myFont.setBold(false); 1134 myFont.setBold(false);
1098 p.setFont(myFont); 1135 p.setFont(myFont);
1099 } 1136 }
1100 } 1137 }
1101 } else { 1138 } else {
1102 //qDebug("NO redraw "); 1139 //qDebug("NO redraw ");
1103 } 1140 }
1104 1141
1105 bitBlt (this, pevent->rect().topLeft(), &myPix , pevent->rect() ,CopyROP); 1142 bitBlt (this, pevent->rect().topLeft(), &myPix , pevent->rect() ,CopyROP);
1106 mRedrawNeeded = false; 1143 mRedrawNeeded = false;
1107} 1144}
1108 1145
1109// ---------------------------------------------------------------------------- 1146// ----------------------------------------------------------------------------
1110// R E SI Z E E V E N T H A N D L I N G 1147// R E SI Z E E V E N T H A N D L I N G
1111// ---------------------------------------------------------------------------- 1148// ----------------------------------------------------------------------------
1112 1149
1113void KODayMatrix::resizeEvent(QResizeEvent *) 1150void KODayMatrix::resizeEvent(QResizeEvent *)
1114{ 1151{
1115 QRect sz = frameRect(); 1152 QRect sz = frameRect();
1116 daysize.setHeight(sz.height()*7 / NUMDAYS); 1153 daysize.setHeight(sz.height()*7 / NUMDAYS);
1117 daysize.setWidth(sz.width() / 7); 1154 daysize.setWidth(sz.width() / 7);
1118} 1155}
1119 1156
1120QSize KODayMatrix::sizeHint() const 1157QSize KODayMatrix::sizeHint() const
1121{ 1158{
1122 1159
1123 QFontMetrics fm ( font() ); 1160 QFontMetrics fm ( font() );
1124 int wid = fm.width( "30") *7+3; 1161 int wid = fm.width( "30") *7+3;
1125 int hei = fm.height() * 6+3; 1162 int hei = fm.height() * 6+3;
1126 //qDebug("KODayMatrix::sizeHint()********************* %d %d", wid , hei); 1163 //qDebug("KODayMatrix::sizeHint()********************* %d %d", wid , hei);
1127 return QSize ( wid, hei ); 1164 return QSize ( wid, hei );
1128 1165
1129} 1166}
diff --git a/korganizer/kodaymatrix.h b/korganizer/kodaymatrix.h
index b686bd7..a3216d6 100644
--- a/korganizer/kodaymatrix.h
+++ b/korganizer/kodaymatrix.h
@@ -102,229 +102,230 @@ private:
102 * @short day matrix widget of the KDateNavigator 102 * @short day matrix widget of the KDateNavigator
103 * 103 *
104 * @author Eitzenberger Thomas 104 * @author Eitzenberger Thomas
105 */ 105 */
106class KODayMatrix: public QFrame { 106class KODayMatrix: public QFrame {
107 107
108 Q_OBJECT 108 Q_OBJECT
109 109
110public: 110public:
111 111
112 /** constructor to create a day matrix widget. 112 /** constructor to create a day matrix widget.
113 * 113 *
114 * @param parent widget that is the parent of the day matrix. Normally this should 114 * @param parent widget that is the parent of the day matrix. Normally this should
115 * be a KDateNavigator 115 * be a KDateNavigator
116 * @param calendar instance of a calendar on which all calculations are based 116 * @param calendar instance of a calendar on which all calculations are based
117 * @param date start date of the matrix (is expected to be already fixed). It is 117 * @param date start date of the matrix (is expected to be already fixed). It is
118 * assumed that this date is the first week day to be shown in the matrix. 118 * assumed that this date is the first week day to be shown in the matrix.
119 * @param name name of the widget 119 * @param name name of the widget
120 */ 120 */
121 KODayMatrix( QWidget *parent, const char *name ); 121 KODayMatrix( QWidget *parent, const char *name );
122 //KODayMatrix(QWidget *parent, Calendar* calendar, QDate date, const char *name ); 122 //KODayMatrix(QWidget *parent, Calendar* calendar, QDate date, const char *name );
123 123
124 /** destructor that deallocates all dynamically allocated private members. 124 /** destructor that deallocates all dynamically allocated private members.
125 */ 125 */
126 ~KODayMatrix(); 126 ~KODayMatrix();
127 127
128 /** updates the day matrix to start with the given date. Does all the necessary 128 /** updates the day matrix to start with the given date. Does all the necessary
129 * checks for holidays or events on a day and stores them for display later on. 129 * checks for holidays or events on a day and stores them for display later on.
130 * Does NOT update the view visually. Call repaint() for this. 130 * Does NOT update the view visually. Call repaint() for this.
131 * 131 *
132 * @param actdate recalculates the day matrix to show NUMDAYS starting from this 132 * @param actdate recalculates the day matrix to show NUMDAYS starting from this
133 * date. 133 * date.
134 */ 134 */
135 void updateView(QDate actdate); 135 void updateView(QDate actdate);
136 void updateEvents(); 136 void updateEvents();
137 137
138 /** returns the QDate object associated with day indexed by the 138 /** returns the QDate object associated with day indexed by the
139 * supplied offset. 139 * supplied offset.
140 */ 140 */
141 const QDate& getDate(int offset); 141 const QDate& getDate(int offset);
142 void setCalendar( Calendar * ); 142 void setCalendar( Calendar * );
143 /** returns the official name of this holy day or 0 if there is no label 143 /** returns the official name of this holy day or 0 if there is no label
144 * for this day. 144 * for this day.
145 */ 145 */
146 QString getHolidayLabel(int offset); 146 QString getHolidayLabel(int offset);
147 147
148 /** adds all actual selected days from mSelStart to mSelEnd to the supplied 148 /** adds all actual selected days from mSelStart to mSelEnd to the supplied
149 * DateList. 149 * DateList.
150 */ 150 */
151 void addSelectedDaysTo(DateList&); 151 void addSelectedDaysTo(DateList&);
152 152
153 /** sets the actual to be displayed selection in the day matrix starting from 153 /** sets the actual to be displayed selection in the day matrix starting from
154 * start and ending with end. Theview must be manually updated by calling 154 * start and ending with end. Theview must be manually updated by calling
155 * repaint. (?) 155 * repaint. (?)
156 */ 156 */
157 bool setSelectedDaysFrom(const QDate& start, const QDate& end); 157 bool setSelectedDaysFrom(const QDate& start, const QDate& end);
158 void clearSelection(); 158 void clearSelection();
159 159
160 /** Is today visible in the view? Keep this in sync with 160 /** Is today visible in the view? Keep this in sync with
161 * the values today (below) can take. 161 * the values today (below) can take.
162 */ 162 */
163 bool isTodayVisible() const { return today>=0; } ; 163 bool isTodayVisible() const { return today>=0; } ;
164 164
165 /** If today is visible, then we can find out if today is 165 /** If today is visible, then we can find out if today is
166 * near the beginning or the end of the month. 166 * near the beginning or the end of the month.
167 * This is dependent on today remaining the index 167 * This is dependent on today remaining the index
168 * in the array of visible dates and going from 168 * in the array of visible dates and going from
169 * top left (0) to bottom right (41). 169 * top left (0) to bottom right (41).
170 */ 170 */
171 bool isBeginningOfMonth() const { return today<=8; } ; 171 bool isBeginningOfMonth() const { return today<=8; } ;
172 bool isEndOfMonth() const { return today>=27; } ; 172 bool isEndOfMonth() const { return today>=27; } ;
173 QString getWhatsThisText( QPoint ) ; 173 QString getWhatsThisText( QPoint ) ;
174 QSize sizeHint() const; 174 QSize sizeHint() const;
175 QRect frameRect () const { int wid = frameWidth(); return QRect(0+wid,0+wid,width()-wid-wid,height()-wid-wid);} 175 QRect frameRect () const { int wid = frameWidth(); return QRect(0+wid,0+wid,width()-wid-wid,height()-wid-wid);}
176public slots: 176public slots:
177 /** Recalculates all the flags of the days in the matrix like holidays or events 177 /** Recalculates all the flags of the days in the matrix like holidays or events
178 * on a day (Actually calls above method with the actual startdate). 178 * on a day (Actually calls above method with the actual startdate).
179 */ 179 */
180 void updateView(); 180 void updateView();
181 void updateViewTimed(); 181 void updateViewTimed();
182 void repaintViewTimed(); 182 void repaintViewTimed();
183 183
184 /** 184 /**
185 * Calculate which square in the matrix should be 185 * Calculate which square in the matrix should be
186 * hilighted to indicate it's today. 186 * hilighted to indicate it's today.
187 */ 187 */
188 void recalculateToday(); 188 void recalculateToday();
189 189
190/* 190/*
191 void setStartDate(QDate); 191 void setStartDate(QDate);
192*/ 192*/
193 193
194signals: 194signals:
195 195
196 /** emitted if the user selects a block of days with the mouse by dragging a rectangle 196 /** emitted if the user selects a block of days with the mouse by dragging a rectangle
197 * inside the matrix 197 * inside the matrix
198 * 198 *
199 * @param daylist list of days that have been selected by the user 199 * @param daylist list of days that have been selected by the user
200 */ 200 */
201 void selected( const KCal::DateList &daylist ); 201 void selected( const KCal::DateList &daylist );
202 202
203 /** emitted if the user has dropped an event inside the matrix 203 /** emitted if the user has dropped an event inside the matrix
204 * 204 *
205 * @param event the dropped calendar event 205 * @param event the dropped calendar event
206 */ 206 */
207 void eventDropped(Event *event); 207 void eventDropped(Event *event);
208 208
209protected: 209protected:
210 210
211 void paintEvent(QPaintEvent *ev); 211 void paintEvent(QPaintEvent *ev);
212 212
213 void mousePressEvent (QMouseEvent* e); 213 void mousePressEvent (QMouseEvent* e);
214 214
215 void mouseReleaseEvent (QMouseEvent* e); 215 void mouseReleaseEvent (QMouseEvent* e);
216 216
217 void mouseMoveEvent (QMouseEvent* e); 217 void mouseMoveEvent (QMouseEvent* e);
218 218
219 void dragEnterEvent(QDragEnterEvent *); 219 void dragEnterEvent(QDragEnterEvent *);
220 220
221 void dragMoveEvent(QDragMoveEvent *); 221 void dragMoveEvent(QDragMoveEvent *);
222 222
223 void dragLeaveEvent(QDragLeaveEvent *); 223 void dragLeaveEvent(QDragLeaveEvent *);
224 224
225 void dropEvent(QDropEvent *); 225 void dropEvent(QDropEvent *);
226 226
227 void resizeEvent(QResizeEvent *); 227 void resizeEvent(QResizeEvent *);
228 228
229private: 229private:
230 int mLastView;
230 void computeEvent(Event *even, int dayindex ); 231 void computeEvent(Event *even, int dayindex );
231 int oldW, oldH; 232 int oldW, oldH;
232 bool mRedrawNeeded; 233 bool mRedrawNeeded;
233 KODaymatrixWhatsThis* mKODaymatrixWhatsThis; 234 KODaymatrixWhatsThis* mKODaymatrixWhatsThis;
234 bool mouseDown; 235 bool mouseDown;
235 QBitArray bDays; 236 QBitArray bDays;
236 QBitArray hDays; 237 QBitArray hDays;
237 QBitArray eDays; 238 QBitArray eDays;
238 QBitArray pDays; 239 QBitArray pDays;
239 QPixmap myPix; 240 QPixmap myPix;
240 QTimer* mUpdateTimer; 241 QTimer* mUpdateTimer;
241 QTimer* mRepaintTimer; 242 QTimer* mRepaintTimer;
242 bool mDayChanged; 243 bool mDayChanged;
243 bool mPendingUpdateBeforeRepaint; 244 bool mPendingUpdateBeforeRepaint;
244 245
245 /** returns the index of the day located at the matrix's widget (x,y) position. 246 /** returns the index of the day located at the matrix's widget (x,y) position.
246 * 247 *
247 * @param x horizontal coordinate 248 * @param x horizontal coordinate
248 * @param y vertical coordinate 249 * @param y vertical coordinate
249 */ 250 */
250 int getDayIndexFrom(int x, int y); 251 int getDayIndexFrom(int x, int y);
251 252
252 /** calculates a "shaded" color from the supplied color object. 253 /** calculates a "shaded" color from the supplied color object.
253 * (Copied from Cornelius's kdpdatebutton.cpp) 254 * (Copied from Cornelius's kdpdatebutton.cpp)
254 * 255 *
255 * @param color source based on which a shaded color should be calculated. 256 * @param color source based on which a shaded color should be calculated.
256 */ 257 */
257 QColor getShadedColor(QColor color); 258 QColor getShadedColor(QColor color);
258 259
259 /** number of days to be displayed. For now there is no support for any other number then 42. 260 /** number of days to be displayed. For now there is no support for any other number then 42.
260 so change it at your own risk :o) */ 261 so change it at your own risk :o) */
261 static const int NUMDAYS; 262 static const int NUMDAYS;
262 263
263 /** calendar instance to be queried for holidays, events, ... */ 264 /** calendar instance to be queried for holidays, events, ... */
264 Calendar *mCalendar; 265 Calendar *mCalendar;
265 266
266 /** starting date of the matrix */ 267 /** starting date of the matrix */
267 QDate startdate; 268 QDate startdate;
268 269
269 /** array of day labels to optimeize drawing performance. */ 270 /** array of day labels to optimeize drawing performance. */
270 QString *daylbls; 271 QString *daylbls;
271 272
272 /** array of days displayed to reduce memory consumption by 273 /** array of days displayed to reduce memory consumption by
273 subsequently calling QDate::addDays(). */ 274 subsequently calling QDate::addDays(). */
274 QDate *days; 275 QDate *days;
275 276
276 /** array of storing the number of events on a given day. 277 /** array of storing the number of events on a given day.
277 * used for drawing a bold font if there is at least one event on that day. 278 * used for drawing a bold font if there is at least one event on that day.
278 */ 279 */
279 //int *events; 280 //int *events;
280 281
281 /** stores holiday names of the days shown in the matrix. */ 282 /** stores holiday names of the days shown in the matrix. */
282 QMap<int,QString> mHolidays; 283 QMap<int,QString> mHolidays;
283 284
284 /** indey of today or -1 if today is not visible in the matrix. */ 285 /** indey of today or -1 if today is not visible in the matrix. */
285 int today; 286 int today;
286 287
287 /** index of day where dragged selection was initiated. 288 /** index of day where dragged selection was initiated.
288 used to detect "negative" timely selections */ 289 used to detect "negative" timely selections */
289 int mSelInit; 290 int mSelInit;
290 291
291 /** if mSelStart has this value it indicates that there is no 292 /** if mSelStart has this value it indicates that there is no
292 actual selection in the matrix. */ 293 actual selection in the matrix. */
293 static const int NOSELECTION; 294 static const int NOSELECTION;
294 295
295 /** index of first selected day. */ 296 /** index of first selected day. */
296 int mSelStart; 297 int mSelStart;
297 298
298 /** index of last selected day. */ 299 /** index of last selected day. */
299 int mSelEnd; 300 int mSelEnd;
300 301
301 /** dynamic tooltip to handle mouse dependent tips for each day in the matrix. */ 302 /** dynamic tooltip to handle mouse dependent tips for each day in the matrix. */
302 DynamicTip* mToolTip; 303 DynamicTip* mToolTip;
303 304
304 305
305 /** default background colour of the matrix. */ 306 /** default background colour of the matrix. */
306 QColor mDefaultBackColor; 307 QColor mDefaultBackColor;
307 308
308 /** default text color of the matrix. */ 309 /** default text color of the matrix. */
309 QColor mDefaultTextColor; 310 QColor mDefaultTextColor;
310 311
311 /** default text color for days not in the actual month. */ 312 /** default text color for days not in the actual month. */
312 QColor mDefaultTextColorShaded; 313 QColor mDefaultTextColorShaded;
313 314
314 /** default text color for holidays not in the actual month. */ 315 /** default text color for holidays not in the actual month. */
315 QColor mHolidayColorShaded; 316 QColor mHolidayColorShaded;
316 317
317 /** text color for selected days. */ 318 /** text color for selected days. */
318 QColor mSelectedDaysColor; 319 QColor mSelectedDaysColor;
319 320
320 /** default width of the frame drawn around today if it is visible in the matrix. */ 321 /** default width of the frame drawn around today if it is visible in the matrix. */
321 int mTodayMarginWidth; 322 int mTodayMarginWidth;
322 323
323 /** stores actual size of each day in the widget so that I dont need to ask this data 324 /** stores actual size of each day in the widget so that I dont need to ask this data
324 * on every repaint. 325 * on every repaint.
325 */ 326 */
326 QRect daysize; 327 QRect daysize;
327 328
328}; 329};
329 330
330#endif 331#endif
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp
index 843526d..ae61db6 100644
--- a/korganizer/komonthview.cpp
+++ b/korganizer/komonthview.cpp
@@ -1432,256 +1432,259 @@ void KOMonthView::showDates(const QDate &start, const QDate &)
1432 cells = &mCells; 1432 cells = &mCells;
1433 dayLabels = &mDayLabels; 1433 dayLabels = &mDayLabels;
1434 weekLabels = &mWeekLabels; 1434 weekLabels = &mWeekLabels;
1435 } 1435 }
1436 1436
1437 int mWeekStartsMonday = KGlobal::locale()->weekStartsMonday(); 1437 int mWeekStartsMonday = KGlobal::locale()->weekStartsMonday();
1438 1438
1439 if ( mShowWeekView || KOPrefs::instance()->mMonthViewSatSunTog ) { 1439 if ( mShowWeekView || KOPrefs::instance()->mMonthViewSatSunTog ) {
1440 mWeekStartsMonday = true; 1440 mWeekStartsMonday = true;
1441 } 1441 }
1442 int startWeekDay = mWeekStartsMonday ? 1 : 7; 1442 int startWeekDay = mWeekStartsMonday ? 1 : 7;
1443 1443
1444 while( KOGlobals::self()->calendarSystem()->dayOfWeek(mStartDate) != startWeekDay ) { 1444 while( KOGlobals::self()->calendarSystem()->dayOfWeek(mStartDate) != startWeekDay ) {
1445 mStartDate = mStartDate.addDays( -1 ); 1445 mStartDate = mStartDate.addDays( -1 );
1446 } 1446 }
1447 bool primary = false; 1447 bool primary = false;
1448 uint i; 1448 uint i;
1449 for( i = 0; i < (*cells).size(); ++i ) { 1449 for( i = 0; i < (*cells).size(); ++i ) {
1450 QDate date = mStartDate.addDays( i ); 1450 QDate date = mStartDate.addDays( i );
1451 (*cells)[i]->setDate( date ); 1451 (*cells)[i]->setDate( date );
1452 1452
1453#ifndef KORG_NOPLUGINS 1453#ifndef KORG_NOPLUGINS
1454 // add holiday, if present 1454 // add holiday, if present
1455 QString hstring(KOCore::self()->holiday(date)); 1455 QString hstring(KOCore::self()->holiday(date));
1456 (*cells)[i]->setHoliday( hstring ); 1456 (*cells)[i]->setHoliday( hstring );
1457#endif 1457#endif
1458 1458
1459 } 1459 }
1460 QDate date = mStartDate.addDays( mWeekStartsMonday ? 3 : 4 ); 1460 QDate date = mStartDate.addDays( mWeekStartsMonday ? 3 : 4 );
1461 for( i = 0; i < weekNum; ++i ) { 1461 for( i = 0; i < weekNum; ++i ) {
1462 int wno; 1462 int wno;
1463 // remember, according to ISO 8601, the first week of the year is the 1463 // remember, according to ISO 8601, the first week of the year is the
1464 // first week that contains a thursday. Thus we must subtract off 4, 1464 // first week that contains a thursday. Thus we must subtract off 4,
1465 // not just 1. 1465 // not just 1.
1466 int dayOfYear = date.dayOfYear(); 1466 int dayOfYear = date.dayOfYear();
1467 if (dayOfYear % 7 != 0) 1467 if (dayOfYear % 7 != 0)
1468 wno = dayOfYear / 7 + 1; 1468 wno = dayOfYear / 7 + 1;
1469 else 1469 else
1470 wno =dayOfYear / 7; 1470 wno =dayOfYear / 7;
1471 (*weekLabels)[i]->setWeekNum( wno ); 1471 (*weekLabels)[i]->setWeekNum( wno );
1472 date = date.addDays( 7 ); 1472 date = date.addDays( 7 );
1473 } 1473 }
1474 updateView(); 1474 updateView();
1475} 1475}
1476 1476
1477void KOMonthView::showEvents(QPtrList<Event>) 1477void KOMonthView::showEvents(QPtrList<Event>)
1478{ 1478{
1479 qDebug("KOMonthView::selectEvents is not implemented yet. "); 1479 qDebug("KOMonthView::selectEvents is not implemented yet. ");
1480} 1480}
1481 1481
1482void KOMonthView::changeEventDisplay(Event *, int) 1482void KOMonthView::changeEventDisplay(Event *, int)
1483{ 1483{
1484 // this should be re-written to be much more efficient, but this 1484 // this should be re-written to be much more efficient, but this
1485 // quick-and-dirty-hack gets the job done for right now. 1485 // quick-and-dirty-hack gets the job done for right now.
1486 //qDebug("KOMonthView::changeEventDisplay "); 1486 //qDebug("KOMonthView::changeEventDisplay ");
1487 updateView(); 1487 updateView();
1488} 1488}
1489 1489
1490void KOMonthView::updateView() 1490void KOMonthView::updateView()
1491{ 1491{
1492 1492
1493 if ( !updatePossible ) 1493 if ( !updatePossible )
1494 return; 1494 return;
1495 //qDebug("UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU "); 1495 //qDebug("UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU ");
1496 //QTime ti; 1496 //QTime ti;
1497 //ti.start(); 1497 //ti.start();
1498 clearSelection(); 1498 clearSelection();
1499 QPtrVector<MonthViewCell> *cells; 1499 QPtrVector<MonthViewCell> *cells;
1500 if ( mShowWeekView ) { 1500 if ( mShowWeekView ) {
1501 cells = &mCellsW; 1501 cells = &mCellsW;
1502 } else { 1502 } else {
1503 cells = &mCells; 1503 cells = &mCells;
1504 } 1504 }
1505#if 1 1505#if 1
1506 int i; 1506 int i;
1507 int timeSpan = (*cells).size()-1; 1507 int timeSpan = (*cells).size()-1;
1508 if ( KOPrefs::instance()->mMonthViewWeek ) 1508 if ( KOPrefs::instance()->mMonthViewWeek )
1509 timeSpan = 6; 1509 timeSpan = 6;
1510 for( i = 0; i < timeSpan + 1; ++i ) { 1510 for( i = 0; i < timeSpan + 1; ++i ) {
1511 (*cells)[i]->startUpdateCell(); 1511 (*cells)[i]->startUpdateCell();
1512 } 1512 }
1513 1513
1514 QPtrList<Event> events = calendar()->events(); 1514 QPtrList<Event> events = calendar()->events();
1515 Event *event; 1515 Event *event;
1516 QDateTime dt; 1516 QDateTime dt;
1517 bool ok; 1517 bool ok;
1518 QDate endDate = mStartDate.addDays( timeSpan ); 1518 QDate endDate = mStartDate.addDays( timeSpan );
1519 for( event = events.first(); event; event = events.next() ) { // for event 1519 for( event = events.first(); event; event = events.next() ) { // for event
1520 if ( event->doesRecur() ) { 1520 if ( event->doesRecur() ) {
1521 bool last; 1521 bool last;
1522 QDateTime incidenceStart = event->recurrence()->getPreviousDateTime( QDateTime( mStartDate ) , &last ); 1522 QDateTime incidenceStart = event->recurrence()->getPreviousDateTime( QDateTime( mStartDate ) , &last );
1523 QDateTime incidenceEnd; 1523 QDateTime incidenceEnd;
1524 int eventlen = event->dtStart().date().daysTo ( event->dtEnd().date() ); 1524 int eventlen = event->dtStart().date().daysTo ( event->dtEnd().date() );
1525 bool invalid = false; 1525 bool invalid = false;
1526 while( true ) { 1526 while( true ) {
1527 if ( incidenceStart.isValid() ) { 1527 if ( incidenceStart.isValid() ) {
1528 incidenceEnd = incidenceStart.addDays( eventlen ); 1528 incidenceEnd = incidenceStart.addDays( eventlen );
1529 int st = incidenceStart.date().daysTo( endDate ); 1529 int st = incidenceStart.date().daysTo( endDate );
1530 if ( st >= 0 ) { // start before timeend 1530 if ( st >= 0 ) { // start before timeend
1531 int end = mStartDate.daysTo( incidenceEnd.date() ); 1531 int end = mStartDate.daysTo( incidenceEnd.date() );
1532 if ( end >= 0 ) { // end after timestart --- got one! 1532 if ( end >= 0 ) { // end after timestart --- got one!
1533 //normalize 1533 //normalize
1534 st = timeSpan - st; 1534 st = timeSpan - st;
1535 if ( st < 0 ) st = 0; 1535 if ( st < 0 ) st = 0;
1536 if ( end > timeSpan ) end = timeSpan; 1536 if ( end > timeSpan ) end = timeSpan;
1537 int iii; 1537 int iii;
1538 //qDebug("found %s %d %d ",event->summary().latin1(), st, end ); 1538 //qDebug("found %s %d %d ",event->summary().latin1(), st, end );
1539 for ( iii = st;iii<= end;++iii) 1539 for ( iii = st;iii<= end;++iii)
1540 (*cells)[iii]->insertEvent( event ); 1540 (*cells)[iii]->insertEvent( event );
1541 } 1541 }
1542 } 1542 }
1543 } else { 1543 } else {
1544 if ( invalid ) 1544 if ( invalid )
1545 break; 1545 break;
1546 invalid = true; 1546 invalid = true;
1547 //qDebug("invalid %s", event->summary().latin1()); 1547 //qDebug("invalid %s", event->summary().latin1());
1548 incidenceStart = QDateTime( mStartDate ).addSecs( -2 );; 1548 incidenceStart = QDateTime( mStartDate ).addSecs( -2 );;
1549 } 1549 }
1550 if ( last ) 1550 if ( last )
1551 break; 1551 break;
1552 bool ok; 1552 bool ok;
1553 incidenceStart = event->getNextOccurence( incidenceStart.addSecs( 1 ) ,&ok ); 1553 incidenceStart = event->getNextOccurence( incidenceStart.addSecs( 1 ) ,&ok );
1554 if ( ! ok ) 1554 if ( ! ok )
1555 break; 1555 break;
1556 if ( incidenceStart.date() > endDate ) 1556 if ( incidenceStart.date() > endDate )
1557 break; 1557 break;
1558 } 1558 }
1559 } else { // no recur 1559 } else { // no recur
1560 if ( !KOPrefs::instance()->mShowSyncEvents && event->uid().left(2) == QString("la") )
1561 if ( event->uid().left(15) == QString("last-syncEvent-") )
1562 continue;
1560 int st = event->dtStart().date().daysTo( endDate ); 1563 int st = event->dtStart().date().daysTo( endDate );
1561 if ( st >= 0 ) { // start before timeend 1564 if ( st >= 0 ) { // start before timeend
1562 int end = mStartDate.daysTo( event->dtEnd().date() ); 1565 int end = mStartDate.daysTo( event->dtEnd().date() );
1563 if ( end >= 0 ) { // end after timestart --- got one! 1566 if ( end >= 0 ) { // end after timestart --- got one!
1564 //normalize 1567 //normalize
1565 st = timeSpan - st; 1568 st = timeSpan - st;
1566 if ( st < 0 ) st = 0; 1569 if ( st < 0 ) st = 0;
1567 if ( end > timeSpan ) end = timeSpan; 1570 if ( end > timeSpan ) end = timeSpan;
1568 int iii; 1571 int iii;
1569 for ( iii = st;iii<= end;++iii) 1572 for ( iii = st;iii<= end;++iii)
1570 (*cells)[iii]->insertEvent( event ); 1573 (*cells)[iii]->insertEvent( event );
1571 } 1574 }
1572 } 1575 }
1573 } 1576 }
1574 } 1577 }
1575 // insert due todos 1578 // insert due todos
1576 QPtrList<Todo> todos = calendar()->todos( ); 1579 QPtrList<Todo> todos = calendar()->todos( );
1577 Todo *todo; 1580 Todo *todo;
1578 for(todo = todos.first(); todo; todo = todos.next()) { 1581 for(todo = todos.first(); todo; todo = todos.next()) {
1579 //insertTodo( todo ); 1582 //insertTodo( todo );
1580 if ( todo->hasDueDate() ) { 1583 if ( todo->hasDueDate() ) {
1581 int day = mStartDate.daysTo( todo->dtDue().date() ); 1584 int day = mStartDate.daysTo( todo->dtDue().date() );
1582 if ( day >= 0 && day < timeSpan + 1) { 1585 if ( day >= 0 && day < timeSpan + 1) {
1583 (*cells)[day]->insertTodo( todo ); 1586 (*cells)[day]->insertTodo( todo );
1584 } 1587 }
1585 } 1588 }
1586 } 1589 }
1587 1590
1588 for( i = 0; i < timeSpan+1; ++i ) { 1591 for( i = 0; i < timeSpan+1; ++i ) {
1589 (*cells)[i]->finishUpdateCell(); 1592 (*cells)[i]->finishUpdateCell();
1590 } 1593 }
1591 processSelectionChange(); 1594 processSelectionChange();
1592 //qApp->processEvents(); 1595 //qApp->processEvents();
1593 for( i = 0; i < timeSpan+1; ++i ) { 1596 for( i = 0; i < timeSpan+1; ++i ) {
1594 (*cells)[i]->repaintfinishUpdateCell(); 1597 (*cells)[i]->repaintfinishUpdateCell();
1595 } 1598 }
1596 setKeyBFocus(); 1599 setKeyBFocus();
1597#else 1600#else
1598 // old code 1601 // old code
1599 //qDebug("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ "); 1602 //qDebug("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ");
1600 int i; 1603 int i;
1601 for( i = 0; i < (*cells).count(); ++i ) { 1604 for( i = 0; i < (*cells).count(); ++i ) {
1602 (*cells)[i]->updateCell(); 1605 (*cells)[i]->updateCell();
1603 } 1606 }
1604 1607
1605 //qDebug("KOMonthView::updateView() "); 1608 //qDebug("KOMonthView::updateView() ");
1606 processSelectionChange(); 1609 processSelectionChange();
1607 // qDebug("---------------------------------------------------------------------+ "); 1610 // qDebug("---------------------------------------------------------------------+ ");
1608 (*cells)[0]->setFocus(); 1611 (*cells)[0]->setFocus();
1609#endif 1612#endif
1610 1613
1611 //qDebug("update time %d ", ti.elapsed()); 1614 //qDebug("update time %d ", ti.elapsed());
1612} 1615}
1613 1616
1614void KOMonthView::setKeyBoardFocus() 1617void KOMonthView::setKeyBoardFocus()
1615{ 1618{
1616 //qDebug("KOMonthView::setKeyBoardFocus() "); 1619 //qDebug("KOMonthView::setKeyBoardFocus() ");
1617 bool shootAgain = false; 1620 bool shootAgain = false;
1618 if ( mShowWeekView ) { 1621 if ( mShowWeekView ) {
1619 shootAgain = !mWeekLabelsW[1]->hasFocus(); 1622 shootAgain = !mWeekLabelsW[1]->hasFocus();
1620 mWeekLabelsW[1]->setFocus(); 1623 mWeekLabelsW[1]->setFocus();
1621 } 1624 }
1622 else { 1625 else {
1623 shootAgain = !mWeekLabels[mNumWeeks]->hasFocus(); 1626 shootAgain = !mWeekLabels[mNumWeeks]->hasFocus();
1624 mWeekLabels[mNumWeeks]->setFocus(); 1627 mWeekLabels[mNumWeeks]->setFocus();
1625 } 1628 }
1626 if ( shootAgain ) { 1629 if ( shootAgain ) {
1627 QTimer::singleShot( 0, this, SLOT ( setKeyBFocus() ) ); 1630 QTimer::singleShot( 0, this, SLOT ( setKeyBFocus() ) );
1628 } 1631 }
1629} 1632}
1630void KOMonthView::setKeyBFocus() 1633void KOMonthView::setKeyBFocus()
1631{ 1634{
1632 //qDebug("KOMonthView::setKeyBFocus() "); 1635 //qDebug("KOMonthView::setKeyBFocus() ");
1633 QTimer::singleShot( 0, this, SLOT ( setKeyBoardFocus() ) ); 1636 QTimer::singleShot( 0, this, SLOT ( setKeyBoardFocus() ) );
1634} 1637}
1635void KOMonthView::resizeEvent(QResizeEvent * e) 1638void KOMonthView::resizeEvent(QResizeEvent * e)
1636{ 1639{
1637 //qDebug("KOMonthView::resizeEvent %d %d -- %d %d ", e->size().width(), e->size().height(), e->oldSize().width(), e->oldSize().height()); 1640 //qDebug("KOMonthView::resizeEvent %d %d -- %d %d ", e->size().width(), e->size().height(), e->oldSize().width(), e->oldSize().height());
1638 if ( isVisible() ) { 1641 if ( isVisible() ) {
1639 //qDebug("KOMonthView::isVisible "); 1642 //qDebug("KOMonthView::isVisible ");
1640 slotComputeLayout(); 1643 slotComputeLayout();
1641 } else 1644 } else
1642 mComputeLayoutTimer->start( 100 ); 1645 mComputeLayoutTimer->start( 100 );
1643} 1646}
1644 1647
1645void KOMonthView::slotComputeLayout() 1648void KOMonthView::slotComputeLayout()
1646{ 1649{
1647 mComputeLayoutTimer->stop(); 1650 mComputeLayoutTimer->stop();
1648 //qDebug("KOMonthView::Post - resizeEvent %d %d ", width(), height() ); 1651 //qDebug("KOMonthView::Post - resizeEvent %d %d ", width(), height() );
1649 computeLayout(); 1652 computeLayout();
1650 clPending = true; 1653 clPending = true;
1651 setKeyBFocus(); 1654 setKeyBFocus();
1652} 1655}
1653void KOMonthView::computeLayoutWeek() 1656void KOMonthView::computeLayoutWeek()
1654{ 1657{
1655 static int lastWid = 0; 1658 static int lastWid = 0;
1656 static int lastHei = 0; 1659 static int lastHei = 0;
1657 int daysToShow; 1660 int daysToShow;
1658 bool combinedSatSun = false; 1661 bool combinedSatSun = false;
1659 if (mShowSatSunComp = KOPrefs::instance()->mMonthViewSatSunTog ) { 1662 if (mShowSatSunComp = KOPrefs::instance()->mMonthViewSatSunTog ) {
1660 daysToShow = 6; 1663 daysToShow = 6;
1661 combinedSatSun = true; 1664 combinedSatSun = true;
1662 } 1665 }
1663 int tWid = topLevelWidget()->size().width(); 1666 int tWid = topLevelWidget()->size().width();
1664 int tHei = topLevelWidget()->size().height(); 1667 int tHei = topLevelWidget()->size().height();
1665 1668
1666 int wid = width();//e 1669 int wid = width();//e
1667 int hei = height()-1-mNavigatorBar->height(); 1670 int hei = height()-1-mNavigatorBar->height();
1668 1671
1669 if ( ((wid *3)/2) < tWid && (( hei *3) /2) < tHei ) 1672 if ( ((wid *3)/2) < tWid && (( hei *3) /2) < tHei )
1670 return; 1673 return;
1671 1674
1672 if ( lastWid == width() && lastHei == height() ) { 1675 if ( lastWid == width() && lastHei == height() ) {
1673 //qDebug("KOListWeekView::No compute layout needed "); 1676 //qDebug("KOListWeekView::No compute layout needed ");
1674 return; 1677 return;
1675 } 1678 }
1676 lastWid = width(); 1679 lastWid = width();
1677 lastHei = height(); 1680 lastHei = height();
1678 1681
1679 1682
1680 if ( wid < hei ) 1683 if ( wid < hei )
1681 daysToShow = 2; 1684 daysToShow = 2;
1682 else 1685 else
1683 daysToShow = 3; 1686 daysToShow = 3;
1684 mShowSatSunComp = true; 1687 mShowSatSunComp = true;
1685 combinedSatSun = true; 1688 combinedSatSun = true;
1686 1689
1687 //qDebug("KOMonthView::computeLayout() WWW ------------------------------------ "); 1690 //qDebug("KOMonthView::computeLayout() WWW ------------------------------------ ");
diff --git a/korganizer/koprefsdialog.cpp b/korganizer/koprefsdialog.cpp
index cb9c272..d9d7924 100644
--- a/korganizer/koprefsdialog.cpp
+++ b/korganizer/koprefsdialog.cpp
@@ -731,353 +731,356 @@ void KOPrefsDialog::setupViewsTab()
731 QLabel *lab; 731 QLabel *lab;
732 QHBox *habo = new QHBox( topFrame ); 732 QHBox *habo = new QHBox( topFrame );
733 if ( QApplication::desktop()->width() <= 480 ) { 733 if ( QApplication::desktop()->width() <= 480 ) {
734 lab = new QLabel ( i18n("Show events that recur "), topFrame ); 734 lab = new QLabel ( i18n("Show events that recur "), topFrame );
735 topLayout->addMultiCellWidget(lab,ii, ii,0,1); 735 topLayout->addMultiCellWidget(lab,ii, ii,0,1);
736 ii++; 736 ii++;
737 } else { 737 } else {
738 new QLabel ( i18n("Show events that recur "), habo ); 738 new QLabel ( i18n("Show events that recur "), habo );
739 } 739 }
740 dailyRecur = 740 dailyRecur =
741 addWidBool(i18n("daily"), 741 addWidBool(i18n("daily"),
742 &(KOPrefs::instance()->mMonthDailyRecur),habo); 742 &(KOPrefs::instance()->mMonthDailyRecur),habo);
743 // topLayout->addWidget(dailyRecur->checkBox(),ii++,0); 743 // topLayout->addWidget(dailyRecur->checkBox(),ii++,0);
744 744
745 weeklyRecur = 745 weeklyRecur =
746 addWidBool(i18n("weekly"), 746 addWidBool(i18n("weekly"),
747 &(KOPrefs::instance()->mMonthWeeklyRecur),habo); 747 &(KOPrefs::instance()->mMonthWeeklyRecur),habo);
748 topLayout->addMultiCellWidget(habo,ii, ii,0,1); 748 topLayout->addMultiCellWidget(habo,ii, ii,0,1);
749 ii++; 749 ii++;
750 750
751 751
752 habo = new QHBox( topFrame ); 752 habo = new QHBox( topFrame );
753 if ( QApplication::desktop()->width() <= 480 ) { 753 if ( QApplication::desktop()->width() <= 480 ) {
754 lab = new QLabel (i18n("Show in every cell ") , topFrame ); 754 lab = new QLabel (i18n("Show in every cell ") , topFrame );
755 topLayout->addMultiCellWidget(lab,ii, ii,0,1); 755 topLayout->addMultiCellWidget(lab,ii, ii,0,1);
756 ii++; 756 ii++;
757 757
758 } else { 758 } else {
759 new QLabel ( i18n("Show in every cell "), habo ); 759 new QLabel ( i18n("Show in every cell "), habo );
760 } 760 }
761 weeklyRecur = 761 weeklyRecur =
762 addWidBool(i18n("short month"), 762 addWidBool(i18n("short month"),
763 &(KOPrefs::instance()->mMonthShowShort),habo); 763 &(KOPrefs::instance()->mMonthShowShort),habo);
764 weeklyRecur = 764 weeklyRecur =
765 addWidBool(i18n("icons"), 765 addWidBool(i18n("icons"),
766 &(KOPrefs::instance()->mMonthShowIcons),habo); 766 &(KOPrefs::instance()->mMonthShowIcons),habo);
767 weeklyRecur = 767 weeklyRecur =
768 addWidBool(i18n("times"), 768 addWidBool(i18n("times"),
769 &(KOPrefs::instance()->mMonthShowTimes),habo); 769 &(KOPrefs::instance()->mMonthShowTimes),habo);
770 topLayout->addMultiCellWidget(habo,ii, ii,0,1); 770 topLayout->addMultiCellWidget(habo,ii, ii,0,1);
771 ii++; 771 ii++;
772#ifdef DESKTOP_VERSION 772#ifdef DESKTOP_VERSION
773 KPrefsDialogWidBool *enableMonthScroll = 773 KPrefsDialogWidBool *enableMonthScroll =
774 addWidBool(i18n("Enable scrollbars in month view cells"), 774 addWidBool(i18n("Enable scrollbars in month view cells"),
775 &(KOPrefs::instance()->mEnableMonthScroll),topFrame); 775 &(KOPrefs::instance()->mEnableMonthScroll),topFrame);
776 topLayout->addWidget(enableMonthScroll->checkBox(),ii++,0); 776 topLayout->addWidget(enableMonthScroll->checkBox(),ii++,0);
777#endif 777#endif
778 dummy = 778 dummy =
779 addWidBool(i18n("Week view mode uses bigger font"), 779 addWidBool(i18n("Week view mode uses bigger font"),
780 &(KOPrefs::instance()->mMonthViewUsesBigFont),topFrame); 780 &(KOPrefs::instance()->mMonthViewUsesBigFont),topFrame);
781 topLayout->addWidget(dummy->checkBox(),ii++,0); 781 topLayout->addWidget(dummy->checkBox(),ii++,0);
782 dummy = 782 dummy =
783 addWidBool(i18n("Show Sat/Sun together"), 783 addWidBool(i18n("Show Sat/Sun together"),
784 &(KOPrefs::instance()->mMonthViewSatSunTog),topFrame); 784 &(KOPrefs::instance()->mMonthViewSatSunTog),topFrame);
785 topLayout->addWidget(dummy->checkBox(),ii++,0); 785 topLayout->addWidget(dummy->checkBox(),ii++,0);
786 786
787 KPrefsDialogWidBool *coloredCategoriesInMonthView = 787 KPrefsDialogWidBool *coloredCategoriesInMonthView =
788 addWidBool(i18n("Month view uses category colors"), 788 addWidBool(i18n("Month view uses category colors"),
789 &(KOPrefs::instance()->mMonthViewUsesCategoryColor),topFrame); 789 &(KOPrefs::instance()->mMonthViewUsesCategoryColor),topFrame);
790 topLayout->addWidget(coloredCategoriesInMonthView->checkBox(),ii++,0); 790 topLayout->addWidget(coloredCategoriesInMonthView->checkBox(),ii++,0);
791 791
792 dummy = 792 dummy =
793 addWidBool(i18n("Categorie colors are applied to text"), 793 addWidBool(i18n("Categorie colors are applied to text"),
794 &(KOPrefs::instance()->mMonthViewUsesForegroundColor),topFrame); 794 &(KOPrefs::instance()->mMonthViewUsesForegroundColor),topFrame);
795 topLayout->addWidget(dummy->checkBox(),ii++,0); 795 topLayout->addWidget(dummy->checkBox(),ii++,0);
796 coloredCategoriesInMonthView = 796 coloredCategoriesInMonthView =
797 addWidBool(i18n("Month view uses day colors"), 797 addWidBool(i18n("Month view uses day colors"),
798 &(KOPrefs::instance()->mMonthViewUsesDayColors),topFrame); 798 &(KOPrefs::instance()->mMonthViewUsesDayColors),topFrame);
799 topLayout->addWidget(coloredCategoriesInMonthView->checkBox(),ii++,0); 799 topLayout->addWidget(coloredCategoriesInMonthView->checkBox(),ii++,0);
800 800
801 KPrefsDialogWidColor *holidayColor = 801 KPrefsDialogWidColor *holidayColor =
802 addWidColor(i18n("Day color odd months"), 802 addWidColor(i18n("Day color odd months"),
803 &(KOPrefs::instance()->mMonthViewOddColor),topFrame); 803 &(KOPrefs::instance()->mMonthViewOddColor),topFrame);
804 topLayout->addWidget(holidayColor->label(),ii,0); 804 topLayout->addWidget(holidayColor->label(),ii,0);
805 topLayout->addWidget(holidayColor->button(),ii++,1); 805 topLayout->addWidget(holidayColor->button(),ii++,1);
806 806
807 holidayColor = 807 holidayColor =
808 addWidColor(i18n("Day color even months"), 808 addWidColor(i18n("Day color even months"),
809 &(KOPrefs::instance()->mMonthViewEvenColor),topFrame); 809 &(KOPrefs::instance()->mMonthViewEvenColor),topFrame);
810 topLayout->addWidget(holidayColor->label(),ii,0); 810 topLayout->addWidget(holidayColor->label(),ii,0);
811 topLayout->addWidget(holidayColor->button(),ii++,1); 811 topLayout->addWidget(holidayColor->button(),ii++,1);
812 812
813 813
814 holidayColor = 814 holidayColor =
815 addWidColor(i18n("Color for Sundays + category \"Holiday\""), 815 addWidColor(i18n("Color for Sundays + category \"Holiday\""),
816 &(KOPrefs::instance()->mMonthViewHolidayColor),topFrame); 816 &(KOPrefs::instance()->mMonthViewHolidayColor),topFrame);
817 topLayout->addWidget(holidayColor->label(),ii,0); 817 topLayout->addWidget(holidayColor->label(),ii,0);
818 topLayout->addWidget(holidayColor->button(),ii++,1); 818 topLayout->addWidget(holidayColor->button(),ii++,1);
819 // *********************** What'sNext View 819 // *********************** What'sNext View
820 topFrame = addPage(i18n("What's Next View"),0,0); 820 topFrame = addPage(i18n("What's Next View"),0,0);
821 // DesktopIcon("viewmag",KIcon::SizeMedium)); 821 // DesktopIcon("viewmag",KIcon::SizeMedium));
822 822
823 topLayout = new QGridLayout(topFrame,4,1); 823 topLayout = new QGridLayout(topFrame,4,1);
824 topLayout->setSpacing(mSpacingHint); 824 topLayout->setSpacing(mSpacingHint);
825 topLayout->setMargin(mMarginHint); 825 topLayout->setMargin(mMarginHint);
826 ii = 0; 826 ii = 0;
827 827
828 828
829 QHBox* hdummy = new QHBox(topFrame); 829 QHBox* hdummy = new QHBox(topFrame);
830 new QLabel(i18n("Days in What's Next:"),hdummy); 830 new QLabel(i18n("Days in What's Next:"),hdummy);
831 mWhatsNextSpin = new QSpinBox(1,14,1,hdummy); 831 mWhatsNextSpin = new QSpinBox(1,14,1,hdummy);
832 832
833 topLayout->addWidget(hdummy,ii++,0); 833 topLayout->addWidget(hdummy,ii++,0);
834 834
835 QHBox *prioBox = new QHBox(topFrame); 835 QHBox *prioBox = new QHBox(topFrame);
836 // intervalBox->setSpacing(mSpacingHint); 836 // intervalBox->setSpacing(mSpacingHint);
837 topLayout->addWidget(prioBox,ii++,0); 837 topLayout->addWidget(prioBox,ii++,0);
838 838
839 QLabel *prioLabel = new QLabel(i18n("Number of max.displayed todo prios:"), prioBox); 839 QLabel *prioLabel = new QLabel(i18n("Number of max.displayed todo prios:"), prioBox);
840 mPrioSpin = new QSpinBox(0,5,1,prioBox); 840 mPrioSpin = new QSpinBox(0,5,1,prioBox);
841 if ( QApplication::desktop()->width() < 300 ) 841 if ( QApplication::desktop()->width() < 300 )
842 mPrioSpin->setFixedWidth( 40 ); 842 mPrioSpin->setFixedWidth( 40 );
843 843
844 KPrefsDialogWidBool *passwdk = 844 KPrefsDialogWidBool *passwdk =
845 845
846 addWidBool(i18n("Show events, that are done"), 846 addWidBool(i18n("Show events, that are done"),
847 &(KOPrefs::instance()->mWNViewShowsPast),topFrame); 847 &(KOPrefs::instance()->mWNViewShowsPast),topFrame);
848 topLayout->addWidget(passwdk->checkBox(), ii++,0); 848 topLayout->addWidget(passwdk->checkBox(), ii++,0);
849 passwdk = 849 passwdk =
850 addWidBool(i18n("Show parent To-Do's"), 850 addWidBool(i18n("Show parent To-Do's"),
851 &(KOPrefs::instance()->mWNViewShowsParents),topFrame); 851 &(KOPrefs::instance()->mWNViewShowsParents),topFrame);
852 topLayout->addWidget(passwdk->checkBox(), ii++,0); 852 topLayout->addWidget(passwdk->checkBox(), ii++,0);
853 853
854 passwdk = 854 passwdk =
855 addWidBool(i18n("Show location"), 855 addWidBool(i18n("Show location"),
856 &(KOPrefs::instance()->mWNViewShowLocation),topFrame); 856 &(KOPrefs::instance()->mWNViewShowLocation),topFrame);
857 topLayout->addWidget(passwdk->checkBox(), ii++,0); 857 topLayout->addWidget(passwdk->checkBox(), ii++,0);
858 858
859 passwdk = 859
860 addWidBool(i18n("Show Sync Events in WN+Agenda"),
861 &(KOPrefs::instance()->mShowSyncEvents),topFrame);
862 topLayout->addWidget(passwdk->checkBox(), ii++,0);
863 passwdk = 860 passwdk =
864 addWidBool(i18n("Use short date in WN+Event view"), 861 addWidBool(i18n("Use short date in WN+Event view"),
865 &(KOPrefs::instance()->mShortDateInViewer),topFrame); 862 &(KOPrefs::instance()->mShortDateInViewer),topFrame);
866 topLayout->addWidget(passwdk->checkBox(), ii++,0); 863 topLayout->addWidget(passwdk->checkBox(), ii++,0);
867 864
868 865
869 866
870 867
871 // *********************** Todo View 868 // *********************** Todo View
872 869
873 topFrame = addPage(i18n("Todo View"),0,0); 870 topFrame = addPage(i18n("Todo View"),0,0);
874 // DesktopIcon("viewmag",KIcon::SizeMedium)); 871 // DesktopIcon("viewmag",KIcon::SizeMedium));
875 872
876 topLayout = new QGridLayout(topFrame,4,1); 873 topLayout = new QGridLayout(topFrame,4,1);
877 topLayout->setSpacing(mSpacingHint); 874 topLayout->setSpacing(mSpacingHint);
878 topLayout->setMargin(mMarginHint); 875 topLayout->setMargin(mMarginHint);
879 ii = 0; 876 ii = 0;
880dummy = 877dummy =
881 addWidBool(i18n("Hide not running Todos in To-do view"), 878 addWidBool(i18n("Hide not running Todos in To-do view"),
882 &(KOPrefs::instance()->mHideNonStartedTodos),topFrame); 879 &(KOPrefs::instance()->mHideNonStartedTodos),topFrame);
883 topLayout->addWidget(dummy->checkBox(),ii++,0); 880 topLayout->addWidget(dummy->checkBox(),ii++,0);
884 881
885 882
886 KPrefsDialogWidBool *showCompletedTodo = 883 KPrefsDialogWidBool *showCompletedTodo =
887 addWidBool(i18n("To-do view shows completed Todos"), 884 addWidBool(i18n("To-do view shows completed Todos"),
888 &(KOPrefs::instance()->mShowCompletedTodo),topFrame); 885 &(KOPrefs::instance()->mShowCompletedTodo),topFrame);
889 topLayout->addWidget(showCompletedTodo->checkBox(),ii++,0); 886 topLayout->addWidget(showCompletedTodo->checkBox(),ii++,0);
890 dummy = 887 dummy =
891 addWidBool(i18n("To-do view shows complete as 'xx %'"), 888 addWidBool(i18n("To-do view shows complete as 'xx %'"),
892 &(KOPrefs::instance()->mTodoViewShowsPercentage),topFrame); 889 &(KOPrefs::instance()->mTodoViewShowsPercentage),topFrame);
893 topLayout->addWidget(dummy->checkBox(),ii++,0); 890 topLayout->addWidget(dummy->checkBox(),ii++,0);
894 891
895 dummy = 892 dummy =
896 addWidBool(i18n("Small To-do view uses smaller font"), 893 addWidBool(i18n("Small To-do view uses smaller font"),
897 &(KOPrefs::instance()->mTodoViewUsesSmallFont),topFrame); 894 &(KOPrefs::instance()->mTodoViewUsesSmallFont),topFrame);
898 topLayout->addWidget(dummy->checkBox(),ii++,0); 895 topLayout->addWidget(dummy->checkBox(),ii++,0);
899 896
900 897
901 898
902 dummy = 899 dummy =
903 addWidBool(i18n("Todo view uses category colors"), 900 addWidBool(i18n("Todo view uses category colors"),
904 &(KOPrefs::instance()->mTodoViewUsesCatColors),topFrame); 901 &(KOPrefs::instance()->mTodoViewUsesCatColors),topFrame);
905 topLayout->addWidget(dummy->checkBox(),ii++,0); 902 topLayout->addWidget(dummy->checkBox(),ii++,0);
906 903
907 904
908 QWidget* wid = new QWidget( topFrame ); 905 QWidget* wid = new QWidget( topFrame );
909 // Todo run today color 906 // Todo run today color
910 KPrefsDialogWidColor *todoRunColor = 907 KPrefsDialogWidColor *todoRunColor =
911 addWidColor(i18n("Color for running todos:"), 908 addWidColor(i18n("Color for running todos:"),
912 &(KOPrefs::instance()->mTodoRunColor),wid); 909 &(KOPrefs::instance()->mTodoRunColor),wid);
913 QHBoxLayout *widLayout = new QHBoxLayout(wid); 910 QHBoxLayout *widLayout = new QHBoxLayout(wid);
914 widLayout->addWidget( todoRunColor->label() ); 911 widLayout->addWidget( todoRunColor->label() );
915 widLayout->addWidget( todoRunColor->button() ); 912 widLayout->addWidget( todoRunColor->button() );
916 topLayout->addWidget(wid,ii++,0); 913 topLayout->addWidget(wid,ii++,0);
917 914
918 wid = new QWidget( topFrame ); 915 wid = new QWidget( topFrame );
919 // Todo due today color 916 // Todo due today color
920 KPrefsDialogWidColor *todoDueTodayColor = 917 KPrefsDialogWidColor *todoDueTodayColor =
921 addWidColor(i18n("Todo due today color:"), 918 addWidColor(i18n("Todo due today color:"),
922 &(KOPrefs::instance()->mTodoDueTodayColor),wid); 919 &(KOPrefs::instance()->mTodoDueTodayColor),wid);
923 widLayout = new QHBoxLayout(wid); 920 widLayout = new QHBoxLayout(wid);
924 widLayout->addWidget( todoDueTodayColor->label() ); 921 widLayout->addWidget( todoDueTodayColor->label() );
925 widLayout->addWidget( todoDueTodayColor->button() ); 922 widLayout->addWidget( todoDueTodayColor->button() );
926 topLayout->addWidget(wid,ii++,0); 923 topLayout->addWidget(wid,ii++,0);
927 //topLayout->addWidget(todoDueTodayColor->button(),ii++,1); 924 //topLayout->addWidget(todoDueTodayColor->button(),ii++,1);
928 925
929 // Todo overdue color 926 // Todo overdue color
930 wid = new QWidget( topFrame ); 927 wid = new QWidget( topFrame );
931 widLayout = new QHBoxLayout(wid); 928 widLayout = new QHBoxLayout(wid);
932 KPrefsDialogWidColor *todoOverdueColor = 929 KPrefsDialogWidColor *todoOverdueColor =
933 addWidColor(i18n("Todo overdue color:"), 930 addWidColor(i18n("Todo overdue color:"),
934 &(KOPrefs::instance()->mTodoOverdueColor),wid); 931 &(KOPrefs::instance()->mTodoOverdueColor),wid);
935 widLayout->addWidget(todoOverdueColor->label()); 932 widLayout->addWidget(todoOverdueColor->label());
936 widLayout->addWidget(todoOverdueColor->button()); 933 widLayout->addWidget(todoOverdueColor->button());
937 topLayout->addWidget(wid,ii++,0); 934 topLayout->addWidget(wid,ii++,0);
938 935
939 dummy = 936 dummy =
940 addWidBool(i18n("Colors are applied to text"), 937 addWidBool(i18n("Colors are applied to text"),
941 &(KOPrefs::instance()->mTodoViewUsesForegroundColor),topFrame); 938 &(KOPrefs::instance()->mTodoViewUsesForegroundColor),topFrame);
942 topLayout->addWidget(dummy->checkBox(),ii++,0); 939 topLayout->addWidget(dummy->checkBox(),ii++,0);
943 940
944 dummy = 941 dummy =
945 addWidBool(i18n("Allday Agenda view shows todos"), 942 addWidBool(i18n("Allday Agenda view shows todos"),
946 &(KOPrefs::instance()->mShowTodoInAgenda),topFrame); 943 &(KOPrefs::instance()->mShowTodoInAgenda),topFrame);
947 topLayout->addWidget(dummy->checkBox(),ii++,0); 944 topLayout->addWidget(dummy->checkBox(),ii++,0);
948 945
949 946
950 topFrame = addPage(i18n("View Options"),0,0); 947 topFrame = addPage(i18n("View Options"),0,0);
951 948
952 topLayout = new QGridLayout(topFrame,4,1); 949 topLayout = new QGridLayout(topFrame,4,1);
953 topLayout->setSpacing(mSpacingHint); 950 topLayout->setSpacing(mSpacingHint);
954 topLayout->setMargin(mMarginHint); 951 topLayout->setMargin(mMarginHint);
955 ii = 0; 952 ii = 0;
953
954 dummy =
955 addWidBool(i18n("Show Sync Events"),
956 &(KOPrefs::instance()->mShowSyncEvents),topFrame);
957 topLayout->addWidget(dummy->checkBox(), ii++,0);
958
956 lab = new QLabel( i18n("Show in todo/event viewer:"), topFrame); 959 lab = new QLabel( i18n("Show in todo/event viewer:"), topFrame);
957 topLayout->addWidget(lab ,ii++,0); 960 topLayout->addWidget(lab ,ii++,0);
958 961
959 dummy = addWidBool(i18n("Details"), 962 dummy = addWidBool(i18n("Details"),
960 &(KOPrefs::instance()->mEVshowDetails),topFrame); 963 &(KOPrefs::instance()->mEVshowDetails),topFrame);
961 topLayout->addWidget(dummy->checkBox(),ii++,0); 964 topLayout->addWidget(dummy->checkBox(),ii++,0);
962 dummy = addWidBool(i18n("Created time"), 965 dummy = addWidBool(i18n("Created time"),
963 &(KOPrefs::instance()->mEVshowCreated),topFrame); 966 &(KOPrefs::instance()->mEVshowCreated),topFrame);
964 topLayout->addWidget(dummy->checkBox(),ii++,0); 967 topLayout->addWidget(dummy->checkBox(),ii++,0);
965 dummy = addWidBool(i18n("Last modified time"), 968 dummy = addWidBool(i18n("Last modified time"),
966 &(KOPrefs::instance()->mEVshowChanged),topFrame); 969 &(KOPrefs::instance()->mEVshowChanged),topFrame);
967 topLayout->addWidget(dummy->checkBox(),ii++,0); 970 topLayout->addWidget(dummy->checkBox(),ii++,0);
968 971
969 972
970 lab = new QLabel( i18n("Show in What'sThis quick overview:"), topFrame); 973 lab = new QLabel( i18n("Show in What'sThis quick overview:"), topFrame);
971 topLayout->addWidget(lab ,ii++,0); 974 topLayout->addWidget(lab ,ii++,0);
972 975
973 dummy = addWidBool(i18n("Details"), 976 dummy = addWidBool(i18n("Details"),
974 &(KOPrefs::instance()->mWTshowDetails),topFrame); 977 &(KOPrefs::instance()->mWTshowDetails),topFrame);
975 topLayout->addWidget(dummy->checkBox(),ii++,0); 978 topLayout->addWidget(dummy->checkBox(),ii++,0);
976 dummy = addWidBool(i18n("Created time"), 979 dummy = addWidBool(i18n("Created time"),
977 &(KOPrefs::instance()->mWTshowCreated),topFrame); 980 &(KOPrefs::instance()->mWTshowCreated),topFrame);
978 topLayout->addWidget(dummy->checkBox(),ii++,0); 981 topLayout->addWidget(dummy->checkBox(),ii++,0);
979 dummy = addWidBool(i18n("Last modified time"), 982 dummy = addWidBool(i18n("Last modified time"),
980 &(KOPrefs::instance()->mWTshowChanged),topFrame); 983 &(KOPrefs::instance()->mWTshowChanged),topFrame);
981 topLayout->addWidget(dummy->checkBox(),ii++,0); 984 topLayout->addWidget(dummy->checkBox(),ii++,0);
982 985
983 986
984 topFrame = addPage(i18n("Alarm"),0,0); 987 topFrame = addPage(i18n("Alarm"),0,0);
985 // DesktopIcon("viewmag",KIcon::SizeMedium)); 988 // DesktopIcon("viewmag",KIcon::SizeMedium));
986 989
987 topLayout = new QGridLayout(topFrame,2,1); 990 topLayout = new QGridLayout(topFrame,2,1);
988 topLayout->setSpacing(mSpacingHint); 991 topLayout->setSpacing(mSpacingHint);
989 topLayout->setMargin(mMarginHint); 992 topLayout->setMargin(mMarginHint);
990 int iii = 0; 993 int iii = 0;
991 994
992 dummy = 995 dummy =
993 addWidBool(i18n("Use internal alarm notification"), 996 addWidBool(i18n("Use internal alarm notification"),
994 &(KOPrefs::instance()->mUseInternalAlarmNotification),topFrame); 997 &(KOPrefs::instance()->mUseInternalAlarmNotification),topFrame);
995 topLayout->addWidget(dummy->checkBox(),iii++,0); 998 topLayout->addWidget(dummy->checkBox(),iii++,0);
996 lab = new QLabel( i18n("Note: KO/Pi must be running to notify you about an alarm. Recommended for use on Zaurus: Disable this option and install KO/Pi alarm applet.\n"), topFrame); 999 lab = new QLabel( i18n("Note: KO/Pi must be running to notify you about an alarm. Recommended for use on Zaurus: Disable this option and install KO/Pi alarm applet.\n"), topFrame);
997 1000
998 topLayout->addWidget(lab ,iii++,0); 1001 topLayout->addWidget(lab ,iii++,0);
999#ifndef DESKTOP_VERSION 1002#ifndef DESKTOP_VERSION
1000 lab->setAlignment( AlignLeft|WordBreak|AlignTop); 1003 lab->setAlignment( AlignLeft|WordBreak|AlignTop);
1001#else 1004#else
1002 lab->setAlignment( AlignLeft|BreakAnywhere|WordBreak|AlignTop); 1005 lab->setAlignment( AlignLeft|BreakAnywhere|WordBreak|AlignTop);
1003 lab->setSizePolicy( QSizePolicy( QSizePolicy::Ignored , QSizePolicy::Ignored,true) ); 1006 lab->setSizePolicy( QSizePolicy( QSizePolicy::Ignored , QSizePolicy::Ignored,true) );
1004#endif 1007#endif
1005 1008
1006 QHBox* dummyBox = new QHBox(topFrame); 1009 QHBox* dummyBox = new QHBox(topFrame);
1007 new QLabel(i18n("Play beeps count:"),dummyBox); 1010 new QLabel(i18n("Play beeps count:"),dummyBox);
1008 mAlarmPlayBeeps = new QSpinBox(0,500,1,dummyBox); 1011 mAlarmPlayBeeps = new QSpinBox(0,500,1,dummyBox);
1009 topLayout->addWidget(dummyBox,iii++,0); 1012 topLayout->addWidget(dummyBox,iii++,0);
1010 1013
1011 dummyBox = new QHBox(topFrame); 1014 dummyBox = new QHBox(topFrame);
1012 new QLabel(i18n("Beeps interval in sec:"),dummyBox); 1015 new QLabel(i18n("Beeps interval in sec:"),dummyBox);
1013 mAlarmBeepInterval = new QSpinBox(1,600,1,dummyBox); 1016 mAlarmBeepInterval = new QSpinBox(1,600,1,dummyBox);
1014 topLayout->addWidget(dummyBox,iii++,0); 1017 topLayout->addWidget(dummyBox,iii++,0);
1015 1018
1016 dummyBox = new QHBox(topFrame); 1019 dummyBox = new QHBox(topFrame);
1017 new QLabel(i18n("Default suspend time in min:"),dummyBox); 1020 new QLabel(i18n("Default suspend time in min:"),dummyBox);
1018 mAlarmSuspendTime = new QSpinBox(1,600,1,dummyBox); 1021 mAlarmSuspendTime = new QSpinBox(1,600,1,dummyBox);
1019 topLayout->addWidget(dummyBox,iii++,0); 1022 topLayout->addWidget(dummyBox,iii++,0);
1020 1023
1021 dummyBox = new QHBox(topFrame); 1024 dummyBox = new QHBox(topFrame);
1022 new QLabel(i18n("Auto suspend count:"),dummyBox); 1025 new QLabel(i18n("Auto suspend count:"),dummyBox);
1023 mAlarmSuspendCount = new QSpinBox(0,60,1,dummyBox); 1026 mAlarmSuspendCount = new QSpinBox(0,60,1,dummyBox);
1024 topLayout->addWidget(dummyBox,iii++,0); 1027 topLayout->addWidget(dummyBox,iii++,0);
1025 1028
1026 1029
1027 1030
1028 1031
1029 1032
1030 1033
1031 1034
1032 QHBox* hbo = new QHBox ( topFrame ); 1035 QHBox* hbo = new QHBox ( topFrame );
1033 mDefaultAlarmFile = new QLineEdit(hbo); 1036 mDefaultAlarmFile = new QLineEdit(hbo);
1034 QPushButton * loadTemplate = new QPushButton(hbo); 1037 QPushButton * loadTemplate = new QPushButton(hbo);
1035 QPixmap icon; 1038 QPixmap icon;
1036 if ( QApplication::desktop()->width() < 321 ) 1039 if ( QApplication::desktop()->width() < 321 )
1037 icon = SmallIcon("fileimport16"); 1040 icon = SmallIcon("fileimport16");
1038 else 1041 else
1039 icon = SmallIcon("fileimport"); 1042 icon = SmallIcon("fileimport");
1040 loadTemplate->setIconSet (icon ) ; 1043 loadTemplate->setIconSet (icon ) ;
1041 connect( loadTemplate, SIGNAL( clicked() ), this , SLOT( selectSoundFile() ) ); 1044 connect( loadTemplate, SIGNAL( clicked() ), this , SLOT( selectSoundFile() ) );
1042 int size = loadTemplate->sizeHint().height(); 1045 int size = loadTemplate->sizeHint().height();
1043 loadTemplate->setFixedSize( size, size ); 1046 loadTemplate->setFixedSize( size, size );
1044 //lab = new QLabel( i18n("This setting is useless for 5500 user!"), topFrame); 1047 //lab = new QLabel( i18n("This setting is useless for 5500 user!"), topFrame);
1045 // topLayout->addWidget(lab ,iii++,0); 1048 // topLayout->addWidget(lab ,iii++,0);
1046 lab = new QLabel( i18n("Alarm *.wav file for newly created alarm:"), topFrame); 1049 lab = new QLabel( i18n("Alarm *.wav file for newly created alarm:"), topFrame);
1047 topLayout->addWidget(lab ,iii++,0); 1050 topLayout->addWidget(lab ,iii++,0);
1048 topLayout->addWidget(hbo,iii++,0); 1051 topLayout->addWidget(hbo,iii++,0);
1049 // lab = new QLabel( i18n("Note: This does not mean, that for every alarm this file is replayed. This file here is associated with a newly created alarm."), topFrame); 1052 // lab = new QLabel( i18n("Note: This does not mean, that for every alarm this file is replayed. This file here is associated with a newly created alarm."), topFrame);
1050 1053
1051// topLayout->addWidget(lab ,iii++,0); 1054// topLayout->addWidget(lab ,iii++,0);
1052// #ifndef DESKTOP_VERSION 1055// #ifndef DESKTOP_VERSION
1053// lab->setAlignment( AlignLeft|WordBreak|AlignTop); 1056// lab->setAlignment( AlignLeft|WordBreak|AlignTop);
1054// #else 1057// #else
1055// lab->setAlignment( AlignLeft|BreakAnywhere|WordBreak|AlignTop); 1058// lab->setAlignment( AlignLeft|BreakAnywhere|WordBreak|AlignTop);
1056// lab->setSizePolicy( QSizePolicy( QSizePolicy::Ignored , QSizePolicy::Ignored,true) ); 1059// lab->setSizePolicy( QSizePolicy( QSizePolicy::Ignored , QSizePolicy::Ignored,true) );
1057// #endif 1060// #endif
1058 1061
1059 1062
1060} 1063}
1061 1064
1062void KOPrefsDialog::selectSoundFile() 1065void KOPrefsDialog::selectSoundFile()
1063{ 1066{
1064 QString fileName = mDefaultAlarmFile->text(); 1067 QString fileName = mDefaultAlarmFile->text();
1065 fileName = KFileDialog::getSaveFileName( mDefaultAlarmFile->text() , "Choose default alarm file", this ); 1068 fileName = KFileDialog::getSaveFileName( mDefaultAlarmFile->text() , "Choose default alarm file", this );
1066 if ( fileName.length() > 0 ) 1069 if ( fileName.length() > 0 )
1067 mDefaultAlarmFile->setText( fileName ); 1070 mDefaultAlarmFile->setText( fileName );
1068} 1071}
1069void KOPrefsDialog::setupFontsTab() 1072void KOPrefsDialog::setupFontsTab()
1070{ 1073{
1071 1074
1072 QFrame *topFrame = addPage(i18n("Fonts"),0,0); 1075 QFrame *topFrame = addPage(i18n("Fonts"),0,0);
1073 // DesktopIcon("fonts",KIcon::SizeMedium)); 1076 // DesktopIcon("fonts",KIcon::SizeMedium));
1074 1077
1075 QGridLayout *topLayout = new QGridLayout(topFrame,7,3); 1078 QGridLayout *topLayout = new QGridLayout(topFrame,7,3);
1076 topLayout->setSpacing(1); 1079 topLayout->setSpacing(1);
1077 topLayout->setMargin(3); 1080 topLayout->setMargin(3);
1078 KPrefsDialogWidFont * tVFont; 1081 KPrefsDialogWidFont * tVFont;
1079 int i = 0; 1082 int i = 0;
1080 KPrefsDialogWidFont *timeLabelsFont = 1083 KPrefsDialogWidFont *timeLabelsFont =
1081 addWidFont(i18n("23"),i18n("DateNavigator:(nr)"), 1084 addWidFont(i18n("23"),i18n("DateNavigator:(nr)"),
1082 &(KOPrefs::instance()->mDateNavigatorFont),topFrame); 1085 &(KOPrefs::instance()->mDateNavigatorFont),topFrame);
1083 topLayout->addWidget(timeLabelsFont->label(),i,0); 1086 topLayout->addWidget(timeLabelsFont->label(),i,0);
diff --git a/korganizer/koviewmanager.cpp b/korganizer/koviewmanager.cpp
index 3aa9b6c..2e5a943 100644
--- a/korganizer/koviewmanager.cpp
+++ b/korganizer/koviewmanager.cpp
@@ -192,635 +192,644 @@ void KOViewManager::writeSettings(KConfig *config)
192 mTimeSpanView->writeSettings(config); 192 mTimeSpanView->writeSettings(config);
193 } 193 }
194 if (mListView) { 194 if (mListView) {
195 mListView->writeSettings(config); 195 mListView->writeSettings(config);
196 } 196 }
197 if (mTodoView) { 197 if (mTodoView) {
198 mTodoView->saveLayout(config,"Todo View"); 198 mTodoView->saveLayout(config,"Todo View");
199 } 199 }
200} 200}
201void KOViewManager::showNextView() 201void KOViewManager::showNextView()
202{ 202{
203 static int selecteddatescount = 0; 203 static int selecteddatescount = 0;
204 static QDate selecteddate = QDate ( 2000, 1, 1 ); 204 static QDate selecteddate = QDate ( 2000, 1, 1 );
205 static QDate baseCycleDate = QDate ( 2000, 1, 1 ); 205 static QDate baseCycleDate = QDate ( 2000, 1, 1 );
206 int newCount = mMainView->dateNavigator()->selectedDates().count(); 206 int newCount = mMainView->dateNavigator()->selectedDates().count();
207 if ( selecteddatescount != newCount && flagResetViewChangeDate == 0 ) { 207 if ( selecteddatescount != newCount && flagResetViewChangeDate == 0 ) {
208 flagResetViewChangeDate = 1; 208 flagResetViewChangeDate = 1;
209 } 209 }
210 if ( selecteddate != mMainView->dateNavigator()->selectedDates().first() ) 210 if ( selecteddate != mMainView->dateNavigator()->selectedDates().first() )
211 flagResetViewChangeDate = 1; 211 flagResetViewChangeDate = 1;
212 if ( flagResetViewChangeDate > 0 ) { 212 if ( flagResetViewChangeDate > 0 ) {
213 baseCycleDate = mMainView->dateNavigator()->selectedDates().first(); 213 baseCycleDate = mMainView->dateNavigator()->selectedDates().first();
214 //qDebug("newCycle "); 214 //qDebug("newCycle ");
215 } 215 }
216 if (mCurrentView == mWhatsNextView) goto NEXT_X; 216 if (mCurrentView == mWhatsNextView) goto NEXT_X;
217 if (mCurrentView == mAgendaView && mFlagShowNextxDays) goto JOURNAL; 217 if (mCurrentView == mAgendaView && mFlagShowNextxDays) goto JOURNAL;
218 if (mCurrentView == mJournalView ) goto DAY_1; 218 if (mCurrentView == mJournalView ) goto DAY_1;
219 if (mCurrentView == mAgendaView && mCurrentAgendaView == 1 ) goto DAY_5; 219 if (mCurrentView == mAgendaView && mCurrentAgendaView == 1 ) goto DAY_5;
220 if (mCurrentView == mAgendaView && mCurrentAgendaView == 5 ) goto DAY_7; 220 if (mCurrentView == mAgendaView && mCurrentAgendaView == 5 ) goto DAY_7;
221 if (mCurrentView == mAgendaView ) goto DAY_6; 221 if (mCurrentView == mAgendaView ) goto DAY_6;
222 if (mCurrentView == mMonthView && KOPrefs::instance()->mMonthViewWeek) goto MONTH; 222 if (mCurrentView == mMonthView && KOPrefs::instance()->mMonthViewWeek) goto MONTH;
223 if (mCurrentView == mMonthView ) goto LIST; 223 if (mCurrentView == mMonthView ) goto LIST;
224 if (mCurrentView == mListView ) goto TODO; 224 if (mCurrentView == mListView ) goto TODO;
225 // if (mCurrentView == mTodoView ) goto NEXT; 225 // if (mCurrentView == mTodoView ) goto NEXT;
226 NEXT: 226 NEXT:
227 if ( KOPrefs::instance()->mShowIconNext ) { showWhatsNextView();goto ENTE ;} 227 if ( KOPrefs::instance()->mShowIconNext ) { showWhatsNextView();goto ENTE ;}
228 NEXT_X: 228 NEXT_X:
229 if ( KOPrefs::instance()->mShowIconNextDays ) { 229 if ( KOPrefs::instance()->mShowIconNextDays ) {
230 showNextXView(); 230 showNextXView();
231 goto ENTE ; 231 goto ENTE ;
232 } 232 }
233 JOURNAL: 233 JOURNAL:
234 if ( KOPrefs::instance()->mShowIconJournal ) { 234 if ( KOPrefs::instance()->mShowIconJournal ) {
235 resetDateSilent( baseCycleDate , 1 ); 235 resetDateSilent( baseCycleDate , 1 );
236 showJournalView() ;goto ENTE ;} 236 showJournalView() ;goto ENTE ;}
237 DAY_1: 237 DAY_1:
238 if ( KOPrefs::instance()->mShowIconDay1 ) { 238 if ( KOPrefs::instance()->mShowIconDay1 ) {
239 resetDateSilent( baseCycleDate , 2 ); 239 resetDateSilent( baseCycleDate , 2 );
240 showDayView() ;goto ENTE ;} 240 showDayView() ;goto ENTE ;}
241 DAY_5: 241 DAY_5:
242 if ( KOPrefs::instance()->mShowIconDay5 ) { 242 if ( KOPrefs::instance()->mShowIconDay5 ) {
243 resetDateSilent( baseCycleDate , 2 ); 243 resetDateSilent( baseCycleDate , 2 );
244 showWorkWeekView() ;goto ENTE ;} 244 showWorkWeekView() ;goto ENTE ;}
245 DAY_7: 245 DAY_7:
246 if ( KOPrefs::instance()->mShowIconDay7 ) { 246 if ( KOPrefs::instance()->mShowIconDay7 ) {
247 resetDateSilent( baseCycleDate , 2 ); 247 resetDateSilent( baseCycleDate , 2 );
248 showWeekView();goto ENTE ;} 248 showWeekView();goto ENTE ;}
249 DAY_6: 249 DAY_6:
250 if ( KOPrefs::instance()->mShowIconDay6 ) { 250 if ( KOPrefs::instance()->mShowIconDay6 ) {
251 resetDateSilent( baseCycleDate , 2 ); 251 resetDateSilent( baseCycleDate , 2 );
252 showMonthViewWeek();goto ENTE ;} 252 showMonthViewWeek();goto ENTE ;}
253 MONTH: 253 MONTH:
254 if ( KOPrefs::instance()->mShowIconMonth ) { 254 if ( KOPrefs::instance()->mShowIconMonth ) {
255 resetDateSilent( baseCycleDate , 2 ); 255 resetDateSilent( baseCycleDate , 2 );
256 showMonthView();goto ENTE ;} 256 showMonthView();goto ENTE ;}
257 LIST: 257 LIST:
258 if ( KOPrefs::instance()->mShowIconList ) { 258 if ( KOPrefs::instance()->mShowIconList ) {
259 resetDateSilent( baseCycleDate , 2 ); 259 resetDateSilent( baseCycleDate , 2 );
260 showListView() ;goto ENTE ;} 260 showListView() ;goto ENTE ;}
261 TODO: 261 TODO:
262 if ( KOPrefs::instance()->mShowIconTodoview ) { showTodoView() ;goto ENTE ;} 262 if ( KOPrefs::instance()->mShowIconTodoview ) { showTodoView() ;goto ENTE ;}
263 if ( KOPrefs::instance()->mShowIconNext ) { goto NEXT ;} 263 if ( KOPrefs::instance()->mShowIconNext ) { goto NEXT ;}
264 if ( KOPrefs::instance()->mShowIconNextDays ) { goto NEXT_X ;} 264 if ( KOPrefs::instance()->mShowIconNextDays ) { goto NEXT_X ;}
265 if ( KOPrefs::instance()->mShowIconJournal ) { goto JOURNAL;} 265 if ( KOPrefs::instance()->mShowIconJournal ) { goto JOURNAL;}
266 if ( KOPrefs::instance()->mShowIconDay1 ) { goto DAY_1 ;} 266 if ( KOPrefs::instance()->mShowIconDay1 ) { goto DAY_1 ;}
267 if ( KOPrefs::instance()->mShowIconDay5 ) { goto DAY_5 ;} 267 if ( KOPrefs::instance()->mShowIconDay5 ) { goto DAY_5 ;}
268 if ( KOPrefs::instance()->mShowIconDay7 ) { goto DAY_7 ;} 268 if ( KOPrefs::instance()->mShowIconDay7 ) { goto DAY_7 ;}
269 if ( KOPrefs::instance()->mShowIconDay6 ) { goto DAY_6 ;} 269 if ( KOPrefs::instance()->mShowIconDay6 ) { goto DAY_6 ;}
270 if ( KOPrefs::instance()->mShowIconMonth ) {goto MONTH ;} 270 if ( KOPrefs::instance()->mShowIconMonth ) {goto MONTH ;}
271 if ( KOPrefs::instance()->mShowIconList ) { goto LIST ;} 271 if ( KOPrefs::instance()->mShowIconList ) { goto LIST ;}
272 //if ( KOPrefs::instance()->mShowIconTodoview ) { showTodoView() ;goto ENTE ;} 272 //if ( KOPrefs::instance()->mShowIconTodoview ) { showTodoView() ;goto ENTE ;}
273 ENTE: 273 ENTE:
274 flagResetViewChangeDate = 0; 274 flagResetViewChangeDate = 0;
275 selecteddatescount = mMainView->dateNavigator()->selectedDates().count(); 275 selecteddatescount = mMainView->dateNavigator()->selectedDates().count();
276 selecteddate = mMainView->dateNavigator()->selectedDates().first(); 276 selecteddate = mMainView->dateNavigator()->selectedDates().first();
277 277
278} 278}
279void KOViewManager::resetDateSilent( QDate date , int days ) 279void KOViewManager::resetDateSilent( QDate date , int days )
280{ 280{
281 mMainView->dateNavigator()->blockSignals( true ); 281 mMainView->dateNavigator()->blockSignals( true );
282 mMainView->dateNavigator()->selectDates( date , days ); 282 mMainView->dateNavigator()->selectDates( date , days );
283 mMainView->dateNavigator()->blockSignals( false ); 283 mMainView->dateNavigator()->blockSignals( false );
284} 284}
285void KOViewManager::showView(KOrg::BaseView *view, bool fullScreen ) 285void KOViewManager::showView(KOrg::BaseView *view, bool fullScreen )
286{ 286{
287 if ( flagResetViewChangeDate < 10 ) 287 if ( flagResetViewChangeDate < 10 )
288 ++flagResetViewChangeDate; 288 ++flagResetViewChangeDate;
289 //mFlagShowNextxDays = false; 289 //mFlagShowNextxDays = false;
290 //if(view == mCurrentView) return; 290 //if(view == mCurrentView) return;
291 if ( view == 0 ) { 291 if ( view == 0 ) {
292 view = mCurrentView; 292 view = mCurrentView;
293 if ( view == 0 ) 293 if ( view == 0 )
294 return; 294 return;
295 } 295 }
296 bool callupdate = !(view == mCurrentView); 296 bool callupdate = !(view == mCurrentView);
297 bool full = fullScreen; 297 bool full = fullScreen;
298 if(view == mCurrentView && view != mWhatsNextView ) { 298 if(view == mCurrentView && view != mWhatsNextView ) {
299 if ( mCurrentAgendaView < 0 ) 299 if ( mCurrentAgendaView < 0 )
300 return; 300 return;
301 if ( view != mMonthView ) 301 if ( view != mMonthView )
302 full = mMainView->leftFrame()->isVisible(); 302 full = mMainView->leftFrame()->isVisible();
303 } else { 303 } else {
304 if ( view == mMonthView && mMonthView) 304 if ( view == mMonthView && mMonthView)
305 ;//mMonthView->skipResize = true ; 305 ;//mMonthView->skipResize = true ;
306 mCurrentView = view; 306 mCurrentView = view;
307 // bool full = fullScreen; 307 // bool full = fullScreen;
308 bool isFull = !mMainView->leftFrame()->isVisible(); 308 bool isFull = !mMainView->leftFrame()->isVisible();
309 if ( isFull && KOPrefs::instance()->mViewChangeHoldFullscreen ) 309 if ( isFull && KOPrefs::instance()->mViewChangeHoldFullscreen )
310 full = true; 310 full = true;
311 if ( !isFull && KOPrefs::instance()->mViewChangeHoldNonFullscreen ) 311 if ( !isFull && KOPrefs::instance()->mViewChangeHoldNonFullscreen )
312 full = false; 312 full = false;
313 } 313 }
314 if ( mAgendaView ) mAgendaView->deleteSelectedDateTime(); 314 if ( mAgendaView ) mAgendaView->deleteSelectedDateTime();
315 //raiseCurrentView( full ); 315 //raiseCurrentView( full );
316 mMainView->processIncidenceSelection( 0 ); 316 mMainView->processIncidenceSelection( 0 );
317 //mMainView->updateView(); 317 //mMainView->updateView();
318 raiseCurrentView( full, callupdate ); 318 raiseCurrentView( full, callupdate );
319 mMainView->adaptNavigationUnits(); 319 mMainView->adaptNavigationUnits();
320 mMainView->updateUnmanagedViews();
320} 321}
321 322
322void KOViewManager::raiseCurrentView( bool fullScreen, bool callUpdateView ) 323void KOViewManager::raiseCurrentView( bool fullScreen, bool callUpdateView )
323{ 324{
324 mCurrentAgendaView = 0; 325 mCurrentAgendaView = 0;
325 if ( fullScreen ) { 326 if ( fullScreen ) {
326 mMainView->leftFrame()->hide(); 327 mMainView->leftFrame()->hide();
327 } else { 328 } else {
328 mMainView->leftFrame()->show(); 329 mMainView->leftFrame()->show();
329 } 330 }
330 //if ( mCurrentView == mMonthView ) qApp->processEvents(); 331 //if ( mCurrentView == mMonthView ) qApp->processEvents();
331 emit signalFullScreen( !fullScreen ); 332 emit signalFullScreen( !fullScreen );
332 if ( callUpdateView ) 333 if ( callUpdateView )
333 mMainView->updateView(); 334 mMainView->updateView();
334 335
335 if ( globalFlagBlockAgenda == 5 ) { 336 if ( globalFlagBlockAgenda == 5 ) {
336 globalFlagBlockAgenda = 4; 337 globalFlagBlockAgenda = 4;
337 globalFlagBlockAgendaItemPaint = 1; 338 globalFlagBlockAgendaItemPaint = 1;
338 } 339 }
339 mMainView->viewStack()->raiseWidget(mCurrentView); 340 mMainView->viewStack()->raiseWidget(mCurrentView);
340 if ( globalFlagBlockAgenda == 4 ) { 341 if ( globalFlagBlockAgenda == 4 ) {
341 if ( mCurrentView == mAgendaView ) { 342 if ( mCurrentView == mAgendaView ) {
342 //globalFlagBlockAgenda =1 ; 343 //globalFlagBlockAgenda =1 ;
343 if ( KOPrefs::instance()->mSetTimeToDayStartAt ) 344 if ( KOPrefs::instance()->mSetTimeToDayStartAt )
344 mAgendaView->setStartHour( KOPrefs::instance()->mDayBegins ); 345 mAgendaView->setStartHour( KOPrefs::instance()->mDayBegins );
345 else if ( KOPrefs::instance()->mCenterOnCurrentTime ) 346 else if ( KOPrefs::instance()->mCenterOnCurrentTime )
346 mAgendaView->setStartHour( QTime::currentTime ().hour() ); 347 mAgendaView->setStartHour( QTime::currentTime ().hour() );
347 qApp->processEvents(); 348 qApp->processEvents();
348 //qDebug("qApp->processEvents() "); 349 //qDebug("qApp->processEvents() ");
349 globalFlagBlockAgenda = 0; 350 globalFlagBlockAgenda = 0;
350 mAgendaView->repaintAgenda(); 351 mAgendaView->repaintAgenda();
351 352
352 } 353 }
353 globalFlagBlockAgenda = 0; 354 globalFlagBlockAgenda = 0;
354 } 355 }
355 emit signalAgendaView( mCurrentView == mAgendaView ); 356 emit signalAgendaView( mCurrentView == mAgendaView );
356 //qDebug("raiseCurrentView ende "); 357 //qDebug("raiseCurrentView ende ");
357 358
358} 359}
359 360
360void KOViewManager::updateView() 361void KOViewManager::updateView()
361{ 362{
362 // qDebug("KOViewManager::updateView() "); 363 // qDebug("KOViewManager::updateView() ");
363 // if we are updating mTodoView, we get endless recursion 364 // if we are updating mTodoView, we get endless recursion
364 if ( mTodoView == mCurrentView ) 365 if ( mTodoView == mCurrentView )
365 return; 366 return;
366 if ( mCurrentView ) mCurrentView->updateView(); 367 if ( mCurrentView ) mCurrentView->updateView();
367 368
368} 369}
369 370
370void KOViewManager::updateView(const QDate &start, const QDate &end) 371void KOViewManager::updateView(const QDate &start, const QDate &end)
371{ 372{
372 // kdDebug() << "KOViewManager::updateView()" << endl; 373 // kdDebug() << "KOViewManager::updateView()" << endl;
373 374
374 if (mCurrentView) mCurrentView->showDates(start, end); 375 if (mCurrentView) mCurrentView->showDates(start, end);
375 376
376 if (mTodoView && mTodoView == mCurrentView ) mTodoView->updateView(); 377 if (mTodoView && mTodoView == mCurrentView ) mTodoView->updateView();
377} 378}
378 379
379 380
380void KOViewManager::updateWNview() 381void KOViewManager::updateWNview()
381{ 382{
382 if ( mCurrentView == mWhatsNextView && mWhatsNextView ) 383 if ( mCurrentView == mWhatsNextView && mWhatsNextView )
383 mWhatsNextView->updateView(); 384 mWhatsNextView->updateView();
384 if ( mCurrentView == mMonthView && mMonthView ) 385 if ( mCurrentView == mMonthView && mMonthView )
385 mMonthView->updateView(); 386 mMonthView->updateView();
386 387
387} 388}
388void KOViewManager::showWhatsNextView() 389void KOViewManager::showWhatsNextView()
389{ 390{
390 if (!mWhatsNextView) { 391 if (!mWhatsNextView) {
391 mWhatsNextView = new KOWhatsNextView(mMainView->calendar(),mMainView->viewStack(), 392 mWhatsNextView = new KOWhatsNextView(mMainView->calendar(),mMainView->viewStack(),
392 "KOViewManager::WhatsNextView"); 393 "KOViewManager::WhatsNextView");
393 mWhatsNextView->setEventViewer( mMainView->getEventViewerDialog()); 394 mWhatsNextView->setEventViewer( mMainView->getEventViewerDialog());
394 connect(mMainView, SIGNAL(configChanged()), mWhatsNextView, SLOT(updateConfig())); 395 connect(mMainView, SIGNAL(configChanged()), mWhatsNextView, SLOT(updateConfig()));
395 addView(mWhatsNextView); 396 addView(mWhatsNextView);
396 connect(this, SIGNAL( printWNV() ), 397 connect(this, SIGNAL( printWNV() ),
397 mWhatsNextView, SLOT( printMe() ) ); 398 mWhatsNextView, SLOT( printMe() ) );
398 } 399 }
399 globalFlagBlockAgenda = 1; 400 globalFlagBlockAgenda = 1;
401 KOPrefs::instance()->mCurrentDisplayedView = VIEW_WN_VIEW;
400 showView(mWhatsNextView, true ); 402 showView(mWhatsNextView, true );
401 //mWhatsNextView->updateView(); 403 //mWhatsNextView->updateView();
402 KOPrefs::instance()->mCurrentDisplayedView = VIEW_WN_VIEW; 404 KOPrefs::instance()->mCurrentDisplayedView = VIEW_WN_VIEW;
403} 405}
404 406
405void KOViewManager::slotprintWNV() 407void KOViewManager::slotprintWNV()
406{ 408{
407 if (!mWhatsNextView) 409 if (!mWhatsNextView)
408 showWhatsNextView(); 410 showWhatsNextView();
409 emit printWNV(); 411 emit printWNV();
410 412
411} 413}
412void KOViewManager::showListView() 414void KOViewManager::showListView()
413{ 415{
414 if (!mListView) { 416 if (!mListView) {
415 mListView = new KOListView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::ListView"); 417 mListView = new KOListView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::ListView");
416 addView(mListView); 418 addView(mListView);
417 419
418 connect(mListView, SIGNAL(showIncidenceSignal(Incidence *)), 420 connect(mListView, SIGNAL(showIncidenceSignal(Incidence *)),
419 mMainView, SLOT(showIncidence(Incidence *))); 421 mMainView, SLOT(showIncidence(Incidence *)));
420 connect(mListView, SIGNAL(editIncidenceSignal(Incidence *)), 422 connect(mListView, SIGNAL(editIncidenceSignal(Incidence *)),
421 mMainView, SLOT(editIncidence(Incidence *))); 423 mMainView, SLOT(editIncidence(Incidence *)));
422 connect(mListView, SIGNAL(deleteIncidenceSignal(Incidence *)), 424 connect(mListView, SIGNAL(deleteIncidenceSignal(Incidence *)),
423 mMainView, SLOT(deleteIncidence(Incidence *))); 425 mMainView, SLOT(deleteIncidence(Incidence *)));
424 connect( mListView, SIGNAL( incidenceSelected( Incidence * ) ), 426 connect( mListView, SIGNAL( incidenceSelected( Incidence * ) ),
425 mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); 427 mMainView, SLOT( processMainViewSelection( Incidence * ) ) );
426 connect( mListView, SIGNAL( signalNewEvent() ), 428 connect( mListView, SIGNAL( signalNewEvent() ),
427 mMainView, SLOT( newEvent() ) ); 429 mMainView, SLOT( newEvent() ) );
428 connect(mMainView, SIGNAL(configChanged()), mListView, SLOT(updateConfig())); 430 connect(mMainView, SIGNAL(configChanged()), mListView, SLOT(updateConfig()));
429 connect( mListView, SIGNAL( cloneIncidenceSignal( Incidence * ) ), 431 connect( mListView, SIGNAL( cloneIncidenceSignal( Incidence * ) ),
430 mMainView, SLOT ( cloneIncidence( Incidence * ) ) ); 432 mMainView, SLOT ( cloneIncidence( Incidence * ) ) );
431 connect( mListView, SIGNAL( cancelIncidenceSignal( Incidence * ) ), 433 connect( mListView, SIGNAL( cancelIncidenceSignal( Incidence * ) ),
432 mMainView, SLOT ( cancelIncidence( Incidence * ) ) ); 434 mMainView, SLOT ( cancelIncidence( Incidence * ) ) );
433 connect( mListView, SIGNAL( moveIncidenceSignal( Incidence * ) ), 435 connect( mListView, SIGNAL( moveIncidenceSignal( Incidence * ) ),
434 mMainView, SLOT ( moveIncidence( Incidence * ) ) ); 436 mMainView, SLOT ( moveIncidence( Incidence * ) ) );
435 connect( mListView, SIGNAL( beamIncidenceSignal( Incidence * ) ), 437 connect( mListView, SIGNAL( beamIncidenceSignal( Incidence * ) ),
436 mMainView, SLOT ( beamIncidence( Incidence * ) ) ); 438 mMainView, SLOT ( beamIncidence( Incidence * ) ) );
437 } 439 }
438 // bool temp = mFlagShowNextxDays; 440 // bool temp = mFlagShowNextxDays;
439 //globalFlagBlockPainting = true; 441 //globalFlagBlockPainting = true;
440 globalFlagBlockAgenda = 1; 442 globalFlagBlockAgenda = 1;
441 if ( KOPrefs::instance()->mListViewMonthTimespan ) { 443 if ( KOPrefs::instance()->mListViewMonthTimespan ) {
442 mMainView->setBlockShowDates( true ); 444 mMainView->setBlockShowDates( true );
443 mMainView->dateNavigator()->selectMonth(); 445 mMainView->dateNavigator()->selectMonth();
444 mMainView->setBlockShowDates( false ); 446 mMainView->setBlockShowDates( false );
445 } 447 }
448 KOPrefs::instance()->mCurrentDisplayedView = VIEW_L_VIEW;
446 showView(mListView, KOPrefs::instance()->mFullViewTodo); 449 showView(mListView, KOPrefs::instance()->mFullViewTodo);
447 //mFlagShowNextxDays = temp; 450 //mFlagShowNextxDays = temp;
448 KOPrefs::instance()->mCurrentDisplayedView = VIEW_L_VIEW; 451 KOPrefs::instance()->mCurrentDisplayedView = VIEW_L_VIEW;
449} 452}
450 453
451void KOViewManager::showAgendaView( bool fullScreen ) 454void KOViewManager::showAgendaView( bool fullScreen )
452{ 455{
453 456
454 mMainView->dialogManager()->hideSearchDialog(); 457 mMainView->dialogManager()->hideSearchDialog();
455 // qDebug("KOViewManager::showAgendaView "); 458 // qDebug("KOViewManager::showAgendaView ");
456 bool full; 459 bool full;
457 full = fullScreen; 460 full = fullScreen;
458 if (!mAgendaView) { 461 if (!mAgendaView) {
459 full = false; 462 full = false;
460 mAgendaView = new KOAgendaView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::AgendaView"); 463 mAgendaView = new KOAgendaView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::AgendaView");
461 addView(mAgendaView); 464 addView(mAgendaView);
462#ifndef DESKTOP_VERSION 465#ifndef DESKTOP_VERSION
463 QPEApplication::setStylusOperation( mAgendaView, QPEApplication::RightOnHold ); 466 QPEApplication::setStylusOperation( mAgendaView, QPEApplication::RightOnHold );
464#endif 467#endif
465 connect( mAgendaView, SIGNAL( incidenceChanged(Incidence *, int )), 468 connect( mAgendaView, SIGNAL( incidenceChanged(Incidence *, int )),
466 mMainView, SLOT( changeIncidenceDisplay( Incidence *, int ) )); 469 mMainView, SLOT( changeIncidenceDisplay( Incidence *, int ) ));
467 470
468 // SIGNALS/SLOTS FOR DAY/WEEK VIEW 471 // SIGNALS/SLOTS FOR DAY/WEEK VIEW
469 472
470 connect(mAgendaView,SIGNAL(showDateView( int, QDate )),SLOT(showDateView( int, QDate ))); 473 connect(mAgendaView,SIGNAL(showDateView( int, QDate )),SLOT(showDateView( int, QDate )));
471 474
472 connect(mAgendaView,SIGNAL(newTodoSignal(QDateTime,bool)), 475 connect(mAgendaView,SIGNAL(newTodoSignal(QDateTime,bool)),
473 mMainView, SLOT(newTodoDateTime(QDateTime,bool))); 476 mMainView, SLOT(newTodoDateTime(QDateTime,bool)));
474 connect(mAgendaView,SIGNAL(newEventSignal(QDateTime)), 477 connect(mAgendaView,SIGNAL(newEventSignal(QDateTime)),
475 mMainView, SLOT(newEvent(QDateTime))); 478 mMainView, SLOT(newEvent(QDateTime)));
476 connect(mAgendaView,SIGNAL(newEventSignal(QDateTime,QDateTime)), 479 connect(mAgendaView,SIGNAL(newEventSignal(QDateTime,QDateTime)),
477 mMainView, SLOT(newEvent(QDateTime,QDateTime))); 480 mMainView, SLOT(newEvent(QDateTime,QDateTime)));
478 connect(mAgendaView,SIGNAL(newEventSignal(QDate)), 481 connect(mAgendaView,SIGNAL(newEventSignal(QDate)),
479 mMainView, SLOT(newEvent(QDate))); 482 mMainView, SLOT(newEvent(QDate)));
480 483
481 connect(mAgendaView, SIGNAL(editIncidenceSignal(Incidence *)), 484 connect(mAgendaView, SIGNAL(editIncidenceSignal(Incidence *)),
482 mMainView, SLOT(editIncidence(Incidence *))); 485 mMainView, SLOT(editIncidence(Incidence *)));
483 connect(mAgendaView, SIGNAL(showIncidenceSignal(Incidence *)), 486 connect(mAgendaView, SIGNAL(showIncidenceSignal(Incidence *)),
484 mMainView, SLOT(showIncidence(Incidence *))); 487 mMainView, SLOT(showIncidence(Incidence *)));
485 connect(mAgendaView, SIGNAL(deleteIncidenceSignal(Incidence *)), 488 connect(mAgendaView, SIGNAL(deleteIncidenceSignal(Incidence *)),
486 mMainView, SLOT(deleteIncidence(Incidence *))); 489 mMainView, SLOT(deleteIncidence(Incidence *)));
487 490
488 connect( mAgendaView, SIGNAL( incidenceSelected( Incidence * ) ), 491 connect( mAgendaView, SIGNAL( incidenceSelected( Incidence * ) ),
489 mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); 492 mMainView, SLOT( processMainViewSelection( Incidence * ) ) );
490 493
491 connect(mAgendaView, SIGNAL( toggleExpand() ), 494 connect(mAgendaView, SIGNAL( toggleExpand() ),
492 mMainView, SLOT( toggleExpand() ) ); 495 mMainView, SLOT( toggleExpand() ) );
493 496
494 connect( mAgendaView, SIGNAL( cloneIncidenceSignal(Incidence *) ), 497 connect( mAgendaView, SIGNAL( cloneIncidenceSignal(Incidence *) ),
495 mMainView, SLOT(cloneIncidence(Incidence *) ) ) ; 498 mMainView, SLOT(cloneIncidence(Incidence *) ) ) ;
496 connect( mAgendaView, SIGNAL( cancelIncidenceSignal(Incidence *) ), 499 connect( mAgendaView, SIGNAL( cancelIncidenceSignal(Incidence *) ),
497 mMainView, SLOT(cancelIncidence(Incidence *) ) ) ; 500 mMainView, SLOT(cancelIncidence(Incidence *) ) ) ;
498 connect(mMainView, SIGNAL(configChanged()), mAgendaView, SLOT(updateConfig())); 501 connect(mMainView, SIGNAL(configChanged()), mAgendaView, SLOT(updateConfig()));
499 connect( mMainView, SIGNAL( todoModified( Todo *, int )), mAgendaView, 502 connect( mMainView, SIGNAL( todoModified( Todo *, int )), mAgendaView,
500 SLOT( updateTodo( Todo *, int ) ) ); 503 SLOT( updateTodo( Todo *, int ) ) );
501 connect( mAgendaView,SIGNAL( todoMoved( Todo *, int )), 504 connect( mAgendaView,SIGNAL( todoMoved( Todo *, int )),
502 mMainView, SIGNAL( todoModified( Todo *, int ))); 505 mMainView, SIGNAL( todoModified( Todo *, int )));
503 connect( mAgendaView, SIGNAL( moveIncidenceSignal( Incidence * ) ), 506 connect( mAgendaView, SIGNAL( moveIncidenceSignal( Incidence * ) ),
504 mMainView, SLOT ( moveIncidence( Incidence * ) ) ); 507 mMainView, SLOT ( moveIncidence( Incidence * ) ) );
505 connect( mAgendaView, SIGNAL( beamIncidenceSignal( Incidence * ) ), 508 connect( mAgendaView, SIGNAL( beamIncidenceSignal( Incidence * ) ),
506 mMainView, SLOT ( beamIncidence( Incidence * ) ) ); 509 mMainView, SLOT ( beamIncidence( Incidence * ) ) );
507 connect( mAgendaView, SIGNAL( selectWeekNum( int ) ), 510 connect( mAgendaView, SIGNAL( selectWeekNum( int ) ),
508 mMainView->dateNavigator(), SLOT ( selectWeek( int ) ) ); 511 mMainView->dateNavigator(), SLOT ( selectWeek( int ) ) );
509 mAgendaView->readSettings(); 512 mAgendaView->readSettings();
510 mAgendaView->updateConfig(); 513 mAgendaView->updateConfig();
511 } 514 }
512 515
516 KOPrefs::instance()->mCurrentDisplayedView = VIEW_A_VIEW;
513 showView( mAgendaView, full); 517 showView( mAgendaView, full);
514 KOPrefs::instance()->mCurrentDisplayedView = VIEW_A_VIEW; 518 KOPrefs::instance()->mCurrentDisplayedView = VIEW_A_VIEW;
515} 519}
516 520
517void KOViewManager::showDayView() 521void KOViewManager::showDayView()
518{ 522{
519 mCurrentAgendaView = mMainView->dateNavigator()->selectedDates().count(); 523 mCurrentAgendaView = mMainView->dateNavigator()->selectedDates().count();
520 mFlagShowNextxDays = false; 524 mFlagShowNextxDays = false;
521 globalFlagBlockLabel = 1; 525 globalFlagBlockLabel = 1;
522 globalFlagBlockAgenda = 1; 526 globalFlagBlockAgenda = 1;
523 if ( mCurrentAgendaView != 1 ) 527 if ( mCurrentAgendaView != 1 )
524 mCurrentAgendaView = -1; 528 mCurrentAgendaView = -1;
525 showAgendaView(); 529 showAgendaView();
526 qApp->processEvents(); 530 qApp->processEvents();
527 globalFlagBlockAgenda = 2; 531 globalFlagBlockAgenda = 2;
528 globalFlagBlockLabel = 0; 532 globalFlagBlockLabel = 0;
529 mMainView->dateNavigator()->selectDates( 1 ); 533 mMainView->dateNavigator()->selectDates( 1 );
530 mCurrentAgendaView = 1 ; 534 mCurrentAgendaView = 1 ;
531 535
532} 536}
533 537
534void KOViewManager::showWorkWeekView() 538void KOViewManager::showWorkWeekView()
535{ 539{
536 mCurrentAgendaView = mMainView->dateNavigator()->selectedDates().count(); 540 mCurrentAgendaView = mMainView->dateNavigator()->selectedDates().count();
537 mFlagShowNextxDays = false; 541 mFlagShowNextxDays = false;
538 globalFlagBlockAgenda = 1; 542 globalFlagBlockAgenda = 1;
539 globalFlagBlockLabel = 1; 543 globalFlagBlockLabel = 1;
540 if ( mCurrentAgendaView != 5 ) 544 if ( mCurrentAgendaView != 5 )
541 mCurrentAgendaView = -1; 545 mCurrentAgendaView = -1;
542 showAgendaView(); 546 showAgendaView();
543 qApp->processEvents(); 547 qApp->processEvents();
544 globalFlagBlockAgenda = 2; 548 globalFlagBlockAgenda = 2;
545 globalFlagBlockLabel = 0; 549 globalFlagBlockLabel = 0;
546 mMainView->dateNavigator()->selectWorkWeek(); 550 mMainView->dateNavigator()->selectWorkWeek();
547 mCurrentAgendaView = 5 ; 551 mCurrentAgendaView = 5 ;
548 552
549} 553}
550 554
551void KOViewManager::showWeekView() 555void KOViewManager::showWeekView()
552{ 556{
553 557
554 mCurrentAgendaView = mMainView->dateNavigator()->selectedDates().count(); 558 mCurrentAgendaView = mMainView->dateNavigator()->selectedDates().count();
555 mFlagShowNextxDays = false; 559 mFlagShowNextxDays = false;
556 globalFlagBlockAgenda = 1; 560 globalFlagBlockAgenda = 1;
557 globalFlagBlockLabel = 1; 561 globalFlagBlockLabel = 1;
558 if ( mCurrentAgendaView != 7 ) 562 if ( mCurrentAgendaView != 7 )
559 mCurrentAgendaView = -1; 563 mCurrentAgendaView = -1;
560 showAgendaView(); 564 showAgendaView();
561 qApp->processEvents(); 565 qApp->processEvents();
562 globalFlagBlockAgenda = 2; 566 globalFlagBlockAgenda = 2;
563 globalFlagBlockLabel = 0; 567 globalFlagBlockLabel = 0;
564 mMainView->dateNavigator()->selectWeek(); 568 mMainView->dateNavigator()->selectWeek();
565 mCurrentAgendaView = 7 ; 569 mCurrentAgendaView = 7 ;
566} 570}
567 571
568void KOViewManager::showNextXView() 572void KOViewManager::showNextXView()
569{ 573{
570 574
575 KOPrefs::instance()->mCurrentDisplayedView = VIEW_NX_VIEW;
571 globalFlagBlockAgenda = 1; 576 globalFlagBlockAgenda = 1;
572 if ( mCurrentAgendaView != 3 ) 577 if ( mCurrentAgendaView != 3 )
573 mCurrentAgendaView = -1; 578 mCurrentAgendaView = -1;
574 showAgendaView(KOPrefs::instance()->mFullViewMonth); 579 showAgendaView(KOPrefs::instance()->mFullViewMonth);
575 globalFlagBlockAgenda = 2; 580 globalFlagBlockAgenda = 2;
576 mMainView->dateNavigator()->selectDates( QDate::currentDate(), 581 mMainView->dateNavigator()->selectDates( QDate::currentDate(),
577 KOPrefs::instance()->mNextXDays ); 582 KOPrefs::instance()->mNextXDays );
578 mFlagShowNextxDays = true; 583 mFlagShowNextxDays = true;
579 mCurrentAgendaView = 3 ; 584 mCurrentAgendaView = 3 ;
580 KOPrefs::instance()->mCurrentDisplayedView = VIEW_NX_VIEW; 585 KOPrefs::instance()->mCurrentDisplayedView = VIEW_NX_VIEW;
581} 586}
582bool KOViewManager::showsNextDays() 587bool KOViewManager::showsNextDays()
583{ 588{
584 return mFlagShowNextxDays; 589 return mFlagShowNextxDays;
585} 590}
586void KOViewManager::createMonthView() 591void KOViewManager::createMonthView()
587{ 592{
588if (!mMonthView) { 593if (!mMonthView) {
589 mMonthView = new KOMonthView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::MonthView"); 594 mMonthView = new KOMonthView(mMainView->calendar(), mMainView->viewStack(), "KOViewManager::MonthView");
590 595
591 addView(mMonthView); 596 addView(mMonthView);
592 // mMonthView->show(); 597 // mMonthView->show();
593 // SIGNALS/SLOTS FOR MONTH VIEW 598 // SIGNALS/SLOTS FOR MONTH VIEW
594 599
595 connect(mMonthView,SIGNAL(showJournalSignal( int, QDate )),SLOT(showDateView( int, QDate ))); 600 connect(mMonthView,SIGNAL(showJournalSignal( int, QDate )),SLOT(showDateView( int, QDate )));
596 601
597 connect(mMonthView, SIGNAL(newTodoSignal(QDateTime,bool)), 602 connect(mMonthView, SIGNAL(newTodoSignal(QDateTime,bool)),
598 mMainView, SLOT(newTodoDateTime(QDateTime, bool))); 603 mMainView, SLOT(newTodoDateTime(QDateTime, bool)));
599 604
600 605
601 connect(mMonthView, SIGNAL(newEventSignal(QDateTime)), 606 connect(mMonthView, SIGNAL(newEventSignal(QDateTime)),
602 mMainView, SLOT(newEvent(QDateTime))); 607 mMainView, SLOT(newEvent(QDateTime)));
603 608
604 connect(mMonthView, SIGNAL(showIncidenceSignal(Incidence *)), 609 connect(mMonthView, SIGNAL(showIncidenceSignal(Incidence *)),
605 mMainView, SLOT(showIncidence(Incidence *))); 610 mMainView, SLOT(showIncidence(Incidence *)));
606 connect(mMonthView, SIGNAL(editIncidenceSignal(Incidence *)), 611 connect(mMonthView, SIGNAL(editIncidenceSignal(Incidence *)),
607 mMainView, SLOT(editIncidence(Incidence *))); 612 mMainView, SLOT(editIncidence(Incidence *)));
608 connect(mMonthView, SIGNAL(deleteIncidenceSignal(Incidence *)), 613 connect(mMonthView, SIGNAL(deleteIncidenceSignal(Incidence *)),
609 mMainView, SLOT(deleteIncidence(Incidence *))); 614 mMainView, SLOT(deleteIncidence(Incidence *)));
610 615
611 connect( mMonthView, SIGNAL( incidenceSelected( Incidence * ) ), 616 connect( mMonthView, SIGNAL( incidenceSelected( Incidence * ) ),
612 mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); 617 mMainView, SLOT( processMainViewSelection( Incidence * ) ) );
613 connect( mMonthView, SIGNAL( cloneIncidenceSignal( Incidence * ) ), 618 connect( mMonthView, SIGNAL( cloneIncidenceSignal( Incidence * ) ),
614 mMainView, SLOT ( cloneIncidence( Incidence * ) ) ); 619 mMainView, SLOT ( cloneIncidence( Incidence * ) ) );
615 connect( mMonthView, SIGNAL( cancelIncidenceSignal( Incidence * ) ), 620 connect( mMonthView, SIGNAL( cancelIncidenceSignal( Incidence * ) ),
616 mMainView, SLOT ( cancelIncidence( Incidence * ) ) ); 621 mMainView, SLOT ( cancelIncidence( Incidence * ) ) );
617 622
618 connect( mMonthView, SIGNAL( moveIncidenceSignal( Incidence * ) ), 623 connect( mMonthView, SIGNAL( moveIncidenceSignal( Incidence * ) ),
619 mMainView, SLOT ( moveIncidence( Incidence * ) ) ); 624 mMainView, SLOT ( moveIncidence( Incidence * ) ) );
620 connect( mMonthView, SIGNAL( beamIncidenceSignal( Incidence * ) ), 625 connect( mMonthView, SIGNAL( beamIncidenceSignal( Incidence * ) ),
621 mMainView, SLOT ( beamIncidence( Incidence * ) ) ); 626 mMainView, SLOT ( beamIncidence( Incidence * ) ) );
622 connect( mMonthView, SIGNAL( selectWeekNum( int ) ), 627 connect( mMonthView, SIGNAL( selectWeekNum( int ) ),
623 mMainView->dateNavigator(), SLOT ( selectWeekFromMonthView( int ) ) ); 628 mMainView->dateNavigator(), SLOT ( selectWeekFromMonthView( int ) ) );
624 connect( mMonthView, SIGNAL( selectMonth() ), 629 connect( mMonthView, SIGNAL( selectMonth() ),
625 mMainView->dateNavigator(), SLOT ( selectMonthFromMonthview() ) ); 630 mMainView->dateNavigator(), SLOT ( selectMonthFromMonthview() ) );
626 connect( mMonthView, SIGNAL( showDaySignal( QDate ) ), 631 connect( mMonthView, SIGNAL( showDaySignal( QDate ) ),
627 mMainView, SLOT ( showDay( QDate ) ) ); 632 mMainView, SLOT ( showDay( QDate ) ) );
628 connect(mMainView, SIGNAL(configChanged()), mMonthView, SLOT(updateConfig())); 633 connect(mMainView, SIGNAL(configChanged()), mMonthView, SLOT(updateConfig()));
629 connect( mMonthView, SIGNAL(nextMonth() ), 634 connect( mMonthView, SIGNAL(nextMonth() ),
630 mMonthView->navigatorBar(), SIGNAL(goNextMonth() ) ); 635 mMonthView->navigatorBar(), SIGNAL(goNextMonth() ) );
631 connect( mMonthView, SIGNAL(prevMonth() ), 636 connect( mMonthView, SIGNAL(prevMonth() ),
632 mMonthView->navigatorBar(), SIGNAL(goPrevMonth() ) ); 637 mMonthView->navigatorBar(), SIGNAL(goPrevMonth() ) );
633 connect( mMonthView->navigatorBar(), SIGNAL( goPrevYear() ), 638 connect( mMonthView->navigatorBar(), SIGNAL( goPrevYear() ),
634 mMainView->dateNavigator(), SLOT( selectPreviousYear() ) ); 639 mMainView->dateNavigator(), SLOT( selectPreviousYear() ) );
635 connect( mMonthView->navigatorBar(), SIGNAL( goNextYear() ), 640 connect( mMonthView->navigatorBar(), SIGNAL( goNextYear() ),
636 mMainView->dateNavigator(), SLOT( selectNextYear() ) ); 641 mMainView->dateNavigator(), SLOT( selectNextYear() ) );
637 connect( mMonthView->navigatorBar(), SIGNAL( goPrevMonth() ), 642 connect( mMonthView->navigatorBar(), SIGNAL( goPrevMonth() ),
638 mMainView->dateNavigator(), SLOT( selectPreviousMonth() ) ); 643 mMainView->dateNavigator(), SLOT( selectPreviousMonth() ) );
639 connect( mMonthView->navigatorBar(), SIGNAL( goNextMonth() ), 644 connect( mMonthView->navigatorBar(), SIGNAL( goNextMonth() ),
640 mMainView->dateNavigator(), SLOT( selectNextMonth() ) ); 645 mMainView->dateNavigator(), SLOT( selectNextMonth() ) );
641 connect( mMonthView->navigatorBar(), SIGNAL( goPrevWeek() ), 646 connect( mMonthView->navigatorBar(), SIGNAL( goPrevWeek() ),
642 mMainView->dateNavigator(), SLOT( selectPreviousWeek() ) ); 647 mMainView->dateNavigator(), SLOT( selectPreviousWeek() ) );
643 connect( mMonthView->navigatorBar(), SIGNAL( goNextWeek() ), 648 connect( mMonthView->navigatorBar(), SIGNAL( goNextWeek() ),
644 mMainView->dateNavigator(), SLOT( selectNextWeek() ) ); 649 mMainView->dateNavigator(), SLOT( selectNextWeek() ) );
645 650
646 connect( mMainView->dateNavigator(), SIGNAL( datesSelected( const KCal::DateList & ) ), 651 connect( mMainView->dateNavigator(), SIGNAL( datesSelected( const KCal::DateList & ) ),
647 mMonthView->navigatorBar(), SLOT( selectDates( const KCal::DateList & ) ) ); 652 mMonthView->navigatorBar(), SLOT( selectDates( const KCal::DateList & ) ) );
648 653
649 654
650 connect( mMonthView->navigatorBar(), SIGNAL( monthSelected ( int ) ), 655 connect( mMonthView->navigatorBar(), SIGNAL( monthSelected ( int ) ),
651 mMainView->dateNavigator(), SLOT( slotMonthSelect( int ) ) ); 656 mMainView->dateNavigator(), SLOT( slotMonthSelect( int ) ) );
652 657
653 } 658 }
654} 659}
655void KOViewManager::showMonthViewWeek() 660void KOViewManager::showMonthViewWeek()
656{ 661{
657 createMonthView(); 662 createMonthView();
663 KOPrefs::instance()->mCurrentDisplayedView = VIEW_ML_VIEW ;
658 globalFlagBlockAgenda = 1; 664 globalFlagBlockAgenda = 1;
659 bool full = true; 665 bool full = true;
660 if ( mCurrentView == mMonthView) 666 if ( mCurrentView == mMonthView)
661 full = mMainView->leftFrame()->isVisible(); 667 full = mMainView->leftFrame()->isVisible();
662 if ( !KOPrefs::instance()->mMonthViewWeek ) { 668 if ( !KOPrefs::instance()->mMonthViewWeek ) {
663 mMonthView->switchView(); 669 mMonthView->switchView();
664 if ( KOPrefs::instance()->mViewChangeHoldNonFullscreen && mMainView->leftFrame()->isVisible() ) 670 if ( KOPrefs::instance()->mViewChangeHoldNonFullscreen && mMainView->leftFrame()->isVisible() )
665 full = false; 671 full = false;
666 else 672 else
667 full = true; 673 full = true;
668 } 674 }
669 mMainView->dateNavigator()->selectWeek(); 675 mMainView->dateNavigator()->selectWeek();
670 showView(mMonthView, full ); 676 showView(mMonthView, full );
671 mMonthView->setKeyBFocus(); 677 mMonthView->setKeyBFocus();
672 KOPrefs::instance()->mCurrentDisplayedView = VIEW_ML_VIEW ; 678 KOPrefs::instance()->mCurrentDisplayedView = VIEW_ML_VIEW ;
673} 679}
674 680
675void KOViewManager::showMonth( const QDate & date ) 681void KOViewManager::showMonth( const QDate & date )
676{ 682{
677 mMainView->dateNavigator()->blockSignals( true ); 683 mMainView->dateNavigator()->blockSignals( true );
678 mMainView->dateNavigator()->selectDate( date ); 684 mMainView->dateNavigator()->selectDate( date );
679 mMainView->dateNavigator()->blockSignals( false ); 685 mMainView->dateNavigator()->blockSignals( false );
680 showMonthView(); 686 showMonthView();
681} 687}
682void KOViewManager::showMonthView() 688void KOViewManager::showMonthView()
683 { 689 {
684 690
685 createMonthView(); 691 createMonthView();
692 KOPrefs::instance()->mCurrentDisplayedView = VIEW_M_VIEW ;
686 globalFlagBlockAgenda = 1; 693 globalFlagBlockAgenda = 1;
687 //mFlagShowNextxDays = false; 694 //mFlagShowNextxDays = false;
688 bool full = true; 695 bool full = true;
689 if ( mCurrentView == mMonthView) 696 if ( mCurrentView == mMonthView)
690 full = mMainView->leftFrame()->isVisible(); 697 full = mMainView->leftFrame()->isVisible();
691 // if(mMonthView == mCurrentView) return; 698 // if(mMonthView == mCurrentView) return;
692 if ( KOPrefs::instance()->mMonthViewWeek ) { 699 if ( KOPrefs::instance()->mMonthViewWeek ) {
693 mMonthView->switchView(); 700 mMonthView->switchView();
694 if ( KOPrefs::instance()->mViewChangeHoldNonFullscreen && mMainView->leftFrame()->isVisible() ) 701 if ( KOPrefs::instance()->mViewChangeHoldNonFullscreen && mMainView->leftFrame()->isVisible() )
695 full = false; 702 full = false;
696 else 703 else
697 full = true; 704 full = true;
698 } 705 }
699 mMainView->dateNavigator()->selectMonth(); 706 mMainView->dateNavigator()->selectMonth();
700 707
701 showView(mMonthView, full ); 708 showView(mMonthView, full );
702 mMonthView->setKeyBFocus(); 709 mMonthView->setKeyBFocus();
703 KOPrefs::instance()->mCurrentDisplayedView = VIEW_M_VIEW ; 710 KOPrefs::instance()->mCurrentDisplayedView = VIEW_M_VIEW ;
704 711
705} 712}
706 713
707void KOViewManager::showTodoView() 714void KOViewManager::showTodoView()
708{ 715{
709 //mFlagShowNextxDays = false; 716 //mFlagShowNextxDays = false;
710 if ( !mTodoView ) { 717 if ( !mTodoView ) {
711 mTodoView = new KOTodoView( mMainView->calendar(), mMainView->viewStack(), 718 mTodoView = new KOTodoView( mMainView->calendar(), mMainView->viewStack(),
712 "KOViewManager::TodoView" ); 719 "KOViewManager::TodoView" );
713 720
714 addView( mTodoView ); 721 addView( mTodoView );
715 // QPEApplication::setStylusOperation( mTodoView, QPEApplication::RightOnHold ); 722 // QPEApplication::setStylusOperation( mTodoView, QPEApplication::RightOnHold );
716 723
717 // SIGNALS/SLOTS FOR TODO VIEW 724 // SIGNALS/SLOTS FOR TODO VIEW
718 connect( mTodoView, SIGNAL( newTodoSignal() ), 725 connect( mTodoView, SIGNAL( newTodoSignal() ),
719 mMainView, SLOT( newTodo() ) ); 726 mMainView, SLOT( newTodo() ) );
720 connect( mTodoView, SIGNAL( newSubTodoSignal( Todo * ) ), 727 connect( mTodoView, SIGNAL( newSubTodoSignal( Todo * ) ),
721 mMainView, SLOT( newSubTodo( Todo *) ) ); 728 mMainView, SLOT( newSubTodo( Todo *) ) );
722 connect( mTodoView, SIGNAL( showTodoSignal( Todo *) ), 729 connect( mTodoView, SIGNAL( showTodoSignal( Todo *) ),
723 mMainView, SLOT( showTodo( Todo * ) ) ); 730 mMainView, SLOT( showTodo( Todo * ) ) );
724 connect( mTodoView, SIGNAL( editTodoSignal( Todo * ) ), 731 connect( mTodoView, SIGNAL( editTodoSignal( Todo * ) ),
725 mMainView, SLOT( editTodo( Todo * ) ) ); 732 mMainView, SLOT( editTodo( Todo * ) ) );
726 connect( mTodoView, SIGNAL( deleteTodoSignal( Todo * ) ), 733 connect( mTodoView, SIGNAL( deleteTodoSignal( Todo * ) ),
727 mMainView, SLOT( deleteTodo( Todo * ) ) ); 734 mMainView, SLOT( deleteTodo( Todo * ) ) );
728 connect( mTodoView, SIGNAL( purgeCompletedSignal() ), 735 connect( mTodoView, SIGNAL( purgeCompletedSignal() ),
729 mMainView, SLOT( purgeCompleted() ) ); 736 mMainView, SLOT( purgeCompleted() ) );
730 737
731 connect( mTodoView, SIGNAL( incidenceSelected( Incidence * ) ), 738 connect( mTodoView, SIGNAL( incidenceSelected( Incidence * ) ),
732 mMainView, SLOT( processMainViewSelection( Incidence * ) ) ); 739 mMainView, SLOT( processMainViewSelection( Incidence * ) ) );
733 740
734 connect( mMainView, SIGNAL( configChanged() ), mTodoView, 741 connect( mMainView, SIGNAL( configChanged() ), mTodoView,
735 SLOT( updateConfig() ) ); 742 SLOT( updateConfig() ) );
736 connect( mMainView, SIGNAL( todoModified( Todo *, int )), mTodoView, 743 connect( mMainView, SIGNAL( todoModified( Todo *, int )), mTodoView,
737 SLOT( updateTodo( Todo *, int ) ) ); 744 SLOT( updateTodo( Todo *, int ) ) );
738 connect( mTodoView, SIGNAL( todoModifiedSignal( Todo *, int ) ), 745 connect( mTodoView, SIGNAL( todoModifiedSignal( Todo *, int ) ),
739 mMainView, SIGNAL ( todoModified( Todo *, int ) ) ); 746 mMainView, SIGNAL ( todoModified( Todo *, int ) ) );
740 connect( mTodoView, SIGNAL( cloneTodoSignal( Incidence * ) ), 747 connect( mTodoView, SIGNAL( cloneTodoSignal( Incidence * ) ),
741 mMainView, SLOT ( cloneIncidence( Incidence * ) ) ); 748 mMainView, SLOT ( cloneIncidence( Incidence * ) ) );
742 connect( mTodoView, SIGNAL( cancelTodoSignal( Incidence * ) ), 749 connect( mTodoView, SIGNAL( cancelTodoSignal( Incidence * ) ),
743 mMainView, SLOT ( cancelIncidence( Incidence * ) ) ); 750 mMainView, SLOT ( cancelIncidence( Incidence * ) ) );
744 connect( mTodoView, SIGNAL( unparentTodoSignal( Todo * ) ), 751 connect( mTodoView, SIGNAL( unparentTodoSignal( Todo * ) ),
745 mMainView, SLOT ( todo_unsub( Todo * ) ) ); 752 mMainView, SLOT ( todo_unsub( Todo * ) ) );
746 connect( mTodoView, SIGNAL( reparentTodoSignal( Todo *,Todo * ) ), 753 connect( mTodoView, SIGNAL( reparentTodoSignal( Todo *,Todo * ) ),
747 mMainView, SLOT ( todo_resub( Todo *, Todo *) ) ); 754 mMainView, SLOT ( todo_resub( Todo *, Todo *) ) );
748 connect( mTodoView, SIGNAL( moveTodoSignal( Incidence * ) ), 755 connect( mTodoView, SIGNAL( moveTodoSignal( Incidence * ) ),
749 mMainView, SLOT ( moveIncidence( Incidence * ) ) ); 756 mMainView, SLOT ( moveIncidence( Incidence * ) ) );
750 connect( mTodoView, SIGNAL( beamTodoSignal( Incidence * ) ), 757 connect( mTodoView, SIGNAL( beamTodoSignal( Incidence * ) ),
751 mMainView, SLOT ( beamIncidence( Incidence * ) ) ); 758 mMainView, SLOT ( beamIncidence( Incidence * ) ) );
752 KConfig *config = KOGlobals::config(); 759 KConfig *config = KOGlobals::config();
753 mTodoView->restoreLayout(config,"Todo View"); 760 mTodoView->restoreLayout(config,"Todo View");
754 mTodoView->setNavigator( mMainView->dateNavigator() ); 761 mTodoView->setNavigator( mMainView->dateNavigator() );
755 } 762 }
756 763
764 KOPrefs::instance()->mCurrentDisplayedView = VIEW_T_VIEW ;
757 globalFlagBlockAgenda = 1; 765 globalFlagBlockAgenda = 1;
758 showView( mTodoView, true ); 766 showView( mTodoView, true );
759 KOPrefs::instance()->mCurrentDisplayedView = VIEW_T_VIEW ; 767 KOPrefs::instance()->mCurrentDisplayedView = VIEW_T_VIEW ;
760 768
761} 769}
762 770
763void KOViewManager::showJournalView() 771void KOViewManager::showJournalView()
764{ 772{
765 //mFlagShowNextxDays = false; 773 //mFlagShowNextxDays = false;
766 if (!mJournalView) { 774 if (!mJournalView) {
767 mJournalView = new KOJournalView(mMainView->calendar(),mMainView->viewStack(), 775 mJournalView = new KOJournalView(mMainView->calendar(),mMainView->viewStack(),
768 "KOViewManager::JournalView"); 776 "KOViewManager::JournalView");
769 connect( mMainView, SIGNAL( configChanged() ), mJournalView, 777 connect( mMainView, SIGNAL( configChanged() ), mJournalView,
770 SLOT( updateConfig() ) ); 778 SLOT( updateConfig() ) );
771 connect(mJournalView, SIGNAL(deleteJournal(Journal *) ), mMainView,SLOT(deleteJournal(Journal *)) ); 779 connect(mJournalView, SIGNAL(deleteJournal(Journal *) ), mMainView,SLOT(deleteJournal(Journal *)) );
772 addView(mJournalView); 780 addView(mJournalView);
773 } 781 }
774 782
783 KOPrefs::instance()->mCurrentDisplayedView = VIEW_J_VIEW ;
775 showView(mJournalView); 784 showView(mJournalView);
776 mMainView->dateNavigator()->selectDates( 1 ); 785 mMainView->dateNavigator()->selectDates( 1 );
777 KOPrefs::instance()->mCurrentDisplayedView = VIEW_J_VIEW ; 786 KOPrefs::instance()->mCurrentDisplayedView = VIEW_J_VIEW ;
778} 787}
779 788
780void KOViewManager::showTimeSpanView() 789void KOViewManager::showTimeSpanView()
781{ 790{
782 //mFlagShowNextxDays = false; 791 //mFlagShowNextxDays = false;
783 if (!mTimeSpanView) { 792 if (!mTimeSpanView) {
784 mTimeSpanView = new KOTimeSpanView(mMainView->calendar(),mMainView->viewStack(), 793 mTimeSpanView = new KOTimeSpanView(mMainView->calendar(),mMainView->viewStack(),
785 "KOViewManager::TimeSpanView"); 794 "KOViewManager::TimeSpanView");
786 addView(mTimeSpanView); 795 addView(mTimeSpanView);
787 796
788 mTimeSpanView->readSettings(); 797 mTimeSpanView->readSettings();
789 } 798 }
790 799
791 showView(mTimeSpanView); 800 showView(mTimeSpanView);
792} 801}
793 802
794Incidence *KOViewManager::currentSelection() 803Incidence *KOViewManager::currentSelection()
795{ 804{
796 if (!mCurrentView) return 0; 805 if (!mCurrentView) return 0;
797 if ( mCurrentView == mListView ) { 806 if ( mCurrentView == mListView ) {
798 if ( mListView->currentItem() ) 807 if ( mListView->currentItem() )
799 return mListView->currentItem(); 808 return mListView->currentItem();
800 } 809 }
801 return mCurrentView->selectedIncidences().first(); 810 return mCurrentView->selectedIncidences().first();
802} 811}
803 812
804QDate KOViewManager::currentSelectionDate() 813QDate KOViewManager::currentSelectionDate()
805{ 814{
806 QDate qd; 815 QDate qd;
807 if (mCurrentView) { 816 if (mCurrentView) {
808 DateList qvl = mCurrentView->selectedDates(); 817 DateList qvl = mCurrentView->selectedDates();
809 if (!qvl.isEmpty()) qd = qvl.first(); 818 if (!qvl.isEmpty()) qd = qvl.first();
810 } 819 }
811 return qd; 820 return qd;
812} 821}
813 822
814void KOViewManager::addView(KOrg::BaseView *view) 823void KOViewManager::addView(KOrg::BaseView *view)
815{ 824{
816#if QT_VERSION >= 0x030000 825#if QT_VERSION >= 0x030000
817 mMainView->viewStack()->addWidget( view ); 826 mMainView->viewStack()->addWidget( view );
818#else 827#else
819 mMainView->viewStack()->addWidget( view, 1 ); 828 mMainView->viewStack()->addWidget( view, 1 );
820#endif 829#endif
821} 830}
822 831
823void KOViewManager::setDocumentId( const QString &id ) 832void KOViewManager::setDocumentId( const QString &id )
824{ 833{
825 if (mTodoView) mTodoView->setDocumentId( id ); 834 if (mTodoView) mTodoView->setDocumentId( id );
826} 835}
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index 95bef66..87cef20 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -61,266 +61,269 @@
61#include "klocale.h" 61#include "klocale.h"
62#include "kconfig.h" 62#include "kconfig.h"
63#include "externalapphandler.h" 63#include "externalapphandler.h"
64 64
65using namespace KCal; 65using namespace KCal;
66#ifndef _WIN32_ 66#ifndef _WIN32_
67#include <unistd.h> 67#include <unistd.h>
68#else 68#else
69#ifdef _OL_IMPORT_ 69#ifdef _OL_IMPORT_
70#include "koimportoldialog.h" 70#include "koimportoldialog.h"
71#endif 71#endif
72#endif 72#endif
73#include "mainwindow.h" 73#include "mainwindow.h"
74 74
75 75
76class KOex2phonePrefs : public QDialog 76class KOex2phonePrefs : public QDialog
77{ 77{
78 public: 78 public:
79 KOex2phonePrefs( QWidget *parent=0, const char *name=0 ) : 79 KOex2phonePrefs( QWidget *parent=0, const char *name=0 ) :
80 QDialog( parent, name, true ) 80 QDialog( parent, name, true )
81 { 81 {
82 setCaption( i18n("Export to phone options") ); 82 setCaption( i18n("Export to phone options") );
83 QVBoxLayout* lay = new QVBoxLayout( this ); 83 QVBoxLayout* lay = new QVBoxLayout( this );
84 lay->setSpacing( 3 ); 84 lay->setSpacing( 3 );
85 lay->setMargin( 3 ); 85 lay->setMargin( 3 );
86 QLabel *lab; 86 QLabel *lab;
87 lay->addWidget(lab = new QLabel( i18n("Please read Help-Sync Howto\nto know what settings to use."), this ) ); 87 lay->addWidget(lab = new QLabel( i18n("Please read Help-Sync Howto\nto know what settings to use."), this ) );
88 lab->setAlignment (AlignHCenter ); 88 lab->setAlignment (AlignHCenter );
89 QHBox* temphb; 89 QHBox* temphb;
90 temphb = new QHBox( this ); 90 temphb = new QHBox( this );
91 new QLabel( i18n("I/O device: "), temphb ); 91 new QLabel( i18n("I/O device: "), temphb );
92 mPhoneDevice = new QLineEdit( temphb); 92 mPhoneDevice = new QLineEdit( temphb);
93 lay->addWidget( temphb ); 93 lay->addWidget( temphb );
94 temphb = new QHBox( this ); 94 temphb = new QHBox( this );
95 new QLabel( i18n("Connection: "), temphb ); 95 new QLabel( i18n("Connection: "), temphb );
96 mPhoneConnection = new QLineEdit( temphb); 96 mPhoneConnection = new QLineEdit( temphb);
97 lay->addWidget( temphb ); 97 lay->addWidget( temphb );
98 temphb = new QHBox( this ); 98 temphb = new QHBox( this );
99 new QLabel( i18n("Model(opt.): "), temphb ); 99 new QLabel( i18n("Model(opt.): "), temphb );
100 mPhoneModel = new QLineEdit( temphb); 100 mPhoneModel = new QLineEdit( temphb);
101 lay->addWidget( temphb ); 101 lay->addWidget( temphb );
102 mWriteBackFuture= new QCheckBox( i18n("Write back events in future only"), this ); 102 mWriteBackFuture= new QCheckBox( i18n("Write back events in future only"), this );
103 mWriteBackFuture->setChecked( true ); 103 mWriteBackFuture->setChecked( true );
104 lay->addWidget( mWriteBackFuture ); 104 lay->addWidget( mWriteBackFuture );
105 temphb = new QHBox( this ); 105 temphb = new QHBox( this );
106 new QLabel( i18n("Max. weeks in future: ") , temphb ); 106 new QLabel( i18n("Max. weeks in future: ") , temphb );
107 mWriteBackFutureWeeks= new QSpinBox(1,104, 1, temphb); 107 mWriteBackFutureWeeks= new QSpinBox(1,104, 1, temphb);
108 mWriteBackFutureWeeks->setValue( 8 ); 108 mWriteBackFutureWeeks->setValue( 8 );
109 lay->addWidget( temphb ); 109 lay->addWidget( temphb );
110 lay->addWidget(lab = new QLabel( i18n("NOTE: This will remove all old\ntodo/calendar data on phone!"), this ) ); 110 lay->addWidget(lab = new QLabel( i18n("NOTE: This will remove all old\ntodo/calendar data on phone!"), this ) );
111 lab->setAlignment (AlignHCenter ); 111 lab->setAlignment (AlignHCenter );
112 QPushButton * ok = new QPushButton( i18n("Export to mobile phone!"), this ); 112 QPushButton * ok = new QPushButton( i18n("Export to mobile phone!"), this );
113 lay->addWidget( ok ); 113 lay->addWidget( ok );
114 QPushButton * cancel = new QPushButton( i18n("Cancel"), this ); 114 QPushButton * cancel = new QPushButton( i18n("Cancel"), this );
115 lay->addWidget( cancel ); 115 lay->addWidget( cancel );
116 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) ); 116 connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) );
117 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) ); 117 connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) );
118 resize( 220, 240 ); 118 resize( 220, 240 );
119 qApp->processEvents(); 119 qApp->processEvents();
120 int dw = QApplication::desktop()->width(); 120 int dw = QApplication::desktop()->width();
121 int dh = QApplication::desktop()->height(); 121 int dh = QApplication::desktop()->height();
122 move( (dw-width())/2, (dh - height() )/2 ); 122 move( (dw-width())/2, (dh - height() )/2 );
123 } 123 }
124 124
125public: 125public:
126 QLineEdit* mPhoneConnection, *mPhoneDevice, *mPhoneModel; 126 QLineEdit* mPhoneConnection, *mPhoneDevice, *mPhoneModel;
127 QCheckBox* mWriteBackFuture; 127 QCheckBox* mWriteBackFuture;
128 QSpinBox* mWriteBackFutureWeeks; 128 QSpinBox* mWriteBackFutureWeeks;
129}; 129};
130 130
131int globalFlagBlockStartup; 131int globalFlagBlockStartup;
132MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) : 132MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) :
133 QMainWindow( parent, name ) 133 QMainWindow( parent, name )
134{ 134{
135 135
136 mClosed = false; 136 mClosed = false;
137 //QString confFile = KStandardDirs::appDir() + "config/korganizerrc"; 137 //QString confFile = KStandardDirs::appDir() + "config/korganizerrc";
138 QString confFile = locateLocal("config","korganizerrc"); 138 QString confFile = locateLocal("config","korganizerrc");
139 QFileInfo finf ( confFile ); 139 QFileInfo finf ( confFile );
140 bool showWarning = !finf.exists(); 140 bool showWarning = !finf.exists();
141 setIcon(SmallIcon( "ko24" ) ); 141 setIcon(SmallIcon( "ko24" ) );
142 mBlockAtStartup = true; 142 mBlockAtStartup = true;
143 mFlagKeyPressed = false; 143 mFlagKeyPressed = false;
144 setCaption("KO/Pi"); 144 setCaption("KO/Pi");
145 KOPrefs *p = KOPrefs::instance(); 145 KOPrefs *p = KOPrefs::instance();
146 KPimGlobalPrefs::instance()->setGlobalConfig(); 146 KPimGlobalPrefs::instance()->setGlobalConfig();
147 p->mCurrentDisplayedView = 0; 147 p->mCurrentDisplayedView = 0;
148 if ( p->mHourSize > 22 ) 148 if ( p->mHourSize > 22 )
149 p->mHourSize = 22; 149 p->mHourSize = 22;
150 QMainWindow::ToolBarDock tbd; 150 QMainWindow::ToolBarDock tbd;
151 if ( p->mToolBarHor ) { 151 if ( p->mToolBarHor ) {
152 if ( p->mToolBarUp ) 152 if ( p->mToolBarUp )
153 tbd = Bottom; 153 tbd = Bottom;
154 else 154 else
155 tbd = Top; 155 tbd = Top;
156 } 156 }
157 else { 157 else {
158 if ( p->mToolBarUp ) 158 if ( p->mToolBarUp )
159 tbd = Right; 159 tbd = Right;
160 else 160 else
161 tbd = Left; 161 tbd = Left;
162 } 162 }
163 if ( KOPrefs::instance()->mUseAppColors ) 163 if ( KOPrefs::instance()->mUseAppColors )
164 QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true ); 164 QApplication::setPalette( QPalette (KOPrefs::instance()->mAppColor1, KOPrefs::instance()->mAppColor2), true );
165 globalFlagBlockStartup = 1; 165 globalFlagBlockStartup = 1;
166 iconToolBar = new QPEToolBar( this ); 166 iconToolBar = new QPEToolBar( this );
167 addToolBar (iconToolBar , tbd ); 167 addToolBar (iconToolBar , tbd );
168 168
169#ifdef DESKTOP_VERSION 169#ifdef DESKTOP_VERSION
170 if ( KOPrefs::instance()->mShowIconFilter ) 170 if ( KOPrefs::instance()->mShowIconFilter )
171#else 171#else
172 if ( KOPrefs::instance()->mShowIconFilter || !p->mShowIconOnetoolbar ) 172 if ( KOPrefs::instance()->mShowIconFilter || !p->mShowIconOnetoolbar )
173#endif 173#endif
174 174
175{ 175{
176 if ( p->mToolBarHorF ) { 176 if ( p->mToolBarHorF ) {
177 if ( p->mToolBarUpF ) 177 if ( p->mToolBarUpF )
178 tbd = Bottom; 178 tbd = Bottom;
179 else 179 else
180 tbd = Top; 180 tbd = Top;
181 } 181 }
182 else { 182 else {
183 if ( p->mToolBarUpF ) 183 if ( p->mToolBarUpF )
184 tbd = Right; 184 tbd = Right;
185 else 185 else
186 tbd = Left; 186 tbd = Left;
187 } 187 }
188 filterToolBar = new QPEToolBar ( this ); 188 filterToolBar = new QPEToolBar ( this );
189 filterMenubar = new QPEMenuBar( filterToolBar ); 189 filterMenubar = new QMenuBar( filterToolBar );
190 QFontMetrics fm ( filterMenubar->font() ); 190 QFontMetrics fm ( filterMenubar->font() );
191 191
192 filterPopupMenu = new QPopupMenu( this ); 192 filterPopupMenu = new QPopupMenu( this );
193 filterMenubar->insertItem( i18n("No Filter"), filterPopupMenu,0 ); 193 filterMenubar->insertItem( i18n("No Filter"), filterPopupMenu,0 );
194 QString addTest = "Ax"; 194 QString addTest = "A";
195 filterMenubar->setMinimumWidth( fm.width( i18n("No Filter")+addTest ) );
195#ifdef DESKTOP_VERSION 196#ifdef DESKTOP_VERSION
196 addTest = "AAAx"; 197 addTest = "AAABBBCCCx";
197#endif 198#else
198 filterMenubar->setFixedWidth( fm.width( i18n("No Filter")+addTest ) ); 199 addTest = "AAx";
200#endif
201 filterMenubar->setMaximumWidth( fm.width( i18n("No Filter")+addTest ) );
199 addToolBar (filterToolBar , tbd ); 202 addToolBar (filterToolBar , tbd );
200 connect ( filterPopupMenu , SIGNAL( activated ( int ) ), this, SLOT (selectFilterPopup( int ) ) ); 203 connect ( filterPopupMenu , SIGNAL( activated ( int ) ), this, SLOT (selectFilterPopup( int ) ) );
201 connect ( filterPopupMenu , SIGNAL( aboutToShow() ), this, SLOT (fillFilterMenuPopup() ) ); 204 connect ( filterPopupMenu , SIGNAL( aboutToShow() ), this, SLOT (fillFilterMenuPopup() ) );
202 if ( !KOPrefs::instance()->mShowIconFilter && !p->mShowIconOnetoolbar ) 205 if ( !KOPrefs::instance()->mShowIconFilter && !p->mShowIconOnetoolbar )
203 filterToolBar->hide(); 206 filterToolBar->hide();
204 } else { 207 } else {
205 filterToolBar = 0; 208 filterToolBar = 0;
206 filterMenubar = 0; 209 filterMenubar = 0;
207 filterPopupMenu = 0; 210 filterPopupMenu = 0;
208 } 211 }
209 if ( p->mShowIconOnetoolbar ) { 212 if ( p->mShowIconOnetoolbar ) {
210 viewToolBar = iconToolBar ; 213 viewToolBar = iconToolBar ;
211 navigatorToolBar = iconToolBar ; 214 navigatorToolBar = iconToolBar ;
212 } else { 215 } else {
213#ifndef DESKTOP_VERSION 216#ifndef DESKTOP_VERSION
214 setToolBarsMovable( false ); 217 setToolBarsMovable( false );
215#endif 218#endif
216 if ( p->mToolBarHorV ) { 219 if ( p->mToolBarHorV ) {
217 if ( p->mToolBarUpV ) 220 if ( p->mToolBarUpV )
218 tbd = Bottom; 221 tbd = Bottom;
219 else 222 else
220 tbd = Top; 223 tbd = Top;
221 } 224 }
222 else { 225 else {
223 if ( p->mToolBarUpV ) 226 if ( p->mToolBarUpV )
224 tbd = Right; 227 tbd = Right;
225 else 228 else
226 tbd = Left; 229 tbd = Left;
227 } 230 }
228 viewToolBar = new QPEToolBar( this ); 231 viewToolBar = new QPEToolBar( this );
229 addToolBar (viewToolBar , tbd ); 232 addToolBar (viewToolBar , tbd );
230 if ( p->mToolBarHorN ) { 233 if ( p->mToolBarHorN ) {
231 if ( p->mToolBarUpN ) 234 if ( p->mToolBarUpN )
232 tbd = Bottom; 235 tbd = Bottom;
233 else 236 else
234 tbd = Top; 237 tbd = Top;
235 } 238 }
236 else { 239 else {
237 if ( p->mToolBarUpN ) 240 if ( p->mToolBarUpN )
238 tbd = Right; 241 tbd = Right;
239 else 242 else
240 tbd = Left; 243 tbd = Left;
241 } 244 }
242 navigatorToolBar = new QPEToolBar( this ); 245 navigatorToolBar = new QPEToolBar( this );
243 addToolBar (navigatorToolBar , tbd ); 246 addToolBar (navigatorToolBar , tbd );
244 } 247 }
245 248
246 249
247 250
248 mCalendarModifiedFlag = false; 251 mCalendarModifiedFlag = false;
249 QLabel* splash = new QLabel(i18n("KO/Pi is starting ... "), this ); 252 QLabel* splash = new QLabel(i18n("KO/Pi is starting ... "), this );
250 splash->setAlignment ( AlignCenter ); 253 splash->setAlignment ( AlignCenter );
251 setCentralWidget( splash ); 254 setCentralWidget( splash );
252#ifndef DESKTOP_VERSION 255#ifndef DESKTOP_VERSION
253 showMaximized(); 256 showMaximized();
254#endif 257#endif
255 258
256 //qDebug("Mainwidget x %d y %d w %d h %d", x(), y(), width(), height ()); 259 //qDebug("Mainwidget x %d y %d w %d h %d", x(), y(), width(), height ());
257 setDefaultPreferences(); 260 setDefaultPreferences();
258 mCalendar = new CalendarLocal(); 261 mCalendar = new CalendarLocal();
259 mView = new CalendarView( mCalendar, this,"mCalendar " ); 262 mView = new CalendarView( mCalendar, this,"mCalendar " );
260 mView->hide(); 263 mView->hide();
261 //mView->resize(splash->size() ); 264 //mView->resize(splash->size() );
262 initActions(); 265 initActions();
263 mSyncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)mView, KSyncManager::KOPI, KOPrefs::instance(), syncMenu); 266 mSyncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)mView, KSyncManager::KOPI, KOPrefs::instance(), syncMenu);
264 mSyncManager->setBlockSave(false); 267 mSyncManager->setBlockSave(false);
265 mView->setSyncManager(mSyncManager); 268 mView->setSyncManager(mSyncManager);
266#ifndef DESKTOP_VERSION 269#ifndef DESKTOP_VERSION
267 iconToolBar->show(); 270 iconToolBar->show();
268 qApp->processEvents(); 271 qApp->processEvents();
269#endif 272#endif
270 //qDebug("Splashwidget x %d y %d w %d h %d", splash-> x(), splash->y(), splash->width(),splash-> height ()); 273 //qDebug("Splashwidget x %d y %d w %d h %d", splash-> x(), splash->y(), splash->width(),splash-> height ());
271 int vh = height() ; 274 int vh = height() ;
272 int vw = width(); 275 int vw = width();
273 //qDebug("Toolbar hei %d ",iconToolBar->height() ); 276 //qDebug("Toolbar hei %d ",iconToolBar->height() );
274 if ( iconToolBar->orientation () == Qt:: Horizontal ) { 277 if ( iconToolBar->orientation () == Qt:: Horizontal ) {
275 vh -= iconToolBar->height(); 278 vh -= iconToolBar->height();
276 } else { 279 } else {
277 vw -= iconToolBar->height(); 280 vw -= iconToolBar->height();
278 } 281 }
279 //mView->setMaximumSize( splash->size() ); 282 //mView->setMaximumSize( splash->size() );
280 //mView->resize( splash->size() ); 283 //mView->resize( splash->size() );
281 //qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ()); 284 //qDebug("MainView x %d y %d w %d h %d", mView->x(),mView-> y(), mView->width(), mView->height ());
282 mView->readSettings(); 285 mView->readSettings();
283 bool newFile = false; 286 bool newFile = false;
284 if( !QFile::exists( defaultFileName() ) ) { 287 if( !QFile::exists( defaultFileName() ) ) {
285 QFileInfo finfo ( defaultFileName() ); 288 QFileInfo finfo ( defaultFileName() );
286 QString oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/Applications/korganizer/mycalendar.ics"); 289 QString oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/Applications/korganizer/mycalendar.ics");
287 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"; 290 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";
288 finfo.setFile( oldFile ); 291 finfo.setFile( oldFile );
289 if (finfo.exists() ) { 292 if (finfo.exists() ) {
290 KMessageBox::information( this, message); 293 KMessageBox::information( this, message);
291 mView->openCalendar( oldFile ); 294 mView->openCalendar( oldFile );
292 qApp->processEvents(); 295 qApp->processEvents();
293 } else { 296 } else {
294 oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/korganizer/mycalendar.ics"); 297 oldFile = QDir::convertSeparators( QDir::homeDirPath()+"/korganizer/mycalendar.ics");
295 finfo.setFile( oldFile ); 298 finfo.setFile( oldFile );
296 if (finfo.exists() ) { 299 if (finfo.exists() ) {
297 KMessageBox::information( this, message); 300 KMessageBox::information( this, message);
298 mView->openCalendar( oldFile ); 301 mView->openCalendar( oldFile );
299 qApp->processEvents(); 302 qApp->processEvents();
300 } 303 }
301 } 304 }
302 mView->saveCalendar( defaultFileName() ); 305 mView->saveCalendar( defaultFileName() );
303 newFile = true; 306 newFile = true;
304 } 307 }
305 308
306 QTime neededSaveTime = QDateTime::currentDateTime().time(); 309 QTime neededSaveTime = QDateTime::currentDateTime().time();
307 mView->openCalendar( defaultFileName() ); 310 mView->openCalendar( defaultFileName() );
308 int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() ); 311 int msNeeded = neededSaveTime.msecsTo( QDateTime::currentDateTime().time() );
309 qDebug("KO: Calendar loading time: %d ms",msNeeded ); 312 qDebug("KO: Calendar loading time: %d ms",msNeeded );
310 313
311 if ( KPimGlobalPrefs::instance()->mPreferredLanguage != KOPrefs::instance()->mOldLoadedLanguage ) { 314 if ( KPimGlobalPrefs::instance()->mPreferredLanguage != KOPrefs::instance()->mOldLoadedLanguage ) {
312 KOPrefs::instance()->setAllDefaults(); 315 KOPrefs::instance()->setAllDefaults();
313 int count = mView->addCategories(); 316 int count = mView->addCategories();
314 } 317 }
315 processIncidenceSelection( 0 ); 318 processIncidenceSelection( 0 );
316 connect( mView, SIGNAL( incidenceSelected( Incidence * ) ), 319 connect( mView, SIGNAL( incidenceSelected( Incidence * ) ),
317 SLOT( processIncidenceSelection( Incidence * ) ) ); 320 SLOT( processIncidenceSelection( Incidence * ) ) );
318 connect( mView, SIGNAL( modifiedChanged( bool ) ), 321 connect( mView, SIGNAL( modifiedChanged( bool ) ),
319 SLOT( slotModifiedChanged( bool ) ) ); 322 SLOT( slotModifiedChanged( bool ) ) );
320 323
321 324
322 connect( mView, SIGNAL( tempDisableBR(bool) ), 325 connect( mView, SIGNAL( tempDisableBR(bool) ),
323 SLOT( disableBR(bool) ) ); 326 SLOT( disableBR(bool) ) );
324 connect( &mSaveTimer, SIGNAL( timeout() ), SLOT( save() ) ); 327 connect( &mSaveTimer, SIGNAL( timeout() ), SLOT( save() ) );
325 mView->setModified( false ); 328 mView->setModified( false );
326 mBlockAtStartup = false; 329 mBlockAtStartup = false;
diff --git a/korganizer/mainwindow.h b/korganizer/mainwindow.h
index 45ed04d..8fd3d24 100644
--- a/korganizer/mainwindow.h
+++ b/korganizer/mainwindow.h
@@ -1,166 +1,166 @@
1#ifndef KORGE_MAINWINDOW_H 1#ifndef KORGE_MAINWINDOW_H
2#define KORGE_MAINWINDOW_H 2#define KORGE_MAINWINDOW_H
3 3
4#include <qmainwindow.h> 4#include <qmainwindow.h>
5#include <qtimer.h> 5#include <qtimer.h>
6#include <qdict.h> 6#include <qdict.h>
7#include <qfile.h> 7#include <qfile.h>
8#include <qmenubar.h> 8#include <qmenubar.h>
9#include <qtextstream.h> 9#include <qtextstream.h>
10#include <qregexp.h> 10#include <qregexp.h>
11 11
12#include <libkcal/incidence.h> 12#include <libkcal/incidence.h>
13#include <ksyncmanager.h> 13#include <ksyncmanager.h>
14#ifndef DESKTOP_VERSION 14#ifndef DESKTOP_VERSION
15#include <qcopchannel_qws.h> 15#include <qcopchannel_qws.h>
16#endif 16#endif
17class QAction; 17class QAction;
18class CalendarView; 18class CalendarView;
19class KSyncProfile; 19class KSyncProfile;
20#ifdef DESKTOP_VERSION 20#ifdef DESKTOP_VERSION
21 21
22#define QPEToolBar QToolBar 22#define QPEToolBar QToolBar
23#define QPEMenuBar QMenuBar 23#define QPEMenuBar QMenuBar
24#endif 24#endif
25class QPEToolBar; 25class QPEToolBar;
26class QPEMenuBar; 26class QPEMenuBar;
27 27
28 28
29namespace KCal { 29namespace KCal {
30class CalendarLocal; 30class CalendarLocal;
31} 31}
32 32
33using namespace KCal; 33using namespace KCal;
34 34
35class MainWindow : public QMainWindow 35class MainWindow : public QMainWindow
36{ 36{
37 Q_OBJECT 37 Q_OBJECT
38 public: 38 public:
39 MainWindow( QWidget *parent = 0, const char *name = 0, QString command = ""); 39 MainWindow( QWidget *parent = 0, const char *name = 0, QString command = "");
40 ~MainWindow(); 40 ~MainWindow();
41 bool beamReceiveEnabled(); 41 bool beamReceiveEnabled();
42 static QString defaultFileName(); 42 static QString defaultFileName();
43 static QString syncFileName(); 43 static QString syncFileName();
44 static QString resourcePath(); 44 static QString resourcePath();
45 public slots: 45 public slots:
46 void setCaption ( const QString & ); 46 void setCaption ( const QString & );
47 void updateWeekNum(const KCal::DateList &); 47 void updateWeekNum(const KCal::DateList &);
48 void updateWeek(QDate); 48 void updateWeek(QDate);
49 void updateFilterToolbar(); 49 void updateFilterToolbar();
50 virtual void showMaximized (); 50 virtual void showMaximized ();
51 void configureAgenda( int ); 51 void configureAgenda( int );
52 void recieve( const QCString& msg, const QByteArray& data ); 52 void recieve( const QCString& msg, const QByteArray& data );
53 protected slots: 53 protected slots:
54 void setCaptionToDates(); 54 void setCaptionToDates();
55 void weekAction(); 55 void weekAction();
56 void about(); 56 void about();
57 void licence(); 57 void licence();
58 void faq(); 58 void faq();
59 void usertrans(); 59 void usertrans();
60 void features(); 60 void features();
61 void synchowto(); 61 void synchowto();
62 void storagehowto(); 62 void storagehowto();
63 void timetrackinghowto(); 63 void timetrackinghowto();
64 void kdesynchowto(); 64 void kdesynchowto();
65 void multisynchowto(); 65 void multisynchowto();
66 void whatsNew(); 66 void whatsNew();
67 void keyBindings(); 67 void keyBindings();
68 void aboutAutoSaving();; 68 void aboutAutoSaving();;
69 void aboutKnownBugs(); 69 void aboutKnownBugs();
70 70
71 void processIncidenceSelection( Incidence * ); 71 void processIncidenceSelection( Incidence * );
72 72
73 void importQtopia(); 73 void importQtopia();
74 void importBday(); 74 void importBday();
75 void importOL(); 75 void importOL();
76 void importIcal(); 76 void importIcal();
77 void importFile( QString, bool ); 77 void importFile( QString, bool );
78 void quickImportIcal(); 78 void quickImportIcal();
79 79
80 void slotModifiedChanged( bool ); 80 void slotModifiedChanged( bool );
81 81
82 void save(); 82 void save();
83 void saveStopTimer(); 83 void saveStopTimer();
84 void configureToolBar( int ); 84 void configureToolBar( int );
85 void printSel(); 85 void printSel();
86 void printCal(); 86 void printCal();
87 void saveCalendar(); 87 void saveCalendar();
88 void loadCalendar(); 88 void loadCalendar();
89 void exportVCalendar(); 89 void exportVCalendar();
90 void fillFilterMenu(); 90 void fillFilterMenu();
91 void fillFilterMenuTB(); 91 void fillFilterMenuTB();
92 void selectFilter( int ); 92 void selectFilter( int );
93 void fillFilterMenuPopup(); 93 void fillFilterMenuPopup();
94 void selectFilterPopup( int ); 94 void selectFilterPopup( int );
95 void exportToPhone( int ); 95 void exportToPhone( int );
96 void toggleBeamReceive(); 96 void toggleBeamReceive();
97 void disableBR(bool); 97 void disableBR(bool);
98 signals: 98 signals:
99 void selectWeek ( int ); 99 void selectWeek ( int );
100 private slots: 100 private slots:
101 void showConfigureAgenda(); 101 void showConfigureAgenda();
102 void getFile( bool ); 102 void getFile( bool );
103 void syncFileRequest(); 103 void syncFileRequest();
104 104
105 protected: 105 protected:
106 void hideEvent ( QHideEvent * ); 106 void hideEvent ( QHideEvent * );
107 QString sentSyncFile(); 107 QString sentSyncFile();
108 void displayText( QString, QString); 108 void displayText( QString, QString);
109 void enableIncidenceActions( bool ); 109 void enableIncidenceActions( bool );
110 110
111 private: 111 private:
112 bool mBRdisabled; 112 bool mBRdisabled;
113#ifndef DESKTOP_VERSION 113#ifndef DESKTOP_VERSION
114 QCopChannel* infrared; 114 QCopChannel* infrared;
115#endif 115#endif
116 QAction* brAction; 116 QAction* brAction;
117 KSyncManager* mSyncManager; 117 KSyncManager* mSyncManager;
118 bool mClosed; 118 bool mClosed;
119 void saveOnClose(); 119 void saveOnClose();
120 bool mFlagKeyPressed; 120 bool mFlagKeyPressed;
121 bool mBlockAtStartup; 121 bool mBlockAtStartup;
122 QPEToolBar *iconToolBar; 122 QPEToolBar *iconToolBar;
123 QPEToolBar *viewToolBar; 123 QPEToolBar *viewToolBar;
124 QPEToolBar *navigatorToolBar; 124 QPEToolBar *navigatorToolBar;
125 QPEToolBar *filterToolBar; 125 QPEToolBar *filterToolBar;
126 QPEMenuBar *filterMenubar; 126 QMenuBar *filterMenubar;
127 QPopupMenu * filterPopupMenu; 127 QPopupMenu * filterPopupMenu;
128 void initActions(); 128 void initActions();
129 void setDefaultPreferences(); 129 void setDefaultPreferences();
130 void resizeEvent( QResizeEvent* e); 130 void resizeEvent( QResizeEvent* e);
131 void keyPressEvent ( QKeyEvent * ) ; 131 void keyPressEvent ( QKeyEvent * ) ;
132 void keyReleaseEvent ( QKeyEvent * ) ; 132 void keyReleaseEvent ( QKeyEvent * ) ;
133 QPopupMenu *configureToolBarMenu; 133 QPopupMenu *configureToolBarMenu;
134 QPopupMenu *selectFilterMenu; 134 QPopupMenu *selectFilterMenu;
135 QPopupMenu *selectFilterMenuTB; 135 QPopupMenu *selectFilterMenuTB;
136 QPopupMenu *configureAgendaMenu, *syncMenu; 136 QPopupMenu *configureAgendaMenu, *syncMenu;
137 CalendarLocal *mCalendar; 137 CalendarLocal *mCalendar;
138 CalendarView *mView; 138 CalendarView *mView;
139 QAction *mNewSubTodoAction; 139 QAction *mNewSubTodoAction;
140 QAction *mWeekAction; 140 QAction *mWeekAction;
141 QFont mWeekFont; 141 QFont mWeekFont;
142 QPixmap mWeekPixmap; 142 QPixmap mWeekPixmap;
143 QColor mWeekBgColor; 143 QColor mWeekBgColor;
144 144
145 QAction *mShowAction; 145 QAction *mShowAction;
146 QAction *mEditAction; 146 QAction *mEditAction;
147 QAction *mDeleteAction; 147 QAction *mDeleteAction;
148 QAction *mCloneAction; 148 QAction *mCloneAction;
149 QAction *mMoveAction; 149 QAction *mMoveAction;
150 QAction *mBeamAction; 150 QAction *mBeamAction;
151 QAction *mCancelAction; 151 QAction *mCancelAction;
152 152
153 QAction *mToggleNav; 153 QAction *mToggleNav;
154 QAction *mToggleFilter; 154 QAction *mToggleFilter;
155 QAction *mToggleAllday; 155 QAction *mToggleAllday;
156 QAction *actionFilterMenuTB; 156 QAction *actionFilterMenuTB;
157 157
158 void closeEvent( QCloseEvent* ce ); 158 void closeEvent( QCloseEvent* ce );
159 QTimer mSaveTimer; 159 QTimer mSaveTimer;
160 //bool mBlockSaveFlag; 160 //bool mBlockSaveFlag;
161 bool mCalendarModifiedFlag; 161 bool mCalendarModifiedFlag;
162 QPixmap loadPixmap( QString ); 162 QPixmap loadPixmap( QString );
163}; 163};
164 164
165 165
166#endif 166#endif