-rw-r--r-- | libkdepim/externalapphandler.h | 18 | ||||
-rw-r--r-- | libkdepim/kcmconfigs/kdepimconfigwidget.cpp | 15 |
2 files changed, 21 insertions, 12 deletions
diff --git a/libkdepim/externalapphandler.h b/libkdepim/externalapphandler.h index efcdd89..3cf9e06 100644 --- a/libkdepim/externalapphandler.h +++ b/libkdepim/externalapphandler.h | |||
@@ -60,80 +60,86 @@ class DefaultAppItem | |||
60 | 60 | ||
61 | }; | 61 | }; |
62 | 62 | ||
63 | class ExternalAppHandler | 63 | class ExternalAppHandler |
64 | { | 64 | { |
65 | public: | 65 | public: |
66 | virtual ~ExternalAppHandler(); | 66 | virtual ~ExternalAppHandler(); |
67 | 67 | ||
68 | static ExternalAppHandler *instance(); | 68 | static ExternalAppHandler *instance(); |
69 | 69 | ||
70 | enum Types { | 70 | enum Types { |
71 | EMAIL = 0, | 71 | EMAIL = 0, |
72 | PHONE = 1, | 72 | PHONE = 1, |
73 | SMS = 2, | 73 | SMS = 2, |
74 | FAX = 3, | 74 | FAX = 3, |
75 | PAGER = 4 | 75 | PAGER = 4 |
76 | }; | 76 | }; |
77 | 77 | ||
78 | enum Availability { | 78 | enum Availability { |
79 | UNDEFINED = -1, | 79 | UNDEFINED = -1, |
80 | UNAVAILABLE = 0, | 80 | UNAVAILABLE = 0, |
81 | AVAILABLE = 1 | 81 | AVAILABLE = 1 |
82 | }; | 82 | }; |
83 | 83 | ||
84 | //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. |
85 | bool mailAttachments( const QString& urls ); | 85 | //either parameter can be left empty. |
86 | bool mailToMultipleContacts( const QString& recipients, const QString& attachmenturls ); | ||
86 | 87 | ||
87 | //calls the emailapplication and creates a mail with parameter emails as recipients | 88 | //calls the emailapplication and creates a mail with parameter emailadress as recipients |
88 | bool mailToContacts( const QString& emails ); | 89 | bool mailToOneContact( const QString& name, const QString& emailadress ); |
90 | |||
91 | //calls the emailapplication and creates a mail with parameter as recipients | ||
92 | // parameters format is | ||
93 | // NAME <EMAIL>:SUBJECT | ||
94 | bool mailToOneContact( const QString& adressline ); | ||
89 | 95 | ||
90 | //calls the phoneapplication with the number | 96 | //calls the phoneapplication with the number |
91 | bool callByPhone( const QString& phonenumber ); | 97 | bool callByPhone( const QString& phonenumber ); |
92 | 98 | ||
93 | //calls the smsapplication with the number | 99 | //calls the smsapplication with the number |
94 | bool callBySMS( const QString& phonenumber ); | 100 | bool callBySMS( const QString& phonenumber ); |
95 | 101 | ||
96 | //calls the pagerapplication with the number | 102 | //calls the pagerapplication with the number |
97 | bool callByPager( const QString& pagernumber ); | 103 | bool callByPager( const QString& pagernumber ); |
98 | 104 | ||
99 | //calls the faxapplication with the number | 105 | //calls the faxapplication with the number |
100 | bool callByFax( const QString& faxnumber ); | 106 | bool callByFax( const QString& faxnumber ); |
101 | 107 | ||
102 | bool isEmailAppAvailable(); | 108 | bool isEmailAppAvailable(); |
103 | bool isSMSAppAvailable(); | 109 | bool isSMSAppAvailable(); |
104 | bool isPhoneAppAvailable(); | 110 | bool isPhoneAppAvailable(); |
105 | bool isFaxAppAvailable(); | 111 | bool isFaxAppAvailable(); |
106 | bool isPagerAppAvailable(); | 112 | bool isPagerAppAvailable(); |
107 | 113 | ||
108 | 114 | ||
109 | 115 | ||
110 | //loadConfig clears the cache and checks again if the applications are available or not | 116 | //loadConfig clears the cache and checks again if the applications are available or not |
111 | void loadConfig(); | 117 | void loadConfig(); |
112 | 118 | ||
113 | QList<DefaultAppItem> getAvailableDefaultItems(Types); | 119 | QList<DefaultAppItem> getAvailableDefaultItems(Types); |
114 | DefaultAppItem* getDefaultItem(Types, int); | 120 | DefaultAppItem* getDefaultItem(Types, int); |
115 | 121 | ||
116 | 122 | ||
117 | private: | 123 | private: |
118 | ExternalAppHandler(); | 124 | ExternalAppHandler(); |
119 | QList<DefaultAppItem> mDefaultItems; | 125 | QList<DefaultAppItem> mDefaultItems; |
120 | 126 | ||
121 | Availability mEmailAppAvailable; | 127 | Availability mEmailAppAvailable; |
122 | Availability mPhoneAppAvailable; | 128 | Availability mPhoneAppAvailable; |
123 | Availability mFaxAppAvailable; | 129 | Availability mFaxAppAvailable; |
124 | Availability mSMSAppAvailable; | 130 | Availability mSMSAppAvailable; |
125 | Availability mPagerAppAvailable; | 131 | Availability mPagerAppAvailable; |
126 | 132 | ||
127 | 133 | ||
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); | 134 | void addDefaultAppItem(Types type, int id, const QString& label, const QString& channel, const QString& message, const QString& parameters, const QString& message2, const QString& parameters2); |
129 | 135 | ||
130 | QString& translateMessage(QString& message, const QString& emails) const; | 136 | QString& translateMessage(QString& message, const QString& param1, const QString& param2) const; |
131 | void passParameter(QCopEnvelope* e, const QString& parameters, const QString& param1) const; | 137 | void passParameters(QCopEnvelope* e, const QString& parameters, const QString& param1, const QString& param2) const; |
132 | 138 | ||
133 | 139 | ||
134 | static ExternalAppHandler *sInstance; | 140 | static ExternalAppHandler *sInstance; |
135 | 141 | ||
136 | 142 | ||
137 | }; | 143 | }; |
138 | 144 | ||
139 | #endif | 145 | #endif |
diff --git a/libkdepim/kcmconfigs/kdepimconfigwidget.cpp b/libkdepim/kcmconfigs/kdepimconfigwidget.cpp index c8b94db..4f4cc6a 100644 --- a/libkdepim/kcmconfigs/kdepimconfigwidget.cpp +++ b/libkdepim/kcmconfigs/kdepimconfigwidget.cpp | |||
@@ -120,62 +120,65 @@ KDEPIMConfigWidget::KDEPIMConfigWidget( QWidget *parent, const char *name ) | |||
120 | mClient = new QComboBox( mExternalAppGroupBox ); | 120 | mClient = new QComboBox( mExternalAppGroupBox ); |
121 | boxLayout->addMultiCellWidget( mClient, 0, 0, 0, 1 ); | 121 | boxLayout->addMultiCellWidget( mClient, 0, 0, 0, 1 ); |
122 | 122 | ||
123 | connect( mClient, SIGNAL( activated( int ) ), | 123 | connect( mClient, SIGNAL( activated( int ) ), |
124 | this, SLOT (client_changed( int ) ) ); | 124 | this, SLOT (client_changed( int ) ) ); |
125 | 125 | ||
126 | QLabel* lab = new QLabel( i18n("Channel:"), mExternalAppGroupBox); | 126 | QLabel* lab = new QLabel( i18n("Channel:"), mExternalAppGroupBox); |
127 | boxLayout->addWidget( lab, 1, 0 ); | 127 | boxLayout->addWidget( lab, 1, 0 ); |
128 | mChannel = new QLineEdit(mExternalAppGroupBox); | 128 | mChannel = new QLineEdit(mExternalAppGroupBox); |
129 | mChannel->setReadOnly(true); | 129 | mChannel->setReadOnly(true); |
130 | boxLayout->addMultiCellWidget( mChannel, 2 , 2, 0, 1 ); | 130 | boxLayout->addMultiCellWidget( mChannel, 2 , 2, 0, 1 ); |
131 | 131 | ||
132 | lab = new QLabel( i18n("Message:"), mExternalAppGroupBox); | 132 | lab = new QLabel( i18n("Message:"), mExternalAppGroupBox); |
133 | boxLayout->addWidget( lab, 3, 0 ); | 133 | boxLayout->addWidget( lab, 3, 0 ); |
134 | mMessage = new QLineEdit(mExternalAppGroupBox); | 134 | mMessage = new QLineEdit(mExternalAppGroupBox); |
135 | mMessage->setReadOnly(true); | 135 | mMessage->setReadOnly(true); |
136 | boxLayout->addWidget( mMessage , 4, 0); | 136 | boxLayout->addWidget( mMessage , 4, 0); |
137 | 137 | ||
138 | lab = new QLabel( i18n("Parameters:"), mExternalAppGroupBox); | 138 | lab = new QLabel( i18n("Parameters:"), mExternalAppGroupBox); |
139 | boxLayout->addWidget( lab, 3, 1 ); | 139 | boxLayout->addWidget( lab, 3, 1 ); |
140 | mParameters = new QLineEdit(mExternalAppGroupBox); | 140 | mParameters = new QLineEdit(mExternalAppGroupBox); |
141 | mParameters->setReadOnly(true); | 141 | mParameters->setReadOnly(true); |
142 | boxLayout->addWidget( mParameters, 4, 1 ); | 142 | boxLayout->addWidget( mParameters, 4, 1 ); |
143 | 143 | ||
144 | lab = new QLabel( i18n("HINT: Delimiter=; Name=%1,Email=%2"), mExternalAppGroupBox); | ||
145 | boxLayout->addMultiCellWidget( lab, 5, 5, 0, 1 ); | ||
146 | |||
144 | lab = new QLabel( i18n("extra Message:"), mExternalAppGroupBox); | 147 | lab = new QLabel( i18n("extra Message:"), mExternalAppGroupBox); |
145 | boxLayout->addWidget( lab, 5, 0 ); | 148 | boxLayout->addWidget( lab, 6, 0 ); |
146 | mMessage2 = new QLineEdit(mExternalAppGroupBox); | 149 | mMessage2 = new QLineEdit(mExternalAppGroupBox); |
147 | mMessage2->setReadOnly(true); | 150 | mMessage2->setReadOnly(true); |
148 | boxLayout->addWidget( mMessage2 , 6, 0); | 151 | boxLayout->addWidget( mMessage2 , 7, 0); |
149 | 152 | ||
150 | lab = new QLabel( i18n("extra Parameters:"), mExternalAppGroupBox); | 153 | lab = new QLabel( i18n("extra Parameters:"), mExternalAppGroupBox); |
151 | boxLayout->addWidget( lab, 5, 1 ); | 154 | boxLayout->addWidget( lab, 6, 1 ); |
152 | mParameters2 = new QLineEdit(mExternalAppGroupBox); | 155 | mParameters2 = new QLineEdit(mExternalAppGroupBox); |
153 | mParameters2->setReadOnly(true); | 156 | mParameters2->setReadOnly(true); |
154 | boxLayout->addWidget( mParameters2, 6, 1 ); | 157 | boxLayout->addWidget( mParameters2, 7, 1 ); |
155 | 158 | ||
156 | lab = new QLabel( i18n("HINT: Delimiter=; Data=%1 "), mExternalAppGroupBox); | 159 | lab = new QLabel( i18n("HINT: Emails=%1,Attachments=%2"), mExternalAppGroupBox); |
157 | boxLayout->addMultiCellWidget( lab, 7, 7, 0, 1 ); | 160 | boxLayout->addMultiCellWidget( lab, 8, 8, 0, 1 ); |
158 | 161 | ||
159 | 162 | ||
160 | connect( mChannel, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); | 163 | connect( mChannel, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); |
161 | connect( mMessage, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); | 164 | connect( mMessage, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); |
162 | connect( mParameters, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); | 165 | connect( mParameters, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); |
163 | connect( mMessage2, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); | 166 | connect( mMessage2, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); |
164 | connect( mParameters2, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); | 167 | connect( mParameters2, SIGNAL( textChanged ( const QString & )), this, SLOT( textChanged ( const QString & )) ); |
165 | 168 | ||
166 | 169 | ||
167 | 170 | ||
168 | layout->addWidget( mExternalAppGroupBox ); | 171 | layout->addWidget( mExternalAppGroupBox ); |
169 | tabWidget->addTab( externalAppsPage, i18n( "External Apps." ) ); | 172 | tabWidget->addTab( externalAppsPage, i18n( "External Apps." ) ); |
170 | 173 | ||
171 | } | 174 | } |
172 | 175 | ||
173 | void KDEPIMConfigWidget::externalapp_changed( int newApp ) | 176 | void KDEPIMConfigWidget::externalapp_changed( int newApp ) |
174 | { | 177 | { |
175 | // first store the current data | 178 | // first store the current data |
176 | saveEditFieldSettings(); | 179 | saveEditFieldSettings(); |
177 | 180 | ||
178 | // set mCurrentApp | 181 | // set mCurrentApp |
179 | mCurrentApp = (ExternalAppHandler::Types)newApp; | 182 | mCurrentApp = (ExternalAppHandler::Types)newApp; |
180 | 183 | ||
181 | // set mCurrentClient | 184 | // set mCurrentClient |