summaryrefslogtreecommitdiffabout
path: root/libkdepim/externalapphandler.cpp
authorzautrix <zautrix>2004-09-17 09:46:54 (UTC)
committer zautrix <zautrix>2004-09-17 09:46:54 (UTC)
commit9421138854b85a9baced09649f617118502610c1 (patch) (unidiff)
treea7f78207de34e2b67d3a4709531714cb848f3d16 /libkdepim/externalapphandler.cpp
parent6341e161c5af4e5ac1d1d3ec9fdabf04b287800f (diff)
downloadkdepimpi-9421138854b85a9baced09649f617118502610c1.zip
kdepimpi-9421138854b85a9baced09649f617118502610c1.tar.gz
kdepimpi-9421138854b85a9baced09649f617118502610c1.tar.bz2
Fixed bug externalapphandler
Diffstat (limited to 'libkdepim/externalapphandler.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libkdepim/externalapphandler.cpp28
1 files changed, 15 insertions, 13 deletions
diff --git a/libkdepim/externalapphandler.cpp b/libkdepim/externalapphandler.cpp
index fa56ee9..99aee86 100644
--- a/libkdepim/externalapphandler.cpp
+++ b/libkdepim/externalapphandler.cpp
@@ -20,343 +20,344 @@
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22*/ 22*/
23 23
24/* 24/*
25Enhanced Version of the file for platform independent KDE tools. 25Enhanced Version of the file for platform independent KDE tools.
26Copyright (c) 2004 Ulf Schenk 26Copyright (c) 2004 Ulf Schenk
27 27
28$Id$ 28$Id$
29*/ 29*/
30#include <stdlib.h> 30#include <stdlib.h>
31 31
32#include <qfile.h> 32#include <qfile.h>
33#include <qmap.h> 33#include <qmap.h>
34#include <qregexp.h> 34#include <qregexp.h>
35 35
36#ifndef DESKTOP_VERSION 36#ifndef DESKTOP_VERSION
37#include <qpe/qpeapplication.h> 37#include <qpe/qpeapplication.h>
38#include <qtopia/qcopenvelope_qws.h> 38#include <qtopia/qcopenvelope_qws.h>
39#else 39#else
40#include <qapplication.h> 40#include <qapplication.h>
41#endif 41#endif
42 42
43#include <kstaticdeleter.h> 43#include <kstaticdeleter.h>
44#include <kmessagebox.h> 44#include <kmessagebox.h>
45 45
46 46
47#include "externalapphandler.h" 47#include "externalapphandler.h"
48 48
49#include "kpimglobalprefs.h" 49#include "kpimglobalprefs.h"
50 50
51/********************************************************************************* 51/*********************************************************************************
52 * 52 *
53 ********************************************************************************/ 53 ********************************************************************************/
54 54
55 55
56QCopTransferItem::QCopTransferItem(int usedSourceParameters, const QString& sourceMessage, const QString& targetChannel, const QString& targetMessage) 56QCopTransferItem::QCopTransferItem(int usedSourceParameters, const QString& sourceMessage, const QString& targetChannel, const QString& targetMessage)
57 : _usedSourceParameters(usedSourceParameters), _sourceMessage(sourceMessage), _targetChannel(targetChannel), _targetMessage(targetMessage) 57 : _usedSourceParameters(usedSourceParameters), _sourceMessage(sourceMessage), _targetChannel(targetChannel), _targetMessage(targetMessage)
58{ 58{
59 //sourceMessage passes later three parameters: sourceChannel, uid, param1 59 //sourceMessage passes later three parameters: sourceChannel, uid, param1
60 if (_usedSourceParameters == 0) 60 if (_usedSourceParameters == 0)
61 _sourceMessageParameters = "(QString,QString)"; 61 _sourceMessageParameters = "(QString,QString)";
62 else if (_usedSourceParameters == 1) 62 else if (_usedSourceParameters == 1)
63 _sourceMessageParameters = "(QString,QString,QString)"; 63 _sourceMessageParameters = "(QString,QString,QString)";
64 else if (_usedSourceParameters == 2) 64 else if (_usedSourceParameters == 2)
65 _sourceMessageParameters = "(QString,QString,QString,QString)"; 65 _sourceMessageParameters = "(QString,QString,QString,QString)";
66 else if (_usedSourceParameters == 3) 66 else if (_usedSourceParameters == 3)
67 _sourceMessageParameters = "(QString,QString,QString,QString,QString)"; 67 _sourceMessageParameters = "(QString,QString,QString,QString,QString)";
68} 68}
69 69
70/*********************************************************************************/ 70/*********************************************************************************/
71 71
72QCopTransferItem::QCopTransferItem() 72QCopTransferItem::QCopTransferItem()
73{ 73{
74} 74}
75 75
76/*********************************************************************************/ 76/*********************************************************************************/
77bool QCopTransferItem::sendMessageToTarget(const QString& uid, const QString& param1, const QString& param2, const QString& param3) 77bool QCopTransferItem::sendMessageToTarget(const QString& uid, const QString& param1, const QString& param2, const QString& param3)
78{ 78{
79 79
80#ifndef DESKTOP_VERSION 80#ifndef DESKTOP_VERSION
81 //sourceMessage passes two parameters: sourceChannel, uid 81 //sourceMessage passes two parameters: sourceChannel, uid
82 QString sourceMessage = _sourceMessage + _sourceMessageParameters; 82 QString sourceMessage = _sourceMessage + _sourceMessageParameters;
83 83
84 qDebug("Using QCopEnvelope e(\"%s\",\"%s\")", _targetChannel.latin1(), sourceMessage.latin1()); 84 qDebug("1Using QCopEnvelope e(\"%s\",\"%s\")", _targetChannel.latin1(), sourceMessage.latin1());
85 qDebug("passing sourcechannel(%s), uid(%s), param1(%s), param2(%s), param3(%s) as parameter to QCopEnvelope", _sourceChannel.latin1(), uid.latin1(), param1.latin1(), param2.latin1(), param3.latin1()); 85 qDebug("passing sourcechannel(%s), uid(%s), param1(%s), param2(%s), param3(%s) as parameter to QCopEnvelope", _sourceChannel.latin1(), uid.latin1(), param1.latin1(), param2.latin1(), param3.latin1());
86 86
87 QCopEnvelope e(_targetChannel.latin1(), sourceMessage.latin1()); 87 QCopEnvelope e(_targetChannel.latin1(), sourceMessage.latin1());
88 88
89 e << _sourceChannel << uid; 89 e << _sourceChannel << uid;
90 90
91 if (_usedSourceParameters == 1) 91 if (_usedSourceParameters == 1)
92 e << param1; 92 e << param1;
93 else if (_usedSourceParameters == 2) 93 else if (_usedSourceParameters == 2)
94 e << param1 << param2; 94 e << param1 << param2;
95 else if (_usedSourceParameters == 3) 95 else if (_usedSourceParameters == 3)
96 e << param1 << param2 << param3; 96 e << param1 << param2 << param3;
97 97
98 qApp->processEvents(); 98 qApp->processEvents();
99 99
100 return true; 100 return true;
101 101
102#else 102#else
103 KMessageBox::sorry( 0, i18n( "This version does not support QCop." ) ); 103 KMessageBox::sorry( 0, i18n( "This version does not support QCop." ) );
104 return false; 104 return false;
105#endif 105#endif
106 106
107} 107}
108 108
109 109
110/*********************************************************************************/ 110/*********************************************************************************/
111void QCopTransferItem::setSourceChannel(const QString& sourceChannel) 111void QCopTransferItem::setSourceChannel(const QString& sourceChannel)
112{ 112{
113 113
114 if (_sourceChannel.isEmpty()) 114 if ( !sourceChannel.isEmpty())
115 _sourceChannel = sourceChannel; 115 _sourceChannel = sourceChannel;
116} 116}
117 117
118 118
119/*********************************************************************************/ 119/*********************************************************************************/
120bool QCopTransferItem::appMessage( const QCString& cmsg, const QByteArray& data ) 120bool QCopTransferItem::appMessage( const QCString& cmsg, const QByteArray& data )
121{ 121{
122 122
123 // copied from old mail2 123 // copied from old mail2
124/* 124/*
125 static int ii = 0; 125 static int ii = 0;
126 126
127 // block second call 127 // block second call
128 if ( ii < 2 ) { 128 if ( ii < 2 ) {
129 ++ii; 129 ++ii;
130 if ( ii > 1 ) { 130 if ( ii > 1 ) {
131 qDebug("qcop call blocked "); 131 qDebug("qcop call blocked ");
132 return true; 132 return true;
133 } 133 }
134 } 134 }
135*/ 135*/
136 136
137// qDebug("QCopTransferItem- QCOP message received: %s ", cmsg.data() ); 137// qDebug("QCopTransferItem- QCOP message received: %s ", cmsg.data() );
138 138
139 //we are in the target and get a request from the source 139 //we are in the target and get a request from the source
140 if ( (_sourceMessage + _sourceMessageParameters) == cmsg.data()) 140 if ( (_sourceMessage + _sourceMessageParameters) == cmsg.data())
141 { 141 {
142 142
143 QDataStream stream( data, IO_ReadOnly ); 143 QDataStream stream( data, IO_ReadOnly );
144 144
145 145
146 QString sourceChannel; 146 QString sourceChannel;
147 QString uid; 147 QString uid;
148 QString param1; 148 QString param1;
149 QString param2; 149 QString param2;
150 QString param3; 150 QString param3;
151 151
152 stream >> sourceChannel >> uid; 152 stream >> sourceChannel >> uid;
153 153
154 if (_usedSourceParameters == 0) 154 if (_usedSourceParameters == 0)
155 { 155 {
156 emit receivedMessageFromSource(sourceChannel, uid); 156 emit receivedMessageFromSource(sourceChannel, uid);
157 } 157 }
158 else if (_usedSourceParameters == 1) 158 else if (_usedSourceParameters == 1)
159 { 159 {
160 stream >> param1; 160 stream >> param1;
161 emit receivedMessageFromSource(sourceChannel, uid, param1); 161 emit receivedMessageFromSource(sourceChannel, uid, param1);
162 } 162 }
163 else if (_usedSourceParameters == 2) 163 else if (_usedSourceParameters == 2)
164 { 164 {
165 stream >> param1 >> param2; 165 stream >> param1 >> param2;
166 emit receivedMessageFromSource(sourceChannel, uid, param1, param2); 166 emit receivedMessageFromSource(sourceChannel, uid, param1, param2);
167 } 167 }
168 else if (_usedSourceParameters == 3) 168 else if (_usedSourceParameters == 3)
169 { 169 {
170 stream >> param1 >> param2 >> param3; 170 stream >> param1 >> param2 >> param3;
171 emit receivedMessageFromSource(sourceChannel, uid, param1, param2, param3); 171 emit receivedMessageFromSource(sourceChannel, uid, param1, param2, param3);
172 } 172 }
173 173
174 return true; 174 return true;
175 } 175 }
176 176
177 return false; 177 return false;
178} 178}
179 179
180 180
181/********************************************************************************* 181/*********************************************************************************
182 * 182 *
183 ********************************************************************************/ 183 ********************************************************************************/
184 184
185 185
186QCopMapTransferItem::QCopMapTransferItem(int usedSourceParameters, const QString& sourceMessage, const QString& targetChannel, const QString& targetMessage) 186QCopMapTransferItem::QCopMapTransferItem(int usedSourceParameters, const QString& sourceMessage, const QString& targetChannel, const QString& targetMessage)
187 : QCopTransferItem(usedSourceParameters, sourceMessage, targetChannel,targetMessage) 187 : QCopTransferItem(usedSourceParameters, sourceMessage, targetChannel,targetMessage)
188{ 188{
189 //targetMessage returns later two parameters: uid, and map<qstring,qstring> 189 //targetMessage returns later two parameters: uid, and map<qstring,qstring>
190 _targetMessageParameters = "(QString,QMAP<QString,QString>)"; 190 _targetMessageParameters = "(QString,QMAP<QString,QString>)";
191} 191}
192 192
193/*********************************************************************************/ 193/*********************************************************************************/
194bool QCopMapTransferItem::sendMessageToSource(const QString& uid, const QMap<QString,QString>& nameEmailMap) 194bool QCopMapTransferItem::sendMessageToSource(const QString& uid, const QMap<QString,QString>& nameEmailMap)
195{ 195{
196#ifndef DESKTOP_VERSION 196#ifndef DESKTOP_VERSION
197 //targetMessage passes two parameters: uid, map 197 //targetMessage passes two parameters: uid, map
198 QString targetMessage = _targetMessage + _targetMessageParameters; 198 QString targetMessage = _targetMessage + _targetMessageParameters;
199 199
200 qDebug("Using QCopEnvelope e(\"%s\",\"%s\")", _sourceChannel.latin1(), targetMessage.latin1()); 200 qDebug("2Using QCopEnvelope e(\"%s\",\"%s\")", _sourceChannel.latin1(), targetMessage.latin1());
201 qDebug("passing uid(%s) and map as parameter to QCopEnvelope", uid.latin1()); 201 qDebug("passing uid(%s) and map as parameter to QCopEnvelope", uid.latin1());
202 202
203 QCopEnvelope e(_sourceChannel.latin1(), targetMessage.latin1()); 203 QCopEnvelope e(_sourceChannel.latin1(), targetMessage.latin1());
204 //US we need no names in the To field. The emailadresses are enough 204 //US we need no names in the To field. The emailadresses are enough
205 205
206 e << uid << nameEmailMap; 206 e << uid << nameEmailMap;
207 207
208 qApp->processEvents(); 208 qApp->processEvents();
209 209
210 return true; 210 return true;
211 211
212#else 212#else
213 KMessageBox::sorry( 0, i18n( "This version does not support QCop." ) ); 213 KMessageBox::sorry( 0, i18n( "This version does not support QCop." ) );
214 return false; 214 return false;
215#endif 215#endif
216 216
217} 217}
218 218
219 219
220/*********************************************************************************/ 220/*********************************************************************************/
221bool QCopMapTransferItem::appMessage( const QCString& cmsg, const QByteArray& data ) 221bool QCopMapTransferItem::appMessage( const QCString& cmsg, const QByteArray& data )
222{ 222{
223 bool res = QCopTransferItem::appMessage( cmsg, data ); 223 bool res = QCopTransferItem::appMessage( cmsg, data );
224 224
225 if (res == false) 225 if (res == false)
226 { 226 {
227 QDataStream stream( data, IO_ReadOnly ); 227 QDataStream stream( data, IO_ReadOnly );
228 228
229// qDebug("QCopMapTransferItem- QCOP message received: %s ", cmsg.data() ); 229// qDebug("QCopMapTransferItem- QCOP message received: %s ", cmsg.data() );
230 230
231 //we are in the source and get an answer from the target 231 //we are in the source and get an answer from the target
232 if ((_targetMessage + _targetMessageParameters) == cmsg.data()) 232 if ((_targetMessage + _targetMessageParameters) == cmsg.data())
233 { 233 {
234 QMap<QString,QString> adrMap; 234 QMap<QString,QString> adrMap;
235 QString uid; 235 QString uid;
236 236
237 stream >> uid >> adrMap; 237 stream >> uid >> adrMap;
238 238
239 emit receivedMessageFromTarget(uid, adrMap); 239 emit receivedMessageFromTarget(uid, adrMap);
240 240
241 241
242 return true; 242 return true;
243 } 243 }
244 } 244 }
245 245
246 return false; 246 return false;
247} 247}
248 248
249 249
250/********************************************************************************* 250/*********************************************************************************
251 * 251 *
252 ********************************************************************************/ 252 ********************************************************************************/
253 253
254 254
255QCopListTransferItem::QCopListTransferItem(int usedSourceParameters, const QString& sourceMessage, const QString& targetChannel, const QString& targetMessage) 255QCopListTransferItem::QCopListTransferItem(int usedSourceParameters, const QString& sourceMessage, const QString& targetChannel, const QString& targetMessage)
256 : QCopTransferItem(usedSourceParameters, sourceMessage, targetChannel,targetMessage) 256 : QCopTransferItem(usedSourceParameters, sourceMessage, targetChannel,targetMessage)
257{ 257{
258 //targetMessage returns later two parameters: uid, and three lists 258 //targetMessage returns later two parameters: uid, and three lists
259 _targetMessageParameters = "(QString,QStringList,QStringList,QStringList)"; 259 _targetMessageParameters = "(QString,QStringList,QStringList,QStringList)";
260} 260}
261 261
262/*********************************************************************************/ 262/*********************************************************************************/
263bool QCopListTransferItem::sendMessageToSource(const QString& uid, const QStringList& list1, const QStringList& list2, const QStringList& list3) 263bool QCopListTransferItem::sendMessageToSource(const QString& uid, const QStringList& list1, const QStringList& list2, const QStringList& list3)
264{ 264{
265#ifndef DESKTOP_VERSION 265#ifndef DESKTOP_VERSION
266 //targetMessage passes two parameters: uid, map 266 //targetMessage passes two parameters: uid, map
267 QString targetMessage = _targetMessage + _targetMessageParameters; 267 QString targetMessage = _targetMessage + _targetMessageParameters;
268 268
269 qDebug("Using QCopEnvelope e(\"%s\",\"%s\")", _sourceChannel.latin1(), targetMessage.latin1()); 269 qDebug("3Using QCopEnvelope e(\"%s\",\"%s\")", _sourceChannel.latin1(), targetMessage.latin1());
270 qDebug("passing uid(%s) and list1, list2, list3 as parameter to QCopEnvelope", uid.latin1()); 270 qDebug("passing uid(%s) and list1, list2, list3 as parameter to QCopEnvelope", uid.latin1());
271 271
272 QCopEnvelope e(_sourceChannel.latin1(), targetMessage.latin1()); 272 QCopEnvelope e(_sourceChannel.latin1(), targetMessage.latin1());
273 //US we need no names in the To field. The emailadresses are enough 273 //US we need no names in the To field. The emailadresses are enough
274 274
275 e << uid << list1 << list2 << list3; 275 e << uid << list1 << list2 << list3;
276 276
277 qApp->processEvents(); 277 qApp->processEvents();
278 278
279 return true; 279 return true;
280 280
281#else 281#else
282 KMessageBox::sorry( 0, i18n( "This version does not support QCop." ) ); 282 KMessageBox::sorry( 0, i18n( "This version does not support QCop." ) );
283 return false; 283 return false;
284#endif 284#endif
285 285
286} 286}
287 287
288 288
289/*********************************************************************************/ 289/*********************************************************************************/
290bool QCopListTransferItem::appMessage( const QCString& cmsg, const QByteArray& data ) 290bool QCopListTransferItem::appMessage( const QCString& cmsg, const QByteArray& data )
291{ 291{
292 bool res = QCopTransferItem::appMessage( cmsg, data ); 292 bool res = QCopTransferItem::appMessage( cmsg, data );
293 qDebug("1QCopListTransferItem- QCOP message received: %s ", cmsg.data() );
293 294
294 if (res == false) 295 if (res == false)
295 { 296 {
296 QDataStream stream( data, IO_ReadOnly ); 297 QDataStream stream( data, IO_ReadOnly );
297 298
298// qDebug("QCopListTransferItem- QCOP message received: %s ", cmsg.data() ); 299 qDebug("2QCopListTransferItem- QCOP message received: %s ", cmsg.data() );
299 300
300 //we are in the source and get an answer from the target 301 //we are in the source and get an answer from the target
301 if ((_targetMessage + _targetMessageParameters) == cmsg.data()) 302 if ((_targetMessage + _targetMessageParameters) == cmsg.data())
302 { 303 {
303 QStringList list1; 304 QStringList list1;
304 QStringList list2; 305 QStringList list2;
305 QStringList list3; 306 QStringList list3;
306 QString uid; 307 QString uid;
307 308
308 stream >> uid >> list1 >> list2 >> list3; 309 stream >> uid >> list1 >> list2 >> list3;
309 emit receivedMessageFromTarget(uid, list1, list2, list3); 310 emit receivedMessageFromTarget(uid, list1, list2, list3);
310 311
311 312
312 return true; 313 return true;
313 } 314 }
314 } 315 }
315 316
316 return false; 317 return false;
317} 318}
318 319
319 320
320 321
321/********************************************************************************* 322/*********************************************************************************
322 * 323 *
323 ********************************************************************************/ 324 ********************************************************************************/
324 325
325 326
326ExternalAppHandler *ExternalAppHandler::sInstance = 0; 327ExternalAppHandler *ExternalAppHandler::sInstance = 0;
327static KStaticDeleter<ExternalAppHandler> staticDeleter; 328static KStaticDeleter<ExternalAppHandler> staticDeleter;
328 329
329ExternalAppHandler::ExternalAppHandler() 330ExternalAppHandler::ExternalAppHandler()
330{ 331{
331 mDefaultItems.setAutoDelete(true); 332 mDefaultItems.setAutoDelete(true);
332 333
333 mNameEmailUidListFromKAPITransfer = new QCopListTransferItem(0, "requestNameEmailUIDListFromKAPI", "QPE/Application/kapi", "receiveNameEmailUIDList"); 334 mNameEmailUidListFromKAPITransfer = new QCopListTransferItem(0, "requestNameEmailUIDListFromKAPI", "QPE/Application/kapi", "receiveNameEmailUIDList");
334 connect(mNameEmailUidListFromKAPITransfer, SIGNAL (receivedMessageFromSource(const QString&, const QString&)), this, SIGNAL (requestForNameEmailUidList(const QString&, const QString&))); 335 connect(mNameEmailUidListFromKAPITransfer, SIGNAL (receivedMessageFromSource(const QString&, const QString&)), this, SIGNAL (requestForNameEmailUidList(const QString&, const QString&)));
335 connect(mNameEmailUidListFromKAPITransfer, SIGNAL (receivedMessageFromTarget(const QString&, const QStringList&, const QStringList&, const QStringList&)), this, SIGNAL (receivedNameEmailUidListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&))); 336 connect(mNameEmailUidListFromKAPITransfer, SIGNAL (receivedMessageFromTarget(const QString&, const QStringList&, const QStringList&, const QStringList&)), this, SIGNAL (receivedNameEmailUidListEvent(const QString&, const QStringList&, const QStringList&, const QStringList&)));
336 337
337//US mFindByEmailFromKAPITransfer = new QCopListTransferItem(1, "requestFindByEmailFromKAPI", "QPE/Application/kapi", "receiveFindByEmailNameEmailUIDList"); 338//US mFindByEmailFromKAPITransfer = new QCopListTransferItem(1, "requestFindByEmailFromKAPI", "QPE/Application/kapi", "receiveFindByEmailNameEmailUIDList");
338//US connect(mFindByEmailFromKAPITransfer, SIGNAL (receivedMessageFromSource(const QString&, const QString&, const QString&)), this, SIGNAL (requestForFindByEmail(const QString&, const QString&, const QString&))); 339//US connect(mFindByEmailFromKAPITransfer, SIGNAL (receivedMessageFromSource(const QString&, const QString&, const QString&)), this, SIGNAL (requestForFindByEmail(const QString&, const QString&, const QString&)));
339//US connect(mFindByEmailFromKAPITransfer, SIGNAL (receivedMessageFromTarget(const QString&, const QStringList&, const QStringList&, const QStringList&)), this, SIGNAL (receivedFindByEmailEvent(const QString&, const QStringList&, const QStringList&, const QStringList&))); 340//US connect(mFindByEmailFromKAPITransfer, SIGNAL (receivedMessageFromTarget(const QString&, const QStringList&, const QStringList&, const QStringList&)), this, SIGNAL (receivedFindByEmailEvent(const QString&, const QStringList&, const QStringList&, const QStringList&)));
340 341
341 mDisplayDetails = new QCopListTransferItem(3, "requestDisplayDetailsFromKAPI", "QPE/Application/kapi", ""); 342 mDisplayDetails = new QCopListTransferItem(3, "requestDisplayDetailsFromKAPI", "QPE/Application/kapi", "");
342 connect(mDisplayDetails, SIGNAL (receivedMessageFromSource(const QString&, const QString&, const QString&, const QString&, const QString&)), this, SIGNAL (requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&))); 343 connect(mDisplayDetails, SIGNAL (receivedMessageFromSource(const QString&, const QString&, const QString&, const QString&, const QString&)), this, SIGNAL (requestForDetails(const QString&, const QString&, const QString&, const QString&, const QString&)));
343} 344}
344 345
345ExternalAppHandler::~ExternalAppHandler() 346ExternalAppHandler::~ExternalAppHandler()
346{ 347{
347} 348}
348 349
349void ExternalAppHandler::loadConfig() 350void ExternalAppHandler::loadConfig()
350{ 351{
351 352
352 mDefaultItems.clear(); 353 mDefaultItems.clear();
353 mEmailAppAvailable = UNDEFINED; 354 mEmailAppAvailable = UNDEFINED;
354 mPhoneAppAvailable = UNDEFINED; 355 mPhoneAppAvailable = UNDEFINED;
355 mFaxAppAvailable = UNDEFINED; 356 mFaxAppAvailable = UNDEFINED;
356 mSMSAppAvailable = UNDEFINED; 357 mSMSAppAvailable = UNDEFINED;
357 mPagerAppAvailable = UNDEFINED; 358 mPagerAppAvailable = UNDEFINED;
358 mSIPAppAvailable = UNDEFINED; 359 mSIPAppAvailable = UNDEFINED;
359 360
360 QString opiepath = QString::fromLatin1( getenv("OPIEDIR") ); 361 QString opiepath = QString::fromLatin1( getenv("OPIEDIR") );
361 QString qtopiapath = QString::fromLatin1( getenv("QPEDIR") ); 362 QString qtopiapath = QString::fromLatin1( getenv("QPEDIR") );
362 363
@@ -543,550 +544,551 @@ bool ExternalAppHandler::isPagerAppAvailable()
543 return (mPagerAppAvailable == AVAILABLE); 544 return (mPagerAppAvailable == AVAILABLE);
544#else //DESKTOP_VERSION 545#else //DESKTOP_VERSION
545 return false; 546 return false;
546#endif //DESKTOP_VERSION 547#endif //DESKTOP_VERSION
547} 548}
548 549
549 550
550bool ExternalAppHandler::isSIPAppAvailable() 551bool ExternalAppHandler::isSIPAppAvailable()
551{ 552{
552#ifndef DESKTOP_VERSION 553#ifndef DESKTOP_VERSION
553 if (mSIPAppAvailable == UNDEFINED) 554 if (mSIPAppAvailable == UNDEFINED)
554 { 555 {
555 int client = KPimGlobalPrefs::instance()->mSipClient; 556 int client = KPimGlobalPrefs::instance()->mSipClient;
556 if (client == KPimGlobalPrefs::NONE_SIC) 557 if (client == KPimGlobalPrefs::NONE_SIC)
557 mSIPAppAvailable = UNAVAILABLE; 558 mSIPAppAvailable = UNAVAILABLE;
558 else 559 else
559 mSIPAppAvailable = AVAILABLE; 560 mSIPAppAvailable = AVAILABLE;
560 } 561 }
561 562
562 return (mSIPAppAvailable == AVAILABLE); 563 return (mSIPAppAvailable == AVAILABLE);
563#else //DESKTOP_VERSION 564#else //DESKTOP_VERSION
564 return false; 565 return false;
565#endif //DESKTOP_VERSION 566#endif //DESKTOP_VERSION
566} 567}
567 568
568/************************************************************************** 569/**************************************************************************
569 * 570 *
570 **************************************************************************/ 571 **************************************************************************/
571 572
572 573
573//calls the emailapplication with a number of attachments that need to be send (Seperated by Comma) 574//calls the emailapplication with a number of attachments that need to be send (Seperated by Comma)
574bool ExternalAppHandler::mailToMultipleContacts( const QString& emails, const QString& urls ) 575bool ExternalAppHandler::mailToMultipleContacts( const QString& emails, const QString& urls )
575{ 576{
576 577
577#ifndef DESKTOP_VERSION 578#ifndef DESKTOP_VERSION
578 QString channel; 579 QString channel;
579 QString message2; 580 QString message2;
580 QString parameters2; 581 QString parameters2;
581 582
582 583
583 int client = KPimGlobalPrefs::instance()->mEmailClient; 584 int client = KPimGlobalPrefs::instance()->mEmailClient;
584 if (client == KPimGlobalPrefs::OTHER_EMC) 585 if (client == KPimGlobalPrefs::OTHER_EMC)
585 { 586 {
586 channel = KPimGlobalPrefs::instance()->mEmailOtherChannel; 587 channel = KPimGlobalPrefs::instance()->mEmailOtherChannel;
587 message2 = KPimGlobalPrefs::instance()->mEmailOtherMessage; 588 message2 = KPimGlobalPrefs::instance()->mEmailOtherMessage;
588 parameters2 = KPimGlobalPrefs::instance()->mEmailOtherMessageParameters; 589 parameters2 = KPimGlobalPrefs::instance()->mEmailOtherMessageParameters;
589 } 590 }
590 else 591 else
591 { 592 {
592 DefaultAppItem* dai = getDefaultItem(EMAIL, client); 593 DefaultAppItem* dai = getDefaultItem(EMAIL, client);
593 if (!dai) 594 if (!dai)
594 { 595 {
595 qDebug("could not find configured email application."); 596 qDebug("could not find configured email application.");
596 return false; 597 return false;
597 } 598 }
598 channel = dai->_channel; 599 channel = dai->_channel;
599 message2 = dai->_message2; 600 message2 = dai->_message2;
600 parameters2 = dai->_parameters2; 601 parameters2 = dai->_parameters2;
601 } 602 }
602 603
603 //first check if one of the mailers need the emails right in the message. 604 //first check if one of the mailers need the emails right in the message.
604 message2 = translateMessage(message2, emails, urls); 605 message2 = translateMessage(message2, emails, urls);
605 606
606 607
607 qDebug("Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message2.latin1()); 608 qDebug("4Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message2.latin1());
608 qDebug("passing emailadresses(%s), attachmenturls(%s) as parameters in the form %s to QCopEnvelope", emails.latin1() , urls.latin1(), parameters2.latin1()); 609 qDebug("passing emailadresses(%s), attachmenturls(%s) as parameters in the form %s to QCopEnvelope", emails.latin1() , urls.latin1(), parameters2.latin1());
609 610
610 611
611 QCopEnvelope e(channel.latin1(), message2.latin1()); 612 QCopEnvelope e(channel.latin1(), message2.latin1());
612 //US we need no names in the To field. The emailadresses are enough 613 //US we need no names in the To field. The emailadresses are enough
613 614
614 passParameters(&e, parameters2, emails, urls); 615 passParameters(&e, parameters2, emails, urls);
615 616
616 617
617 618
618#else 619#else
619 KMessageBox::sorry( 0, i18n( "This version does not support the sending of emails." ) ); 620 KMessageBox::sorry( 0, i18n( "This version does not support the sending of emails." ) );
620#endif 621#endif
621 622
622 return true; 623 return true;
623} 624}
624 625
625/************************************************************************** 626/**************************************************************************
626 * 627 *
627 **************************************************************************/ 628 **************************************************************************/
628 629
629 630
630//calls the emailapplication and creates a mail with parameter emails as recipients 631//calls the emailapplication and creates a mail with parameter emails as recipients
631bool ExternalAppHandler::mailToOneContact( const QString& name, const QString& emailadress ) 632bool ExternalAppHandler::mailToOneContact( const QString& name, const QString& emailadress )
632{ 633{
633#ifndef DESKTOP_VERSION 634#ifndef DESKTOP_VERSION
634 QString channel; 635 QString channel;
635 QString message; 636 QString message;
636 QString parameters; 637 QString parameters;
637 638
638 639
639 int client = KPimGlobalPrefs::instance()->mEmailClient; 640 int client = KPimGlobalPrefs::instance()->mEmailClient;
640 if (client == KPimGlobalPrefs::OTHER_EMC) 641 if (client == KPimGlobalPrefs::OTHER_EMC)
641 { 642 {
642 channel = KPimGlobalPrefs::instance()->mEmailOtherChannel; 643 channel = KPimGlobalPrefs::instance()->mEmailOtherChannel;
643 message = KPimGlobalPrefs::instance()->mEmailOtherMessage; 644 message = KPimGlobalPrefs::instance()->mEmailOtherMessage;
644 parameters = KPimGlobalPrefs::instance()->mEmailOtherMessageParameters; 645 parameters = KPimGlobalPrefs::instance()->mEmailOtherMessageParameters;
645 } 646 }
646 else 647 else
647 { 648 {
648 DefaultAppItem* dai = ExternalAppHandler::getDefaultItem(EMAIL, client); 649 DefaultAppItem* dai = ExternalAppHandler::getDefaultItem(EMAIL, client);
649 if (!dai) 650 if (!dai)
650 { 651 {
651 qDebug("could not find configured email application."); 652 qDebug("could not find configured email application.");
652 return false; 653 return false;
653 } 654 }
654 channel = dai->_channel; 655 channel = dai->_channel;
655 message = dai->_message; 656 message = dai->_message;
656 parameters = dai->_parameters; 657 parameters = dai->_parameters;
657 } 658 }
658 659
659 660
660 //first check if one of the mailers need the emails right in the message. 661 //first check if one of the mailers need the emails right in the message.
661 message = translateMessage(message, name, emailadress); 662 message = translateMessage(message, name, emailadress);
662 663
663 664
664 qDebug("Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1()); 665 qDebug("5Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1());
665 qDebug("passing name(%s), emailadresses(%s) as parameters in the form %s to QCopEnvelope", name.latin1(), emailadress.latin1(), parameters.latin1()); 666 qDebug("passing name(%s), emailadresses(%s) as parameters in the form %s to QCopEnvelope", name.latin1(), emailadress.latin1(), parameters.latin1());
666 667
667 QCopEnvelope e(channel.latin1(), message.latin1()); 668 QCopEnvelope e(channel.latin1(), message.latin1());
668 //US we need no names in the To field. The emailadresses are enough 669 //US we need no names in the To field. The emailadresses are enough
669 670
670 passParameters(&e, parameters, name, emailadress); 671 passParameters(&e, parameters, name, emailadress);
671 672
672 673
673#else 674#else
674 KMessageBox::sorry( 0, i18n( "This version does not support the sending of emails." ) ); 675 KMessageBox::sorry( 0, i18n( "This version does not support the sending of emails." ) );
675#endif 676#endif
676 677
677 678
678 return true; 679 return true;
679} 680}
680 681
681/************************************************************************** 682/**************************************************************************
682 * 683 *
683 **************************************************************************/ 684 **************************************************************************/
684 685
685//calls the emailapplication and creates a mail with parameter as recipients 686//calls the emailapplication and creates a mail with parameter as recipients
686// parameters format is 687// parameters format is
687// NAME <EMAIL>:SUBJECT 688// NAME <EMAIL>:SUBJECT
688bool ExternalAppHandler::mailToOneContact( const QString& adressline ) 689bool ExternalAppHandler::mailToOneContact( const QString& adressline )
689{ 690{
690 QString line = adressline; 691 QString line = adressline;
691 692
692 int first = line.find( "<"); 693 int first = line.find( "<");
693 int last = line.find( ">"); 694 int last = line.find( ">");
694 QString name = line.left(first); 695 QString name = line.left(first);
695 QString emailadress = line.mid(first+1, last-first-1); 696 QString emailadress = line.mid(first+1, last-first-1);
696 697
697 //Subject can not be handled right now. 698 //Subject can not be handled right now.
698 return mailToOneContact( name, emailadress ); 699 return mailToOneContact( name, emailadress );
699 700
700} 701}
701 702
702 703
703/************************************************************************** 704/**************************************************************************
704 * 705 *
705 **************************************************************************/ 706 **************************************************************************/
706 707
707//calls the phoneapplication with the number 708//calls the phoneapplication with the number
708bool ExternalAppHandler::callByPhone( const QString& phonenumber ) 709bool ExternalAppHandler::callByPhone( const QString& phonenumber )
709{ 710{
710#ifndef DESKTOP_VERSION 711#ifndef DESKTOP_VERSION
711 QString channel; 712 QString channel;
712 QString message; 713 QString message;
713 QString parameters; 714 QString parameters;
714 715
715 716
716 int client = KPimGlobalPrefs::instance()->mPhoneClient; 717 int client = KPimGlobalPrefs::instance()->mPhoneClient;
717 if (client == KPimGlobalPrefs::OTHER_PHC) 718 if (client == KPimGlobalPrefs::OTHER_PHC)
718 { 719 {
719 channel = KPimGlobalPrefs::instance()->mPhoneOtherChannel; 720 channel = KPimGlobalPrefs::instance()->mPhoneOtherChannel;
720 message = KPimGlobalPrefs::instance()->mPhoneOtherMessage; 721 message = KPimGlobalPrefs::instance()->mPhoneOtherMessage;
721 parameters = KPimGlobalPrefs::instance()->mPhoneOtherMessageParameters; 722 parameters = KPimGlobalPrefs::instance()->mPhoneOtherMessageParameters;
722 } 723 }
723 else 724 else
724 { 725 {
725 DefaultAppItem* dai = ExternalAppHandler::getDefaultItem(PHONE, client); 726 DefaultAppItem* dai = ExternalAppHandler::getDefaultItem(PHONE, client);
726 if (!dai) 727 if (!dai)
727 { 728 {
728 qDebug("could not find configured phone application."); 729 qDebug("could not find configured phone application.");
729 return false; 730 return false;
730 } 731 }
731 channel = dai->_channel; 732 channel = dai->_channel;
732 message = dai->_message; 733 message = dai->_message;
733 parameters = dai->_parameters; 734 parameters = dai->_parameters;
734 } 735 }
735 736
736 737
737 //first check if one of the mailers need the emails right in the message. 738 //first check if one of the mailers need the emails right in the message.
738 message = translateMessage(message, phonenumber, ""); 739 message = translateMessage(message, phonenumber, "");
739 740
740 741
741 qDebug("Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1()); 742 qDebug("6Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1());
742 qDebug("passing phonenumber(%s) as parameter in the form %s to QCopEnvelope", phonenumber.latin1(), parameters.latin1()); 743 qDebug("passing phonenumber(%s) as parameter in the form %s to QCopEnvelope", phonenumber.latin1(), parameters.latin1());
743 744
744 QCopEnvelope e(channel.latin1(), message.latin1()); 745 QCopEnvelope e(channel.latin1(), message.latin1());
745 //US we need no names in the To field. The emailadresses are enough 746 //US we need no names in the To field. The emailadresses are enough
746 747
747 passParameters(&e, parameters, phonenumber, ""); 748 passParameters(&e, parameters, phonenumber, "");
748 749
749 750
750#else 751#else
751 KMessageBox::sorry( 0, i18n( "This version does not support phonecalls." ) ); 752 KMessageBox::sorry( 0, i18n( "This version does not support phonecalls." ) );
752#endif 753#endif
753 754
754 755
755 return true; 756 return true;
756} 757}
757 758
758/************************************************************************** 759/**************************************************************************
759 * 760 *
760 **************************************************************************/ 761 **************************************************************************/
761 762
762//calls the smsapplication with the number 763//calls the smsapplication with the number
763bool ExternalAppHandler::callBySMS( const QString& phonenumber ) 764bool ExternalAppHandler::callBySMS( const QString& phonenumber )
764{ 765{
765#ifndef DESKTOP_VERSION 766#ifndef DESKTOP_VERSION
766 QString channel; 767 QString channel;
767 QString message; 768 QString message;
768 QString parameters; 769 QString parameters;
769 770
770 771
771 int client = KPimGlobalPrefs::instance()->mSMSClient; 772 int client = KPimGlobalPrefs::instance()->mSMSClient;
772 if (client == KPimGlobalPrefs::OTHER_SMC) 773 if (client == KPimGlobalPrefs::OTHER_SMC)
773 { 774 {
774 channel = KPimGlobalPrefs::instance()->mSMSOtherChannel; 775 channel = KPimGlobalPrefs::instance()->mSMSOtherChannel;
775 message = KPimGlobalPrefs::instance()->mSMSOtherMessage; 776 message = KPimGlobalPrefs::instance()->mSMSOtherMessage;
776 parameters = KPimGlobalPrefs::instance()->mSMSOtherMessageParameters; 777 parameters = KPimGlobalPrefs::instance()->mSMSOtherMessageParameters;
777 } 778 }
778 else 779 else
779 { 780 {
780 DefaultAppItem* dai = ExternalAppHandler::getDefaultItem(SMS, client); 781 DefaultAppItem* dai = ExternalAppHandler::getDefaultItem(SMS, client);
781 if (!dai) 782 if (!dai)
782 { 783 {
783 qDebug("could not find configured sms application."); 784 qDebug("could not find configured sms application.");
784 return false; 785 return false;
785 } 786 }
786 channel = dai->_channel; 787 channel = dai->_channel;
787 message = dai->_message; 788 message = dai->_message;
788 parameters = dai->_parameters; 789 parameters = dai->_parameters;
789 } 790 }
790 791
791 792
792 //first check if one of the mailers need the emails right in the message. 793 //first check if one of the mailers need the emails right in the message.
793 message = translateMessage(message, phonenumber, ""); 794 message = translateMessage(message, phonenumber, "");
794 795
795 796
796 qDebug("Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1()); 797 qDebug("7Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1());
797 qDebug("passing phonenumber(%s) as parameter in the form %s to QCopEnvelope", phonenumber.latin1(), parameters.latin1()); 798 qDebug("passing phonenumber(%s) as parameter in the form %s to QCopEnvelope", phonenumber.latin1(), parameters.latin1());
798 799
799 QCopEnvelope e(channel.latin1(), message.latin1()); 800 QCopEnvelope e(channel.latin1(), message.latin1());
800 //US we need no names in the To field. The emailadresses are enough 801 //US we need no names in the To field. The emailadresses are enough
801 802
802 passParameters(&e, parameters, phonenumber, ""); 803 passParameters(&e, parameters, phonenumber, "");
803 804
804 805
805#else 806#else
806 KMessageBox::sorry( 0, i18n( "This version does not support the sending of sms." ) ); 807 KMessageBox::sorry( 0, i18n( "This version does not support the sending of sms." ) );
807#endif 808#endif
808 809
809 810
810 return true; 811 return true;
811} 812}
812 813
813/************************************************************************** 814/**************************************************************************
814 * 815 *
815 **************************************************************************/ 816 **************************************************************************/
816 817
817//calls the pagerapplication with the number 818//calls the pagerapplication with the number
818bool ExternalAppHandler::callByPager( const QString& pagernumber ) 819bool ExternalAppHandler::callByPager( const QString& pagernumber )
819{ 820{
820#ifndef DESKTOP_VERSION 821#ifndef DESKTOP_VERSION
821 QString channel; 822 QString channel;
822 QString message; 823 QString message;
823 QString parameters; 824 QString parameters;
824 825
825 826
826 int client = KPimGlobalPrefs::instance()->mPagerClient; 827 int client = KPimGlobalPrefs::instance()->mPagerClient;
827 if (client == KPimGlobalPrefs::OTHER_PAC) 828 if (client == KPimGlobalPrefs::OTHER_PAC)
828 { 829 {
829 channel = KPimGlobalPrefs::instance()->mPagerOtherChannel; 830 channel = KPimGlobalPrefs::instance()->mPagerOtherChannel;
830 message = KPimGlobalPrefs::instance()->mPagerOtherMessage; 831 message = KPimGlobalPrefs::instance()->mPagerOtherMessage;
831 parameters = KPimGlobalPrefs::instance()->mPagerOtherMessageParameters; 832 parameters = KPimGlobalPrefs::instance()->mPagerOtherMessageParameters;
832 } 833 }
833 else 834 else
834 { 835 {
835 DefaultAppItem* dai = ExternalAppHandler::getDefaultItem(PAGER, client); 836 DefaultAppItem* dai = ExternalAppHandler::getDefaultItem(PAGER, client);
836 if (!dai) 837 if (!dai)
837 { 838 {
838 qDebug("could not find configured pager application."); 839 qDebug("could not find configured pager application.");
839 return false; 840 return false;
840 } 841 }
841 channel = dai->_channel; 842 channel = dai->_channel;
842 message = dai->_message; 843 message = dai->_message;
843 parameters = dai->_parameters; 844 parameters = dai->_parameters;
844 } 845 }
845 846
846 847
847 //first check if one of the mailers need the emails right in the message. 848 //first check if one of the mailers need the emails right in the message.
848 message = translateMessage(message, pagernumber, ""); 849 message = translateMessage(message, pagernumber, "");
849 850
850 851
851 qDebug("Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1()); 852 qDebug("8Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1());
852 qDebug("passing pagernumber(%s) as parameter in the form %s to QCopEnvelope", pagernumber.latin1(), parameters.latin1()); 853 qDebug("passing pagernumber(%s) as parameter in the form %s to QCopEnvelope", pagernumber.latin1(), parameters.latin1());
853 854
854 QCopEnvelope e(channel.latin1(), message.latin1()); 855 QCopEnvelope e(channel.latin1(), message.latin1());
855 //US we need no names in the To field. The emailadresses are enough 856 //US we need no names in the To field. The emailadresses are enough
856 857
857 passParameters(&e, parameters, pagernumber, ""); 858 passParameters(&e, parameters, pagernumber, "");
858 859
859 860
860#else 861#else
861 KMessageBox::sorry( 0, i18n( "This version does not support paging." ) ); 862 KMessageBox::sorry( 0, i18n( "This version does not support paging." ) );
862#endif 863#endif
863 864
864 865
865 return true; 866 return true;
866} 867}
867 868
868/************************************************************************** 869/**************************************************************************
869 * 870 *
870 **************************************************************************/ 871 **************************************************************************/
871 872
872//calls the faxapplication with the number 873//calls the faxapplication with the number
873bool ExternalAppHandler::callByFax( const QString& faxnumber ) 874bool ExternalAppHandler::callByFax( const QString& faxnumber )
874{ 875{
875#ifndef DESKTOP_VERSION 876#ifndef DESKTOP_VERSION
876 QString channel; 877 QString channel;
877 QString message; 878 QString message;
878 QString parameters; 879 QString parameters;
879 880
880 881
881 int client = KPimGlobalPrefs::instance()->mFaxClient; 882 int client = KPimGlobalPrefs::instance()->mFaxClient;
882 if (client == KPimGlobalPrefs::OTHER_FAC) 883 if (client == KPimGlobalPrefs::OTHER_FAC)
883 { 884 {
884 channel = KPimGlobalPrefs::instance()->mFaxOtherChannel; 885 channel = KPimGlobalPrefs::instance()->mFaxOtherChannel;
885 message = KPimGlobalPrefs::instance()->mFaxOtherMessage; 886 message = KPimGlobalPrefs::instance()->mFaxOtherMessage;
886 parameters = KPimGlobalPrefs::instance()->mFaxOtherMessageParameters; 887 parameters = KPimGlobalPrefs::instance()->mFaxOtherMessageParameters;
887 } 888 }
888 else 889 else
889 { 890 {
890 DefaultAppItem* dai = ExternalAppHandler::getDefaultItem(FAX, client); 891 DefaultAppItem* dai = ExternalAppHandler::getDefaultItem(FAX, client);
891 if (!dai) 892 if (!dai)
892 { 893 {
893 qDebug("could not find configured fax application."); 894 qDebug("could not find configured fax application.");
894 return false; 895 return false;
895 } 896 }
896 channel = dai->_channel; 897 channel = dai->_channel;
897 message = dai->_message; 898 message = dai->_message;
898 parameters = dai->_parameters; 899 parameters = dai->_parameters;
899 } 900 }
900 901
901 902
902 //first check if one of the mailers need the emails right in the message. 903 //first check if one of the mailers need the emails right in the message.
903 message = translateMessage(message, faxnumber, ""); 904 message = translateMessage(message, faxnumber, "");
904 905
905 906
906 qDebug("Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1()); 907 qDebug("9Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1());
907 qDebug("passing faxnumber(%s) as parameter in the form %s to QCopEnvelope", faxnumber.latin1(), parameters.latin1()); 908 qDebug("passing faxnumber(%s) as parameter in the form %s to QCopEnvelope", faxnumber.latin1(), parameters.latin1());
908 909
909 QCopEnvelope e(channel.latin1(), message.latin1()); 910 QCopEnvelope e(channel.latin1(), message.latin1());
910 //US we need no names in the To field. The emailadresses are enough 911 //US we need no names in the To field. The emailadresses are enough
911 912
912 passParameters(&e, parameters, faxnumber, ""); 913 passParameters(&e, parameters, faxnumber, "");
913 914
914 915
915#else 916#else
916 KMessageBox::sorry( 0, i18n( "This version does not support the sending of faxes." ) ); 917 KMessageBox::sorry( 0, i18n( "This version does not support the sending of faxes." ) );
917#endif 918#endif
918 919
919 920
920 return true; 921 return true;
921} 922}
922 923
923/************************************************************************** 924/**************************************************************************
924 * 925 *
925 **************************************************************************/ 926 **************************************************************************/
926 927
927//calls the sipapplication with the number 928//calls the sipapplication with the number
928bool ExternalAppHandler::callBySIP( const QString& sipnumber ) 929bool ExternalAppHandler::callBySIP( const QString& sipnumber )
929{ 930{
930#ifndef DESKTOP_VERSION 931#ifndef DESKTOP_VERSION
931 QString channel; 932 QString channel;
932 QString message; 933 QString message;
933 QString parameters; 934 QString parameters;
934 935
935 936
936 int client = KPimGlobalPrefs::instance()->mSipClient; 937 int client = KPimGlobalPrefs::instance()->mSipClient;
937 if (client == KPimGlobalPrefs::OTHER_SIC) 938 if (client == KPimGlobalPrefs::OTHER_SIC)
938 { 939 {
939 channel = KPimGlobalPrefs::instance()->mSipOtherChannel; 940 channel = KPimGlobalPrefs::instance()->mSipOtherChannel;
940 message = KPimGlobalPrefs::instance()->mSipOtherMessage; 941 message = KPimGlobalPrefs::instance()->mSipOtherMessage;
941 parameters = KPimGlobalPrefs::instance()->mSipOtherMessageParameters; 942 parameters = KPimGlobalPrefs::instance()->mSipOtherMessageParameters;
942 } 943 }
943 else 944 else
944 { 945 {
945 DefaultAppItem* dai = ExternalAppHandler::getDefaultItem(SIP, client); 946 DefaultAppItem* dai = ExternalAppHandler::getDefaultItem(SIP, client);
946 if (!dai) 947 if (!dai)
947 { 948 {
948 qDebug("could not find configured sip application."); 949 qDebug("could not find configured sip application.");
949 return false; 950 return false;
950 } 951 }
951 channel = dai->_channel; 952 channel = dai->_channel;
952 message = dai->_message; 953 message = dai->_message;
953 parameters = dai->_parameters; 954 parameters = dai->_parameters;
954 } 955 }
955 956
956 957
957 //first check if one of the sip apps need the emails right in the message. 958 //first check if one of the sip apps need the emails right in the message.
958 message = translateMessage(message, sipnumber, ""); 959 message = translateMessage(message, sipnumber, "");
959 960
960 961
961 qDebug("Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1()); 962 qDebug("10Using QCopEnvelope e(\"%s\",\"%s\")", channel.latin1(), message.latin1());
962 qDebug("passing sipnumber(%s) as parameter in the form %s to QCopEnvelope", sipnumber.latin1(), parameters.latin1()); 963 qDebug("passing sipnumber(%s) as parameter in the form %s to QCopEnvelope", sipnumber.latin1(), parameters.latin1());
963 964
964 QCopEnvelope e(channel.latin1(), message.latin1()); 965 QCopEnvelope e(channel.latin1(), message.latin1());
965 //US we need no names in the To field. The emailadresses are enough 966 //US we need no names in the To field. The emailadresses are enough
966 967
967 passParameters(&e, parameters, sipnumber, ""); 968 passParameters(&e, parameters, sipnumber, "");
968 969
969 970
970#else 971#else
971 KMessageBox::sorry( 0, i18n( "This version does not support sip." ) ); 972 KMessageBox::sorry( 0, i18n( "This version does not support sip." ) );
972#endif 973#endif
973 974
974 975
975 return true; 976 return true;
976} 977}
977 978
978 979
979/************************************************************************** 980/**************************************************************************
980 * 981 *
981 **************************************************************************/ 982 **************************************************************************/
982 983
983 984
984QString& ExternalAppHandler::translateMessage(QString& message, const QString& param1, const QString& param2 ) const 985QString& ExternalAppHandler::translateMessage(QString& message, const QString& param1, const QString& param2 ) const
985{ 986{
986 message = message.replace( QRegExp("%1"), param1 ); 987 message = message.replace( QRegExp("%1"), param1 );
987 return message.replace( QRegExp("%2"), param2 ); 988 return message.replace( QRegExp("%2"), param2 );
988} 989}
989 990
990/************************************************************************** 991/**************************************************************************
991 * 992 *
992 **************************************************************************/ 993 **************************************************************************/
993 994
994void ExternalAppHandler::passParameters(QCopEnvelope* e, const QString& parameters, const QString& param1 , const QString& param2) const 995void ExternalAppHandler::passParameters(QCopEnvelope* e, const QString& parameters, const QString& param1 , const QString& param2) const
995{ 996{
996#ifndef DESKTOP_VERSION 997#ifndef DESKTOP_VERSION
997 QMap<QString, QString> valmap; 998 QMap<QString, QString> valmap;
998 bool useValMap = false; 999 bool useValMap = false;
999 1000
1000 // first extract all parts of the parameters. 1001 // first extract all parts of the parameters.
1001 QStringList paramlist = QStringList::split(";", parameters); 1002 QStringList paramlist = QStringList::split(";", parameters);
1002 1003
1003 //Now check how many parts we have. 1004 //Now check how many parts we have.
1004 //=0 :no params to pass 1005 //=0 :no params to pass
1005 //>0 :parameters to pass 1006 //>0 :parameters to pass
1006 for ( QStringList::Iterator it = paramlist.begin(); it != paramlist.end(); ++it ) 1007 for ( QStringList::Iterator it = paramlist.begin(); it != paramlist.end(); ++it )
1007 { 1008 {
1008 QString param = (*it); 1009 QString param = (*it);
1009 QStringList keyvallist = QStringList::split("=", param); 1010 QStringList keyvallist = QStringList::split("=", param);
1010 1011
1011 //if we have keyvalue pairs, we assume that we pass a map to the envelope 1012 //if we have keyvalue pairs, we assume that we pass a map to the envelope
1012 QStringList::Iterator it2 = keyvallist.begin(); 1013 QStringList::Iterator it2 = keyvallist.begin();
1013 QString key = (*it2); 1014 QString key = (*it2);
1014 key = key.replace( QRegExp("%1"), param1 ); 1015 key = key.replace( QRegExp("%1"), param1 );
1015 key = key.replace( QRegExp("%2"), param2 ); 1016 key = key.replace( QRegExp("%2"), param2 );
1016 ++it2; 1017 ++it2;
1017 1018
1018 if(it2 != keyvallist.end()) 1019 if(it2 != keyvallist.end())
1019 { 1020 {
1020 QString value = (*it2); 1021 QString value = (*it2);
1021 value = value.replace( QRegExp("%1"), param1 ); 1022 value = value.replace( QRegExp("%1"), param1 );
1022 value = value.replace( QRegExp("%2"), param2 ); 1023 value = value.replace( QRegExp("%2"), param2 );
1023 1024
1024 valmap.insert(key, value); 1025 valmap.insert(key, value);
1025 useValMap = true; 1026 useValMap = true;
1026 } 1027 }
1027 else 1028 else
1028 { 1029 {
1029 // qDebug("pass parameter << %s", key.latin1()); 1030 // qDebug("pass parameter << %s", key.latin1());
1030 (*e) << key; 1031 (*e) << key;
1031 } 1032 }
1032 } 1033 }
1033 1034
1034 if (useValMap == true) 1035 if (useValMap == true)
1035 (*e) << valmap; 1036 (*e) << valmap;
1036 1037
1037#endif 1038#endif
1038 1039
1039} 1040}
1040 1041
1041 1042
1042 1043
1043/************************************************************************** 1044/**************************************************************************
1044 * 1045 *
1045 **************************************************************************/ 1046 **************************************************************************/
1046 1047
1047void ExternalAppHandler::appMessage( const QCString& cmsg, const QByteArray& data ) 1048void ExternalAppHandler::appMessage( const QCString& cmsg, const QByteArray& data )
1048{ 1049{
1049 bool res = mNameEmailUidListFromKAPITransfer->appMessage( cmsg, data ); 1050 bool res = mNameEmailUidListFromKAPITransfer->appMessage( cmsg, data );
1050 if (!res) 1051 if (!res)
1051 res = mDisplayDetails->appMessage( cmsg, data ); 1052 res = mDisplayDetails->appMessage( cmsg, data );
1052 1053
1053// if (!res) 1054// if (!res)
1054// res = mNameEmailUidListFromKAPITransfer->appMessage( cmsg, data ); 1055// res = mNameEmailUidListFromKAPITransfer->appMessage( cmsg, data );
1055} 1056}
1056 1057
1057 1058
1058 1059
1059bool ExternalAppHandler::requestNameEmailUidListFromKAPI(const QString& sourceChannel, const QString& sessionuid) 1060bool ExternalAppHandler::requestNameEmailUidListFromKAPI(const QString& sourceChannel, const QString& sessionuid)
1060{ 1061{
1061 mNameEmailUidListFromKAPITransfer->setSourceChannel(sourceChannel); 1062 mNameEmailUidListFromKAPITransfer->setSourceChannel(sourceChannel);
1062 return mNameEmailUidListFromKAPITransfer->sendMessageToTarget(sessionuid); 1063 return mNameEmailUidListFromKAPITransfer->sendMessageToTarget(sessionuid);
1063} 1064}
1064 1065
1065bool ExternalAppHandler::returnNameEmailUidListFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& list1, const QStringList& list2, const QStringList& list3) 1066bool ExternalAppHandler::returnNameEmailUidListFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& list1, const QStringList& list2, const QStringList& list3)
1066{ 1067{
1068
1067 mNameEmailUidListFromKAPITransfer->setSourceChannel(sourceChannel); 1069 mNameEmailUidListFromKAPITransfer->setSourceChannel(sourceChannel);
1068 return mNameEmailUidListFromKAPITransfer->sendMessageToSource(sessionuid, list1, list2, list3); 1070 return mNameEmailUidListFromKAPITransfer->sendMessageToSource(sessionuid, list1, list2, list3);
1069} 1071}
1070 1072
1071bool ExternalAppHandler::requestFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QString& email) 1073bool ExternalAppHandler::requestFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QString& email)
1072{ 1074{
1073 mFindByEmailFromKAPITransfer->setSourceChannel(sourceChannel); 1075 mFindByEmailFromKAPITransfer->setSourceChannel(sourceChannel);
1074 return mFindByEmailFromKAPITransfer->sendMessageToTarget(sessionuid, email); 1076 return mFindByEmailFromKAPITransfer->sendMessageToTarget(sessionuid, email);
1075} 1077}
1076 1078
1077bool ExternalAppHandler::returnFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& list1, const QStringList& list2, const QStringList& list3) 1079bool ExternalAppHandler::returnFindByEmailFromKAPI(const QString& sourceChannel, const QString& sessionuid, const QStringList& list1, const QStringList& list2, const QStringList& list3)
1078{ 1080{
1079 mFindByEmailFromKAPITransfer->setSourceChannel(sourceChannel); 1081 mFindByEmailFromKAPITransfer->setSourceChannel(sourceChannel);
1080 return mFindByEmailFromKAPITransfer->sendMessageToSource(sessionuid, list1, list2, list3); 1082 return mFindByEmailFromKAPITransfer->sendMessageToSource(sessionuid, list1, list2, list3);
1081} 1083}
1082 1084
1083bool ExternalAppHandler::requestDetailsFromKAPI(const QString& name, const QString& email, const QString& uid) 1085bool ExternalAppHandler::requestDetailsFromKAPI(const QString& name, const QString& email, const QString& uid)
1084{ 1086{
1085 mDisplayDetails->setSourceChannel(""); 1087 mDisplayDetails->setSourceChannel("");
1086 return mDisplayDetails->sendMessageToTarget("", name, email, uid); 1088 return mDisplayDetails->sendMessageToTarget("", name, email, uid);
1087} 1089}
1088 1090
1089 1091
1090 1092
1091 1093
1092 1094