summaryrefslogtreecommitdiffabout
path: root/kaddressbook/kcmconfigs
Side-by-side diff
Diffstat (limited to 'kaddressbook/kcmconfigs') (more/less context) (show whitespace changes)
-rw-r--r--kaddressbook/kcmconfigs/kabconfigwidget.cpp9
-rw-r--r--kaddressbook/kcmconfigs/kabconfigwidget.h2
2 files changed, 10 insertions, 1 deletions
diff --git a/kaddressbook/kcmconfigs/kabconfigwidget.cpp b/kaddressbook/kcmconfigs/kabconfigwidget.cpp
index b5309c0..31ab7b5 100644
--- a/kaddressbook/kcmconfigs/kabconfigwidget.cpp
+++ b/kaddressbook/kcmconfigs/kabconfigwidget.cpp
@@ -82,145 +82,152 @@ class ExtensionItem : public QCheckListItem
#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 );
+ mMultipleViewsAtOnce = new QCheckBox( i18n( "Display List and Details at once (restart)" ), groupBox, "mdisplay" );
+ boxLayout->addWidget( mMultipleViewsAtOnce );
+
layout->addWidget( groupBox );
//extensions groupbox
- groupBox = new QGroupBox( 0, Qt::Vertical, i18n( "Extensions" ), generalPage );
+ groupBox = new QGroupBox( 0, Qt::Vertical, i18n( "Extensions (restart)" ), 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( mMultipleViewsAtOnce, 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() ) );
}
void KABConfigWidget::restoreSettings(KABPrefs* prefs)
{
//US prefs was KABPrefs::instance() before
bool blocked = signalsBlocked();
blockSignals( true );
mNameParsing->setChecked( prefs->mAutomaticNameParsing );
mViewsSingleClickBox->setChecked( prefs->mHonorSingleClick );
+ mMultipleViewsAtOnce->setChecked( prefs->mMultipleViewsAtOnce );
mAddresseeWidget->restoreSettings();
restoreExtensionSettings();
blockSignals( blocked );
emit changed( false );
}
void KABConfigWidget::saveSettings(KABPrefs* prefs)
{
prefs->mAutomaticNameParsing = mNameParsing->isChecked();
prefs->mHonorSingleClick = mViewsSingleClickBox->isChecked();
+ prefs->mMultipleViewsAtOnce = mMultipleViewsAtOnce->isChecked();
mAddresseeWidget->saveSettings();
saveExtensionSettings();
KABPrefs::instance()->writeConfig();
emit changed( false );
}
void KABConfigWidget::defaults(KABPrefs* prefs)
{
mNameParsing->setChecked( true );
mViewsSingleClickBox->setChecked( false );
+ mMultipleViewsAtOnce->setChecked( true );
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");
diff --git a/kaddressbook/kcmconfigs/kabconfigwidget.h b/kaddressbook/kcmconfigs/kabconfigwidget.h
index 8c0c436..2928495 100644
--- a/kaddressbook/kcmconfigs/kabconfigwidget.h
+++ b/kaddressbook/kcmconfigs/kabconfigwidget.h
@@ -39,38 +39,40 @@ class AddresseeWidget;
class KABConfigWidget : public QWidget
{
Q_OBJECT
public:
KABConfigWidget( QWidget *parent, const char *name = 0 );
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* );
private:
void restoreExtensionSettings();
void saveExtensionSettings();
KListView *mExtensionView;
QCheckBox *mNameParsing;
QCheckBox *mViewsSingleClickBox;
+ QCheckBox *mMultipleViewsAtOnce;
+
QPushButton *mConfigureButton;
AddresseeWidget *mAddresseeWidget;
};
#endif