-rw-r--r-- | kaddressbook/kcmconfigs/kabconfigwidget.cpp | 110 | ||||
-rw-r--r-- | kaddressbook/kcmconfigs/kabconfigwidget.h | 10 | ||||
-rw-r--r-- | kaddressbook/kcmconfigs/kcmkabconfig.cpp | 60 | ||||
-rw-r--r-- | kaddressbook/kcmconfigs/kcmkabconfig.h | 50 |
4 files changed, 65 insertions, 165 deletions
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 @@ -1,470 +1,376 @@ /* This file is part of KAddressBook. Copyright (c) 2003 Tobias Koenig <tokoe@kde.org> 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, without including the source code for Qt in the source distribution. */ #include <qcheckbox.h> #include <qframe.h> #include <qgroupbox.h> #include <qlayout.h> #include <qpushbutton.h> #include <qtabwidget.h> #include <qcombobox.h> #include <qlineedit.h> #include <qlabel.h> #include <qfile.h> #include <kconfig.h> #include <kdebug.h> #include <kdialog.h> #include <klistview.h> #include <klocale.h> #include <kglobal.h> #include <kmessagebox.h> #include <kstandarddirs.h> #ifndef KAB_EMBEDDED #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 "kabprefs.h" #include "kabconfigwidget.h" class ExtensionItem : public QCheckListItem { public: #ifndef KAB_EMBEDDED ExtensionItem( QListView *parent, const QString &text ); void setService( const KService::Ptr &ptr ); #else //KAB_EMBEDDED ExtensionItem( QListView *parent, const QString &text, const QString &name, const QString &comment ); void setFactory( ExtensionFactory* fac ); #endif //KAB_EMBEDDED bool configWidgetAvailable() const; ExtensionFactory *factory() const; virtual QString text( int column ) const; private: #ifndef KAB_EMBEDDED KService::Ptr mPtr; #else //KAB_EMBEDDED ExtensionFactory* mFactory; QString mName; QString mComment; #endif //KAB_EMBEDDED }; KABConfigWidget::KABConfigWidget( QWidget *parent, const char *name ) : QWidget( parent, name ) { QVBoxLayout *topLayout = new QVBoxLayout( this, 0, KDialog::spacingHint() ); QTabWidget *tabWidget = new QTabWidget( this ); topLayout->addWidget( tabWidget ); // General page QWidget *generalPage = new QWidget( this ); QVBoxLayout *layout = new QVBoxLayout( generalPage, KDialog::marginHintSmall(), KDialog::spacingHintSmall() ); //general groupbox QGroupBox *groupBox = new QGroupBox( 0, Qt::Vertical, i18n( "General" ), generalPage ); QVBoxLayout *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() ); mViewsSingleClickBox = new QCheckBox( i18n( "Honor KDE single click" ), groupBox, "msingle" ); boxLayout->addWidget( mViewsSingleClickBox ); mNameParsing = new QCheckBox( i18n( "Automatic name parsing for new addressees" ), groupBox, "mparse" ); boxLayout->addWidget( mNameParsing ); layout->addWidget( groupBox ); //extensions groupbox groupBox = new QGroupBox( 0, Qt::Vertical, i18n( "Extensions" ), generalPage ); boxLayout = new QVBoxLayout( groupBox->layout() ); boxLayout->setAlignment( Qt::AlignTop ); boxLayout->setMargin(KDialog::marginHintSmall()); boxLayout->setSpacing(KDialog::spacingHintSmall()); groupBox->layout()->setMargin(1) ; groupBox->layout()->setSpacing(0); mExtensionView = new KListView( groupBox ); mExtensionView->setAllColumnsShowFocus( true ); mExtensionView->addColumn( i18n( "Name" ) ); mExtensionView->addColumn( i18n( "Description" ) ); mExtensionView->setMaximumHeight(80); boxLayout->addWidget( mExtensionView ); mConfigureButton = new QPushButton( i18n( "Configure..." ), groupBox ); mConfigureButton->setEnabled( false ); boxLayout->addWidget( mConfigureButton ); layout->addWidget( groupBox ); connect( mNameParsing, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); connect( mViewsSingleClickBox, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) ); connect( mExtensionView, SIGNAL( selectionChanged( QListViewItem* ) ), SLOT( selectionChanged( QListViewItem* ) ) ); connect( mExtensionView, SIGNAL( clicked( QListViewItem* ) ), SLOT( itemClicked( QListViewItem* ) ) ); connect( mConfigureButton, SIGNAL( clicked() ), SLOT( configureExtension() ) ); tabWidget->addTab( generalPage, i18n( "General" ) ); // Addressee page mAddresseeWidget = new AddresseeWidget( this ); 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(); restoreExtensionSettings(); blockSignals( blocked ); 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(); saveExtensionSettings(); KABPrefs::instance()->writeConfig(); 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 ); } void KABConfigWidget::modified() { emit changed( true ); } void KABConfigWidget::restoreExtensionSettings() { QStringList activeExtensions = KABPrefs::instance()->mActiveExtensions; mExtensionView->clear(); #ifndef KAB_EMBEDDED KTrader::OfferList plugins = KTrader::self()->query( "KAddressBook/Extension" ); KTrader::OfferList::ConstIterator it; for ( it = plugins.begin(); it != plugins.end(); ++it ) { if ( !(*it)->hasServiceType( "KAddressBook/Extension" ) ) continue; ExtensionItem *item = new ExtensionItem( mExtensionView, (*it)->name() ); item->setService( *it ); if ( activeExtensions.contains( item->factory()->identifier() ) ) item->setOn( true ); } #else //KAB_EMBEDDED ExtensionFactory *extensionFactory = new MergeFactory(); ExtensionItem *item = new ExtensionItem( mExtensionView, "Merge", "Merge", "Merge contacts"); item->setFactory( extensionFactory ); if ( activeExtensions.contains( extensionFactory->identifier() ) ) item->setOn( true ); extensionFactory = new DistributionListFactory(); item = new ExtensionItem( mExtensionView, "Distribution List", "Distribution List", "Manage Distribution Lists"); item->setFactory( extensionFactory ); if ( activeExtensions.contains( extensionFactory->identifier() ) ) item->setOn( true ); #endif //KAB_EMBEDDED } void KABConfigWidget::saveExtensionSettings() { QStringList activeExtensions; QPtrList<QListViewItem> list; QListViewItemIterator it( mExtensionView ); while ( it.current() ) { ExtensionItem *item = static_cast<ExtensionItem*>( it.current() ); if ( item ) { if ( item->isOn() ) activeExtensions.append( item->factory()->identifier() ); } ++it; } KABPrefs::instance()->mActiveExtensions = activeExtensions; } void KABConfigWidget::configureExtension() { ExtensionItem *item = static_cast<ExtensionItem*>( mExtensionView->currentItem() ); if ( !item ) return; #ifndef KAB_EMBEDDED KConfig config( "kaddressbookrc" ); #else //KAB_EMBEDDED KConfig config( locateLocal("config", "kaddressbookrc") ); #endif //KAB_EMBEDDED config.setGroup( QString( "Extensions_%1" ).arg( item->factory()->identifier() ) ); ExtensionConfigDialog dlg( item->factory(), &config, this ); dlg.exec(); config.sync(); } void KABConfigWidget::selectionChanged( QListViewItem *i ) { ExtensionItem *item = static_cast<ExtensionItem*>( i ); if ( !item ) return; mConfigureButton->setEnabled( item->configWidgetAvailable() ); } void KABConfigWidget::itemClicked( QListViewItem *item ) { if ( item != 0 ) modified(); } #ifndef KAB_EMBEDDED ExtensionItem::ExtensionItem( QListView *parent, const QString &text ) : QCheckListItem( parent, text, CheckBox ) { } void ExtensionItem::setService( const KService::Ptr &ptr ) { mPtr = ptr; } #else //KAB_EMBEDDED ExtensionItem::ExtensionItem( QListView *parent, const QString &text, const QString &name, const QString &comment ) : QCheckListItem( parent, text, CheckBox ) { mName = name; mComment = comment; } void ExtensionItem::setFactory( ExtensionFactory* fac ) { mFactory = fac; } #endif //KAB_EMBEDDED bool ExtensionItem::configWidgetAvailable() const { #ifndef KAB_EMBEDDED KLibFactory *factory = KLibLoader::self()->factory( mPtr->library().latin1() ); if ( !factory ) return false; ExtensionFactory *extensionFactory = static_cast<ExtensionFactory*>( factory ); if ( !extensionFactory ) return false; return extensionFactory->configureWidgetAvailable(); #else //KAB_EMBEDDED return mFactory->configureWidgetAvailable(); #endif //KAB_EMBEDDED } ExtensionFactory *ExtensionItem::factory() const { #ifndef KAB_EMBEDDED KLibFactory *factory = KLibLoader::self()->factory( mPtr->library().latin1() ); if ( !factory ) return 0; return static_cast<ExtensionFactory*>( factory ); #else //KAB_EMBEDDED return mFactory; #endif //KAB_EMBEDDED } QString ExtensionItem::text( int column ) const { #ifndef KAB_EMBEDDED if ( column == 0 ) return mPtr->name(); else if ( column == 1 ) return mPtr->comment(); else return QString::null; #else //KAB_EMBEDDED if ( column == 0 ) return mName; else if ( column == 1 ) return mComment; else return QString::null; #endif //KAB_EMBEDDED } #ifndef KAB_EMBEDDED #include "kabconfigwidget.moc" #endif //KAB_EMBEDDED 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 @@ -1,78 +1,76 @@ /* This file is part of KAddressBook. Copyright (c) 2003 Tobias Koenig <tokoe@kde.org> 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, without including the source code for Qt in the source distribution. */ #ifndef KABCONFIGWIDGET_H #define KABCONFIGWIDGET_H #include <qwidget.h> class QCheckBox; class QListViewItem; class QPushButton; class QComboBox; class QLineEdit; class KListView; +class KABPrefs; class AddresseeWidget; class KABConfigWidget : public QWidget { Q_OBJECT 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 ); public slots: void modified(); private slots: void configureExtension(); void selectionChanged( QListViewItem* ); void itemClicked( QListViewItem* ); - void emailclient_changed( int newClient ); private: void restoreExtensionSettings(); void saveExtensionSettings(); KListView *mExtensionView; QCheckBox *mNameParsing; QCheckBox *mViewsSingleClickBox; QPushButton *mConfigureButton; - QComboBox* mEmailClient; - QLineEdit* mEmailChannel; AddresseeWidget *mAddresseeWidget; }; #endif 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,90 +1,92 @@ -/* - This file is part of KAddressBook. +/* + This file is part of KAddressBook. Copyright (c) 2003 Tobias Koenig <tokoe@kde.org> - + 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 <qlayout.h> #ifndef KAB_EMBEDDED #include <kaboutdata.h> #endif //KAB_EMBEDDED #include <kdebug.h> -#include <klocale.h> -#include <stdlib.h> +//#include <klocale.h> +//#include <stdlib.h> #include "kabconfigwidget.h" #include "kcmkabconfig.h" +#include "kabprefs.h" +#include "kprefs.h" + extern "C" { KCModule *create_kabconfig( QWidget *parent, const char * ) { return new KCMKabConfig( parent, "kcmkabconfig" ); } } KCMKabConfig::KCMKabConfig( QWidget *parent, const char *name ) : KCModule( parent, name ) { //abort(); QVBoxLayout *layout = new QVBoxLayout( this ); mConfigWidget = new KABConfigWidget( this, "mConfigWidget" ); 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 const KAboutData* KCMKabConfig::aboutData() const { KAboutData *about = new KAboutData( I18N_NOOP( "kcmkabconfig" ), I18N_NOOP( "KAddressBook Configure Dialog" ), 0, 0, KAboutData::License_GPL, I18N_NOOP( "(c), 2003 Tobias Koenig" ) ); about->addAuthor( "Tobias Koenig", 0, "tokoe@kde.org" ); return about; - + } #endif //KAB_EMBEDDED #ifndef KAB_EMBEDDED #include "kcmkabconfig.moc" #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,53 +1,47 @@ -/* - This file is part of KAddressBook. +/* + This file is part of KAddressBook. Copyright (c) 2003 Tobias Koenig <tokoe@kde.org> - + 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 #include <kcmodule.h> class KABConfigWidget; - -#ifndef KAB_EMBEDDED -class KAboutData; -#endif //KAB_EMBEDDED +class KPrefs; class KCMKabConfig : public KCModule { Q_OBJECT 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; }; #endif |