summaryrefslogtreecommitdiffabout
authorulf69 <ulf69>2004-08-10 19:37:46 (UTC)
committer ulf69 <ulf69>2004-08-10 19:37:46 (UTC)
commit2666ac52add8d79e34a04a64e4d5f092dd3d3d7e (patch) (side-by-side diff)
tree268ecd1ce5d898f7bd6ce82f5d023b161dc38892
parent9f73ddc03d2b02934906193cf8db5ff0813fce0b (diff)
downloadkdepimpi-2666ac52add8d79e34a04a64e4d5f092dd3d3d7e.zip
kdepimpi-2666ac52add8d79e34a04a64e4d5f092dd3d3d7e.tar.gz
kdepimpi-2666ac52add8d79e34a04a64e4d5f092dd3d3d7e.tar.bz2
added methods to check if a certain application is available
Diffstat (more/less context) (show 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()
}
void ExternalAppHandler::loadConfig()
{
+
mDefaultItems.clear();
+ mEmailAppAvailable = UNDEFINED;
+ mPhoneAppAvailable = UNDEFINED;
+ mFaxAppAvailable = UNDEFINED;
+ mSMSAppAvailable = UNDEFINED;
+ mPagerAppAvailable = UNDEFINED;
QString opiepath = QString::fromLatin1( getenv("OPIEDIR") );
QString qtopiapath = QString::fromLatin1( getenv("QPEDIR") );
@@ -79,9 +85,9 @@ void ExternalAppHandler::loadConfig()
//mailclients
QString mailmsg1 = "writeMail(QString,QString)";
QString mailmsg2 = "writeMail(QMap(QString,QString))";
- QString undefined = "undefined";
+ QString undefined = "";
addDefaultAppItem(ExternalAppHandler::EMAIL, KPimGlobalPrefs::NONE_EMC, "No email client installed", undefined, undefined, undefined, undefined, undefined);
addDefaultAppItem(ExternalAppHandler::EMAIL, KPimGlobalPrefs::OTHER_EMC, "Userdefined email client", undefined, undefined, undefined, undefined, undefined);
@@ -164,8 +170,101 @@ DefaultAppItem* ExternalAppHandler::getDefaultItem(Types type, int clientid)
return 0;
}
+bool ExternalAppHandler::isEmailAppAvailable()
+{
+#ifndef DESKTOP_VERSION
+ if (mEmailAppAvailable == UNDEFINED)
+ {
+ int client = KPimGlobalPrefs::instance()->mEmailClient;
+ if (client == KPimGlobalPrefs::NONE_EMC)
+ mEmailAppAvailable = UNAVAILABLE;
+ else
+ mEmailAppAvailable = AVAILABLE;
+ }
+ return (mEmailAppAvailable == AVAILABLE);
+
+#else //DESKTOP_VERSION
+ return false;
+#endif //DESKTOP_VERSION
+}
+
+bool ExternalAppHandler::isSMSAppAvailable()
+{
+#ifndef DESKTOP_VERSION
+ if (mSMSAppAvailable == UNDEFINED)
+ {
+ int client = KPimGlobalPrefs::instance()->mSMSClient;
+ if (client == KPimGlobalPrefs::NONE_SMC)
+ mSMSAppAvailable = UNAVAILABLE;
+ else
+ mSMSAppAvailable = AVAILABLE;
+ }
+
+ return (mSMSAppAvailable == AVAILABLE);
+#else //DESKTOP_VERSION
+ return false;
+#endif //DESKTOP_VERSION
+}
+
+bool ExternalAppHandler::isPhoneAppAvailable()
+{
+#ifndef DESKTOP_VERSION
+ if (mPhoneAppAvailable == UNDEFINED)
+ {
+ int client = KPimGlobalPrefs::instance()->mPhoneClient;
+ if (client == KPimGlobalPrefs::NONE_PHC)
+ mPhoneAppAvailable = UNAVAILABLE;
+ else
+ mPhoneAppAvailable = AVAILABLE;
+ }
+
+ return (mPhoneAppAvailable == AVAILABLE);
+#else //DESKTOP_VERSION
+ return false;
+#endif //DESKTOP_VERSION
+}
+
+bool ExternalAppHandler::isFaxAppAvailable()
+{
+#ifndef DESKTOP_VERSION
+ if (mFaxAppAvailable == UNDEFINED)
+ {
+ int client = KPimGlobalPrefs::instance()->mFaxClient;
+ if (client == KPimGlobalPrefs::NONE_FAC)
+ mFaxAppAvailable = UNAVAILABLE;
+ else
+ mFaxAppAvailable = AVAILABLE;
+ }
+
+ return (mFaxAppAvailable == AVAILABLE);
+#else //DESKTOP_VERSION
+ return false;
+#endif //DESKTOP_VERSION
+}
+
+bool ExternalAppHandler::isPagerAppAvailable()
+{
+#ifndef DESKTOP_VERSION
+ if (mPagerAppAvailable == UNDEFINED)
+ {
+ int client = KPimGlobalPrefs::instance()->mPagerClient;
+ if (client == KPimGlobalPrefs::NONE_PAC)
+ mPagerAppAvailable = UNAVAILABLE;
+ else
+ mPagerAppAvailable = AVAILABLE;
+ }
+
+ return (mPagerAppAvailable == AVAILABLE);
+#else //DESKTOP_VERSION
+ return false;
+#endif //DESKTOP_VERSION
+}
+
+/**************************************************************************
+ *
+ **************************************************************************/
//calls the emailapplication with a number of attachments that need to be send (Seperated by Comma)
bool ExternalAppHandler::mailAttachments( const QString& urls )
@@ -215,8 +314,11 @@ bool ExternalAppHandler::mailAttachments( const QString& urls )
return true;
}
+/**************************************************************************
+ *
+ **************************************************************************/
//calls the emailapplication and creates a mail with parameter emails as recipients
bool ExternalAppHandler::mailToContacts( const QString& emails )
@@ -268,8 +370,11 @@ bool ExternalAppHandler::mailToContacts( const QString& emails )
return true;
}
+/**************************************************************************
+ *
+ **************************************************************************/
//calls the phoneapplication with the number
bool ExternalAppHandler::callByPhone( const QString& phonenumber )
{
@@ -320,8 +425,12 @@ bool ExternalAppHandler::callByPhone( const QString& phonenumber )
return true;
}
+/**************************************************************************
+ *
+ **************************************************************************/
+
//calls the smsapplication with the number
bool ExternalAppHandler::callBySMS( const QString& phonenumber )
{
#ifndef DESKTOP_VERSION
@@ -371,8 +480,12 @@ bool ExternalAppHandler::callBySMS( const QString& phonenumber )
return true;
}
+/**************************************************************************
+ *
+ **************************************************************************/
+
//calls the pagerapplication with the number
bool ExternalAppHandler::callByPager( const QString& pagernumber )
{
#ifndef DESKTOP_VERSION
@@ -422,8 +535,12 @@ bool ExternalAppHandler::callByPager( const QString& pagernumber )
return true;
}
+/**************************************************************************
+ *
+ **************************************************************************/
+
//calls the faxapplication with the number
bool ExternalAppHandler::callByFax( const QString& faxnumber )
{
#ifndef DESKTOP_VERSION
@@ -473,18 +590,23 @@ bool ExternalAppHandler::callByFax( const QString& faxnumber )
return true;
}
-
-
+/**************************************************************************
+ *
+ **************************************************************************/
QString& ExternalAppHandler::translateMessage(QString& message, const QString& param1) const
{
return message.replace( QRegExp("%1"), param1 );
}
+/**************************************************************************
+ *
+ **************************************************************************/
+
void ExternalAppHandler::passParameter(QCopEnvelope* e, const QString& parameters, const QString& param1) const
{
#ifndef DESKTOP_VERSION
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
FAX = 3,
PAGER = 4
};
+ enum Availability {
+ UNDEFINED = -1,
+ UNAVAILABLE = 0,
+ AVAILABLE = 1
+ };
+
//calls the emailapplication with a number of attachments that need to be send
bool mailAttachments( const QString& urls );
//calls the emailapplication and creates a mail with parameter emails as recipients
@@ -92,8 +98,15 @@ class ExternalAppHandler
//calls the faxapplication with the number
bool callByFax( const QString& faxnumber );
+ bool isEmailAppAvailable();
+ bool isSMSAppAvailable();
+ bool isPhoneAppAvailable();
+ bool isFaxAppAvailable();
+ bool isPagerAppAvailable();
+
+
//loadConfig clears the cache and checks again if the applications are available or not
void loadConfig();
@@ -104,8 +117,14 @@ class ExternalAppHandler
private:
ExternalAppHandler();
QList<DefaultAppItem> mDefaultItems;
+ Availability mEmailAppAvailable;
+ Availability mPhoneAppAvailable;
+ Availability mFaxAppAvailable;
+ Availability mSMSAppAvailable;
+ Availability mPagerAppAvailable;
+
void addDefaultAppItem(Types type, int id, const QString& label, const QString& channel, const QString& message, const QString& parameters, const QString& message2, const QString& parameters2);
QString& translateMessage(QString& message, const QString& emails) const;