author | ulf69 <ulf69> | 2004-09-16 17:23:08 (UTC) |
---|---|---|
committer | ulf69 <ulf69> | 2004-09-16 17:23:08 (UTC) |
commit | c32d7e58ca69196426eee3217140227aca634f52 (patch) (side-by-side diff) | |
tree | 3cc420da278d1035bb45c23d7c70562369f96b7b | |
parent | 02e7ae4983679a787834277176a031286a8310c2 (diff) | |
download | kdepimpi-c32d7e58ca69196426eee3217140227aca634f52.zip kdepimpi-c32d7e58ca69196426eee3217140227aca634f52.tar.gz kdepimpi-c32d7e58ca69196426eee3217140227aca634f52.tar.bz2 |
added sip support to external apps
-rw-r--r-- | libkdepim/kcmconfigs/kdepimconfigwidget.cpp | 44 | ||||
-rw-r--r-- | libkdepim/kcmconfigs/kdepimconfigwidget.h | 5 | ||||
-rw-r--r-- | libkdepim/kpimglobalprefs.cpp | 7 | ||||
-rw-r--r-- | libkdepim/kpimglobalprefs.h | 10 |
4 files changed, 63 insertions, 3 deletions
diff --git a/libkdepim/kcmconfigs/kdepimconfigwidget.cpp b/libkdepim/kcmconfigs/kdepimconfigwidget.cpp index 4f4cc6a..703aeb1 100644 --- a/libkdepim/kcmconfigs/kdepimconfigwidget.cpp +++ b/libkdepim/kcmconfigs/kdepimconfigwidget.cpp @@ -63,48 +63,49 @@ $Id$ #include <ktrader.h> #else // KAB_EMBEDDED #include <mergewidget.h> #include <distributionlistwidget.h> #endif // KAB_EMBEDDED #include "addresseewidget.h" #include "extensionconfigdialog.h" #include "extensionwidget.h" */ #include "kpimglobalprefs.h" #include "kdepimconfigwidget.h" KDEPIMConfigWidget::KDEPIMConfigWidget( QWidget *parent, const char *name ) : QWidget( parent, name ) { mExternalAppsMap.insert(ExternalAppHandler::EMAIL, i18n("Email")); mExternalAppsMap.insert(ExternalAppHandler::PHONE, i18n("Phone")); mExternalAppsMap.insert(ExternalAppHandler::SMS, i18n("SMS")); mExternalAppsMap.insert(ExternalAppHandler::FAX, i18n("Fax")); mExternalAppsMap.insert(ExternalAppHandler::PAGER, i18n("Pager")); + mExternalAppsMap.insert(ExternalAppHandler::SIP, i18n("SIP")); QVBoxLayout *topLayout = new QVBoxLayout( this, 0, KDialog::spacingHint() ); QTabWidget *tabWidget = new QTabWidget( this ); topLayout->addWidget( tabWidget ); // mailclient page QWidget *externalAppsPage = new QWidget( this ); QVBoxLayout* layout = new QVBoxLayout( externalAppsPage, KDialog::marginHintSmall(), KDialog::spacingHintSmall() ); mExternalApps = new QComboBox( externalAppsPage ); QMap<ExternalAppHandler::Types, QString>::Iterator it; for( it = mExternalAppsMap.begin(); it != mExternalAppsMap.end(); ++it ) mExternalApps->insertItem( it.data(), it.key() ); layout->addWidget( mExternalApps ); connect( mExternalApps, SIGNAL( activated( int ) ), @@ -178,133 +179,145 @@ void KDEPIMConfigWidget::externalapp_changed( int newApp ) // first store the current data saveEditFieldSettings(); // set mCurrentApp mCurrentApp = (ExternalAppHandler::Types)newApp; // set mCurrentClient switch(mCurrentApp) { case(ExternalAppHandler::EMAIL): mCurrentClient = mEmailClient; break; case(ExternalAppHandler::PHONE): mCurrentClient = mPhoneClient; break; case(ExternalAppHandler::SMS): mCurrentClient = mSMSClient; break; case(ExternalAppHandler::FAX): mCurrentClient = mFaxClient; break; case(ExternalAppHandler::PAGER): mCurrentClient = mPagerClient; break; + case(ExternalAppHandler::SIP): + mCurrentClient = mSipClient; + break; default: return; } // and at last update the widgets updateClientWidgets(); } void KDEPIMConfigWidget::client_changed( int newClient ) { if (newClient == mCurrentClient) return; // first store the current data saveEditFieldSettings(); //then reset the clientvariable mCurrentClient = newClient; // and at last update the widgets updateClientWidgets(); modified(); } void KDEPIMConfigWidget::saveEditFieldSettings() { switch(mCurrentApp) { case(ExternalAppHandler::EMAIL): mEmailClient = mClient->currentItem(); break; case(ExternalAppHandler::PHONE): mPhoneClient= mClient->currentItem(); break; case(ExternalAppHandler::SMS): mSMSClient = mClient->currentItem(); break; case(ExternalAppHandler::FAX): mFaxClient = mClient->currentItem(); break; case(ExternalAppHandler::PAGER): mPagerClient = mClient->currentItem(); break; + case(ExternalAppHandler::SIP): + mSipClient = mClient->currentItem(); + break; default: return; } //store the current data back to the apropriate membervariables if we had set it to "other" if ((mCurrentApp == ExternalAppHandler::EMAIL) && (mCurrentClient == KPimGlobalPrefs::OTHER_EMC)) { mEmailOtherChannel = mChannel->text(); mEmailOtherMessage = mMessage->text(); mEmailOtherMessageParameters = mParameters->text(); mEmailOtherMessage2 = mMessage2->text(); mEmailOtherMessageParameters2 = mParameters2->text(); } else if ((mCurrentApp == ExternalAppHandler::PHONE) && (mCurrentClient == KPimGlobalPrefs::OTHER_PHC)) { mPhoneOtherChannel = mChannel->text(); mPhoneOtherMessage = mMessage->text(); mPhoneOtherMessageParameters = mParameters->text(); } else if ((mCurrentApp == ExternalAppHandler::SMS) && (mCurrentClient == KPimGlobalPrefs::OTHER_SMC)) { mSMSOtherChannel = mChannel->text(); mSMSOtherMessage = mMessage->text(); mSMSOtherMessageParameters = mParameters->text(); } else if ((mCurrentApp == ExternalAppHandler::FAX) && (mCurrentClient == KPimGlobalPrefs::OTHER_FAC)) { mFaxOtherChannel = mChannel->text(); mFaxOtherMessage = mMessage->text(); mFaxOtherMessageParameters = mParameters->text(); } else if ((mCurrentApp == ExternalAppHandler::PAGER) && (mCurrentClient == KPimGlobalPrefs::OTHER_PAC)) { mPagerOtherChannel = mChannel->text(); mPagerOtherMessage = mMessage->text(); mPagerOtherMessageParameters = mParameters->text(); } + else if ((mCurrentApp == ExternalAppHandler::SIP) && (mCurrentClient == KPimGlobalPrefs::OTHER_SIC)) + { + mSipOtherChannel = mChannel->text(); + mSipOtherMessage = mMessage->text(); + mSipOtherMessageParameters = mParameters->text(); + } } void KDEPIMConfigWidget::updateClientWidgets() { bool blocked = signalsBlocked(); blockSignals( true ); // at this point we assume, that mCurrentApp and mCurrentClient are set to the values that we want to display QMap<ExternalAppHandler::Types, QString>::Iterator it = mExternalAppsMap.find ( mCurrentApp ); if (it == mExternalAppsMap.end()) return; // update group box mExternalAppGroupBox->setTitle(i18n( "Used %1 Client" ).arg(it.data())); //update the entries in the client combobox mClient->clear(); QList<DefaultAppItem> items = ExternalAppHandler::instance()->getAvailableDefaultItems(mCurrentApp); DefaultAppItem* dai; for ( dai=items.first(); dai != 0; dai=items.next() ) { @@ -332,72 +345,80 @@ void KDEPIMConfigWidget::updateClientWidgets() else if ((mCurrentApp == ExternalAppHandler::PHONE) && (mCurrentClient == KPimGlobalPrefs::OTHER_PHC)) { mChannel->setText(mPhoneOtherChannel); mMessage->setText(mPhoneOtherMessage); mParameters->setText(mPhoneOtherMessageParameters); } else if ((mCurrentApp == ExternalAppHandler::SMS) && (mCurrentClient == KPimGlobalPrefs::OTHER_SMC)) { mChannel->setText(mSMSOtherChannel); mMessage->setText(mSMSOtherMessage); mParameters->setText(mSMSOtherMessageParameters); } else if ((mCurrentApp == ExternalAppHandler::FAX) && (mCurrentClient == KPimGlobalPrefs::OTHER_FAC)) { mChannel->setText(mFaxOtherChannel); mMessage->setText(mFaxOtherMessage); mParameters->setText(mFaxOtherMessageParameters); } else if ((mCurrentApp == ExternalAppHandler::PAGER) && (mCurrentClient == KPimGlobalPrefs::OTHER_PAC)) { mChannel->setText(mPagerOtherChannel); mMessage->setText(mPagerOtherMessage); mParameters->setText(mPagerOtherMessageParameters); } + else if ((mCurrentApp == ExternalAppHandler::SIP) && (mCurrentClient == KPimGlobalPrefs::OTHER_SIC)) + { + mChannel->setText(mSipOtherChannel); + mMessage->setText(mSipOtherMessage); + mParameters->setText(mSipOtherMessageParameters); + } } } bool readonly; bool enabled; if ( ((mCurrentApp == ExternalAppHandler::EMAIL) && (mCurrentClient == KPimGlobalPrefs::OTHER_EMC)) ||((mCurrentApp == ExternalAppHandler::PHONE) && (mCurrentClient == KPimGlobalPrefs::OTHER_PHC)) ||((mCurrentApp == ExternalAppHandler::SMS) && (mCurrentClient == KPimGlobalPrefs::OTHER_SMC)) ||((mCurrentApp == ExternalAppHandler::FAX) && (mCurrentClient == KPimGlobalPrefs::OTHER_FAC)) - ||((mCurrentApp == ExternalAppHandler::PAGER) && (mCurrentClient == KPimGlobalPrefs::OTHER_PAC))) + ||((mCurrentApp == ExternalAppHandler::PAGER) && (mCurrentClient == KPimGlobalPrefs::OTHER_PAC)) + ||((mCurrentApp == ExternalAppHandler::SIP) && (mCurrentClient == KPimGlobalPrefs::OTHER_SIC))) { readonly = false; } else { readonly = true; } if ( ((mCurrentApp == ExternalAppHandler::EMAIL) && (mCurrentClient == KPimGlobalPrefs::NONE_EMC)) ||((mCurrentApp == ExternalAppHandler::PHONE) && (mCurrentClient == KPimGlobalPrefs::NONE_PHC)) ||((mCurrentApp == ExternalAppHandler::SMS) && (mCurrentClient == KPimGlobalPrefs::NONE_SMC)) ||((mCurrentApp == ExternalAppHandler::FAX) && (mCurrentClient == KPimGlobalPrefs::NONE_FAC)) - ||((mCurrentApp == ExternalAppHandler::PAGER) && (mCurrentClient == KPimGlobalPrefs::NONE_PAC))) + ||((mCurrentApp == ExternalAppHandler::PAGER) && (mCurrentClient == KPimGlobalPrefs::NONE_PAC)) + ||((mCurrentApp == ExternalAppHandler::SIP) && (mCurrentClient == KPimGlobalPrefs::NONE_SIC))) { enabled = false; } else { enabled = true; } mChannel->setReadOnly(readonly); mMessage->setReadOnly(readonly); mParameters->setReadOnly(readonly); mMessage2->setReadOnly(readonly); mParameters2->setReadOnly(readonly); mChannel->setEnabled(enabled); mMessage->setEnabled(enabled); mParameters->setEnabled(enabled); mMessage2->setEnabled(enabled); mParameters2->setEnabled(enabled); mClient->setCurrentItem(mCurrentClient); @@ -437,90 +458,101 @@ void KDEPIMConfigWidget::restoreSettings(KPimGlobalPrefs* prefs) mEmailOtherMessageParameters = prefs->mEmailOtherMessageParameters; mEmailOtherMessage2 = prefs->mEmailOtherMessage2; mEmailOtherMessageParameters2 = prefs->mEmailOtherMessageParameters2; mPhoneClient = prefs->mPhoneClient; mPhoneOtherChannel = prefs->mPhoneOtherChannel; mPhoneOtherMessage = prefs->mPhoneOtherMessage; mPhoneOtherMessageParameters = prefs->mPhoneOtherMessageParameters; mFaxClient = prefs->mFaxClient; mFaxOtherChannel = prefs->mFaxOtherChannel; mFaxOtherMessage = prefs->mFaxOtherMessage; mFaxOtherMessageParameters = prefs->mFaxOtherMessageParameters; mSMSClient = prefs->mSMSClient; mSMSOtherChannel = prefs->mSMSOtherChannel; mSMSOtherMessage = prefs->mSMSOtherMessage; mSMSOtherMessageParameters = prefs->mSMSOtherMessageParameters; mPagerClient = prefs->mPagerClient; mPagerOtherChannel = prefs->mPagerOtherChannel; mPagerOtherMessage = prefs->mPagerOtherMessage; mPagerOtherMessageParameters = prefs->mPagerOtherMessageParameters; + mSipClient = prefs->mPagerClient; + mSipOtherChannel = prefs->mSipOtherChannel; + mSipOtherMessage = prefs->mSipOtherMessage; + mSipOtherMessageParameters = prefs->mSipOtherMessageParameters; + mCurrentApp = ExternalAppHandler::EMAIL; mCurrentClient = mEmailClient; updateClientWidgets(); blockSignals( blocked ); emit changed( false ); } void KDEPIMConfigWidget::saveSettings(KPimGlobalPrefs* prefs) { saveEditFieldSettings(); prefs->mEmailClient = mEmailClient; prefs->mEmailOtherChannel = mEmailOtherChannel; prefs->mEmailOtherMessage = mEmailOtherMessage; prefs->mEmailOtherMessageParameters = mEmailOtherMessageParameters; prefs->mEmailOtherMessage2 = mEmailOtherMessage2; prefs->mEmailOtherMessageParameters2 = mEmailOtherMessageParameters2; prefs->mPhoneClient = mPhoneClient; prefs->mPhoneOtherChannel = mPhoneOtherChannel; prefs->mPhoneOtherMessage = mPhoneOtherMessage; prefs->mPhoneOtherMessageParameters = mPhoneOtherMessageParameters; prefs->mFaxClient = mFaxClient; prefs->mFaxOtherChannel = mFaxOtherChannel; prefs->mFaxOtherMessage = mFaxOtherMessage; prefs->mFaxOtherMessageParameters = mFaxOtherMessageParameters; prefs->mSMSClient = mSMSClient; prefs->mSMSOtherChannel = mSMSOtherChannel; prefs->mSMSOtherMessage = mSMSOtherMessage; prefs->mSMSOtherMessageParameters = mSMSOtherMessageParameters; prefs->mPagerClient = mPagerClient; prefs->mPagerOtherChannel = mPagerOtherChannel; prefs->mPagerOtherMessage = mPagerOtherMessage; prefs->mPagerOtherMessageParameters = mPagerOtherMessageParameters; + + prefs->mSipClient = mSipClient; + prefs->mSipOtherChannel = mSipOtherChannel; + prefs->mSipOtherMessage = mSipOtherMessage; + prefs->mSipOtherMessageParameters = mSipOtherMessageParameters; + prefs->writeConfig(); //release the cache that other views can access the changed values instantanious ExternalAppHandler::instance()->loadConfig(); emit changed( false ); } void KDEPIMConfigWidget::defaults(KPimGlobalPrefs* prefs) { DefaultAppItem* dai = ExternalAppHandler::instance()->getDefaultItem(ExternalAppHandler::EMAIL, KPimGlobalPrefs::NONE_EMC); mEmailClient = dai->_id; mEmailOtherChannel = dai->_channel; mEmailOtherMessage = dai->_message; mEmailOtherMessageParameters = dai->_parameters; mEmailOtherMessage2 = dai->_message2; mEmailOtherMessageParameters2 = dai->_parameters2; dai = ExternalAppHandler::instance()->getDefaultItem(ExternalAppHandler::PHONE, KPimGlobalPrefs::NONE_PHC); mPhoneClient = dai->_id; @@ -529,36 +561,44 @@ void KDEPIMConfigWidget::defaults(KPimGlobalPrefs* prefs) mPhoneOtherMessageParameters = dai->_parameters; dai = ExternalAppHandler::instance()->getDefaultItem(ExternalAppHandler::FAX, KPimGlobalPrefs::NONE_FAC); mFaxClient = dai->_id; mFaxOtherChannel = dai->_channel; mFaxOtherMessage = dai->_message; mFaxOtherMessageParameters = dai->_parameters; dai = ExternalAppHandler::instance()->getDefaultItem(ExternalAppHandler::SMS, KPimGlobalPrefs::NONE_SMC); mSMSClient = dai->_id; mSMSOtherChannel = dai->_channel; mSMSOtherMessage = dai->_message; mSMSOtherMessageParameters = dai->_parameters; dai = ExternalAppHandler::instance()->getDefaultItem(ExternalAppHandler::PAGER, KPimGlobalPrefs::NONE_PAC); mPagerClient = dai->_id; mPagerOtherChannel = dai->_channel; mPagerOtherMessage = dai->_message; mPagerOtherMessageParameters = dai->_parameters; + dai = ExternalAppHandler::instance()->getDefaultItem(ExternalAppHandler::SIP, KPimGlobalPrefs::NONE_SIC); + + mSipClient = dai->_id; + mSipOtherChannel = dai->_channel; + mSipOtherMessage = dai->_message; + mSipOtherMessageParameters = dai->_parameters; + + emit changed( true ); } void KDEPIMConfigWidget::modified() { emit changed( true ); } void KDEPIMConfigWidget::textChanged( const QString& text ) { emit changed( true ); } diff --git a/libkdepim/kcmconfigs/kdepimconfigwidget.h b/libkdepim/kcmconfigs/kdepimconfigwidget.h index 6e02544..e3cfd81 100644 --- a/libkdepim/kcmconfigs/kdepimconfigwidget.h +++ b/libkdepim/kcmconfigs/kdepimconfigwidget.h @@ -109,32 +109,37 @@ class KDEPIMConfigWidget : public QWidget QString mEmailOtherMessageParameters; QString mEmailOtherMessage2; QString mEmailOtherMessageParameters2; int mPhoneClient; QString mPhoneOtherChannel; QString mPhoneOtherMessage; QString mPhoneOtherMessageParameters; int mFaxClient; QString mFaxOtherChannel; QString mFaxOtherMessage; QString mFaxOtherMessageParameters; int mSMSClient; QString mSMSOtherChannel; QString mSMSOtherMessage; QString mSMSOtherMessageParameters; int mPagerClient; QString mPagerOtherChannel; QString mPagerOtherMessage; QString mPagerOtherMessageParameters; + int mSipClient; + QString mSipOtherChannel; + QString mSipOtherMessage; + QString mSipOtherMessageParameters; + QMap<ExternalAppHandler::Types, QString> mExternalAppsMap; // AddresseeWidget *mAddresseeWidget; }; #endif diff --git a/libkdepim/kpimglobalprefs.cpp b/libkdepim/kpimglobalprefs.cpp index 7f683a8..eb8f1de 100644 --- a/libkdepim/kpimglobalprefs.cpp +++ b/libkdepim/kpimglobalprefs.cpp @@ -20,70 +20,75 @@ with any edition of Qt, and distribute the resulting executable, without including the source code for Qt in the source distribution. */ /* Enhanced Version of the file for platform independent KDE tools. Copyright (c) 2004 Ulf Schenk $Id$ */ #include <kglobal.h> #include <kconfig.h> #include <klocale.h> #include <kdebug.h> #include <kstaticdeleter.h> #include "kpimglobalprefs.h" KPimGlobalPrefs *KPimGlobalPrefs::sInstance = 0; static KStaticDeleter<KPimGlobalPrefs> staticDeleter; KPimGlobalPrefs::KPimGlobalPrefs( const QString &name ) - : KPrefs("kkdepimrc") + : KPrefs("microkdeglobalrc") { KPrefs::setCurrentGroup( "ExternalApplications" ); addItemInt( "EmailChannelType", &mEmailClient, OMPI_EMC ); addItemString( "EmailChannel", &mEmailOtherChannel, "" ); addItemString( "EmailChannelMessage", &mEmailOtherMessage, "" ); addItemString( "EmailChannelParameters", &mEmailOtherMessageParameters, "" ); addItemString( "EmailChannelMessage2", &mEmailOtherMessage2, "" ); addItemString( "EmailChannelParameters2", &mEmailOtherMessageParameters2, "" ); addItemInt( "PhoneChannelType", &mPhoneClient, KPPI_PHC ); addItemString( "PhoneChannel", &mPhoneOtherChannel, "" ); addItemString( "PhoneChannelMessage", &mPhoneOtherMessage, "" ); addItemString( "PhoneChannelParameters", &mPhoneOtherMessageParameters, "" ); addItemInt( "FaxChannelType", &mFaxClient, NONE_FAC ); addItemString( "FaxChannel", &mFaxOtherChannel, "" ); addItemString( "FaxChannelMessage", &mFaxOtherMessage, "" ); addItemString( "FaxChannelParameters", &mFaxOtherMessageParameters, "" ); addItemInt( "SMSChannelType", &mSMSClient, NONE_SMC ); addItemString( "SMSChannel", &mSMSOtherChannel, "" ); addItemString( "SMSChannelMessage", &mSMSOtherMessage, "" ); addItemString( "SMSChannelParameters", &mSMSOtherMessageParameters, "" ); addItemInt( "PagerChannelType", &mPagerClient, NONE_PAC ); addItemString( "PagerChannel", &mPagerOtherChannel, "" ); addItemString( "PagerChannelMessage", &mPagerOtherMessage, "" ); addItemString( "PagerChannelParameters", &mPagerOtherMessageParameters, "" ); + addItemInt( "SIPChannelType", &mSipClient, NONE_SIC ); + addItemString( "SIPChannel", &mSipOtherChannel, "" ); + addItemString( "SIPChannelMessage", &mSipOtherMessage, "" ); + addItemString( "SIPChannelParameters", &mSipOtherMessageParameters, "" ); + } KPimGlobalPrefs::~KPimGlobalPrefs() { } KPimGlobalPrefs *KPimGlobalPrefs::instance() { if ( !sInstance ) { sInstance = staticDeleter.setObject( new KPimGlobalPrefs() ); sInstance->readConfig(); } return sInstance; } diff --git a/libkdepim/kpimglobalprefs.h b/libkdepim/kpimglobalprefs.h index 80b2c4f..8bd543d 100644 --- a/libkdepim/kpimglobalprefs.h +++ b/libkdepim/kpimglobalprefs.h @@ -51,62 +51,72 @@ class KPimGlobalPrefs : public KPrefs OPIE_EMC = 4 }; enum PhoneClients { NONE_PHC = 0, OTHER_PHC = 1, KPPI_PHC = 2 }; enum FaxClients { NONE_FAC = 0, OTHER_FAC = 1 }; enum SMSClients { NONE_SMC = 0, OTHER_SMC = 1 }; enum PagerClients { NONE_PAC = 0, OTHER_PAC = 1 }; + enum SIPClients { + NONE_SIC = 0, + OTHER_SIC = 1 + }; + private: KPimGlobalPrefs( const QString &name = QString::null ); static KPimGlobalPrefs *sInstance; public: int mEmailClient; QString mEmailOtherChannel; QString mEmailOtherMessage; QString mEmailOtherMessageParameters; QString mEmailOtherMessage2; QString mEmailOtherMessageParameters2; int mPhoneClient; QString mPhoneOtherChannel; QString mPhoneOtherMessage; QString mPhoneOtherMessageParameters; int mFaxClient; QString mFaxOtherChannel; QString mFaxOtherMessage; QString mFaxOtherMessageParameters; int mSMSClient; QString mSMSOtherChannel; QString mSMSOtherMessage; QString mSMSOtherMessageParameters; int mPagerClient; QString mPagerOtherChannel; QString mPagerOtherMessage; QString mPagerOtherMessageParameters; + int mSipClient; + QString mSipOtherChannel; + QString mSipOtherMessage; + QString mSipOtherMessageParameters; + }; #endif |