summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2004-09-08 02:02:15 (UTC)
committer zautrix <zautrix>2004-09-08 02:02:15 (UTC)
commite5f6ea343bc2b129f81fde3734b100cfa2ed6c83 (patch) (unidiff)
tree8d33b16e52b1d886cf524052418e8dd445689a66
parent199025628054eef739a261437a51a98f5218ab0f (diff)
downloadkdepimpi-e5f6ea343bc2b129f81fde3734b100cfa2ed6c83.zip
kdepimpi-e5f6ea343bc2b129f81fde3734b100cfa2ed6c83.tar.gz
kdepimpi-e5f6ea343bc2b129f81fde3734b100cfa2ed6c83.tar.bz2
Some fixes
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--Makefile13
-rw-r--r--kaddressbook/kabcore.cpp2
-rw-r--r--kalarmd/simplealarmdaemonimpl.cpp2
-rw-r--r--kdepim.control2
-rw-r--r--kmicrokdelibs.control2
-rw-r--r--kmicromail/composemail.cpp2
-rw-r--r--kmicromail/main.cpp2
-rw-r--r--kmicromail/opiemail.cpp11
8 files changed, 21 insertions, 15 deletions
diff --git a/Makefile b/Makefile
index 41976f3..2d0e855 100644
--- a/Makefile
+++ b/Makefile
@@ -1,299 +1,302 @@
1export KDEPIMDIR = $(shell pwd) 1export KDEPIMDIR = $(shell pwd)
2 2
3 3
4ifeq ($(PLATFORM) , zaurus) 4ifeq ($(PLATFORM) , zaurus)
5 BUILD_NO_LDAP_PLUGIN=1 5 BUILD_NO_LDAP_PLUGIN=1
6endif 6endif
7 7
8ifneq ($(PLATFORM) , zaurus) 8ifneq ($(PLATFORM) , zaurus)
9 BUILD_NO_SHARP_PLUGIN=1 9 BUILD_NO_SHARP_PLUGIN=1
10endif 10endif
11 11
12SUBDIRS_MICROKDE = \ 12SUBDIRS_MICROKDE = \
13 libical/src/libical \ 13 libical/src/libical \
14 libical/src/libicalss \ 14 libical/src/libicalss \
15 qtcompat \ 15 qtcompat \
16 microkde \ 16 microkde \
17 libkcal \ 17 libkcal \
18 libkdepim \ 18 libkdepim \
19 kabc \ 19 kabc \
20 kabc/formats/binary \ 20 kabc/formats/binary \
21 kabc/plugins/file \ 21 kabc/plugins/file \
22 kabc/plugins/dir \ 22 kabc/plugins/dir \
23 korganizer \ 23 korganizer \
24 kalarmd \ 24 kalarmd \
25 kaddressbook 25 kaddressbook
26 26
27SUBDIRS_QTOPIA_PLUGIN = \ 27SUBDIRS_QTOPIA_PLUGIN = \
28 kabc/plugins/qtopia 28 kabc/plugins/qtopia
29 29
30SUBDIRS_OPIE_PLUGIN = \ 30SUBDIRS_OPIE_PLUGIN = \
31 kabc/plugins/opie 31 kabc/plugins/opie
32 32
33SUBDIRS_SHARP_PLUGIN = \ 33SUBDIRS_SHARP_PLUGIN = \
34 kabc/plugins/sharpdtm 34 kabc/plugins/sharpdtm
35 35
36SUBDIRS_LDAP_PLUGIN = \ 36SUBDIRS_LDAP_PLUGIN = \
37 kabc/plugins/ldap 37 kabc/plugins/ldap
38 38
39SUBDIRS_MICROMAIL = \ 39SUBDIRS_MICROMAIL = \
40 kmicromail/libetpan \ 40 kmicromail/libetpan \
41 kmicromail/libmailwrapper \ 41 kmicromail/libmailwrapper \
42 kmicromail 42 kmicromail
43 43
44SUBDIRS_GAMMU = \ 44SUBDIRS_GAMMU = \
45 gammu/emb/common \ 45 gammu/emb/common \
46 gammu/emb/gammu 46 gammu/emb/gammu
47 47
48SUBDIRS = \ 48SUBDIRS = \
49 $(SUBDIRS_MICROKDE) \ 49 $(SUBDIRS_MICROKDE) \
50 $(SUBDIRS_QTOPIA_PLUGIN) \ 50 $(SUBDIRS_QTOPIA_PLUGIN) \
51 $(SUBDIRS_OPIE_PLUGIN) \ 51 $(SUBDIRS_OPIE_PLUGIN) \
52 $(SUBDIRS_SHARP_PLUGIN) \ 52 $(SUBDIRS_SHARP_PLUGIN) \
53 $(SUBDIRS_LDAP_PLUGIN) \ 53 $(SUBDIRS_LDAP_PLUGIN) \
54 $(SUBDIRS_MICROMAIL) \ 54 $(SUBDIRS_MICROMAIL) \
55 $(SUBDIRS_GAMMU) 55 $(SUBDIRS_GAMMU)
56 56
57all: build_microkde \ 57all: build_microkde \
58 build_qtopia_plugin \ 58 build_qtopia_plugin \
59 build_opie_plugin \ 59 build_opie_plugin \
60 build_sharp_plugin \ 60 build_sharp_plugin \
61 build_ldap_plugin \ 61 build_ldap_plugin \
62 build_micromail \ 62 build_micromail \
63 build_gammu 63 build_gammu
64 64
65 65
66build_microkde: variable_test tmake 66build_microkde: variable_test tmake
67 for i in $(SUBDIRS_MICROKDE); do pushd $$i; \ 67 for i in $(SUBDIRS_MICROKDE); do pushd $$i; \
68 make -f Makefile$(PLATFORM) || exit 1; popd; \ 68 make -f Makefile$(PLATFORM) || exit 1; popd; \
69 done 69 done
70 70
71build_qtopia_plugin: build_microkde 71build_qtopia_plugin: build_microkde
72 for i in $(SUBDIRS_QTOPIA_PLUGIN); do pushd $$i; \ 72 for i in $(SUBDIRS_QTOPIA_PLUGIN); do pushd $$i; \
73 make -f Makefile$(PLATFORM) || exit 1; popd; \ 73 make -f Makefile$(PLATFORM) || exit 1; popd; \
74 done 74 done
75 75
76build_opie_plugin: build_microkde 76build_opie_plugin: build_microkde
77 ifdef BUILD_NO_OPIE_PLUGIN 77 ifdef BUILD_NO_OPIE_PLUGIN
78 @echo ---> opie plugin not build. 78 @echo == opie plugin not build.
79 else 79 else
80 for i in $(SUBDIRS_OPIE_PLUGIN); do pushd $$i; \ 80 for i in $(SUBDIRS_OPIE_PLUGIN); do pushd $$i; \
81 make -f Makefile$(PLATFORM) || exit 1; popd; \ 81 make -f Makefile$(PLATFORM) || exit 1; popd; \
82 done 82 done
83 endif 83 endif
84 84
85build_sharp_plugin: build_microkde 85build_sharp_plugin: build_microkde
86 ifdef BUILD_NO_SHARP_PLUGIN 86 ifdef BUILD_NO_SHARP_PLUGIN
87 @echo ---> ldap plugin not build. 87 @echo == ldap plugin not build.
88 else 88 else
89 for i in $(SUBDIRS_SHARP_PLUGIN); do pushd $$i; \ 89 for i in $(SUBDIRS_SHARP_PLUGIN); do pushd $$i; \
90 make -f Makefile$(PLATFORM) || exit 1; popd; \ 90 make -f Makefile$(PLATFORM) || exit 1; popd; \
91 done 91 done
92 endif 92 endif
93 93
94build_ldap_plugin: build_microkde 94build_ldap_plugin: build_microkde
95 ifdef BUILD_NO_LDAP_PLUGIN 95 ifdef BUILD_NO_LDAP_PLUGIN
96 @echo ---> ldap plugin not build. 96 @echo == ldap plugin not build.
97 else 97 else
98 for i in $(SUBDIRS_LDAP_PLUGIN); do pushd $$i; \ 98 for i in $(SUBDIRS_LDAP_PLUGIN); do pushd $$i; \
99 make -f Makefile$(PLATFORM) || exit 1; popd; \ 99 make -f Makefile$(PLATFORM) || exit 1; popd; \
100 done 100 done
101 endif 101 endif
102 102
103 103
104build_micromail: build_microkde 104build_micromail: build_microkde
105 ifdef BUILD_NO_MICROMAIL 105 ifdef BUILD_NO_MICROMAIL
106 @echo ---> micromail not build. 106 @echo == kmicromail not build.
107 else 107 else
108 for i in $(SUBDIRS_MICROMAIL); do pushd $$i; \ 108 for i in $(SUBDIRS_MICROMAIL); do pushd $$i; \
109 make -f Makefile$(PLATFORM) || exit 1; popd; \ 109 make -f Makefile$(PLATFORM) || exit 1; popd; \
110 done 110 done
111 endif 111 endif
112 112
113build_gammu: variable_test tmake 113build_gammu: variable_test tmake
114 ifdef BUILD_NO_GAMMU 114 ifdef BUILD_NO_GAMMU
115 @echo ---> gammu not build. 115 @echo == gammu not build.
116 else 116 else
117 for i in $(SUBDIRS_GAMMU); do pushd $$i; \ 117 for i in $(SUBDIRS_GAMMU); do pushd $$i; \
118 make -f Makefile$(PLATFORM) || exit 1; popd; \ 118 make -f Makefile$(PLATFORM) || exit 1; popd; \
119 done 119 done
120 endif 120 endif
121 121
122 122
123variable_info: 123variable_info:
124 @echo -------------------------------------- 124 @echo --------------------------------------
125 @echo KDEPIM buildsystem, variableinfo... 125 @echo KDEPIM buildsystem, variableinfo...
126 @echo KDEPIMDIR=$(KDEPIMDIR) 126 @echo KDEPIMDIR=$(KDEPIMDIR)
127 @echo QTDIR=$(QTDIR) 127 @echo QTDIR=$(QTDIR)
128 @echo QPEDIR=$(QPEDIR) 128 @echo QPEDIR=$(QPEDIR)
129 @echo OPIEDIR=$(OPIEDIR) 129 @echo OPIEDIR=$(OPIEDIR)
130 @echo PLATFORM=$(PLATFORM) 130 @echo PLATFORM=$(PLATFORM)
131 @echo RELEASE_DEBUG=$(RELEASE_DEBUG) 131 @echo RELEASE_DEBUG=$(RELEASE_DEBUG)
132 @echo BUILD_NO_MICROMAIL=$(BUILD_NO_MICROMAIL) 132 @echo BUILD_NO_MICROMAIL=$(BUILD_NO_MICROMAIL)
133 @echo BUILD_NO_LDAP_PLUGIN=$(BUILD_NO_LDAP_PLUGIN) 133 @echo BUILD_NO_LDAP_PLUGIN=$(BUILD_NO_LDAP_PLUGIN)
134 @echo BUILD_NO_OPIE_PLUGIN=$(BUILD_NO_OPIE_PLUGIN) 134 @echo BUILD_NO_OPIE_PLUGIN=$(BUILD_NO_OPIE_PLUGIN)
135 @echo BUILD_NO_SHARP_PLUGIN=$(BUILD_NO_SHARP_PLUGIN) 135 @echo BUILD_NO_SHARP_PLUGIN=$(BUILD_NO_SHARP_PLUGIN)
136 ifndef BUILD_NO_SHARP_PLUGIN 136 ifndef BUILD_NO_SHARP_PLUGIN
137 @echo SHARPDTMSDK=$(SHARPDTMSDK) 137 @echo SHARPDTMSDK=$(SHARPDTMSDK)
138 endif 138 endif
139 @echo BUILD_NO_GAMMU=$(BUILD_NO_GAMMU) 139 @echo BUILD_NO_GAMMU=$(BUILD_NO_GAMMU)
140 @echo -------------------------------------- 140 @echo --------------------------------------
141 141
142variable_test: variable_info 142variable_test: variable_info
143 @echo KDEPIM buildsystem, variablecheck... 143 @echo KDEPIM buildsystem, variablecheck...
144 ifndef KDEPIMDIR 144 ifndef KDEPIMDIR
145 @echo KDEPIMDIR is not defined. 145 @echo KDEPIMDIR is not defined.
146 $(error KDEPIMDIR is not defined) 146 $(error KDEPIMDIR is not defined)
147 endif 147 endif
148 ifndef PLATFORM 148 ifndef PLATFORM
149 @echo PLATFORM is not defined. 149 @echo PLATFORM is not defined.
150 $(error PLATFORM is not defined) 150 $(error PLATFORM is not defined)
151 endif 151 endif
152 ifdef BUILD_NO_LDAP_PLUGIN 152 ifdef BUILD_NO_LDAP_PLUGIN
153 @echo LDAP PLUGIN will not be build, because BUILD_NO_LDAP_PLUGIN is set to $(BUILD_NO_LDAP_PLUGIN) 153 @echo LDAP PLUGIN will not be build, because BUILD_NO_LDAP_PLUGIN is set to $(BUILD_NO_LDAP_PLUGIN)
154 endif 154 endif
155 ifdef BUILD_NO_OPIE_PLUGIN 155 ifdef BUILD_NO_OPIE_PLUGIN
156 @echo OPIE PLUGIN will not be build, because BUILD_NO_OPIE_PLUGIN is set to $(BUILD_NO_OPIE_PLUGIN) 156 @echo OPIE PLUGIN will not be build, because BUILD_NO_OPIE_PLUGIN is set to $(BUILD_NO_OPIE_PLUGIN)
157 endif 157 endif
158 ifdef BUILD_NO_MICROMAIL 158 ifdef BUILD_NO_MICROMAIL
159 @echo MICROMAIL will not be build, because BUILD_NO_MICROMAIL is set to $(BUILD_NO_MICROMAIL) 159 @echo MICROMAIL will not be build, because BUILD_NO_MICROMAIL is set to $(BUILD_NO_MICROMAIL)
160 endif 160 endif
161 ifdef BUILD_NO_SHARP_PLUGIN 161 ifdef BUILD_NO_SHARP_PLUGIN
162 @echo SHARP PLUGIN will not be build, because BUILD_NO_SHARP_PLUGIN is set to $(BUILD_NO_SHARP_PLUGIN) 162 @echo SHARP PLUGIN will not be build, because BUILD_NO_SHARP_PLUGIN is set to $(BUILD_NO_SHARP_PLUGIN)
163 else 163 else
164 ifndef SHARPDTMSDK 164 ifndef SHARPDTMSDK
165 @echo SHARP PLUGIN can not be build, because SHARPDTMSDK is set to $(SHARPDTMSDK) 165 @echo SHARP PLUGIN can not be build, because SHARPDTMSDK is set to $(SHARPDTMSDK)
166 $(error SHARPDTMSDK is not defined) 166 $(error SHARPDTMSDK is not defined)
167 endif 167 endif
168 endif 168 endif
169 ifdef BUILD_NO_GAMMU
170 @echo GAMMU will not be build, because BUILD_NO_GAMMU is set to $(BUILD_NO_GAMMU)
171 endif
169 @echo -------------------------------------- 172 @echo --------------------------------------
170 173
171 174
172objects: 175objects:
173 for i in $(SUBDIRS); do mkdir -p $$i/obj/$(PLATFORM); done 176 for i in $(SUBDIRS); do mkdir -p $$i/obj/$(PLATFORM); done
174 for i in $(SUBDIRS); do mkdir -p $$i/moc/$(PLATFORM); done 177 for i in $(SUBDIRS); do mkdir -p $$i/moc/$(PLATFORM); done
175 mkdir -p libical/lib/$(PLATFORM) 178 mkdir -p libical/lib/$(PLATFORM)
176 179
177clean: 180clean:
178 rm -rf libical/lib/$(PLATFORM)/*; 181 rm -rf libical/lib/$(PLATFORM)/*;
179 for i in $(SUBDIRS); do pushd $$i; make clean; rm -f *~;\ 182 for i in $(SUBDIRS); do pushd $$i; make clean; rm -f *~;\
180 rm -f obj/$(PLATFORM)/*; rm -f moc/$(PLATFORM)/*; rm Makefile$(PLATFORM); popd; \ 183 rm -f obj/$(PLATFORM)/*; rm -f moc/$(PLATFORM)/*; rm Makefile$(PLATFORM); popd; \
181 done 184 done
182install: 185install:
183 cd bin/kdepim; make install 186 cd bin/kdepim; make install
184 cp -r Pim $(QPEDIR)/apps 187 cp -r Pim $(QPEDIR)/apps
185 cp db2file/db2file $(QPEDIR)/bin/db2file 188 cp db2file/db2file $(QPEDIR)/bin/db2file
186 cp korganizer/korganizer.desktop $(QPEDIR)/apps/Pim/korganizer.desktop 189 cp korganizer/korganizer.desktop $(QPEDIR)/apps/Pim/korganizer.desktop
187 cp kaddressbook/kaddressbook.desktop $(QPEDIR)/apps/Pim/kaddressbook.desktop 190 cp kaddressbook/kaddressbook.desktop $(QPEDIR)/apps/Pim/kaddressbook.desktop
188 cp kmicromail/kmicromail.desktop $(QPEDIR)/apps/Pim/kmicromail.desktop 191 cp kmicromail/kmicromail.desktop $(QPEDIR)/apps/Pim/kmicromail.desktop
189 192
190dist: 193dist:
191 @echo Dont forget to do "make install" before "make dist" 194 @echo Dont forget to do "make install" before "make dist"
192 rm -f *arm.ipk 195 rm -f *arm.ipk
193 rm -f *~ 196 rm -f *~
194 cd ..; tar czf kdepim.src.tar.gz --exclude=obj --exclude=moc --exclude=CVS --exclude=Makefilezaurus --exclude=Makefileqtopia kdepim 197 cd ..; tar czf kdepim.src.tar.gz --exclude=obj --exclude=moc --exclude=CVS --exclude=Makefilezaurus --exclude=Makefileqtopia kdepim
195 ./mkipks kmicrokdelibs.control 198 ./mkipks kmicrokdelibs.control
196 ./mkipks korganizer.control 199 ./mkipks korganizer.control
197 ./mkipks kaddressbook.control 200 ./mkipks kaddressbook.control
198 ifndef BUILD_NO_MICROMAIL 201 ifndef BUILD_NO_MICROMAIL
199 ./mkipks kopiemail.control 202 ./mkipks kopiemail.control
200 endif 203 endif
201 ./mkipks korganizer-alarm.control 204 ./mkipks korganizer-alarm.control
202 ifndef BUILD_NO_GAMMU 205 ifndef BUILD_NO_GAMMU
203 ./mkipks kammu.control 206 ./mkipks kammu.control
204 endif 207 endif
205 ./mkipks pim_TAB_icon.control 208 ./mkipks pim_TAB_icon.control
206 209
207tmake: objects \ 210tmake: objects \
208 qtcompat/Makefile$(PLATFORM) \ 211 qtcompat/Makefile$(PLATFORM) \
209 microkde/Makefile$(PLATFORM) \ 212 microkde/Makefile$(PLATFORM) \
210 libkcal/Makefile$(PLATFORM) \ 213 libkcal/Makefile$(PLATFORM) \
211 libkdepim/Makefile$(PLATFORM) \ 214 libkdepim/Makefile$(PLATFORM) \
212 korganizer/Makefile$(PLATFORM) \ 215 korganizer/Makefile$(PLATFORM) \
213 kalarmd/Makefile$(PLATFORM) \ 216 kalarmd/Makefile$(PLATFORM) \
214 libical/src/libical/Makefile$(PLATFORM) \ 217 libical/src/libical/Makefile$(PLATFORM) \
215 libical/src/libicalss/Makefile$(PLATFORM) \ 218 libical/src/libicalss/Makefile$(PLATFORM) \
216 kabc/Makefile$(PLATFORM) \ 219 kabc/Makefile$(PLATFORM) \
217 kabc/formats/binary/Makefile$(PLATFORM) \ 220 kabc/formats/binary/Makefile$(PLATFORM) \
218 kabc/plugins/file/Makefile$(PLATFORM) \ 221 kabc/plugins/file/Makefile$(PLATFORM) \
219 kabc/plugins/dir/Makefile$(PLATFORM) \ 222 kabc/plugins/dir/Makefile$(PLATFORM) \
220 kabc/plugins/ldap/Makefile$(PLATFORM) \ 223 kabc/plugins/ldap/Makefile$(PLATFORM) \
221 kabc/plugins/opie/Makefile$(PLATFORM) \ 224 kabc/plugins/opie/Makefile$(PLATFORM) \
222 kabc/plugins/qtopia/Makefile$(PLATFORM) \ 225 kabc/plugins/qtopia/Makefile$(PLATFORM) \
223 kabc/plugins/sharpdtm/Makefile$(PLATFORM) \ 226 kabc/plugins/sharpdtm/Makefile$(PLATFORM) \
224 kaddressbook/Makefile$(PLATFORM) \ 227 kaddressbook/Makefile$(PLATFORM) \
225 kmicromail/Makefile$(PLATFORM) \ 228 kmicromail/Makefile$(PLATFORM) \
226 kmicromail/libetpan/Makefile$(PLATFORM) \ 229 kmicromail/libetpan/Makefile$(PLATFORM) \
227 kmicromail/libmailwrapper/Makefile$(PLATFORM) \ 230 kmicromail/libmailwrapper/Makefile$(PLATFORM) \
228 gammu/emb/common/Makefile$(PLATFORM) \ 231 gammu/emb/common/Makefile$(PLATFORM) \
229 gammu/emb/gammu/Makefile$(PLATFORM) \ 232 gammu/emb/gammu/Makefile$(PLATFORM) \
230 233
231 234
232 235
233 236
234qtcompat/Makefile$(PLATFORM): qtcompat/qtcompat.pro 237qtcompat/Makefile$(PLATFORM): qtcompat/qtcompat.pro
235 cd qtcompat; tmake "CONFIG+=$(RELEASE_DEBUG)" qtcompat.pro -o Makefile$(PLATFORM) 238 cd qtcompat; tmake "CONFIG+=$(RELEASE_DEBUG)" qtcompat.pro -o Makefile$(PLATFORM)
236 239
237microkde/Makefile$(PLATFORM): microkde/microkdeE.pro 240microkde/Makefile$(PLATFORM): microkde/microkdeE.pro
238 cd microkde; tmake "CONFIG+=$(RELEASE_DEBUG)" microkdeE.pro -o Makefile$(PLATFORM) 241 cd microkde; tmake "CONFIG+=$(RELEASE_DEBUG)" microkdeE.pro -o Makefile$(PLATFORM)
239 242
240libkcal/Makefile$(PLATFORM): libkcal/libkcalE.pro 243libkcal/Makefile$(PLATFORM): libkcal/libkcalE.pro
241 cd libkcal; tmake "CONFIG+=$(RELEASE_DEBUG)" libkcalE.pro -o Makefile$(PLATFORM) 244 cd libkcal; tmake "CONFIG+=$(RELEASE_DEBUG)" libkcalE.pro -o Makefile$(PLATFORM)
242 245
243 246
244libkdepim/Makefile$(PLATFORM): libkdepim/libkdepimE.pro 247libkdepim/Makefile$(PLATFORM): libkdepim/libkdepimE.pro
245 cd libkdepim; tmake "CONFIG+=$(RELEASE_DEBUG)" libkdepimE.pro -o Makefile$(PLATFORM) 248 cd libkdepim; tmake "CONFIG+=$(RELEASE_DEBUG)" libkdepimE.pro -o Makefile$(PLATFORM)
246 249
247kalarmd/Makefile$(PLATFORM): kalarmd/kalarmdE.pro 250kalarmd/Makefile$(PLATFORM): kalarmd/kalarmdE.pro
248 cd kalarmd; tmake "CONFIG+=$(RELEASE_DEBUG)" kalarmdE.pro -o Makefile$(PLATFORM) 251 cd kalarmd; tmake "CONFIG+=$(RELEASE_DEBUG)" kalarmdE.pro -o Makefile$(PLATFORM)
249 252
250korganizer/Makefile$(PLATFORM): korganizer/korganizerE.pro 253korganizer/Makefile$(PLATFORM): korganizer/korganizerE.pro
251 cd korganizer; tmake "CONFIG+=$(RELEASE_DEBUG)" korganizerE.pro -o Makefile$(PLATFORM) 254 cd korganizer; tmake "CONFIG+=$(RELEASE_DEBUG)" korganizerE.pro -o Makefile$(PLATFORM)
252 255
253libical/src/libical/Makefile$(PLATFORM): libical/src/libical/libicalE.pro 256libical/src/libical/Makefile$(PLATFORM): libical/src/libical/libicalE.pro
254 cd libical/src/libical; tmake "CONFIG+=$(RELEASE_DEBUG)" libicalE.pro -o Makefile$(PLATFORM) 257 cd libical/src/libical; tmake "CONFIG+=$(RELEASE_DEBUG)" libicalE.pro -o Makefile$(PLATFORM)
255 258
256libical/src/libicalss/Makefile$(PLATFORM): libical/src/libicalss/libicalssE.pro 259libical/src/libicalss/Makefile$(PLATFORM): libical/src/libicalss/libicalssE.pro
257 cd libical/src/libicalss; tmake "CONFIG+=$(RELEASE_DEBUG)" libicalssE.pro -o Makefile$(PLATFORM) 260 cd libical/src/libicalss; tmake "CONFIG+=$(RELEASE_DEBUG)" libicalssE.pro -o Makefile$(PLATFORM)
258 261
259kabc/Makefile$(PLATFORM): kabc/kabcE.pro 262kabc/Makefile$(PLATFORM): kabc/kabcE.pro
260 cd kabc; tmake "CONFIG+=$(RELEASE_DEBUG)" kabcE.pro -o Makefile$(PLATFORM) 263 cd kabc; tmake "CONFIG+=$(RELEASE_DEBUG)" kabcE.pro -o Makefile$(PLATFORM)
261 264
262kabc/formats/binary/Makefile$(PLATFORM): kabc/formats/binary/kabcformat_binaryE.pro 265kabc/formats/binary/Makefile$(PLATFORM): kabc/formats/binary/kabcformat_binaryE.pro
263 cd kabc/formats/binary; tmake "CONFIG+=$(RELEASE_DEBUG)" kabcformat_binaryE.pro -o Makefile$(PLATFORM) 266 cd kabc/formats/binary; tmake "CONFIG+=$(RELEASE_DEBUG)" kabcformat_binaryE.pro -o Makefile$(PLATFORM)
264 267
265kabc/plugins/file/Makefile$(PLATFORM): kabc/plugins/file/fileE.pro 268kabc/plugins/file/Makefile$(PLATFORM): kabc/plugins/file/fileE.pro
266 cd kabc/plugins/file; tmake "CONFIG+=$(RELEASE_DEBUG)" fileE.pro -o Makefile$(PLATFORM) 269 cd kabc/plugins/file; tmake "CONFIG+=$(RELEASE_DEBUG)" fileE.pro -o Makefile$(PLATFORM)
267 270
268kabc/plugins/dir/Makefile$(PLATFORM): kabc/plugins/dir/dirE.pro 271kabc/plugins/dir/Makefile$(PLATFORM): kabc/plugins/dir/dirE.pro
269 cd kabc/plugins/dir; tmake "CONFIG+=$(RELEASE_DEBUG)" dirE.pro -o Makefile$(PLATFORM) 272 cd kabc/plugins/dir; tmake "CONFIG+=$(RELEASE_DEBUG)" dirE.pro -o Makefile$(PLATFORM)
270 273
271kabc/plugins/ldap/Makefile$(PLATFORM): kabc/plugins/ldap/ldapE.pro 274kabc/plugins/ldap/Makefile$(PLATFORM): kabc/plugins/ldap/ldapE.pro
272 cd kabc/plugins/ldap; tmake "CONFIG+=$(RELEASE_DEBUG)" ldapE.pro -o Makefile$(PLATFORM) 275 cd kabc/plugins/ldap; tmake "CONFIG+=$(RELEASE_DEBUG)" ldapE.pro -o Makefile$(PLATFORM)
273 276
274kabc/plugins/opie/Makefile$(PLATFORM): kabc/plugins/opie/opieE.pro 277kabc/plugins/opie/Makefile$(PLATFORM): kabc/plugins/opie/opieE.pro
275 cd kabc/plugins/opie; tmake "CONFIG+=$(RELEASE_DEBUG)" opieE.pro -o Makefile$(PLATFORM) 278 cd kabc/plugins/opie; tmake "CONFIG+=$(RELEASE_DEBUG)" opieE.pro -o Makefile$(PLATFORM)
276 279
277kabc/plugins/qtopia/Makefile$(PLATFORM): kabc/plugins/qtopia/qtopiaE.pro 280kabc/plugins/qtopia/Makefile$(PLATFORM): kabc/plugins/qtopia/qtopiaE.pro
278 cd kabc/plugins/qtopia; tmake "CONFIG+=$(RELEASE_DEBUG)" qtopiaE.pro -o Makefile$(PLATFORM) 281 cd kabc/plugins/qtopia; tmake "CONFIG+=$(RELEASE_DEBUG)" qtopiaE.pro -o Makefile$(PLATFORM)
279 282
280kabc/plugins/sharpdtm/Makefile$(PLATFORM): kabc/plugins/sharpdtm/sharpdtmE.pro 283kabc/plugins/sharpdtm/Makefile$(PLATFORM): kabc/plugins/sharpdtm/sharpdtmE.pro
281 cd kabc/plugins/sharpdtm; tmake "CONFIG+=$(RELEASE_DEBUG)" sharpdtmE.pro -o Makefile$(PLATFORM) 284 cd kabc/plugins/sharpdtm; tmake "CONFIG+=$(RELEASE_DEBUG)" sharpdtmE.pro -o Makefile$(PLATFORM)
282 285
283kaddressbook/Makefile$(PLATFORM): kaddressbook/kaddressbookE.pro 286kaddressbook/Makefile$(PLATFORM): kaddressbook/kaddressbookE.pro
284 cd kaddressbook; tmake "CONFIG+=$(RELEASE_DEBUG)" kaddressbookE.pro -o Makefile$(PLATFORM) 287 cd kaddressbook; tmake "CONFIG+=$(RELEASE_DEBUG)" kaddressbookE.pro -o Makefile$(PLATFORM)
285 288
286kmicromail/Makefile$(PLATFORM): kmicromail/kmicromailE.pro 289kmicromail/Makefile$(PLATFORM): kmicromail/kmicromailE.pro
287 cd kmicromail; tmake "CONFIG+=$(RELEASE_DEBUG)" kmicromailE.pro -o Makefile$(PLATFORM) 290 cd kmicromail; tmake "CONFIG+=$(RELEASE_DEBUG)" kmicromailE.pro -o Makefile$(PLATFORM)
288 291
289kmicromail/libetpan/Makefile$(PLATFORM): kmicromail/libetpan/libetpanE.pro 292kmicromail/libetpan/Makefile$(PLATFORM): kmicromail/libetpan/libetpanE.pro
290 cd kmicromail/libetpan; tmake "CONFIG+=$(RELEASE_DEBUG)" libetpanE.pro -o Makefile$(PLATFORM) 293 cd kmicromail/libetpan; tmake "CONFIG+=$(RELEASE_DEBUG)" libetpanE.pro -o Makefile$(PLATFORM)
291 294
292kmicromail/libmailwrapper/Makefile$(PLATFORM): kmicromail/libmailwrapper/libmailwrapperE.pro 295kmicromail/libmailwrapper/Makefile$(PLATFORM): kmicromail/libmailwrapper/libmailwrapperE.pro
293 cd kmicromail/libmailwrapper; tmake "CONFIG+=$(RELEASE_DEBUG)" libmailwrapperE.pro -o Makefile$(PLATFORM) 296 cd kmicromail/libmailwrapper; tmake "CONFIG+=$(RELEASE_DEBUG)" libmailwrapperE.pro -o Makefile$(PLATFORM)
294 297
295gammu/emb/common/Makefile$(PLATFORM): gammu/emb/common/commonE.pro 298gammu/emb/common/Makefile$(PLATFORM): gammu/emb/common/commonE.pro
296 cd gammu/emb/common; tmake "CONFIG+=$(RELEASE_DEBUG)" commonE.pro -o Makefile$(PLATFORM) 299 cd gammu/emb/common; tmake "CONFIG+=$(RELEASE_DEBUG)" commonE.pro -o Makefile$(PLATFORM)
297 300
298gammu/emb/gammu/Makefile$(PLATFORM): gammu/emb/gammu/gammuE.pro 301gammu/emb/gammu/Makefile$(PLATFORM): gammu/emb/gammu/gammuE.pro
299 cd gammu/emb/gammu; tmake "CONFIG+=$(RELEASE_DEBUG)" gammuE.pro -o Makefile$(PLATFORM) 302 cd gammu/emb/gammu; tmake "CONFIG+=$(RELEASE_DEBUG)" gammuE.pro -o Makefile$(PLATFORM)
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index 5cd9649..6538295 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -128,1025 +128,1025 @@ $Id$
128#include "undocmds.h" 128#include "undocmds.h"
129#include "addresseeeditordialog.h" 129#include "addresseeeditordialog.h"
130#include "viewmanager.h" 130#include "viewmanager.h"
131#include "details/detailsviewcontainer.h" 131#include "details/detailsviewcontainer.h"
132#include "kabprefs.h" 132#include "kabprefs.h"
133#include "xxportmanager.h" 133#include "xxportmanager.h"
134#include "incsearchwidget.h" 134#include "incsearchwidget.h"
135#include "jumpbuttonbar.h" 135#include "jumpbuttonbar.h"
136#include "extensionmanager.h" 136#include "extensionmanager.h"
137#include "addresseeconfig.h" 137#include "addresseeconfig.h"
138#include <kcmultidialog.h> 138#include <kcmultidialog.h>
139 139
140#ifdef _WIN32_ 140#ifdef _WIN32_
141 141
142#include "kaimportoldialog.h" 142#include "kaimportoldialog.h"
143#endif 143#endif
144 144
145bool pasteWithNewUid = true; 145bool pasteWithNewUid = true;
146 146
147#ifdef KAB_EMBEDDED 147#ifdef KAB_EMBEDDED
148KABCore::KABCore( KAddressBookMain *client, bool readWrite, QWidget *parent, const char *name ) 148KABCore::KABCore( KAddressBookMain *client, bool readWrite, QWidget *parent, const char *name )
149 : QWidget( parent, name ), mGUIClient( client ), mViewManager( 0 ), 149 : QWidget( parent, name ), mGUIClient( client ), mViewManager( 0 ),
150 mExtensionManager( 0 ),mConfigureDialog( 0 ),/*US mLdapSearchDialog( 0 ),*/ 150 mExtensionManager( 0 ),mConfigureDialog( 0 ),/*US mLdapSearchDialog( 0 ),*/
151 mReadWrite( readWrite ), mModified( false ), mMainWindow(client) 151 mReadWrite( readWrite ), mModified( false ), mMainWindow(client)
152#else //KAB_EMBEDDED 152#else //KAB_EMBEDDED
153KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const char *name ) 153KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const char *name )
154 : QWidget( parent, name ), mGUIClient( client ), mViewManager( 0 ), 154 : QWidget( parent, name ), mGUIClient( client ), mViewManager( 0 ),
155 mExtensionManager( 0 ), mConfigureDialog( 0 ), mLdapSearchDialog( 0 ), 155 mExtensionManager( 0 ), mConfigureDialog( 0 ), mLdapSearchDialog( 0 ),
156 mReadWrite( readWrite ), mModified( false ) 156 mReadWrite( readWrite ), mModified( false )
157#endif //KAB_EMBEDDED 157#endif //KAB_EMBEDDED
158{ 158{
159 159
160 mExtensionBarSplitter = 0; 160 mExtensionBarSplitter = 0;
161 mIsPart = !parent->inherits( "KAddressBookMain" ); 161 mIsPart = !parent->inherits( "KAddressBookMain" );
162 162
163 mAddressBook = KABC::StdAddressBook::self(); 163 mAddressBook = KABC::StdAddressBook::self();
164 KABC::StdAddressBook::setAutomaticSave( false ); 164 KABC::StdAddressBook::setAutomaticSave( false );
165 165
166#ifndef KAB_EMBEDDED 166#ifndef KAB_EMBEDDED
167 mAddressBook->setErrorHandler( new KABC::GUIErrorHandler ); 167 mAddressBook->setErrorHandler( new KABC::GUIErrorHandler );
168#endif //KAB_EMBEDDED 168#endif //KAB_EMBEDDED
169 169
170 connect( mAddressBook, SIGNAL( addressBookChanged( AddressBook * ) ), 170 connect( mAddressBook, SIGNAL( addressBookChanged( AddressBook * ) ),
171 SLOT( addressBookChanged() ) ); 171 SLOT( addressBookChanged() ) );
172 172
173 mAddressBook->addCustomField( i18n( "Department" ), KABC::Field::Organization, 173 mAddressBook->addCustomField( i18n( "Department" ), KABC::Field::Organization,
174 "X-Department", "KADDRESSBOOK" ); 174 "X-Department", "KADDRESSBOOK" );
175 mAddressBook->addCustomField( i18n( "Profession" ), KABC::Field::Organization, 175 mAddressBook->addCustomField( i18n( "Profession" ), KABC::Field::Organization,
176 "X-Profession", "KADDRESSBOOK" ); 176 "X-Profession", "KADDRESSBOOK" );
177 mAddressBook->addCustomField( i18n( "Assistant's Name" ), KABC::Field::Organization, 177 mAddressBook->addCustomField( i18n( "Assistant's Name" ), KABC::Field::Organization,
178 "X-AssistantsName", "KADDRESSBOOK" ); 178 "X-AssistantsName", "KADDRESSBOOK" );
179 mAddressBook->addCustomField( i18n( "Manager's Name" ), KABC::Field::Organization, 179 mAddressBook->addCustomField( i18n( "Manager's Name" ), KABC::Field::Organization,
180 "X-ManagersName", "KADDRESSBOOK" ); 180 "X-ManagersName", "KADDRESSBOOK" );
181 mAddressBook->addCustomField( i18n( "Spouse's Name" ), KABC::Field::Personal, 181 mAddressBook->addCustomField( i18n( "Spouse's Name" ), KABC::Field::Personal,
182 "X-SpousesName", "KADDRESSBOOK" ); 182 "X-SpousesName", "KADDRESSBOOK" );
183 mAddressBook->addCustomField( i18n( "Office" ), KABC::Field::Personal, 183 mAddressBook->addCustomField( i18n( "Office" ), KABC::Field::Personal,
184 "X-Office", "KADDRESSBOOK" ); 184 "X-Office", "KADDRESSBOOK" );
185 mAddressBook->addCustomField( i18n( "IM Address" ), KABC::Field::Personal, 185 mAddressBook->addCustomField( i18n( "IM Address" ), KABC::Field::Personal,
186 "X-IMAddress", "KADDRESSBOOK" ); 186 "X-IMAddress", "KADDRESSBOOK" );
187 mAddressBook->addCustomField( i18n( "Anniversary" ), KABC::Field::Personal, 187 mAddressBook->addCustomField( i18n( "Anniversary" ), KABC::Field::Personal,
188 "X-Anniversary", "KADDRESSBOOK" ); 188 "X-Anniversary", "KADDRESSBOOK" );
189 189
190 //US added this field to become compatible with Opie/qtopia addressbook 190 //US added this field to become compatible with Opie/qtopia addressbook
191 // values can be "female" or "male" or "". An empty field represents undefined. 191 // values can be "female" or "male" or "". An empty field represents undefined.
192 mAddressBook->addCustomField( i18n( "Gender" ), KABC::Field::Personal, 192 mAddressBook->addCustomField( i18n( "Gender" ), KABC::Field::Personal,
193 "X-Gender", "KADDRESSBOOK" ); 193 "X-Gender", "KADDRESSBOOK" );
194 mAddressBook->addCustomField( i18n( "Children" ), KABC::Field::Personal, 194 mAddressBook->addCustomField( i18n( "Children" ), KABC::Field::Personal,
195 "X-Children", "KADDRESSBOOK" ); 195 "X-Children", "KADDRESSBOOK" );
196 mAddressBook->addCustomField( i18n( "FreeBusyUrl" ), KABC::Field::Personal, 196 mAddressBook->addCustomField( i18n( "FreeBusyUrl" ), KABC::Field::Personal,
197 "X-FreeBusyUrl", "KADDRESSBOOK" ); 197 "X-FreeBusyUrl", "KADDRESSBOOK" );
198 198
199 initGUI(); 199 initGUI();
200 200
201 mIncSearchWidget->setFocus(); 201 mIncSearchWidget->setFocus();
202 202
203 203
204 connect( mViewManager, SIGNAL( selected( const QString& ) ), 204 connect( mViewManager, SIGNAL( selected( const QString& ) ),
205 SLOT( setContactSelected( const QString& ) ) ); 205 SLOT( setContactSelected( const QString& ) ) );
206 connect( mViewManager, SIGNAL( executed( const QString& ) ), 206 connect( mViewManager, SIGNAL( executed( const QString& ) ),
207 SLOT( executeContact( const QString& ) ) ); 207 SLOT( executeContact( const QString& ) ) );
208 208
209 connect( mViewManager, SIGNAL( deleteRequest( ) ), 209 connect( mViewManager, SIGNAL( deleteRequest( ) ),
210 SLOT( deleteContacts( ) ) ); 210 SLOT( deleteContacts( ) ) );
211 connect( mViewManager, SIGNAL( modified() ), 211 connect( mViewManager, SIGNAL( modified() ),
212 SLOT( setModified() ) ); 212 SLOT( setModified() ) );
213 213
214 connect( mExtensionManager, SIGNAL( modified( const KABC::Addressee::List& ) ), this, SLOT( extensionModified( const KABC::Addressee::List& ) ) ); 214 connect( mExtensionManager, SIGNAL( modified( const KABC::Addressee::List& ) ), this, SLOT( extensionModified( const KABC::Addressee::List& ) ) );
215 connect( mExtensionManager, SIGNAL( changedActiveExtension( int ) ), this, SLOT( extensionChanged( int ) ) ); 215 connect( mExtensionManager, SIGNAL( changedActiveExtension( int ) ), this, SLOT( extensionChanged( int ) ) );
216 216
217 connect( mXXPortManager, SIGNAL( modified() ), 217 connect( mXXPortManager, SIGNAL( modified() ),
218 SLOT( setModified() ) ); 218 SLOT( setModified() ) );
219 219
220 connect( mJumpButtonBar, SIGNAL( jumpToLetter( const QString& ) ), 220 connect( mJumpButtonBar, SIGNAL( jumpToLetter( const QString& ) ),
221 SLOT( incrementalSearch( const QString& ) ) ); 221 SLOT( incrementalSearch( const QString& ) ) );
222 connect( mIncSearchWidget, SIGNAL( fieldChanged() ), 222 connect( mIncSearchWidget, SIGNAL( fieldChanged() ),
223 mJumpButtonBar, SLOT( recreateButtons() ) ); 223 mJumpButtonBar, SLOT( recreateButtons() ) );
224 224
225 connect( mDetails, SIGNAL( sendEmail( const QString& ) ), 225 connect( mDetails, SIGNAL( sendEmail( const QString& ) ),
226 SLOT( sendMail( const QString& ) ) ); 226 SLOT( sendMail( const QString& ) ) );
227 227
228 228
229 connect( ExternalAppHandler::instance(), SIGNAL (requestForNameEmailUidList(const QString&, const QString&)),this, SLOT(requestForNameEmailUidList(const QString&, const QString&))); 229 connect( ExternalAppHandler::instance(), SIGNAL (requestForNameEmailUidList(const QString&, const QString&)),this, SLOT(requestForNameEmailUidList(const QString&, const QString&)));
230 connect( ExternalAppHandler::instance(), SIGNAL (requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&)),this, SLOT(requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&))); 230 connect( ExternalAppHandler::instance(), SIGNAL (requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&)),this, SLOT(requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&)));
231 231
232 232
233#ifndef KAB_EMBEDDED 233#ifndef KAB_EMBEDDED
234 connect( mViewManager, SIGNAL( urlDropped( const KURL& ) ), 234 connect( mViewManager, SIGNAL( urlDropped( const KURL& ) ),
235 mXXPortManager, SLOT( importVCard( const KURL& ) ) ); 235 mXXPortManager, SLOT( importVCard( const KURL& ) ) );
236 236
237 connect( mDetails, SIGNAL( browse( const QString& ) ), 237 connect( mDetails, SIGNAL( browse( const QString& ) ),
238 SLOT( browse( const QString& ) ) ); 238 SLOT( browse( const QString& ) ) );
239 239
240 240
241 mAddressBookService = new KAddressBookService( this ); 241 mAddressBookService = new KAddressBookService( this );
242 242
243#endif //KAB_EMBEDDED 243#endif //KAB_EMBEDDED
244 mEditorDialog = 0; 244 mEditorDialog = 0;
245 createAddresseeEditorDialog( this ); 245 createAddresseeEditorDialog( this );
246 setModified( false ); 246 setModified( false );
247} 247}
248 248
249KABCore::~KABCore() 249KABCore::~KABCore()
250{ 250{
251 // save(); 251 // save();
252 //saveSettings(); 252 //saveSettings();
253 //KABPrefs::instance()->writeConfig(); 253 //KABPrefs::instance()->writeConfig();
254 delete AddresseeConfig::instance(); 254 delete AddresseeConfig::instance();
255 mAddressBook = 0; 255 mAddressBook = 0;
256 KABC::StdAddressBook::close(); 256 KABC::StdAddressBook::close();
257} 257}
258 258
259void KABCore::restoreSettings() 259void KABCore::restoreSettings()
260{ 260{
261 mMultipleViewsAtOnce = KABPrefs::instance()->mMultipleViewsAtOnce; 261 mMultipleViewsAtOnce = KABPrefs::instance()->mMultipleViewsAtOnce;
262 262
263 bool state; 263 bool state;
264 264
265 if (mMultipleViewsAtOnce) 265 if (mMultipleViewsAtOnce)
266 state = KABPrefs::instance()->mDetailsPageVisible; 266 state = KABPrefs::instance()->mDetailsPageVisible;
267 else 267 else
268 state = false; 268 state = false;
269 269
270 mActionDetails->setChecked( state ); 270 mActionDetails->setChecked( state );
271 setDetailsVisible( state ); 271 setDetailsVisible( state );
272 272
273 state = KABPrefs::instance()->mJumpButtonBarVisible; 273 state = KABPrefs::instance()->mJumpButtonBarVisible;
274 274
275 mActionJumpBar->setChecked( state ); 275 mActionJumpBar->setChecked( state );
276 setJumpButtonBarVisible( state ); 276 setJumpButtonBarVisible( state );
277/*US 277/*US
278 QValueList<int> splitterSize = KABPrefs::instance()->mDetailsSplitter; 278 QValueList<int> splitterSize = KABPrefs::instance()->mDetailsSplitter;
279 if ( splitterSize.count() == 0 ) { 279 if ( splitterSize.count() == 0 ) {
280 splitterSize.append( width() / 2 ); 280 splitterSize.append( width() / 2 );
281 splitterSize.append( width() / 2 ); 281 splitterSize.append( width() / 2 );
282 } 282 }
283 mMiniSplitter->setSizes( splitterSize ); 283 mMiniSplitter->setSizes( splitterSize );
284 if ( mExtensionBarSplitter ) { 284 if ( mExtensionBarSplitter ) {
285 splitterSize = KABPrefs::instance()->mExtensionsSplitter; 285 splitterSize = KABPrefs::instance()->mExtensionsSplitter;
286 if ( splitterSize.count() == 0 ) { 286 if ( splitterSize.count() == 0 ) {
287 splitterSize.append( width() / 2 ); 287 splitterSize.append( width() / 2 );
288 splitterSize.append( width() / 2 ); 288 splitterSize.append( width() / 2 );
289 } 289 }
290 mExtensionBarSplitter->setSizes( splitterSize ); 290 mExtensionBarSplitter->setSizes( splitterSize );
291 291
292 } 292 }
293*/ 293*/
294 mViewManager->restoreSettings(); 294 mViewManager->restoreSettings();
295 mIncSearchWidget->setCurrentItem( KABPrefs::instance()->mCurrentIncSearchField ); 295 mIncSearchWidget->setCurrentItem( KABPrefs::instance()->mCurrentIncSearchField );
296 mExtensionManager->restoreSettings(); 296 mExtensionManager->restoreSettings();
297 297
298 QValueList<int> splitterSize = KABPrefs::instance()->mDetailsSplitter; 298 QValueList<int> splitterSize = KABPrefs::instance()->mDetailsSplitter;
299 if ( splitterSize.count() == 0 ) { 299 if ( splitterSize.count() == 0 ) {
300 splitterSize.append( width() / 2 ); 300 splitterSize.append( width() / 2 );
301 splitterSize.append( width() / 2 ); 301 splitterSize.append( width() / 2 );
302 } 302 }
303 mMiniSplitter->setSizes( splitterSize ); 303 mMiniSplitter->setSizes( splitterSize );
304 if ( mExtensionBarSplitter ) { 304 if ( mExtensionBarSplitter ) {
305 splitterSize = KABPrefs::instance()->mExtensionsSplitter; 305 splitterSize = KABPrefs::instance()->mExtensionsSplitter;
306 if ( splitterSize.count() == 0 ) { 306 if ( splitterSize.count() == 0 ) {
307 splitterSize.append( width() / 2 ); 307 splitterSize.append( width() / 2 );
308 splitterSize.append( width() / 2 ); 308 splitterSize.append( width() / 2 );
309 } 309 }
310 mExtensionBarSplitter->setSizes( splitterSize ); 310 mExtensionBarSplitter->setSizes( splitterSize );
311 311
312 } 312 }
313 313
314 314
315} 315}
316 316
317void KABCore::saveSettings() 317void KABCore::saveSettings()
318{ 318{
319 KABPrefs::instance()->mJumpButtonBarVisible = mActionJumpBar->isChecked(); 319 KABPrefs::instance()->mJumpButtonBarVisible = mActionJumpBar->isChecked();
320 if ( mExtensionBarSplitter ) 320 if ( mExtensionBarSplitter )
321 KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes(); 321 KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes();
322 KABPrefs::instance()->mDetailsPageVisible = mActionDetails->isChecked(); 322 KABPrefs::instance()->mDetailsPageVisible = mActionDetails->isChecked();
323 KABPrefs::instance()->mDetailsSplitter = mMiniSplitter->sizes(); 323 KABPrefs::instance()->mDetailsSplitter = mMiniSplitter->sizes();
324#ifndef KAB_EMBEDDED 324#ifndef KAB_EMBEDDED
325 325
326 KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes(); 326 KABPrefs::instance()->mExtensionsSplitter = mExtensionBarSplitter->sizes();
327 KABPrefs::instance()->mDetailsSplitter = mDetailsSplitter->sizes(); 327 KABPrefs::instance()->mDetailsSplitter = mDetailsSplitter->sizes();
328#endif //KAB_EMBEDDED 328#endif //KAB_EMBEDDED
329 mExtensionManager->saveSettings(); 329 mExtensionManager->saveSettings();
330 mViewManager->saveSettings(); 330 mViewManager->saveSettings();
331 331
332 KABPrefs::instance()->mCurrentIncSearchField = mIncSearchWidget->currentItem(); 332 KABPrefs::instance()->mCurrentIncSearchField = mIncSearchWidget->currentItem();
333} 333}
334 334
335KABC::AddressBook *KABCore::addressBook() const 335KABC::AddressBook *KABCore::addressBook() const
336{ 336{
337 return mAddressBook; 337 return mAddressBook;
338} 338}
339 339
340KConfig *KABCore::config() 340KConfig *KABCore::config()
341{ 341{
342#ifndef KAB_EMBEDDED 342#ifndef KAB_EMBEDDED
343 return KABPrefs::instance()->config(); 343 return KABPrefs::instance()->config();
344#else //KAB_EMBEDDED 344#else //KAB_EMBEDDED
345 return KABPrefs::instance()->getConfig(); 345 return KABPrefs::instance()->getConfig();
346#endif //KAB_EMBEDDED 346#endif //KAB_EMBEDDED
347} 347}
348 348
349KActionCollection *KABCore::actionCollection() const 349KActionCollection *KABCore::actionCollection() const
350{ 350{
351 return mGUIClient->actionCollection(); 351 return mGUIClient->actionCollection();
352} 352}
353 353
354KABC::Field *KABCore::currentSearchField() const 354KABC::Field *KABCore::currentSearchField() const
355{ 355{
356 if (mIncSearchWidget) 356 if (mIncSearchWidget)
357 return mIncSearchWidget->currentField(); 357 return mIncSearchWidget->currentField();
358 else 358 else
359 return 0; 359 return 0;
360} 360}
361 361
362QStringList KABCore::selectedUIDs() const 362QStringList KABCore::selectedUIDs() const
363{ 363{
364 return mViewManager->selectedUids(); 364 return mViewManager->selectedUids();
365} 365}
366 366
367KABC::Resource *KABCore::requestResource( QWidget *parent ) 367KABC::Resource *KABCore::requestResource( QWidget *parent )
368{ 368{
369 QPtrList<KABC::Resource> kabcResources = addressBook()->resources(); 369 QPtrList<KABC::Resource> kabcResources = addressBook()->resources();
370 370
371 QPtrList<KRES::Resource> kresResources; 371 QPtrList<KRES::Resource> kresResources;
372 QPtrListIterator<KABC::Resource> resIt( kabcResources ); 372 QPtrListIterator<KABC::Resource> resIt( kabcResources );
373 KABC::Resource *resource; 373 KABC::Resource *resource;
374 while ( ( resource = resIt.current() ) != 0 ) { 374 while ( ( resource = resIt.current() ) != 0 ) {
375 ++resIt; 375 ++resIt;
376 if ( !resource->readOnly() ) { 376 if ( !resource->readOnly() ) {
377 KRES::Resource *res = static_cast<KRES::Resource*>( resource ); 377 KRES::Resource *res = static_cast<KRES::Resource*>( resource );
378 if ( res ) 378 if ( res )
379 kresResources.append( res ); 379 kresResources.append( res );
380 } 380 }
381 } 381 }
382 382
383 KRES::Resource *res = KRES::SelectDialog::getResource( kresResources, parent ); 383 KRES::Resource *res = KRES::SelectDialog::getResource( kresResources, parent );
384 return static_cast<KABC::Resource*>( res ); 384 return static_cast<KABC::Resource*>( res );
385} 385}
386 386
387#ifndef KAB_EMBEDDED 387#ifndef KAB_EMBEDDED
388KAboutData *KABCore::createAboutData() 388KAboutData *KABCore::createAboutData()
389#else //KAB_EMBEDDED 389#else //KAB_EMBEDDED
390void KABCore::createAboutData() 390void KABCore::createAboutData()
391#endif //KAB_EMBEDDED 391#endif //KAB_EMBEDDED
392{ 392{
393#ifndef KAB_EMBEDDED 393#ifndef KAB_EMBEDDED
394 KAboutData *about = new KAboutData( "kaddressbook", I18N_NOOP( "KAddressBook" ), 394 KAboutData *about = new KAboutData( "kaddressbook", I18N_NOOP( "KAddressBook" ),
395 "3.1", I18N_NOOP( "The KDE Address Book" ), 395 "3.1", I18N_NOOP( "The KDE Address Book" ),
396 KAboutData::License_GPL_V2, 396 KAboutData::License_GPL_V2,
397 I18N_NOOP( "(c) 1997-2003, The KDE PIM Team" ) ); 397 I18N_NOOP( "(c) 1997-2003, The KDE PIM Team" ) );
398 about->addAuthor( "Tobias Koenig", I18N_NOOP( "Current maintainer " ), "tokoe@kde.org" ); 398 about->addAuthor( "Tobias Koenig", I18N_NOOP( "Current maintainer " ), "tokoe@kde.org" );
399 about->addAuthor( "Don Sanders", I18N_NOOP( "Original author " ) ); 399 about->addAuthor( "Don Sanders", I18N_NOOP( "Original author " ) );
400 about->addAuthor( "Cornelius Schumacher", 400 about->addAuthor( "Cornelius Schumacher",
401 I18N_NOOP( "Co-maintainer, libkabc port, CSV import/export " ), 401 I18N_NOOP( "Co-maintainer, libkabc port, CSV import/export " ),
402 "schumacher@kde.org" ); 402 "schumacher@kde.org" );
403 about->addAuthor( "Mike Pilone", I18N_NOOP( "GUI and framework redesign " ), 403 about->addAuthor( "Mike Pilone", I18N_NOOP( "GUI and framework redesign " ),
404 "mpilone@slac.com" ); 404 "mpilone@slac.com" );
405 about->addAuthor( "Greg Stern", I18N_NOOP( "DCOP interface" ) ); 405 about->addAuthor( "Greg Stern", I18N_NOOP( "DCOP interface" ) );
406 about->addAuthor( "Mark Westcott", I18N_NOOP( "Contact pinning" ) ); 406 about->addAuthor( "Mark Westcott", I18N_NOOP( "Contact pinning" ) );
407 about->addAuthor( "Michel Boyer de la Giroday", I18N_NOOP( "LDAP Lookup\n" ), 407 about->addAuthor( "Michel Boyer de la Giroday", I18N_NOOP( "LDAP Lookup\n" ),
408 "michel@klaralvdalens-datakonsult.se" ); 408 "michel@klaralvdalens-datakonsult.se" );
409 about->addAuthor( "Steffen Hansen", I18N_NOOP( "LDAP Lookup " ), 409 about->addAuthor( "Steffen Hansen", I18N_NOOP( "LDAP Lookup " ),
410 "hansen@kde.org" ); 410 "hansen@kde.org" );
411 411
412 return about; 412 return about;
413#endif //KAB_EMBEDDED 413#endif //KAB_EMBEDDED
414 414
415 QString version; 415 QString version;
416#include <../version> 416#include <../version>
417 QMessageBox::about( this, "About KAddressbook/Pi", 417 QMessageBox::about( this, "About KAddressbook/Pi",
418 "KAddressbook/Platform-independent\n" 418 "KAddressbook/Platform-independent\n"
419 "(KA/Pi) " +version + " - " + 419 "(KA/Pi) " +version + " - " +
420#ifdef DESKTOP_VERSION 420#ifdef DESKTOP_VERSION
421 "Desktop Edition\n" 421 "Desktop Edition\n"
422#else 422#else
423 "PDA-Edition\n" 423 "PDA-Edition\n"
424 "for: Zaurus 5500 / 7x0 / 8x0\n" 424 "for: Zaurus 5500 / 7x0 / 8x0\n"
425#endif 425#endif
426 426
427 "(c) 2004 Ulf Schenk\n" 427 "(c) 2004 Ulf Schenk\n"
428 "(c) 2004 Lutz Rogowski\n" 428 "(c) 2004 Lutz Rogowski\n"
429 "(c) 1997-2003, The KDE PIM Team\n" 429 "(c) 1997-2003, The KDE PIM Team\n"
430 "Tobias Koenig Current maintainer\ntokoe@kde.org\n" 430 "Tobias Koenig Current maintainer\ntokoe@kde.org\n"
431 "Don Sanders Original author\n" 431 "Don Sanders Original author\n"
432 "Cornelius Schumacher Co-maintainer\nschumacher@kde.org\n" 432 "Cornelius Schumacher Co-maintainer\nschumacher@kde.org\n"
433 "Mike Pilone GUI and framework redesign\nmpilone@slac.com\n" 433 "Mike Pilone GUI and framework redesign\nmpilone@slac.com\n"
434 "Greg Stern DCOP interface\n" 434 "Greg Stern DCOP interface\n"
435 "Mark Westcot Contact pinning\n" 435 "Mark Westcot Contact pinning\n"
436 "Michel Boyer de la Giroday LDAP Lookup\n" "michel@klaralvdalens-datakonsult.se\n" 436 "Michel Boyer de la Giroday LDAP Lookup\n" "michel@klaralvdalens-datakonsult.se\n"
437 "Steffen Hansen LDAP Lookup\nhansen@kde.org\n" 437 "Steffen Hansen LDAP Lookup\nhansen@kde.org\n"
438#ifdef _WIN32_ 438#ifdef _WIN32_
439 "(c) 2004 Lutz Rogowski Import from OL\nrogowski@kde.org\n" 439 "(c) 2004 Lutz Rogowski Import from OL\nrogowski@kde.org\n"
440#endif 440#endif
441 ); 441 );
442} 442}
443 443
444void KABCore::setContactSelected( const QString &uid ) 444void KABCore::setContactSelected( const QString &uid )
445{ 445{
446 KABC::Addressee addr = mAddressBook->findByUid( uid ); 446 KABC::Addressee addr = mAddressBook->findByUid( uid );
447 if ( !mDetails->isHidden() ) 447 if ( !mDetails->isHidden() )
448 mDetails->setAddressee( addr ); 448 mDetails->setAddressee( addr );
449 449
450 if ( !addr.isEmpty() ) { 450 if ( !addr.isEmpty() ) {
451 emit contactSelected( addr.formattedName() ); 451 emit contactSelected( addr.formattedName() );
452 KABC::Picture pic = addr.photo(); 452 KABC::Picture pic = addr.photo();
453 if ( pic.isIntern() ) { 453 if ( pic.isIntern() ) {
454//US emit contactSelected( pic.data() ); 454//US emit contactSelected( pic.data() );
455//US instead use: 455//US instead use:
456 QPixmap px; 456 QPixmap px;
457 if (pic.data().isNull() != true) 457 if (pic.data().isNull() != true)
458 { 458 {
459 px.convertFromImage(pic.data()); 459 px.convertFromImage(pic.data());
460 } 460 }
461 461
462 emit contactSelected( px ); 462 emit contactSelected( px );
463 } 463 }
464 } 464 }
465 465
466 466
467 mExtensionManager->setSelectionChanged(); 467 mExtensionManager->setSelectionChanged();
468 468
469 // update the actions 469 // update the actions
470 bool selected = !uid.isEmpty(); 470 bool selected = !uid.isEmpty();
471 471
472 if ( mReadWrite ) { 472 if ( mReadWrite ) {
473 mActionCut->setEnabled( selected ); 473 mActionCut->setEnabled( selected );
474 mActionPaste->setEnabled( selected ); 474 mActionPaste->setEnabled( selected );
475 } 475 }
476 476
477 mActionCopy->setEnabled( selected ); 477 mActionCopy->setEnabled( selected );
478 mActionDelete->setEnabled( selected ); 478 mActionDelete->setEnabled( selected );
479 mActionEditAddressee->setEnabled( selected ); 479 mActionEditAddressee->setEnabled( selected );
480 mActionMail->setEnabled( selected ); 480 mActionMail->setEnabled( selected );
481 mActionMailVCard->setEnabled( selected ); 481 mActionMailVCard->setEnabled( selected );
482 //if (mActionBeam) 482 //if (mActionBeam)
483 //mActionBeam->setEnabled( selected ); 483 //mActionBeam->setEnabled( selected );
484 484
485 if (mActionBeamVCard) 485 if (mActionBeamVCard)
486 mActionBeamVCard->setEnabled( selected ); 486 mActionBeamVCard->setEnabled( selected );
487 487
488 mActionWhoAmI->setEnabled( selected ); 488 mActionWhoAmI->setEnabled( selected );
489 mActionCategories->setEnabled( selected ); 489 mActionCategories->setEnabled( selected );
490} 490}
491 491
492void KABCore::sendMail() 492void KABCore::sendMail()
493{ 493{
494 sendMail( mViewManager->selectedEmails().join( ", " ) ); 494 sendMail( mViewManager->selectedEmails().join( ", " ) );
495} 495}
496 496
497void KABCore::sendMail( const QString& emaillist ) 497void KABCore::sendMail( const QString& emaillist )
498{ 498{
499 // the parameter has the form "name1 <abc@aol.com>,name2 <abc@aol.com>;... " 499 // the parameter has the form "name1 <abc@aol.com>,name2 <abc@aol.com>;... "
500 if (emaillist.contains(",") > 0) 500 if (emaillist.contains(",") > 0)
501 ExternalAppHandler::instance()->mailToMultipleContacts( emaillist, QString::null ); 501 ExternalAppHandler::instance()->mailToMultipleContacts( emaillist, QString::null );
502 else 502 else
503 ExternalAppHandler::instance()->mailToOneContact( emaillist ); 503 ExternalAppHandler::instance()->mailToOneContact( emaillist );
504} 504}
505 505
506 506
507 507
508void KABCore::mailVCard() 508void KABCore::mailVCard()
509{ 509{
510 QStringList uids = mViewManager->selectedUids(); 510 QStringList uids = mViewManager->selectedUids();
511 if ( !uids.isEmpty() ) 511 if ( !uids.isEmpty() )
512 mailVCard( uids ); 512 mailVCard( uids );
513} 513}
514 514
515void KABCore::mailVCard( const QStringList& uids ) 515void KABCore::mailVCard( const QStringList& uids )
516{ 516{
517 QStringList urls; 517 QStringList urls;
518 518
519// QString tmpdir = locateLocal("tmp", KGlobal::getAppName()); 519// QString tmpdir = locateLocal("tmp", KGlobal::getAppName());
520 520
521 QString dirName = "/tmp/" + KApplication::randomString( 8 ); 521 QString dirName = "/tmp/" + KApplication::randomString( 8 );
522 522
523 523
524 524
525 QDir().mkdir( dirName, true ); 525 QDir().mkdir( dirName, true );
526 526
527 for( QStringList::ConstIterator it = uids.begin(); it != uids.end(); ++it ) { 527 for( QStringList::ConstIterator it = uids.begin(); it != uids.end(); ++it ) {
528 KABC::Addressee a = mAddressBook->findByUid( *it ); 528 KABC::Addressee a = mAddressBook->findByUid( *it );
529 529
530 if ( a.isEmpty() ) 530 if ( a.isEmpty() )
531 continue; 531 continue;
532 532
533 QString name = a.givenName() + "_" + a.familyName() + ".vcf"; 533 QString name = a.givenName() + "_" + a.familyName() + ".vcf";
534 534
535 QString fileName = dirName + "/" + name; 535 QString fileName = dirName + "/" + name;
536 536
537 QFile outFile(fileName); 537 QFile outFile(fileName);
538 538
539 if ( outFile.open(IO_WriteOnly) ) { // file opened successfully 539 if ( outFile.open(IO_WriteOnly) ) { // file opened successfully
540 KABC::VCardConverter converter; 540 KABC::VCardConverter converter;
541 QString vcard; 541 QString vcard;
542 542
543 converter.addresseeToVCard( a, vcard ); 543 converter.addresseeToVCard( a, vcard );
544 544
545 QTextStream t( &outFile ); // use a text stream 545 QTextStream t( &outFile ); // use a text stream
546 t.setEncoding( QTextStream::UnicodeUTF8 ); 546 t.setEncoding( QTextStream::UnicodeUTF8 );
547 t << vcard; 547 t << vcard;
548 548
549 outFile.close(); 549 outFile.close();
550 550
551 urls.append( fileName ); 551 urls.append( fileName );
552 } 552 }
553 } 553 }
554 554
555 bool result = ExternalAppHandler::instance()->mailToMultipleContacts( QString::null, urls.join(", ") ); 555 bool result = ExternalAppHandler::instance()->mailToMultipleContacts( QString::null, urls.join(", ") );
556 556
557 557
558/*US 558/*US
559 kapp->invokeMailer( QString::null, QString::null, QString::null, 559 kapp->invokeMailer( QString::null, QString::null, QString::null,
560 QString::null, // subject 560 QString::null, // subject
561 QString::null, // body 561 QString::null, // body
562 QString::null, 562 QString::null,
563 urls ); // attachments 563 urls ); // attachments
564*/ 564*/
565 565
566} 566}
567 567
568/** 568/**
569 Beams the "WhoAmI contact. 569 Beams the "WhoAmI contact.
570*/ 570*/
571void KABCore::beamMySelf() 571void KABCore::beamMySelf()
572{ 572{
573 KABC::Addressee a = KABC::StdAddressBook::self()->whoAmI(); 573 KABC::Addressee a = KABC::StdAddressBook::self()->whoAmI();
574 if (!a.isEmpty()) 574 if (!a.isEmpty())
575 { 575 {
576 QStringList uids; 576 QStringList uids;
577 uids << a.uid(); 577 uids << a.uid();
578 578
579 beamVCard(uids); 579 beamVCard(uids);
580 } else { 580 } else {
581 KMessageBox::information( this, i18n( "Your personal contact is\nnot set! Please select it\nand set it with menu:\nSettings - Set Who Am I\n" ) ); 581 KMessageBox::information( this, i18n( "Your personal contact is\nnot set! Please select it\nand set it with menu:\nSettings - Set Who Am I\n" ) );
582 582
583 583
584 } 584 }
585} 585}
586 586
587void KABCore::beamVCard() 587void KABCore::beamVCard()
588{ 588{
589 QStringList uids = mViewManager->selectedUids(); 589 QStringList uids = mViewManager->selectedUids();
590 if ( !uids.isEmpty() ) 590 if ( !uids.isEmpty() )
591 beamVCard( uids ); 591 beamVCard( uids );
592} 592}
593 593
594 594
595void KABCore::beamVCard(const QStringList& uids) 595void KABCore::beamVCard(const QStringList& uids)
596{ 596{
597/*US 597/*US
598 QString beamFilename; 598 QString beamFilename;
599 Opie::OPimContact c; 599 Opie::OPimContact c;
600 if ( actionPersonal->isOn() ) { 600 if ( actionPersonal->isOn() ) {
601 beamFilename = addressbookPersonalVCardName(); 601 beamFilename = addressbookPersonalVCardName();
602 if ( !QFile::exists( beamFilename ) ) 602 if ( !QFile::exists( beamFilename ) )
603 return; // can't beam a non-existent file 603 return; // can't beam a non-existent file
604 Opie::OPimContactAccessBackend* vcard_backend = new Opie::OPimContactAccessBackend_VCard( QString::null, 604 Opie::OPimContactAccessBackend* vcard_backend = new Opie::OPimContactAccessBackend_VCard( QString::null,
605 beamFilename ); 605 beamFilename );
606 Opie::OPimContactAccess* access = new Opie::OPimContactAccess ( "addressbook", QString::null , vcard_backend, true ); 606 Opie::OPimContactAccess* access = new Opie::OPimContactAccess ( "addressbook", QString::null , vcard_backend, true );
607 Opie::OPimContactAccess::List allList = access->allRecords(); 607 Opie::OPimContactAccess::List allList = access->allRecords();
608 Opie::OPimContactAccess::List::Iterator it = allList.begin(); // Just take first 608 Opie::OPimContactAccess::List::Iterator it = allList.begin(); // Just take first
609 c = *it; 609 c = *it;
610 610
611 delete access; 611 delete access;
612 } else { 612 } else {
613 unlink( beamfile ); // delete if exists 613 unlink( beamfile ); // delete if exists
614 mkdir("/tmp/obex/", 0755); 614 mkdir("/tmp/obex/", 0755);
615 c = m_abView -> currentEntry(); 615 c = m_abView -> currentEntry();
616 Opie::OPimContactAccessBackend* vcard_backend = new Opie::OPimContactAccessBackend_VCard( QString::null, 616 Opie::OPimContactAccessBackend* vcard_backend = new Opie::OPimContactAccessBackend_VCard( QString::null,
617 beamfile ); 617 beamfile );
618 Opie::OPimContactAccess* access = new Opie::OPimContactAccess ( "addressbook", QString::null , vcard_backend, true ); 618 Opie::OPimContactAccess* access = new Opie::OPimContactAccess ( "addressbook", QString::null , vcard_backend, true );
619 access->add( c ); 619 access->add( c );
620 access->save(); 620 access->save();
621 delete access; 621 delete access;
622 622
623 beamFilename = beamfile; 623 beamFilename = beamfile;
624 } 624 }
625 625
626 owarn << "Beaming: " << beamFilename << oendl; 626 owarn << "Beaming: " << beamFilename << oendl;
627*/ 627*/
628 628
629#if 0 629#if 0
630 QString tmpdir = locateLocal("tmp", KGlobal::getAppName()); 630 QString tmpdir = locateLocal("tmp", KGlobal::getAppName());
631 631
632 QString dirName = tmpdir + "/" + KApplication::randomString( 8 ); 632 QString dirName = tmpdir + "/" + KApplication::randomString( 8 );
633 633
634 QString name = "contact.vcf"; 634 QString name = "contact.vcf";
635 635
636 QString fileName = dirName + "/" + name; 636 QString fileName = dirName + "/" + name;
637#endif 637#endif
638 // LR: we should use the /tmp dir, because: /tmp = RAM, (HOME)/kdepim = flash memory 638 // LR: we should use the /tmp dir, because: /tmp = RAM, (HOME)/kdepim = flash memory
639 // 639 //
640 QString fileName = "/tmp/kdepimbeamfile"; 640 QString fileName = "/tmp/kapibeamfile.vcf";
641 641
642 642
643 //QDir().mkdir( dirName, true ); 643 //QDir().mkdir( dirName, true );
644 644
645 QFile outFile(fileName); 645 QFile outFile(fileName);
646 KABC::VCardConverter converter; 646 KABC::VCardConverter converter;
647 QString description; 647 QString description;
648 648
649 if ( outFile.open(IO_WriteOnly) ) { // file opened successfully 649 if ( outFile.open(IO_WriteOnly) ) { // file opened successfully
650 650
651 QTextStream t( &outFile ); // use a text stream 651 QTextStream t( &outFile ); // use a text stream
652 t.setEncoding( QTextStream::UnicodeUTF8 ); 652 t.setEncoding( QTextStream::UnicodeUTF8 );
653 653
654 for( QStringList::ConstIterator it = uids.begin(); it != uids.end(); ++it ) { 654 for( QStringList::ConstIterator it = uids.begin(); it != uids.end(); ++it ) {
655 KABC::Addressee a = mAddressBook->findByUid( *it ); 655 KABC::Addressee a = mAddressBook->findByUid( *it );
656 656
657 if ( a.isEmpty() ) 657 if ( a.isEmpty() )
658 continue; 658 continue;
659 659
660 if (description.isEmpty()) 660 if (description.isEmpty())
661 description = a.formattedName(); 661 description = a.formattedName();
662 662
663 QString vcard; 663 QString vcard;
664 converter.addresseeToVCard( a, vcard ); 664 converter.addresseeToVCard( a, vcard );
665 t << vcard; 665 t << vcard;
666 666
667 } 667 }
668 } else { 668 } else {
669 qDebug("Error open temp beam file "); 669 qDebug("Error open temp beam file ");
670 return; 670 return;
671 } 671 }
672 672
673 outFile.close(); 673 outFile.close();
674 674
675#ifndef DESKTOP_VERSION 675#ifndef DESKTOP_VERSION
676 Ir *ir = new Ir( this ); 676 Ir *ir = new Ir( this );
677 connect( ir, SIGNAL( done(Ir*) ), this, SLOT( beamDone(Ir*) ) ); 677 connect( ir, SIGNAL( done(Ir*) ), this, SLOT( beamDone(Ir*) ) );
678 ir->send( fileName, description, "text/x-vCard" ); 678 ir->send( fileName, description, "text/x-vCard" );
679#endif 679#endif
680 680
681} 681}
682 682
683void KABCore::beamDone( Ir *ir ) 683void KABCore::beamDone( Ir *ir )
684{ 684{
685#ifndef DESKTOP_VERSION 685#ifndef DESKTOP_VERSION
686 delete ir; 686 delete ir;
687#endif 687#endif
688} 688}
689 689
690 690
691void KABCore::browse( const QString& url ) 691void KABCore::browse( const QString& url )
692{ 692{
693#ifndef KAB_EMBEDDED 693#ifndef KAB_EMBEDDED
694 kapp->invokeBrowser( url ); 694 kapp->invokeBrowser( url );
695#else //KAB_EMBEDDED 695#else //KAB_EMBEDDED
696 qDebug("KABCore::browse must be fixed"); 696 qDebug("KABCore::browse must be fixed");
697#endif //KAB_EMBEDDED 697#endif //KAB_EMBEDDED
698} 698}
699 699
700void KABCore::selectAllContacts() 700void KABCore::selectAllContacts()
701{ 701{
702 mViewManager->setSelected( QString::null, true ); 702 mViewManager->setSelected( QString::null, true );
703} 703}
704 704
705void KABCore::deleteContacts() 705void KABCore::deleteContacts()
706{ 706{
707 QStringList uidList = mViewManager->selectedUids(); 707 QStringList uidList = mViewManager->selectedUids();
708 deleteContacts( uidList ); 708 deleteContacts( uidList );
709} 709}
710 710
711void KABCore::deleteContacts( const QStringList &uids ) 711void KABCore::deleteContacts( const QStringList &uids )
712{ 712{
713 if ( uids.count() > 0 ) { 713 if ( uids.count() > 0 ) {
714 PwDeleteCommand *command = new PwDeleteCommand( mAddressBook, uids ); 714 PwDeleteCommand *command = new PwDeleteCommand( mAddressBook, uids );
715 UndoStack::instance()->push( command ); 715 UndoStack::instance()->push( command );
716 RedoStack::instance()->clear(); 716 RedoStack::instance()->clear();
717 717
718 // now if we deleted anything, refresh 718 // now if we deleted anything, refresh
719 setContactSelected( QString::null ); 719 setContactSelected( QString::null );
720 setModified( true ); 720 setModified( true );
721 } 721 }
722} 722}
723 723
724void KABCore::copyContacts() 724void KABCore::copyContacts()
725{ 725{
726 KABC::Addressee::List addrList = mViewManager->selectedAddressees(); 726 KABC::Addressee::List addrList = mViewManager->selectedAddressees();
727 727
728 QString clipText = AddresseeUtil::addresseesToClipboard( addrList ); 728 QString clipText = AddresseeUtil::addresseesToClipboard( addrList );
729 729
730 kdDebug(5720) << "KABCore::copyContacts: " << clipText << endl; 730 kdDebug(5720) << "KABCore::copyContacts: " << clipText << endl;
731 731
732 QClipboard *cb = QApplication::clipboard(); 732 QClipboard *cb = QApplication::clipboard();
733 cb->setText( clipText ); 733 cb->setText( clipText );
734} 734}
735 735
736void KABCore::cutContacts() 736void KABCore::cutContacts()
737{ 737{
738 QStringList uidList = mViewManager->selectedUids(); 738 QStringList uidList = mViewManager->selectedUids();
739 739
740//US if ( uidList.size() > 0 ) { 740//US if ( uidList.size() > 0 ) {
741 if ( uidList.count() > 0 ) { 741 if ( uidList.count() > 0 ) {
742 PwCutCommand *command = new PwCutCommand( mAddressBook, uidList ); 742 PwCutCommand *command = new PwCutCommand( mAddressBook, uidList );
743 UndoStack::instance()->push( command ); 743 UndoStack::instance()->push( command );
744 RedoStack::instance()->clear(); 744 RedoStack::instance()->clear();
745 745
746 setModified( true ); 746 setModified( true );
747 } 747 }
748} 748}
749 749
750void KABCore::pasteContacts() 750void KABCore::pasteContacts()
751{ 751{
752 QClipboard *cb = QApplication::clipboard(); 752 QClipboard *cb = QApplication::clipboard();
753 753
754 KABC::Addressee::List list = AddresseeUtil::clipboardToAddressees( cb->text() ); 754 KABC::Addressee::List list = AddresseeUtil::clipboardToAddressees( cb->text() );
755 755
756 pasteContacts( list ); 756 pasteContacts( list );
757} 757}
758 758
759void KABCore::pasteContacts( KABC::Addressee::List &list ) 759void KABCore::pasteContacts( KABC::Addressee::List &list )
760{ 760{
761 KABC::Resource *resource = requestResource( this ); 761 KABC::Resource *resource = requestResource( this );
762 KABC::Addressee::List::Iterator it; 762 KABC::Addressee::List::Iterator it;
763 for ( it = list.begin(); it != list.end(); ++it ) 763 for ( it = list.begin(); it != list.end(); ++it )
764 (*it).setResource( resource ); 764 (*it).setResource( resource );
765 765
766 PwPasteCommand *command = new PwPasteCommand( this, list ); 766 PwPasteCommand *command = new PwPasteCommand( this, list );
767 UndoStack::instance()->push( command ); 767 UndoStack::instance()->push( command );
768 RedoStack::instance()->clear(); 768 RedoStack::instance()->clear();
769 769
770 setModified( true ); 770 setModified( true );
771} 771}
772 772
773void KABCore::setWhoAmI() 773void KABCore::setWhoAmI()
774{ 774{
775 KABC::Addressee::List addrList = mViewManager->selectedAddressees(); 775 KABC::Addressee::List addrList = mViewManager->selectedAddressees();
776 776
777 if ( addrList.count() > 1 ) { 777 if ( addrList.count() > 1 ) {
778 KMessageBox::sorry( this, i18n( "Please select only one contact." ) ); 778 KMessageBox::sorry( this, i18n( "Please select only one contact." ) );
779 return; 779 return;
780 } 780 }
781 781
782 QString text( i18n( "<qt>Do you really want to use <b>%1</b> as your new personal contact?</qt>" ) ); 782 QString text( i18n( "<qt>Do you really want to use <b>%1</b> as your new personal contact?</qt>" ) );
783 if ( KMessageBox::questionYesNo( this, text.arg( addrList[ 0 ].assembledName() ) ) == KMessageBox::Yes ) 783 if ( KMessageBox::questionYesNo( this, text.arg( addrList[ 0 ].assembledName() ) ) == KMessageBox::Yes )
784 static_cast<KABC::StdAddressBook*>( KABC::StdAddressBook::self() )->setWhoAmI( addrList[ 0 ] ); 784 static_cast<KABC::StdAddressBook*>( KABC::StdAddressBook::self() )->setWhoAmI( addrList[ 0 ] );
785} 785}
786 786
787void KABCore::setCategories() 787void KABCore::setCategories()
788{ 788{
789 KPIM::CategorySelectDialog dlg( KABPrefs::instance(), this, "", true ); 789 KPIM::CategorySelectDialog dlg( KABPrefs::instance(), this, "", true );
790 if ( !dlg.exec() ) 790 if ( !dlg.exec() )
791 return; 791 return;
792 792
793 bool merge = false; 793 bool merge = false;
794 QString msg = i18n( "Merge with existing categories?" ); 794 QString msg = i18n( "Merge with existing categories?" );
795 if ( KMessageBox::questionYesNo( this, msg ) == KMessageBox::Yes ) 795 if ( KMessageBox::questionYesNo( this, msg ) == KMessageBox::Yes )
796 merge = true; 796 merge = true;
797 797
798 QStringList categories = dlg.selectedCategories(); 798 QStringList categories = dlg.selectedCategories();
799 799
800 QStringList uids = mViewManager->selectedUids(); 800 QStringList uids = mViewManager->selectedUids();
801 QStringList::Iterator it; 801 QStringList::Iterator it;
802 for ( it = uids.begin(); it != uids.end(); ++it ) { 802 for ( it = uids.begin(); it != uids.end(); ++it ) {
803 KABC::Addressee addr = mAddressBook->findByUid( *it ); 803 KABC::Addressee addr = mAddressBook->findByUid( *it );
804 if ( !addr.isEmpty() ) { 804 if ( !addr.isEmpty() ) {
805 if ( !merge ) 805 if ( !merge )
806 addr.setCategories( categories ); 806 addr.setCategories( categories );
807 else { 807 else {
808 QStringList addrCategories = addr.categories(); 808 QStringList addrCategories = addr.categories();
809 QStringList::Iterator catIt; 809 QStringList::Iterator catIt;
810 for ( catIt = categories.begin(); catIt != categories.end(); ++catIt ) { 810 for ( catIt = categories.begin(); catIt != categories.end(); ++catIt ) {
811 if ( !addrCategories.contains( *catIt ) ) 811 if ( !addrCategories.contains( *catIt ) )
812 addrCategories.append( *catIt ); 812 addrCategories.append( *catIt );
813 } 813 }
814 addr.setCategories( addrCategories ); 814 addr.setCategories( addrCategories );
815 } 815 }
816 816
817 mAddressBook->insertAddressee( addr ); 817 mAddressBook->insertAddressee( addr );
818 } 818 }
819 } 819 }
820 820
821 if ( uids.count() > 0 ) 821 if ( uids.count() > 0 )
822 setModified( true ); 822 setModified( true );
823} 823}
824 824
825void KABCore::setSearchFields( const KABC::Field::List &fields ) 825void KABCore::setSearchFields( const KABC::Field::List &fields )
826{ 826{
827 mIncSearchWidget->setFields( fields ); 827 mIncSearchWidget->setFields( fields );
828} 828}
829 829
830void KABCore::incrementalSearch( const QString& text ) 830void KABCore::incrementalSearch( const QString& text )
831{ 831{
832 mViewManager->setSelected( QString::null, false ); 832 mViewManager->setSelected( QString::null, false );
833 833
834 if ( !text.isEmpty() ) { 834 if ( !text.isEmpty() ) {
835 KABC::Field *field = mIncSearchWidget->currentField(); 835 KABC::Field *field = mIncSearchWidget->currentField();
836 QString pattern = text.lower()+"*"; 836 QString pattern = text.lower()+"*";
837 QRegExp re; 837 QRegExp re;
838 re.setWildcard(true); // most people understand these better. 838 re.setWildcard(true); // most people understand these better.
839 re.setCaseSensitive(false); 839 re.setCaseSensitive(false);
840 re.setPattern( pattern ); 840 re.setPattern( pattern );
841 QStringList foundUids; 841 QStringList foundUids;
842 if (!re.isValid()) 842 if (!re.isValid())
843 return; 843 return;
844#if 1 //KDE_VERSION >= 319 844#if 1 //KDE_VERSION >= 319
845 KABC::AddresseeList list( mAddressBook->allAddressees() ); 845 KABC::AddresseeList list( mAddressBook->allAddressees() );
846 if ( field ) { 846 if ( field ) {
847 list.sortByField( field ); 847 list.sortByField( field );
848 KABC::AddresseeList::Iterator it; 848 KABC::AddresseeList::Iterator it;
849 for ( it = list.begin(); it != list.end(); ++it ) { 849 for ( it = list.begin(); it != list.end(); ++it ) {
850 850
851#if QT_VERSION >= 300 851#if QT_VERSION >= 300
852 if (re.search(field->value( *it ).lower()) != -1) 852 if (re.search(field->value( *it ).lower()) != -1)
853#else 853#else
854 if (re.match(field->value( *it ).lower()) != -1) 854 if (re.match(field->value( *it ).lower()) != -1)
855#endif 855#endif
856 { 856 {
857 // if ( field->value( *it ).lower().startsWith( pattern ) ) { 857 // if ( field->value( *it ).lower().startsWith( pattern ) ) {
858 //mViewManager->setSelected( (*it).uid(), true ); 858 //mViewManager->setSelected( (*it).uid(), true );
859 foundUids.append( (*it).uid() ); 859 foundUids.append( (*it).uid() );
860 //return; 860 //return;
861 } 861 }
862 } 862 }
863 } else { 863 } else {
864 KABC::AddresseeList::Iterator it; 864 KABC::AddresseeList::Iterator it;
865 for ( it = list.begin(); it != list.end(); ++it ) { 865 for ( it = list.begin(); it != list.end(); ++it ) {
866 KABC::Field::List fieldList = mIncSearchWidget->fields(); 866 KABC::Field::List fieldList = mIncSearchWidget->fields();
867 KABC::Field::List::ConstIterator fieldIt; 867 KABC::Field::List::ConstIterator fieldIt;
868 for ( fieldIt = fieldList.begin(); fieldIt != fieldList.end(); ++fieldIt ) { 868 for ( fieldIt = fieldList.begin(); fieldIt != fieldList.end(); ++fieldIt ) {
869#if QT_VERSION >= 300 869#if QT_VERSION >= 300
870 if (re.search((*fieldIt)->value( *it ).lower()) != -1) 870 if (re.search((*fieldIt)->value( *it ).lower()) != -1)
871#else 871#else
872 if (re.match((*fieldIt)->value( *it ).lower()) != -1) 872 if (re.match((*fieldIt)->value( *it ).lower()) != -1)
873#endif 873#endif
874 { 874 {
875 // if ( (*fieldIt)->value( *it ).lower().startsWith( pattern ) ) { 875 // if ( (*fieldIt)->value( *it ).lower().startsWith( pattern ) ) {
876 //mViewManager->setSelected( (*it).uid(), true ); 876 //mViewManager->setSelected( (*it).uid(), true );
877 foundUids.append( (*it).uid() ); 877 foundUids.append( (*it).uid() );
878 //return; 878 //return;
879 } 879 }
880 } 880 }
881 } 881 }
882 } 882 }
883 if ( foundUids.count() > 0 ) 883 if ( foundUids.count() > 0 )
884 mViewManager->setListSelected( foundUids ); 884 mViewManager->setListSelected( foundUids );
885#else 885#else
886 KABC::AddressBook::Iterator it; 886 KABC::AddressBook::Iterator it;
887 for ( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) { 887 for ( it = mAddressBook->begin(); it != mAddressBook->end(); ++it ) {
888 if ( field ) { 888 if ( field ) {
889 if ( field->value( *it ).lower().startsWith( pattern ) ) { 889 if ( field->value( *it ).lower().startsWith( pattern ) ) {
890 mViewManager->setSelected( (*it).uid(), true ); 890 mViewManager->setSelected( (*it).uid(), true );
891 return; 891 return;
892 } 892 }
893 } else { 893 } else {
894 KABC::Field::List fieldList = mIncSearchWidget->fields(); 894 KABC::Field::List fieldList = mIncSearchWidget->fields();
895 KABC::Field::List::ConstIterator fieldIt; 895 KABC::Field::List::ConstIterator fieldIt;
896 for ( fieldIt = fieldList.begin(); fieldIt != fieldList.end(); ++fieldIt ) { 896 for ( fieldIt = fieldList.begin(); fieldIt != fieldList.end(); ++fieldIt ) {
897 if ( (*fieldIt)->value( *it ).lower().startsWith( pattern ) ) { 897 if ( (*fieldIt)->value( *it ).lower().startsWith( pattern ) ) {
898 mViewManager->setSelected( (*it).uid(), true ); 898 mViewManager->setSelected( (*it).uid(), true );
899 return; 899 return;
900 } 900 }
901 } 901 }
902 } 902 }
903 } 903 }
904#endif 904#endif
905 } 905 }
906} 906}
907 907
908void KABCore::setModified() 908void KABCore::setModified()
909{ 909{
910 setModified( true ); 910 setModified( true );
911} 911}
912 912
913void KABCore::setModifiedWOrefresh() 913void KABCore::setModifiedWOrefresh()
914{ 914{
915 // qDebug("KABCore::setModifiedWOrefresh() "); 915 // qDebug("KABCore::setModifiedWOrefresh() ");
916 mModified = true; 916 mModified = true;
917 mActionSave->setEnabled( mModified ); 917 mActionSave->setEnabled( mModified );
918#ifdef DESKTOP_VERSION 918#ifdef DESKTOP_VERSION
919 mDetails->refreshView(); 919 mDetails->refreshView();
920#endif 920#endif
921 921
922} 922}
923void KABCore::setModified( bool modified ) 923void KABCore::setModified( bool modified )
924{ 924{
925 mModified = modified; 925 mModified = modified;
926 mActionSave->setEnabled( mModified ); 926 mActionSave->setEnabled( mModified );
927 927
928 if ( modified ) 928 if ( modified )
929 mJumpButtonBar->recreateButtons(); 929 mJumpButtonBar->recreateButtons();
930 930
931 mViewManager->refreshView(); 931 mViewManager->refreshView();
932 mDetails->refreshView(); 932 mDetails->refreshView();
933 933
934} 934}
935 935
936bool KABCore::modified() const 936bool KABCore::modified() const
937{ 937{
938 return mModified; 938 return mModified;
939} 939}
940 940
941void KABCore::contactModified( const KABC::Addressee &addr ) 941void KABCore::contactModified( const KABC::Addressee &addr )
942{ 942{
943 943
944 Command *command = 0; 944 Command *command = 0;
945 QString uid; 945 QString uid;
946 946
947 // check if it exists already 947 // check if it exists already
948 KABC::Addressee origAddr = mAddressBook->findByUid( addr.uid() ); 948 KABC::Addressee origAddr = mAddressBook->findByUid( addr.uid() );
949 if ( origAddr.isEmpty() ) 949 if ( origAddr.isEmpty() )
950 command = new PwNewCommand( mAddressBook, addr ); 950 command = new PwNewCommand( mAddressBook, addr );
951 else { 951 else {
952 command = new PwEditCommand( mAddressBook, origAddr, addr ); 952 command = new PwEditCommand( mAddressBook, origAddr, addr );
953 uid = addr.uid(); 953 uid = addr.uid();
954 } 954 }
955 955
956 UndoStack::instance()->push( command ); 956 UndoStack::instance()->push( command );
957 RedoStack::instance()->clear(); 957 RedoStack::instance()->clear();
958 958
959 setModified( true ); 959 setModified( true );
960} 960}
961 961
962void KABCore::newContact() 962void KABCore::newContact()
963{ 963{
964 964
965 965
966 QPtrList<KABC::Resource> kabcResources = mAddressBook->resources(); 966 QPtrList<KABC::Resource> kabcResources = mAddressBook->resources();
967 967
968 QPtrList<KRES::Resource> kresResources; 968 QPtrList<KRES::Resource> kresResources;
969 QPtrListIterator<KABC::Resource> it( kabcResources ); 969 QPtrListIterator<KABC::Resource> it( kabcResources );
970 KABC::Resource *resource; 970 KABC::Resource *resource;
971 while ( ( resource = it.current() ) != 0 ) { 971 while ( ( resource = it.current() ) != 0 ) {
972 ++it; 972 ++it;
973 if ( !resource->readOnly() ) { 973 if ( !resource->readOnly() ) {
974 KRES::Resource *res = static_cast<KRES::Resource*>( resource ); 974 KRES::Resource *res = static_cast<KRES::Resource*>( resource );
975 if ( res ) 975 if ( res )
976 kresResources.append( res ); 976 kresResources.append( res );
977 } 977 }
978 } 978 }
979 979
980 KRES::Resource *res = KRES::SelectDialog::getResource( kresResources, this ); 980 KRES::Resource *res = KRES::SelectDialog::getResource( kresResources, this );
981 resource = static_cast<KABC::Resource*>( res ); 981 resource = static_cast<KABC::Resource*>( res );
982 982
983 if ( resource ) { 983 if ( resource ) {
984 KABC::Addressee addr; 984 KABC::Addressee addr;
985 addr.setResource( resource ); 985 addr.setResource( resource );
986 mEditorDialog->setAddressee( addr ); 986 mEditorDialog->setAddressee( addr );
987 KApplication::execDialog ( mEditorDialog ); 987 KApplication::execDialog ( mEditorDialog );
988 988
989 } else 989 } else
990 return; 990 return;
991 991
992 // mEditorDict.insert( dialog->addressee().uid(), dialog ); 992 // mEditorDict.insert( dialog->addressee().uid(), dialog );
993 993
994 994
995} 995}
996 996
997void KABCore::addEmail( QString aStr ) 997void KABCore::addEmail( QString aStr )
998{ 998{
999#ifndef KAB_EMBEDDED 999#ifndef KAB_EMBEDDED
1000 QString fullName, email; 1000 QString fullName, email;
1001 1001
1002 KABC::Addressee::parseEmailAddress( aStr, fullName, email ); 1002 KABC::Addressee::parseEmailAddress( aStr, fullName, email );
1003 1003
1004 // Try to lookup the addressee matching the email address 1004 // Try to lookup the addressee matching the email address
1005 bool found = false; 1005 bool found = false;
1006 QStringList emailList; 1006 QStringList emailList;
1007 KABC::AddressBook::Iterator it; 1007 KABC::AddressBook::Iterator it;
1008 for ( it = mAddressBook->begin(); !found && (it != mAddressBook->end()); ++it ) { 1008 for ( it = mAddressBook->begin(); !found && (it != mAddressBook->end()); ++it ) {
1009 emailList = (*it).emails(); 1009 emailList = (*it).emails();
1010 if ( emailList.contains( email ) > 0 ) { 1010 if ( emailList.contains( email ) > 0 ) {
1011 found = true; 1011 found = true;
1012 (*it).setNameFromString( fullName ); 1012 (*it).setNameFromString( fullName );
1013 editContact( (*it).uid() ); 1013 editContact( (*it).uid() );
1014 } 1014 }
1015 } 1015 }
1016 1016
1017 if ( !found ) { 1017 if ( !found ) {
1018 KABC::Addressee addr; 1018 KABC::Addressee addr;
1019 addr.setNameFromString( fullName ); 1019 addr.setNameFromString( fullName );
1020 addr.insertEmail( email, true ); 1020 addr.insertEmail( email, true );
1021 1021
1022 mAddressBook->insertAddressee( addr ); 1022 mAddressBook->insertAddressee( addr );
1023 mViewManager->refreshView( addr.uid() ); 1023 mViewManager->refreshView( addr.uid() );
1024 editContact( addr.uid() ); 1024 editContact( addr.uid() );
1025 } 1025 }
1026#else //KAB_EMBEDDED 1026#else //KAB_EMBEDDED
1027 qDebug("KABCore::addEmail finsih method"); 1027 qDebug("KABCore::addEmail finsih method");
1028#endif //KAB_EMBEDDED 1028#endif //KAB_EMBEDDED
1029} 1029}
1030 1030
1031void KABCore::importVCard( const KURL &url, bool showPreview ) 1031void KABCore::importVCard( const KURL &url, bool showPreview )
1032{ 1032{
1033 mXXPortManager->importVCard( url, showPreview ); 1033 mXXPortManager->importVCard( url, showPreview );
1034} 1034}
1035void KABCore::importFromOL() 1035void KABCore::importFromOL()
1036{ 1036{
1037#ifdef _WIN32_ 1037#ifdef _WIN32_
1038 KAImportOLdialog* idgl = new KAImportOLdialog( i18n("Import Contacts from OL"), mAddressBook, this ); 1038 KAImportOLdialog* idgl = new KAImportOLdialog( i18n("Import Contacts from OL"), mAddressBook, this );
1039 idgl->exec(); 1039 idgl->exec();
1040 KABC::Addressee::List list = idgl->getAddressList(); 1040 KABC::Addressee::List list = idgl->getAddressList();
1041 if ( list.count() > 0 ) { 1041 if ( list.count() > 0 ) {
1042 KABC::Addressee::List listNew; 1042 KABC::Addressee::List listNew;
1043 KABC::Addressee::List listExisting; 1043 KABC::Addressee::List listExisting;
1044 KABC::Addressee::List::Iterator it; 1044 KABC::Addressee::List::Iterator it;
1045 KABC::AddressBook::Iterator iter; 1045 KABC::AddressBook::Iterator iter;
1046 for ( it = list.begin(); it != list.end(); ++it ) { 1046 for ( it = list.begin(); it != list.end(); ++it ) {
1047 if ( mAddressBook->findByUid((*it).uid() ).isEmpty()) 1047 if ( mAddressBook->findByUid((*it).uid() ).isEmpty())
1048 listNew.append( (*it) ); 1048 listNew.append( (*it) );
1049 else 1049 else
1050 listExisting.append( (*it) ); 1050 listExisting.append( (*it) );
1051 } 1051 }
1052 if ( listExisting.count() > 0 ) 1052 if ( listExisting.count() > 0 )
1053 KMessageBox::information( this, i18n("%1 contacts not added to addressbook\nbecause they were already in the addressbook!").arg( listExisting.count() )); 1053 KMessageBox::information( this, i18n("%1 contacts not added to addressbook\nbecause they were already in the addressbook!").arg( listExisting.count() ));
1054 if ( listNew.count() > 0 ) { 1054 if ( listNew.count() > 0 ) {
1055 pasteWithNewUid = false; 1055 pasteWithNewUid = false;
1056 pasteContacts( listNew ); 1056 pasteContacts( listNew );
1057 pasteWithNewUid = true; 1057 pasteWithNewUid = true;
1058 } 1058 }
1059 } 1059 }
1060 delete idgl; 1060 delete idgl;
1061#endif 1061#endif
1062} 1062}
1063 1063
1064void KABCore::importVCard( const QString &vCard, bool showPreview ) 1064void KABCore::importVCard( const QString &vCard, bool showPreview )
1065{ 1065{
1066 mXXPortManager->importVCard( vCard, showPreview ); 1066 mXXPortManager->importVCard( vCard, showPreview );
1067} 1067}
1068 1068
1069//US added a second method without defaultparameter 1069//US added a second method without defaultparameter
1070void KABCore::editContact2() { 1070void KABCore::editContact2() {
1071 editContact( QString::null ); 1071 editContact( QString::null );
1072} 1072}
1073 1073
1074void KABCore::editContact( const QString &uid ) 1074void KABCore::editContact( const QString &uid )
1075{ 1075{
1076 1076
1077 if ( mExtensionManager->isQuickEditVisible() ) 1077 if ( mExtensionManager->isQuickEditVisible() )
1078 return; 1078 return;
1079 1079
1080 // First, locate the contact entry 1080 // First, locate the contact entry
1081 QString localUID = uid; 1081 QString localUID = uid;
1082 if ( localUID.isNull() ) { 1082 if ( localUID.isNull() ) {
1083 QStringList uidList = mViewManager->selectedUids(); 1083 QStringList uidList = mViewManager->selectedUids();
1084 if ( uidList.count() > 0 ) 1084 if ( uidList.count() > 0 )
1085 localUID = *( uidList.at( 0 ) ); 1085 localUID = *( uidList.at( 0 ) );
1086 } 1086 }
1087 1087
1088 KABC::Addressee addr = mAddressBook->findByUid( localUID ); 1088 KABC::Addressee addr = mAddressBook->findByUid( localUID );
1089 if ( !addr.isEmpty() ) { 1089 if ( !addr.isEmpty() ) {
1090 mEditorDialog->setAddressee( addr ); 1090 mEditorDialog->setAddressee( addr );
1091 KApplication::execDialog ( mEditorDialog ); 1091 KApplication::execDialog ( mEditorDialog );
1092 } 1092 }
1093} 1093}
1094 1094
1095/** 1095/**
1096 Shows or edits the detail view for the given uid. If the uid is QString::null, 1096 Shows or edits the detail view for the given uid. If the uid is QString::null,
1097 the method will try to find a selected addressee in the view. 1097 the method will try to find a selected addressee in the view.
1098 */ 1098 */
1099void KABCore::executeContact( const QString &uid /*US = QString::null*/ ) 1099void KABCore::executeContact( const QString &uid /*US = QString::null*/ )
1100{ 1100{
1101 if ( mMultipleViewsAtOnce ) 1101 if ( mMultipleViewsAtOnce )
1102 { 1102 {
1103 editContact( uid ); 1103 editContact( uid );
1104 } 1104 }
1105 else 1105 else
1106 { 1106 {
1107 setDetailsVisible( true ); 1107 setDetailsVisible( true );
1108 mActionDetails->setChecked(true); 1108 mActionDetails->setChecked(true);
1109 } 1109 }
1110 1110
1111} 1111}
1112 1112
1113void KABCore::save() 1113void KABCore::save()
1114{ 1114{
1115 if ( !mModified ) 1115 if ( !mModified )
1116 return; 1116 return;
1117 QString text = i18n( "There was an error while attempting to save\n the " 1117 QString text = i18n( "There was an error while attempting to save\n the "
1118 "address book. Please check that some \nother application is " 1118 "address book. Please check that some \nother application is "
1119 "not using it. " ); 1119 "not using it. " );
1120 statusMessage(i18n("Saving addressbook ... ")); 1120 statusMessage(i18n("Saving addressbook ... "));
1121#ifndef KAB_EMBEDDED 1121#ifndef KAB_EMBEDDED
1122 KABC::StdAddressBook *b = dynamic_cast<KABC::StdAddressBook*>( mAddressBook ); 1122 KABC::StdAddressBook *b = dynamic_cast<KABC::StdAddressBook*>( mAddressBook );
1123 if ( !b || !b->save() ) { 1123 if ( !b || !b->save() ) {
1124 KMessageBox::error( this, text, i18n( "Unable to Save" ) ); 1124 KMessageBox::error( this, text, i18n( "Unable to Save" ) );
1125 } 1125 }
1126#else //KAB_EMBEDDED 1126#else //KAB_EMBEDDED
1127 KABC::StdAddressBook *b = (KABC::StdAddressBook*)( mAddressBook ); 1127 KABC::StdAddressBook *b = (KABC::StdAddressBook*)( mAddressBook );
1128 if ( !b || !b->save() ) { 1128 if ( !b || !b->save() ) {
1129 QMessageBox::critical( this, i18n( "Unable to Save" ), text, i18n("Ok")); 1129 QMessageBox::critical( this, i18n( "Unable to Save" ), text, i18n("Ok"));
1130 } 1130 }
1131#endif //KAB_EMBEDDED 1131#endif //KAB_EMBEDDED
1132 1132
1133 statusMessage(i18n("Addressbook saved!")); 1133 statusMessage(i18n("Addressbook saved!"));
1134 setModified( false ); 1134 setModified( false );
1135} 1135}
1136 1136
1137void KABCore::statusMessage(QString mess , int time ) 1137void KABCore::statusMessage(QString mess , int time )
1138{ 1138{
1139 //topLevelWidget()->setCaption( mess ); 1139 //topLevelWidget()->setCaption( mess );
1140 // pending setting timer to revome message 1140 // pending setting timer to revome message
1141} 1141}
1142void KABCore::undo() 1142void KABCore::undo()
1143{ 1143{
1144 UndoStack::instance()->undo(); 1144 UndoStack::instance()->undo();
1145 1145
1146 // Refresh the view 1146 // Refresh the view
1147 mViewManager->refreshView(); 1147 mViewManager->refreshView();
1148} 1148}
1149 1149
1150void KABCore::redo() 1150void KABCore::redo()
1151{ 1151{
1152 RedoStack::instance()->redo(); 1152 RedoStack::instance()->redo();
diff --git a/kalarmd/simplealarmdaemonimpl.cpp b/kalarmd/simplealarmdaemonimpl.cpp
index 18e4299..4ff6861 100644
--- a/kalarmd/simplealarmdaemonimpl.cpp
+++ b/kalarmd/simplealarmdaemonimpl.cpp
@@ -51,557 +51,557 @@ SimpleAlarmDaemonImpl::SimpleAlarmDaemonImpl( QWidget *parent )
51 mPopUp = new QPopupMenu( 0 ); 51 mPopUp = new QPopupMenu( 0 );
52 mPopUp->insertItem( "What's Next?", this, SLOT ( showWN() ) ); 52 mPopUp->insertItem( "What's Next?", this, SLOT ( showWN() ) );
53 mPopUp->insertItem( "Next Days!", this, SLOT ( showKO() ) ); 53 mPopUp->insertItem( "Next Days!", this, SLOT ( showKO() ) );
54 mPopUp->insertSeparator(); 54 mPopUp->insertSeparator();
55 mPopUp->insertItem( "What's Todo?", this, SLOT ( showTodo() ) ); 55 mPopUp->insertItem( "What's Todo?", this, SLOT ( showTodo() ) );
56 mPopUp->insertSeparator(); 56 mPopUp->insertSeparator();
57 mPopUp->insertItem( "Addresses", this, SLOT ( showAdd() ) ); 57 mPopUp->insertItem( "Addresses", this, SLOT ( showAdd() ) );
58 mPopUp->insertSeparator(); 58 mPopUp->insertSeparator();
59 mPopUp->insertItem( "Edit Journal", this, SLOT ( writeJournal() ) ); 59 mPopUp->insertItem( "Edit Journal", this, SLOT ( writeJournal() ) );
60 mPopUp->insertItem( "New Event", this, SLOT ( newEvent() ) ); 60 mPopUp->insertItem( "New Event", this, SLOT ( newEvent() ) );
61 mPopUp->insertItem( "New Todo", this, SLOT ( newTodo() ) ); 61 mPopUp->insertItem( "New Todo", this, SLOT ( newTodo() ) );
62 mPopUp->insertItem( "New Mail", this, SLOT ( newMail() ) ); 62 mPopUp->insertItem( "New Mail", this, SLOT ( newMail() ) );
63 mPopUp->insertSeparator(); 63 mPopUp->insertSeparator();
64 mPopUp->insertItem( "Multi Sync", this, SLOT ( ringSync() ) ); 64 mPopUp->insertItem( "Multi Sync", this, SLOT ( ringSync() ) );
65 mTimerPopUp = new QPopupMenu( mPopUp ); 65 mTimerPopUp = new QPopupMenu( mPopUp );
66 66
67 mBeepPopUp = new QPopupMenu( mPopUp ); 67 mBeepPopUp = new QPopupMenu( mPopUp );
68 mSoundPopUp = new QPopupMenu( mBeepPopUp ); 68 mSoundPopUp = new QPopupMenu( mBeepPopUp );
69 mPausePopUp = new QPopupMenu( mBeepPopUp ); 69 mPausePopUp = new QPopupMenu( mBeepPopUp );
70 QPopupMenu* savePopUp = new QPopupMenu( mBeepPopUp ); 70 QPopupMenu* savePopUp = new QPopupMenu( mBeepPopUp );
71 savePopUp->insertItem( "Save", 0 ); 71 savePopUp->insertItem( "Save", 0 );
72 savePopUp->insertItem( "Load", 1 ); 72 savePopUp->insertItem( "Load", 1 );
73 mSoundPopUp->insertItem( "Buzzer", 0 ); 73 mSoundPopUp->insertItem( "Buzzer", 0 );
74 mSoundPopUp->insertItem( "Wav file", 1 ); 74 mSoundPopUp->insertItem( "Wav file", 1 );
75 mPausePopUp->insertItem( " 1 sec", 1 ); 75 mPausePopUp->insertItem( " 1 sec", 1 );
76 mPausePopUp->insertItem( " 2 sec", 2 ); 76 mPausePopUp->insertItem( " 2 sec", 2 );
77 mPausePopUp->insertItem( " 3 sec", 3 ); 77 mPausePopUp->insertItem( " 3 sec", 3 );
78 mPausePopUp->insertItem( " 5 sec", 5 ); 78 mPausePopUp->insertItem( " 5 sec", 5 );
79 mPausePopUp->insertItem( "10 sec", 10 ); 79 mPausePopUp->insertItem( "10 sec", 10 );
80 mPausePopUp->insertItem( "30 sec", 30 ); 80 mPausePopUp->insertItem( "30 sec", 30 );
81 mPausePopUp->insertItem( " 1 min", 60 ); 81 mPausePopUp->insertItem( " 1 min", 60 );
82 mPausePopUp->insertItem( " 5 min", 300 ); 82 mPausePopUp->insertItem( " 5 min", 300 );
83 mPausePopUp->insertItem( "10 min", 600 ); 83 mPausePopUp->insertItem( "10 min", 600 );
84 mSuspendPopUp = new QPopupMenu( mBeepPopUp ); 84 mSuspendPopUp = new QPopupMenu( mBeepPopUp );
85 mSuspendPopUp->insertItem( "Off", 0 ); 85 mSuspendPopUp->insertItem( "Off", 0 );
86 mSuspendPopUp->insertItem( " 1x", 1 ); 86 mSuspendPopUp->insertItem( " 1x", 1 );
87 mSuspendPopUp->insertItem( " 2x", 2 ); 87 mSuspendPopUp->insertItem( " 2x", 2 );
88 mSuspendPopUp->insertItem( " 3x", 3 ); 88 mSuspendPopUp->insertItem( " 3x", 3 );
89 mSuspendPopUp->insertItem( " 5x", 5 ); 89 mSuspendPopUp->insertItem( " 5x", 5 );
90 mSuspendPopUp->insertItem( "10x", 10 ); 90 mSuspendPopUp->insertItem( "10x", 10 );
91 mSuspendPopUp->insertItem( "20x", 20 ); 91 mSuspendPopUp->insertItem( "20x", 20 );
92 mSuspendPopUp->insertItem( "30x", 30 ); 92 mSuspendPopUp->insertItem( "30x", 30 );
93 mBeepPopUp->insertItem( "Auto suspend",mSuspendPopUp ); 93 mBeepPopUp->insertItem( "Auto suspend",mSuspendPopUp );
94 mBeepPopUp->insertItem( "Beep interval",mPausePopUp ); 94 mBeepPopUp->insertItem( "Beep interval",mPausePopUp );
95 mBeepPopUp->insertItem( "Replay",mSoundPopUp ); 95 mBeepPopUp->insertItem( "Replay",mSoundPopUp );
96 mBeepPopUp->insertItem( "Config",savePopUp ); 96 mBeepPopUp->insertItem( "Config",savePopUp );
97 mBeepPopUp->insertItem( "300", 300 ); 97 mBeepPopUp->insertItem( "300", 300 );
98 mBeepPopUp->insertItem( "180", 180 ); 98 mBeepPopUp->insertItem( "180", 180 );
99 mBeepPopUp->insertItem( "60", 60 ); 99 mBeepPopUp->insertItem( "60", 60 );
100 mBeepPopUp->insertItem( "30", 30 ); 100 mBeepPopUp->insertItem( "30", 30 );
101 mBeepPopUp->insertItem( "10", 10 ); 101 mBeepPopUp->insertItem( "10", 10 );
102 mBeepPopUp->insertItem( "3", 3 ); 102 mBeepPopUp->insertItem( "3", 3 );
103 mBeepPopUp->insertItem( "1", 1 ); 103 mBeepPopUp->insertItem( "1", 1 );
104 mBeepPopUp->insertItem( "Off", 0 ); 104 mBeepPopUp->insertItem( "Off", 0 );
105 mBeepPopUp->setCheckable( true ); 105 mBeepPopUp->setCheckable( true );
106 mPopUp->insertSeparator(); 106 mPopUp->insertSeparator();
107 mPopUp->insertItem( "Play beeps", mBeepPopUp ); 107 mPopUp->insertItem( "Play beeps", mBeepPopUp );
108 mPopUp->insertSeparator(); 108 mPopUp->insertSeparator();
109 mPopUp->insertItem( "Timer", mTimerPopUp ); 109 mPopUp->insertItem( "Timer", mTimerPopUp );
110 mPopUp->insertSeparator(); 110 mPopUp->insertSeparator();
111 mPopUp->insertItem( "Simulate", this, SLOT ( simulate() ) ); 111 mPopUp->insertItem( "Simulate", this, SLOT ( simulate() ) );
112 112
113 mPopUp->resize( mPopUp->sizeHint() ); 113 mPopUp->resize( mPopUp->sizeHint() );
114 mPlayBeeps = 60; 114 mPlayBeeps = 60;
115 mBeepPopUp->setItemChecked ( mPlayBeeps, true ); 115 mBeepPopUp->setItemChecked ( mPlayBeeps, true );
116 connect ( mBeepPopUp, SIGNAL( activated ( int ) ), this, SLOT (slotPlayBeep( int ) ) ); 116 connect ( mBeepPopUp, SIGNAL( activated ( int ) ), this, SLOT (slotPlayBeep( int ) ) );
117 connect ( mTimerPopUp, SIGNAL( activated ( int ) ), this, SLOT (confTimer( int ) ) ); 117 connect ( mTimerPopUp, SIGNAL( activated ( int ) ), this, SLOT (confTimer( int ) ) );
118 connect ( mTimerPopUp, SIGNAL(aboutToShow() ), this, SLOT ( showTimer( ) ) ); 118 connect ( mTimerPopUp, SIGNAL(aboutToShow() ), this, SLOT ( showTimer( ) ) );
119 connect ( mSoundPopUp, SIGNAL( activated ( int ) ), this, SLOT (confSound( int ) ) ); 119 connect ( mSoundPopUp, SIGNAL( activated ( int ) ), this, SLOT (confSound( int ) ) );
120 connect ( mPausePopUp, SIGNAL( activated ( int ) ), this, SLOT (confPause( int ) ) ); 120 connect ( mPausePopUp, SIGNAL( activated ( int ) ), this, SLOT (confPause( int ) ) );
121 connect ( mSuspendPopUp, SIGNAL( activated ( int ) ), this, SLOT (confSuspend( int ) ) ); 121 connect ( mSuspendPopUp, SIGNAL( activated ( int ) ), this, SLOT (confSuspend( int ) ) );
122 connect ( savePopUp, SIGNAL( activated ( int ) ), this, SLOT (saveSlot( int ) ) ); 122 connect ( savePopUp, SIGNAL( activated ( int ) ), this, SLOT (saveSlot( int ) ) );
123 mTimerTime = 0; 123 mTimerTime = 0;
124 mCustomText = "Custom Text"; 124 mCustomText = "Custom Text";
125 mCustomMinutes = 7; 125 mCustomMinutes = 7;
126 mTimerPopupConf = 1; 126 mTimerPopupConf = 1;
127 fillTimerPopUp(); 127 fillTimerPopUp();
128 mPausePlay = 0; 128 mPausePlay = 0;
129 confPause( 1 ); 129 confPause( 1 );
130 mSuspend = 0; 130 mSuspend = 0;
131 confSuspend( 0 ); 131 confSuspend( 0 );
132 if ( QApplication::desktop()->width() < 480 ) { 132 if ( QApplication::desktop()->width() < 480 ) {
133 wavAlarm = false; 133 wavAlarm = false;
134 mSoundPopUp->setItemChecked ( 0, true ); 134 mSoundPopUp->setItemChecked ( 0, true );
135 } 135 }
136 else { 136 else {
137 wavAlarm = true; 137 wavAlarm = true;
138 mSoundPopUp->setItemChecked ( 1, true ); 138 mSoundPopUp->setItemChecked ( 1, true );
139 } 139 }
140 saveSlot( 1 ); 140 saveSlot( 1 );
141} 141}
142 142
143SimpleAlarmDaemonImpl::~SimpleAlarmDaemonImpl() 143SimpleAlarmDaemonImpl::~SimpleAlarmDaemonImpl()
144{ 144{
145 delete mPopUp; 145 delete mPopUp;
146 delete mAlarmDialog; 146 delete mAlarmDialog;
147} 147}
148void SimpleAlarmDaemonImpl::saveSlot( int load ) 148void SimpleAlarmDaemonImpl::saveSlot( int load )
149{ 149{
150 QString fileName = QDir::homeDirPath() +"/.kopialarmrc"; 150 QString fileName = QDir::homeDirPath() +"/.kopialarmrc";
151 //qDebug("save %d ", load ); 151 //qDebug("save %d ", load );
152 QFile file( fileName ); 152 QFile file( fileName );
153 if ( load ) { 153 if ( load ) {
154 if( !QFile::exists( fileName) ) 154 if( !QFile::exists( fileName) )
155 return; 155 return;
156 if (!file.open( IO_ReadOnly ) ) { 156 if (!file.open( IO_ReadOnly ) ) {
157 return ; 157 return ;
158 } 158 }
159 QString line; 159 QString line;
160 bool ok; 160 bool ok;
161 int val; 161 int val;
162 int len; 162 int len;
163 while ( file.readLine( line, 1024 ) > 0 ) { 163 while ( file.readLine( line, 1024 ) > 0 ) {
164 //qDebug("read %s ", line.latin1()); 164 //qDebug("read %s ", line.latin1());
165 len = line.length(); 165 len = line.length();
166 if ( line.left(4 ) == "PPAU" ) { 166 if ( line.left(4 ) == "PPAU" ) {
167 val = line.mid( 4,len-5).toInt( &ok ); 167 val = line.mid( 4,len-5).toInt( &ok );
168 if ( ok ) { 168 if ( ok ) {
169 confPause( val ); 169 confPause( val );
170 } 170 }
171 } 171 }
172 if ( line.left(4 ) == "SUCO" ) { 172 if ( line.left(4 ) == "SUCO" ) {
173 val = line.mid( 4,len-5).toInt( &ok ); 173 val = line.mid( 4,len-5).toInt( &ok );
174 if ( ok ) 174 if ( ok )
175 confSuspend ( val ); 175 confSuspend ( val );
176 } 176 }
177 if ( line.left(4 ) == "WAAL" ) { 177 if ( line.left(4 ) == "WAAL" ) {
178 val = line.mid( 4,len-5).toInt( &ok ); 178 val = line.mid( 4,len-5).toInt( &ok );
179 if ( ok ) 179 if ( ok )
180 confSound( val ); 180 confSound( val );
181 181
182 } 182 }
183 if ( line.left(4 ) == "PLBE" ) { 183 if ( line.left(4 ) == "PLBE" ) {
184 val = line.mid( 4,len-5).toInt( &ok ); 184 val = line.mid( 4,len-5).toInt( &ok );
185 if ( ok ) 185 if ( ok )
186 slotPlayBeep( val ); 186 slotPlayBeep( val );
187 187
188 } 188 }
189 if ( line.left(4 ) == "CUTE" ) { 189 if ( line.left(4 ) == "CUTE" ) {
190 mCustomText = line.mid( 5,len-6); 190 mCustomText = line.mid( 5,len-6);
191 // qDebug("text ***%s*** ",mCustomText.latin1() ); 191 // qDebug("text ***%s*** ",mCustomText.latin1() );
192 192
193 } 193 }
194 if ( line.left(4 ) == "CUMI" ) { 194 if ( line.left(4 ) == "CUMI" ) {
195 val = line.mid( 4,len-5).toInt( &ok ); 195 val = line.mid( 4,len-5).toInt( &ok );
196 if ( ok ) 196 if ( ok )
197 mCustomMinutes = val; 197 mCustomMinutes = val;
198 198
199 } 199 }
200 if ( line.left(4 ) == "SUTI" ) { 200 if ( line.left(4 ) == "SUTI" ) {
201 val = line.mid( 4,len-5).toInt( &ok ); 201 val = line.mid( 4,len-5).toInt( &ok );
202 if ( ok ) 202 if ( ok )
203 mAlarmDialog->setSuspendTime( val );; 203 mAlarmDialog->setSuspendTime( val );;
204 204
205 } 205 }
206 } 206 }
207 file.close(); 207 file.close();
208 } else { 208 } else {
209 if (!file.open( IO_WriteOnly ) ) { 209 if (!file.open( IO_WriteOnly ) ) {
210 return; 210 return;
211 } 211 }
212 QString configString ; 212 QString configString ;
213 configString += "PPAU " + QString::number( mPausePlay ) + "\n"; 213 configString += "PPAU " + QString::number( mPausePlay ) + "\n";
214 configString += "SUCO " + QString::number( mSuspend ) + "\n"; 214 configString += "SUCO " + QString::number( mSuspend ) + "\n";
215 configString += "WAAL " + QString::number( wavAlarm ) + "\n"; 215 configString += "WAAL " + QString::number( wavAlarm ) + "\n";
216 configString += "PLBE " + QString::number( mPlayBeeps ) + "\n"; 216 configString += "PLBE " + QString::number( mPlayBeeps ) + "\n";
217 configString += "CUTE " + mCustomText + "\n"; 217 configString += "CUTE " + mCustomText + "\n";
218 configString += "CUMI " + QString::number( mCustomMinutes ) + "\n"; 218 configString += "CUMI " + QString::number( mCustomMinutes ) + "\n";
219 configString += "SUTI " + QString::number( mAlarmDialog->getSuspendTime( )) + "\n"; 219 configString += "SUTI " + QString::number( mAlarmDialog->getSuspendTime( )) + "\n";
220 QTextStream ts( &file ); 220 QTextStream ts( &file );
221 ts << configString ; 221 ts << configString ;
222 file.close(); 222 file.close();
223 } 223 }
224 224
225} 225}
226void SimpleAlarmDaemonImpl::confSuspend( int num ) 226void SimpleAlarmDaemonImpl::confSuspend( int num )
227{ 227{
228 mSuspendPopUp->setItemChecked ( mSuspend,false ); 228 mSuspendPopUp->setItemChecked ( mSuspend,false );
229 mSuspend = num; 229 mSuspend = num;
230 mSuspendPopUp->setItemChecked ( mSuspend,true ); 230 mSuspendPopUp->setItemChecked ( mSuspend,true );
231} 231}
232void SimpleAlarmDaemonImpl::confPause( int num ) 232void SimpleAlarmDaemonImpl::confPause( int num )
233{ 233{
234 mPausePopUp->setItemChecked ( mPausePlay,false ); 234 mPausePopUp->setItemChecked ( mPausePlay,false );
235 mPausePlay = num; 235 mPausePlay = num;
236 mPausePopUp->setItemChecked ( mPausePlay,true ); 236 mPausePopUp->setItemChecked ( mPausePlay,true );
237} 237}
238void SimpleAlarmDaemonImpl::confSound( int num ) 238void SimpleAlarmDaemonImpl::confSound( int num )
239{ 239{
240 if ( num == 0 ) { 240 if ( num == 0 ) {
241 wavAlarm = false; 241 wavAlarm = false;
242 mSoundPopUp->setItemChecked ( 0, true ); 242 mSoundPopUp->setItemChecked ( 0, true );
243 mSoundPopUp->setItemChecked ( 1, false ); 243 mSoundPopUp->setItemChecked ( 1, false );
244 } else { 244 } else {
245 wavAlarm = true; 245 wavAlarm = true;
246 mSoundPopUp->setItemChecked ( 0, false ); 246 mSoundPopUp->setItemChecked ( 0, false );
247 mSoundPopUp->setItemChecked ( 1, true ); 247 mSoundPopUp->setItemChecked ( 1, true );
248 } 248 }
249} 249}
250void SimpleAlarmDaemonImpl::slotPlayBeep( int num ) 250void SimpleAlarmDaemonImpl::slotPlayBeep( int num )
251{ 251{
252 mBeepPopUp->setItemChecked ( mPlayBeeps,false ); 252 mBeepPopUp->setItemChecked ( mPlayBeeps,false );
253 mPlayBeeps = num; 253 mPlayBeeps = num;
254 mBeepPopUp->setItemChecked ( mPlayBeeps, true ); 254 mBeepPopUp->setItemChecked ( mPlayBeeps, true );
255} 255}
256 256
257void SimpleAlarmDaemonImpl::recieve( const QCString& msg, const QByteArray& ) 257void SimpleAlarmDaemonImpl::recieve( const QCString& msg, const QByteArray& )
258{ 258{
259 //qDebug("SimpleAlarmDaemonImpl::ALARM RECEIVED! %s", msg.data()); 259 //qDebug("SimpleAlarmDaemonImpl::ALARM RECEIVED! %s", msg.data());
260 QString mess = msg; 260 QString mess = msg;
261 mAlarmMessage = mess.mid( 9 ); 261 mAlarmMessage = mess.mid( 9 );
262 QString filename = getenv("QPEDIR") ; 262 QString filename = getenv("QPEDIR") ;
263 filename += "/pics/kdepim/korganizer/koalarm.wav"; 263 filename += "/pics/kdepim/korganizer/koalarm.wav";
264 QString tempfilename; 264 QString tempfilename;
265 if ( mess.left( 13 ) == "suspend_alarm") { 265 if ( mess.left( 13 ) == "suspend_alarm") {
266 bool error = false; 266 bool error = false;
267 int len = mess.mid( 13 ).find("+++"); 267 int len = mess.mid( 13 ).find("+++");
268 if ( len < 2 ) 268 if ( len < 2 )
269 error = true; 269 error = true;
270 else { 270 else {
271 tempfilename = mess.mid( 13, len ); 271 tempfilename = mess.mid( 13, len );
272 if ( !QFile::exists( tempfilename ) ) 272 if ( !QFile::exists( tempfilename ) )
273 error = true; 273 error = true;
274 } 274 }
275 if ( ! error ) { 275 if ( ! error ) {
276 filename = tempfilename; 276 filename = tempfilename;
277 } 277 }
278 mAlarmMessage = mess.mid( 13+len+3 ); 278 mAlarmMessage = mess.mid( 13+len+3 );
279 //qDebug("suspend file %s ",tempfilename.latin1() ); 279 //qDebug("suspend file %s ",tempfilename.latin1() );
280 startAlarm( mAlarmMessage, filename); 280 startAlarm( mAlarmMessage, filename);
281 return; 281 return;
282 } 282 }
283 if ( mess.left( 11 ) == "timer_alarm") { 283 if ( mess.left( 11 ) == "timer_alarm") {
284 mTimerTime = 0; 284 mTimerTime = 0;
285 startAlarm( mess.mid( 11 ), filename ); 285 startAlarm( mess.mid( 11 ), filename );
286 return; 286 return;
287 } 287 }
288 if ( mess.left( 10 ) == "proc_alarm") { 288 if ( mess.left( 10 ) == "proc_alarm") {
289 bool error = false; 289 bool error = false;
290 int len = mess.mid( 10 ).find("+++"); 290 int len = mess.mid( 10 ).find("+++");
291 if ( len < 2 ) 291 if ( len < 2 )
292 error = true; 292 error = true;
293 else { 293 else {
294 tempfilename = mess.mid( 10, len ); 294 tempfilename = mess.mid( 10, len );
295 if ( !QFile::exists( tempfilename ) ) 295 if ( !QFile::exists( tempfilename ) )
296 error = true; 296 error = true;
297 } 297 }
298 if ( error ) { 298 if ( error ) {
299 mAlarmMessage = "Procedure Alarm\nError - File not found\n"; 299 mAlarmMessage = "Procedure Alarm\nError - File not found\n";
300 mAlarmMessage += mess.mid( 10+len+3+9 ); 300 mAlarmMessage += mess.mid( 10+len+3+9 );
301 } else { 301 } else {
302 QCopEnvelope e("QPE/Application/kopi", "-writeFileSilent"); 302 QCopEnvelope e("QPE/Application/kopi", "-writeFileSilent");
303 //qDebug("-----system command %s ",tempfilename.latin1() ); 303 //qDebug("-----system command %s ",tempfilename.latin1() );
304 if ( vfork () == 0 ) { 304 if ( vfork () == 0 ) {
305 execl ( tempfilename.latin1(), 0 ); 305 execl ( tempfilename.latin1(), 0 );
306 return; 306 return;
307 } 307 }
308 return; 308 return;
309 } 309 }
310 310
311 //qDebug("+++++++system command %s ",tempfilename.latin1() ); 311 //qDebug("+++++++system command %s ",tempfilename.latin1() );
312 } 312 }
313 if ( mess.left( 11 ) == "audio_alarm") { 313 if ( mess.left( 11 ) == "audio_alarm") {
314 bool error = false; 314 bool error = false;
315 int len = mess.mid( 11 ).find("+++"); 315 int len = mess.mid( 11 ).find("+++");
316 if ( len < 2 ) 316 if ( len < 2 )
317 error = true; 317 error = true;
318 else { 318 else {
319 tempfilename = mess.mid( 11, len ); 319 tempfilename = mess.mid( 11, len );
320 if ( !QFile::exists( tempfilename ) ) 320 if ( !QFile::exists( tempfilename ) )
321 error = true; 321 error = true;
322 } 322 }
323 if ( ! error ) { 323 if ( ! error ) {
324 filename = tempfilename; 324 filename = tempfilename;
325 } 325 }
326 mAlarmMessage = mess.mid( 11+len+3+9 ); 326 mAlarmMessage = mess.mid( 11+len+3+9 );
327 //qDebug("audio file command %s ",tempfilename.latin1() ); 327 //qDebug("audio file command %s ",tempfilename.latin1() );
328 } 328 }
329 if ( mess.left( 9 ) == "cal_alarm") { 329 if ( mess.left( 9 ) == "cal_alarm") {
330 mAlarmMessage = mess.mid( 9 ) ; 330 mAlarmMessage = mess.mid( 9 ) ;
331 } 331 }
332 332
333 writeFile(); 333 writeFile();
334 startAlarm( mAlarmMessage, filename ); 334 startAlarm( mAlarmMessage, filename );
335 335
336} 336}
337 337
338int SimpleAlarmDaemonImpl::getFileNameLen( QString mess ) 338int SimpleAlarmDaemonImpl::getFileNameLen( QString mess )
339{ 339{
340 return 0; 340 return 0;
341} 341}
342void SimpleAlarmDaemonImpl::startAlarm( QString mess, QString filename ) 342void SimpleAlarmDaemonImpl::startAlarm( QString mess, QString filename )
343{ 343{
344 //mAlarmDialog->show(); 344 //mAlarmDialog->show();
345 //mAlarmDialog->raise(); 345 //mAlarmDialog->raise();
346 mAlarmDialog->eventNotification( mess, mPlayBeeps, filename, wavAlarm,mPausePlay ,mSuspend ); 346 mAlarmDialog->eventNotification( mess, mPlayBeeps, filename, wavAlarm,mPausePlay ,mSuspend );
347} 347}
348 348
349 349
350void SimpleAlarmDaemonImpl::fillTimerPopUp() 350void SimpleAlarmDaemonImpl::fillTimerPopUp()
351{ 351{
352 352
353 // qDebug(" timer %d %d ",mTimerPopupConf, mTimerTime ); 353 // qDebug(" timer %d %d ",mTimerPopupConf, mTimerTime );
354 if ( mTimerPopupConf == mTimerTime ) { 354 if ( mTimerPopupConf == mTimerTime ) {
355 if ( mTimerTime ) { 355 if ( mTimerTime ) {
356 int secs = QDateTime::currentDateTime().secsTo ( mRunningTimer ); 356 int secs = QDateTime::currentDateTime().secsTo ( mRunningTimer );
357 QTime t ( secs/3600, (secs/60)%60, secs%60 ); 357 QTime t ( secs/3600, (secs/60)%60, secs%60 );
358 mTimerPopUp->changeItem ( 1 , t.toString()); 358 mTimerPopUp->changeItem ( 1 , t.toString());
359 } 359 }
360 else { 360 else {
361 QString text = mCustomText.stripWhiteSpace (); 361 QString text = mCustomText.stripWhiteSpace ();
362 int in = text.find( " " ); 362 int in = text.find( " " );
363 text = text.left ( in ); 363 text = text.left ( in );
364 mTimerPopUp->changeItem ( 3, text ); 364 mTimerPopUp->changeItem ( 3, text );
365 } 365 }
366 return; 366 return;
367 } 367 }
368 mTimerPopupConf = mTimerTime; 368 mTimerPopupConf = mTimerTime;
369 mTimerPopUp->clear(); 369 mTimerPopUp->clear();
370 if ( mTimerTime ) { 370 if ( mTimerTime ) {
371 int secs = QDateTime::currentDateTime().secsTo ( mRunningTimer ); 371 int secs = QDateTime::currentDateTime().secsTo ( mRunningTimer );
372 QTime t ( secs/3600, (secs/60)%60, secs%60 ); 372 QTime t ( secs/3600, (secs/60)%60, secs%60 );
373 mTimerPopUp->insertItem( "Stop", 0 ); 373 mTimerPopUp->insertItem( "Stop", 0 );
374 mTimerPopUp->insertItem( t.toString(),1); 374 mTimerPopUp->insertItem( t.toString(),1);
375 } else { 375 } else {
376 376
377 QString fileName = QDir::homeDirPath() +"/.kopialarmtimerrc"; 377 QString fileName = QDir::homeDirPath() +"/.kopialarmtimerrc";
378 QFile file( fileName ); 378 QFile file( fileName );
379 if( !QFile::exists( fileName) ) { 379 if( !QFile::exists( fileName) ) {
380 // write defaults 380 // write defaults
381 if (!file.open( IO_WriteOnly ) ) { 381 if (!file.open( IO_WriteOnly ) ) {
382 return; 382 return;
383 } 383 }
384 QString configString ; 384 QString configString ;
385 configString += "#config file for kopi alarm timer\n"; 385 configString += "#config file for kopi alarm timer\n";
386 configString += "#format: <Text for popup menu>;<timer countdown in minutes>\n"; 386 configString += "#format: <Text for popup menu>;<timer countdown in minutes>\n";
387 configString += "#NOTE: minimum value for timer are 3 minutes!\n"; 387 configString += "#NOTE: minimum value for timer are 3 minutes!\n";
388 configString += "24 h; 1440\n"; 388 configString += "24 h; 1440\n";
389 configString += " 8 h; 480\n"; 389 configString += " 8 h; 480\n";
390 configString += " 5 h; 300\n"; 390 configString += " 5 h; 300\n";
391 configString += " 1 h; 60\n"; 391 configString += " 1 h; 60\n";
392 configString += "30 min; 30\n"; 392 configString += "30 min; 30\n";
393 configString += "15 min; 15\n"; 393 configString += "15 min; 15\n";
394 configString += "SEPARATOR\n"; 394 configString += "SEPARATOR\n";
395 configString += "Pizza; 22\n"; 395 configString += "Pizza; 22\n";
396 configString += "Nap; 45\n"; 396 configString += "Nap; 45\n";
397 configString += "Tea; 5\n"; 397 configString += "Tea; 5\n";
398 QTextStream ts( &file ); 398 QTextStream ts( &file );
399 ts << configString ; 399 ts << configString ;
400 file.close(); 400 file.close();
401 } 401 }
402 402
403 if (!file.open( IO_ReadOnly ) ) { 403 if (!file.open( IO_ReadOnly ) ) {
404 return ; 404 return ;
405 } 405 }
406 QString line; 406 QString line;
407 bool ok; 407 bool ok;
408 while ( file.readLine( line, 1024 ) > 0 ) { 408 while ( file.readLine( line, 1024 ) > 0 ) {
409 //qDebug("read %s ", line.latin1()); 409 //qDebug("read %s ", line.latin1());
410 if ( line.left(1 ) != "#" ) { 410 if ( line.left(1 ) != "#" ) {
411 // no comment 411 // no comment
412 if ( line.left(9 ) == "SEPARATOR" ) { 412 if ( line.left(9 ) == "SEPARATOR" ) {
413 mTimerPopUp->insertSeparator(); 413 mTimerPopUp->insertSeparator();
414 } else { 414 } else {
415 QStringList li = QStringList::split(";",line); 415 QStringList li = QStringList::split(";",line);
416 ok = false; 416 ok = false;
417 if ( li.count() == 2 ) { 417 if ( li.count() == 2 ) {
418 int val = li[1].toInt( &ok ); 418 int val = li[1].toInt( &ok );
419 if ( ok && val > 2 ) { 419 if ( ok && val > 2 ) {
420 mTimerPopUp->insertItem( li[0], val); 420 mTimerPopUp->insertItem( li[0], val);
421 } 421 }
422 } 422 }
423 } 423 }
424 } 424 }
425 } 425 }
426 file.close(); 426 file.close();
427#if 0 427#if 0
428 mTimerPopUp->insertItem( "24 h", 1440 ); 428 mTimerPopUp->insertItem( "24 h", 1440 );
429 // mTimerPopUp->insertItem( i18n("12 h"), 720 ); 429 // mTimerPopUp->insertItem( i18n("12 h"), 720 );
430 mTimerPopUp->insertItem( " 8 h", 480 ); 430 mTimerPopUp->insertItem( " 8 h", 480 );
431 mTimerPopUp->insertItem( " 5 h", 300 ); 431 mTimerPopUp->insertItem( " 5 h", 300 );
432 // mTimerPopUp->insertItem( i18n(" 2 h"), 120 ); 432 // mTimerPopUp->insertItem( i18n(" 2 h"), 120 );
433 mTimerPopUp->insertItem( " 1 h", 60 ); 433 mTimerPopUp->insertItem( " 1 h", 60 );
434 mTimerPopUp->insertItem( "30 min", 30 ); 434 mTimerPopUp->insertItem( "30 min", 30 );
435 mTimerPopUp->insertItem( "15 min", 15 ); 435 mTimerPopUp->insertItem( "15 min", 15 );
436 mTimerPopUp->insertItem( "10 min", 10 ); 436 mTimerPopUp->insertItem( "10 min", 10 );
437 //mTimerPopUp->insertItem( " 5 min", 5 ); 437 //mTimerPopUp->insertItem( " 5 min", 5 );
438 mTimerPopUp->insertSeparator(); 438 mTimerPopUp->insertSeparator();
439 mTimerPopUp->insertItem( "Pizza", 22 ); 439 mTimerPopUp->insertItem( "Pizza", 22 );
440 mTimerPopUp->insertItem( "Nap", 45 ); 440 mTimerPopUp->insertItem( "Nap", 45 );
441 mTimerPopUp->insertItem( "Tea", 5 ); 441 mTimerPopUp->insertItem( "Tea", 5 );
442#endif 442#endif
443 QString text = mCustomText.stripWhiteSpace (); 443 QString text = mCustomText.stripWhiteSpace ();
444 int in = text.find( " " ); 444 int in = text.find( " " );
445 text = text.left ( in ); 445 text = text.left ( in );
446 mTimerPopUp->insertItem( text, 3 ); 446 mTimerPopUp->insertItem( text, 3 );
447 mTimerPopUp->insertSeparator(); 447 mTimerPopUp->insertSeparator();
448 mTimerPopUp->insertItem( "Customize", 2 ); 448 mTimerPopUp->insertItem( "Customize", 2 );
449 } 449 }
450 450
451} 451}
452 452
453void SimpleAlarmDaemonImpl::showTimer() 453void SimpleAlarmDaemonImpl::showTimer()
454{ 454{
455 fillTimerPopUp(); 455 fillTimerPopUp();
456} 456}
457 457
458void SimpleAlarmDaemonImpl::confTimer( int time ) 458void SimpleAlarmDaemonImpl::confTimer( int time )
459{ 459{
460 //qDebug("impleAlarmDaemonImpl::confTimer() %d ", time ); 460 //qDebug("impleAlarmDaemonImpl::confTimer() %d ", time );
461 int minutes = time; 461 int minutes = time;
462 if ( minutes == 0 ) { 462 if ( minutes == 0 ) {
463 if ( ! mTimerTime ) 463 if ( ! mTimerTime )
464 return; 464 return;
465 465
466 QDialog dia ( 0, ("Stop Timer" ), true ); 466 QDialog dia ( 0, ("Stop Timer" ), true );
467 QLabel lab (("Really stop the timer?"), &dia ); 467 QLabel lab (("Really stop the timer?"), &dia );
468 dia.setCaption(("KO/Pi Timer Stop" )); 468 dia.setCaption(("KO/Pi Timer Stop" ));
469 QVBoxLayout lay( &dia ); 469 QVBoxLayout lay( &dia );
470 lay.setMargin(5); 470 lay.setMargin(5);
471 lay.setSpacing(5); 471 lay.setSpacing(5);
472 lay.addWidget( &lab); 472 lay.addWidget( &lab);
473 dia.resize( 200, dia.sizeHint().height() ); 473 dia.resize( 200, dia.sizeHint().height() );
474 474
475 if ( !dia.exec() ) 475 if ( !dia.exec() )
476 return; 476 return;
477 477
478 AlarmServer::deleteAlarm ( mRunningTimer,"koalarm" , timerMesssage.latin1() ); 478 AlarmServer::deleteAlarm ( mRunningTimer,"koalarm" , timerMesssage.latin1() );
479 mTimerTime = 0; 479 mTimerTime = 0;
480 return; 480 return;
481 } 481 }
482 if ( mTimerTime ) 482 if ( mTimerTime )
483 return; 483 return;
484 if ( minutes == 1 ) { 484 if ( minutes == 1 ) {
485 return; 485 return;
486 } 486 }
487 QString mess = "timer_alarm"; 487 QString mess = "timer_alarm";
488 mess += ("Timer Alarm!\n"); 488 mess += ("Timer Alarm!\n");
489 if ( minutes == 22 ) 489 if ( minutes == 22 )
490 mess += ( "Pizza is ready"); 490 mess += ( "Pizza is ready");
491 else if ( minutes == 45 ) 491 else if ( minutes == 45 )
492 mess += ( "Please wake up!"); 492 mess += ( "Please wake up!");
493 else if ( minutes == 5 ) 493 else if ( minutes == 5 )
494 mess += ( "Tea is ready"); 494 mess += ( "Tea is ready");
495 else if ( minutes == 3 ) { 495 else if ( minutes == 3 ) {
496 mess += mCustomText; 496 mess += mCustomText;
497 minutes = mCustomMinutes ; 497 minutes = mCustomMinutes ;
498 } 498 }
499 else { 499 else {
500 if ( minutes == 2 ) { 500 if ( minutes == 2 ) {
501 // ask time 501 // ask time
502 QDialog dia ( 0, ("Customize Timer" ), true ); 502 QDialog dia ( 0, ("Customize Timer" ), true );
503 QLabel lab (("Message Text:"), &dia ); 503 QLabel lab (("Message Text:"), &dia );
504 dia.setCaption(("KO/Pi Timer" )); 504 dia.setCaption(("KO/Pi Timer" ));
505 QVBoxLayout lay( &dia ); 505 QVBoxLayout lay( &dia );
506 lay.setMargin(5); 506 lay.setMargin(5);
507 lay.setSpacing(5); 507 lay.setSpacing(5);
508 lay.addWidget( &lab); 508 lay.addWidget( &lab);
509 QLineEdit lEdit( mCustomText, &dia ); 509 QLineEdit lEdit( mCustomText, &dia );
510 lay.addWidget( &lEdit); 510 lay.addWidget( &lEdit);
511 QLabel lab2 (("Countdown time (1 min - 24 h):"), &dia ); 511 QLabel lab2 (("Countdown time (1 min - 24 h):"), &dia );
512 lay.addWidget( &lab2); 512 lay.addWidget( &lab2);
513 QHBox hbox ( &dia ); 513 QHBox hbox ( &dia );
514 QLabel lab3 (("h:"), &hbox ); 514 QLabel lab3 (("h:"), &hbox );
515 QSpinBox spinh( 0, 24, 1,& hbox ); 515 QSpinBox spinh( 0, 24, 1,& hbox );
516 QLabel lab4 ((" min:"), &hbox ); 516 QLabel lab4 ((" min:"), &hbox );
517 QSpinBox spinm( 0, 59, 1,&hbox ); 517 QSpinBox spinm( 0, 59, 1,&hbox );
518 spinh.setValue( mCustomMinutes/60 ); 518 spinh.setValue( mCustomMinutes/60 );
519 spinm.setValue( mCustomMinutes%60 ); 519 spinm.setValue( mCustomMinutes%60 );
520 lay.addWidget( &hbox); 520 lay.addWidget( &hbox);
521 dia.resize( dia.sizeHint().width(), dia.sizeHint().height() ); 521 dia.resize( dia.sizeHint().width(), dia.sizeHint().height() );
522 if ( !dia.exec() ) 522 if ( !dia.exec() )
523 return; 523 return;
524 mCustomText = lEdit.text(); 524 mCustomText = lEdit.text();
525 mCustomMinutes = spinh.value()*60+spinm.value(); 525 mCustomMinutes = spinh.value()*60+spinm.value();
526 if ( mCustomMinutes == 0 ) 526 if ( mCustomMinutes == 0 )
527 mCustomMinutes = 1; 527 mCustomMinutes = 1;
528 if ( mCustomMinutes > 1440 ) 528 if ( mCustomMinutes > 1440 )
529 mCustomMinutes = 1440; 529 mCustomMinutes = 1440;
530 mess += mCustomText; 530 mess += mCustomText;
531 minutes = mCustomMinutes; 531 minutes = mCustomMinutes;
532 } 532 }
533 else 533 else
534 mess+= QString::number ( minutes ) + ( " minutes are past!"); 534 mess+= QString::number ( minutes ) + ( " minutes are past!");
535 } 535 }
536 //minutes = 1; 536 //minutes = 1;
537 mRunningTimer = QDateTime::currentDateTime().addSecs( minutes * 60 ); 537 mRunningTimer = QDateTime::currentDateTime().addSecs( minutes * 60 );
538 timerMesssage = mess; 538 timerMesssage = mess;
539 AlarmServer::addAlarm ( mRunningTimer,"koalarm",timerMesssage.latin1()); 539 AlarmServer::addAlarm ( mRunningTimer,"koalarm",timerMesssage.latin1());
540 mTimerTime = 1; 540 mTimerTime = 1;
541} 541}
542 542
543void SimpleAlarmDaemonImpl::writeFile() 543void SimpleAlarmDaemonImpl::writeFile()
544{ 544{
545 QCopEnvelope e("QPE/Application/kopi", "-writeFile"); 545 QCopEnvelope e("QPE/Application/kopi", "-writeFile");
546} 546}
547void SimpleAlarmDaemonImpl::showWN() 547void SimpleAlarmDaemonImpl::showWN()
548{ 548{
549 QCopEnvelope e("QPE/Application/kopi", "-showWN"); 549 QCopEnvelope e("QPE/Application/kopi", "-showWN");
550} 550}
551void SimpleAlarmDaemonImpl::newTodo() 551void SimpleAlarmDaemonImpl::newTodo()
552{ 552{
553 QCopEnvelope e("QPE/Application/kopi", "-newTodo"); 553 QCopEnvelope e("QPE/Application/kopi", "-newTodo");
554} 554}
555 555
556void SimpleAlarmDaemonImpl::newEvent() 556void SimpleAlarmDaemonImpl::newEvent()
557{ 557{
558 QCopEnvelope e("QPE/Application/kopi", "-newEvent"); 558 QCopEnvelope e("QPE/Application/kopi", "-newEvent");
559 559
560} 560}
561void SimpleAlarmDaemonImpl::newMail() 561void SimpleAlarmDaemonImpl::newMail()
562{ 562{
563 QCopEnvelope e("QPE/Application/kmpi", "newMail()"); 563 QCopEnvelope e("QPE/Application/ompi", "newMail()");
564} 564}
565void SimpleAlarmDaemonImpl::showAdd() 565void SimpleAlarmDaemonImpl::showAdd()
566{ 566{
567 QCopEnvelope e("QPE/Application/kapi", " "); 567 QCopEnvelope e("QPE/Application/kapi", " ");
568} 568}
569void SimpleAlarmDaemonImpl::ringSync() 569void SimpleAlarmDaemonImpl::ringSync()
570{ 570{
571 QCopEnvelope e("QPE/Application/kopi", "-ringSync"); 571 QCopEnvelope e("QPE/Application/kopi", "-ringSync");
572 572
573} 573}
574void SimpleAlarmDaemonImpl::newCountdown() 574void SimpleAlarmDaemonImpl::newCountdown()
575{ 575{
576 //recieve("cal_alarm", 10 ); 576 //recieve("cal_alarm", 10 );
577} 577}
578void SimpleAlarmDaemonImpl::simulate() 578void SimpleAlarmDaemonImpl::simulate()
579{ 579{
580 writeFile(); 580 writeFile();
581 QString filename = getenv("QPEDIR") ; 581 QString filename = getenv("QPEDIR") ;
582 filename += "/pics/kdepim/korganizer/koalarm.wav"; 582 filename += "/pics/kdepim/korganizer/koalarm.wav";
583 startAlarm("Alarm simulation", filename ); 583 startAlarm("Alarm simulation", filename );
584} 584}
585void SimpleAlarmDaemonImpl::showKO() 585void SimpleAlarmDaemonImpl::showKO()
586{ 586{
587 QCopEnvelope e("QPE/Application/kopi", "-showKO"); 587 QCopEnvelope e("QPE/Application/kopi", "-showKO");
588 588
589} 589}
590void SimpleAlarmDaemonImpl::showTodo() 590void SimpleAlarmDaemonImpl::showTodo()
591{ 591{
592 QCopEnvelope e("QPE/Application/kopi", "-showTodo"); 592 QCopEnvelope e("QPE/Application/kopi", "-showTodo");
593 593
594} 594}
595void SimpleAlarmDaemonImpl::writeJournal() 595void SimpleAlarmDaemonImpl::writeJournal()
596{ 596{
597 QCopEnvelope e("QPE/Application/kopi", "-showJournal"); 597 QCopEnvelope e("QPE/Application/kopi", "-showJournal");
598 598
599} 599}
600 600
601void SimpleAlarmDaemonImpl::mousePressEvent( QMouseEvent * ) 601void SimpleAlarmDaemonImpl::mousePressEvent( QMouseEvent * )
602{ 602{
603 603
604 mPopUp->popup(mapToGlobal(QPoint (0, -mPopUp->height() ))); 604 mPopUp->popup(mapToGlobal(QPoint (0, -mPopUp->height() )));
605 605
606} 606}
607 607
diff --git a/kdepim.control b/kdepim.control
index 56f9460..b0355a2 100644
--- a/kdepim.control
+++ b/kdepim.control
@@ -1,14 +1,14 @@
1Files: bin/kopi bin/db2file bin/kapi apps/Pim/korganizer.desktop apps/Pim/kaddressbook.desktop pics/kdepim/* lib/libmicro* 1Files: bin/kopi bin/db2file bin/kapi apps/Pim/korganizer.desktop apps/Pim/kaddressbook.desktop pics/kdepim/* lib/libmicro*
2 2
3Priority: optional 3Priority: optional
4Section: qpe/pim 4Section: qpe/pim
5Maintainer: Lutz Rogowski <lutz@pi-sync.net> 5Maintainer: Lutz Rogowski <lutz@pi-sync.net>
6Architecture: arm 6Architecture: arm
7Version: 1.9.2a 7Version: 1.9.4
8License: GPL 8License: GPL
9Depends: 9Depends:
10Description: KOrganizer/Pi and Kaddressbook/Pi 10Description: KOrganizer/Pi and Kaddressbook/Pi
11 The embedded version of KOrganizer/Platform-independend, 11 The embedded version of KOrganizer/Platform-independend,
12 the KDE calendar and scheduling program 12 the KDE calendar and scheduling program
13 optimized for 640x480 and 320x240 resolution 13 optimized for 640x480 and 320x240 resolution
14 on Zaurus PDA 14 on Zaurus PDA
diff --git a/kmicrokdelibs.control b/kmicrokdelibs.control
index 173b639..d894176 100644
--- a/kmicrokdelibs.control
+++ b/kmicrokdelibs.control
@@ -1,14 +1,14 @@
1Files: bin/db2file lib/libmicro* 1Files: bin/db2file lib/libmicro* pics/kdepim/LICENCE.TXT
2 2
3Priority: optional 3Priority: optional
4Section: qpe/pim 4Section: qpe/pim
5Maintainer: Lutz Rogowski <lutz@pi-sync.net> 5Maintainer: Lutz Rogowski <lutz@pi-sync.net>
6Architecture: arm 6Architecture: arm
7Version: 1.9.4 7Version: 1.9.4
8License: GPL 8License: GPL
9Depends: 9Depends:
10Description: KOrganizer/Pi and Kaddressbook/Pi 10Description: KOrganizer/Pi and Kaddressbook/Pi
11 The embedded version of KOrganizer/Platform-independend, 11 The embedded version of KOrganizer/Platform-independend,
12 the KDE calendar and scheduling program 12 the KDE calendar and scheduling program
13 optimized for 640x480 and 320x240 resolution 13 optimized for 640x480 and 320x240 resolution
14 on Zaurus PDA 14 on Zaurus PDA
diff --git a/kmicromail/composemail.cpp b/kmicromail/composemail.cpp
index f7604ad..14feeee 100644
--- a/kmicromail/composemail.cpp
+++ b/kmicromail/composemail.cpp
@@ -1,459 +1,459 @@
1// CHANGED 2004-08-06 Lutz Rogowski 1// CHANGED 2004-08-06 Lutz Rogowski
2 2
3#include "composemail.h" 3#include "composemail.h"
4 4
5#include <libmailwrapper/smtpwrapper.h> 5#include <libmailwrapper/smtpwrapper.h>
6#include <libmailwrapper/storemail.h> 6#include <libmailwrapper/storemail.h>
7#include <libmailwrapper/abstractmail.h> 7#include <libmailwrapper/abstractmail.h>
8#include <libmailwrapper/mailtypes.h> 8#include <libmailwrapper/mailtypes.h>
9 9
10/* OPIE */ 10/* OPIE */
11//#include <opie2/ofiledialog.h> 11//#include <opie2/ofiledialog.h>
12//#include <opie2/odebug.h> 12//#include <opie2/odebug.h>
13#include <kfiledialog.h> 13#include <kfiledialog.h>
14//#include <qpe/resource.h> 14//#include <qpe/resource.h>
15#include <qpe/config.h> 15#include <qpe/config.h>
16#include <qpe/global.h> 16#include <qpe/global.h>
17//#include <qpe/contact.h> 17//#include <qpe/contact.h>
18 18
19 19
20#include <qcombobox.h> 20#include <qcombobox.h>
21#include <qcheckbox.h> 21#include <qcheckbox.h>
22#include <qtimer.h> 22#include <qtimer.h>
23#include <qmessagebox.h> 23#include <qmessagebox.h>
24#include <qpushbutton.h> 24#include <qpushbutton.h>
25#include <qmultilineedit.h> 25#include <qmultilineedit.h>
26#include <qlabel.h> 26#include <qlabel.h>
27#include <qtabwidget.h> 27#include <qtabwidget.h>
28#include <qlistview.h> 28#include <qlistview.h>
29#include <kabc/addresseedialog.h> 29#include <kabc/addresseedialog.h>
30#include <kabc/stdaddressbook.h> 30#include <kabc/stdaddressbook.h>
31#include <kabc/addressee.h> 31#include <kabc/addressee.h>
32#ifdef DESKTOP_VERSION 32#ifdef DESKTOP_VERSION
33#include <kabc/addresseedialog.h> 33#include <kabc/addresseedialog.h>
34#else //DESKTOP_VERSION 34#else //DESKTOP_VERSION
35#include <libkdepim/externalapphandler.h> 35#include <libkdepim/externalapphandler.h>
36#endif //DESKTOP_VERSION 36#endif //DESKTOP_VERSION
37 37
38 38
39//using namespace Opie::Core; 39//using namespace Opie::Core;
40//using namespace Opie::Ui; 40//using namespace Opie::Ui;
41ComposeMail::ComposeMail( Settings *s, QWidget *parent, const char *name, bool modal, WFlags flags ) 41ComposeMail::ComposeMail( Settings *s, QWidget *parent, const char *name, bool modal, WFlags flags )
42 : ComposeMailUI( parent, name, modal, flags ) 42 : ComposeMailUI( parent, name, modal, flags )
43{ 43{
44 44
45 mPickLineEdit = 0; 45 mPickLineEdit = 0;
46 connect(ExternalAppHandler::instance(), SIGNAL(receivedNameEmailUidListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&)), 46 connect(ExternalAppHandler::instance(), SIGNAL(receivedNameEmailUidListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&)),
47 this, SLOT(insertAttendees(const QString&, const QStringList&, const QStringList&, const QStringList&))); 47 this, SLOT(insertAttendees(const QString&, const QStringList&, const QStringList&, const QStringList&)));
48 settings = s; 48 settings = s;
49 m_replyid = ""; 49 m_replyid = "";
50 KConfig config( locateLocal("config", "kabcrc") ); 50 KConfig config( locateLocal("config", "kabcrc") );
51 config.setGroup( "General" ); 51 config.setGroup( "General" );
52 QString whoami_uid = config.readEntry( "WhoAmI" ); 52 QString whoami_uid = config.readEntry( "WhoAmI" );
53 if ( whoami_uid.isEmpty() ) { 53 if ( whoami_uid.isEmpty() ) {
54 QMessageBox::information( 0, tr( "Hint" ), 54 QMessageBox::information( 0, tr( "Hint" ),
55 tr( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ), 55 tr( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ),
56 tr( "Ok" ) ); 56 tr( "Ok" ) );
57 57
58 } else 58 } else
59 bool res = ExternalAppHandler::instance()->requestDetailsFromKAPI("", "sendbacklist", whoami_uid); 59 bool res = ExternalAppHandler::instance()->requestDetailsFromKAPI("", "sendbacklist", whoami_uid);
60#ifdef DESKTOP_VERSION 60#ifdef DESKTOP_VERSION
61 KABC::Addressee con = KABC::StdAddressBook::self()->whoAmI( ); 61 KABC::Addressee con = KABC::StdAddressBook::self()->whoAmI( );
62 QStringList mails = con.emails(); 62 QStringList mails = con.emails();
63 QString defmail = con.preferredEmail(); 63 QString defmail = con.preferredEmail();
64 if ( mails.count() == 0) 64 if ( mails.count() == 0)
65 QMessageBox::information( 0, tr( "Hint" ), 65 QMessageBox::information( 0, tr( "Hint" ),
66 tr( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ), 66 tr( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ),
67 tr( "Ok" ) ); 67 tr( "Ok" ) );
68 if (defmail.length()!=0) { 68 if (defmail.length()!=0) {
69 fromBox->insertItem(defmail); 69 fromBox->insertItem(defmail);
70 } 70 }
71 QStringList::ConstIterator sit = mails.begin(); 71 QStringList::ConstIterator sit = mails.begin();
72 for (;sit!=mails.end();++sit) { 72 for (;sit!=mails.end();++sit) {
73 if ( (*sit)==defmail) 73 if ( (*sit)==defmail)
74 continue; 74 continue;
75 fromBox->insertItem((*sit)); 75 fromBox->insertItem((*sit));
76 } 76 }
77 senderNameEdit->setText(con.formattedName()); 77 senderNameEdit->setText(con.formattedName());
78#endif 78#endif
79 Config cfg( "mail" ); 79 Config cfg( "mail" );
80 cfg.setGroup( "Compose" ); 80 cfg.setGroup( "Compose" );
81 checkBoxLater->setChecked( cfg.readBoolEntry( "sendLater", false ) ); 81 checkBoxLater->setChecked( cfg.readBoolEntry( "sendLater", false ) );
82 82
83 attList->addColumn( tr( "Name" ) ); 83 attList->addColumn( tr( "Name" ) );
84 attList->addColumn( tr( "Size" ) ); 84 attList->addColumn( tr( "Size" ) );
85 85
86 QList<Account> accounts = settings->getAccounts(); 86 QList<Account> accounts = settings->getAccounts();
87 87
88 Account *it; 88 Account *it;
89 for ( it = accounts.first(); it; it = accounts.next() ) { 89 for ( it = accounts.first(); it; it = accounts.next() ) {
90 if ( it->getType()==MAILLIB::A_SMTP ) { 90 if ( it->getType()==MAILLIB::A_SMTP ) {
91 SMTPaccount *smtp = static_cast<SMTPaccount *>(it); 91 SMTPaccount *smtp = static_cast<SMTPaccount *>(it);
92 smtpAccountBox->insertItem( smtp->getAccountName() ); 92 smtpAccountBox->insertItem( smtp->getAccountName() );
93 smtpAccounts.append( smtp ); 93 smtpAccounts.append( smtp );
94 } 94 }
95 } 95 }
96 if ( smtpAccounts.count() > 0 ) { 96 if ( smtpAccounts.count() > 0 ) {
97 fillValues( smtpAccountBox->currentItem() ); 97 fillValues( smtpAccountBox->currentItem() );
98 } else { 98 } else {
99 QMessageBox::information( 0, tr( "Problem" ), 99 QMessageBox::information( 0, tr( "Problem" ),
100 tr( "Please create an SMTP account first.\nThe SMTP is needed for sending mail.\n" ), 100 tr( "Please create an SMTP account first.\nThe SMTP is needed for sending mail.\n" ),
101 tr( "Ok" ) ); 101 tr( "Ok" ) );
102 return; 102 return;
103 } 103 }
104 connect( smtpAccountBox, SIGNAL( activated(int) ), SLOT( fillValues(int) ) ); 104 connect( smtpAccountBox, SIGNAL( activated(int) ), SLOT( fillValues(int) ) );
105 connect( toButton, SIGNAL( clicked() ), SLOT( pickAddressTo() ) ); 105 connect( toButton, SIGNAL( clicked() ), SLOT( pickAddressTo() ) );
106 connect( ccButton, SIGNAL( clicked() ), SLOT( pickAddressCC() ) ); 106 connect( ccButton, SIGNAL( clicked() ), SLOT( pickAddressCC() ) );
107 connect( bccButton, SIGNAL( clicked() ), SLOT( pickAddressBCC() ) ); 107 connect( bccButton, SIGNAL( clicked() ), SLOT( pickAddressBCC() ) );
108 connect( replyButton, SIGNAL( clicked() ), SLOT( pickAddressReply() ) ); 108 connect( replyButton, SIGNAL( clicked() ), SLOT( pickAddressReply() ) );
109 connect( addButton, SIGNAL( clicked() ), SLOT( addAttachment() ) ); 109 connect( addButton, SIGNAL( clicked() ), SLOT( addAttachment() ) );
110 connect( deleteButton, SIGNAL( clicked() ), SLOT( removeAttachment() ) ); 110 connect( deleteButton, SIGNAL( clicked() ), SLOT( removeAttachment() ) );
111 connect( SaveButton, SIGNAL( clicked() ), SLOT( saveAsDraft()) ); 111 connect( SaveButton, SIGNAL( clicked() ), SLOT( saveAsDraft()) );
112 mMail = 0; 112 mMail = 0;
113 warnAttach = true; 113 warnAttach = true;
114 114
115} 115}
116 116
117 117
118 118
119void ComposeMail::saveAsDraft() 119void ComposeMail::saveAsDraft()
120{ 120{
121 121
122 Opie::Core::OSmartPointer<Mail> mail= new Mail(); 122 Opie::Core::OSmartPointer<Mail> mail= new Mail();
123 mail->setMail(fromBox->currentText()); 123 mail->setMail(fromBox->currentText());
124 mail->setTo( toLine->text() ); 124 mail->setTo( toLine->text() );
125 mail->setName(senderNameEdit->text()); 125 mail->setName(senderNameEdit->text());
126 mail->setCC( ccLine->text() ); 126 mail->setCC( ccLine->text() );
127 mail->setBCC( bccLine->text() ); 127 mail->setBCC( bccLine->text() );
128 mail->setReply( replyLine->text() ); 128 mail->setReply( replyLine->text() );
129 mail->setSubject( subjectLine->text() ); 129 mail->setSubject( subjectLine->text() );
130 if (!m_replyid.isEmpty()) { 130 if (!m_replyid.isEmpty()) {
131 QStringList ids; 131 QStringList ids;
132 ids.append(m_replyid); 132 ids.append(m_replyid);
133 mail->setInreply(ids); 133 mail->setInreply(ids);
134 } 134 }
135 QString txt = message->text(); 135 QString txt = message->text();
136 if ( !sigMultiLine->text().isEmpty() ) { 136 if ( !sigMultiLine->text().isEmpty() ) {
137 txt.append( "\n--\n" ); 137 txt.append( "\n--\n" );
138 txt.append( sigMultiLine->text() ); 138 txt.append( sigMultiLine->text() );
139 } 139 }
140 mail->setMessage( txt ); 140 mail->setMessage( txt );
141 141
142 /* only use the default drafts folder name! */ 142 /* only use the default drafts folder name! */
143 Storemail wrapper(AbstractMail::draftFolder()); 143 Storemail wrapper(AbstractMail::draftFolder());
144 wrapper.storeMail(mail); 144 wrapper.storeMail(mail);
145 145
146 AttachViewItem *it = (AttachViewItem *) attList->firstChild(); 146 AttachViewItem *it = (AttachViewItem *) attList->firstChild();
147 /* attachments we will ignore! */ 147 /* attachments we will ignore! */
148 if ( it != 0 ) { 148 if ( it != 0 ) {
149 if ( warnAttach ) 149 if ( warnAttach )
150 QMessageBox::warning(0,tr("Store message"), 150 QMessageBox::warning(0,tr("Store message"),
151 tr("<center>Attachments will not be stored in \"Draft\" folder</center>")); 151 tr("<center>Attachments will not be stored in \"Draft\" folder</center>"));
152 warnAttach = false; 152 warnAttach = false;
153 } 153 }
154 setStatus( tr("Mail saved as draft!") ); 154 setStatus( tr("Mail saved as draft!") );
155} 155}
156void ComposeMail::clearStatus() 156void ComposeMail::clearStatus()
157{ 157{
158 topLevelWidget()->setCaption( tr("Compose mail") ); 158 topLevelWidget()->setCaption( tr("Compose mail") );
159} 159}
160void ComposeMail::setStatus( QString status ) 160void ComposeMail::setStatus( QString status )
161{ 161{
162 topLevelWidget()->setCaption( status ); 162 topLevelWidget()->setCaption( status );
163 QTimer::singleShot ( 10000, this, SLOT( clearStatus() ) ) ; 163 QTimer::singleShot ( 10000, this, SLOT( clearStatus() ) ) ;
164} 164}
165void ComposeMail::pickAddress( ) 165void ComposeMail::pickAddress( )
166{ 166{
167 167
168 QLineEdit *line = mPickLineEdit; 168 QLineEdit *line = mPickLineEdit;
169 if ( line == 0 ) 169 if ( line == 0 )
170 return; 170 return;
171#ifdef DESKTOP_VERSION 171#ifdef DESKTOP_VERSION
172 //qDebug(" ComposeMail::pickAddress "); 172 //qDebug(" ComposeMail::pickAddress ");
173 QString names ;//= AddressPicker::getNames(); 173 QString names ;//= AddressPicker::getNames();
174 174
175 KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this); 175 KABC::Addressee::List list = KABC::AddresseeDialog::getAddressees(this);
176 uint i=0; 176 uint i=0;
177 for (i=0; i < list.count(); i++) { 177 for (i=0; i < list.count(); i++) {
178 if ( !list[i].preferredEmail().isEmpty()) { 178 if ( !list[i].preferredEmail().isEmpty()) {
179 if ( ! names.isEmpty() ) 179 if ( ! names.isEmpty() )
180 names+= ","; 180 names+= ",";
181 names+= "\""+list[i].realName() +"\"<" +list[i].preferredEmail() +">"; 181 names+= "\""+list[i].realName() +"\"<" +list[i].preferredEmail() +">";
182 182
183 } 183 }
184 } 184 }
185 185
186 186
187 if ( line->text().isEmpty() ) { 187 if ( line->text().isEmpty() ) {
188 line->setText( names ); 188 line->setText( names );
189 } else if ( !names.isEmpty() ) { 189 } else if ( !names.isEmpty() ) {
190 line->setText( line->text() + ", " + names ); 190 line->setText( line->text() + ", " + names );
191 } 191 }
192#else 192#else
193 bool res = ExternalAppHandler::instance()->requestNameEmailUidListFromKAPI("QPE/Application/ompi", this->name() /* name is here the unique uid*/); 193 bool res = ExternalAppHandler::instance()->requestNameEmailUidListFromKAPI("QPE/Application/ompi", this->name() /* name is here the unique uid*/);
194 // the result should now arrive through method insertAttendees 194 // the result should now arrive through method insertAttendees
195#endif 195#endif
196} 196}
197//the map includes name/email pairs, that comes from Ka/Pi 197//the map includes name/email pairs, that comes from Ka/Pi
198void ComposeMail::insertAttendees(const QString& uid,const QStringList& nameList,const QStringList& emailList,const QStringList& uidList) 198void ComposeMail::insertAttendees(const QString& uid,const QStringList& nameList,const QStringList& emailList,const QStringList& uidList)
199{ 199{
200 qDebug("ComposeMail::insertAttendees "); 200 qDebug("ComposeMail::insertAttendees ");
201 raise(); 201 raise();
202 202
203 if ( mPickLineEdit == 0 ) { //whoami received 203 if ( mPickLineEdit == 0 ) { //whoami received
204 204 qDebug("returnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ");
205 QString defmail = uidList[0]; 205 QString defmail = uidList[0];
206 if ( emailList.count() == 0 ) 206 if ( emailList.count() == 0 )
207 QMessageBox::information( 0, tr( "Hint" ), 207 QMessageBox::information( 0, tr( "Hint" ),
208 tr( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ), 208 tr( "Please apply\n\"Set Who Am I\"\nin KA/Pi to get the from\nfield automatically filled out!\n" ),
209 tr( "Ok" ) ); 209 tr( "Ok" ) );
210 if (defmail.length()!=0) { 210 if (defmail.length()!=0) {
211 fromBox->insertItem(defmail); 211 fromBox->insertItem(defmail);
212 } 212 }
213 QStringList::ConstIterator sit = emailList.begin(); 213 QStringList::ConstIterator sit = emailList.begin();
214 int pref = 0; 214 int pref = 0;
215 for (;sit!=emailList.end();++sit) { 215 for (;sit!=emailList.end();++sit) {
216 if ( (*sit)==defmail) 216 if ( (*sit)==defmail)
217 continue; 217 continue;
218 fromBox->insertItem((*sit)); 218 fromBox->insertItem((*sit));
219 } 219 }
220 senderNameEdit->setText(nameList[0]); 220 senderNameEdit->setText(nameList[0]);
221 return; 221 return;
222 } 222 }
223 QString names ; 223 QString names ;
224 QLineEdit *line = mPickLineEdit; 224 QLineEdit *line = mPickLineEdit;
225 if (uid == this->name()) 225 if (uid == this->name())
226 { 226 {
227 for ( int i = 0; i < nameList.count(); i++) 227 for ( int i = 0; i < nameList.count(); i++)
228 { 228 {
229 QString _name = nameList[i]; 229 QString _name = nameList[i];
230 QString _email = emailList[i]; 230 QString _email = emailList[i];
231 QString _uid = uidList[i]; 231 QString _uid = uidList[i];
232 if ( ! _email.isEmpty() ) { 232 if ( ! _email.isEmpty() ) {
233 if ( ! names.isEmpty() ) 233 if ( ! names.isEmpty() )
234 names+= ","; 234 names+= ",";
235 names+= "\""+_name +"\"<" +_email +">"; 235 names+= "\""+_name +"\"<" +_email +">";
236 } 236 }
237 } 237 }
238 } 238 }
239 if ( line->text().isEmpty() ) { 239 if ( line->text().isEmpty() ) {
240 line->setText( names ); 240 line->setText( names );
241 } else if ( !names.isEmpty() ) { 241 } else if ( !names.isEmpty() ) {
242 line->setText( line->text() + ", " + names ); 242 line->setText( line->text() + ", " + names );
243 } 243 }
244} 244}
245 245
246void ComposeMail::setTo( const QString & to ) 246void ComposeMail::setTo( const QString & to )
247{ 247{
248 toLine->setText( to ); 248 toLine->setText( to );
249} 249}
250 250
251void ComposeMail::setSubject( const QString & subject ) 251void ComposeMail::setSubject( const QString & subject )
252{ 252{
253 subjectLine->setText( subject ); 253 subjectLine->setText( subject );
254} 254}
255 255
256void ComposeMail::setInReplyTo( const QString & messageId ) 256void ComposeMail::setInReplyTo( const QString & messageId )
257{ 257{
258 m_replyid = messageId; 258 m_replyid = messageId;
259} 259}
260 260
261void ComposeMail::setMessage( const QString & text ) 261void ComposeMail::setMessage( const QString & text )
262{ 262{
263 message->setText( text ); 263 message->setText( text );
264} 264}
265 265
266 266
267void ComposeMail::pickAddressTo() 267void ComposeMail::pickAddressTo()
268{ 268{
269 mPickLineEdit = toLine; 269 mPickLineEdit = toLine;
270 pickAddress( ); 270 pickAddress( );
271} 271}
272 272
273void ComposeMail::pickAddressCC() 273void ComposeMail::pickAddressCC()
274{ 274{
275 mPickLineEdit = ccLine; 275 mPickLineEdit = ccLine;
276 pickAddress( ); 276 pickAddress( );
277} 277}
278 278
279void ComposeMail::pickAddressBCC() 279void ComposeMail::pickAddressBCC()
280{ 280{
281 mPickLineEdit = bccLine; 281 mPickLineEdit = bccLine;
282 pickAddress( ); 282 pickAddress( );
283} 283}
284 284
285void ComposeMail::pickAddressReply() 285void ComposeMail::pickAddressReply()
286{ 286{
287 mPickLineEdit = replyLine; 287 mPickLineEdit = replyLine;
288 pickAddress( ); 288 pickAddress( );
289} 289}
290 290
291void ComposeMail::fillValues( int ) 291void ComposeMail::fillValues( int )
292{ 292{
293#if 0 293#if 0
294 SMTPaccount *smtp = smtpAccounts.at( current ); 294 SMTPaccount *smtp = smtpAccounts.at( current );
295 ccLine->clear(); 295 ccLine->clear();
296 if ( smtp->getUseCC() ) { 296 if ( smtp->getUseCC() ) {
297 ccLine->setText( smtp->getCC() ); 297 ccLine->setText( smtp->getCC() );
298 } 298 }
299 bccLine->clear(); 299 bccLine->clear();
300 if ( smtp->getUseBCC() ) { 300 if ( smtp->getUseBCC() ) {
301 bccLine->setText( smtp->getBCC() ); 301 bccLine->setText( smtp->getBCC() );
302 } 302 }
303 replyLine->clear(); 303 replyLine->clear();
304 if ( smtp->getUseReply() ) { 304 if ( smtp->getUseReply() ) {
305 replyLine->setText( smtp->getReply() ); 305 replyLine->setText( smtp->getReply() );
306 } 306 }
307 sigMultiLine->setText( smtp->getSignature() ); 307 sigMultiLine->setText( smtp->getSignature() );
308#endif 308#endif
309} 309}
310 310
311void ComposeMail::slotAdjustColumns() 311void ComposeMail::slotAdjustColumns()
312{ 312{
313 int currPage = tabWidget->currentPageIndex(); 313 int currPage = tabWidget->currentPageIndex();
314 314
315 tabWidget->showPage( attachTab ); 315 tabWidget->showPage( attachTab );
316 attList->setColumnWidth( 0, attList->visibleWidth() - 80 ); 316 attList->setColumnWidth( 0, attList->visibleWidth() - 80 );
317 attList->setColumnWidth( 1, 80 ); 317 attList->setColumnWidth( 1, 80 );
318 318
319 tabWidget->setCurrentPage( currPage ); 319 tabWidget->setCurrentPage( currPage );
320} 320}
321 321
322void ComposeMail::addAttachment() 322void ComposeMail::addAttachment()
323{ 323{
324 QString lnk = KFileDialog::getOpenFileName( "", "Add Attachment", this ); 324 QString lnk = KFileDialog::getOpenFileName( "", "Add Attachment", this );
325 if ( !lnk.isEmpty() ) { 325 if ( !lnk.isEmpty() ) {
326 Attachment *att = new Attachment( lnk ); 326 Attachment *att = new Attachment( lnk );
327 (void) new AttachViewItem( attList, att ); 327 (void) new AttachViewItem( attList, att );
328 } 328 }
329} 329}
330 330
331void ComposeMail::removeAttachment() 331void ComposeMail::removeAttachment()
332{ 332{
333 if ( !attList->currentItem() ) { 333 if ( !attList->currentItem() ) {
334 QMessageBox::information( this, tr( "Error" ), 334 QMessageBox::information( this, tr( "Error" ),
335 tr( "<p>Please select a File.</p>" ), 335 tr( "<p>Please select a File.</p>" ),
336 tr( "Ok" ) ); 336 tr( "Ok" ) );
337 } else { 337 } else {
338 attList->takeItem( attList->currentItem() ); 338 attList->takeItem( attList->currentItem() );
339 } 339 }
340} 340}
341 341
342void ComposeMail::accept() 342void ComposeMail::accept()
343{ 343{
344 if ( smtpAccountBox->count() == 0 ) { 344 if ( smtpAccountBox->count() == 0 ) {
345 345
346 reject(); 346 reject();
347 return; 347 return;
348 } 348 }
349 349
350 if (! checkBoxLater->isChecked() ) { 350 if (! checkBoxLater->isChecked() ) {
351 int yesno = QMessageBox::warning(0,tr("Stop editing message"), 351 int yesno = QMessageBox::warning(0,tr("Stop editing message"),
352 tr("Send this message?"), 352 tr("Send this message?"),
353 tr("Yes"), 353 tr("Yes"),
354 tr("Cancel")); 354 tr("Cancel"));
355 355
356 if (yesno == 1) { 356 if (yesno == 1) {
357 return; 357 return;
358 } 358 }
359 } 359 }
360#if 0 360#if 0
361 odebug << "Sending Mail with " 361 odebug << "Sending Mail with "
362 << smtpAccounts.at( smtpAccountBox->currentItem() )->getAccountName() << oendl; 362 << smtpAccounts.at( smtpAccountBox->currentItem() )->getAccountName() << oendl;
363#endif 363#endif
364 Opie::Core::OSmartPointer<Mail> mail=new Mail; 364 Opie::Core::OSmartPointer<Mail> mail=new Mail;
365 365
366 SMTPaccount *smtp = smtpAccounts.at( smtpAccountBox->currentItem() ); 366 SMTPaccount *smtp = smtpAccounts.at( smtpAccountBox->currentItem() );
367 mail->setMail(fromBox->currentText()); 367 mail->setMail(fromBox->currentText());
368 368
369 if ( !toLine->text().isEmpty() ) { 369 if ( !toLine->text().isEmpty() ) {
370 mail->setTo( toLine->text() ); 370 mail->setTo( toLine->text() );
371 } else { 371 } else {
372 QMessageBox::warning(0,tr("Sending mail"), 372 QMessageBox::warning(0,tr("Sending mail"),
373 tr("No Receiver spezified" ) ); 373 tr("No Receiver spezified" ) );
374 return; 374 return;
375 } 375 }
376 376
377 mail->setName(senderNameEdit->text()); 377 mail->setName(senderNameEdit->text());
378 mail->setCC( ccLine->text() ); 378 mail->setCC( ccLine->text() );
379 mail->setBCC( bccLine->text() ); 379 mail->setBCC( bccLine->text() );
380 mail->setReply( replyLine->text() ); 380 mail->setReply( replyLine->text() );
381 mail->setSubject( subjectLine->text() ); 381 mail->setSubject( subjectLine->text() );
382 if (!m_replyid.isEmpty()) { 382 if (!m_replyid.isEmpty()) {
383 QStringList ids; 383 QStringList ids;
384 ids.append(m_replyid); 384 ids.append(m_replyid);
385 mail->setInreply(ids); 385 mail->setInreply(ids);
386 } 386 }
387 QString txt = message->text(); 387 QString txt = message->text();
388 if ( !sigMultiLine->text().isEmpty() ) { 388 if ( !sigMultiLine->text().isEmpty() ) {
389 txt.append( "\n--\n" ); 389 txt.append( "\n--\n" );
390 txt.append( sigMultiLine->text() ); 390 txt.append( sigMultiLine->text() );
391 } 391 }
392 mail->setMessage( txt ); 392 mail->setMessage( txt );
393 AttachViewItem *it = (AttachViewItem *) attList->firstChild(); 393 AttachViewItem *it = (AttachViewItem *) attList->firstChild();
394 while ( it != 0 ) { 394 while ( it != 0 ) {
395 mail->addAttachment( it->getAttachment() ); 395 mail->addAttachment( it->getAttachment() );
396 it = (AttachViewItem *) it->nextSibling(); 396 it = (AttachViewItem *) it->nextSibling();
397 } 397 }
398 398
399 SMTPwrapper wrapper( smtp ); 399 SMTPwrapper wrapper( smtp );
400 if ( wrapper.sendMail( mail,checkBoxLater->isChecked() ) ) 400 if ( wrapper.sendMail( mail,checkBoxLater->isChecked() ) )
401 setStatus( tr ("Mail sent")); 401 setStatus( tr ("Mail sent"));
402 else { 402 else {
403 setStatus( tr ("Error: Something went wrong. Nothing sent")); 403 setStatus( tr ("Error: Something went wrong. Nothing sent"));
404 return; 404 return;
405 } 405 }
406 406
407 407
408 QDialog::accept(); 408 QDialog::accept();
409} 409}
410 410
411void ComposeMail::reject() 411void ComposeMail::reject()
412{ 412{
413 //qDebug("ComposeMail::reject() "); 413 //qDebug("ComposeMail::reject() ");
414 int yesno = QMessageBox::warning(0,tr("Store message?"), 414 int yesno = QMessageBox::warning(0,tr("Store message?"),
415 tr("Store message into drafts?\n"), 415 tr("Store message into drafts?\n"),
416 tr("Yes"), 416 tr("Yes"),
417 tr("No")); 417 tr("No"));
418 418
419 //qDebug("button %d ", yesno); 419 //qDebug("button %d ", yesno);
420 if (yesno == 0) { 420 if (yesno == 0) {
421 if ( toLine->text().isEmpty() ) { 421 if ( toLine->text().isEmpty() ) {
422 QMessageBox::warning(0,tr("Sending mail"), 422 QMessageBox::warning(0,tr("Sending mail"),
423 tr("No Receiver spezified" ) ); 423 tr("No Receiver spezified" ) );
424 return; 424 return;
425 } 425 }
426 saveAsDraft(); 426 saveAsDraft();
427 } 427 }
428 if (yesno == 2) { 428 if (yesno == 2) {
429 qDebug("return "); 429 qDebug("return ");
430 return; 430 return;
431 } 431 }
432 QDialog::reject(); 432 QDialog::reject();
433} 433}
434 434
435ComposeMail::~ComposeMail() 435ComposeMail::~ComposeMail()
436{ 436{
437} 437}
438 438
439void ComposeMail::reEditMail(const RecMailP&current) 439void ComposeMail::reEditMail(const RecMailP&current)
440{ 440{
441 RecMailP data = current; 441 RecMailP data = current;
442 message->setText(data->Wrapper()->fetchBody(current)->Bodytext()); 442 message->setText(data->Wrapper()->fetchBody(current)->Bodytext());
443 subjectLine->setText( data->getSubject()); 443 subjectLine->setText( data->getSubject());
444 toLine->setText(data->To().join(",")); 444 toLine->setText(data->To().join(","));
445 ccLine->setText(data->CC().join(",")); 445 ccLine->setText(data->CC().join(","));
446 bccLine->setText(data->Bcc().join(",")); 446 bccLine->setText(data->Bcc().join(","));
447 replyLine->setText(data->Replyto()); 447 replyLine->setText(data->Replyto());
448} 448}
449 449
450AttachViewItem::AttachViewItem( QListView *parent, Attachment *att ) 450AttachViewItem::AttachViewItem( QListView *parent, Attachment *att )
451 : QListViewItem( parent ) 451 : QListViewItem( parent )
452{ 452{
453 attachment = att; 453 attachment = att;
454 if ( !attachment->getPixmap().isNull() ) 454 if ( !attachment->getPixmap().isNull() )
455 setPixmap( 0,attachment->getPixmap() ); 455 setPixmap( 0,attachment->getPixmap() );
456 setText( 0, att->getName().isEmpty() ? att->getFileName() : att->getName() ); 456 setText( 0, att->getName().isEmpty() ? att->getFileName() : att->getName() );
457 setText( 1, QString::number( att->getSize() ) ); 457 setText( 1, QString::number( att->getSize() ) );
458} 458}
459 459
diff --git a/kmicromail/main.cpp b/kmicromail/main.cpp
index a3e1b86..65de770 100644
--- a/kmicromail/main.cpp
+++ b/kmicromail/main.cpp
@@ -1,61 +1,61 @@
1// CHANGED 2004-08-06 Lutz Rogowski 1// CHANGED 2004-08-06 Lutz Rogowski
2 2
3 3
4#ifndef DESKTOP_VERSION 4#ifndef DESKTOP_VERSION
5#include <qpe/qpeapplication.h> 5#include <qpe/qpeapplication.h>
6#include <libkdepim/externalapphandler.h> 6#include <libkdepim/externalapphandler.h>
7#include <stdlib.h> 7#include <stdlib.h>
8#else 8#else
9#include <qapplication.h> 9#include <qapplication.h>
10#include <qstring.h> 10#include <qstring.h>
11#include <qwindowsstyle.h> 11#include <qwindowsstyle.h>
12#include <qplatinumstyle.h> 12#include <qplatinumstyle.h>
13#include <qsgistyle.h> 13#include <qsgistyle.h>
14#endif 14#endif
15#include "opiemail.h" 15#include "opiemail.h"
16#include <qdir.h> 16#include <qdir.h>
17#include <kstandarddirs.h> 17#include <kstandarddirs.h>
18#include <kglobal.h> 18#include <kglobal.h>
19#include <stdio.h> 19#include <stdio.h>
20#include "mainwindow.h" 20#include "mainwindow.h"
21 21
22using namespace Opie::Core; 22using namespace Opie::Core;
23int main( int argc, char **argv ) { 23int main( int argc, char **argv ) {
24 24
25#ifndef DESKTOP_VERSION 25#ifndef DESKTOP_VERSION
26 QPEApplication a( argc, argv ); 26 QPEApplication a( argc, argv );
27 a.setKeepRunning (); 27 a.setKeepRunning ();
28#else 28#else
29 QApplication a( argc, argv ); 29 QApplication a( argc, argv );
30 QApplication::setStyle( new QPlatinumStyle ()); 30 QApplication::setStyle( new QPlatinumStyle ());
31#endif 31#endif
32 32
33 KGlobal::setAppName( "kmicromail" ); 33 KGlobal::setAppName( "kmicromail" );
34 QString fileName ; 34 QString fileName ;
35#ifndef DESKTOP_VERSION 35#ifndef DESKTOP_VERSION
36 fileName = getenv("QPEDIR"); 36 fileName = getenv("QPEDIR");
37 if ( QApplication::desktop()->width() > 320 ) 37 if ( QApplication::desktop()->width() > 320 )
38 KGlobal::iconLoader()->setIconPath( fileName +"/pics/kdepim/kmicromail/icons22/"); 38 KGlobal::iconLoader()->setIconPath( fileName +"/pics/kdepim/kmicromail/icons22/");
39 else 39 else
40 KGlobal::iconLoader()->setIconPath( fileName +"/pics/kdepim/kmicromail/"); 40 KGlobal::iconLoader()->setIconPath( fileName +"/pics/kdepim/kmicromail/");
41#else 41#else
42 fileName = qApp->applicationDirPath () + "/kdepim/kmicromail/"; 42 fileName = qApp->applicationDirPath () + "/kdepim/kmicromail/";
43 KGlobal::iconLoader()->setIconPath(QDir::convertSeparators(fileName)); 43 KGlobal::iconLoader()->setIconPath(QDir::convertSeparators(fileName));
44#endif 44#endif
45 KStandardDirs::setAppDir( QDir::convertSeparators(locateLocal("data", "kmicromail"))); 45 KStandardDirs::setAppDir( QDir::convertSeparators(locateLocal("data", "kmicromail")));
46 OpieMail mw; 46 OpieMail mw;
47#ifndef DESKTOP_VERSION 47#ifndef DESKTOP_VERSION
48 //qDebug("CONNECT "); 48 //qDebug("CONNECT ");
49 QObject::connect( &a, SIGNAL (appMessage ( const QCString &, const QByteArray & )),&mw, SLOT(message( const QCString&, const QByteArray& ))); 49 QObject::connect( &a, SIGNAL (appMessage ( const QCString &, const QByteArray & )),&mw, SLOT(message( const QCString&, const QByteArray& )));
50 QObject::connect(&a, SIGNAL (appMessage ( const QCString &, const QByteArray & )), ExternalAppHandler::instance(), SLOT (appMessage ( const QCString &, const QByteArray & ))); 50 // QObject::connect(&a, SIGNAL (appMessage ( const QCString &, const QByteArray & )), ExternalAppHandler::instance(), SLOT (appMessage ( const QCString &, const QByteArray & )));
51 a.showMainWidget(&mw ); 51 a.showMainWidget(&mw );
52#else 52#else
53 a.setMainWidget(&mw ); 53 a.setMainWidget(&mw );
54 mw.show(); 54 mw.show();
55 //m.resize( 800, 600 ); 55 //m.resize( 800, 600 );
56 QObject::connect(&a, SIGNAL(lastWindowClosed()), &a, SLOT(quit())); 56 QObject::connect(&a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()));
57#endif 57#endif
58 int rv = a.exec(); 58 int rv = a.exec();
59 return rv; 59 return rv;
60 60
61} 61}
diff --git a/kmicromail/opiemail.cpp b/kmicromail/opiemail.cpp
index 3e560c5..a1c5645 100644
--- a/kmicromail/opiemail.cpp
+++ b/kmicromail/opiemail.cpp
@@ -1,422 +1,425 @@
1// CHANGED 2004-09-31 Lutz Rogowski 1// CHANGED 2004-09-31 Lutz Rogowski
2// CHANGED 2004-08-06 Lutz Rogowski 2// CHANGED 2004-08-06 Lutz Rogowski
3 3
4#include "settingsdialog.h" 4#include "settingsdialog.h"
5#include "opiemail.h" 5#include "opiemail.h"
6#include "editaccounts.h" 6#include "editaccounts.h"
7#include "composemail.h" 7#include "composemail.h"
8#include "mailistviewitem.h" 8#include "mailistviewitem.h"
9#include "viewmail.h" 9#include "viewmail.h"
10#include "selectstore.h" 10#include "selectstore.h"
11#include "selectsmtp.h" 11#include "selectsmtp.h"
12 12
13#include <qmessagebox.h> 13#include <qmessagebox.h>
14#include <libkdepim/externalapphandler.h>
14 15
15#include <qpe/qpeapplication.h> 16#include <qpe/qpeapplication.h>
16#include <libmailwrapper/smtpwrapper.h> 17#include <libmailwrapper/smtpwrapper.h>
17#include <libmailwrapper/mailtypes.h> 18#include <libmailwrapper/mailtypes.h>
18#include <libmailwrapper/abstractmail.h> 19#include <libmailwrapper/abstractmail.h>
19/* OPIE */ 20/* OPIE */
20//#include <qpe/resource.h> 21//#include <qpe/resource.h>
21//#include <qpe/qpeapplication.h> 22//#include <qpe/qpeapplication.h>
22 23
23/* QT */ 24/* QT */
24 25
25using namespace Opie::Core; 26using namespace Opie::Core;
26 27
27OpieMail::OpieMail( QWidget *parent, const char *name, WFlags flags ) 28OpieMail::OpieMail( QWidget *parent, const char *name, WFlags flags )
28 : MainWindow( parent, name) //, WStyle_ContextHelp ) 29 : MainWindow( parent, name) //, WStyle_ContextHelp )
29{ 30{
30 settings = new Settings(); 31 settings = new Settings();
31 32
32 folderView->populate( settings->getAccounts() ); 33 folderView->populate( settings->getAccounts() );
33 34
34} 35}
35 36
36OpieMail::~OpieMail() 37OpieMail::~OpieMail()
37{ 38{
38 if (settings) delete settings; 39 if (settings) delete settings;
39} 40}
40 41
41void OpieMail::appMessage(const QCString &msg, const QByteArray &data) 42void OpieMail::appMessage(const QCString &msg, const QByteArray &data)
42{ 43{
43 44
44} 45}
45#include <stdlib.h> 46#include <stdlib.h>
46void OpieMail::message(const QCString &msg, const QByteArray &data) 47void OpieMail::message(const QCString &msg, const QByteArray &data)
47{ 48{
48 // copied from old mail2 49 // copied from old mail2
49 static int ii = 0; 50 static int ii = 0;
50 51 qDebug("call ############################# %d ", ii);
51 // block second call 52 // block second call
52 if ( ii < 2 ) { 53 if ( ii < 2 ) {
53 ++ii; 54 //++ii;
54 if ( ii > 1 ) { 55 if ( ii > 1 ) {
55 qDebug("qcop call blocked "); 56 qDebug("qcop call blocked ");
56 return; 57 //return;
57 } 58 }
58 } 59 }
60 ++ii;
59 //qDebug("KM:appMessage %d *%s* %x", ii, msg.data(), this); 61 //qDebug("KM:appMessage %d *%s* %x", ii, msg.data(), this);
60 if (msg == "writeMail(QString,QString)") 62 if (msg == "writeMail(QString,QString)")
61 { 63 {
62 QDataStream stream(data,IO_ReadOnly); 64 QDataStream stream(data,IO_ReadOnly);
63 QString name, email; 65 QString name, email;
64 stream >> name >> email; 66 stream >> name >> email;
65 // removing the whitespaces at beginning and end is needed! 67 // removing the whitespaces at beginning and end is needed!
66 slotwriteMail(name.stripWhiteSpace(),email.stripWhiteSpace()); 68 slotwriteMail(name.stripWhiteSpace(),email.stripWhiteSpace());
67 } 69 }
68 else if (msg == "newMail()") 70 else if (msg == "newMail()")
69 { 71 {
70 slotComposeMail(); 72 slotComposeMail();
71 } 73 }
72 else if (msg == "newMail(QString)") 74 else if (msg == "newMail(QString)")
73 { 75 {
74 QDataStream stream(data,IO_ReadOnly); 76 QDataStream stream(data,IO_ReadOnly);
75 QString nameemail; 77 QString nameemail;
76 stream >> nameemail; 78 stream >> nameemail;
77 // the format is 79 // the format is
78 // NAME <EMAIL>:SUBJECT 80 // NAME <EMAIL>:SUBJECT
79 //qDebug("message %s ", nameemail.latin1()); 81 //qDebug("message %s ", nameemail.latin1());
80 82
81 slotwriteMail2( nameemail ); 83 slotwriteMail2( nameemail );
82 } 84 } else
85 ExternalAppHandler::instance()->appMessage ( msg, data);
83} 86}
84void OpieMail::slotwriteMail2(const QString& namemail ) 87void OpieMail::slotwriteMail2(const QString& namemail )
85{ 88{
86 // qDebug("OpieMail::slotwriteMail2 "); 89 // qDebug("OpieMail::slotwriteMail2 ");
87 qApp->processEvents(); 90 qApp->processEvents();
88 ComposeMail compose( settings, this, 0, true ); 91 ComposeMail compose( settings, this, 0, true );
89 if ( !namemail.isEmpty() ) { 92 if ( !namemail.isEmpty() ) {
90 QString to = namemail; 93 QString to = namemail;
91 if ( namemail.find( " <") > 1 ) { 94 if ( namemail.find( " <") > 1 ) {
92 to = "\"" +to.replace( QRegExp( " <"), "\" <") ; 95 to = "\"" +to.replace( QRegExp( " <"), "\" <") ;
93 } else 96 } else
94 if ( namemail.find( "<") > 1 ) { 97 if ( namemail.find( "<") > 1 ) {
95 to = "\"" +to.replace( QRegExp( "<"), "\" <") ; 98 to = "\"" +to.replace( QRegExp( "<"), "\" <") ;
96 } 99 }
97 int sub = to.find( ">:"); 100 int sub = to.find( ">:");
98 if ( sub > 0 ) { 101 if ( sub > 0 ) {
99 compose.setTo( to.left(sub+1) ); 102 compose.setTo( to.left(sub+1) );
100 compose.setSubject( to.mid(sub+2) ); 103 compose.setSubject( to.mid(sub+2) );
101 } else 104 } else
102 compose.setTo( to ); 105 compose.setTo( to );
103 } 106 }
104 compose.slotAdjustColumns(); 107 compose.slotAdjustColumns();
105 compose.showMaximized(); 108 compose.showMaximized();
106 compose.exec(); 109 compose.exec();
107 raise(); 110 raise();
108 //qDebug("retttich "); 111 //qDebug("retttich ");
109} 112}
110void OpieMail::slotwriteMail(const QString&name,const QString&email) 113void OpieMail::slotwriteMail(const QString&name,const QString&email)
111{ 114{
112 // qDebug("OpieMail::slotwriteMail "); 115 // qDebug("OpieMail::slotwriteMail ");
113 ComposeMail compose( settings, this, 0, true , WStyle_ContextHelp ); 116 ComposeMail compose( settings, this, 0, true , WStyle_ContextHelp );
114 if (!email.isEmpty()) 117 if (!email.isEmpty())
115 { 118 {
116 if (!name.isEmpty()) 119 if (!name.isEmpty())
117 { 120 {
118 compose.setTo("\"" + name + "\"" + " " + "<"+ email + ">"); 121 compose.setTo("\"" + name + "\"" + " " + "<"+ email + ">");
119 } 122 }
120 else 123 else
121 { 124 {
122 compose.setTo(email); 125 compose.setTo(email);
123 } 126 }
124 } 127 }
125 compose.slotAdjustColumns(); 128 compose.slotAdjustColumns();
126 compose.showMaximized(); 129 compose.showMaximized();
127 compose.exec(); 130 compose.exec();
128} 131}
129 132
130void OpieMail::slotComposeMail() 133void OpieMail::slotComposeMail()
131{ 134{
132 slotwriteMail2( QString () ); 135 slotwriteMail2( QString () );
133 //slotwriteMail(0l,0l); 136 //slotwriteMail(0l,0l);
134} 137}
135 138
136void OpieMail::slotSendQueued() 139void OpieMail::slotSendQueued()
137{ 140{
138 SMTPaccount *smtp = 0; 141 SMTPaccount *smtp = 0;
139 142
140 QList<Account> list = settings->getAccounts(); 143 QList<Account> list = settings->getAccounts();
141 QList<SMTPaccount> smtpList; 144 QList<SMTPaccount> smtpList;
142 smtpList.setAutoDelete(false); 145 smtpList.setAutoDelete(false);
143 Account *it; 146 Account *it;
144 for ( it = list.first(); it; it = list.next() ) 147 for ( it = list.first(); it; it = list.next() )
145 { 148 {
146 if ( it->getType() == MAILLIB::A_SMTP ) 149 if ( it->getType() == MAILLIB::A_SMTP )
147 { 150 {
148 smtp = static_cast<SMTPaccount *>(it); 151 smtp = static_cast<SMTPaccount *>(it);
149 smtpList.append(smtp); 152 smtpList.append(smtp);
150 } 153 }
151 } 154 }
152 if (smtpList.count()==0) 155 if (smtpList.count()==0)
153 { 156 {
154 QMessageBox::information(0,tr("Info"),tr("Define a smtp account first!\n")); 157 QMessageBox::information(0,tr("Info"),tr("Define a smtp account first!\n"));
155 return; 158 return;
156 } 159 }
157 if (smtpList.count()==1) 160 if (smtpList.count()==1)
158 { 161 {
159 smtp = smtpList.at(0); 162 smtp = smtpList.at(0);
160 } 163 }
161 else 164 else
162 { 165 {
163 smtp = 0; 166 smtp = 0;
164 selectsmtp selsmtp; 167 selectsmtp selsmtp;
165 selsmtp.setSelectionlist(&smtpList); 168 selsmtp.setSelectionlist(&smtpList);
166 selsmtp.showMaximized(); 169 selsmtp.showMaximized();
167 if ( selsmtp.exec() == QDialog::Accepted ) 170 if ( selsmtp.exec() == QDialog::Accepted )
168 { 171 {
169 smtp = selsmtp.selected_smtp(); 172 smtp = selsmtp.selected_smtp();
170 } 173 }
171 } 174 }
172 if (smtp) 175 if (smtp)
173 { 176 {
174 SMTPwrapper * wrap = new SMTPwrapper(smtp); 177 SMTPwrapper * wrap = new SMTPwrapper(smtp);
175 if ( wrap->flushOutbox() ) 178 if ( wrap->flushOutbox() )
176 { 179 {
177 QMessageBox::information(0,tr("Info"),tr("Mail queue flushed")); 180 QMessageBox::information(0,tr("Info"),tr("Mail queue flushed"));
178 } 181 }
179 delete wrap; 182 delete wrap;
180 } 183 }
181} 184}
182 185
183void OpieMail::slotSearchMails() 186void OpieMail::slotSearchMails()
184{ 187{
185 qDebug("OpieMail::slotSearchMails():not implemented "); 188 qDebug("OpieMail::slotSearchMails():not implemented ");
186} 189}
187 190
188void OpieMail::slotEditSettings() 191void OpieMail::slotEditSettings()
189{ 192{
190 SettingsDialog settingsDialog( this, 0, true, WStyle_ContextHelp ); 193 SettingsDialog settingsDialog( this, 0, true, WStyle_ContextHelp );
191 settingsDialog.showMaximized(); 194 settingsDialog.showMaximized();
192 settingsDialog.exec(); 195 settingsDialog.exec();
193} 196}
194 197
195void OpieMail::slotEditAccounts() 198void OpieMail::slotEditAccounts()
196{ 199{
197 EditAccounts eaDialog( settings, this, 0, true, WStyle_ContextHelp ); 200 EditAccounts eaDialog( settings, this, 0, true, WStyle_ContextHelp );
198 eaDialog.slotAdjustColumns(); 201 eaDialog.slotAdjustColumns();
199 eaDialog.showMaximized(); 202 eaDialog.showMaximized();
200 eaDialog.exec(); 203 eaDialog.exec();
201 if ( settings ) delete settings; 204 if ( settings ) delete settings;
202 settings = new Settings(); 205 settings = new Settings();
203 206
204 folderView->populate( settings->getAccounts() ); 207 folderView->populate( settings->getAccounts() );
205} 208}
206 209
207void OpieMail::displayMail() 210void OpieMail::displayMail()
208{ 211{
209 QListViewItem*item = mailView->currentItem(); 212 QListViewItem*item = mailView->currentItem();
210 if (!item) return; 213 if (!item) return;
211 RecMailP mail = ((MailListViewItem*)item)->data(); 214 RecMailP mail = ((MailListViewItem*)item)->data();
212 RecBodyP body = folderView->fetchBody(mail); 215 RecBodyP body = folderView->fetchBody(mail);
213 ViewMail readMail( this,"", Qt::WType_Modal | WStyle_ContextHelp ); 216 ViewMail readMail( this,"", Qt::WType_Modal | WStyle_ContextHelp );
214 readMail.setBody( body ); 217 readMail.setBody( body );
215 readMail.setMail( mail ); 218 readMail.setMail( mail );
216 readMail.showMaximized(); 219 readMail.showMaximized();
217 readMail.exec(); 220 readMail.exec();
218 221
219 if ( readMail.deleted ) 222 if ( readMail.deleted )
220 { 223 {
221 folderView->refreshCurrent(); 224 folderView->refreshCurrent();
222 } 225 }
223 else 226 else
224 { 227 {
225 ( (MailListViewItem*)item )->setPixmap( 0, QPixmap() ); 228 ( (MailListViewItem*)item )->setPixmap( 0, QPixmap() );
226 } 229 }
227} 230}
228 231
229void OpieMail::slotDeleteMail() 232void OpieMail::slotDeleteMail()
230{ 233{
231 if (!mailView->currentItem()) return; 234 if (!mailView->currentItem()) return;
232 RecMailP mail = ((MailListViewItem*)mailView->currentItem() )->data(); 235 RecMailP mail = ((MailListViewItem*)mailView->currentItem() )->data();
233 if ( QMessageBox::warning(this, tr("Delete Mail"), QString( tr("<p>Do you really want to delete this mail? <br><br>" ) + mail->getFrom() + " - " + mail->getSubject() ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) 236 if ( QMessageBox::warning(this, tr("Delete Mail"), QString( tr("<p>Do you really want to delete this mail? <br><br>" ) + mail->getFrom() + " - " + mail->getSubject() ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes )
234 { 237 {
235 mail->Wrapper()->deleteMail( mail ); 238 mail->Wrapper()->deleteMail( mail );
236 folderView->refreshCurrent(); 239 folderView->refreshCurrent();
237 } 240 }
238} 241}
239void OpieMail::slotDeleteAllMail() 242void OpieMail::slotDeleteAllMail()
240{ 243{
241 244
242 QValueList<RecMailP> t; 245 QValueList<RecMailP> t;
243 if ( QMessageBox::warning(this, tr("Delete All Mails"), tr("Do you really want to delete\nall selected mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) 246 if ( QMessageBox::warning(this, tr("Delete All Mails"), tr("Do you really want to delete\nall selected mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes )
244 { 247 {
245 MailListViewItem* item = (MailListViewItem*)mailView->firstChild (); 248 MailListViewItem* item = (MailListViewItem*)mailView->firstChild ();
246 while ( item ) { 249 while ( item ) {
247 if ( item->isSelected() ) { 250 if ( item->isSelected() ) {
248 t.append( item->data() ); 251 t.append( item->data() );
249 } 252 }
250 item = (MailListViewItem*)item->nextSibling(); 253 item = (MailListViewItem*)item->nextSibling();
251 } 254 }
252 } 255 }
253 else 256 else
254 return; 257 return;
255 if ( t.count() == 0 ) 258 if ( t.count() == 0 )
256 return; 259 return;
257 RecMailP mail = t.first(); 260 RecMailP mail = t.first();
258 mail->Wrapper()->deleteMailList(t); 261 mail->Wrapper()->deleteMailList(t);
259 folderView->refreshCurrent(); 262 folderView->refreshCurrent();
260 263
261 264
262} 265}
263void OpieMail::clearSelection() 266void OpieMail::clearSelection()
264{ 267{
265 mailView->clearSelection(); 268 mailView->clearSelection();
266 269
267} 270}
268 271
269void OpieMail::mailHold(int button, QListViewItem *item,const QPoint&,int ) 272void OpieMail::mailHold(int button, QListViewItem *item,const QPoint&,int )
270{ 273{
271 if (!mailView->currentItem()) return; 274 if (!mailView->currentItem()) return;
272 MAILLIB::ATYPE mailtype = ((MailListViewItem*)mailView->currentItem() )->wrapperType(); 275 MAILLIB::ATYPE mailtype = ((MailListViewItem*)mailView->currentItem() )->wrapperType();
273 /* just the RIGHT button - or hold on pda */ 276 /* just the RIGHT button - or hold on pda */
274 if (button!=2) {return;} 277 if (button!=2) {return;}
275 if (!item) return; 278 if (!item) return;
276 QPopupMenu *m = new QPopupMenu(0); 279 QPopupMenu *m = new QPopupMenu(0);
277 if (m) 280 if (m)
278 { 281 {
279 if (mailtype==MAILLIB::A_NNTP) { 282 if (mailtype==MAILLIB::A_NNTP) {
280 m->insertItem(tr("Read this posting"),this,SLOT(displayMail())); 283 m->insertItem(tr("Read this posting"),this,SLOT(displayMail()));
281// m->insertItem(tr("Copy this posting"),this,SLOT(slotMoveCopyMail())); 284// m->insertItem(tr("Copy this posting"),this,SLOT(slotMoveCopyMail()));
282 } else { 285 } else {
283 if (folderView->currentisDraft()) { 286 if (folderView->currentisDraft()) {
284 m->insertItem(tr("Edit this mail"),this,SLOT(reEditMail())); 287 m->insertItem(tr("Edit this mail"),this,SLOT(reEditMail()));
285 } 288 }
286 m->insertItem(tr("Read this mail"),this,SLOT(displayMail())); 289 m->insertItem(tr("Read this mail"),this,SLOT(displayMail()));
287 m->insertItem(tr("Move/Copy this mail"),this,SLOT(slotMoveCopyMail())); 290 m->insertItem(tr("Move/Copy this mail"),this,SLOT(slotMoveCopyMail()));
288 m->insertItem(tr("Delete this mail"),this,SLOT(slotDeleteMail())); 291 m->insertItem(tr("Delete this mail"),this,SLOT(slotDeleteMail()));
289 m->insertSeparator(); 292 m->insertSeparator();
290 m->insertItem(tr("Move/Copy all selected mail"),this,SLOT(slotMoveCopyAllMail())); 293 m->insertItem(tr("Move/Copy all selected mail"),this,SLOT(slotMoveCopyAllMail()));
291 m->insertItem(tr("Delete all selected mails"),this,SLOT(slotDeleteAllMail())); 294 m->insertItem(tr("Delete all selected mails"),this,SLOT(slotDeleteAllMail()));
292 m->insertItem(tr("Clear selection"),this,SLOT(clearSelection())); 295 m->insertItem(tr("Clear selection"),this,SLOT(clearSelection()));
293 } 296 }
294 m->setFocus(); 297 m->setFocus();
295 m->exec( QPoint( QCursor::pos().x(), QCursor::pos().y()) ); 298 m->exec( QPoint( QCursor::pos().x(), QCursor::pos().y()) );
296 delete m; 299 delete m;
297 } 300 }
298} 301}
299 302
300void OpieMail::slotShowFolders( bool show ) 303void OpieMail::slotShowFolders( bool show )
301{ 304{
302 if ( show && folderView->isHidden() ) 305 if ( show && folderView->isHidden() )
303 { 306 {
304 folderView->show(); 307 folderView->show();
305 } 308 }
306 else if ( !show && !folderView->isHidden() ) 309 else if ( !show && !folderView->isHidden() )
307 { 310 {
308 folderView->hide(); 311 folderView->hide();
309 } 312 }
310} 313}
311 314
312void OpieMail::refreshMailView(const QValueList<RecMailP>&list) 315void OpieMail::refreshMailView(const QValueList<RecMailP>&list)
313{ 316{
314 MailListViewItem*item = 0; 317 MailListViewItem*item = 0;
315 mailView->clear(); 318 mailView->clear();
316 319
317 QValueList<RecMailP>::ConstIterator it; 320 QValueList<RecMailP>::ConstIterator it;
318 for (it = list.begin(); it != list.end();++it) 321 for (it = list.begin(); it != list.end();++it)
319 { 322 {
320 item = new MailListViewItem(mailView,item); 323 item = new MailListViewItem(mailView,item);
321 item->storeData((*it)); 324 item->storeData((*it));
322 item->showEntry(); 325 item->showEntry();
323 } 326 }
324} 327}
325 328
326void OpieMail::mailLeftClicked( QListViewItem *item ) 329void OpieMail::mailLeftClicked( QListViewItem *item )
327{ 330{
328 mailView->clearSelection(); 331 mailView->clearSelection();
329 /* just LEFT button - or tap with stylus on pda */ 332 /* just LEFT button - or tap with stylus on pda */
330 //if (button!=1) return; 333 //if (button!=1) return;
331 if (!item) return; 334 if (!item) return;
332 if (folderView->currentisDraft()) { 335 if (folderView->currentisDraft()) {
333 reEditMail(); 336 reEditMail();
334 } else { 337 } else {
335 displayMail(); 338 displayMail();
336 } 339 }
337} 340}
338 341
339void OpieMail::slotMoveCopyMail() 342void OpieMail::slotMoveCopyMail()
340{ 343{
341 if (!mailView->currentItem()) return; 344 if (!mailView->currentItem()) return;
342 RecMailP mail = ((MailListViewItem*)mailView->currentItem() )->data(); 345 RecMailP mail = ((MailListViewItem*)mailView->currentItem() )->data();
343 AbstractMail*targetMail = 0; 346 AbstractMail*targetMail = 0;
344 QString targetFolder = ""; 347 QString targetFolder = "";
345 Selectstore sels; 348 Selectstore sels;
346 folderView->setupFolderselect(&sels); 349 folderView->setupFolderselect(&sels);
347 if (!sels.exec()) return; 350 if (!sels.exec()) return;
348 targetMail = sels.currentMail(); 351 targetMail = sels.currentMail();
349 targetFolder = sels.currentFolder(); 352 targetFolder = sels.currentFolder();
350 if ( (mail->Wrapper()==targetMail && mail->getMbox()==targetFolder) || 353 if ( (mail->Wrapper()==targetMail && mail->getMbox()==targetFolder) ||
351 targetFolder.isEmpty()) 354 targetFolder.isEmpty())
352 { 355 {
353 return; 356 return;
354 } 357 }
355 if (sels.newFolder() && !targetMail->createMbox(targetFolder)) 358 if (sels.newFolder() && !targetMail->createMbox(targetFolder))
356 { 359 {
357 QMessageBox::critical(0,tr("Error creating new Folder"), 360 QMessageBox::critical(0,tr("Error creating new Folder"),
358 tr("<center>Error while creating<br>new folder - breaking.</center>")); 361 tr("<center>Error while creating<br>new folder - breaking.</center>"));
359 return; 362 return;
360 } 363 }
361 sels.hide(); 364 sels.hide();
362 qApp->processEvents(); 365 qApp->processEvents();
363 // qDebug("hiding sels "); 366 // qDebug("hiding sels ");
364 mail->Wrapper()->mvcpMail(mail,targetFolder,targetMail,sels.moveMails()); 367 mail->Wrapper()->mvcpMail(mail,targetFolder,targetMail,sels.moveMails());
365 folderView->refreshCurrent(); 368 folderView->refreshCurrent();
366} 369}
367 370
368void OpieMail::slotMoveCopyAllMail() 371void OpieMail::slotMoveCopyAllMail()
369{ 372{
370 373
371 if (!mailView->currentItem()) return; 374 if (!mailView->currentItem()) return;
372 QValueList<RecMailP> t; 375 QValueList<RecMailP> t;
373 // if ( QMessageBox::warning(this, tr("Move/Copy all selected mails"), tr("Do you really want to copy/move\nall selected mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) 376 // if ( QMessageBox::warning(this, tr("Move/Copy all selected mails"), tr("Do you really want to copy/move\nall selected mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes )
374 { 377 {
375 MailListViewItem* item = (MailListViewItem*)mailView->firstChild (); 378 MailListViewItem* item = (MailListViewItem*)mailView->firstChild ();
376 while ( item ) { 379 while ( item ) {
377 if ( item->isSelected() ) { 380 if ( item->isSelected() ) {
378 t.append( item->data() ); 381 t.append( item->data() );
379 } 382 }
380 item = (MailListViewItem*)item->nextSibling(); 383 item = (MailListViewItem*)item->nextSibling();
381 } 384 }
382 } 385 }
383 // else 386 // else
384 // return; 387 // return;
385 if ( t.count() == 0 ) 388 if ( t.count() == 0 )
386 return; 389 return;
387 RecMailP mail = t.first(); 390 RecMailP mail = t.first();
388 AbstractMail*targetMail = 0; 391 AbstractMail*targetMail = 0;
389 QString targetFolder = ""; 392 QString targetFolder = "";
390 Selectstore sels; 393 Selectstore sels;
391 folderView->setupFolderselect(&sels); 394 folderView->setupFolderselect(&sels);
392 if (!sels.exec()) return; 395 if (!sels.exec()) return;
393 targetMail = sels.currentMail(); 396 targetMail = sels.currentMail();
394 targetFolder = sels.currentFolder(); 397 targetFolder = sels.currentFolder();
395 if ( (mail->Wrapper()==targetMail && mail->getMbox()==targetFolder) || 398 if ( (mail->Wrapper()==targetMail && mail->getMbox()==targetFolder) ||
396 targetFolder.isEmpty()) 399 targetFolder.isEmpty())
397 { 400 {
398 return; 401 return;
399 } 402 }
400 if (sels.newFolder() && !targetMail->createMbox(targetFolder)) 403 if (sels.newFolder() && !targetMail->createMbox(targetFolder))
401 { 404 {
402 QMessageBox::critical(0,tr("Error creating new Folder"), 405 QMessageBox::critical(0,tr("Error creating new Folder"),
403 tr("<center>Error while creating<br>new folder - breaking.</center>")); 406 tr("<center>Error while creating<br>new folder - breaking.</center>"));
404 return; 407 return;
405 } 408 }
406 sels.hide(); 409 sels.hide();
407 qApp->processEvents(); 410 qApp->processEvents();
408 //qDebug("hiding sels "); 411 //qDebug("hiding sels ");
409 mail->Wrapper()->mvcpMailList(t,targetFolder,targetMail,sels.moveMails()); 412 mail->Wrapper()->mvcpMailList(t,targetFolder,targetMail,sels.moveMails());
410 folderView->refreshCurrent(); 413 folderView->refreshCurrent();
411} 414}
412 415
413void OpieMail::reEditMail() 416void OpieMail::reEditMail()
414{ 417{
415 if (!mailView->currentItem()) return; 418 if (!mailView->currentItem()) return;
416 419
417 ComposeMail compose( settings, this, 0, true , WStyle_ContextHelp ); 420 ComposeMail compose( settings, this, 0, true , WStyle_ContextHelp );
418 compose.reEditMail(((MailListViewItem*)mailView->currentItem() )->data()); 421 compose.reEditMail(((MailListViewItem*)mailView->currentItem() )->data());
419 compose.slotAdjustColumns(); 422 compose.slotAdjustColumns();
420 compose.showMaximized(); 423 compose.showMaximized();
421 compose.exec(); 424 compose.exec();
422} 425}