summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--Makefile657
-rw-r--r--bin/kdepim/WhatsNew.txt1
-rw-r--r--korganizer/komonthview.cpp40
-rw-r--r--korganizer/komonthview.h11
4 files changed, 336 insertions, 373 deletions
diff --git a/Makefile b/Makefile
index 467710f..723ac38 100644
--- a/Makefile
+++ b/Makefile
@@ -1,368 +1,291 @@
1export KDEPIMDIR = $(shell pwd) 1#############################################################################
2 2# Makefile for building: kdepim-desktop
3export KDEPIM_VERSION=$(shell sed -e 's/.*\"\([0-9]*\.[0-9]*\.[0-9]*\).*/\1/' < version) 3# Generated by qmake (1.07a) (Qt 3.3.3) on: Tue Jan 11 15:52:39 2005
4 4# Project: kdepim-desktop.pro
5ifeq ($(PLATFORM) , zaurus) 5# Template: subdirs
6 BUILD_NO_LDAP_PLUGIN=1 6# Command: $(QMAKE) -o Makefile kdepim-desktop.pro
7endif 7#############################################################################
8 8
9ifneq ($(PLATFORM) , zaurus) 9 MAKEFILE =Makefile
10 BUILD_NO_SHARP_PLUGIN=1 10 QMAKE =qmake
11endif 11DEL_FILE = rm -f
12 12CHK_DIR_EXISTS= test -d
13#opie plugin is deprecated. The qtopia plugin handles the task from now on. 13MKDIR = mkdir -p
14BUILD_NO_OPIE_PLUGIN=1 14INSTALL_FILE=
15 15INSTALL_DIR =
16SUBDIRS_MICROKDE = \ 16 SUBTARGETS = \
17 libical/src/libical \ 17 sub-libical \
18 libical/src/libicalss \ 18 sub-libkcal \
19 qtcompat \ 19 sub-kabc \
20 microkde \ 20 sub-libkdepim \
21 libkcal \ 21 sub-microkde \
22 libkdepim \ 22 sub-korganizer \
23 kabc \ 23 sub-kaddressbook \
24 kabc/formats/binary \ 24 sub-kabc-plugins-file \
25 kabc/plugins/file \ 25 sub-kabc-plugins-dir \
26 kabc/plugins/dir \ 26 sub-kabc-plugins-file \
27 korganizer \ 27 sub-kabc-plugins-qtopia \
28 kalarmd \ 28 sub-gammu-emb-common \
29 kaddressbook 29 sub-gammu-emb-gammu \
30 30 sub-kmicromail-libetpan \
31SUBDIRS_QTOPIA_PLUGIN = \ 31 sub-kmicromail-libmailwrapper \
32 kabc/plugins/qtopia 32 sub-kmicromail \
33 33 sub-pwmanager-libcrypt-cipher \
34SUBDIRS_OPIE_PLUGIN = \ 34 sub-pwmanager-libcrypt-error \
35 kabc/plugins/opie 35 sub-pwmanager-libcrypt-mpi \
36 36 sub-pwmanager-libcrypt-zlib \
37SUBDIRS_SHARP_PLUGIN = \ 37 sub-pwmanager-pwmanager
38 kabc/plugins/sharpdtm 38
39 39first: all
40SUBDIRS_LDAP_PLUGIN = \ 40
41 kabc/plugins/ldap 41all: Makefile $(SUBTARGETS)
42 42
43SUBDIRS_MICROMAIL = \ 43libical/$(MAKEFILE):
44 kmicromail/libetpan \ 44 @$(CHK_DIR_EXISTS) "libical" || $(MKDIR) "libical"
45 kmicromail/libmailwrapper \ 45 cd libical && $(QMAKE) libical.pro -o $(MAKEFILE)
46 kmicromail 46sub-libical: libical/$(MAKEFILE) FORCE
47 47 cd libical && $(MAKE) -f $(MAKEFILE)
48SUBDIRS_GAMMU = \ 48
49 gammu/emb/common \ 49libkcal/$(MAKEFILE):
50 gammu/emb/gammu 50 @$(CHK_DIR_EXISTS) "libkcal" || $(MKDIR) "libkcal"
51 51 cd libkcal && $(QMAKE) libkcal.pro -o $(MAKEFILE)
52SUBDIRS_PWMANAGER = \ 52sub-libkcal: libkcal/$(MAKEFILE) FORCE
53 pwmanager/libcrypt/mpi \ 53 cd libkcal && $(MAKE) -f $(MAKEFILE)
54 pwmanager/libcrypt/error \ 54
55 pwmanager/libcrypt/cipher \ 55kabc/$(MAKEFILE):
56 pwmanager/libcrypt/zlib \ 56 @$(CHK_DIR_EXISTS) "kabc" || $(MKDIR) "kabc"
57 pwmanager/pwmanager 57 cd kabc && $(QMAKE) kabc.pro -o $(MAKEFILE)
58 58sub-kabc: kabc/$(MAKEFILE) FORCE
59SUBDIRS = \ 59 cd kabc && $(MAKE) -f $(MAKEFILE)
60 $(SUBDIRS_MICROKDE) \ 60
61 $(SUBDIRS_QTOPIA_PLUGIN) \ 61libkdepim/$(MAKEFILE):
62 $(SUBDIRS_OPIE_PLUGIN) \ 62 @$(CHK_DIR_EXISTS) "libkdepim" || $(MKDIR) "libkdepim"
63 $(SUBDIRS_SHARP_PLUGIN) \ 63 cd libkdepim && $(QMAKE) libkdepim.pro -o $(MAKEFILE)
64 $(SUBDIRS_LDAP_PLUGIN) \ 64sub-libkdepim: libkdepim/$(MAKEFILE) FORCE
65 $(SUBDIRS_MICROMAIL) \ 65 cd libkdepim && $(MAKE) -f $(MAKEFILE)
66 $(SUBDIRS_GAMMU) \ 66
67 $(SUBDIRS_PWMANAGER) 67microkde/$(MAKEFILE):
68 68 @$(CHK_DIR_EXISTS) "microkde" || $(MKDIR) "microkde"
69 69 cd microkde && $(QMAKE) microkde.pro -o $(MAKEFILE)
70all: build_microkde \ 70sub-microkde: microkde/$(MAKEFILE) FORCE
71 build_qtopia_plugin \ 71 cd microkde && $(MAKE) -f $(MAKEFILE)
72 build_opie_plugin \ 72
73 build_sharp_plugin \ 73korganizer/$(MAKEFILE):
74 build_ldap_plugin \ 74 @$(CHK_DIR_EXISTS) "korganizer" || $(MKDIR) "korganizer"
75 build_micromail \ 75 cd korganizer && $(QMAKE) korganizer.pro -o $(MAKEFILE)
76 build_gammu \ 76sub-korganizer: korganizer/$(MAKEFILE) FORCE
77 build_pwmanager 77 cd korganizer && $(MAKE) -f $(MAKEFILE)
78 78
79 79kaddressbook/$(MAKEFILE):
80build_microkde: variable_test tmake 80 @$(CHK_DIR_EXISTS) "kaddressbook" || $(MKDIR) "kaddressbook"
81 for i in $(SUBDIRS_MICROKDE); do pushd $$i; \ 81 cd kaddressbook && $(QMAKE) kaddressbook.pro -o $(MAKEFILE)
82 make -f Makefile$(PLATFORM) || exit 1; popd; \ 82sub-kaddressbook: kaddressbook/$(MAKEFILE) FORCE
83 done 83 cd kaddressbook && $(MAKE) -f $(MAKEFILE)
84 84
85build_qtopia_plugin: build_microkde 85kabc/plugins/file/$(MAKEFILE):
86 ifdef BUILD_NO_QTOPIA_PLUGIN 86 @$(CHK_DIR_EXISTS) "kabc/plugins/file" || $(MKDIR) "kabc/plugins/file"
87 @echo == qtopia plugin not build. 87 cd kabc/plugins/file && $(QMAKE) file.pro -o $(MAKEFILE)
88 else 88sub-kabc-plugins-file: kabc/plugins/file/$(MAKEFILE) FORCE
89 for i in $(SUBDIRS_QTOPIA_PLUGIN); do pushd $$i; \ 89 cd kabc/plugins/file && $(MAKE) -f $(MAKEFILE)
90 make -f Makefile$(PLATFORM) || exit 1; popd; \ 90
91 done 91kabc/plugins/dir/$(MAKEFILE):
92 endif 92 @$(CHK_DIR_EXISTS) "kabc/plugins/dir" || $(MKDIR) "kabc/plugins/dir"
93 93 cd kabc/plugins/dir && $(QMAKE) dir.pro -o $(MAKEFILE)
94build_opie_plugin: build_microkde 94sub-kabc-plugins-dir: kabc/plugins/dir/$(MAKEFILE) FORCE
95 ifdef BUILD_NO_OPIE_PLUGIN 95 cd kabc/plugins/dir && $(MAKE) -f $(MAKEFILE)
96 @echo == opie plugin not build. 96
97 else 97kabc/plugins/file/$(MAKEFILE):
98 for i in $(SUBDIRS_OPIE_PLUGIN); do pushd $$i; \ 98 @$(CHK_DIR_EXISTS) "kabc/plugins/file" || $(MKDIR) "kabc/plugins/file"
99 make -f Makefile$(PLATFORM) || exit 1; popd; \ 99 cd kabc/plugins/file && $(QMAKE) file.pro -o $(MAKEFILE)
100 done 100sub-kabc-plugins-file: kabc/plugins/file/$(MAKEFILE) FORCE
101 endif 101 cd kabc/plugins/file && $(MAKE) -f $(MAKEFILE)
102 102
103build_sharp_plugin: build_microkde 103kabc/plugins/qtopia/$(MAKEFILE):
104 ifdef BUILD_NO_SHARP_PLUGIN 104 @$(CHK_DIR_EXISTS) "kabc/plugins/qtopia" || $(MKDIR) "kabc/plugins/qtopia"
105 @echo == ldap plugin not build. 105 cd kabc/plugins/qtopia && $(QMAKE) qtopia.pro -o $(MAKEFILE)
106 else 106sub-kabc-plugins-qtopia: kabc/plugins/qtopia/$(MAKEFILE) FORCE
107 for i in $(SUBDIRS_SHARP_PLUGIN); do pushd $$i; \ 107 cd kabc/plugins/qtopia && $(MAKE) -f $(MAKEFILE)
108 make -f Makefile$(PLATFORM) || exit 1; popd; \ 108
109 done 109gammu/emb/common/$(MAKEFILE):
110 endif 110 @$(CHK_DIR_EXISTS) "gammu/emb/common" || $(MKDIR) "gammu/emb/common"
111 111 cd gammu/emb/common && $(QMAKE) common.pro -o $(MAKEFILE)
112build_ldap_plugin: build_microkde 112sub-gammu-emb-common: gammu/emb/common/$(MAKEFILE) FORCE
113 ifdef BUILD_NO_LDAP_PLUGIN 113 cd gammu/emb/common && $(MAKE) -f $(MAKEFILE)
114 @echo == ldap plugin not build. 114
115 else 115gammu/emb/gammu/$(MAKEFILE):
116 for i in $(SUBDIRS_LDAP_PLUGIN); do pushd $$i; \ 116 @$(CHK_DIR_EXISTS) "gammu/emb/gammu" || $(MKDIR) "gammu/emb/gammu"
117 make -f Makefile$(PLATFORM) || exit 1; popd; \ 117 cd gammu/emb/gammu && $(QMAKE) gammu.pro -o $(MAKEFILE)
118 done 118sub-gammu-emb-gammu: gammu/emb/gammu/$(MAKEFILE) FORCE
119 endif 119 cd gammu/emb/gammu && $(MAKE) -f $(MAKEFILE)
120 120
121 121kmicromail/libetpan/$(MAKEFILE):
122build_micromail: build_microkde 122 @$(CHK_DIR_EXISTS) "kmicromail/libetpan" || $(MKDIR) "kmicromail/libetpan"
123 ifdef BUILD_NO_MICROMAIL 123 cd kmicromail/libetpan && $(QMAKE) libetpan.pro -o $(MAKEFILE)
124 @echo == kmicromail not build. 124sub-kmicromail-libetpan: kmicromail/libetpan/$(MAKEFILE) FORCE
125 else 125 cd kmicromail/libetpan && $(MAKE) -f $(MAKEFILE)
126 for i in $(SUBDIRS_MICROMAIL); do pushd $$i; \ 126
127 make -f Makefile$(PLATFORM) || exit 1; popd; \ 127kmicromail/libmailwrapper/$(MAKEFILE):
128 done 128 @$(CHK_DIR_EXISTS) "kmicromail/libmailwrapper" || $(MKDIR) "kmicromail/libmailwrapper"
129 endif 129 cd kmicromail/libmailwrapper && $(QMAKE) libmailwrapper.pro -o $(MAKEFILE)
130 130sub-kmicromail-libmailwrapper: kmicromail/libmailwrapper/$(MAKEFILE) FORCE
131build_gammu: variable_test tmake 131 cd kmicromail/libmailwrapper && $(MAKE) -f $(MAKEFILE)
132 ifdef BUILD_NO_GAMMU 132
133 @echo == gammu not build. 133kmicromail/$(MAKEFILE):
134 else 134 @$(CHK_DIR_EXISTS) "kmicromail" || $(MKDIR) "kmicromail"
135 for i in $(SUBDIRS_GAMMU); do pushd $$i; \ 135 cd kmicromail && $(QMAKE) kmicromail.pro -o $(MAKEFILE)
136 make -f Makefile$(PLATFORM) || exit 1; popd; \ 136sub-kmicromail: kmicromail/$(MAKEFILE) FORCE
137 done 137 cd kmicromail && $(MAKE) -f $(MAKEFILE)
138 endif 138
139 139pwmanager/libcrypt/cipher/$(MAKEFILE):
140build_pwmanager: build_microkde 140 @$(CHK_DIR_EXISTS) "pwmanager/libcrypt/cipher" || $(MKDIR) "pwmanager/libcrypt/cipher"
141 ifdef BUILD_NO_PWMANAGER 141 cd pwmanager/libcrypt/cipher && $(QMAKE) cipher.pro -o $(MAKEFILE)
142 @echo == pwmanager not build. 142sub-pwmanager-libcrypt-cipher: pwmanager/libcrypt/cipher/$(MAKEFILE) FORCE
143 else 143 cd pwmanager/libcrypt/cipher && $(MAKE) -f $(MAKEFILE)
144 for i in $(SUBDIRS_PWMANAGER); do pushd $$i; \ 144
145 make -f Makefile$(PLATFORM) || exit 1; popd; \ 145pwmanager/libcrypt/error/$(MAKEFILE):
146 done 146 @$(CHK_DIR_EXISTS) "pwmanager/libcrypt/error" || $(MKDIR) "pwmanager/libcrypt/error"
147 endif 147 cd pwmanager/libcrypt/error && $(QMAKE) error.pro -o $(MAKEFILE)
148 148sub-pwmanager-libcrypt-error: pwmanager/libcrypt/error/$(MAKEFILE) FORCE
149 149 cd pwmanager/libcrypt/error && $(MAKE) -f $(MAKEFILE)
150variable_info: 150
151 @echo -------------------------------------- 151pwmanager/libcrypt/mpi/$(MAKEFILE):
152 @echo KDEPIM buildsystem, variableinfo... 152 @$(CHK_DIR_EXISTS) "pwmanager/libcrypt/mpi" || $(MKDIR) "pwmanager/libcrypt/mpi"
153 @echo KDEPIMDIR=$(KDEPIMDIR) 153 cd pwmanager/libcrypt/mpi && $(QMAKE) mpi.pro -o $(MAKEFILE)
154 @echo QTDIR=$(QTDIR) 154sub-pwmanager-libcrypt-mpi: pwmanager/libcrypt/mpi/$(MAKEFILE) FORCE
155 @echo QPEDIR=$(QPEDIR) 155 cd pwmanager/libcrypt/mpi && $(MAKE) -f $(MAKEFILE)
156 @echo OPIEDIR=$(OPIEDIR) 156
157 @echo PLATFORM=$(PLATFORM) 157pwmanager/libcrypt/zlib/$(MAKEFILE):
158 @echo RELEASE_DEBUG=$(RELEASE_DEBUG) 158 @$(CHK_DIR_EXISTS) "pwmanager/libcrypt/zlib" || $(MKDIR) "pwmanager/libcrypt/zlib"
159 @echo BUILD_NO_MICROMAIL=$(BUILD_NO_MICROMAIL) 159 cd pwmanager/libcrypt/zlib && $(QMAKE) zlib.pro -o $(MAKEFILE)
160 @echo BUILD_NO_LDAP_PLUGIN=$(BUILD_NO_LDAP_PLUGIN) 160sub-pwmanager-libcrypt-zlib: pwmanager/libcrypt/zlib/$(MAKEFILE) FORCE
161 @echo BUILD_NO_OPIE_PLUGIN=$(BUILD_NO_OPIE_PLUGIN) 161 cd pwmanager/libcrypt/zlib && $(MAKE) -f $(MAKEFILE)
162 @echo BUILD_NO_QTOPIA_PLUGIN=$(BUILD_NO_QTOPIA_PLUGIN) 162
163 @echo BUILD_NO_SHARP_PLUGIN=$(BUILD_NO_SHARP_PLUGIN) 163pwmanager/pwmanager/$(MAKEFILE):
164 ifndef BUILD_NO_SHARP_PLUGIN 164 @$(CHK_DIR_EXISTS) "pwmanager/pwmanager" || $(MKDIR) "pwmanager/pwmanager"
165 @echo SHARPDTMSDK=$(SHARPDTMSDK) 165 cd pwmanager/pwmanager && $(QMAKE) pwmanager.pro -o $(MAKEFILE)
166 endif 166sub-pwmanager-pwmanager: pwmanager/pwmanager/$(MAKEFILE) FORCE
167 @echo BUILD_NO_GAMMU=$(BUILD_NO_GAMMU) 167 cd pwmanager/pwmanager && $(MAKE) -f $(MAKEFILE)
168 @echo BUILD_NO_PWMANAGER=$(BUILD_NO_PWMANAGER) 168
169 @echo -------------------------------------- 169Makefile: kdepim-desktop.pro /usr/lib/qt3/mkspecs/default/qmake.conf
170 170 $(QMAKE) -o Makefile kdepim-desktop.pro
171variable_test: variable_info 171qmake: qmake_all
172 @echo KDEPIM buildsystem, variablecheck... 172 @$(QMAKE) -o Makefile kdepim-desktop.pro
173 ifndef KDEPIMDIR 173
174 @echo KDEPIMDIR is not defined. 174all: $(SUBTARGETS)
175 $(error KDEPIMDIR is not defined) 175qmake_all: libical/$(MAKEFILE) libkcal/$(MAKEFILE) kabc/$(MAKEFILE) libkdepim/$(MAKEFILE) microkde/$(MAKEFILE) korganizer/$(MAKEFILE) kaddressbook/$(MAKEFILE) kabc/plugins/file/$(MAKEFILE) kabc/plugins/dir/$(MAKEFILE) kabc/plugins/file/$(MAKEFILE) kabc/plugins/qtopia/$(MAKEFILE) gammu/emb/common/$(MAKEFILE) gammu/emb/gammu/$(MAKEFILE) kmicromail/libetpan/$(MAKEFILE) kmicromail/libmailwrapper/$(MAKEFILE) kmicromail/$(MAKEFILE) pwmanager/libcrypt/cipher/$(MAKEFILE) pwmanager/libcrypt/error/$(MAKEFILE) pwmanager/libcrypt/mpi/$(MAKEFILE) pwmanager/libcrypt/zlib/$(MAKEFILE) pwmanager/pwmanager/$(MAKEFILE)
176 endif 176 ( [ -d libical ] && cd libical ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
177 ifndef PLATFORM 177 ( [ -d libkcal ] && cd libkcal ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
178 @echo PLATFORM is not defined. 178 ( [ -d kabc ] && cd kabc ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
179 $(error PLATFORM is not defined) 179 ( [ -d libkdepim ] && cd libkdepim ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
180 endif 180 ( [ -d microkde ] && cd microkde ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
181 ifdef BUILD_NO_LDAP_PLUGIN 181 ( [ -d korganizer ] && cd korganizer ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
182 @echo LDAP PLUGIN will not be build, because BUILD_NO_LDAP_PLUGIN is set to $(BUILD_NO_LDAP_PLUGIN) 182 ( [ -d kaddressbook ] && cd kaddressbook ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
183 endif 183 ( [ -d kabc/plugins/file ] && cd kabc/plugins/file ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
184 ifdef BUILD_NO_OPIE_PLUGIN 184 ( [ -d kabc/plugins/dir ] && cd kabc/plugins/dir ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
185 @echo OPIE PLUGIN will not be build, because BUILD_NO_OPIE_PLUGIN is set to $(BUILD_NO_OPIE_PLUGIN) 185 ( [ -d kabc/plugins/file ] && cd kabc/plugins/file ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
186 endif 186 ( [ -d kabc/plugins/qtopia ] && cd kabc/plugins/qtopia ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
187 ifdef BUILD_NO_QTOPIA_PLUGIN 187 ( [ -d gammu/emb/common ] && cd gammu/emb/common ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
188 @echo QTOPIA PLUGIN will not be build, because BUILD_NO__QTOPIA_PLUGIN is set to $(BUILD_NO__QTOPIA_PLUGIN) 188 ( [ -d gammu/emb/gammu ] && cd gammu/emb/gammu ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
189 endif 189 ( [ -d kmicromail/libetpan ] && cd kmicromail/libetpan ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
190 ifdef BUILD_NO_MICROMAIL 190 ( [ -d kmicromail/libmailwrapper ] && cd kmicromail/libmailwrapper ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
191 @echo MICROMAIL will not be build, because BUILD_NO_MICROMAIL is set to $(BUILD_NO_MICROMAIL) 191 ( [ -d kmicromail ] && cd kmicromail ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
192 endif 192 ( [ -d pwmanager/libcrypt/cipher ] && cd pwmanager/libcrypt/cipher ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
193 ifdef BUILD_NO_SHARP_PLUGIN 193 ( [ -d pwmanager/libcrypt/error ] && cd pwmanager/libcrypt/error ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
194 @echo SHARP PLUGIN will not be build, because BUILD_NO_SHARP_PLUGIN is set to $(BUILD_NO_SHARP_PLUGIN) 194 ( [ -d pwmanager/libcrypt/mpi ] && cd pwmanager/libcrypt/mpi ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
195 else 195 ( [ -d pwmanager/libcrypt/zlib ] && cd pwmanager/libcrypt/zlib ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
196 ifndef SHARPDTMSDK 196 ( [ -d pwmanager/pwmanager ] && cd pwmanager/pwmanager ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
197 @echo SHARP PLUGIN can not be build, because SHARPDTMSDK is set to $(SHARPDTMSDK) 197clean uicables mocables uiclean mocclean lexclean yaccclean : qmake_all FORCE
198 $(error SHARPDTMSDK is not defined) 198 ( [ -d libical ] && cd libical ; $(MAKE) -f $(MAKEFILE) $@; ) || true
199 endif 199 ( [ -d libkcal ] && cd libkcal ; $(MAKE) -f $(MAKEFILE) $@; ) || true
200 endif 200 ( [ -d kabc ] && cd kabc ; $(MAKE) -f $(MAKEFILE) $@; ) || true
201 ifdef BUILD_NO_GAMMU 201 ( [ -d libkdepim ] && cd libkdepim ; $(MAKE) -f $(MAKEFILE) $@; ) || true
202 @echo GAMMU will not be build, because BUILD_NO_GAMMU is set to $(BUILD_NO_GAMMU) 202 ( [ -d microkde ] && cd microkde ; $(MAKE) -f $(MAKEFILE) $@; ) || true
203 endif 203 ( [ -d korganizer ] && cd korganizer ; $(MAKE) -f $(MAKEFILE) $@; ) || true
204 ifdef BUILD_NO_PWMANAGER 204 ( [ -d kaddressbook ] && cd kaddressbook ; $(MAKE) -f $(MAKEFILE) $@; ) || true
205 @echo PWMANAGER will not be build, because BUILD_NO_PWMANAGER is set to $(BUILD_NO_PWMANAGER) 205 ( [ -d kabc/plugins/file ] && cd kabc/plugins/file ; $(MAKE) -f $(MAKEFILE) $@; ) || true
206 endif 206 ( [ -d kabc/plugins/dir ] && cd kabc/plugins/dir ; $(MAKE) -f $(MAKEFILE) $@; ) || true
207 @echo -------------------------------------- 207 ( [ -d kabc/plugins/file ] && cd kabc/plugins/file ; $(MAKE) -f $(MAKEFILE) $@; ) || true
208 208 ( [ -d kabc/plugins/qtopia ] && cd kabc/plugins/qtopia ; $(MAKE) -f $(MAKEFILE) $@; ) || true
209 209 ( [ -d gammu/emb/common ] && cd gammu/emb/common ; $(MAKE) -f $(MAKEFILE) $@; ) || true
210objects: 210 ( [ -d gammu/emb/gammu ] && cd gammu/emb/gammu ; $(MAKE) -f $(MAKEFILE) $@; ) || true
211 for i in $(SUBDIRS); do mkdir -p $$i/obj/$(PLATFORM); done 211 ( [ -d kmicromail/libetpan ] && cd kmicromail/libetpan ; $(MAKE) -f $(MAKEFILE) $@; ) || true
212 for i in $(SUBDIRS); do mkdir -p $$i/moc/$(PLATFORM); done 212 ( [ -d kmicromail/libmailwrapper ] && cd kmicromail/libmailwrapper ; $(MAKE) -f $(MAKEFILE) $@; ) || true
213 mkdir -p libical/lib/$(PLATFORM) 213 ( [ -d kmicromail ] && cd kmicromail ; $(MAKE) -f $(MAKEFILE) $@; ) || true
214 mkdir -p pwmanager/libcrypt/$(PLATFORM) 214 ( [ -d pwmanager/libcrypt/cipher ] && cd pwmanager/libcrypt/cipher ; $(MAKE) -f $(MAKEFILE) $@; ) || true
215 215 ( [ -d pwmanager/libcrypt/error ] && cd pwmanager/libcrypt/error ; $(MAKE) -f $(MAKEFILE) $@; ) || true
216clean: 216 ( [ -d pwmanager/libcrypt/mpi ] && cd pwmanager/libcrypt/mpi ; $(MAKE) -f $(MAKEFILE) $@; ) || true
217 rm -rf libical/lib/$(PLATFORM)/*; 217 ( [ -d pwmanager/libcrypt/zlib ] && cd pwmanager/libcrypt/zlib ; $(MAKE) -f $(MAKEFILE) $@; ) || true
218 rm -rf pwmanager/libcrypt/$(PLATFORM)/*; 218 ( [ -d pwmanager/pwmanager ] && cd pwmanager/pwmanager ; $(MAKE) -f $(MAKEFILE) $@; ) || true
219 for i in $(SUBDIRS); do pushd $$i; make clean; rm -f *~;\ 219uninstall_subdirs: qmake_all FORCE
220 rm -f obj/$(PLATFORM)/*; rm -f moc/$(PLATFORM)/*; rm Makefile$(PLATFORM); popd; \ 220 ( [ -d libical ] && cd libical ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
221 done 221 ( [ -d libkcal ] && cd libkcal ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
222 222 ( [ -d kabc ] && cd kabc ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
223install: 223 ( [ -d libkdepim ] && cd libkdepim ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
224 224 ( [ -d microkde ] && cd microkde ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
225 cd bin/kdepim; make install 225 ( [ -d korganizer ] && cd korganizer ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
226 cp -r Pim $(QPEDIR)/apps 226 ( [ -d kaddressbook ] && cd kaddressbook ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
227 cp db2file/db2file $(QPEDIR)/bin/db2file 227 ( [ -d kabc/plugins/file ] && cd kabc/plugins/file ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
228 cp korganizer/korganizer.desktop $(QPEDIR)/apps/Pim/korganizer.desktop 228 ( [ -d kabc/plugins/dir ] && cd kabc/plugins/dir ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
229 cp kaddressbook/kaddressbook.desktop $(QPEDIR)/apps/Pim/kaddressbook.desktop 229 ( [ -d kabc/plugins/file ] && cd kabc/plugins/file ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
230 cp kmicromail/kmicromail.desktop $(QPEDIR)/apps/Pim/kopiemail.desktop 230 ( [ -d kabc/plugins/qtopia ] && cd kabc/plugins/qtopia ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
231 cp pwmanager/pwmanager/pwmanager.desktop $(QPEDIR)/apps/Pim/pwmanager.desktop 231 ( [ -d gammu/emb/common ] && cd gammu/emb/common ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
232 232 ( [ -d gammu/emb/gammu ] && cd gammu/emb/gammu ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
233dist: 233 ( [ -d kmicromail/libetpan ] && cd kmicromail/libetpan ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
234 @echo Dont forget to do "make install" before "make dist" 234 ( [ -d kmicromail/libmailwrapper ] && cd kmicromail/libmailwrapper ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
235 rm -f *arm.ipk 235 ( [ -d kmicromail ] && cd kmicromail ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
236 rm -f *~ 236 ( [ -d pwmanager/libcrypt/cipher ] && cd pwmanager/libcrypt/cipher ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
237 cd ..; tar czf kdepimpi-$(KDEPIM_VERSION).tar.gz --exclude=obj --exclude=moc --exclude=CVS --exclude=Makefilezaurus --exclude=Makefileqtopia kdepim 237 ( [ -d pwmanager/libcrypt/error ] && cd pwmanager/libcrypt/error ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
238 mkipks kmicrokdelibs.control 238 ( [ -d pwmanager/libcrypt/mpi ] && cd pwmanager/libcrypt/mpi ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
239 mkipks korganizer.control 239 ( [ -d pwmanager/libcrypt/zlib ] && cd pwmanager/libcrypt/zlib ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
240 mkipks kaddressbook.control 240 ( [ -d pwmanager/pwmanager ] && cd pwmanager/pwmanager ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
241 ifndef BUILD_NO_MICROMAIL 241install_subdirs: qmake_all FORCE
242 mkipks kopiemail.control 242 ( [ -d libical ] && cd libical ; $(MAKE) -f $(MAKEFILE) install; ) || true
243 endif 243 ( [ -d libkcal ] && cd libkcal ; $(MAKE) -f $(MAKEFILE) install; ) || true
244 ifndef BUILD_NO_SHARP_PLUGIN 244 ( [ -d kabc ] && cd kabc ; $(MAKE) -f $(MAKEFILE) install; ) || true
245 mkipks ksharpPIM-DTMaccess.control 245 ( [ -d libkdepim ] && cd libkdepim ; $(MAKE) -f $(MAKEFILE) install; ) || true
246 endif 246 ( [ -d microkde ] && cd microkde ; $(MAKE) -f $(MAKEFILE) install; ) || true
247 mkipks korganizer-alarm.control 247 ( [ -d korganizer ] && cd korganizer ; $(MAKE) -f $(MAKEFILE) install; ) || true
248 ifndef BUILD_NO_GAMMU 248 ( [ -d kaddressbook ] && cd kaddressbook ; $(MAKE) -f $(MAKEFILE) install; ) || true
249 mkipks kmobilephoneaccess.control 249 ( [ -d kabc/plugins/file ] && cd kabc/plugins/file ; $(MAKE) -f $(MAKEFILE) install; ) || true
250 endif 250 ( [ -d kabc/plugins/dir ] && cd kabc/plugins/dir ; $(MAKE) -f $(MAKEFILE) install; ) || true
251 ifndef BUILD_NO_PWMANAGER 251 ( [ -d kabc/plugins/file ] && cd kabc/plugins/file ; $(MAKE) -f $(MAKEFILE) install; ) || true
252 mkipks pwmanager.control 252 ( [ -d kabc/plugins/qtopia ] && cd kabc/plugins/qtopia ; $(MAKE) -f $(MAKEFILE) install; ) || true
253 endif 253 ( [ -d gammu/emb/common ] && cd gammu/emb/common ; $(MAKE) -f $(MAKEFILE) install; ) || true
254 mkipks pimTABicon.control 254 ( [ -d gammu/emb/gammu ] && cd gammu/emb/gammu ; $(MAKE) -f $(MAKEFILE) install; ) || true
255 255 ( [ -d kmicromail/libetpan ] && cd kmicromail/libetpan ; $(MAKE) -f $(MAKEFILE) install; ) || true
256tmake: objects \ 256 ( [ -d kmicromail/libmailwrapper ] && cd kmicromail/libmailwrapper ; $(MAKE) -f $(MAKEFILE) install; ) || true
257 qtcompat/Makefile$(PLATFORM) \ 257 ( [ -d kmicromail ] && cd kmicromail ; $(MAKE) -f $(MAKEFILE) install; ) || true
258 microkde/Makefile$(PLATFORM) \ 258 ( [ -d pwmanager/libcrypt/cipher ] && cd pwmanager/libcrypt/cipher ; $(MAKE) -f $(MAKEFILE) install; ) || true
259 libkcal/Makefile$(PLATFORM) \ 259 ( [ -d pwmanager/libcrypt/error ] && cd pwmanager/libcrypt/error ; $(MAKE) -f $(MAKEFILE) install; ) || true
260 libkdepim/Makefile$(PLATFORM) \ 260 ( [ -d pwmanager/libcrypt/mpi ] && cd pwmanager/libcrypt/mpi ; $(MAKE) -f $(MAKEFILE) install; ) || true
261 korganizer/Makefile$(PLATFORM) \ 261 ( [ -d pwmanager/libcrypt/zlib ] && cd pwmanager/libcrypt/zlib ; $(MAKE) -f $(MAKEFILE) install; ) || true
262 kalarmd/Makefile$(PLATFORM) \ 262 ( [ -d pwmanager/pwmanager ] && cd pwmanager/pwmanager ; $(MAKE) -f $(MAKEFILE) install; ) || true
263 libical/src/libical/Makefile$(PLATFORM) \ 263distclean: qmake_all FORCE
264 libical/src/libicalss/Makefile$(PLATFORM) \ 264 ( [ -d libical ] && cd libical ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
265 kabc/Makefile$(PLATFORM) \ 265 ( [ -d libkcal ] && cd libkcal ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
266 kabc/formats/binary/Makefile$(PLATFORM) \ 266 ( [ -d kabc ] && cd kabc ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
267 kabc/plugins/file/Makefile$(PLATFORM) \ 267 ( [ -d libkdepim ] && cd libkdepim ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
268 kabc/plugins/dir/Makefile$(PLATFORM) \ 268 ( [ -d microkde ] && cd microkde ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
269 kabc/plugins/ldap/Makefile$(PLATFORM) \ 269 ( [ -d korganizer ] && cd korganizer ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
270 kabc/plugins/opie/Makefile$(PLATFORM) \ 270 ( [ -d kaddressbook ] && cd kaddressbook ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
271 kabc/plugins/qtopia/Makefile$(PLATFORM) \ 271 ( [ -d kabc/plugins/file ] && cd kabc/plugins/file ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
272 kabc/plugins/sharpdtm/Makefile$(PLATFORM) \ 272 ( [ -d kabc/plugins/dir ] && cd kabc/plugins/dir ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
273 kaddressbook/Makefile$(PLATFORM) \ 273 ( [ -d kabc/plugins/file ] && cd kabc/plugins/file ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
274 kmicromail/Makefile$(PLATFORM) \ 274 ( [ -d kabc/plugins/qtopia ] && cd kabc/plugins/qtopia ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
275 kmicromail/libetpan/Makefile$(PLATFORM) \ 275 ( [ -d gammu/emb/common ] && cd gammu/emb/common ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
276 kmicromail/libmailwrapper/Makefile$(PLATFORM) \ 276 ( [ -d gammu/emb/gammu ] && cd gammu/emb/gammu ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
277 gammu/emb/common/Makefile$(PLATFORM) \ 277 ( [ -d kmicromail/libetpan ] && cd kmicromail/libetpan ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
278 gammu/emb/gammu/Makefile$(PLATFORM) \ 278 ( [ -d kmicromail/libmailwrapper ] && cd kmicromail/libmailwrapper ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
279 pwmanager/pwmanager/Makefile$(PLATFORM) \ 279 ( [ -d kmicromail ] && cd kmicromail ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
280 pwmanager/libcrypt/mpi/Makefile$(PLATFORM) \ 280 ( [ -d pwmanager/libcrypt/cipher ] && cd pwmanager/libcrypt/cipher ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
281 pwmanager/libcrypt/error/Makefile$(PLATFORM) \ 281 ( [ -d pwmanager/libcrypt/error ] && cd pwmanager/libcrypt/error ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
282 pwmanager/libcrypt/cipher/Makefile$(PLATFORM) \ 282 ( [ -d pwmanager/libcrypt/mpi ] && cd pwmanager/libcrypt/mpi ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
283 pwmanager/libcrypt/zlib/Makefile$(PLATFORM) 283 ( [ -d pwmanager/libcrypt/zlib ] && cd pwmanager/libcrypt/zlib ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
284 284 ( [ -d pwmanager/pwmanager ] && cd pwmanager/pwmanager ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
285qtcompat/Makefile$(PLATFORM): qtcompat/qtcompat.pro 285
286 cd qtcompat; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" qtcompat.pro -o Makefile$(PLATFORM) 286install: install_subdirs
287 287
288microkde/Makefile$(PLATFORM): microkde/microkdeE.pro 288uninstall: uninstall_subdirs
289 cd microkde; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" microkdeE.pro -o Makefile$(PLATFORM) 289
290 290FORCE:
291libkcal/Makefile$(PLATFORM): libkcal/libkcalE.pro
292 cd libkcal; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" libkcalE.pro -o Makefile$(PLATFORM)
293
294
295libkdepim/Makefile$(PLATFORM): libkdepim/libkdepimE.pro
296 cd libkdepim; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" libkdepimE.pro -o Makefile$(PLATFORM)
297
298kalarmd/Makefile$(PLATFORM): kalarmd/kalarmdE.pro
299 cd kalarmd; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" kalarmdE.pro -o Makefile$(PLATFORM)
300
301korganizer/Makefile$(PLATFORM): korganizer/korganizerE.pro
302 cd korganizer; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" korganizerE.pro -o Makefile$(PLATFORM)
303
304libical/src/libical/Makefile$(PLATFORM): libical/src/libical/libicalE.pro
305 cd libical/src/libical; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" libicalE.pro -o Makefile$(PLATFORM)
306
307libical/src/libicalss/Makefile$(PLATFORM): libical/src/libicalss/libicalssE.pro
308 cd libical/src/libicalss; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" libicalssE.pro -o Makefile$(PLATFORM)
309
310kabc/Makefile$(PLATFORM): kabc/kabcE.pro
311 cd kabc; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" kabcE.pro -o Makefile$(PLATFORM)
312
313kabc/formats/binary/Makefile$(PLATFORM): kabc/formats/binary/kabcformat_binaryE.pro
314 cd kabc/formats/binary; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" kabcformat_binaryE.pro -o Makefile$(PLATFORM)
315
316kabc/plugins/file/Makefile$(PLATFORM): kabc/plugins/file/fileE.pro
317 cd kabc/plugins/file; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" fileE.pro -o Makefile$(PLATFORM)
318
319kabc/plugins/dir/Makefile$(PLATFORM): kabc/plugins/dir/dirE.pro
320 cd kabc/plugins/dir; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" dirE.pro -o Makefile$(PLATFORM)
321
322kabc/plugins/ldap/Makefile$(PLATFORM): kabc/plugins/ldap/ldapE.pro
323 cd kabc/plugins/ldap; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" ldapE.pro -o Makefile$(PLATFORM)
324
325kabc/plugins/opie/Makefile$(PLATFORM): kabc/plugins/opie/opieE.pro
326 cd kabc/plugins/opie; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" opieE.pro -o Makefile$(PLATFORM)
327
328kabc/plugins/qtopia/Makefile$(PLATFORM): kabc/plugins/qtopia/qtopiaE.pro
329 cd kabc/plugins/qtopia; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" qtopiaE.pro -o Makefile$(PLATFORM)
330
331kabc/plugins/sharpdtm/Makefile$(PLATFORM): kabc/plugins/sharpdtm/sharpdtmE.pro
332 cd kabc/plugins/sharpdtm; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" sharpdtmE.pro -o Makefile$(PLATFORM)
333
334kaddressbook/Makefile$(PLATFORM): kaddressbook/kaddressbookE.pro
335 cd kaddressbook; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" kaddressbookE.pro -o Makefile$(PLATFORM)
336
337kmicromail/Makefile$(PLATFORM): kmicromail/kmicromailE.pro
338 cd kmicromail; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" kmicromailE.pro -o Makefile$(PLATFORM)
339
340kmicromail/libetpan/Makefile$(PLATFORM): kmicromail/libetpan/libetpanE.pro
341 cd kmicromail/libetpan; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" libetpanE.pro -o Makefile$(PLATFORM)
342
343kmicromail/libmailwrapper/Makefile$(PLATFORM): kmicromail/libmailwrapper/libmailwrapperE.pro
344 cd kmicromail/libmailwrapper; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" libmailwrapperE.pro -o Makefile$(PLATFORM)
345
346gammu/emb/common/Makefile$(PLATFORM): gammu/emb/common/commonE.pro
347 cd gammu/emb/common; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" commonE.pro -o Makefile$(PLATFORM)
348
349gammu/emb/gammu/Makefile$(PLATFORM): gammu/emb/gammu/gammuE.pro
350 cd gammu/emb/gammu; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" gammuE.pro -o Makefile$(PLATFORM)
351
352pwmanager/pwmanager/Makefile$(PLATFORM): pwmanager/pwmanager/pwmanagerE.pro
353 cd pwmanager/pwmanager; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" pwmanagerE.pro -o Makefile$(PLATFORM)
354
355
356pwmanager/libcrypt/mpi/Makefile$(PLATFORM): pwmanager/libcrypt/mpi/mpi.pro
357 cd pwmanager/libcrypt/mpi;tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" mpi.pro -o Makefile$(PLATFORM)
358
359pwmanager/libcrypt/error/Makefile$(PLATFORM): pwmanager/libcrypt/error/error.pro
360 cd pwmanager/libcrypt/error;tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" error.pro -o Makefile$(PLATFORM)
361
362pwmanager/libcrypt/cipher/Makefile$(PLATFORM): pwmanager/libcrypt/cipher/cipher.pro
363 cd pwmanager/libcrypt/cipher;tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" cipher.pro -o Makefile$(PLATFORM)
364
365pwmanager/libcrypt/zlib/Makefile$(PLATFORM): pwmanager/libcrypt/zlib/zlib.pro
366 cd pwmanager/libcrypt/zlib;tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" zlib.pro -o Makefile$(PLATFORM)
367
368 291
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt
index a7d1b90..a425311 100644
--- a/bin/kdepim/WhatsNew.txt
+++ b/bin/kdepim/WhatsNew.txt
@@ -1,109 +1,110 @@
1Info about the changes in new versions of KDE-Pim/Pi 1Info about the changes in new versions of KDE-Pim/Pi
2 2
3********** VERSION 1.9.16 ************ 3********** VERSION 1.9.16 ************
4 4
5KO/Pi: 5KO/Pi:
6Fixed search dialog size on Z 6000 (480x640 display). 6Fixed search dialog size on Z 6000 (480x640 display).
7Added setting to hide/show time in agenda items. 7Added setting to hide/show time in agenda items.
8Added setting to hide not running todos in todo view. 8Added setting to hide not running todos in todo view.
9Added columns for start date/time in todo view. 9Added columns for start date/time in todo view.
10Replaced the solid half-hour lines in agenda view by dot lines. 10Replaced the solid half-hour lines in agenda view by dot lines.
11Added possibility of printing the What's Next View on the desktop 11Added possibility of printing the What's Next View on the desktop
12(i.e. Windows and Linux). 12(i.e. Windows and Linux).
13Fixed a crash in KO/Pi when starting KO/Pi with What's Next view. 13Fixed a crash in KO/Pi when starting KO/Pi with What's Next view.
14Added tooltips in month view.(Tooltips only available on desktop)
14 15
15Fixed a strange problem in KO/Pi alarm applet. 16Fixed a strange problem in KO/Pi alarm applet.
16Did not find the actual problem, 17Did not find the actual problem,
17such that now Qtopia reboots again if deinstalling the alarm applet. 18such that now Qtopia reboots again if deinstalling the alarm applet.
18But the alarm applet should work again. 19But the alarm applet should work again.
19 20
20KA/Pi: 21KA/Pi:
21Fixed the problem, that internal pictures were not saved. 22Fixed the problem, that internal pictures were not saved.
22 23
23Fixed a problem in the pi-sync mode by increasing the timeout for data transfer from 20 seconds to 5 minutes. 24Fixed a problem in the pi-sync mode by increasing the timeout for data transfer from 20 seconds to 5 minutes.
24 25
25Fixed some minor problems. (Like word wrap in help text windows). 26Fixed some minor problems. (Like word wrap in help text windows).
26 27
27Fixed a compiling problem in microkde/kresources. 28Fixed a compiling problem in microkde/kresources.
28 29
29KO/Pi is using zdbat (renamed to db2file) for syncing with Sharp DTM. 30KO/Pi is using zdbat (renamed to db2file) for syncing with Sharp DTM.
30This version now includes zdbat 1.0.0 (old version was zdbat 0.2.9) 31This version now includes zdbat 1.0.0 (old version was zdbat 0.2.9)
31such that now syncing KO/Pi with Sharp DTM should work on the 32such that now syncing KO/Pi with Sharp DTM should work on the
32Zaurus C 3000 model. 33Zaurus C 3000 model.
33 34
34********** VERSION 1.9.15 ************ 35********** VERSION 1.9.15 ************
35 36
36Usebilty enhancements in KO/Pi: 37Usebilty enhancements in KO/Pi:
37When clicking on the date in a month view cell, the day view is shown. 38When clicking on the date in a month view cell, the day view is shown.
38Old behaviour was, that the "new event" dialog popped up. 39Old behaviour was, that the "new event" dialog popped up.
39 40
40Added a one step "undo delete" in KO/Pi (Accessable in the "Action" menu). 41Added a one step "undo delete" in KO/Pi (Accessable in the "Action" menu).
41That means, you can restore the latest 42That means, you can restore the latest
42event/todo/journal you have deleted. 43event/todo/journal you have deleted.
43A journal is deleted, if you clear all the text of the journal. 44A journal is deleted, if you clear all the text of the journal.
44 45
45Fixed the bug of the editor dialogs in KO/Pi of version 1.9.14. 46Fixed the bug of the editor dialogs in KO/Pi of version 1.9.14.
46 47
47KA/Pi starting in 480x640 resolution: 48KA/Pi starting in 480x640 resolution:
48Hide the filter action in toolbar 49Hide the filter action in toolbar
49and added icons for undo/delete/redo in toolbar. 50and added icons for undo/delete/redo in toolbar.
50 51
51Change in OM/Pi ViewMail dialog: 52Change in OM/Pi ViewMail dialog:
52When clicking on the "delete" icon the mail is deleted after confirmation as usual. 53When clicking on the "delete" icon the mail is deleted after confirmation as usual.
53But the edit dialog is not closed as before, now the next mail in the folder is shown automatically (if there is any). 54But the edit dialog is not closed as before, now the next mail in the folder is shown automatically (if there is any).
54 55
55Fixed a crash when deleting mail-accounts in OM/Pi. 56Fixed a crash when deleting mail-accounts in OM/Pi.
56 57
57 58
58********** VERSION 1.9.14 ************ 59********** VERSION 1.9.14 ************
59 60
60Fixed some problems with the dialog sizes when switching 61Fixed some problems with the dialog sizes when switching
61portrait/landscape mode on 640x480 PDA display. 62portrait/landscape mode on 640x480 PDA display.
62 63
63Fixed some other small bugs in KA/Pi KO/Pi and OM/Pi and PwM/Pi. 64Fixed some other small bugs in KA/Pi KO/Pi and OM/Pi and PwM/Pi.
64 65
65Fixed an ugly bug in KOpieMail: 66Fixed an ugly bug in KOpieMail:
66KOpieMail was not able to write files (mails) to MSDOS file system, 67KOpieMail was not able to write files (mails) to MSDOS file system,
67like on an usual preformatted SD card. That should work now. 68like on an usual preformatted SD card. That should work now.
68To save your mail data on the Sd card do the following: 69To save your mail data on the Sd card do the following:
69Create a dir on the SD card: 70Create a dir on the SD card:
70mkdir /mnt/card/localmail 71mkdir /mnt/card/localmail
71Go to your home dir: 72Go to your home dir:
72cd 73cd
73Go to kopiemail data storage dir: 74Go to kopiemail data storage dir:
74cd kdepim/apps/kopiemail 75cd kdepim/apps/kopiemail
75Create a symlink to the SD card: 76Create a symlink to the SD card:
76ls -s /mnt/card/localmail 77ls -s /mnt/card/localmail
77Now KOpieMail will store all mails on the SD card. 78Now KOpieMail will store all mails on the SD card.
78 79
79KO/Pi Monthview: 80KO/Pi Monthview:
80Now "Go to Today" selects the current month from day 1-end, 81Now "Go to Today" selects the current month from day 1-end,
81not the current date + some days. 82not the current date + some days.
82I.e. "Go to Today" shows now always 83I.e. "Go to Today" shows now always
83the current month with first day of month in the first row. 84the current month with first day of month in the first row.
84 85
85Added missing German translation. 86Added missing German translation.
86 87
87Fixed icons of executeable on Wintendo. 88Fixed icons of executeable on Wintendo.
88 89
89Added a "Show next Mail" button to the OM/Pi 90Added a "Show next Mail" button to the OM/Pi
90mail viewer such that the mail below the current mail 91mail viewer such that the mail below the current mail
91in the mail list view of the current folder 92in the mail list view of the current folder
92can be read with a single click. 93can be read with a single click.
93 94
94 95
95********** VERSION 1.9.13 ************ 96********** VERSION 1.9.13 ************
96 97
97Fixed nasty PwM/Pi file reading bug, when 98Fixed nasty PwM/Pi file reading bug, when
98the used hash algo of file is different then the global 99the used hash algo of file is different then the global
99hash algo. 100hash algo.
100 101
101Added KA/Pi support for opie mailit mailapplication. 102Added KA/Pi support for opie mailit mailapplication.
102 103
103Fixed some bugs in OM/Pi. 104Fixed some bugs in OM/Pi.
104Now character conversion tables are available for the Zaurus 105Now character conversion tables are available for the Zaurus
105to make OM/Pi working properly. 106to make OM/Pi working properly.
106To get the character conversion in OM/Pi working, please download 107To get the character conversion in OM/Pi working, please download
107at the sourceforge project site the package 108at the sourceforge project site the package
108sr-character-conversion_SharpROM_arm.ipk.zip 109sr-character-conversion_SharpROM_arm.ipk.zip
109(or oz-character-conversion_OZ-gcc3xx_arm.ipk.zip for OZ roms) 110(or oz-character-conversion_OZ-gcc3xx_arm.ipk.zip for OZ roms)
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp
index 08232e2..9344567 100644
--- a/korganizer/komonthview.cpp
+++ b/korganizer/komonthview.cpp
@@ -1,183 +1,185 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18*/ 18*/
19 19
20#include <qpopupmenu.h> 20#include <qpopupmenu.h>
21#include <qfont.h> 21#include <qfont.h>
22#include <qfontmetrics.h> 22#include <qfontmetrics.h>
23#include <qkeycode.h> 23#include <qkeycode.h>
24#include <qhbox.h> 24#include <qhbox.h>
25#include <qvbox.h> 25#include <qvbox.h>
26#include <qpushbutton.h> 26#include <qpushbutton.h>
27#include <qtooltip.h> 27#include <qtooltip.h>
28#include <qpainter.h> 28#include <qpainter.h>
29#include <qwhatsthis.h> 29#include <qwhatsthis.h>
30#ifndef DESKTOP_VERSION 30#ifndef DESKTOP_VERSION
31#include <qpe/qpeapplication.h> 31#include <qpe/qpeapplication.h>
32#else 32#else
33#include <qapplication.h> 33#include <qapplication.h>
34#endif 34#endif
35 35
36#include <kdebug.h> 36#include <kdebug.h>
37#include <klocale.h> 37#include <klocale.h>
38#include <kglobal.h> 38#include <kglobal.h>
39#include <kconfig.h> 39#include <kconfig.h>
40#include <kiconloader.h> 40#include <kiconloader.h>
41 41
42#include <kcalendarsystem.h> 42#include <kcalendarsystem.h>
43 43
44#ifndef KORG_NOPRINTER 44#ifndef KORG_NOPRINTER
45#include "calprinter.h" 45#include "calprinter.h"
46#endif 46#endif
47#include "koprefs.h" 47#include "koprefs.h"
48#ifndef KORG_NOPLUGINS 48#ifndef KORG_NOPLUGINS
49#include "kocore.h" 49#include "kocore.h"
50#endif 50#endif
51#include "koglobals.h" 51#include "koglobals.h"
52#include <libkcal/kincidenceformatter.h> 52#include <libkcal/kincidenceformatter.h>
53 53
54#include "komonthview.h" 54#include "komonthview.h"
55 55
56#define PIXMAP_SIZE 5 56#define PIXMAP_SIZE 5
57 57#ifdef DESKTOP_VERSION
58 QToolTipGroup *MonthViewCell::mToolTipGroup = 0;
59#endif
58class KNOWhatsThis :public QWhatsThis 60class KNOWhatsThis :public QWhatsThis
59{ 61{
60public: 62public:
61 KNOWhatsThis( KNoScrollListBox* sbox ) : QWhatsThis( sbox ), _wid( sbox) { }; 63 KNOWhatsThis( KNoScrollListBox* sbox ) : QWhatsThis( sbox ), _wid( sbox) { };
62 64
63protected: 65protected:
64 virtual QString text( const QPoint& p) 66 virtual QString text( const QPoint& p)
65 { 67 {
66 return _wid->getWhatsThisText(p) ; 68 return _wid->getWhatsThisText(p) ;
67 }; 69 };
68private: 70private:
69 KNoScrollListBox* _wid; 71 KNoScrollListBox* _wid;
70 72
71}; 73};
72 74
73 75
74KNoScrollListBox::KNoScrollListBox(QWidget *parent,const char *name) 76KNoScrollListBox::KNoScrollListBox(QWidget *parent,const char *name)
75 : QListBox(parent, name) 77 : QListBox(parent, name)
76{ 78{
77#ifndef DESKTOP_VERSION 79#ifndef DESKTOP_VERSION
78 QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold ); 80 QPEApplication::setStylusOperation( viewport(), QPEApplication::RightOnHold );
79#endif 81#endif
80 new KNOWhatsThis(this); 82 new KNOWhatsThis(this);
81} 83}
82 84
83QString KNoScrollListBox::getWhatsThisText(QPoint p) 85QString KNoScrollListBox::getWhatsThisText(QPoint p)
84{ 86{
85 QListBoxItem* item = itemAt ( p ); 87 QListBoxItem* item = itemAt ( p );
86 if ( ! item ) { 88 if ( ! item ) {
87 return i18n("Click in the cell or\non the date label\nto add an event!"); 89 return i18n("Click in the cell\nto add an event!");
88 } 90 }
89 return KIncidenceFormatter::instance()->getFormattedText(((MonthViewItem*) item)->incidence()); 91 return KIncidenceFormatter::instance()->getFormattedText(((MonthViewItem*) item)->incidence());
90} 92}
91void KNoScrollListBox::keyPressEvent(QKeyEvent *e) 93void KNoScrollListBox::keyPressEvent(QKeyEvent *e)
92{ 94{
93 95
94 switch(e->key()) { 96 switch(e->key()) {
95 case Key_Right: 97 case Key_Right:
96 // if ( e->state() == Qt::ControlButton ) 98 // if ( e->state() == Qt::ControlButton )
97 { 99 {
98 e->ignore(); 100 e->ignore();
99 return; 101 return;
100 } 102 }
101 scrollBy(4,0); 103 scrollBy(4,0);
102 break; 104 break;
103 case Key_Left: 105 case Key_Left:
104 // if ( e->state() == Qt::ControlButton ) 106 // if ( e->state() == Qt::ControlButton )
105 { 107 {
106 e->ignore(); 108 e->ignore();
107 return; 109 return;
108 } 110 }
109 scrollBy(-4,0); 111 scrollBy(-4,0);
110 break; 112 break;
111 case Key_Up: 113 case Key_Up:
112 if(!count()) break; 114 if(!count()) break;
113 setCurrentItem((currentItem()+count()-1)%count()); 115 setCurrentItem((currentItem()+count()-1)%count());
114 if(!itemVisible(currentItem())) { 116 if(!itemVisible(currentItem())) {
115 if((unsigned int) currentItem() == (count()-1)) { 117 if((unsigned int) currentItem() == (count()-1)) {
116 setTopItem(currentItem()-numItemsVisible()+1); 118 setTopItem(currentItem()-numItemsVisible()+1);
117 } else { 119 } else {
118 setTopItem(topItem()-1); 120 setTopItem(topItem()-1);
119 } 121 }
120 } 122 }
121 break; 123 break;
122 case Key_Down: 124 case Key_Down:
123 if(!count()) break; 125 if(!count()) break;
124 setCurrentItem((currentItem()+1)%count()); 126 setCurrentItem((currentItem()+1)%count());
125 if(!itemVisible(currentItem())) { 127 if(!itemVisible(currentItem())) {
126 if(currentItem() == 0) { 128 if(currentItem() == 0) {
127 setTopItem(0); 129 setTopItem(0);
128 } else { 130 } else {
129 setTopItem(topItem()+1); 131 setTopItem(topItem()+1);
130 } 132 }
131 } 133 }
132 break; 134 break;
133 case Key_Shift: 135 case Key_Shift:
134 emit shiftDown(); 136 emit shiftDown();
135 break; 137 break;
136 default: 138 default:
137 e->ignore(); 139 e->ignore();
138 break; 140 break;
139 } 141 }
140} 142}
141 143
142void KNoScrollListBox::keyReleaseEvent(QKeyEvent *e) 144void KNoScrollListBox::keyReleaseEvent(QKeyEvent *e)
143{ 145{
144 switch(e->key()) { 146 switch(e->key()) {
145 case Key_Shift: 147 case Key_Shift:
146 emit shiftUp(); 148 emit shiftUp();
147 break; 149 break;
148 default: 150 default:
149 break; 151 break;
150 } 152 }
151} 153}
152 154
153void KNoScrollListBox::mousePressEvent(QMouseEvent *e) 155void KNoScrollListBox::mousePressEvent(QMouseEvent *e)
154{ 156{
155 QListBox::mousePressEvent(e); 157 QListBox::mousePressEvent(e);
156 158
157 if(e->button() == RightButton) { 159 if(e->button() == RightButton) {
158 emit rightClick(); 160 emit rightClick();
159 } 161 }
160} 162}
161 163
162MonthViewItem::MonthViewItem( Incidence *incidence, QDate qd, const QString & s) 164MonthViewItem::MonthViewItem( Incidence *incidence, QDate qd, const QString & s)
163 : QListBoxItem() 165 : QListBoxItem()
164{ 166{
165 setText( s ); 167 setText( s );
166 168
167 mIncidence = incidence; 169 mIncidence = incidence;
168 mDate = qd; 170 mDate = qd;
169 // QWhatsThis::add(this,KIncidenceFormatter::instance()->getFormattedText( mIncidence )); 171 // QWhatsThis::add(this,KIncidenceFormatter::instance()->getFormattedText( mIncidence ));
170 mRecur = false; 172 mRecur = false;
171 mAlarm = false; 173 mAlarm = false;
172 mReply = false; 174 mReply = false;
173 mInfo = false; 175 mInfo = false;
174} 176}
175 177
176void MonthViewItem::paint(QPainter *p) 178void MonthViewItem::paint(QPainter *p)
177{ 179{
178#if QT_VERSION >= 0x030000 180#if QT_VERSION >= 0x030000
179 bool sel = isSelected(); 181 bool sel = isSelected();
180#else 182#else
181 bool sel = selected(); 183 bool sel = selected();
182#endif 184#endif
183 185
@@ -202,425 +204,450 @@ void MonthViewItem::paint(QPainter *p)
202 p->fillRect ( x, y,size,size, Qt::blue ); 204 p->fillRect ( x, y,size,size, Qt::blue );
203 x += size + 1; 205 x += size + 1;
204 } 206 }
205 if ( mAlarm ) { 207 if ( mAlarm ) {
206 p->fillRect ( x, y,size,size, Qt::red ); 208 p->fillRect ( x, y,size,size, Qt::red );
207 x += size + 1; 209 x += size + 1;
208 } 210 }
209 if ( mReply ) { 211 if ( mReply ) {
210 p->fillRect ( x, y,size,size, Qt::yellow ); 212 p->fillRect ( x, y,size,size, Qt::yellow );
211 x += size + 1; 213 x += size + 1;
212 } 214 }
213 } 215 }
214 QFontMetrics fm = p->fontMetrics(); 216 QFontMetrics fm = p->fontMetrics();
215 int yPos; 217 int yPos;
216 int pmheight = size; 218 int pmheight = size;
217 if( pmheight < fm.height() ) 219 if( pmheight < fm.height() )
218 yPos = fm.ascent() + fm.leading()/2; 220 yPos = fm.ascent() + fm.leading()/2;
219 else 221 else
220 yPos = pmheight/2 - fm.height()/2 + fm.ascent(); 222 yPos = pmheight/2 - fm.height()/2 + fm.ascent();
221 p->setPen( palette().color( QPalette::Normal, sel ? \ 223 p->setPen( palette().color( QPalette::Normal, sel ? \
222 QColorGroup::HighlightedText : QColorGroup::Foreground ) ); 224 QColorGroup::HighlightedText : QColorGroup::Foreground ) );
223 p->drawText( x, yPos, text() ); 225 p->drawText( x, yPos, text() );
224 if ( mIncidence->cancelled() ) { 226 if ( mIncidence->cancelled() ) {
225 int wid = fm.width( text() ); 227 int wid = fm.width( text() );
226 p->drawLine( x, yPos- fm.height()/2+2,x+wid, yPos- fm.height()/2 +2); 228 p->drawLine( x, yPos- fm.height()/2+2,x+wid, yPos- fm.height()/2 +2);
227 } 229 }
228 230
229} 231}
230 232
231int MonthViewItem::height(const QListBox *lb) const 233int MonthViewItem::height(const QListBox *lb) const
232{ 234{
233 return lb->fontMetrics().lineSpacing()+1; 235 return lb->fontMetrics().lineSpacing()+1;
234} 236}
235 237
236int MonthViewItem::width(const QListBox *lb) const 238int MonthViewItem::width(const QListBox *lb) const
237{ 239{
238 int size = PIXMAP_SIZE; 240 int size = PIXMAP_SIZE;
239 if ( QApplication::desktop()->width() < 300 ) 241 if ( QApplication::desktop()->width() < 300 )
240 size = 3; 242 size = 3;
241 int x = 1; 243 int x = 1;
242 if ( mInfo ) { 244 if ( mInfo ) {
243 x += size + 1; 245 x += size + 1;
244 } 246 }
245 if( mRecur ) { 247 if( mRecur ) {
246 x += size+1; 248 x += size+1;
247 } 249 }
248 if( mAlarm ) { 250 if( mAlarm ) {
249 x += size+1; 251 x += size+1;
250 } 252 }
251 if( mReply ) { 253 if( mReply ) {
252 x += size+1; 254 x += size+1;
253 } 255 }
254 256
255 return( x + lb->fontMetrics().width( text() ) + 1 ); 257 return( x + lb->fontMetrics().width( text() ) + 1 );
256} 258}
257 259
258 260
259MonthViewCell::MonthViewCell( KOMonthView *parent) 261MonthViewCell::MonthViewCell( KOMonthView *parent)
260 : QWidget( parent ), 262 : QWidget( parent ),
261 mMonthView( parent ) 263 mMonthView( parent )
262{ 264{
263 265
264 QVBoxLayout *topLayout = new QVBoxLayout( this ); 266 QVBoxLayout *topLayout = new QVBoxLayout( this );
265 267
266 // mLabel = new QLabel( this );QPushButton 268 // mLabel = new QLabel( this );QPushButton
267 mLabel = new QPushButton( this ); 269 mLabel = new QPushButton( this );
268 //mLabel->setFrameStyle( QFrame::Panel | QFrame::Plain ); 270 //mLabel->setFrameStyle( QFrame::Panel | QFrame::Plain );
269 //mLabel->setLineWidth( 1 ); 271 //mLabel->setLineWidth( 1 );
270 //mLabel->setAlignment( AlignCenter ); 272 //mLabel->setAlignment( AlignCenter );
271 mLabel->setFlat( true ); 273 mLabel->setFlat( true );
272 mItemList = new KNoScrollListBox( this ); 274 mItemList = new KNoScrollListBox( this );
273 mItemList->setMinimumSize( 10, 10 ); 275 mItemList->setMinimumSize( 10, 10 );
274 mItemList->setFrameStyle( QFrame::Panel | QFrame::Plain ); 276 mItemList->setFrameStyle( QFrame::Panel | QFrame::Plain );
275 mItemList->setLineWidth( 1 ); 277 mItemList->setLineWidth( 1 );
276 topLayout->addWidget( mItemList ); 278 topLayout->addWidget( mItemList );
277 mLabel->raise(); 279 mLabel->raise();
278 // QColor( 0,0,255 ) QColor( 160,1600,255 ) 280 // QColor( 0,0,255 ) QColor( 160,1600,255 )
279 mStandardPalette = palette(); 281 mStandardPalette = palette();
280 mStandardPalette.setColor(QColorGroup::Base, mStandardPalette.color( QPalette::Normal, QColorGroup::Background ) ); 282 mStandardPalette.setColor(QColorGroup::Base, mStandardPalette.color( QPalette::Normal, QColorGroup::Background ) );
281 283
282 enableScrollBars( false ); 284 enableScrollBars( false );
283 updateConfig(); 285 updateConfig();
284 //connect( mLabel, SIGNAL( clicked( )), SLOT( newEvent() )); 286 //connect( mLabel, SIGNAL( clicked( )), SLOT( newEvent() ));
285 connect( mLabel, SIGNAL( clicked( )), SLOT( showDay() )); 287 connect( mLabel, SIGNAL( clicked( )), SLOT( showDay() ));
286 connect( mItemList, SIGNAL( doubleClicked( QListBoxItem *) ), 288 connect( mItemList, SIGNAL( doubleClicked( QListBoxItem *) ),
287 SLOT( defaultAction( QListBoxItem * ) ) ); 289 SLOT( defaultAction( QListBoxItem * ) ) );
288 connect( mItemList, SIGNAL( rightButtonPressed( QListBoxItem *, 290 connect( mItemList, SIGNAL( rightButtonPressed( QListBoxItem *,
289 const QPoint &) ), 291 const QPoint &) ),
290 SLOT( contextMenu( QListBoxItem * ) ) ); 292 SLOT( contextMenu( QListBoxItem * ) ) );
291 connect( mItemList, SIGNAL( highlighted( QListBoxItem *) ), 293 connect( mItemList, SIGNAL( highlighted( QListBoxItem *) ),
292 SLOT( selection( QListBoxItem * ) ) ); 294 SLOT( selection( QListBoxItem * ) ) );
293 connect( mItemList, SIGNAL( clicked( QListBoxItem * ) ), 295 connect( mItemList, SIGNAL( clicked( QListBoxItem * ) ),
294 SLOT( cellClicked( QListBoxItem * ) ) ); 296 SLOT( cellClicked( QListBoxItem * ) ) );
295 connect( mItemList, SIGNAL( clicked( QListBoxItem * ) ), 297 connect( mItemList, SIGNAL( clicked( QListBoxItem * ) ),
296 SLOT( selection( QListBoxItem * ) ) ); 298 SLOT( selection( QListBoxItem * ) ) );
297} 299}
298 300#ifdef DESKTOP_VERSION
301QToolTipGroup *MonthViewCell::toolTipGroup()
302{
303 if (!mToolTipGroup) mToolTipGroup = new QToolTipGroup(0);
304 return mToolTipGroup;
305}
306#endif
307
299void MonthViewCell::setDate( const QDate &date ) 308void MonthViewCell::setDate( const QDate &date )
300{ 309{
301// kdDebug() << "MonthViewCell::setDate(): " << date.toString() << endl; 310// kdDebug() << "MonthViewCell::setDate(): " << date.toString() << endl;
302 311
303 mDate = date; 312 mDate = date;
304 313
305 QString text; 314 QString text;
306 bool smallDisplay = QApplication::desktop()->width() < 320 && KOPrefs::instance()->mMonthViewSatSunTog; 315 bool smallDisplay = QApplication::desktop()->width() < 320 && KOPrefs::instance()->mMonthViewSatSunTog;
307 if ( KOGlobals::self()->calendarSystem()->day( date ) == 1 || (date.dayOfWeek() == 7 && !smallDisplay ) || KOPrefs::instance()->mMonthShowShort) { 316 if ( KOGlobals::self()->calendarSystem()->day( date ) == 1 || (date.dayOfWeek() == 7 && !smallDisplay ) || KOPrefs::instance()->mMonthShowShort) {
308 text = KOGlobals::self()->calendarSystem()->monthName( date, true ) + " "; 317 text = KOGlobals::self()->calendarSystem()->monthName( date, true ) + " ";
309 mLabel->resize( mLabelBigSize ); 318 mLabel->resize( mLabelBigSize );
310 text += QString::number( KOGlobals::self()->calendarSystem()->day(mDate) ); 319 text += QString::number( KOGlobals::self()->calendarSystem()->day(mDate) );
311 } else { 320 } else {
312 mLabel->resize( mLabelSize ); 321 mLabel->resize( mLabelSize );
313 text += QString::number( KOGlobals::self()->calendarSystem()->day(mDate) ); 322 text += QString::number( KOGlobals::self()->calendarSystem()->day(mDate) );
314 } 323 }
315 mLabel->setText( text ); 324 mLabel->setText( text );
316 325
317 //resizeEvent( 0 ); 326 //resizeEvent( 0 );
318} 327}
319 328
320QDate MonthViewCell::date() const 329QDate MonthViewCell::date() const
321{ 330{
322 return mDate; 331 return mDate;
323} 332}
324 333
325void MonthViewCell::setPrimary( bool primary ) 334void MonthViewCell::setPrimary( bool primary )
326{ 335{
327 mPrimary = primary; 336 mPrimary = primary;
328 //setMyPalette(); 337 //setMyPalette();
329} 338}
330void MonthViewCell::setMyPalette() 339void MonthViewCell::setMyPalette()
331{ 340{
332 341
333 if ( mHoliday) { 342 if ( mHoliday) {
334 setPalette( mHolidayPalette ); 343 setPalette( mHolidayPalette );
335 } else { 344 } else {
336 if ( mPrimary ) { 345 if ( mPrimary ) {
337 setPalette( mPrimaryPalette ); 346 setPalette( mPrimaryPalette );
338 } else { 347 } else {
339 setPalette( mNonPrimaryPalette ); 348 setPalette( mNonPrimaryPalette );
340 } 349 }
341 } 350 }
342 QPalette pal = palette(); 351 QPalette pal = palette();
343 352
344 mLabel->setPalette( QPalette ( pal.color( QPalette::Normal,QColorGroup::Base),pal.color(QPalette::Normal,QColorGroup::Base ) )); 353 mLabel->setPalette( QPalette ( pal.color( QPalette::Normal,QColorGroup::Base),pal.color(QPalette::Normal,QColorGroup::Base ) ));
345} 354}
346QPalette MonthViewCell::getPalette () 355QPalette MonthViewCell::getPalette ()
347{ 356{
348 if ( !KOPrefs::instance()->mMonthViewUsesDayColors ) 357 if ( !KOPrefs::instance()->mMonthViewUsesDayColors )
349 return mStandardPalette; 358 return mStandardPalette;
350 if ( mHoliday) { 359 if ( mHoliday) {
351 return mHolidayPalette ; 360 return mHolidayPalette ;
352 } else { 361 } else {
353 if ( mPrimary ) { 362 if ( mPrimary ) {
354 return mPrimaryPalette ; 363 return mPrimaryPalette ;
355 } 364 }
356 } 365 }
357 return mNonPrimaryPalette; 366 return mNonPrimaryPalette;
358} 367}
359bool MonthViewCell::isPrimary() const 368bool MonthViewCell::isPrimary() const
360{ 369{
361 return mPrimary; 370 return mPrimary;
362} 371}
363 372
364void MonthViewCell::setHoliday( bool holiday ) 373void MonthViewCell::setHoliday( bool holiday )
365{ 374{
366 mHoliday = holiday; 375 mHoliday = holiday;
367 //setMyPalette(); 376 //setMyPalette();
368} 377}
369 378
370void MonthViewCell::setHoliday( const QString &holiday ) 379void MonthViewCell::setHoliday( const QString &holiday )
371{ 380{
372 mHolidayString = holiday; 381 mHolidayString = holiday;
373 382
374 if ( !holiday.isEmpty() ) { 383 if ( !holiday.isEmpty() ) {
375 setHoliday( true ); 384 setHoliday( true );
376 } 385 }
377} 386}
378void MonthViewCell::keyPressEvent ( QKeyEvent * e ) 387void MonthViewCell::keyPressEvent ( QKeyEvent * e )
379{ 388{
380 389
381 e->ignore(); 390 e->ignore();
382 391
383} 392}
384void MonthViewCell::updateCell() 393void MonthViewCell::updateCell()
385{ 394{
386 395
387 setPrimary( mDate.month()%2 ); 396 setPrimary( mDate.month()%2 );
388 setHoliday( KOGlobals::self()->calendarSystem()->dayOfWeek(mDate) == KOGlobals::self()->calendarSystem()->weekDayOfPray() || ( mDate.dayOfWeek() == 6 ) && KOPrefs::instance()-> mExcludeSaturdays); 397 setHoliday( KOGlobals::self()->calendarSystem()->dayOfWeek(mDate) == KOGlobals::self()->calendarSystem()->weekDayOfPray() || ( mDate.dayOfWeek() == 6 ) && KOPrefs::instance()-> mExcludeSaturdays);
389 if ( mDate == QDate::currentDate() ) { 398 if ( mDate == QDate::currentDate() ) {
390 mItemList->setLineWidth( 3 ); 399 mItemList->setLineWidth( 3 );
391 } else { 400 } else {
392 mItemList->setLineWidth( 1 ); 401 mItemList->setLineWidth( 1 );
393 } 402 }
394 mItemList->clear(); 403 mItemList->clear();
404#ifdef DESKTOP_VERSION
405 QToolTip::remove(this);
406#endif
407 QString tipText("");
395 //qApp->processEvents(); 408 //qApp->processEvents();
396 if ( !mHolidayString.isEmpty() ) { 409 if ( !mHolidayString.isEmpty() ) {
397 MonthViewItem *item = new MonthViewItem( 0, mDate, mHolidayString ); 410 MonthViewItem *item = new MonthViewItem( 0, mDate, mHolidayString );
398 item->setPalette( mHolidayPalette ); 411 item->setPalette( mHolidayPalette );
399 mItemList->insertItem( item ); 412 mItemList->insertItem( item );
413 tipText += mHolidayString+"\n";
400 } 414 }
401 //mLabel->setMaximumWidth( width() - mItemList->lineWidth()*2); 415 //mLabel->setMaximumWidth( width() - mItemList->lineWidth()*2);
402 QPtrList<Event> events = mMonthView->calendar()->events( mDate, true ); 416 QPtrList<Event> events = mMonthView->calendar()->events( mDate, true );
403 Event *event; 417 Event *event;
404 for( event = events.first(); event; event = events.next() ) { 418 for( event = events.first(); event; event = events.next() ) {
405 if ( event->categories().contains("Holiday") || 419 if ( event->categories().contains("Holiday") ||
406 event->categories().contains(i18n("Holiday"))) { 420 event->categories().contains(i18n("Holiday"))) {
407 setHoliday( true ); 421 setHoliday( true );
408 if ( mDate.dayOfWeek() == 7 ) 422 if ( mDate.dayOfWeek() == 7 )
409 mItemList->setLineWidth( 3 ); 423 mItemList->setLineWidth( 3 );
410 } 424 }
411 QString text; 425 QString text;
412 if (event->isMultiDay()) { 426 if (event->isMultiDay()) {
413 QString prefix = "<->"; 427 QString prefix = "<->";
414 if ( event->doesRecur() ) { 428 if ( event->doesRecur() ) {
415 if ( event->recursOn( mDate) ) 429 if ( event->recursOn( mDate) )
416 prefix ="->" ; 430 prefix ="->" ;
417 else { 431 else {
418 int days = event->dtStart().date().daysTo ( event->dtEnd().date() ); 432 int days = event->dtStart().date().daysTo ( event->dtEnd().date() );
419 if ( event->recursOn( mDate.addDays( -days)) ) 433 if ( event->recursOn( mDate.addDays( -days)) )
420 prefix ="<-" ; 434 prefix ="<-" ;
421 } 435 }
422 436
423 } else { 437 } else {
424 if (mDate == event->dtStart().date()) { 438 if (mDate == event->dtStart().date()) {
425 prefix ="->" ; 439 prefix ="->" ;
426 } else if (mDate == event->dtEnd().date()) { 440 } else if (mDate == event->dtEnd().date()) {
427 prefix ="<-" ; 441 prefix ="<-" ;
428 } 442 }
429 } 443 }
430 text = prefix + event->summary(); 444 text = prefix + event->summary();
445 tipText += text;
431 } else { 446 } else {
432 if (event->doesFloat()) 447 if (event->doesFloat()) {
433 text = event->summary(); 448 text = event->summary();
449 tipText += text;
450 }
434 else { 451 else {
435 text = KGlobal::locale()->formatTime(event->dtStart().time()); 452 text = KGlobal::locale()->formatTime(event->dtStart().time());
436 text += " " + event->summary(); 453 text += " " + event->summary();
454 tipText += KGlobal::locale()->formatTime(event->dtStart().time()) +"-"+KGlobal::locale()->formatTime(event->dtEnd().time())+" " + event->summary();
437 } 455 }
438 } 456 }
439 457
440 MonthViewItem *item = new MonthViewItem( event, mDate, text ); 458 MonthViewItem *item = new MonthViewItem( event, mDate, text );
441 QPalette pal; 459 QPalette pal;
442 if (KOPrefs::instance()->mMonthViewUsesCategoryColor) { 460 if (KOPrefs::instance()->mMonthViewUsesCategoryColor) {
443 QStringList categories = event->categories(); 461 QStringList categories = event->categories();
444 QString cat = categories.first(); 462 QString cat = categories.first();
445 if ( KOPrefs::instance()->mMonthViewUsesForegroundColor ) { 463 if ( KOPrefs::instance()->mMonthViewUsesForegroundColor ) {
446 pal = getPalette(); 464 pal = getPalette();
447 if (cat.isEmpty()) { 465 if (cat.isEmpty()) {
448 pal.setColor(QColorGroup::Foreground,KOPrefs::instance()->mEventColor); 466 pal.setColor(QColorGroup::Foreground,KOPrefs::instance()->mEventColor);
449 } else { 467 } else {
450 pal.setColor(QColorGroup::Foreground, *(KOPrefs::instance()->categoryColor(cat))); 468 pal.setColor(QColorGroup::Foreground, *(KOPrefs::instance()->categoryColor(cat)));
451 } 469 }
452 470
453 } else { 471 } else {
454 if (cat.isEmpty()) { 472 if (cat.isEmpty()) {
455 pal = QPalette(KOPrefs::instance()->mEventColor, KOPrefs::instance()->mEventColor); 473 pal = QPalette(KOPrefs::instance()->mEventColor, KOPrefs::instance()->mEventColor);
456 } else { 474 } else {
457 pal = QPalette(*(KOPrefs::instance()->categoryColor(cat)), *(KOPrefs::instance()->categoryColor(cat))); 475 pal = QPalette(*(KOPrefs::instance()->categoryColor(cat)), *(KOPrefs::instance()->categoryColor(cat)));
458 } 476 }
459 } 477 }
460 478
461 } else { 479 } else {
462 pal = mStandardPalette ; 480 pal = mStandardPalette ;
463 } 481 }
464 item->setPalette( pal ); 482 item->setPalette( pal );
465 item->setRecur( event->recurrence()->doesRecur() ); 483 item->setRecur( event->recurrence()->doesRecur() );
466 item->setAlarm( event->isAlarmEnabled() ); 484 item->setAlarm( event->isAlarmEnabled() );
467 item->setMoreInfo( event->description().length() > 0 ); 485 item->setMoreInfo( event->description().length() > 0 );
468 Attendee *me = event->attendeeByMails(KOPrefs::instance()->mAdditionalMails, 486 Attendee *me = event->attendeeByMails(KOPrefs::instance()->mAdditionalMails,
469 KOPrefs::instance()->email()); 487 KOPrefs::instance()->email());
470 if ( me != 0 ) { 488 if ( me != 0 ) {
471 if ( me->status() == Attendee::NeedsAction && me->RSVP()) 489 if ( me->status() == Attendee::NeedsAction && me->RSVP())
472 item->setReply(true); 490 item->setReply(true);
473 else 491 else
474 item->setReply(false); 492 item->setReply(false);
475 } else 493 } else
476 item->setReply(false); 494 item->setReply(false);
477 bool insert = true; 495 bool insert = true;
478 if ( !(event->doesRecur() == Recurrence::rNone) ) { 496 if ( !(event->doesRecur() == Recurrence::rNone) ) {
479 if ( !KOPrefs::instance()->mMonthDailyRecur && event->doesRecur() == Recurrence::rDaily ) 497 if ( !KOPrefs::instance()->mMonthDailyRecur && event->doesRecur() == Recurrence::rDaily )
480 insert = false; 498 insert = false;
481 else 499 else
482 if ( !KOPrefs::instance()->mMonthWeeklyRecur && event->doesRecur() == Recurrence::rWeekly ) 500 if ( !KOPrefs::instance()->mMonthWeeklyRecur && event->doesRecur() == Recurrence::rWeekly )
483 insert = false; 501 insert = false;
484 502
485 } 503 }
486 if ( insert ) 504 if ( insert ) {
487 mItemList->insertItem( item ); 505 mItemList->insertItem( item );
506 tipText += "\n";
507 } else
508 tipText = "";
488 } 509 }
489 510
490 // insert due todos 511 // insert due todos
491 QPtrList<Todo> todos = mMonthView->calendar()->todos( mDate ); 512 QPtrList<Todo> todos = mMonthView->calendar()->todos( mDate );
492 Todo *todo; 513 Todo *todo;
493 for(todo = todos.first(); todo; todo = todos.next()) { 514 for(todo = todos.first(); todo; todo = todos.next()) {
494 QString text; 515 QString text;
495 if (todo->hasDueDate()) { 516 if (todo->hasDueDate()) {
496 if (!todo->doesFloat()) { 517 if (!todo->doesFloat()) {
497 text += KGlobal::locale()->formatTime(todo->dtDue().time()); 518 text += KGlobal::locale()->formatTime(todo->dtDue().time());
498 text += " "; 519 text += " ";
499 } 520 }
500 } 521 }
501 text += i18n("To-Do: %1").arg(todo->summary()); 522 text += i18n("To-Do: %1").arg(todo->summary());
502 523
503 MonthViewItem *item = new MonthViewItem( todo, mDate, text ); 524 MonthViewItem *item = new MonthViewItem( todo, mDate, text );
504 //item->setPalette( mStandardPalette ); 525 //item->setPalette( mStandardPalette );
505 QPalette pal; 526 QPalette pal;
506 if (KOPrefs::instance()->mMonthViewUsesCategoryColor) { 527 if (KOPrefs::instance()->mMonthViewUsesCategoryColor) {
507 QStringList categories = todo->categories(); 528 QStringList categories = todo->categories();
508 QString cat = categories.first(); 529 QString cat = categories.first();
509 if ( KOPrefs::instance()->mMonthViewUsesForegroundColor ) { 530 if ( KOPrefs::instance()->mMonthViewUsesForegroundColor ) {
510 pal = getPalette(); 531 pal = getPalette();
511 if (cat.isEmpty()) { 532 if (cat.isEmpty()) {
512 pal.setColor(QColorGroup::Foreground,KOPrefs::instance()->mEventColor); 533 pal.setColor(QColorGroup::Foreground,KOPrefs::instance()->mEventColor);
513 } else { 534 } else {
514 pal.setColor(QColorGroup::Foreground, *(KOPrefs::instance()->categoryColor(cat))); 535 pal.setColor(QColorGroup::Foreground, *(KOPrefs::instance()->categoryColor(cat)));
515 } 536 }
516 537
517 } else { 538 } else {
518 if (cat.isEmpty()) { 539 if (cat.isEmpty()) {
519 pal = QPalette(KOPrefs::instance()->mEventColor, KOPrefs::instance()->mEventColor); 540 pal = QPalette(KOPrefs::instance()->mEventColor, KOPrefs::instance()->mEventColor);
520 } else { 541 } else {
521 pal = QPalette(*(KOPrefs::instance()->categoryColor(cat)), *(KOPrefs::instance()->categoryColor(cat))); 542 pal = QPalette(*(KOPrefs::instance()->categoryColor(cat)), *(KOPrefs::instance()->categoryColor(cat)));
522 } 543 }
523 } 544 }
524 545
525 } else { 546 } else {
526 pal = mStandardPalette ; 547 pal = mStandardPalette ;
527 } 548 }
528 item->setPalette( pal ); 549 item->setPalette( pal );
529 mItemList->insertItem( item ); 550 mItemList->insertItem( item );
551 tipText += text+"\n";
530 } 552 }
553#ifdef DESKTOP_VERSION
554 if (tipText != "")
555 QToolTip::add(this,tipText,toolTipGroup(),"");
556#endif
557
531 //setMyPalette(); 558 //setMyPalette();
532 setMyPalette(); 559 setMyPalette();
533 resizeEvent( 0 ); 560 resizeEvent( 0 );
534 // if ( isVisible()) 561 // if ( isVisible())
535 // qApp->processEvents(); 562 // qApp->processEvents();
536} 563}
537 564
538void MonthViewCell::updateConfig() 565void MonthViewCell::updateConfig()
539{ 566{
540 567
541 setFont( KOPrefs::instance()->mMonthViewFont ); 568 setFont( KOPrefs::instance()->mMonthViewFont );
542 569
543 QFontMetrics fm( font() ); 570 QFontMetrics fm( font() );
544 mLabelSize = fm.size( 0, "30" ) + QSize( 4, 2 ); 571 mLabelSize = fm.size( 0, "30" ) + QSize( 4, 2 );
545 mLabelBigSize = fm.size( 0, "Mag 30" ) + QSize( 2, 2 ); 572 mLabelBigSize = fm.size( 0, "Mag 30" ) + QSize( 2, 2 );
546 mHolidayPalette = mStandardPalette; 573 mHolidayPalette = mStandardPalette;
547 mPrimaryPalette = mStandardPalette; 574 mPrimaryPalette = mStandardPalette;
548 mNonPrimaryPalette = mStandardPalette; 575 mNonPrimaryPalette = mStandardPalette;
549 if ( KOPrefs::instance()->mMonthViewUsesDayColors ) { 576 if ( KOPrefs::instance()->mMonthViewUsesDayColors ) {
550 mHolidayPalette.setColor(QColorGroup::Base, KOPrefs::instance()->mMonthViewHolidayColor ); 577 mHolidayPalette.setColor(QColorGroup::Base, KOPrefs::instance()->mMonthViewHolidayColor );
551 mHolidayPalette.setColor(QColorGroup::Background, KOPrefs::instance()->mMonthViewHolidayColor ); 578 mHolidayPalette.setColor(QColorGroup::Background, KOPrefs::instance()->mMonthViewHolidayColor );
552 mHolidayPalette.setColor(QColorGroup::Foreground, KOPrefs::instance()->mMonthViewHolidayColor.dark()); 579 mHolidayPalette.setColor(QColorGroup::Foreground, KOPrefs::instance()->mMonthViewHolidayColor.dark());
553 mPrimaryPalette.setColor(QColorGroup::Foreground,KOPrefs::instance()->mMonthViewOddColor.dark()); 580 mPrimaryPalette.setColor(QColorGroup::Foreground,KOPrefs::instance()->mMonthViewOddColor.dark());
554 mPrimaryPalette.setColor(QColorGroup::Base,KOPrefs::instance()->mMonthViewOddColor); 581 mPrimaryPalette.setColor(QColorGroup::Base,KOPrefs::instance()->mMonthViewOddColor);
555 mPrimaryPalette.setColor(QColorGroup::Background,KOPrefs::instance()->mMonthViewOddColor); 582 mPrimaryPalette.setColor(QColorGroup::Background,KOPrefs::instance()->mMonthViewOddColor);
556 mNonPrimaryPalette.setColor(QColorGroup::Foreground,KOPrefs::instance()->mMonthViewEvenColor.dark()); 583 mNonPrimaryPalette.setColor(QColorGroup::Foreground,KOPrefs::instance()->mMonthViewEvenColor.dark());
557 mNonPrimaryPalette.setColor(QColorGroup::Base,KOPrefs::instance()->mMonthViewEvenColor); 584 mNonPrimaryPalette.setColor(QColorGroup::Base,KOPrefs::instance()->mMonthViewEvenColor);
558 mNonPrimaryPalette.setColor(QColorGroup::Background,KOPrefs::instance()->mMonthViewEvenColor); 585 mNonPrimaryPalette.setColor(QColorGroup::Background,KOPrefs::instance()->mMonthViewEvenColor);
559 } 586 }
560 updateCell(); 587 updateCell();
561} 588}
562 589
563void MonthViewCell::enableScrollBars( bool enabled ) 590void MonthViewCell::enableScrollBars( bool enabled )
564{ 591{
565 if ( enabled ) { 592 if ( enabled ) {
566 mItemList->setVScrollBarMode(QScrollView::Auto); 593 mItemList->setVScrollBarMode(QScrollView::Auto);
567 mItemList->setHScrollBarMode(QScrollView::Auto); 594 mItemList->setHScrollBarMode(QScrollView::Auto);
568 } else { 595 } else {
569 mItemList->setVScrollBarMode(QScrollView::AlwaysOff); 596 mItemList->setVScrollBarMode(QScrollView::AlwaysOff);
570 mItemList->setHScrollBarMode(QScrollView::AlwaysOff); 597 mItemList->setHScrollBarMode(QScrollView::AlwaysOff);
571 } 598 }
572} 599}
573 600
574Incidence *MonthViewCell::selectedIncidence() 601Incidence *MonthViewCell::selectedIncidence()
575{ 602{
576 int index = mItemList->currentItem(); 603 int index = mItemList->currentItem();
577 if ( index < 0 ) return 0; 604 if ( index < 0 ) return 0;
578 605
579 MonthViewItem *item = 606 MonthViewItem *item =
580 static_cast<MonthViewItem *>( mItemList->item( index ) ); 607 static_cast<MonthViewItem *>( mItemList->item( index ) );
581 608
582 if ( !item ) return 0; 609 if ( !item ) return 0;
583 610
584 return item->incidence(); 611 return item->incidence();
585} 612}
586 613
587QDate MonthViewCell::selectedIncidenceDate() 614QDate MonthViewCell::selectedIncidenceDate()
588{ 615{
589 QDate qd; 616 QDate qd;
590 int index = mItemList->currentItem(); 617 int index = mItemList->currentItem();
591 if ( index < 0 ) return qd; 618 if ( index < 0 ) return qd;
592 619
593 MonthViewItem *item = 620 MonthViewItem *item =
594 static_cast<MonthViewItem *>( mItemList->item( index ) ); 621 static_cast<MonthViewItem *>( mItemList->item( index ) );
595 622
596 if ( !item ) return qd; 623 if ( !item ) return qd;
597 624
598 return item->incidenceDate(); 625 return item->incidenceDate();
599} 626}
600 627
601void MonthViewCell::deselect() 628void MonthViewCell::deselect()
602{ 629{
603 mItemList->clearSelection(); 630 mItemList->clearSelection();
604 enableScrollBars( false ); 631 enableScrollBars( false );
605 // updateCell(); 632 // updateCell();
606} 633}
607void MonthViewCell::select() 634void MonthViewCell::select()
608{ 635{
609 ;// updateCell(); 636 ;// updateCell();
610} 637}
611 638
612void MonthViewCell::resizeEvent ( QResizeEvent * ) 639void MonthViewCell::resizeEvent ( QResizeEvent * )
613{ 640{
614 int size = height() - mLabel->height(); 641 int size = height() - mLabel->height();
615 if ( size > 0 ) 642 if ( size > 0 )
616 mItemList->verticalScrollBar()->setMaximumHeight( size ); 643 mItemList->verticalScrollBar()->setMaximumHeight( size );
617 size = width() - mLabel->width(); 644 size = width() - mLabel->width();
618 if ( size > 0 ) 645 if ( size > 0 )
619 mItemList->horizontalScrollBar()->setMaximumWidth( size ); 646 mItemList->horizontalScrollBar()->setMaximumWidth( size );
620 mLabel->move( width()-mItemList->lineWidth() - mLabel->width(), height()-mItemList->lineWidth() - mLabel->height() ); 647 mLabel->move( width()-mItemList->lineWidth() - mLabel->width(), height()-mItemList->lineWidth() - mLabel->height() );
621 //mLabel->setMaximumWidth( width() - mItemList->lineWidth()*2); 648 //mLabel->setMaximumWidth( width() - mItemList->lineWidth()*2);
622} 649}
623 650
624void MonthViewCell::defaultAction( QListBoxItem *item ) 651void MonthViewCell::defaultAction( QListBoxItem *item )
625{ 652{
626 if ( !item ) return; 653 if ( !item ) return;
@@ -721,192 +748,195 @@ KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name)
721 //label->setAlignment(AlignCenter); 748 //label->setAlignment(AlignCenter);
722 mWeekLabels.insert( i, label ); 749 mWeekLabels.insert( i, label );
723 } 750 }
724 mWeekLabels[mNumWeeks]->setText( i18n("W")); 751 mWeekLabels[mNumWeeks]->setText( i18n("W"));
725 int row, col; 752 int row, col;
726 mCells.resize( mNumCells ); 753 mCells.resize( mNumCells );
727 for( row = 0; row < mNumWeeks; ++row ) { 754 for( row = 0; row < mNumWeeks; ++row ) {
728 for( col = 0; col < mDaysPerWeek; ++col ) { 755 for( col = 0; col < mDaysPerWeek; ++col ) {
729 MonthViewCell *cell = new MonthViewCell( this ); 756 MonthViewCell *cell = new MonthViewCell( this );
730 mCells.insert( row * mDaysPerWeek + col, cell ); 757 mCells.insert( row * mDaysPerWeek + col, cell );
731 758
732 connect( cell, SIGNAL( defaultAction( Incidence * ) ), 759 connect( cell, SIGNAL( defaultAction( Incidence * ) ),
733 SLOT( defaultAction( Incidence * ) ) ); 760 SLOT( defaultAction( Incidence * ) ) );
734 connect( cell, SIGNAL( newEventSignal( QDateTime ) ), 761 connect( cell, SIGNAL( newEventSignal( QDateTime ) ),
735 SIGNAL( newEventSignal( QDateTime ) ) ); 762 SIGNAL( newEventSignal( QDateTime ) ) );
736 connect( cell, SIGNAL( showDaySignal( QDate ) ), 763 connect( cell, SIGNAL( showDaySignal( QDate ) ),
737 SIGNAL( showDaySignal( QDate ) ) ); 764 SIGNAL( showDaySignal( QDate ) ) );
738 } 765 }
739 } 766 }
740 767
741 mContextMenu = eventPopup(); 768 mContextMenu = eventPopup();
742 // updateConfig(); //useless here 769 // updateConfig(); //useless here
743 770
744 emit incidenceSelected( 0 ); 771 emit incidenceSelected( 0 );
745} 772}
746 773
747KOMonthView::~KOMonthView() 774KOMonthView::~KOMonthView()
748{ 775{
749 delete mContextMenu; 776 delete mContextMenu;
750} 777}
751 778
752int KOMonthView::maxDatesHint() 779int KOMonthView::maxDatesHint()
753{ 780{
754 return mNumCells; 781 return mNumCells;
755} 782}
756 783
757int KOMonthView::currentDateCount() 784int KOMonthView::currentDateCount()
758{ 785{
759 return mNumCells; 786 return mNumCells;
760} 787}
761 788
762QPtrList<Incidence> KOMonthView::selectedIncidences() 789QPtrList<Incidence> KOMonthView::selectedIncidences()
763{ 790{
764 QPtrList<Incidence> selected; 791 QPtrList<Incidence> selected;
765 792
766 if ( mSelectedCell ) { 793 if ( mSelectedCell ) {
767 Incidence *incidence = mSelectedCell->selectedIncidence(); 794 Incidence *incidence = mSelectedCell->selectedIncidence();
768 if ( incidence ) selected.append( incidence ); 795 if ( incidence ) selected.append( incidence );
769 } 796 }
770 797
771 return selected; 798 return selected;
772} 799}
773 800
774DateList KOMonthView::selectedDates() 801DateList KOMonthView::selectedDates()
775{ 802{
776 DateList selected; 803 DateList selected;
777 804
778 if ( mSelectedCell ) { 805 if ( mSelectedCell ) {
779 QDate qd = mSelectedCell->selectedIncidenceDate(); 806 QDate qd = mSelectedCell->selectedIncidenceDate();
780 if ( qd.isValid() ) selected.append( qd ); 807 if ( qd.isValid() ) selected.append( qd );
781 } 808 }
782 809
783 return selected; 810 return selected;
784} 811}
785 812
786void KOMonthView::printPreview(CalPrinter *calPrinter, const QDate &fd, 813void KOMonthView::printPreview(CalPrinter *calPrinter, const QDate &fd,
787 const QDate &td) 814 const QDate &td)
788{ 815{
789#ifndef KORG_NOPRINTER 816#ifndef KORG_NOPRINTER
790 calPrinter->preview(CalPrinter::Month, fd, td); 817 calPrinter->preview(CalPrinter::Month, fd, td);
791#endif 818#endif
792} 819}
793 820
794void KOMonthView::updateConfig() 821void KOMonthView::updateConfig()
795{ 822{
796 823
797 mWeekStartsMonday = KGlobal::locale()->weekStartsMonday(); 824 mWeekStartsMonday = KGlobal::locale()->weekStartsMonday();
798 825
799 QFontMetrics fontmetric(mDayLabels[0]->font()); 826 QFontMetrics fontmetric(mDayLabels[0]->font());
800 mWidthLongDayLabel = 0; 827 mWidthLongDayLabel = 0;
801 828
802 for (int i = 0; i < 7; i++) { 829 for (int i = 0; i < 7; i++) {
803 int width = fontmetric.width(KOGlobals::self()->calendarSystem()->weekDayName(i+1)); 830 int width = fontmetric.width(KOGlobals::self()->calendarSystem()->weekDayName(i+1));
804 if ( width > mWidthLongDayLabel ) mWidthLongDayLabel = width; 831 if ( width > mWidthLongDayLabel ) mWidthLongDayLabel = width;
805 } 832 }
806 bool temp = mShowSatSunComp ; 833 bool temp = mShowSatSunComp ;
807 mShowSatSunComp = KOPrefs::instance()->mMonthViewSatSunTog ; 834 mShowSatSunComp = KOPrefs::instance()->mMonthViewSatSunTog ;
808 if ( temp != KOPrefs::instance()->mMonthViewSatSunTog ) 835 if ( temp != KOPrefs::instance()->mMonthViewSatSunTog )
809 computeLayout(); 836 computeLayout();
810 updateDayLabels(); 837 updateDayLabels();
811 //qDebug("KOMonthView::updateConfig() %d %d %d ",height(), mDayLabels[0]->sizeHint().height() ,mNumWeeks); 838 //qDebug("KOMonthView::updateConfig() %d %d %d ",height(), mDayLabels[0]->sizeHint().height() ,mNumWeeks);
812 int cellHeight = (height() - mDayLabels[0]->sizeHint().height()) /mNumWeeks; 839 int cellHeight = (height() - mDayLabels[0]->sizeHint().height()) /mNumWeeks;
813 //resizeEvent( 0 ); 840 //resizeEvent( 0 );
814 for (uint i = 0; i < mCells.count(); ++i) { 841 for (uint i = 0; i < mCells.count(); ++i) {
815 mCells[i]->updateConfig(); 842 mCells[i]->updateConfig();
816 } 843 }
844#ifdef DESKTOP_VERSION
845 MonthViewCell::toolTipGroup()->setEnabled(KOPrefs::instance()->mEnableToolTips);
846#endif
817} 847}
818 848
819void KOMonthView::updateDayLabels() 849void KOMonthView::updateDayLabels()
820{ 850{
821 851
822 for (int i = 0; i < 7; i++) { 852 for (int i = 0; i < 7; i++) {
823 if (mWeekStartsMonday) { 853 if (mWeekStartsMonday) {
824 bool show = mShortDayLabels; 854 bool show = mShortDayLabels;
825 if ( i > 4 && mShowSatSunComp && mWidthLongDayLabel > mDayLabels[i]->width() ) 855 if ( i > 4 && mShowSatSunComp && mWidthLongDayLabel > mDayLabels[i]->width() )
826 show = true; 856 show = true;
827 mDayLabels[i]->setText(KOGlobals::self()->calendarSystem()->weekDayName(i+1,show)); 857 mDayLabels[i]->setText(KOGlobals::self()->calendarSystem()->weekDayName(i+1,show));
828 } else { 858 } else {
829 if (i==0) mDayLabels[i]->setText(KOGlobals::self()->calendarSystem()->weekDayName(7,mShortDayLabels)); 859 if (i==0) mDayLabels[i]->setText(KOGlobals::self()->calendarSystem()->weekDayName(7,mShortDayLabels));
830 else mDayLabels[i]->setText(KOGlobals::self()->calendarSystem()->weekDayName(i,mShortDayLabels)); 860 else mDayLabels[i]->setText(KOGlobals::self()->calendarSystem()->weekDayName(i,mShortDayLabels));
831 861
832 } 862 }
833 } 863 }
834} 864}
835 865
836void KOMonthView::showDates(const QDate &start, const QDate &) 866void KOMonthView::showDates(const QDate &start, const QDate &)
837{ 867{
838// kdDebug() << "KOMonthView::showDates(): " << start.toString() << endl; 868// kdDebug() << "KOMonthView::showDates(): " << start.toString() << endl;
839 869
840 870
841 mStartDate = start; 871 mStartDate = start;
842 872
843 int startWeekDay = mWeekStartsMonday ? 1 : 7; 873 int startWeekDay = mWeekStartsMonday ? 1 : 7;
844 874
845 while( KOGlobals::self()->calendarSystem()->dayOfWeek(mStartDate) != startWeekDay ) { 875 while( KOGlobals::self()->calendarSystem()->dayOfWeek(mStartDate) != startWeekDay ) {
846 mStartDate = mStartDate.addDays( -1 ); 876 mStartDate = mStartDate.addDays( -1 );
847 } 877 }
848 878
849 bool primary = false; 879 bool primary = false;
850 uint i; 880 uint i;
851 for( i = 0; i < mCells.size(); ++i ) { 881 for( i = 0; i < mCells.size(); ++i ) {
852 QDate date = mStartDate.addDays( i ); 882 QDate date = mStartDate.addDays( i );
853 mCells[i]->setDate( date ); 883 mCells[i]->setDate( date );
854 884
855#ifndef KORG_NOPLUGINS 885#ifndef KORG_NOPLUGINS
856 // add holiday, if present 886 // add holiday, if present
857 QString hstring(KOCore::self()->holiday(date)); 887 QString hstring(KOCore::self()->holiday(date));
858 mCells[i]->setHoliday( hstring ); 888 mCells[i]->setHoliday( hstring );
859#endif 889#endif
860 890
861 } 891 }
862 QDate date = mStartDate.addDays( mWeekStartsMonday ? 3 : 4 ); 892 QDate date = mStartDate.addDays( mWeekStartsMonday ? 3 : 4 );
863 for( i = 0; i < 6; ++i ) { 893 for( i = 0; i < 6; ++i ) {
864 int wno; 894 int wno;
865 // remember, according to ISO 8601, the first week of the year is the 895 // remember, according to ISO 8601, the first week of the year is the
866 // first week that contains a thursday. Thus we must subtract off 4, 896 // first week that contains a thursday. Thus we must subtract off 4,
867 // not just 1. 897 // not just 1.
868 int dayOfYear = date.dayOfYear(); 898 int dayOfYear = date.dayOfYear();
869 if (dayOfYear % 7 != 0) 899 if (dayOfYear % 7 != 0)
870 wno = dayOfYear / 7 + 1; 900 wno = dayOfYear / 7 + 1;
871 else 901 else
872 wno =dayOfYear / 7; 902 wno =dayOfYear / 7;
873 mWeekLabels[i]->setWeekNum( wno ); 903 mWeekLabels[i]->setWeekNum( wno );
874 date = date.addDays( 7 ); 904 date = date.addDays( 7 );
875 } 905 }
876 updateView(); 906 updateView();
877} 907}
878 908
879void KOMonthView::showEvents(QPtrList<Event>) 909void KOMonthView::showEvents(QPtrList<Event>)
880{ 910{
881 qDebug("KOMonthView::selectEvents is not implemented yet. "); 911 qDebug("KOMonthView::selectEvents is not implemented yet. ");
882} 912}
883 913
884void KOMonthView::changeEventDisplay(Event *, int) 914void KOMonthView::changeEventDisplay(Event *, int)
885{ 915{
886 // this should be re-written to be much more efficient, but this 916 // this should be re-written to be much more efficient, but this
887 // quick-and-dirty-hack gets the job done for right now. 917 // quick-and-dirty-hack gets the job done for right now.
888 updateView(); 918 updateView();
889} 919}
890 920
891void KOMonthView::updateView() 921void KOMonthView::updateView()
892{ 922{
893 923
894 uint i; 924 uint i;
895 for( i = 0; i < mCells.count(); ++i ) { 925 for( i = 0; i < mCells.count(); ++i ) {
896 mCells[i]->updateCell(); 926 mCells[i]->updateCell();
897 } 927 }
898 //qDebug("KOMonthView::updateView() "); 928 //qDebug("KOMonthView::updateView() ");
899 processSelectionChange(); 929 processSelectionChange();
900} 930}
901 931
902void KOMonthView::resizeEvent(QResizeEvent * e) 932void KOMonthView::resizeEvent(QResizeEvent * e)
903{ 933{
904 computeLayout(); 934 computeLayout();
905} 935}
906void KOMonthView::computeLayout() 936void KOMonthView::computeLayout()
907{ 937{
908 // select the appropriate heading string size. E.g. "Wednesday" or "Wed". 938 // select the appropriate heading string size. E.g. "Wednesday" or "Wed".
909 // note this only changes the text if the requested size crosses the 939 // note this only changes the text if the requested size crosses the
910 // threshold between big enough to support the full name and not big 940 // threshold between big enough to support the full name and not big
911 // enough. 941 // enough.
912 942
diff --git a/korganizer/komonthview.h b/korganizer/komonthview.h
index 5124057..4c1567c 100644
--- a/korganizer/komonthview.h
+++ b/korganizer/komonthview.h
@@ -1,256 +1,265 @@
1/* 1/*
2 This file is part of KOrganizer. 2 This file is part of KOrganizer.
3 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org> 3 Copyright (c) 2000,2001 Cornelius Schumacher <schumacher@kde.org>
4 4
5 This program is free software; you can redistribute it and/or modify 5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by 6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or 7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version. 8 (at your option) any later version.
9 9
10 This program is distributed in the hope that it will be useful, 10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details. 13 GNU General Public License for more details.
14 14
15 You should have received a copy of the GNU General Public License 15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software 16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18*/ 18*/
19 19
20#ifndef _KOMONTHVIEW_H 20#ifndef _KOMONTHVIEW_H
21#define _KOMONTHVIEW_H 21#define _KOMONTHVIEW_H
22 22
23#include <qlabel.h> 23#include <qlabel.h>
24#include <qframe.h> 24#include <qframe.h>
25#include <qdatetime.h> 25#include <qdatetime.h>
26#include <qlistbox.h> 26#include <qlistbox.h>
27#include <qpoint.h> 27#include <qpoint.h>
28#include <qlayout.h> 28#include <qlayout.h>
29#include <qintdict.h> 29#include <qintdict.h>
30#include <qpushbutton.h> 30#include <qpushbutton.h>
31#include <qvaluelist.h> 31#include <qvaluelist.h>
32#include <qptrvector.h> 32#include <qptrvector.h>
33 33
34#include <libkcal/calendar.h> 34#include <libkcal/calendar.h>
35#include <libkcal/event.h> 35#include <libkcal/event.h>
36 36
37#include "koeventview.h" 37#include "koeventview.h"
38 38
39#ifdef DESKTOP_VERSION
40class QToolTipGroup;
41#endif
42
39class KOWeekButton : public QPushButton 43class KOWeekButton : public QPushButton
40{ 44{
41 Q_OBJECT 45 Q_OBJECT
42 public: 46 public:
43 KOWeekButton( QWidget *parent=0, const char *name=0 ) : 47 KOWeekButton( QWidget *parent=0, const char *name=0 ) :
44 QPushButton( parent, name) 48 QPushButton( parent, name)
45 { 49 {
46 connect( this, SIGNAL( clicked() ), 50 connect( this, SIGNAL( clicked() ),
47 SLOT( bottonClicked() )); 51 SLOT( bottonClicked() ));
48 mNumber = -1; 52 mNumber = -1;
49 } 53 }
50 void setWeekNum ( int num ) {mNumber = num; setText( QString::number ( num ));} 54 void setWeekNum ( int num ) {mNumber = num; setText( QString::number ( num ));}
51 signals: 55 signals:
52 void selectWeekNum ( int ); 56 void selectWeekNum ( int );
53private: 57private:
54 int mNumber; 58 int mNumber;
55private slots : 59private slots :
56 void bottonClicked() { if ( mNumber > 0 ) emit selectWeekNum ( mNumber ); } 60 void bottonClicked() { if ( mNumber > 0 ) emit selectWeekNum ( mNumber ); }
57}; 61};
58 62
59class KNoScrollListBox: public QListBox 63class KNoScrollListBox: public QListBox
60{ 64{
61 Q_OBJECT 65 Q_OBJECT
62 public: 66 public:
63 KNoScrollListBox(QWidget *parent=0, const char *name=0); 67 KNoScrollListBox(QWidget *parent=0, const char *name=0);
64 ~KNoScrollListBox() {} 68 ~KNoScrollListBox() {}
65 QString getWhatsThisText(QPoint p) ; 69 QString getWhatsThisText(QPoint p) ;
66 70
67 signals: 71 signals:
68 void shiftDown(); 72 void shiftDown();
69 void shiftUp(); 73 void shiftUp();
70 void rightClick(); 74 void rightClick();
71 75
72 protected slots: 76 protected slots:
73 void keyPressEvent(QKeyEvent *); 77 void keyPressEvent(QKeyEvent *);
74 void keyReleaseEvent(QKeyEvent *); 78 void keyReleaseEvent(QKeyEvent *);
75 void mousePressEvent(QMouseEvent *); 79 void mousePressEvent(QMouseEvent *);
76}; 80};
77 81
78 82
79class MonthViewItem: public QListBoxItem 83class MonthViewItem: public QListBoxItem
80{ 84{
81 public: 85 public:
82 MonthViewItem( Incidence *, QDate qd, const QString & title ); 86 MonthViewItem( Incidence *, QDate qd, const QString & title );
83 87
84 void setRecur(bool on) { mRecur = on; } 88 void setRecur(bool on) { mRecur = on; }
85 void setAlarm(bool on) { mAlarm = on; } 89 void setAlarm(bool on) { mAlarm = on; }
86 void setReply(bool on) { mReply = on; } 90 void setReply(bool on) { mReply = on; }
87 void setMoreInfo(bool on) { mInfo = on; } 91 void setMoreInfo(bool on) { mInfo = on; }
88 92
89 93
90 void setPalette(const QPalette &p) { mPalette = p; } 94 void setPalette(const QPalette &p) { mPalette = p; }
91 QPalette palette() const { return mPalette; } 95 QPalette palette() const { return mPalette; }
92 96
93 Incidence *incidence() const { return mIncidence; } 97 Incidence *incidence() const { return mIncidence; }
94 QDate incidenceDate() { return mDate; } 98 QDate incidenceDate() { return mDate; }
95 99
96 protected: 100 protected:
97 virtual void paint(QPainter *); 101 virtual void paint(QPainter *);
98 virtual int height(const QListBox *) const; 102 virtual int height(const QListBox *) const;
99 virtual int width(const QListBox *) const; 103 virtual int width(const QListBox *) const;
100 104
101 private: 105 private:
102 bool mRecur; 106 bool mRecur;
103 bool mAlarm; 107 bool mAlarm;
104 bool mReply; 108 bool mReply;
105 bool mInfo; 109 bool mInfo;
106 110
107 QPalette mPalette; 111 QPalette mPalette;
108 QDate mDate; 112 QDate mDate;
109 113
110 Incidence *mIncidence; 114 Incidence *mIncidence;
111}; 115};
112 116
113 117
114class KOMonthView; 118class KOMonthView;
115 119
116class MonthViewCell : public QWidget 120class MonthViewCell : public QWidget
117{ 121{
118 Q_OBJECT 122 Q_OBJECT
119 public: 123 public:
120 MonthViewCell( KOMonthView * ); 124 MonthViewCell( KOMonthView * );
121 125
122 void setDate( const QDate & ); 126 void setDate( const QDate & );
123 QDate date() const; 127 QDate date() const;
124 128
125 void setPrimary( bool ); 129 void setPrimary( bool );
126 bool isPrimary() const; 130 bool isPrimary() const;
127 131
128 void setHoliday( bool ); 132 void setHoliday( bool );
129 void setHoliday( const QString & ); 133 void setHoliday( const QString & );
130 134
131 void updateCell(); 135 void updateCell();
132 136
133 void updateConfig(); 137 void updateConfig();
134 138
135 void enableScrollBars( bool ); 139 void enableScrollBars( bool );
136 140
137 Incidence *selectedIncidence(); 141 Incidence *selectedIncidence();
138 QDate selectedIncidenceDate(); 142 QDate selectedIncidenceDate();
139 143
140 void deselect(); 144 void deselect();
141 void select(); 145 void select();
142 146
147#ifdef DESKTOP_VERSION
148 static QToolTipGroup *toolTipGroup();
149#endif
143 signals: 150 signals:
144 void defaultAction( Incidence * ); 151 void defaultAction( Incidence * );
145 void newEventSignal( QDateTime ); 152 void newEventSignal( QDateTime );
146 void showDaySignal( QDate ); 153 void showDaySignal( QDate );
147 154
148 protected: 155 protected:
149 void resizeEvent( QResizeEvent * ); 156 void resizeEvent( QResizeEvent * );
150 157
151 protected slots: 158 protected slots:
152 void defaultAction( QListBoxItem * ); 159 void defaultAction( QListBoxItem * );
153 void contextMenu( QListBoxItem * ); 160 void contextMenu( QListBoxItem * );
154 void selection( QListBoxItem * ); 161 void selection( QListBoxItem * );
155 void cellClicked( QListBoxItem * ); 162 void cellClicked( QListBoxItem * );
156 void newEvent(); 163 void newEvent();
157 void showDay(); 164 void showDay();
158 165
159 private: 166 private:
160 KOMonthView *mMonthView; 167 KOMonthView *mMonthView;
161 168
162 QDate mDate; 169 QDate mDate;
163 bool mPrimary; 170 bool mPrimary;
164 bool mHoliday; 171 bool mHoliday;
165 QString mHolidayString; 172 QString mHolidayString;
166 173
167 //QLabel *mLabel; 174 //QLabel *mLabel;
168 QPushButton *mLabel; 175 QPushButton *mLabel;
169 QListBox *mItemList; 176 QListBox *mItemList;
170 177#ifdef DESKTOP_VERSION
178 static QToolTipGroup *mToolTipGroup;
179#endif
171 QSize mLabelSize; 180 QSize mLabelSize;
172 QSize mLabelBigSize; 181 QSize mLabelBigSize;
173 QPalette mHolidayPalette; 182 QPalette mHolidayPalette;
174 QPalette mStandardPalette; 183 QPalette mStandardPalette;
175 QPalette mPrimaryPalette; 184 QPalette mPrimaryPalette;
176 QPalette mNonPrimaryPalette; 185 QPalette mNonPrimaryPalette;
177 void setMyPalette(); 186 void setMyPalette();
178 QPalette getPalette (); 187 QPalette getPalette ();
179 void keyPressEvent ( QKeyEvent * ) ; 188 void keyPressEvent ( QKeyEvent * ) ;
180 189
181}; 190};
182 191
183 192
184class KOMonthView: public KOEventView 193class KOMonthView: public KOEventView
185{ 194{
186 Q_OBJECT 195 Q_OBJECT
187 public: 196 public:
188 KOMonthView(Calendar *cal, QWidget *parent = 0, const char *name = 0 ); 197 KOMonthView(Calendar *cal, QWidget *parent = 0, const char *name = 0 );
189 ~KOMonthView(); 198 ~KOMonthView();
190 199
191 /** Returns maximum number of days supported by the komonthview */ 200 /** Returns maximum number of days supported by the komonthview */
192 virtual int maxDatesHint(); 201 virtual int maxDatesHint();
193 202
194 /** Returns number of currently shown dates. */ 203 /** Returns number of currently shown dates. */
195 virtual int currentDateCount(); 204 virtual int currentDateCount();
196 205
197 /** returns the currently selected events */ 206 /** returns the currently selected events */
198 virtual QPtrList<Incidence> selectedIncidences(); 207 virtual QPtrList<Incidence> selectedIncidences();
199 208
200 /** returns dates of the currently selected events */ 209 /** returns dates of the currently selected events */
201 virtual DateList selectedDates(); 210 virtual DateList selectedDates();
202 211
203 virtual void printPreview(CalPrinter *calPrinter, 212 virtual void printPreview(CalPrinter *calPrinter,
204 const QDate &, const QDate &); 213 const QDate &, const QDate &);
205 bool isMonthView() { return true; } 214 bool isMonthView() { return true; }
206 215
207 MonthViewCell * selectedCell(); 216 MonthViewCell * selectedCell();
208 public slots: 217 public slots:
209 virtual void updateView(); 218 virtual void updateView();
210 virtual void updateConfig(); 219 virtual void updateConfig();
211 virtual void showDates(const QDate &start, const QDate &end); 220 virtual void showDates(const QDate &start, const QDate &end);
212 virtual void showEvents(QPtrList<Event> eventList); 221 virtual void showEvents(QPtrList<Event> eventList);
213 222
214 void changeEventDisplay(Event *, int); 223 void changeEventDisplay(Event *, int);
215 224
216 void clearSelection(); 225 void clearSelection();
217 226
218 void showContextMenu( Incidence * ); 227 void showContextMenu( Incidence * );
219 228
220 void setSelectedCell( MonthViewCell * ); 229 void setSelectedCell( MonthViewCell * );
221 230
222 protected slots: 231 protected slots:
223 void processSelectionChange(); 232 void processSelectionChange();
224 signals: 233 signals:
225 void selectWeekNum ( int ); 234 void selectWeekNum ( int );
226 void showDaySignal( QDate ); 235 void showDaySignal( QDate );
227 protected: 236 protected:
228 void resizeEvent(QResizeEvent *); 237 void resizeEvent(QResizeEvent *);
229 void viewChanged(); 238 void viewChanged();
230 void updateDayLabels(); 239 void updateDayLabels();
231 240
232 private: 241 private:
233 int mDaysPerWeek; 242 int mDaysPerWeek;
234 int mNumWeeks; 243 int mNumWeeks;
235 int mNumCells; 244 int mNumCells;
236 bool mWeekStartsMonday; 245 bool mWeekStartsMonday;
237 bool mShowSatSunComp; 246 bool mShowSatSunComp;
238 void computeLayout(); 247 void computeLayout();
239 248
240 QPtrVector<MonthViewCell> mCells; 249 QPtrVector<MonthViewCell> mCells;
241 QPtrVector<QLabel> mDayLabels; 250 QPtrVector<QLabel> mDayLabels;
242 QPtrVector<KOWeekButton> mWeekLabels; 251 QPtrVector<KOWeekButton> mWeekLabels;
243 252
244 bool mShortDayLabels; 253 bool mShortDayLabels;
245 int mWidthLongDayLabel; 254 int mWidthLongDayLabel;
246 255
247 QDate mStartDate; 256 QDate mStartDate;
248 257
249 MonthViewCell *mSelectedCell; 258 MonthViewCell *mSelectedCell;
250 259
251 KOEventPopupMenu *mContextMenu; 260 KOEventPopupMenu *mContextMenu;
252 void keyPressEvent ( QKeyEvent * ) ; 261 void keyPressEvent ( QKeyEvent * ) ;
253 262
254}; 263};
255 264
256#endif 265#endif