summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--Makefile619
-rw-r--r--bin/kdepim/Zaurus-KDE_syncHowTo.txt7
-rw-r--r--libkdepim/ksyncmanager.cpp31
3 files changed, 285 insertions, 372 deletions
diff --git a/Makefile b/Makefile
index 467710f..dbc91ad 100644
--- a/Makefile
+++ b/Makefile
@@ -1,368 +1,253 @@
1export KDEPIMDIR = $(shell pwd) 1#############################################################################
2 2# Makefile for building: kdepim-desktop
3export KDEPIM_VERSION=$(shell sed -e 's/.*\"\([0-9]*\.[0-9]*\.[0-9]*\).*/\1/' < version) 3# Generated by qmake (1.07a) (Qt 3.3.1) on: Thu Oct 28 15:32:28 2004
4 4# Project: kdepim-desktop.pro
5ifeq ($(PLATFORM) , zaurus) 5# Template: subdirs
6 BUILD_NO_LDAP_PLUGIN=1 6# Command: $(QMAKE) -o Makefile kdepim-desktop.pro
7endif 7#############################################################################
8 8
9ifneq ($(PLATFORM) , zaurus) 9 MAKEFILE =Makefile
10 BUILD_NO_SHARP_PLUGIN=1 10 QMAKE =qmake
11endif 11DEL_FILE = rm -f
12 12CHK_DIR_EXISTS= test -d
13#opie plugin is deprecated. The qtopia plugin handles the task from now on. 13MKDIR = mkdir -p
14BUILD_NO_OPIE_PLUGIN=1 14 SUBTARGETS = \
15 15 sub-gammu-emb-common \
16SUBDIRS_MICROKDE = \ 16 sub-gammu-emb-gammu \
17 libical/src/libical \ 17 sub-libical \
18 libical/src/libicalss \ 18 sub-libkcal \
19 qtcompat \ 19 sub-microkde \
20 microkde \ 20 sub-libkdepim \
21 libkcal \ 21 sub-kabc \
22 libkdepim \ 22 sub-korganizer \
23 kabc \ 23 sub-kaddressbook \
24 kabc/formats/binary \ 24 sub-kabc-plugins-file \
25 kabc/plugins/file \ 25 sub-kabc-plugins-dir \
26 kabc/plugins/dir \ 26 sub-kabc-plugins-file \
27 korganizer \ 27 sub-kabc-plugins-qtopia \
28 kalarmd \ 28 sub-pwmanager-libcrypt-cipher \
29 kaddressbook 29 sub-pwmanager-libcrypt-error \
30 30 sub-pwmanager-libcrypt-mpi \
31SUBDIRS_QTOPIA_PLUGIN = \ 31 sub-pwmanager-libcrypt-zlib \
32 kabc/plugins/qtopia 32 sub-pwmanager-pwmanager
33 33
34SUBDIRS_OPIE_PLUGIN = \ 34first: all
35 kabc/plugins/opie 35
36 36all: Makefile $(SUBTARGETS)
37SUBDIRS_SHARP_PLUGIN = \ 37
38 kabc/plugins/sharpdtm 38gammu/emb/common/$(MAKEFILE):
39 39 @$(CHK_DIR_EXISTS) "gammu/emb/common" || $(MKDIR) "gammu/emb/common"
40SUBDIRS_LDAP_PLUGIN = \ 40 cd gammu/emb/common && $(QMAKE) common.pro -o $(MAKEFILE)
41 kabc/plugins/ldap 41sub-gammu-emb-common: gammu/emb/common/$(MAKEFILE) FORCE
42 42 cd gammu/emb/common && $(MAKE) -f $(MAKEFILE)
43SUBDIRS_MICROMAIL = \ 43
44 kmicromail/libetpan \ 44gammu/emb/gammu/$(MAKEFILE):
45 kmicromail/libmailwrapper \ 45 @$(CHK_DIR_EXISTS) "gammu/emb/gammu" || $(MKDIR) "gammu/emb/gammu"
46 kmicromail 46 cd gammu/emb/gammu && $(QMAKE) gammu.pro -o $(MAKEFILE)
47 47sub-gammu-emb-gammu: gammu/emb/gammu/$(MAKEFILE) FORCE
48SUBDIRS_GAMMU = \ 48 cd gammu/emb/gammu && $(MAKE) -f $(MAKEFILE)
49 gammu/emb/common \ 49
50 gammu/emb/gammu 50libical/$(MAKEFILE):
51 51 @$(CHK_DIR_EXISTS) "libical" || $(MKDIR) "libical"
52SUBDIRS_PWMANAGER = \ 52 cd libical && $(QMAKE) libical.pro -o $(MAKEFILE)
53 pwmanager/libcrypt/mpi \ 53sub-libical: libical/$(MAKEFILE) FORCE
54 pwmanager/libcrypt/error \ 54 cd libical && $(MAKE) -f $(MAKEFILE)
55 pwmanager/libcrypt/cipher \ 55
56 pwmanager/libcrypt/zlib \ 56libkcal/$(MAKEFILE):
57 pwmanager/pwmanager 57 @$(CHK_DIR_EXISTS) "libkcal" || $(MKDIR) "libkcal"
58 58 cd libkcal && $(QMAKE) libkcal.pro -o $(MAKEFILE)
59SUBDIRS = \ 59sub-libkcal: libkcal/$(MAKEFILE) FORCE
60 $(SUBDIRS_MICROKDE) \ 60 cd libkcal && $(MAKE) -f $(MAKEFILE)
61 $(SUBDIRS_QTOPIA_PLUGIN) \ 61
62 $(SUBDIRS_OPIE_PLUGIN) \ 62microkde/$(MAKEFILE):
63 $(SUBDIRS_SHARP_PLUGIN) \ 63 @$(CHK_DIR_EXISTS) "microkde" || $(MKDIR) "microkde"
64 $(SUBDIRS_LDAP_PLUGIN) \ 64 cd microkde && $(QMAKE) microkde.pro -o $(MAKEFILE)
65 $(SUBDIRS_MICROMAIL) \ 65sub-microkde: microkde/$(MAKEFILE) FORCE
66 $(SUBDIRS_GAMMU) \ 66 cd microkde && $(MAKE) -f $(MAKEFILE)
67 $(SUBDIRS_PWMANAGER) 67
68 68libkdepim/$(MAKEFILE):
69 69 @$(CHK_DIR_EXISTS) "libkdepim" || $(MKDIR) "libkdepim"
70all: build_microkde \ 70 cd libkdepim && $(QMAKE) libkdepim.pro -o $(MAKEFILE)
71 build_qtopia_plugin \ 71sub-libkdepim: libkdepim/$(MAKEFILE) FORCE
72 build_opie_plugin \ 72 cd libkdepim && $(MAKE) -f $(MAKEFILE)
73 build_sharp_plugin \ 73
74 build_ldap_plugin \ 74kabc/$(MAKEFILE):
75 build_micromail \ 75 @$(CHK_DIR_EXISTS) "kabc" || $(MKDIR) "kabc"
76 build_gammu \ 76 cd kabc && $(QMAKE) kabc.pro -o $(MAKEFILE)
77 build_pwmanager 77sub-kabc: kabc/$(MAKEFILE) FORCE
78 78 cd kabc && $(MAKE) -f $(MAKEFILE)
79 79
80build_microkde: variable_test tmake 80korganizer/$(MAKEFILE):
81 for i in $(SUBDIRS_MICROKDE); do pushd $$i; \ 81 @$(CHK_DIR_EXISTS) "korganizer" || $(MKDIR) "korganizer"
82 make -f Makefile$(PLATFORM) || exit 1; popd; \ 82 cd korganizer && $(QMAKE) korganizer.pro -o $(MAKEFILE)
83 done 83sub-korganizer: korganizer/$(MAKEFILE) FORCE
84 84 cd korganizer && $(MAKE) -f $(MAKEFILE)
85build_qtopia_plugin: build_microkde 85
86 ifdef BUILD_NO_QTOPIA_PLUGIN 86kaddressbook/$(MAKEFILE):
87 @echo == qtopia plugin not build. 87 @$(CHK_DIR_EXISTS) "kaddressbook" || $(MKDIR) "kaddressbook"
88 else 88 cd kaddressbook && $(QMAKE) kaddressbook.pro -o $(MAKEFILE)
89 for i in $(SUBDIRS_QTOPIA_PLUGIN); do pushd $$i; \ 89sub-kaddressbook: kaddressbook/$(MAKEFILE) FORCE
90 make -f Makefile$(PLATFORM) || exit 1; popd; \ 90 cd kaddressbook && $(MAKE) -f $(MAKEFILE)
91 done 91
92 endif 92kabc/plugins/file/$(MAKEFILE):
93 93 @$(CHK_DIR_EXISTS) "kabc/plugins/file" || $(MKDIR) "kabc/plugins/file"
94build_opie_plugin: build_microkde 94 cd kabc/plugins/file && $(QMAKE) file.pro -o $(MAKEFILE)
95 ifdef BUILD_NO_OPIE_PLUGIN 95sub-kabc-plugins-file: kabc/plugins/file/$(MAKEFILE) FORCE
96 @echo == opie plugin not build. 96 cd kabc/plugins/file && $(MAKE) -f $(MAKEFILE)
97 else 97
98 for i in $(SUBDIRS_OPIE_PLUGIN); do pushd $$i; \ 98kabc/plugins/dir/$(MAKEFILE):
99 make -f Makefile$(PLATFORM) || exit 1; popd; \ 99 @$(CHK_DIR_EXISTS) "kabc/plugins/dir" || $(MKDIR) "kabc/plugins/dir"
100 done 100 cd kabc/plugins/dir && $(QMAKE) dir.pro -o $(MAKEFILE)
101 endif 101sub-kabc-plugins-dir: kabc/plugins/dir/$(MAKEFILE) FORCE
102 102 cd kabc/plugins/dir && $(MAKE) -f $(MAKEFILE)
103build_sharp_plugin: build_microkde 103
104 ifdef BUILD_NO_SHARP_PLUGIN 104kabc/plugins/file/$(MAKEFILE):
105 @echo == ldap plugin not build. 105 @$(CHK_DIR_EXISTS) "kabc/plugins/file" || $(MKDIR) "kabc/plugins/file"
106 else 106 cd kabc/plugins/file && $(QMAKE) file.pro -o $(MAKEFILE)
107 for i in $(SUBDIRS_SHARP_PLUGIN); do pushd $$i; \ 107sub-kabc-plugins-file: kabc/plugins/file/$(MAKEFILE) FORCE
108 make -f Makefile$(PLATFORM) || exit 1; popd; \ 108 cd kabc/plugins/file && $(MAKE) -f $(MAKEFILE)
109 done 109
110 endif 110kabc/plugins/qtopia/$(MAKEFILE):
111 111 @$(CHK_DIR_EXISTS) "kabc/plugins/qtopia" || $(MKDIR) "kabc/plugins/qtopia"
112build_ldap_plugin: build_microkde 112 cd kabc/plugins/qtopia && $(QMAKE) qtopia.pro -o $(MAKEFILE)
113 ifdef BUILD_NO_LDAP_PLUGIN 113sub-kabc-plugins-qtopia: kabc/plugins/qtopia/$(MAKEFILE) FORCE
114 @echo == ldap plugin not build. 114 cd kabc/plugins/qtopia && $(MAKE) -f $(MAKEFILE)
115 else 115
116 for i in $(SUBDIRS_LDAP_PLUGIN); do pushd $$i; \ 116pwmanager/libcrypt/cipher/$(MAKEFILE):
117 make -f Makefile$(PLATFORM) || exit 1; popd; \ 117 @$(CHK_DIR_EXISTS) "pwmanager/libcrypt/cipher" || $(MKDIR) "pwmanager/libcrypt/cipher"
118 done 118 cd pwmanager/libcrypt/cipher && $(QMAKE) cipher.pro -o $(MAKEFILE)
119 endif 119sub-pwmanager-libcrypt-cipher: pwmanager/libcrypt/cipher/$(MAKEFILE) FORCE
120 120 cd pwmanager/libcrypt/cipher && $(MAKE) -f $(MAKEFILE)
121 121
122build_micromail: build_microkde 122pwmanager/libcrypt/error/$(MAKEFILE):
123 ifdef BUILD_NO_MICROMAIL 123 @$(CHK_DIR_EXISTS) "pwmanager/libcrypt/error" || $(MKDIR) "pwmanager/libcrypt/error"
124 @echo == kmicromail not build. 124 cd pwmanager/libcrypt/error && $(QMAKE) error.pro -o $(MAKEFILE)
125 else 125sub-pwmanager-libcrypt-error: pwmanager/libcrypt/error/$(MAKEFILE) FORCE
126 for i in $(SUBDIRS_MICROMAIL); do pushd $$i; \ 126 cd pwmanager/libcrypt/error && $(MAKE) -f $(MAKEFILE)
127 make -f Makefile$(PLATFORM) || exit 1; popd; \ 127
128 done 128pwmanager/libcrypt/mpi/$(MAKEFILE):
129 endif 129 @$(CHK_DIR_EXISTS) "pwmanager/libcrypt/mpi" || $(MKDIR) "pwmanager/libcrypt/mpi"
130 130 cd pwmanager/libcrypt/mpi && $(QMAKE) mpi.pro -o $(MAKEFILE)
131build_gammu: variable_test tmake 131sub-pwmanager-libcrypt-mpi: pwmanager/libcrypt/mpi/$(MAKEFILE) FORCE
132 ifdef BUILD_NO_GAMMU 132 cd pwmanager/libcrypt/mpi && $(MAKE) -f $(MAKEFILE)
133 @echo == gammu not build. 133
134 else 134pwmanager/libcrypt/zlib/$(MAKEFILE):
135 for i in $(SUBDIRS_GAMMU); do pushd $$i; \ 135 @$(CHK_DIR_EXISTS) "pwmanager/libcrypt/zlib" || $(MKDIR) "pwmanager/libcrypt/zlib"
136 make -f Makefile$(PLATFORM) || exit 1; popd; \ 136 cd pwmanager/libcrypt/zlib && $(QMAKE) zlib.pro -o $(MAKEFILE)
137 done 137sub-pwmanager-libcrypt-zlib: pwmanager/libcrypt/zlib/$(MAKEFILE) FORCE
138 endif 138 cd pwmanager/libcrypt/zlib && $(MAKE) -f $(MAKEFILE)
139 139
140build_pwmanager: build_microkde 140pwmanager/pwmanager/$(MAKEFILE):
141 ifdef BUILD_NO_PWMANAGER 141 @$(CHK_DIR_EXISTS) "pwmanager/pwmanager" || $(MKDIR) "pwmanager/pwmanager"
142 @echo == pwmanager not build. 142 cd pwmanager/pwmanager && $(QMAKE) pwmanager.pro -o $(MAKEFILE)
143 else 143sub-pwmanager-pwmanager: pwmanager/pwmanager/$(MAKEFILE) FORCE
144 for i in $(SUBDIRS_PWMANAGER); do pushd $$i; \ 144 cd pwmanager/pwmanager && $(MAKE) -f $(MAKEFILE)
145 make -f Makefile$(PLATFORM) || exit 1; popd; \ 145
146 done 146Makefile: kdepim-desktop.pro /usr/lib/qt3/mkspecs/default/qmake.conf
147 endif 147 $(QMAKE) -o Makefile kdepim-desktop.pro
148 148qmake: qmake_all
149 149 @$(QMAKE) -o Makefile kdepim-desktop.pro
150variable_info: 150
151 @echo -------------------------------------- 151all: $(SUBTARGETS)
152 @echo KDEPIM buildsystem, variableinfo... 152qmake_all: gammu/emb/common/$(MAKEFILE) gammu/emb/gammu/$(MAKEFILE) libical/$(MAKEFILE) libkcal/$(MAKEFILE) microkde/$(MAKEFILE) libkdepim/$(MAKEFILE) kabc/$(MAKEFILE) korganizer/$(MAKEFILE) kaddressbook/$(MAKEFILE) kabc/plugins/file/$(MAKEFILE) kabc/plugins/dir/$(MAKEFILE) kabc/plugins/file/$(MAKEFILE) kabc/plugins/qtopia/$(MAKEFILE) pwmanager/libcrypt/cipher/$(MAKEFILE) pwmanager/libcrypt/error/$(MAKEFILE) pwmanager/libcrypt/mpi/$(MAKEFILE) pwmanager/libcrypt/zlib/$(MAKEFILE) pwmanager/pwmanager/$(MAKEFILE)
153 @echo KDEPIMDIR=$(KDEPIMDIR) 153 ( [ -d gammu/emb/common ] && cd gammu/emb/common ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
154 @echo QTDIR=$(QTDIR) 154 ( [ -d gammu/emb/gammu ] && cd gammu/emb/gammu ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
155 @echo QPEDIR=$(QPEDIR) 155 ( [ -d libical ] && cd libical ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
156 @echo OPIEDIR=$(OPIEDIR) 156 ( [ -d libkcal ] && cd libkcal ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
157 @echo PLATFORM=$(PLATFORM) 157 ( [ -d microkde ] && cd microkde ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
158 @echo RELEASE_DEBUG=$(RELEASE_DEBUG) 158 ( [ -d libkdepim ] && cd libkdepim ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
159 @echo BUILD_NO_MICROMAIL=$(BUILD_NO_MICROMAIL) 159 ( [ -d kabc ] && cd kabc ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
160 @echo BUILD_NO_LDAP_PLUGIN=$(BUILD_NO_LDAP_PLUGIN) 160 ( [ -d korganizer ] && cd korganizer ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
161 @echo BUILD_NO_OPIE_PLUGIN=$(BUILD_NO_OPIE_PLUGIN) 161 ( [ -d kaddressbook ] && cd kaddressbook ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
162 @echo BUILD_NO_QTOPIA_PLUGIN=$(BUILD_NO_QTOPIA_PLUGIN) 162 ( [ -d kabc/plugins/file ] && cd kabc/plugins/file ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
163 @echo BUILD_NO_SHARP_PLUGIN=$(BUILD_NO_SHARP_PLUGIN) 163 ( [ -d kabc/plugins/dir ] && cd kabc/plugins/dir ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
164 ifndef BUILD_NO_SHARP_PLUGIN 164 ( [ -d kabc/plugins/file ] && cd kabc/plugins/file ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
165 @echo SHARPDTMSDK=$(SHARPDTMSDK) 165 ( [ -d kabc/plugins/qtopia ] && cd kabc/plugins/qtopia ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
166 endif 166 ( [ -d pwmanager/libcrypt/cipher ] && cd pwmanager/libcrypt/cipher ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
167 @echo BUILD_NO_GAMMU=$(BUILD_NO_GAMMU) 167 ( [ -d pwmanager/libcrypt/error ] && cd pwmanager/libcrypt/error ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
168 @echo BUILD_NO_PWMANAGER=$(BUILD_NO_PWMANAGER) 168 ( [ -d pwmanager/libcrypt/mpi ] && cd pwmanager/libcrypt/mpi ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
169 @echo -------------------------------------- 169 ( [ -d pwmanager/libcrypt/zlib ] && cd pwmanager/libcrypt/zlib ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
170 170 ( [ -d pwmanager/pwmanager ] && cd pwmanager/pwmanager ; grep "^qmake_all:" $(MAKEFILE) && $(MAKE) -f $(MAKEFILE) qmake_all; ) || true
171variable_test: variable_info 171clean uicables mocables uiclean mocclean lexclean yaccclean : qmake_all FORCE
172 @echo KDEPIM buildsystem, variablecheck... 172 ( [ -d gammu/emb/common ] && cd gammu/emb/common ; $(MAKE) -f $(MAKEFILE) $@; ) || true
173 ifndef KDEPIMDIR 173 ( [ -d gammu/emb/gammu ] && cd gammu/emb/gammu ; $(MAKE) -f $(MAKEFILE) $@; ) || true
174 @echo KDEPIMDIR is not defined. 174 ( [ -d libical ] && cd libical ; $(MAKE) -f $(MAKEFILE) $@; ) || true
175 $(error KDEPIMDIR is not defined) 175 ( [ -d libkcal ] && cd libkcal ; $(MAKE) -f $(MAKEFILE) $@; ) || true
176 endif 176 ( [ -d microkde ] && cd microkde ; $(MAKE) -f $(MAKEFILE) $@; ) || true
177 ifndef PLATFORM 177 ( [ -d libkdepim ] && cd libkdepim ; $(MAKE) -f $(MAKEFILE) $@; ) || true
178 @echo PLATFORM is not defined. 178 ( [ -d kabc ] && cd kabc ; $(MAKE) -f $(MAKEFILE) $@; ) || true
179 $(error PLATFORM is not defined) 179 ( [ -d korganizer ] && cd korganizer ; $(MAKE) -f $(MAKEFILE) $@; ) || true
180 endif 180 ( [ -d kaddressbook ] && cd kaddressbook ; $(MAKE) -f $(MAKEFILE) $@; ) || true
181 ifdef BUILD_NO_LDAP_PLUGIN 181 ( [ -d kabc/plugins/file ] && cd kabc/plugins/file ; $(MAKE) -f $(MAKEFILE) $@; ) || true
182 @echo LDAP PLUGIN will not be build, because BUILD_NO_LDAP_PLUGIN is set to $(BUILD_NO_LDAP_PLUGIN) 182 ( [ -d kabc/plugins/dir ] && cd kabc/plugins/dir ; $(MAKE) -f $(MAKEFILE) $@; ) || true
183 endif 183 ( [ -d kabc/plugins/file ] && cd kabc/plugins/file ; $(MAKE) -f $(MAKEFILE) $@; ) || true
184 ifdef BUILD_NO_OPIE_PLUGIN 184 ( [ -d kabc/plugins/qtopia ] && cd kabc/plugins/qtopia ; $(MAKE) -f $(MAKEFILE) $@; ) || true
185 @echo OPIE PLUGIN will not be build, because BUILD_NO_OPIE_PLUGIN is set to $(BUILD_NO_OPIE_PLUGIN) 185 ( [ -d pwmanager/libcrypt/cipher ] && cd pwmanager/libcrypt/cipher ; $(MAKE) -f $(MAKEFILE) $@; ) || true
186 endif 186 ( [ -d pwmanager/libcrypt/error ] && cd pwmanager/libcrypt/error ; $(MAKE) -f $(MAKEFILE) $@; ) || true
187 ifdef BUILD_NO_QTOPIA_PLUGIN 187 ( [ -d pwmanager/libcrypt/mpi ] && cd pwmanager/libcrypt/mpi ; $(MAKE) -f $(MAKEFILE) $@; ) || true
188 @echo QTOPIA PLUGIN will not be build, because BUILD_NO__QTOPIA_PLUGIN is set to $(BUILD_NO__QTOPIA_PLUGIN) 188 ( [ -d pwmanager/libcrypt/zlib ] && cd pwmanager/libcrypt/zlib ; $(MAKE) -f $(MAKEFILE) $@; ) || true
189 endif 189 ( [ -d pwmanager/pwmanager ] && cd pwmanager/pwmanager ; $(MAKE) -f $(MAKEFILE) $@; ) || true
190 ifdef BUILD_NO_MICROMAIL 190uninstall_subdirs: qmake_all FORCE
191 @echo MICROMAIL will not be build, because BUILD_NO_MICROMAIL is set to $(BUILD_NO_MICROMAIL) 191 ( [ -d gammu/emb/common ] && cd gammu/emb/common ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
192 endif 192 ( [ -d gammu/emb/gammu ] && cd gammu/emb/gammu ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
193 ifdef BUILD_NO_SHARP_PLUGIN 193 ( [ -d libical ] && cd libical ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
194 @echo SHARP PLUGIN will not be build, because BUILD_NO_SHARP_PLUGIN is set to $(BUILD_NO_SHARP_PLUGIN) 194 ( [ -d libkcal ] && cd libkcal ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
195 else 195 ( [ -d microkde ] && cd microkde ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
196 ifndef SHARPDTMSDK 196 ( [ -d libkdepim ] && cd libkdepim ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
197 @echo SHARP PLUGIN can not be build, because SHARPDTMSDK is set to $(SHARPDTMSDK) 197 ( [ -d kabc ] && cd kabc ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
198 $(error SHARPDTMSDK is not defined) 198 ( [ -d korganizer ] && cd korganizer ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
199 endif 199 ( [ -d kaddressbook ] && cd kaddressbook ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
200 endif 200 ( [ -d kabc/plugins/file ] && cd kabc/plugins/file ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
201 ifdef BUILD_NO_GAMMU 201 ( [ -d kabc/plugins/dir ] && cd kabc/plugins/dir ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
202 @echo GAMMU will not be build, because BUILD_NO_GAMMU is set to $(BUILD_NO_GAMMU) 202 ( [ -d kabc/plugins/file ] && cd kabc/plugins/file ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
203 endif 203 ( [ -d kabc/plugins/qtopia ] && cd kabc/plugins/qtopia ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
204 ifdef BUILD_NO_PWMANAGER 204 ( [ -d pwmanager/libcrypt/cipher ] && cd pwmanager/libcrypt/cipher ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
205 @echo PWMANAGER will not be build, because BUILD_NO_PWMANAGER is set to $(BUILD_NO_PWMANAGER) 205 ( [ -d pwmanager/libcrypt/error ] && cd pwmanager/libcrypt/error ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
206 endif 206 ( [ -d pwmanager/libcrypt/mpi ] && cd pwmanager/libcrypt/mpi ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
207 @echo -------------------------------------- 207 ( [ -d pwmanager/libcrypt/zlib ] && cd pwmanager/libcrypt/zlib ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
208 208 ( [ -d pwmanager/pwmanager ] && cd pwmanager/pwmanager ; $(MAKE) -f $(MAKEFILE) uninstall; ) || true
209 209install_subdirs: qmake_all FORCE
210objects: 210 ( [ -d gammu/emb/common ] && cd gammu/emb/common ; $(MAKE) -f $(MAKEFILE) install; ) || true
211 for i in $(SUBDIRS); do mkdir -p $$i/obj/$(PLATFORM); done 211 ( [ -d gammu/emb/gammu ] && cd gammu/emb/gammu ; $(MAKE) -f $(MAKEFILE) install; ) || true
212 for i in $(SUBDIRS); do mkdir -p $$i/moc/$(PLATFORM); done 212 ( [ -d libical ] && cd libical ; $(MAKE) -f $(MAKEFILE) install; ) || true
213 mkdir -p libical/lib/$(PLATFORM) 213 ( [ -d libkcal ] && cd libkcal ; $(MAKE) -f $(MAKEFILE) install; ) || true
214 mkdir -p pwmanager/libcrypt/$(PLATFORM) 214 ( [ -d microkde ] && cd microkde ; $(MAKE) -f $(MAKEFILE) install; ) || true
215 215 ( [ -d libkdepim ] && cd libkdepim ; $(MAKE) -f $(MAKEFILE) install; ) || true
216clean: 216 ( [ -d kabc ] && cd kabc ; $(MAKE) -f $(MAKEFILE) install; ) || true
217 rm -rf libical/lib/$(PLATFORM)/*; 217 ( [ -d korganizer ] && cd korganizer ; $(MAKE) -f $(MAKEFILE) install; ) || true
218 rm -rf pwmanager/libcrypt/$(PLATFORM)/*; 218 ( [ -d kaddressbook ] && cd kaddressbook ; $(MAKE) -f $(MAKEFILE) install; ) || true
219 for i in $(SUBDIRS); do pushd $$i; make clean; rm -f *~;\ 219 ( [ -d kabc/plugins/file ] && cd kabc/plugins/file ; $(MAKE) -f $(MAKEFILE) install; ) || true
220 rm -f obj/$(PLATFORM)/*; rm -f moc/$(PLATFORM)/*; rm Makefile$(PLATFORM); popd; \ 220 ( [ -d kabc/plugins/dir ] && cd kabc/plugins/dir ; $(MAKE) -f $(MAKEFILE) install; ) || true
221 done 221 ( [ -d kabc/plugins/file ] && cd kabc/plugins/file ; $(MAKE) -f $(MAKEFILE) install; ) || true
222 222 ( [ -d kabc/plugins/qtopia ] && cd kabc/plugins/qtopia ; $(MAKE) -f $(MAKEFILE) install; ) || true
223install: 223 ( [ -d pwmanager/libcrypt/cipher ] && cd pwmanager/libcrypt/cipher ; $(MAKE) -f $(MAKEFILE) install; ) || true
224 224 ( [ -d pwmanager/libcrypt/error ] && cd pwmanager/libcrypt/error ; $(MAKE) -f $(MAKEFILE) install; ) || true
225 cd bin/kdepim; make install 225 ( [ -d pwmanager/libcrypt/mpi ] && cd pwmanager/libcrypt/mpi ; $(MAKE) -f $(MAKEFILE) install; ) || true
226 cp -r Pim $(QPEDIR)/apps 226 ( [ -d pwmanager/libcrypt/zlib ] && cd pwmanager/libcrypt/zlib ; $(MAKE) -f $(MAKEFILE) install; ) || true
227 cp db2file/db2file $(QPEDIR)/bin/db2file 227 ( [ -d pwmanager/pwmanager ] && cd pwmanager/pwmanager ; $(MAKE) -f $(MAKEFILE) install; ) || true
228 cp korganizer/korganizer.desktop $(QPEDIR)/apps/Pim/korganizer.desktop 228distclean: qmake_all FORCE
229 cp kaddressbook/kaddressbook.desktop $(QPEDIR)/apps/Pim/kaddressbook.desktop 229 ( [ -d gammu/emb/common ] && cd gammu/emb/common ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
230 cp kmicromail/kmicromail.desktop $(QPEDIR)/apps/Pim/kopiemail.desktop 230 ( [ -d gammu/emb/gammu ] && cd gammu/emb/gammu ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
231 cp pwmanager/pwmanager/pwmanager.desktop $(QPEDIR)/apps/Pim/pwmanager.desktop 231 ( [ -d libical ] && cd libical ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
232 232 ( [ -d libkcal ] && cd libkcal ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
233dist: 233 ( [ -d microkde ] && cd microkde ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
234 @echo Dont forget to do "make install" before "make dist" 234 ( [ -d libkdepim ] && cd libkdepim ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
235 rm -f *arm.ipk 235 ( [ -d kabc ] && cd kabc ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
236 rm -f *~ 236 ( [ -d korganizer ] && cd korganizer ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
237 cd ..; tar czf kdepimpi-$(KDEPIM_VERSION).tar.gz --exclude=obj --exclude=moc --exclude=CVS --exclude=Makefilezaurus --exclude=Makefileqtopia kdepim 237 ( [ -d kaddressbook ] && cd kaddressbook ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
238 mkipks kmicrokdelibs.control 238 ( [ -d kabc/plugins/file ] && cd kabc/plugins/file ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
239 mkipks korganizer.control 239 ( [ -d kabc/plugins/dir ] && cd kabc/plugins/dir ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
240 mkipks kaddressbook.control 240 ( [ -d kabc/plugins/file ] && cd kabc/plugins/file ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
241 ifndef BUILD_NO_MICROMAIL 241 ( [ -d kabc/plugins/qtopia ] && cd kabc/plugins/qtopia ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
242 mkipks kopiemail.control 242 ( [ -d pwmanager/libcrypt/cipher ] && cd pwmanager/libcrypt/cipher ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
243 endif 243 ( [ -d pwmanager/libcrypt/error ] && cd pwmanager/libcrypt/error ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
244 ifndef BUILD_NO_SHARP_PLUGIN 244 ( [ -d pwmanager/libcrypt/mpi ] && cd pwmanager/libcrypt/mpi ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
245 mkipks ksharpPIM-DTMaccess.control 245 ( [ -d pwmanager/libcrypt/zlib ] && cd pwmanager/libcrypt/zlib ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
246 endif 246 ( [ -d pwmanager/pwmanager ] && cd pwmanager/pwmanager ; $(MAKE) -f $(MAKEFILE) $@; $(DEL_FILE) $(MAKEFILE); ) || true
247 mkipks korganizer-alarm.control 247
248 ifndef BUILD_NO_GAMMU 248install: install_subdirs
249 mkipks kmobilephoneaccess.control 249
250 endif 250uninstall: uninstall_subdirs
251 ifndef BUILD_NO_PWMANAGER 251
252 mkipks pwmanager.control 252FORCE:
253 endif
254 mkipks pimTABicon.control
255
256tmake: objects \
257 qtcompat/Makefile$(PLATFORM) \
258 microkde/Makefile$(PLATFORM) \
259 libkcal/Makefile$(PLATFORM) \
260 libkdepim/Makefile$(PLATFORM) \
261 korganizer/Makefile$(PLATFORM) \
262 kalarmd/Makefile$(PLATFORM) \
263 libical/src/libical/Makefile$(PLATFORM) \
264 libical/src/libicalss/Makefile$(PLATFORM) \
265 kabc/Makefile$(PLATFORM) \
266 kabc/formats/binary/Makefile$(PLATFORM) \
267 kabc/plugins/file/Makefile$(PLATFORM) \
268 kabc/plugins/dir/Makefile$(PLATFORM) \
269 kabc/plugins/ldap/Makefile$(PLATFORM) \
270 kabc/plugins/opie/Makefile$(PLATFORM) \
271 kabc/plugins/qtopia/Makefile$(PLATFORM) \
272 kabc/plugins/sharpdtm/Makefile$(PLATFORM) \
273 kaddressbook/Makefile$(PLATFORM) \
274 kmicromail/Makefile$(PLATFORM) \
275 kmicromail/libetpan/Makefile$(PLATFORM) \
276 kmicromail/libmailwrapper/Makefile$(PLATFORM) \
277 gammu/emb/common/Makefile$(PLATFORM) \
278 gammu/emb/gammu/Makefile$(PLATFORM) \
279 pwmanager/pwmanager/Makefile$(PLATFORM) \
280 pwmanager/libcrypt/mpi/Makefile$(PLATFORM) \
281 pwmanager/libcrypt/error/Makefile$(PLATFORM) \
282 pwmanager/libcrypt/cipher/Makefile$(PLATFORM) \
283 pwmanager/libcrypt/zlib/Makefile$(PLATFORM)
284
285qtcompat/Makefile$(PLATFORM): qtcompat/qtcompat.pro
286 cd qtcompat; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" qtcompat.pro -o Makefile$(PLATFORM)
287
288microkde/Makefile$(PLATFORM): microkde/microkdeE.pro
289 cd microkde; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" microkdeE.pro -o Makefile$(PLATFORM)
290
291libkcal/Makefile$(PLATFORM): libkcal/libkcalE.pro
292 cd libkcal; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" libkcalE.pro -o Makefile$(PLATFORM)
293
294
295libkdepim/Makefile$(PLATFORM): libkdepim/libkdepimE.pro
296 cd libkdepim; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" libkdepimE.pro -o Makefile$(PLATFORM)
297
298kalarmd/Makefile$(PLATFORM): kalarmd/kalarmdE.pro
299 cd kalarmd; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" kalarmdE.pro -o Makefile$(PLATFORM)
300
301korganizer/Makefile$(PLATFORM): korganizer/korganizerE.pro
302 cd korganizer; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" korganizerE.pro -o Makefile$(PLATFORM)
303
304libical/src/libical/Makefile$(PLATFORM): libical/src/libical/libicalE.pro
305 cd libical/src/libical; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" libicalE.pro -o Makefile$(PLATFORM)
306
307libical/src/libicalss/Makefile$(PLATFORM): libical/src/libicalss/libicalssE.pro
308 cd libical/src/libicalss; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" libicalssE.pro -o Makefile$(PLATFORM)
309
310kabc/Makefile$(PLATFORM): kabc/kabcE.pro
311 cd kabc; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" kabcE.pro -o Makefile$(PLATFORM)
312
313kabc/formats/binary/Makefile$(PLATFORM): kabc/formats/binary/kabcformat_binaryE.pro
314 cd kabc/formats/binary; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" kabcformat_binaryE.pro -o Makefile$(PLATFORM)
315
316kabc/plugins/file/Makefile$(PLATFORM): kabc/plugins/file/fileE.pro
317 cd kabc/plugins/file; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" fileE.pro -o Makefile$(PLATFORM)
318
319kabc/plugins/dir/Makefile$(PLATFORM): kabc/plugins/dir/dirE.pro
320 cd kabc/plugins/dir; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" dirE.pro -o Makefile$(PLATFORM)
321
322kabc/plugins/ldap/Makefile$(PLATFORM): kabc/plugins/ldap/ldapE.pro
323 cd kabc/plugins/ldap; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" ldapE.pro -o Makefile$(PLATFORM)
324
325kabc/plugins/opie/Makefile$(PLATFORM): kabc/plugins/opie/opieE.pro
326 cd kabc/plugins/opie; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" opieE.pro -o Makefile$(PLATFORM)
327
328kabc/plugins/qtopia/Makefile$(PLATFORM): kabc/plugins/qtopia/qtopiaE.pro
329 cd kabc/plugins/qtopia; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" qtopiaE.pro -o Makefile$(PLATFORM)
330
331kabc/plugins/sharpdtm/Makefile$(PLATFORM): kabc/plugins/sharpdtm/sharpdtmE.pro
332 cd kabc/plugins/sharpdtm; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" sharpdtmE.pro -o Makefile$(PLATFORM)
333
334kaddressbook/Makefile$(PLATFORM): kaddressbook/kaddressbookE.pro
335 cd kaddressbook; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" kaddressbookE.pro -o Makefile$(PLATFORM)
336
337kmicromail/Makefile$(PLATFORM): kmicromail/kmicromailE.pro
338 cd kmicromail; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" kmicromailE.pro -o Makefile$(PLATFORM)
339
340kmicromail/libetpan/Makefile$(PLATFORM): kmicromail/libetpan/libetpanE.pro
341 cd kmicromail/libetpan; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" libetpanE.pro -o Makefile$(PLATFORM)
342
343kmicromail/libmailwrapper/Makefile$(PLATFORM): kmicromail/libmailwrapper/libmailwrapperE.pro
344 cd kmicromail/libmailwrapper; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" libmailwrapperE.pro -o Makefile$(PLATFORM)
345
346gammu/emb/common/Makefile$(PLATFORM): gammu/emb/common/commonE.pro
347 cd gammu/emb/common; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" commonE.pro -o Makefile$(PLATFORM)
348
349gammu/emb/gammu/Makefile$(PLATFORM): gammu/emb/gammu/gammuE.pro
350 cd gammu/emb/gammu; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" gammuE.pro -o Makefile$(PLATFORM)
351
352pwmanager/pwmanager/Makefile$(PLATFORM): pwmanager/pwmanager/pwmanagerE.pro
353 cd pwmanager/pwmanager; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" pwmanagerE.pro -o Makefile$(PLATFORM)
354
355
356pwmanager/libcrypt/mpi/Makefile$(PLATFORM): pwmanager/libcrypt/mpi/mpi.pro
357 cd pwmanager/libcrypt/mpi;tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" mpi.pro -o Makefile$(PLATFORM)
358
359pwmanager/libcrypt/error/Makefile$(PLATFORM): pwmanager/libcrypt/error/error.pro
360 cd pwmanager/libcrypt/error;tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" error.pro -o Makefile$(PLATFORM)
361
362pwmanager/libcrypt/cipher/Makefile$(PLATFORM): pwmanager/libcrypt/cipher/cipher.pro
363 cd pwmanager/libcrypt/cipher;tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" cipher.pro -o Makefile$(PLATFORM)
364
365pwmanager/libcrypt/zlib/Makefile$(PLATFORM): pwmanager/libcrypt/zlib/zlib.pro
366 cd pwmanager/libcrypt/zlib;tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" zlib.pro -o Makefile$(PLATFORM)
367
368 253
diff --git a/bin/kdepim/Zaurus-KDE_syncHowTo.txt b/bin/kdepim/Zaurus-KDE_syncHowTo.txt
index 6ceabdb..8186dd7 100644
--- a/bin/kdepim/Zaurus-KDE_syncHowTo.txt
+++ b/bin/kdepim/Zaurus-KDE_syncHowTo.txt
@@ -46,130 +46,133 @@ If a conflict occurs when syncing KO/PI<->KDE on the desktop,
46automatically the newest entry is choosen. 46automatically the newest entry is choosen.
47(To avoid the need of user interaction) 47(To avoid the need of user interaction)
48KO/Pi on desktop sends synced file to Zaurus. 48KO/Pi on desktop sends synced file to Zaurus.
49KO/Pi on desktop is in "waiting mode" to get synced file back. 49KO/Pi on desktop is in "waiting mode" to get synced file back.
50Zaurus is syncing it's own calendar with the received file. 50Zaurus is syncing it's own calendar with the received file.
51Here can be some user interaction needed, i.e. 51Here can be some user interaction needed, i.e.
52if the sync profile is configured as 52if the sync profile is configured as
53"ask for every entry on conflict" and a conflict occurs. 53"ask for every entry on conflict" and a conflict occurs.
54Zaurus sends back synced file to desktop. 54Zaurus sends back synced file to desktop.
55Syncing on Zaurus is complete now. 55Syncing on Zaurus is complete now.
56KO/Pi on desktop gets back synced file. 56KO/Pi on desktop gets back synced file.
57KO/Pi on desktop removes all entries in its own calendar and 57KO/Pi on desktop removes all entries in its own calendar and
58reloads the synced file. 58reloads the synced file.
59KO/Pi on desktop syncs with KDE. 59KO/Pi on desktop syncs with KDE.
60After syncing with KDE is finished, KO/Pi closes 60After syncing with KDE is finished, KO/Pi closes
61the "remote syncing mode" window and displays 61the "remote syncing mode" window and displays
62a "syncing complete" message in the headline. 62a "syncing complete" message in the headline.
63 63
64The actual syncing KO/Pi on desktop <-> KDE is 64The actual syncing KO/Pi on desktop <-> KDE is
65performed by a small command line tool "kdecaldump", 65performed by a small command line tool "kdecaldump",
66which writes/reads the complete KDE calendar resources to 66which writes/reads the complete KDE calendar resources to
67a file/from a file. 67a file/from a file.
68KO/Pi tags changed entries such that an unchanged entry 68KO/Pi tags changed entries such that an unchanged entry
69is not changed in KDE by kdecaldump. That is important for 69is not changed in KDE by kdecaldump. That is important for
70calendar entries in KDE, stored in a "disconnected IMAP" calendar resource. 70calendar entries in KDE, stored in a "disconnected IMAP" calendar resource.
71 71
72 72
73Same way is KA/Pi working. 73Same way is KA/Pi working.
74 74
75 75
76***************************************************** 76*****************************************************
771) Installing KA/Pi+KO/Pi on the Z 771) Installing KA/Pi+KO/Pi on the Z
78***************************************************** 78*****************************************************
79 79
80Download latest version of KA/Pi+KO/Pi from 80Download latest version of KA/Pi+KO/Pi from
81http://sourceforge.net/projects/kdepimpi/ 81http://sourceforge.net/projects/kdepimpi/
82Project KDE/Pim. 82Project KDE/Pim.
83Direct link is: 83Direct link is:
84http://sourceforge.net/project/showfiles.php?group_id=104103&package_id=112604 84http://sourceforge.net/project/showfiles.php?group_id=104103&package_id=112604
85Click on the version number to read the release notes/change log. 85Click on the version number to read the release notes/change log.
86Choose there the right precompiled package for your Z: 86Choose there the right precompiled package for your Z:
87For Sharp ROM 87For Sharp ROM
88-File: kdepim_1.x.xx_for_SharpROM.ipk.zip 88-File: kdepim_1.x.xx_for_SharpROM.ipk.zip
89For Open Zaurus ROM: 89For Open Zaurus ROM:
90-File: kdepim_1.x.xx_for_OZ-gcc3xx.ipk.zip 90-File: kdepim_1.x.xx_for_OZ-gcc3xx.ipk.zip
91If unsure, choose: 91If unsure, choose:
92-File: kdepim_1.x.xx_for_SharpROM.ipk.zip 92-File: kdepim_1.x.xx_for_SharpROM.ipk.zip
93 93
94Unzip the file and install the packages as usual on your Z. 94Unzip the file and install the packages as usual on your Z.
95In order to intstall KA/Pi+KO/Pi on your Z, 95In order to intstall KA/Pi+KO/Pi on your Z,
96you need to install the following files: 96you need to install the following files:
97kmicrokdelibs_1.x.xx_arm.ipk 97kmicrokdelibs_1.x.xx_arm.ipk
98kaddressbook_1.x.xx_arm.ipk 98kaddressbook_1.x.xx_arm.ipk
99korganizer_1.x.xx_arm.ipk 99korganizer_1.x.xx_arm.ipk
100 100
101***************************************************** 101*****************************************************
1022) Installing desktop version of KA/Pi+KO/Pi on the desktop 1022) Installing desktop version of KA/Pi+KO/Pi on the desktop
103***************************************************** 103*****************************************************
104 104
105Precompiled packages are available for SuSE 9.1. 105Precompiled packages are available for SuSE 9.1.
106Choose on the above download location: 106Choose on the above download location:
107File: KDE-Pim-Pi-1.9.11-SuSE9.1.i586.rpm 107File: KDE-Pim-Pi-1.9.11-SuSE9.1.i586.rpm
108Download file and install it on console with 108Download file and install it on console with
109su 109su
110rpm -ihv KDE-Pim-Pi-1.9.11-SuSE9.1.i586.rpm 110rpm -ihv KDE-Pim-Pi-1.9.11-SuSE_9.1.i586.rpm
111(NOTE:update with rpm -Uhv KDE-Pim-Pi-1.9.11-SuSE9.1.i586.rpm) 111NOTE:update with
112 rpm -Uhv KDE-Pim-Pi-1.9.11-SuSE_9.1.i586.rpm
113 erase (uninstall) with
114 rpm -e KDE-Pim-Pi-1.9.11-SuSE_9.1
112NOTE for users of SuSE 9.1: 115NOTE for users of SuSE 9.1:
113You need KDE version 3.3.0 or higher on your desktop. 116You need KDE version 3.3.0 or higher on your desktop.
114Plese make an online update in SuSE (YAST), then update 117Plese make an online update in SuSE (YAST), then update
115your KDE to version 3.3.0 or higher. 118your KDE to version 3.3.0 or higher.
116You can find links to updated precompiled versions of KDE 119You can find links to updated precompiled versions of KDE
117for SuSE 9.1 on the SusE web site, 120for SuSE 9.1 on the SusE web site,
118a direct link is for example: 121a direct link is for example:
119ftp://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/suse/i386/supplementary/KDE/update_for_9.1 122ftp://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/suse/i386/supplementary/KDE/update_for_9.1
120HOWTO UPDATE KDE: 123HOWTO UPDATE KDE:
121Download there the packages in "base". 124Download there the packages in "base".
122And the needed package for your language in "internationalization". 125And the needed package for your language in "internationalization".
123Put all downloaded files in one "installation" directory. 126Put all downloaded files in one "installation" directory.
124Open console and go to the downloaded "installation" directory. 127Open console and go to the downloaded "installation" directory.
125Do there a 128Do there a
126su 129su
127and then perform a test for the update: 130and then perform a test for the update:
128rpm -Uhv --test *.rpm 131rpm -Uhv --test *.rpm
129 132
130If no dependencies are shown, you can do the actual update with 133If no dependencies are shown, you can do the actual update with
131rpm -Uhv *.rpm 134rpm -Uhv *.rpm
132 135
133If there are missing dependencies, you can resolve them by 136If there are missing dependencies, you can resolve them by
134- download the needed updated KDE package from the 137- download the needed updated KDE package from the
135 "applications" or from the "development" folder on the server. 138 "applications" or from the "development" folder on the server.
136- adding a needed rpm package from the SuSE install DVD 139- adding a needed rpm package from the SuSE install DVD
137- remove the package that has dependencies from your "installation" directory. 140- remove the package that has dependencies from your "installation" directory.
138 141
139Do the 142Do the
140rpm -Uhv --test *.rpm 143rpm -Uhv --test *.rpm
141until you get no dependencies and no errors, then do a 144until you get no dependencies and no errors, then do a
142rpm -Uhv *.rpm 145rpm -Uhv *.rpm
143Run 146Run
144SuSEconfig 147SuSEconfig
145after installing with rpm is finished. 148after installing with rpm is finished.
146Restart KDE. 149Restart KDE.
147 150
148***************************************************** 151*****************************************************
1493) Connection your Z to the desktop via network 1523) Connection your Z to the desktop via network
150 (network connection can be set up via USB cable or (W)Lan 153 (network connection can be set up via USB cable or (W)Lan
151***************************************************** 154*****************************************************
152 155
153a) Connection via network cable/(W)Lan cards 156a) Connection via network cable/(W)Lan cards
154 Connect your desktop to the network. 157 Connect your desktop to the network.
155 Set up networking on the Z. 158 Set up networking on the Z.
156 Make sure, you can ping the desktop from Z. 159 Make sure, you can ping the desktop from Z.
157b) Connection via USB cable:(is working for Z 7x0 and Z5500) 160b) Connection via USB cable:(is working for Z 7x0 and Z5500)
158 (i) Open console on desktop and type 161 (i) Open console on desktop and type
159 su 162 su
160 tail -f /var/log/messages 163 tail -f /var/log/messages
161 (ii) Connect your Z with the USB cable to your desktop 164 (ii) Connect your Z with the USB cable to your desktop
162 You should get as output in the above console 165 You should get as output in the above console
163 something like this: 166 something like this:
164 ("BUG" is the name of the desktop computer!) 167 ("BUG" is the name of the desktop computer!)
165 Oct 26 12:49:37 BUG kernel: usb 2-2: new full speed USB device using address 2 168 Oct 26 12:49:37 BUG kernel: usb 2-2: new full speed USB device using address 2
166 Oct 26 12:49:37 BUG kernel: usb 2-2: Product: SL-C860 169 Oct 26 12:49:37 BUG kernel: usb 2-2: Product: SL-C860
167 Oct 26 12:49:37 BUG kernel: usb 2-2: Manufacturer: Sharp 170 Oct 26 12:49:37 BUG kernel: usb 2-2: Manufacturer: Sharp
168 Oct 26 12:49:37 BUG /etc/hotplug/usb.agent[22659]: need a device for this command 171 Oct 26 12:49:37 BUG /etc/hotplug/usb.agent[22659]: need a device for this command
169 Oct 26 12:49:43 BUG kernel: usb0: register usbnet at usb-0000:00:1d.0-2, Sharp Zaurus, PXA-2xx based 172 Oct 26 12:49:43 BUG kernel: usb0: register usbnet at usb-0000:00:1d.0-2, Sharp Zaurus, PXA-2xx based
170 Oct 26 12:49:43 BUG kernel: usbcore: registered new driver usbnet 173 Oct 26 12:49:43 BUG kernel: usbcore: registered new driver usbnet
171 You see in the 5. line ("BUG kernel: usb0: register"), that usb device usb0 is used. 174 You see in the 5. line ("BUG kernel: usb0: register"), that usb device usb0 is used.
172 (iii) Create a network startup entry in /etc/sysconfig/network 175 (iii) Create a network startup entry in /etc/sysconfig/network
173 Depending of the number X of the used usb device, create a file 176 Depending of the number X of the used usb device, create a file
174 /etc/sysconfig/network/ifcfg-usbX 177 /etc/sysconfig/network/ifcfg-usbX
175 (in our case /etc/sysconfig/network/ifcfg-usb0 ) 178 (in our case /etc/sysconfig/network/ifcfg-usb0 )
diff --git a/libkdepim/ksyncmanager.cpp b/libkdepim/ksyncmanager.cpp
index 9857e3e..9a1f2a9 100644
--- a/libkdepim/ksyncmanager.cpp
+++ b/libkdepim/ksyncmanager.cpp
@@ -290,128 +290,129 @@ void KSyncManager::slotSyncMenu( int action )
290 break; 290 break;
291 291
292 } 292 }
293 } else { 293 } else {
294 if ( temp->getIsPhoneSync() ) { 294 if ( temp->getIsPhoneSync() ) {
295 mPhoneDevice = temp->getPhoneDevice( ) ; 295 mPhoneDevice = temp->getPhoneDevice( ) ;
296 mPhoneConnection = temp->getPhoneConnection( ); 296 mPhoneConnection = temp->getPhoneConnection( );
297 mPhoneModel = temp->getPhoneModel( ); 297 mPhoneModel = temp->getPhoneModel( );
298 syncPhone(); 298 syncPhone();
299 } else if ( temp->getIsPiSync() ) { 299 } else if ( temp->getIsPiSync() ) {
300 if ( mTargetApp == KAPI ) { 300 if ( mTargetApp == KAPI ) {
301 mPassWordPiSync = temp->getRemotePwAB(); 301 mPassWordPiSync = temp->getRemotePwAB();
302 mActiveSyncPort = temp->getRemotePortAB(); 302 mActiveSyncPort = temp->getRemotePortAB();
303 mActiveSyncIP = temp->getRemoteIPAB(); 303 mActiveSyncIP = temp->getRemoteIPAB();
304 } else if ( mTargetApp == KOPI ) { 304 } else if ( mTargetApp == KOPI ) {
305 mPassWordPiSync = temp->getRemotePw(); 305 mPassWordPiSync = temp->getRemotePw();
306 mActiveSyncPort = temp->getRemotePort(); 306 mActiveSyncPort = temp->getRemotePort();
307 mActiveSyncIP = temp->getRemoteIP(); 307 mActiveSyncIP = temp->getRemoteIP();
308 } else { 308 } else {
309 mPassWordPiSync = temp->getRemotePwPWM(); 309 mPassWordPiSync = temp->getRemotePwPWM();
310 mActiveSyncPort = temp->getRemotePortPWM(); 310 mActiveSyncPort = temp->getRemotePortPWM();
311 mActiveSyncIP = temp->getRemoteIPPWM(); 311 mActiveSyncIP = temp->getRemoteIPPWM();
312 } 312 }
313 syncPi(); 313 syncPi();
314 while ( !mPisyncFinished ) { 314 while ( !mPisyncFinished ) {
315 //qDebug("waiting "); 315 //qDebug("waiting ");
316 qApp->processEvents(); 316 qApp->processEvents();
317 } 317 }
318 } else 318 } else
319 syncRemote( temp ); 319 syncRemote( temp );
320 320
321 } 321 }
322 } 322 }
323 delete temp; 323 delete temp;
324 setBlockSave(false); 324 setBlockSave(false);
325} 325}
326 326
327void KSyncManager::enableQuick( bool ask ) 327void KSyncManager::enableQuick( bool ask )
328{ 328{
329 bool autoStart; 329 bool autoStart;
330 bool changed = false; 330 bool changed = false;
331 if ( ask ) { 331 if ( ask ) {
332 QDialog dia ( 0, "input-dialog", true ); 332 QDialog dia ( 0, "input-dialog", true );
333 QLineEdit lab ( &dia ); 333 QLineEdit lab ( &dia );
334 QVBoxLayout lay( &dia ); 334 QVBoxLayout lay( &dia );
335 lab.setText( mPrefs->mPassiveSyncPort ); 335 lab.setText( mPrefs->mPassiveSyncPort );
336 lay.setMargin(7); 336 lay.setMargin(7);
337 lay.setSpacing(7); 337 lay.setSpacing(7);
338 int po = 9197+mTargetApp; 338 int po = 9197+mTargetApp;
339 QLabel label ( i18n("Port number (Default: %1)").arg(po), &dia ); 339 QLabel label ( i18n("Port number (Default: %1)").arg(po), &dia );
340 lay.addWidget( &label); 340 lay.addWidget( &label);
341 lay.addWidget( &lab); 341 lay.addWidget( &lab);
342 342
343 QLineEdit lepw ( &dia ); 343 QLineEdit lepw ( &dia );
344 lepw.setText( mPrefs->mPassiveSyncPw ); 344 lepw.setText( mPrefs->mPassiveSyncPw );
345 QLabel label2 ( i18n("Password to enable\naccess from remote:"), &dia ); 345 QLabel label2 ( i18n("Password to enable\naccess from remote:"), &dia );
346 lay.addWidget( &label2); 346 lay.addWidget( &label2);
347 lay.addWidget( &lepw); 347 lay.addWidget( &lepw);
348 QCheckBox autostart(i18n("Automatically start\nat application startup"), &dia ); 348 QCheckBox autostart(i18n("Automatically start\nat application startup"), &dia );
349 lay.addWidget( &autostart); 349 lay.addWidget( &autostart);
350 autostart.setChecked( mPrefs->mPassiveSyncAutoStart ); 350 autostart.setChecked( mPrefs->mPassiveSyncAutoStart );
351#ifdef DESKTOP_VERSION 351#ifdef DESKTOP_VERSION
352#ifdef _WIN32_ 352#ifdef _WIN32_
353 QCheckBox syncdesktop( i18n("Automatically sync with Outlook\nwhen receiving sync request"),&dia ); 353 QCheckBox syncdesktop( i18n("Automatically sync with Outlook\nwhen receiving sync request"),&dia );
354 syncdesktop.hide();// not implemented!
354#else 355#else
355 QCheckBox syncdesktop( i18n("Automatically sync with KDE-Desktop\nwhen receiving sync request"),&dia ); 356 QCheckBox syncdesktop( i18n("Automatically sync with KDE-Desktop\nwhen receiving sync request"),&dia );
356#endif 357#endif
357 lay.addWidget( &syncdesktop); 358 lay.addWidget( &syncdesktop);
358#else 359#else
359 mPrefs->mPassiveSyncWithDesktop = false; 360 mPrefs->mPassiveSyncWithDesktop = false;
360 QCheckBox syncdesktop( i18n("Automatically sync\nwith KDE-Desktop"),&dia ); 361 QCheckBox syncdesktop( i18n("Automatically sync\nwith KDE-Desktop"),&dia );
361 syncdesktop.hide(); 362 syncdesktop.hide();
362#endif 363#endif
363 syncdesktop.setChecked( mPrefs->mPassiveSyncWithDesktop ); 364 syncdesktop.setChecked( mPrefs->mPassiveSyncWithDesktop );
364 365
365 dia.setFixedSize( 230,120 ); 366 dia.setFixedSize( 230,120 );
366 dia.setCaption( i18n("Enter port for Pi-Sync") ); 367 dia.setCaption( i18n("Enter port for Pi-Sync") );
367 QPushButton pb ( "OK", &dia); 368 QPushButton pb ( "OK", &dia);
368 lay.addWidget( &pb ); 369 lay.addWidget( &pb );
369 connect(&pb, SIGNAL( clicked() ), &dia, SLOT ( accept() ) ); 370 connect(&pb, SIGNAL( clicked() ), &dia, SLOT ( accept() ) );
370 dia.show(); 371 dia.show();
371 if ( ! dia.exec() ) 372 if ( ! dia.exec() )
372 return; 373 return;
373 dia.hide(); 374 dia.hide();
374 qApp->processEvents(); 375 qApp->processEvents();
375 if ( mPrefs->mPassiveSyncPw != lepw.text() ) { 376 if ( mPrefs->mPassiveSyncPw != lepw.text() ) {
376 changed = true; 377 changed = true;
377 mPrefs->mPassiveSyncPw = lepw.text(); 378 mPrefs->mPassiveSyncPw = lepw.text();
378 } 379 }
379 if ( mPrefs->mPassiveSyncPort != lab.text() ) { 380 if ( mPrefs->mPassiveSyncPort != lab.text() ) {
380 mPrefs->mPassiveSyncPort = lab.text(); 381 mPrefs->mPassiveSyncPort = lab.text();
381 changed = true; 382 changed = true;
382 } 383 }
383 autoStart = autostart.isChecked(); 384 autoStart = autostart.isChecked();
384 if (mPrefs->mPassiveSyncWithDesktop != syncdesktop.isChecked() ) { 385 if (mPrefs->mPassiveSyncWithDesktop != syncdesktop.isChecked() ) {
385 changed = true; 386 changed = true;
386 mPrefs->mPassiveSyncWithDesktop = syncdesktop.isChecked(); 387 mPrefs->mPassiveSyncWithDesktop = syncdesktop.isChecked();
387 } 388 }
388 } 389 }
389 else 390 else
390 autoStart = mPrefs->mPassiveSyncAutoStart; 391 autoStart = mPrefs->mPassiveSyncAutoStart;
391 if ( autoStart != mPrefs->mPassiveSyncAutoStart ) 392 if ( autoStart != mPrefs->mPassiveSyncAutoStart )
392 changed = true; 393 changed = true;
393 bool ok; 394 bool ok;
394 mPrefs->mPassiveSyncAutoStart = false; 395 mPrefs->mPassiveSyncAutoStart = false;
395 Q_UINT16 port = mPrefs->mPassiveSyncPort.toUInt(&ok); 396 Q_UINT16 port = mPrefs->mPassiveSyncPort.toUInt(&ok);
396 if ( ! ok ) { 397 if ( ! ok ) {
397 KMessageBox::information( 0, i18n("No valid port")); 398 KMessageBox::information( 0, i18n("No valid port"));
398 return; 399 return;
399 } 400 }
400 //qDebug("port %d ", port); 401 //qDebug("port %d ", port);
401 mServerSocket = new KServerSocket ( mPrefs->mPassiveSyncPw, port ,1 ); 402 mServerSocket = new KServerSocket ( mPrefs->mPassiveSyncPw, port ,1 );
402 mServerSocket->setFileName( defaultFileName() ); 403 mServerSocket->setFileName( defaultFileName() );
403 //qDebug("connected "); 404 //qDebug("connected ");
404 if ( !mServerSocket->ok() ) { 405 if ( !mServerSocket->ok() ) {
405 KMessageBox::information( 0, i18n("Failed to bind or\nlisten to the port!")); 406 KMessageBox::information( 0, i18n("Failed to bind or\nlisten to the port!"));
406 delete mServerSocket; 407 delete mServerSocket;
407 mServerSocket = 0; 408 mServerSocket = 0;
408 return; 409 return;
409 } 410 }
410 mPrefs->mPassiveSyncAutoStart = autoStart; 411 mPrefs->mPassiveSyncAutoStart = autoStart;
411 if ( changed ) { 412 if ( changed ) {
412 mPrefs->writeConfig(); 413 mPrefs->writeConfig();
413 } 414 }
414 connect( mServerSocket, SIGNAL ( request_file() ),this, SIGNAL ( request_file() ) ); 415 connect( mServerSocket, SIGNAL ( request_file() ),this, SIGNAL ( request_file() ) );
415 connect( mServerSocket, SIGNAL ( file_received( bool ) ), this, SIGNAL ( getFile( bool ) ) ); 416 connect( mServerSocket, SIGNAL ( file_received( bool ) ), this, SIGNAL ( getFile( bool ) ) );
416} 417}
417 418
@@ -512,135 +513,137 @@ void KSyncManager::multiSync( bool askforPrefs )
512 } 513 }
513 mCurrentSyncDevice = i18n("Multiple profiles") ; 514 mCurrentSyncDevice = i18n("Multiple profiles") ;
514 mSyncAlgoPrefs = mPrefs->mRingSyncAlgoPrefs; 515 mSyncAlgoPrefs = mPrefs->mRingSyncAlgoPrefs;
515 if ( askforPrefs ) { 516 if ( askforPrefs ) {
516 if ( !edit_sync_options()) { 517 if ( !edit_sync_options()) {
517 mParent->topLevelWidget()->setCaption( i18n("Syncing aborted.") ); 518 mParent->topLevelWidget()->setCaption( i18n("Syncing aborted.") );
518 return; 519 return;
519 } 520 }
520 mPrefs->mRingSyncAlgoPrefs = mSyncAlgoPrefs; 521 mPrefs->mRingSyncAlgoPrefs = mSyncAlgoPrefs;
521 } 522 }
522 mParent->topLevelWidget()->setCaption(i18n("Multiple sync started.") ); 523 mParent->topLevelWidget()->setCaption(i18n("Multiple sync started.") );
523 qApp->processEvents(); 524 qApp->processEvents();
524 int num = ringSync() ; 525 int num = ringSync() ;
525 if ( num > 1 ) 526 if ( num > 1 )
526 ringSync(); 527 ringSync();
527 setBlockSave(false); 528 setBlockSave(false);
528 if ( num ) 529 if ( num )
529 emit save(); 530 emit save();
530 if ( num ) 531 if ( num )
531 mParent->topLevelWidget()->setCaption(i18n("%1 profiles synced. Multiple sync complete!").arg(num) ); 532 mParent->topLevelWidget()->setCaption(i18n("%1 profiles synced. Multiple sync complete!").arg(num) );
532 else 533 else
533 mParent->topLevelWidget()->setCaption(i18n("Nothing synced! No profiles defined for multisync!")); 534 mParent->topLevelWidget()->setCaption(i18n("Nothing synced! No profiles defined for multisync!"));
534 return; 535 return;
535} 536}
536 537
537int KSyncManager::ringSync() 538int KSyncManager::ringSync()
538{ 539{
539 int syncedProfiles = 0; 540 int syncedProfiles = 0;
540 unsigned int i; 541 unsigned int i;
541 QTime timer; 542 QTime timer;
542 KConfig config ( locateLocal( "config","ksyncprofilesrc" ) ); 543 KConfig config ( locateLocal( "config","ksyncprofilesrc" ) );
543 QStringList syncProfileNames = mSyncProfileNames; 544 QStringList syncProfileNames = mSyncProfileNames;
544 KSyncProfile* temp = new KSyncProfile (); 545 KSyncProfile* temp = new KSyncProfile ();
545 mAskForPreferences = false; 546 mAskForPreferences = false;
546 for ( i = 0; i < syncProfileNames.count(); ++i ) { 547 for ( i = 0; i < syncProfileNames.count(); ++i ) {
547 mCurrentSyncProfile = i; 548 mCurrentSyncProfile = i;
548 temp->setName(syncProfileNames[mCurrentSyncProfile]); 549 temp->setName(syncProfileNames[mCurrentSyncProfile]);
549 temp->readConfig(&config); 550 temp->readConfig(&config);
550 551
551 bool includeInRingSync; 552 bool includeInRingSync;
552 switch(mTargetApp) 553 switch(mTargetApp)
553 { 554 {
554 case (KAPI): 555 case (KAPI):
555 includeInRingSync = temp->getIncludeInRingSyncAB(); 556 includeInRingSync = temp->getIncludeInRingSyncAB();
556 break; 557 break;
557 case (KOPI): 558 case (KOPI):
558 includeInRingSync = temp->getIncludeInRingSync(); 559 includeInRingSync = temp->getIncludeInRingSync();
559 break; 560 break;
560 case (PWMPI): 561 case (PWMPI):
561 includeInRingSync = temp->getIncludeInRingSyncPWM(); 562 includeInRingSync = temp->getIncludeInRingSyncPWM();
562 break; 563 break;
563 default: 564 default:
564 qDebug("KSyncManager::ringSync: invalid apptype selected"); 565 qDebug("KSyncManager::ringSync: invalid apptype selected");
565 break; 566 break;
566 567
567 } 568 }
568 569
569 570
570 if ( includeInRingSync && ( i < 1 || i > 2 )) { 571 if ( includeInRingSync && ( i < 1 || i > 2 )) {
571 mParent->topLevelWidget()->setCaption(i18n("Profile ")+syncProfileNames[mCurrentSyncProfile]+ i18n(" is synced ... ")); 572 mParent->topLevelWidget()->setCaption(i18n("Profile ")+syncProfileNames[mCurrentSyncProfile]+ i18n(" is synced ... "));
572 ++syncedProfiles; 573 ++syncedProfiles;
573 // mAskForPreferences = temp->getAskForPreferences(); 574 // mAskForPreferences = temp->getAskForPreferences();
574 mWriteBackFile = temp->getWriteBackFile(); 575 mWriteBackFile = temp->getWriteBackFile();
575 mWriteBackExistingOnly = temp->getWriteBackExisting(); 576 mWriteBackExistingOnly = temp->getWriteBackExisting();
577 mIsKapiFile = temp->getIsKapiFile();
576 mWriteBackInFuture = 0; 578 mWriteBackInFuture = 0;
577 if ( temp->getWriteBackFuture() ) 579 if ( temp->getWriteBackFuture() )
578 mWriteBackInFuture = temp->getWriteBackFutureWeeks( ); 580 mWriteBackInFuture = temp->getWriteBackFutureWeeks( );
579 mShowSyncSummary = false; 581 mShowSyncSummary = false;
580 mCurrentSyncDevice = syncProfileNames[i] ; 582 mCurrentSyncDevice = syncProfileNames[i] ;
581 mCurrentSyncName = mLocalMachineName; 583 mCurrentSyncName = mLocalMachineName;
582 if ( i == 0 ) { 584 if ( i == 0 ) {
585 mIsKapiFile = false;
583#ifdef DESKTOP_VERSION 586#ifdef DESKTOP_VERSION
584 syncKDE(); 587 syncKDE();
585#else 588#else
586 syncSharp(); 589 syncSharp();
587#endif 590#endif
588 } else { 591 } else {
589 if ( temp->getIsLocalFileSync() ) { 592 if ( temp->getIsLocalFileSync() ) {
590 switch(mTargetApp) 593 switch(mTargetApp)
591 { 594 {
592 case (KAPI): 595 case (KAPI):
593 if ( syncWithFile( temp->getRemoteFileNameAB( ), false ) ) 596 if ( syncWithFile( temp->getRemoteFileNameAB( ), false ) )
594 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNameAB(); 597 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNameAB();
595 break; 598 break;
596 case (KOPI): 599 case (KOPI):
597 if ( syncWithFile( temp->getRemoteFileName( ), false ) ) 600 if ( syncWithFile( temp->getRemoteFileName( ), false ) )
598 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileName(); 601 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileName();
599 break; 602 break;
600 case (PWMPI): 603 case (PWMPI):
601 if ( syncWithFile( temp->getRemoteFileNamePWM( ), false ) ) 604 if ( syncWithFile( temp->getRemoteFileNamePWM( ), false ) )
602 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNamePWM(); 605 mPrefs->mLastSyncedLocalFile = temp->getRemoteFileNamePWM();
603 break; 606 break;
604 default: 607 default:
605 qDebug("KSyncManager::slotSyncMenu: invalid apptype selected"); 608 qDebug("KSyncManager::slotSyncMenu: invalid apptype selected");
606 break; 609 break;
607 } 610 }
608 } else { 611 } else {
609 if ( temp->getIsPhoneSync() ) { 612 if ( temp->getIsPhoneSync() ) {
610 mPhoneDevice = temp->getPhoneDevice( ) ; 613 mPhoneDevice = temp->getPhoneDevice( ) ;
611 mPhoneConnection = temp->getPhoneConnection( ); 614 mPhoneConnection = temp->getPhoneConnection( );
612 mPhoneModel = temp->getPhoneModel( ); 615 mPhoneModel = temp->getPhoneModel( );
613 syncPhone(); 616 syncPhone();
614 } else if ( temp->getIsPiSync() ) { 617 } else if ( temp->getIsPiSync() ) {
615 if ( mTargetApp == KAPI ) { 618 if ( mTargetApp == KAPI ) {
616 mPassWordPiSync = temp->getRemotePwAB(); 619 mPassWordPiSync = temp->getRemotePwAB();
617 mActiveSyncPort = temp->getRemotePortAB(); 620 mActiveSyncPort = temp->getRemotePortAB();
618 mActiveSyncIP = temp->getRemoteIPAB(); 621 mActiveSyncIP = temp->getRemoteIPAB();
619 } else if ( mTargetApp == KOPI ) { 622 } else if ( mTargetApp == KOPI ) {
620 mPassWordPiSync = temp->getRemotePw(); 623 mPassWordPiSync = temp->getRemotePw();
621 mActiveSyncPort = temp->getRemotePort(); 624 mActiveSyncPort = temp->getRemotePort();
622 mActiveSyncIP = temp->getRemoteIP(); 625 mActiveSyncIP = temp->getRemoteIP();
623 } else { 626 } else {
624 mPassWordPiSync = temp->getRemotePwPWM(); 627 mPassWordPiSync = temp->getRemotePwPWM();
625 mActiveSyncPort = temp->getRemotePortPWM(); 628 mActiveSyncPort = temp->getRemotePortPWM();
626 mActiveSyncIP = temp->getRemoteIPPWM(); 629 mActiveSyncIP = temp->getRemoteIPPWM();
627 } 630 }
628 syncPi(); 631 syncPi();
629 while ( !mPisyncFinished ) { 632 while ( !mPisyncFinished ) {
630 //qDebug("waiting "); 633 //qDebug("waiting ");
631 qApp->processEvents(); 634 qApp->processEvents();
632 } 635 }
633 timer.start(); 636 timer.start();
634 while ( timer.elapsed () < 2000 ) { 637 while ( timer.elapsed () < 2000 ) {
635 qApp->processEvents(); 638 qApp->processEvents();
636 } 639 }
637 } else 640 } else
638 syncRemote( temp, false ); 641 syncRemote( temp, false );
639 642
640 } 643 }
641 } 644 }
642 timer.start(); 645 timer.start();
643 mParent->topLevelWidget()->setCaption(i18n("Multiple sync in progress ... please wait!") ); 646 mParent->topLevelWidget()->setCaption(i18n("Multiple sync in progress ... please wait!") );
644 while ( timer.elapsed () < 2000 ) { 647 while ( timer.elapsed () < 2000 ) {
645 qApp->processEvents(); 648 qApp->processEvents();
646#ifndef _WIN32_ 649#ifndef _WIN32_
@@ -960,406 +963,428 @@ bool KSyncManager::syncExternalApplication(QString resource)
960 963
961 bool syncOK = mImplementation->syncExternal(this, resource); 964 bool syncOK = mImplementation->syncExternal(this, resource);
962 965
963 return syncOK; 966 return syncOK;
964 967
965} 968}
966 969
967void KSyncManager::syncPhone() 970void KSyncManager::syncPhone()
968{ 971{
969 972
970 syncExternalApplication("phone"); 973 syncExternalApplication("phone");
971 974
972} 975}
973 976
974void KSyncManager::showProgressBar(int percentage, QString caption, int total) 977void KSyncManager::showProgressBar(int percentage, QString caption, int total)
975{ 978{
976 if (!bar->isVisible()) 979 if (!bar->isVisible())
977 { 980 {
978 bar->setCaption (caption); 981 bar->setCaption (caption);
979 bar->setTotalSteps ( total ) ; 982 bar->setTotalSteps ( total ) ;
980 983
981 bar->show(); 984 bar->show();
982 } 985 }
983 986
984 bar->setProgress( percentage ); 987 bar->setProgress( percentage );
985} 988}
986 989
987void KSyncManager::hideProgressBar() 990void KSyncManager::hideProgressBar()
988{ 991{
989 bar->hide(); 992 bar->hide();
990} 993}
991 994
992bool KSyncManager::isProgressBarCanceled() 995bool KSyncManager::isProgressBarCanceled()
993{ 996{
994 return !bar->isVisible(); 997 return !bar->isVisible();
995} 998}
996 999
997QString KSyncManager::syncFileName() 1000QString KSyncManager::syncFileName()
998{ 1001{
999 1002
1000 QString fn = "tempfile"; 1003 QString fn = "tempfile";
1001 switch(mTargetApp) 1004 switch(mTargetApp)
1002 { 1005 {
1003 case (KAPI): 1006 case (KAPI):
1004 fn = "tempsyncab.vcf"; 1007 fn = "tempsyncab.vcf";
1005 break; 1008 break;
1006 case (KOPI): 1009 case (KOPI):
1007 fn = "tempsynccal.ics"; 1010 fn = "tempsynccal.ics";
1008 break; 1011 break;
1009 case (PWMPI): 1012 case (PWMPI):
1010 fn = "tempsyncpw.pwm"; 1013 fn = "tempsyncpw.pwm";
1011 break; 1014 break;
1012 default: 1015 default:
1013 break; 1016 break;
1014 } 1017 }
1015#ifdef _WIN32_ 1018#ifdef _WIN32_
1016 return locateLocal( "tmp", fn ); 1019 return locateLocal( "tmp", fn );
1017#else 1020#else
1018 return (QString( "/tmp/" )+ fn ); 1021 return (QString( "/tmp/" )+ fn );
1019#endif 1022#endif
1020} 1023}
1021 1024
1022void KSyncManager::syncPi() 1025void KSyncManager::syncPi()
1023{ 1026{
1027 mIsKapiFile = true;
1024 mPisyncFinished = false; 1028 mPisyncFinished = false;
1025 qApp->processEvents(); 1029 qApp->processEvents();
1026 if ( mAskForPreferences ) 1030 if ( mAskForPreferences )
1027 if ( !edit_pisync_options()) { 1031 if ( !edit_pisync_options()) {
1028 mParent->topLevelWidget()->setCaption( i18n("Syncing aborted. Nothing synced.") ); 1032 mParent->topLevelWidget()->setCaption( i18n("Syncing aborted. Nothing synced.") );
1029 return; 1033 return;
1030 } 1034 }
1031 bool ok; 1035 bool ok;
1032 Q_UINT16 port = mActiveSyncPort.toUInt(&ok); 1036 Q_UINT16 port = mActiveSyncPort.toUInt(&ok);
1033 if ( ! ok ) { 1037 if ( ! ok ) {
1034 mParent->topLevelWidget()->setCaption( i18n("Sorry, no valid port.Syncing cancelled.") ); 1038 mParent->topLevelWidget()->setCaption( i18n("Sorry, no valid port.Syncing cancelled.") );
1035 return; 1039 return;
1036 } 1040 }
1037 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, port, mActiveSyncIP, this ); 1041 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, port, mActiveSyncIP, this );
1038 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) ); 1042 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int )), this, SLOT(deleteCommandSocket(KCommandSocket*, int)) );
1039 mParent->topLevelWidget()->setCaption( i18n("Sending request for remote file ...") ); 1043 mParent->topLevelWidget()->setCaption( i18n("Sending request for remote file ...") );
1040 commandSocket->readFile( syncFileName() ); 1044 commandSocket->readFile( syncFileName() );
1041} 1045}
1042 1046
1043void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state) 1047void KSyncManager::deleteCommandSocket(KCommandSocket*s, int state)
1044{ 1048{
1045 //enum { success, errorW, errorR, quiet }; 1049 //enum { success, errorW, errorR, quiet };
1046 if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ) { 1050 if ( state == KCommandSocket::errorR ||state == KCommandSocket::errorTO ) {
1047 mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") ); 1051 mParent->topLevelWidget()->setCaption( i18n("ERROR: Receiving remote file failed.") );
1048 delete s; 1052 delete s;
1049 if ( state == KCommandSocket::errorR ) { 1053 if ( state == KCommandSocket::errorR ) {
1050 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this ); 1054 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this );
1051 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) ); 1055 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) );
1052 commandSocket->sendStop(); 1056 commandSocket->sendStop();
1053 } 1057 }
1054 mPisyncFinished = true; 1058 mPisyncFinished = true;
1055 return; 1059 return;
1056 1060
1057 } else if ( state == KCommandSocket::errorW ) { 1061 } else if ( state == KCommandSocket::errorW ) {
1058 mParent->topLevelWidget()->setCaption( i18n("ERROR:Writing back file failed.") ); 1062 mParent->topLevelWidget()->setCaption( i18n("ERROR:Writing back file failed.") );
1059 mPisyncFinished = true; 1063 mPisyncFinished = true;
1060 1064
1061 } else if ( state == KCommandSocket::successR ) { 1065 } else if ( state == KCommandSocket::successR ) {
1062 QTimer::singleShot( 1, this , SLOT ( readFileFromSocket())); 1066 QTimer::singleShot( 1, this , SLOT ( readFileFromSocket()));
1063 1067
1064 } else if ( state == KCommandSocket::successW ) { 1068 } else if ( state == KCommandSocket::successW ) {
1065 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync succesful!") ); 1069 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync succesful!") );
1066 mPisyncFinished = true; 1070 mPisyncFinished = true;
1067 } 1071 }
1068 1072
1069 delete s; 1073 delete s;
1070} 1074}
1071 1075
1072void KSyncManager::readFileFromSocket() 1076void KSyncManager::readFileFromSocket()
1073{ 1077{
1074 QString fileName = syncFileName(); 1078 QString fileName = syncFileName();
1075 mParent->topLevelWidget()->setCaption( i18n("Remote file saved to temp file.") ); 1079 mParent->topLevelWidget()->setCaption( i18n("Remote file saved to temp file.") );
1076 if ( ! syncWithFile( fileName , true ) ) { 1080 if ( ! syncWithFile( fileName , true ) ) {
1077 mParent->topLevelWidget()->setCaption( i18n("Syncing failed.") ); 1081 mParent->topLevelWidget()->setCaption( i18n("Syncing failed.") );
1078 mPisyncFinished = true; 1082 mPisyncFinished = true;
1079 return; 1083 return;
1080 } 1084 }
1081 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this ); 1085 KCommandSocket* commandSocket = new KCommandSocket( mPassWordPiSync, mActiveSyncPort.toUInt(), mActiveSyncIP, this );
1082 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) ); 1086 connect( commandSocket, SIGNAL(commandFinished( KCommandSocket*, int)), this, SLOT(deleteCommandSocket(KCommandSocket*, int )) );
1083 if ( mWriteBackFile ) 1087 if ( mWriteBackFile )
1084 commandSocket->writeFile( fileName ); 1088 commandSocket->writeFile( fileName );
1085 else { 1089 else {
1086 commandSocket->sendStop(); 1090 commandSocket->sendStop();
1087 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync succesful!") ); 1091 mParent->topLevelWidget()->setCaption( i18n("Pi-Sync succesful!") );
1088 mPisyncFinished = true; 1092 mPisyncFinished = true;
1089 } 1093 }
1090} 1094}
1091 1095
1092KServerSocket:: KServerSocket ( QString pw, Q_UINT16 port, int backlog, QObject * parent, const char * name ) : QServerSocket( port, backlog, parent, name ) 1096KServerSocket:: KServerSocket ( QString pw, Q_UINT16 port, int backlog, QObject * parent, const char * name ) : QServerSocket( port, backlog, parent, name )
1093{ 1097{
1094 mPassWord = pw; 1098 mPassWord = pw;
1095 mSocket = 0; 1099 mSocket = 0;
1096 mSyncActionDialog = 0; 1100 mSyncActionDialog = 0;
1097 blockRC = false; 1101 blockRC = false;
1098}; 1102};
1099 1103
1100void KServerSocket::newConnection ( int socket ) 1104void KServerSocket::newConnection ( int socket )
1101{ 1105{
1102 // qDebug("KServerSocket:New connection %d ", socket); 1106 // qDebug("KServerSocket:New connection %d ", socket);
1103 if ( mSocket ) { 1107 if ( mSocket ) {
1104 qDebug("KServerSocket::newConnection Socket deleted! "); 1108 qDebug("KServerSocket::newConnection Socket deleted! ");
1105 delete mSocket; 1109 delete mSocket;
1106 mSocket = 0; 1110 mSocket = 0;
1107 } 1111 }
1108 mSocket = new QSocket( this ); 1112 mSocket = new QSocket( this );
1109 connect( mSocket , SIGNAL(readyRead()), this, SLOT(readClient()) ); 1113 connect( mSocket , SIGNAL(readyRead()), this, SLOT(readClient()) );
1110 connect( mSocket , SIGNAL(delayedCloseFinished()), this, SLOT(discardClient()) ); 1114 connect( mSocket , SIGNAL(delayedCloseFinished()), this, SLOT(discardClient()) );
1111 mSocket->setSocket( socket ); 1115 mSocket->setSocket( socket );
1112} 1116}
1113 1117
1114void KServerSocket::discardClient() 1118void KServerSocket::discardClient()
1115{ 1119{
1116 //qDebug(" KServerSocket::discardClient()"); 1120 //qDebug(" KServerSocket::discardClient()");
1117 if ( mSocket ) { 1121 if ( mSocket ) {
1118 delete mSocket; 1122 delete mSocket;
1119 mSocket = 0; 1123 mSocket = 0;
1120 } 1124 }
1121 //emit endConnect(); 1125 //emit endConnect();
1122} 1126}
1123void KServerSocket::readClient() 1127void KServerSocket::readClient()
1124{ 1128{
1125 if ( blockRC ) 1129 if ( blockRC )
1126 return; 1130 return;
1127 if ( mSocket == 0 ) { 1131 if ( mSocket == 0 ) {
1128 qDebug("ERROR::KServerSocket::readClient(): mSocket == 0 "); 1132 qDebug("ERROR::KServerSocket::readClient(): mSocket == 0 ");
1129 return; 1133 return;
1130 } 1134 }
1131 //qDebug("KServerSocket::readClient()"); 1135 //qDebug("KServerSocket::readClient()");
1132 if ( mSocket->canReadLine() ) { 1136 if ( mSocket->canReadLine() ) {
1133 QString line = mSocket->readLine(); 1137 QString line = mSocket->readLine();
1134 //qDebug("KServerSocket readline: %s ", line.latin1()); 1138 //qDebug("KServerSocket readline: %s ", line.latin1());
1135 QStringList tokens = QStringList::split( QRegExp("[ \r\n][ \r\n]*"), line ); 1139 QStringList tokens = QStringList::split( QRegExp("[ \r\n][ \r\n]*"), line );
1136 if ( tokens[0] == "GET" ) { 1140 if ( tokens[0] == "GET" ) {
1137 if ( tokens[1] == mPassWord ) { 1141 if ( tokens[1] == mPassWord ) {
1138 //emit sendFile( mSocket ); 1142 //emit sendFile( mSocket );
1139 bool ok = false; 1143 bool ok = false;
1140 QDateTime dt = KGlobal::locale()->readDateTime( tokens[2], KLocale::ISODate, &ok); 1144 QDateTime dt = KGlobal::locale()->readDateTime( tokens[2], KLocale::ISODate, &ok);
1141 if ( ok ) 1145 if ( ok ) {
1142 KSyncManager::mRequestedSyncEvent = dt; 1146 KSyncManager::mRequestedSyncEvent = dt;
1147 }
1143 else 1148 else
1144 KSyncManager::mRequestedSyncEvent = QDateTime(); 1149 KSyncManager::mRequestedSyncEvent = QDateTime();
1145 send_file(); 1150 send_file();
1146 } 1151 }
1147 else { 1152 else {
1148 KMessageBox::error( 0, i18n("Got send file request\nwith invalid password")); 1153 KMessageBox::error( 0, i18n("Got send file request\nwith invalid password"));
1149 //qDebug("password %s, invalid password %s ",mPassWord.latin1(), tokens[1].latin1() ); 1154 //qDebug("password %s, invalid password %s ",mPassWord.latin1(), tokens[1].latin1() );
1150 } 1155 }
1151 } 1156 }
1152 if ( tokens[0] == "PUT" ) { 1157 if ( tokens[0] == "PUT" ) {
1153 if ( tokens[1] == mPassWord ) { 1158 if ( tokens[1] == mPassWord ) {
1154 //emit getFile( mSocket ); 1159 //emit getFile( mSocket );
1155 blockRC = true; 1160 blockRC = true;
1156 get_file(); 1161 get_file();
1157 } 1162 }
1158 else { 1163 else {
1159 KMessageBox::error( 0, i18n("Got receive file request\nwith invalid password")); 1164 KMessageBox::error( 0, i18n("Got receive file request\nwith invalid password"));
1160 //qDebug("password %s, invalid password %s ",mPassWord.latin1(), tokens[1].latin1() ); 1165 //qDebug("password %s, invalid password %s ",mPassWord.latin1(), tokens[1].latin1() );
1161 } 1166 }
1162 } 1167 }
1163 if ( tokens[0] == "STOP" ) { 1168 if ( tokens[0] == "STOP" ) {
1164 //emit endConnect(); 1169 //emit endConnect();
1165 end_connect(); 1170 end_connect();
1166 } 1171 }
1167 } 1172 }
1168} 1173}
1169void KServerSocket::end_connect() 1174void KServerSocket::end_connect()
1170{ 1175{
1171 delete mSyncActionDialog; 1176 delete mSyncActionDialog;
1172 mSyncActionDialog = 0; 1177 mSyncActionDialog = 0;
1173} 1178}
1174void KServerSocket::send_file() 1179void KServerSocket::send_file()
1175{ 1180{
1176 //qDebug("MainWindow::sendFile(QSocket* s) "); 1181 //qDebug("MainWindow::sendFile(QSocket* s) ");
1177 if ( mSyncActionDialog ) 1182 if ( mSyncActionDialog )
1178 delete mSyncActionDialog; 1183 delete mSyncActionDialog;
1179 mSyncActionDialog = new QDialog ( 0, "input-dialog", true ); 1184 mSyncActionDialog = new QDialog ( 0, "input-dialog", true );
1180 mSyncActionDialog->setCaption(i18n("Received sync request")); 1185 mSyncActionDialog->setCaption(i18n("Received sync request"));
1181 QLabel* label = new QLabel( i18n("Synchronizing from remote ...\n\nDo not use this application!\n\nIf syncing fails\nyou can close this dialog."), mSyncActionDialog ); 1186 QLabel* label = new QLabel( i18n("Synchronizing from remote ...\n\nDo not use this application!\n\nIf syncing fails\nyou can close this dialog."), mSyncActionDialog );
1182 QVBoxLayout* lay = new QVBoxLayout( mSyncActionDialog ); 1187 QVBoxLayout* lay = new QVBoxLayout( mSyncActionDialog );
1183 lay->addWidget( label); 1188 lay->addWidget( label);
1184 lay->setMargin(7); 1189 lay->setMargin(7);
1185 lay->setSpacing(7); 1190 lay->setSpacing(7);
1186 mSyncActionDialog->setFixedSize( 230, 120); 1191 if ( KSyncManager::mRequestedSyncEvent.isValid() ) {
1192 int secs = QDateTime::currentDateTime().secsTo( KSyncManager::mRequestedSyncEvent );
1193 //if ( secs > 30 )
1194 if ( true )
1195 {
1196 QString warning = i18n("Clock skew of\nsyncing devices\nis %1 seconds!").arg( secs );
1197 QLabel* label = new QLabel( warning, mSyncActionDialog );
1198 if ( secs > 600 )
1199 {
1200 QFont f = label->font();
1201 f. setBold (true );
1202 f.setPointSize ( f.pointSize() + 10);
1203 label->setFont( f );
1204 }
1205 lay->addWidget( label);
1206 mSyncActionDialog->setFixedSize( 230, 200);
1207 } else {
1208 mSyncActionDialog->setFixedSize( 230, 120);
1209 }
1210 } else
1211 mSyncActionDialog->setFixedSize( 230, 120);
1187 mSyncActionDialog->show(); 1212 mSyncActionDialog->show();
1188 mSyncActionDialog->raise(); 1213 mSyncActionDialog->raise();
1189 emit request_file(); 1214 emit request_file();
1190 qApp->processEvents(); 1215 qApp->processEvents();
1191 QString fileName = mFileName; 1216 QString fileName = mFileName;
1192 QFile file( fileName ); 1217 QFile file( fileName );
1193 if (!file.open( IO_ReadOnly ) ) { 1218 if (!file.open( IO_ReadOnly ) ) {
1194 delete mSyncActionDialog; 1219 delete mSyncActionDialog;
1195 mSyncActionDialog = 0; 1220 mSyncActionDialog = 0;
1196 qDebug("KSS::error open file "); 1221 qDebug("KSS::error open file ");
1197 mSocket->close(); 1222 mSocket->close();
1198 if ( mSocket->state() == QSocket::Idle ) 1223 if ( mSocket->state() == QSocket::Idle )
1199 QTimer::singleShot( 10, this , SLOT ( discardClient())); 1224 QTimer::singleShot( 10, this , SLOT ( discardClient()));
1200 return ; 1225 return ;
1201 1226
1202 } 1227 }
1203 mSyncActionDialog->setCaption( i18n("Sending file...") ); 1228 mSyncActionDialog->setCaption( i18n("Sending file...") );
1204 QTextStream ts( &file ); 1229 QTextStream ts( &file );
1205 ts.setEncoding( QTextStream::Latin1 ); 1230 ts.setEncoding( QTextStream::Latin1 );
1206 1231
1207 QTextStream os( mSocket ); 1232 QTextStream os( mSocket );
1208 os.setEncoding( QTextStream::Latin1 ); 1233 os.setEncoding( QTextStream::Latin1 );
1209 while ( ! ts.atEnd() ) { 1234 while ( ! ts.atEnd() ) {
1210 os << ts.readLine() << "\r\n"; 1235 os << ts.readLine() << "\r\n";
1211 } 1236 }
1212 //os << ts.read(); 1237 //os << ts.read();
1213 file.close(); 1238 file.close();
1214 mSyncActionDialog->setCaption( i18n("Waiting for synced file...") ); 1239 mSyncActionDialog->setCaption( i18n("Waiting for synced file...") );
1215 mSocket->close(); 1240 mSocket->close();
1216 if ( mSocket->state() == QSocket::Idle ) 1241 if ( mSocket->state() == QSocket::Idle )
1217 QTimer::singleShot( 10, this , SLOT ( discardClient())); 1242 QTimer::singleShot( 10, this , SLOT ( discardClient()));
1218} 1243}
1219void KServerSocket::get_file() 1244void KServerSocket::get_file()
1220{ 1245{
1221 mSyncActionDialog->setCaption( i18n("Receiving synced file...") ); 1246 mSyncActionDialog->setCaption( i18n("Receiving synced file...") );
1222 1247
1223 piTime.start(); 1248 piTime.start();
1224 piFileString = ""; 1249 piFileString = "";
1225 QTimer::singleShot( 1, this , SLOT (readBackFileFromSocket( ) )); 1250 QTimer::singleShot( 1, this , SLOT (readBackFileFromSocket( ) ));
1226} 1251}
1227 1252
1228 1253
1229void KServerSocket::readBackFileFromSocket() 1254void KServerSocket::readBackFileFromSocket()
1230{ 1255{
1231 //qDebug("readBackFileFromSocket() %d ", piTime.elapsed ()); 1256 //qDebug("readBackFileFromSocket() %d ", piTime.elapsed ());
1232 while ( mSocket->canReadLine () ) { 1257 while ( mSocket->canReadLine () ) {
1233 piTime.restart(); 1258 piTime.restart();
1234 QString line = mSocket->readLine (); 1259 QString line = mSocket->readLine ();
1235 piFileString += line; 1260 piFileString += line;
1236 //qDebug("readline: %s ", line.latin1()); 1261 //qDebug("readline: %s ", line.latin1());
1237 mSyncActionDialog->setCaption( i18n("Received %1 bytes").arg( piFileString.length() ) ); 1262 mSyncActionDialog->setCaption( i18n("Received %1 bytes").arg( piFileString.length() ) );
1238 1263
1239 } 1264 }
1240 if ( piTime.elapsed () < 3000 ) { 1265 if ( piTime.elapsed () < 3000 ) {
1241 // wait for more 1266 // wait for more
1242 //qDebug("waitformore "); 1267 //qDebug("waitformore ");
1243 QTimer::singleShot( 100, this , SLOT (readBackFileFromSocket( ) )); 1268 QTimer::singleShot( 100, this , SLOT (readBackFileFromSocket( ) ));
1244 return; 1269 return;
1245 } 1270 }
1246 QString fileName = mFileName; 1271 QString fileName = mFileName;
1247 QFile file ( fileName ); 1272 QFile file ( fileName );
1248 if (!file.open( IO_WriteOnly ) ) { 1273 if (!file.open( IO_WriteOnly ) ) {
1249 delete mSyncActionDialog; 1274 delete mSyncActionDialog;
1250 mSyncActionDialog = 0; 1275 mSyncActionDialog = 0;
1251 qDebug("KSS:Error open read back file "); 1276 qDebug("KSS:Error open read back file ");
1252 piFileString = ""; 1277 piFileString = "";
1253 emit file_received( false ); 1278 emit file_received( false );
1254 blockRC = false; 1279 blockRC = false;
1255 return ; 1280 return ;
1256 1281
1257 } 1282 }
1258 1283
1259 // mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1)); 1284 // mView->setLoadedFileVersion(QDateTime::currentDateTime().addSecs( -1));
1260 QTextStream ts ( &file ); 1285 QTextStream ts ( &file );
1261 ts.setEncoding( QTextStream::Latin1 ); 1286 ts.setEncoding( QTextStream::Latin1 );
1262 mSyncActionDialog->setCaption( i18n("Writing file to disk...") ); 1287 mSyncActionDialog->setCaption( i18n("Writing file to disk...") );
1263 ts << piFileString; 1288 ts << piFileString;
1264 mSocket->close(); 1289 mSocket->close();
1265 if ( mSocket->state() == QSocket::Idle ) 1290 if ( mSocket->state() == QSocket::Idle )
1266 QTimer::singleShot( 10, this , SLOT ( discardClient())); 1291 QTimer::singleShot( 10, this , SLOT ( discardClient()));
1267 file.close(); 1292 file.close();
1268 piFileString = ""; 1293 piFileString = "";
1269 emit file_received( true ); 1294 emit file_received( true );
1270 delete mSyncActionDialog; 1295 delete mSyncActionDialog;
1271 mSyncActionDialog = 0; 1296 mSyncActionDialog = 0;
1272 blockRC = false; 1297 blockRC = false;
1273 1298
1274} 1299}
1275 1300
1276KCommandSocket::KCommandSocket ( QString password, Q_UINT16 port, QString host, QObject * parent, const char * name ): QObject( parent, name ) 1301KCommandSocket::KCommandSocket ( QString password, Q_UINT16 port, QString host, QObject * parent, const char * name ): QObject( parent, name )
1277{ 1302{
1278 mPassWord = password; 1303 mPassWord = password;
1279 mSocket = 0; 1304 mSocket = 0;
1280 mPort = port; 1305 mPort = port;
1281 mHost = host; 1306 mHost = host;
1282 1307
1283 mRetVal = quiet; 1308 mRetVal = quiet;
1284 mTimerSocket = new QTimer ( this ); 1309 mTimerSocket = new QTimer ( this );
1285 connect( mTimerSocket, SIGNAL ( timeout () ), this, SLOT ( deleteSocket() ) ); 1310 connect( mTimerSocket, SIGNAL ( timeout () ), this, SLOT ( deleteSocket() ) );
1286} 1311}
1287void KCommandSocket::readFile( QString fn ) 1312void KCommandSocket::readFile( QString fn )
1288{ 1313{
1289 if ( !mSocket ) { 1314 if ( !mSocket ) {
1290 mSocket = new QSocket( this ); 1315 mSocket = new QSocket( this );
1291 connect( mSocket, SIGNAL(readyRead()), this, SLOT(startReadFileFromSocket()) ); 1316 connect( mSocket, SIGNAL(readyRead()), this, SLOT(startReadFileFromSocket()) );
1292 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) ); 1317 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) );
1293 } 1318 }
1294 mFileString = ""; 1319 mFileString = "";
1295 mFileName = fn; 1320 mFileName = fn;
1296 mFirst = true; 1321 mFirst = true;
1297 mSocket->connectToHost( mHost, mPort ); 1322 mSocket->connectToHost( mHost, mPort );
1298 QTextStream os( mSocket ); 1323 QTextStream os( mSocket );
1299 os.setEncoding( QTextStream::Latin1 ); 1324 os.setEncoding( QTextStream::Latin1 );
1300 1325
1301 QString curDt = KGlobal::locale()->formatDateTime(QDateTime::currentDateTime().addSecs(-1),true, true,KLocale::ISODate ); 1326 QString curDt = " " +KGlobal::locale()->formatDateTime(QDateTime::currentDateTime().addSecs(-1),true, true,KLocale::ISODate );
1302 os << "GET " << mPassWord << curDt <<"\r\n"; 1327 os << "GET " << mPassWord << curDt <<"\r\n";
1303 mTimerSocket->start( 20000 ); 1328 mTimerSocket->start( 20000 );
1304} 1329}
1305 1330
1306void KCommandSocket::writeFile( QString fileName ) 1331void KCommandSocket::writeFile( QString fileName )
1307{ 1332{
1308 if ( !mSocket ) { 1333 if ( !mSocket ) {
1309 mSocket = new QSocket( this ); 1334 mSocket = new QSocket( this );
1310 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) ); 1335 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) );
1311 connect( mSocket, SIGNAL(connected ()), this, SLOT(writeFileToSocket()) ); 1336 connect( mSocket, SIGNAL(connected ()), this, SLOT(writeFileToSocket()) );
1312 } 1337 }
1313 mFileName = fileName ; 1338 mFileName = fileName ;
1314 mSocket->connectToHost( mHost, mPort ); 1339 mSocket->connectToHost( mHost, mPort );
1315} 1340}
1316void KCommandSocket::writeFileToSocket() 1341void KCommandSocket::writeFileToSocket()
1317{ 1342{
1318 QFile file2( mFileName ); 1343 QFile file2( mFileName );
1319 if (!file2.open( IO_ReadOnly ) ) { 1344 if (!file2.open( IO_ReadOnly ) ) {
1320 mRetVal= errorW; 1345 mRetVal= errorW;
1321 mSocket->close(); 1346 mSocket->close();
1322 if ( mSocket->state() == QSocket::Idle ) 1347 if ( mSocket->state() == QSocket::Idle )
1323 QTimer::singleShot( 10, this , SLOT ( deleteSocket())); 1348 QTimer::singleShot( 10, this , SLOT ( deleteSocket()));
1324 return ; 1349 return ;
1325 } 1350 }
1326 QTextStream ts2( &file2 ); 1351 QTextStream ts2( &file2 );
1327 ts2.setEncoding( QTextStream::Latin1 ); 1352 ts2.setEncoding( QTextStream::Latin1 );
1328 QTextStream os2( mSocket ); 1353 QTextStream os2( mSocket );
1329 os2.setEncoding( QTextStream::Latin1 ); 1354 os2.setEncoding( QTextStream::Latin1 );
1330 os2 << "PUT " << mPassWord << "\r\n";; 1355 os2 << "PUT " << mPassWord << "\r\n";;
1331 while ( ! ts2.atEnd() ) { 1356 while ( ! ts2.atEnd() ) {
1332 os2 << ts2.readLine() << "\r\n"; 1357 os2 << ts2.readLine() << "\r\n";
1333 } 1358 }
1334 mRetVal= successW; 1359 mRetVal= successW;
1335 file2.close(); 1360 file2.close();
1336 mSocket->close(); 1361 mSocket->close();
1337 if ( mSocket->state() == QSocket::Idle ) 1362 if ( mSocket->state() == QSocket::Idle )
1338 QTimer::singleShot( 10, this , SLOT ( deleteSocket())); 1363 QTimer::singleShot( 10, this , SLOT ( deleteSocket()));
1339} 1364}
1340void KCommandSocket::sendStop() 1365void KCommandSocket::sendStop()
1341{ 1366{
1342 if ( !mSocket ) { 1367 if ( !mSocket ) {
1343 mSocket = new QSocket( this ); 1368 mSocket = new QSocket( this );
1344 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) ); 1369 connect( mSocket, SIGNAL(delayedCloseFinished ()), this, SLOT(deleteSocket()) );
1345 } 1370 }
1346 mSocket->connectToHost( mHost, mPort ); 1371 mSocket->connectToHost( mHost, mPort );
1347 QTextStream os2( mSocket ); 1372 QTextStream os2( mSocket );
1348 os2.setEncoding( QTextStream::Latin1 ); 1373 os2.setEncoding( QTextStream::Latin1 );
1349 os2 << "STOP\r\n"; 1374 os2 << "STOP\r\n";
1350 mSocket->close(); 1375 mSocket->close();
1351 if ( mSocket->state() == QSocket::Idle ) 1376 if ( mSocket->state() == QSocket::Idle )
1352 QTimer::singleShot( 10, this , SLOT ( deleteSocket())); 1377 QTimer::singleShot( 10, this , SLOT ( deleteSocket()));
1353} 1378}
1354 1379
1355void KCommandSocket::startReadFileFromSocket() 1380void KCommandSocket::startReadFileFromSocket()
1356{ 1381{
1357 if ( ! mFirst ) 1382 if ( ! mFirst )
1358 return; 1383 return;
1359 mFirst = false; 1384 mFirst = false;
1360 mTimerSocket->stop(); 1385 mTimerSocket->stop();
1361 mFileString = ""; 1386 mFileString = "";
1362 mTime.start(); 1387 mTime.start();
1363 QTimer::singleShot( 1, this , SLOT (readFileFromSocket( ) )); 1388 QTimer::singleShot( 1, this , SLOT (readFileFromSocket( ) ));
1364 1389
1365} 1390}