summaryrefslogtreecommitdiffabout
path: root/libkdepim
Unidiff
Diffstat (limited to 'libkdepim') (more/less context) (ignore whitespace changes)
-rw-r--r--libkdepim/externalapphandler.cpp128
-rw-r--r--libkdepim/externalapphandler.h19
2 files changed, 144 insertions, 3 deletions
diff --git a/libkdepim/externalapphandler.cpp b/libkdepim/externalapphandler.cpp
index 0128cf7..5a56d68 100644
--- a/libkdepim/externalapphandler.cpp
+++ b/libkdepim/externalapphandler.cpp
@@ -65,10 +65,16 @@ ExternalAppHandler::~ExternalAppHandler()
65} 65}
66 66
67void ExternalAppHandler::loadConfig() 67void ExternalAppHandler::loadConfig()
68{ 68{
69
69 mDefaultItems.clear(); 70 mDefaultItems.clear();
70 71
72 mEmailAppAvailable = UNDEFINED;
73 mPhoneAppAvailable = UNDEFINED;
74 mFaxAppAvailable = UNDEFINED;
75 mSMSAppAvailable = UNDEFINED;
76 mPagerAppAvailable = UNDEFINED;
71 77
72 78
73 QString opiepath = QString::fromLatin1( getenv("OPIEDIR") ); 79 QString opiepath = QString::fromLatin1( getenv("OPIEDIR") );
74 QString qtopiapath = QString::fromLatin1( getenv("QPEDIR") ); 80 QString qtopiapath = QString::fromLatin1( getenv("QPEDIR") );
@@ -79,9 +85,9 @@ void ExternalAppHandler::loadConfig()
79 //mailclients 85 //mailclients
80 QString mailmsg1 = "writeMail(QString,QString)"; 86 QString mailmsg1 = "writeMail(QString,QString)";
81 QString mailmsg2 = "writeMail(QMap(QString,QString))"; 87 QString mailmsg2 = "writeMail(QMap(QString,QString))";
82 88
83 QString undefined = "undefined"; 89 QString undefined = "";
84 90
85 addDefaultAppItem(ExternalAppHandler::EMAIL, KPimGlobalPrefs::NONE_EMC, "No email client installed", undefined, undefined, undefined, undefined, undefined); 91 addDefaultAppItem(ExternalAppHandler::EMAIL, KPimGlobalPrefs::NONE_EMC, "No email client installed", undefined, undefined, undefined, undefined, undefined);
86 addDefaultAppItem(ExternalAppHandler::EMAIL, KPimGlobalPrefs::OTHER_EMC, "Userdefined email client", undefined, undefined, undefined, undefined, undefined); 92 addDefaultAppItem(ExternalAppHandler::EMAIL, KPimGlobalPrefs::OTHER_EMC, "Userdefined email client", undefined, undefined, undefined, undefined, undefined);
87 93
@@ -164,8 +170,101 @@ DefaultAppItem* ExternalAppHandler::getDefaultItem(Types type, int clientid)
164 170
165 return 0; 171 return 0;
166} 172}
167 173
174bool ExternalAppHandler::isEmailAppAvailable()
175{
176#ifndef DESKTOP_VERSION
177 if (mEmailAppAvailable == UNDEFINED)
178 {
179 int client = KPimGlobalPrefs::instance()->mEmailClient;
180 if (client == KPimGlobalPrefs::NONE_EMC)
181 mEmailAppAvailable = UNAVAILABLE;
182 else
183 mEmailAppAvailable = AVAILABLE;
184 }
185 return (mEmailAppAvailable == AVAILABLE);
186
187#else //DESKTOP_VERSION
188 return false;
189#endif //DESKTOP_VERSION
190}
191
192bool ExternalAppHandler::isSMSAppAvailable()
193{
194#ifndef DESKTOP_VERSION
195 if (mSMSAppAvailable == UNDEFINED)
196 {
197 int client = KPimGlobalPrefs::instance()->mSMSClient;
198 if (client == KPimGlobalPrefs::NONE_SMC)
199 mSMSAppAvailable = UNAVAILABLE;
200 else
201 mSMSAppAvailable = AVAILABLE;
202 }
203
204 return (mSMSAppAvailable == AVAILABLE);
205#else //DESKTOP_VERSION
206 return false;
207#endif //DESKTOP_VERSION
208}
209
210bool ExternalAppHandler::isPhoneAppAvailable()
211{
212#ifndef DESKTOP_VERSION
213 if (mPhoneAppAvailable == UNDEFINED)
214 {
215 int client = KPimGlobalPrefs::instance()->mPhoneClient;
216 if (client == KPimGlobalPrefs::NONE_PHC)
217 mPhoneAppAvailable = UNAVAILABLE;
218 else
219 mPhoneAppAvailable = AVAILABLE;
220 }
221
222 return (mPhoneAppAvailable == AVAILABLE);
223#else //DESKTOP_VERSION
224 return false;
225#endif //DESKTOP_VERSION
226}
227
228bool ExternalAppHandler::isFaxAppAvailable()
229{
230#ifndef DESKTOP_VERSION
231 if (mFaxAppAvailable == UNDEFINED)
232 {
233 int client = KPimGlobalPrefs::instance()->mFaxClient;
234 if (client == KPimGlobalPrefs::NONE_FAC)
235 mFaxAppAvailable = UNAVAILABLE;
236 else
237 mFaxAppAvailable = AVAILABLE;
238 }
239
240 return (mFaxAppAvailable == AVAILABLE);
241#else //DESKTOP_VERSION
242 return false;
243#endif //DESKTOP_VERSION
244}
245
246bool ExternalAppHandler::isPagerAppAvailable()
247{
248#ifndef DESKTOP_VERSION
249 if (mPagerAppAvailable == UNDEFINED)
250 {
251 int client = KPimGlobalPrefs::instance()->mPagerClient;
252 if (client == KPimGlobalPrefs::NONE_PAC)
253 mPagerAppAvailable = UNAVAILABLE;
254 else
255 mPagerAppAvailable = AVAILABLE;
256 }
257
258 return (mPagerAppAvailable == AVAILABLE);
259#else //DESKTOP_VERSION
260 return false;
261#endif //DESKTOP_VERSION
262}
263
264/**************************************************************************
265 *
266 **************************************************************************/
168 267
169 268
170//calls the emailapplication with a number of attachments that need to be send (Seperated by Comma) 269//calls the emailapplication with a number of attachments that need to be send (Seperated by Comma)
171bool ExternalAppHandler::mailAttachments( const QString& urls ) 270bool ExternalAppHandler::mailAttachments( const QString& urls )
@@ -215,8 +314,11 @@ bool ExternalAppHandler::mailAttachments( const QString& urls )
215 314
216 return true; 315 return true;
217} 316}
218 317
318/**************************************************************************
319 *
320 **************************************************************************/
219 321
220 322
221//calls the emailapplication and creates a mail with parameter emails as recipients 323//calls the emailapplication and creates a mail with parameter emails as recipients
222bool ExternalAppHandler::mailToContacts( const QString& emails ) 324bool ExternalAppHandler::mailToContacts( const QString& emails )
@@ -268,8 +370,11 @@ bool ExternalAppHandler::mailToContacts( const QString& emails )
268 370
269 return true; 371 return true;
270} 372}
271 373
374/**************************************************************************
375 *
376 **************************************************************************/
272 377
273//calls the phoneapplication with the number 378//calls the phoneapplication with the number
274bool ExternalAppHandler::callByPhone( const QString& phonenumber ) 379bool ExternalAppHandler::callByPhone( const QString& phonenumber )
275{ 380{
@@ -320,8 +425,12 @@ bool ExternalAppHandler::callByPhone( const QString& phonenumber )
320 425
321 return true; 426 return true;
322} 427}
323 428
429/**************************************************************************
430 *
431 **************************************************************************/
432
324//calls the smsapplication with the number 433//calls the smsapplication with the number
325bool ExternalAppHandler::callBySMS( const QString& phonenumber ) 434bool ExternalAppHandler::callBySMS( const QString& phonenumber )
326{ 435{
327#ifndef DESKTOP_VERSION 436#ifndef DESKTOP_VERSION
@@ -371,8 +480,12 @@ bool ExternalAppHandler::callBySMS( const QString& phonenumber )
371 480
372 return true; 481 return true;
373} 482}
374 483
484/**************************************************************************
485 *
486 **************************************************************************/
487
375//calls the pagerapplication with the number 488//calls the pagerapplication with the number
376bool ExternalAppHandler::callByPager( const QString& pagernumber ) 489bool ExternalAppHandler::callByPager( const QString& pagernumber )
377{ 490{
378#ifndef DESKTOP_VERSION 491#ifndef DESKTOP_VERSION
@@ -422,8 +535,12 @@ bool ExternalAppHandler::callByPager( const QString& pagernumber )
422 535
423 return true; 536 return true;
424} 537}
425 538
539/**************************************************************************
540 *
541 **************************************************************************/
542
426//calls the faxapplication with the number 543//calls the faxapplication with the number
427bool ExternalAppHandler::callByFax( const QString& faxnumber ) 544bool ExternalAppHandler::callByFax( const QString& faxnumber )
428{ 545{
429#ifndef DESKTOP_VERSION 546#ifndef DESKTOP_VERSION
@@ -473,18 +590,23 @@ bool ExternalAppHandler::callByFax( const QString& faxnumber )
473 590
474 return true; 591 return true;
475} 592}
476 593
477 594/**************************************************************************
478 595 *
596 **************************************************************************/
479 597
480 598
481 599
482QString& ExternalAppHandler::translateMessage(QString& message, const QString& param1) const 600QString& ExternalAppHandler::translateMessage(QString& message, const QString& param1) const
483{ 601{
484 return message.replace( QRegExp("%1"), param1 ); 602 return message.replace( QRegExp("%1"), param1 );
485} 603}
486 604
605/**************************************************************************
606 *
607 **************************************************************************/
608
487void ExternalAppHandler::passParameter(QCopEnvelope* e, const QString& parameters, const QString& param1) const 609void ExternalAppHandler::passParameter(QCopEnvelope* e, const QString& parameters, const QString& param1) const
488{ 610{
489#ifndef DESKTOP_VERSION 611#ifndef DESKTOP_VERSION
490 QMap<QString, QString> valmap; 612 QMap<QString, QString> valmap;
diff --git a/libkdepim/externalapphandler.h b/libkdepim/externalapphandler.h
index 3ecf1b1..efcdd89 100644
--- a/libkdepim/externalapphandler.h
+++ b/libkdepim/externalapphandler.h
@@ -74,8 +74,14 @@ class ExternalAppHandler
74 FAX = 3, 74 FAX = 3,
75 PAGER = 4 75 PAGER = 4
76 }; 76 };
77 77
78 enum Availability {
79 UNDEFINED = -1,
80 UNAVAILABLE = 0,
81 AVAILABLE = 1
82 };
83
78 //calls the emailapplication with a number of attachments that need to be send 84 //calls the emailapplication with a number of attachments that need to be send
79 bool mailAttachments( const QString& urls ); 85 bool mailAttachments( const QString& urls );
80 86
81 //calls the emailapplication and creates a mail with parameter emails as recipients 87 //calls the emailapplication and creates a mail with parameter emails as recipients
@@ -92,8 +98,15 @@ class ExternalAppHandler
92 98
93 //calls the faxapplication with the number 99 //calls the faxapplication with the number
94 bool callByFax( const QString& faxnumber ); 100 bool callByFax( const QString& faxnumber );
95 101
102 bool isEmailAppAvailable();
103 bool isSMSAppAvailable();
104 bool isPhoneAppAvailable();
105 bool isFaxAppAvailable();
106 bool isPagerAppAvailable();
107
108
96 109
97 //loadConfig clears the cache and checks again if the applications are available or not 110 //loadConfig clears the cache and checks again if the applications are available or not
98 void loadConfig(); 111 void loadConfig();
99 112
@@ -104,8 +117,14 @@ class ExternalAppHandler
104 private: 117 private:
105 ExternalAppHandler(); 118 ExternalAppHandler();
106 QList<DefaultAppItem> mDefaultItems; 119 QList<DefaultAppItem> mDefaultItems;
107 120
121 Availability mEmailAppAvailable;
122 Availability mPhoneAppAvailable;
123 Availability mFaxAppAvailable;
124 Availability mSMSAppAvailable;
125 Availability mPagerAppAvailable;
126
108 127
109 void addDefaultAppItem(Types type, int id, const QString& label, const QString& channel, const QString& message, const QString& parameters, const QString& message2, const QString& parameters2); 128 void addDefaultAppItem(Types type, int id, const QString& label, const QString& channel, const QString& message, const QString& parameters, const QString& message2, const QString& parameters2);
110 129
111 QString& translateMessage(QString& message, const QString& emails) const; 130 QString& translateMessage(QString& message, const QString& emails) const;