From 4cbb59835b52b524c9fcbb377159d91a97e1b626 Mon Sep 17 00:00:00 2001 From: ulf69 Date: Fri, 06 Aug 2004 20:34:07 +0000 Subject: kcmultidialog can now handle the configuration of multiple applications at once --- diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp index 2494aa2..1667400 100644 --- a/kaddressbook/kabcore.cpp +++ b/kaddressbook/kabcore.cpp @@ -76,7 +76,6 @@ #include #include -#include //#include @@ -88,7 +87,8 @@ #include #endif // KAB_EMBEDDED -#include +#include "kcmconfigs/kcmkabconfig.h" +#include "kcmconfigs/kcmkdepimconfig.h" #include @@ -1197,9 +1197,15 @@ QString KABCore::getNameByPhone( const QString &phone ) void KABCore::openConfigDialog() { - KCMultiDialog* ConfigureDialog = new KCMultiDialog( "PIM", this ,"kabconfigdialog", true ); + KABPrefs* prefs = KABPrefs::instance(); + KCMultiDialog* ConfigureDialog = new KCMultiDialog( prefs, "PIM", this ,"kabconfigdialog", true ); KCMKabConfig* kabcfg = new KCMKabConfig( ConfigureDialog->getNewVBoxPage(i18n( "Addressbook")) , "KCMKabConfig" ); ConfigureDialog->addModule(kabcfg ); + KCMKdePimConfig* kdelibcfg = new KCMKdePimConfig( ConfigureDialog->getNewVBoxPage(i18n( "Pim")) , "KCMKdeLibConfig" ); + ConfigureDialog->addModule(kdelibcfg ); + + + connect( ConfigureDialog, SIGNAL( applyClicked() ), this, SLOT( configurationChanged() ) ); connect( ConfigureDialog, SIGNAL( okClicked() ), @@ -1514,7 +1520,7 @@ void KABCore::initActions() mActionBeamVCard = new KAction( i18n( "Beam selected v&Card(s)" ), "beam", 0, this, SLOT( beamVCard() ), actionCollection(), "kaddressbook_beam_vcard" ); - + mActionBeam = new KAction( i18n( "&Beam personal vCard" ), "beam", 0, this, SLOT( beamMySelf() ), actionCollection(), "kaddressbook_beam_myself" ); @@ -1621,7 +1627,7 @@ void KABCore::initActions() SLOT( setWhoAmI() ), actionCollection(), "set_personal" ); - + mActionCategories = new KAction( i18n( "Set Categories" ), 0, this, diff --git a/kaddressbook/kabprefs.cpp b/kaddressbook/kabprefs.cpp index 8bd4b15..0c192dd 100644 --- a/kaddressbook/kabprefs.cpp +++ b/kaddressbook/kabprefs.cpp @@ -50,8 +50,6 @@ KABPrefs::KABPrefs() addItemBool("AskForQuit",&mAskForQuit,false); addItemBool("ToolBarHor",&mToolBarHor, true ); addItemBool("ToolBarUp",&mToolBarUp, false ); - addItemInt( "EmailChannelType", &mEmailClient, OMPI ); - addItemString( "EmailChannelOther", &mEmailChannel, "" ); #endif //KAB_EMBEDDED diff --git a/kaddressbook/kabprefs.h b/kaddressbook/kabprefs.h index c81a9a9..8f149ac 100644 --- a/kaddressbook/kabprefs.h +++ b/kaddressbook/kabprefs.h @@ -37,14 +37,6 @@ class KABPrefs : public KPimPrefs static KABPrefs *instance(); - enum EMailClients { - OMPI = 0, - QTOPIA = 1, - OPIE = 2, - OTHER = 3 - }; - - // General bool mHonorSingleClick; bool mAutomaticNameParsing; @@ -58,8 +50,6 @@ class KABPrefs : public KPimPrefs bool mToolBarUp; bool mAskForQuit; - int mEmailClient; - QString mEmailChannel; /** Set preferences to default values */ // void usrSetDefaults(); diff --git a/kaddressbook/kaddressbook.pro b/kaddressbook/kaddressbook.pro index 0da5842..b57317f 100644 --- a/kaddressbook/kaddressbook.pro +++ b/kaddressbook/kaddressbook.pro @@ -6,7 +6,7 @@ DESTDIR= ../bin include( ../variables.pri ) -INCLUDEPATH += . ./details ./features ./kcmconfigs ./xxport ../microkde ../microkde/kdecore ../microkde/kutils ../microkde/kio/kfile ../microkde/kio/kio ../microkde/kdeui ../microkde/kresources ../kabc ../ interfaces +INCLUDEPATH += . ./details ./features ./xxport ../libkdepim ../microkde ../microkde/kdecore ../microkde/kutils ../microkde/kio/kfile ../microkde/kio/kio ../microkde/kdeui ../microkde/kresources ../kabc ../ interfaces DEFINES += KAB_EMBEDDED KAB_NOSPLITTER DESKTOP_VERSION unix : { diff --git a/kaddressbook/kaddressbookE.pro b/kaddressbook/kaddressbookE.pro index 95e6641..41f293d 100644 --- a/kaddressbook/kaddressbookE.pro +++ b/kaddressbook/kaddressbookE.pro @@ -10,7 +10,7 @@ DESTDIR=$(QPEDIR)/bin #LFLAGS += -Wl,-export-dynamic -INCLUDEPATH += . ./details ./features ./kcmconfigs ./xxport ../microkde ../microkde/kdecore ../microkde/kutils ../microkde/kio/kfile ../microkde/kio/kio ../microkde/kdeui ../microkde/kresources ../kabc ../qtcompat ../ interfaces $(QPEDIR)/include +INCLUDEPATH += . ./details ./features ./xxport ../libkdepim ../microkde ../microkde/kdecore ../microkde/kutils ../microkde/kio/kfile ../microkde/kio/kio ../microkde/kdeui ../microkde/kresources ../kabc ../qtcompat ../ interfaces $(QPEDIR)/include DEFINES += KAB_EMBEDDED KAB_NOSPLITTER #DEFINES += KORG_NODND KORG_NOPLUGINS KORG_NOKABC KORG_NOARCHIVE KORG_NOMAIL #DEFINES += KORG_NOPRINTER KORG_NODCOP KORG_NOKALARMD KORG_NORESOURCEVIEW KORG_NOSPLITTER diff --git a/kaddressbook/kcmconfigs/kabconfigwidget.cpp b/kaddressbook/kcmconfigs/kabconfigwidget.cpp index 1bac26f..b5309c0 100644 --- a/kaddressbook/kcmconfigs/kabconfigwidget.cpp +++ b/kaddressbook/kcmconfigs/kabconfigwidget.cpp @@ -153,105 +153,18 @@ KABConfigWidget::KABConfigWidget( QWidget *parent, const char *name ) tabWidget->addTab( mAddresseeWidget, i18n( "Contact" ) ); connect( mAddresseeWidget, SIGNAL( modified() ), SLOT( modified() ) ); - // mailclient page - QWidget *mailclientPage = new QWidget( this ); - layout = new QVBoxLayout( mailclientPage, KDialog::marginHintSmall(), - KDialog::spacingHintSmall() ); - - groupBox = new QGroupBox( 0, Qt::Vertical, i18n( "Used Mail Client" ), mailclientPage ); - boxLayout = new QVBoxLayout( groupBox->layout() ); - boxLayout->setAlignment( Qt::AlignTop ); -// boxLayout->setMargin(KDialog::marginHintSmall() ); -// groupBox->layout()->setMargin(KDialog::marginHintSmall()) ; -// groupBox->layout()->setSpacing(KDialog::spacingHintSmall()); -// boxLayout->setSpacing( KDialog::spacingHintSmall() ); - - mEmailClient = new QComboBox( groupBox ); - mEmailClient->insertItem( i18n("OM/Pi"), KABPrefs::OMPI ); - mEmailClient->insertItem( i18n("Qtopia mail"), KABPrefs::QTOPIA ); - mEmailClient->insertItem( i18n("Opie mail"), KABPrefs::OPIE ); - mEmailClient->insertItem( i18n("Other"), KABPrefs::OTHER ); - boxLayout->addWidget( mEmailClient ); - - connect( mEmailClient, SIGNAL( activated( int ) ), - this, SLOT (emailclient_changed( int ) ) ); - - QLabel* lab = new QLabel( i18n("Channel:"), groupBox); - boxLayout->addWidget( lab ); - mEmailChannel = new QLineEdit(groupBox); - mEmailChannel->setReadOnly(true); - boxLayout->addWidget( mEmailChannel ); - - layout->addWidget( groupBox ); - tabWidget->addTab( mailclientPage, i18n( "Mail" ) ); - - - } - -void KABConfigWidget::emailclient_changed( int newClient ) +void KABConfigWidget::restoreSettings(KABPrefs* prefs) { - if (newClient == KABPrefs::OTHER) - mEmailChannel->setReadOnly(false); - else - mEmailChannel->setReadOnly(true); - - QString opiepath = QString::fromLatin1( getenv("OPIEDIR") ); - QString qtopiapath = QString::fromLatin1( getenv("QPEDIR") ); - - if (opiepath.isEmpty()) - opiepath = qtopiapath; - - QString text = mEmailChannel->text(); - - if (newClient == KABPrefs::OPIE) - { - if ( QFile::exists( opiepath + "/bin/opiemail" )) - text = "QPE/Application/opiemail"; - else - text = "FILENOTFOUND: " + opiepath + "/bin/opiemail"; - } - else if (newClient == KABPrefs::QTOPIA) - { - if ( QFile::exists( qtopiapath + "/bin/qtmail" )) - text = "QPE/Application/qtmail"; - else - text = "FILENOTFOUND: " + qtopiapath + "/bin/qtmail"; +//US prefs was KABPrefs::instance() before - } - else if (newClient == KABPrefs::OMPI) - { - if ( QFile::exists( qtopiapath + "/bin/ompi" )) - text = "QPE/Application/ompi"; - else if ( QFile::exists( opiepath + "/bin/ompi" )) - text = "QPE/Application/ompi"; - else - text = "FILENOTFOUND: " + qtopiapath + "/bin/ompi"; - - } - else - { - //do nothing if we choosed other - } - - mEmailChannel->setText( text ); - - -} - - -void KABConfigWidget::restoreSettings() -{ bool blocked = signalsBlocked(); blockSignals( true ); - mNameParsing->setChecked( KABPrefs::instance()->mAutomaticNameParsing ); - mViewsSingleClickBox->setChecked( KABPrefs::instance()->mHonorSingleClick ); - - mEmailChannel->setText( KABPrefs::instance()->mEmailChannel ); - mEmailClient->setCurrentItem(KABPrefs::instance()->mEmailClient); + mNameParsing->setChecked( prefs->mAutomaticNameParsing ); + mViewsSingleClickBox->setChecked( prefs->mHonorSingleClick ); mAddresseeWidget->restoreSettings(); @@ -262,13 +175,10 @@ void KABConfigWidget::restoreSettings() emit changed( false ); } -void KABConfigWidget::saveSettings() +void KABConfigWidget::saveSettings(KABPrefs* prefs) { - KABPrefs::instance()->mAutomaticNameParsing = mNameParsing->isChecked(); - KABPrefs::instance()->mHonorSingleClick = mViewsSingleClickBox->isChecked(); - - KABPrefs::instance()->mEmailClient = mEmailClient->currentItem(); - KABPrefs::instance()->mEmailChannel = mEmailChannel->text(); + prefs->mAutomaticNameParsing = mNameParsing->isChecked(); + prefs->mHonorSingleClick = mViewsSingleClickBox->isChecked(); mAddresseeWidget->saveSettings(); @@ -278,15 +188,11 @@ void KABConfigWidget::saveSettings() emit changed( false ); } -void KABConfigWidget::defaults() +void KABConfigWidget::defaults(KABPrefs* prefs) { mNameParsing->setChecked( true ); mViewsSingleClickBox->setChecked( false ); - mEmailClient->setCurrentItem(KABPrefs::OMPI); - emailclient_changed( KABPrefs::OMPI ); - - emit changed( true ); } diff --git a/kaddressbook/kcmconfigs/kabconfigwidget.h b/kaddressbook/kcmconfigs/kabconfigwidget.h index 9d1363b..8c0c436 100644 --- a/kaddressbook/kcmconfigs/kabconfigwidget.h +++ b/kaddressbook/kcmconfigs/kabconfigwidget.h @@ -32,6 +32,7 @@ class QPushButton; class QComboBox; class QLineEdit; class KListView; +class KABPrefs; class AddresseeWidget; @@ -42,9 +43,9 @@ class KABConfigWidget : public QWidget public: KABConfigWidget( QWidget *parent, const char *name = 0 ); - void restoreSettings(); - void saveSettings(); - void defaults(); + void restoreSettings(KABPrefs* prefs); + void saveSettings(KABPrefs* prefs); + void defaults(KABPrefs* prefs); signals: void changed( bool ); @@ -58,7 +59,6 @@ class KABConfigWidget : public QWidget void configureExtension(); void selectionChanged( QListViewItem* ); void itemClicked( QListViewItem* ); - void emailclient_changed( int newClient ); private: void restoreExtensionSettings(); @@ -69,8 +69,6 @@ class KABConfigWidget : public QWidget QCheckBox *mNameParsing; QCheckBox *mViewsSingleClickBox; QPushButton *mConfigureButton; - QComboBox* mEmailClient; - QLineEdit* mEmailChannel; AddresseeWidget *mAddresseeWidget; }; diff --git a/kaddressbook/kcmconfigs/kcmkabconfig.cpp b/kaddressbook/kcmconfigs/kcmkabconfig.cpp index a278042..26398f8 100644 --- a/kaddressbook/kcmconfigs/kcmkabconfig.cpp +++ b/kaddressbook/kcmconfigs/kcmkabconfig.cpp @@ -1,25 +1,25 @@ -/* - This file is part of KAddressBook. +/* + This file is part of KAddressBook. Copyright (c) 2003 Tobias Koenig - + This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - - As a special exception, permission is given to link this program - with any edition of Qt, and distribute the resulting executable, + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + As a special exception, permission is given to link this program + with any edition of Qt, and distribute the resulting executable, without including the source code for Qt in the source distribution. -*/ +*/ #include @@ -27,13 +27,16 @@ #include #endif //KAB_EMBEDDED #include -#include -#include +//#include +//#include #include "kabconfigwidget.h" #include "kcmkabconfig.h" +#include "kabprefs.h" +#include "kprefs.h" + extern "C" { KCModule *create_kabconfig( QWidget *parent, const char * ) { @@ -50,24 +53,23 @@ KCMKabConfig::KCMKabConfig( QWidget *parent, const char *name ) layout->addWidget( mConfigWidget ); layout->setSpacing( 0 ); layout->setMargin( 0 ); - + connect( mConfigWidget, SIGNAL( changed( bool ) ), SIGNAL( changed( bool ) ) ); - load(); } -void KCMKabConfig::load() +void KCMKabConfig::load(KPrefs* prefs) { - mConfigWidget->restoreSettings(); + mConfigWidget->restoreSettings((KABPrefs*)prefs); } -void KCMKabConfig::save() +void KCMKabConfig::save(KPrefs* prefs) { - mConfigWidget->saveSettings(); + mConfigWidget->saveSettings((KABPrefs*)prefs); } -void KCMKabConfig::defaults() +void KCMKabConfig::defaults(KPrefs* prefs) { - mConfigWidget->defaults(); + mConfigWidget->defaults((KABPrefs*)prefs); } #ifndef KAB_EMBEDDED @@ -81,7 +83,7 @@ const KAboutData* KCMKabConfig::aboutData() const about->addAuthor( "Tobias Koenig", 0, "tokoe@kde.org" ); return about; - + } #endif //KAB_EMBEDDED diff --git a/kaddressbook/kcmconfigs/kcmkabconfig.h b/kaddressbook/kcmconfigs/kcmkabconfig.h index be345b8..b4858c1 100644 --- a/kaddressbook/kcmconfigs/kcmkabconfig.h +++ b/kaddressbook/kcmconfigs/kcmkabconfig.h @@ -1,25 +1,25 @@ -/* - This file is part of KAddressBook. +/* + This file is part of KAddressBook. Copyright (c) 2003 Tobias Koenig - + This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - - As a special exception, permission is given to link this program - with any edition of Qt, and distribute the resulting executable, + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + As a special exception, permission is given to link this program + with any edition of Qt, and distribute the resulting executable, without including the source code for Qt in the source distribution. -*/ +*/ #ifndef KCMKABCONFIG_H #define KCMKABCONFIG_H @@ -27,10 +27,7 @@ #include class KABConfigWidget; - -#ifndef KAB_EMBEDDED -class KAboutData; -#endif //KAB_EMBEDDED +class KPrefs; class KCMKabConfig : public KCModule { @@ -39,12 +36,9 @@ class KCMKabConfig : public KCModule public: KCMKabConfig( QWidget *parent = 0, const char *name = 0 ); - virtual void load(); - virtual void save(); - virtual void defaults(); -#ifndef KAB_EMBEDDED - virtual const KAboutData* aboutData() const; -#endif //KAB_EMBEDDED + virtual void load(KPrefs* prefs); + virtual void save(KPrefs* prefs); + virtual void defaults(KPrefs* prefs); private: KABConfigWidget *mConfigWidget; -- cgit v0.9.0.2