-rw-r--r-- | libkdepim/externalapphandler.cpp | 128 | ||||
-rw-r--r-- | libkdepim/externalapphandler.h | 19 |
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 | ||
67 | void ExternalAppHandler::loadConfig() | 67 | void 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 | ||
174 | bool 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 | |||
192 | bool 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 | |||
210 | bool 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 | |||
228 | bool 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 | |||
246 | bool 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) |
171 | bool ExternalAppHandler::mailAttachments( const QString& urls ) | 270 | bool 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 |
222 | bool ExternalAppHandler::mailToContacts( const QString& emails ) | 324 | bool 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 |
274 | bool ExternalAppHandler::callByPhone( const QString& phonenumber ) | 379 | bool 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 |
325 | bool ExternalAppHandler::callBySMS( const QString& phonenumber ) | 434 | bool 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 |
376 | bool ExternalAppHandler::callByPager( const QString& pagernumber ) | 489 | bool 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 |
427 | bool ExternalAppHandler::callByFax( const QString& faxnumber ) | 544 | bool 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 | ||
482 | QString& ExternalAppHandler::translateMessage(QString& message, const QString& param1) const | 600 | QString& 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 | |||
487 | void ExternalAppHandler::passParameter(QCopEnvelope* e, const QString& parameters, const QString& param1) const | 609 | void 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; |