summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/kabprefs.cpp2
-rw-r--r--kaddressbook/kaddressbookmain.cpp86
-rw-r--r--kaddressbook/kcmconfigs/kabconfigwidget.cpp36
-rw-r--r--kaddressbook/kcmconfigs/kabconfigwidget.h1
4 files changed, 52 insertions, 73 deletions
diff --git a/kaddressbook/kabprefs.cpp b/kaddressbook/kabprefs.cpp
index 03c5e76..2425158 100644
--- a/kaddressbook/kabprefs.cpp
+++ b/kaddressbook/kabprefs.cpp
@@ -47,7 +47,7 @@ KABPrefs::KABPrefs()
addItemInt( "CurrentIncSearchField", &mCurrentIncSearchField, 0 );
#ifdef KAB_EMBEDDED
- addItemBool("AskForQuit",&mAskForQuit,false);
+ addItemBool("AskForQuit",&mAskForQuit,true);
addItemBool("ToolBarHor",&mToolBarHor, true );
addItemBool("ToolBarUp",&mToolBarUp, false );
diff --git a/kaddressbook/kaddressbookmain.cpp b/kaddressbook/kaddressbookmain.cpp
index 8ebb93a..f48f214 100644
--- a/kaddressbook/kaddressbookmain.cpp
+++ b/kaddressbook/kaddressbookmain.cpp
@@ -199,75 +199,39 @@ void KAddressBookMain::configureKeys()
void KAddressBookMain::closeEvent( QCloseEvent* ce )
{
- QString mess = i18n( "Close KA/Pi?");
- if ( mCore->modified() )
- mess += i18n( "\n\nChanges will be saved!");
- else
- mess += i18n( "\n\nNo unsaved changes detected!\nNothing will be saved!");
-
- switch( QMessageBox::information( this, "KA/Pi", mess ,
- i18n("Yes!"), i18n("No"), 0, 0 ) ) {
- case 0:
-
- break;
- case 1:
- return;
- break;
- case 2:
- return;
- break;
-
- default:
- return;
- break;
- }
+ bool mModified = mCore->modified();
+ bool mAskForQuit = KABPrefs::instance()->mAskForQuit;
-#if 0
+ QString mess = i18n( "Close KA/Pi?");
+ if ( mModified == true )
+ mess += i18n( "\nChanges will be saved!");
+ else
+ mess += i18n( "\nNo unsaved changes detected!\nNothing will be saved!");
- if ( mCore->modified() ) {
- QString text = i18n( "The address book has been modified.\nDo you want to save your changes?" );
+ bool mQuit = true;
-#ifndef KAB_EMBEDDED
- int ret = KMessageBox::warningYesNoCancel( this, text, "",
- KStdGuiItem::yes(),
- KStdGuiItem::no(), "AskForSave" );
- switch ( ret ) {
- case KMessageBox::Yes:
- save();
- break;
- case KMessageBox::No:
- return true;
- break;
- default: //cancel
- return ;
- break;
- }
-#else //KAB_EMBEDDED
- switch( QMessageBox::information( this, "KA/Pi",
- text,
- i18n("Yes!"), i18n("No"), 0, 0 ) ) {
- case 0:
- save();
- break;
- case 1:
- break;
- case 2:
- return;
- default:
- return;
- break;
- }
-#endif //KAB_EMBEDDED
+ if (mAskForQuit)
+ {
+
+ int res = QMessageBox::information( this, "KA/Pi", mess , i18n("Yes!"), i18n("No"), 0, 0 );
+ if (res == 0)
+ mQuit = true;
+ else
+ mQuit = false;
}
-#endif
+ if (mQuit == false)
+ return;
+
+ if (mModified == true)
+ {
+ save();
+ mCore->saveSettings();
+ KABPrefs::instance()->writeConfig();
+ }
- save();
- mCore->saveSettings();
- KABPrefs::instance()->writeConfig();
ce->accept();
-
}
#ifndef KAB_EMBEDDED
diff --git a/kaddressbook/kcmconfigs/kabconfigwidget.cpp b/kaddressbook/kcmconfigs/kabconfigwidget.cpp
index 31ab7b5..3a2ccbb 100644
--- a/kaddressbook/kcmconfigs/kabconfigwidget.cpp
+++ b/kaddressbook/kcmconfigs/kabconfigwidget.cpp
@@ -31,6 +31,7 @@
#include <qlineedit.h>
#include <qlabel.h>
#include <qfile.h>
+#include <qvbox.h>
#include <kconfig.h>
#include <kdebug.h>
@@ -98,28 +99,37 @@ KABConfigWidget::KABConfigWidget( QWidget *parent, const char *name )
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() );
+ QVBox *vBox = new QVBox( generalPage, "qvbox" );
+ QVBoxLayout *boxLayout = new QVBoxLayout( vBox->layout(), -1, "qvboxlayout" );
boxLayout->setAlignment( Qt::AlignTop );
boxLayout->setMargin(KDialog::marginHintSmall() );
- groupBox->layout()->setMargin(KDialog::marginHintSmall()) ;
- groupBox->layout()->setSpacing(KDialog::spacingHintSmall());
+ vBox->layout()->setMargin(KDialog::marginHintSmall()) ;
+ vBox->layout()->setSpacing(KDialog::spacingHintSmall());
boxLayout->setSpacing( KDialog::spacingHintSmall() );
- mViewsSingleClickBox = new QCheckBox( i18n( "Honor KDE single click" ), groupBox, "msingle" );
+ mViewsSingleClickBox = new QCheckBox( i18n( "Honor KDE single click" ), vBox, "msingle" );
boxLayout->addWidget( mViewsSingleClickBox );
- mNameParsing = new QCheckBox( i18n( "Automatic name parsing for new addressees" ), groupBox, "mparse" );
+ mNameParsing = new QCheckBox( i18n( "Automatic name parsing for new addressees" ), vBox, "mparse" );
boxLayout->addWidget( mNameParsing );
- mMultipleViewsAtOnce = new QCheckBox( i18n( "Display List and Details at once (restart)" ), groupBox, "mdisplay" );
+ mMultipleViewsAtOnce = new QCheckBox( i18n( "Display List and Details at once (restart)" ), vBox, "mdisplay" );
boxLayout->addWidget( mMultipleViewsAtOnce );
- layout->addWidget( groupBox );
+ mAskForQuit = new QCheckBox( i18n( "Ask for quit when closing Ka/Pi" ), vBox, "mquit" );
+ boxLayout->addWidget( mAskForQuit );
+ layout->addWidget( vBox );
+
+ tabWidget->addTab( generalPage, i18n( "General" ) );
+
+ // Extension page
+ QWidget *extensionPage = new QWidget( this );
+ QVBoxLayout *extensionLayout = new QVBoxLayout( extensionPage, KDialog::marginHintSmall(),
+ KDialog::spacingHintSmall() );
//extensions groupbox
- groupBox = new QGroupBox( 0, Qt::Vertical, i18n( "Extensions (restart)" ), generalPage );
+ QGroupBox* groupBox = new QGroupBox( 0, Qt::Vertical, i18n( "Extensions (restart)" ), extensionPage );
boxLayout = new QVBoxLayout( groupBox->layout() );
boxLayout->setAlignment( Qt::AlignTop );
boxLayout->setMargin(KDialog::marginHintSmall());
@@ -138,11 +148,12 @@ KABConfigWidget::KABConfigWidget( QWidget *parent, const char *name )
mConfigureButton->setEnabled( false );
boxLayout->addWidget( mConfigureButton );
- layout->addWidget( groupBox );
+ extensionLayout->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( mAskForQuit, SIGNAL( toggled( bool ) ), this, SLOT( modified() ) );
connect( mExtensionView, SIGNAL( selectionChanged( QListViewItem* ) ),
SLOT( selectionChanged( QListViewItem* ) ) );
connect( mExtensionView, SIGNAL( clicked( QListViewItem* ) ),
@@ -150,7 +161,7 @@ KABConfigWidget::KABConfigWidget( QWidget *parent, const char *name )
connect( mConfigureButton, SIGNAL( clicked() ),
SLOT( configureExtension() ) );
- tabWidget->addTab( generalPage, i18n( "General" ) );
+ tabWidget->addTab( extensionPage, i18n( "Extensions" ) );
// Addressee page
mAddresseeWidget = new AddresseeWidget( this );
@@ -170,6 +181,7 @@ void KABConfigWidget::restoreSettings(KABPrefs* prefs)
mNameParsing->setChecked( prefs->mAutomaticNameParsing );
mViewsSingleClickBox->setChecked( prefs->mHonorSingleClick );
mMultipleViewsAtOnce->setChecked( prefs->mMultipleViewsAtOnce );
+ mAskForQuit->setChecked( prefs->mAskForQuit );
mAddresseeWidget->restoreSettings();
@@ -185,6 +197,7 @@ void KABConfigWidget::saveSettings(KABPrefs* prefs)
prefs->mAutomaticNameParsing = mNameParsing->isChecked();
prefs->mHonorSingleClick = mViewsSingleClickBox->isChecked();
prefs->mMultipleViewsAtOnce = mMultipleViewsAtOnce->isChecked();
+ prefs->mAskForQuit = mAskForQuit->isChecked();
mAddresseeWidget->saveSettings();
@@ -199,6 +212,7 @@ void KABConfigWidget::defaults(KABPrefs* prefs)
mNameParsing->setChecked( true );
mViewsSingleClickBox->setChecked( false );
mMultipleViewsAtOnce->setChecked( true );
+ mAskForQuit->setChecked (true);
emit changed( true );
}
diff --git a/kaddressbook/kcmconfigs/kabconfigwidget.h b/kaddressbook/kcmconfigs/kabconfigwidget.h
index 2928495..831efc1 100644
--- a/kaddressbook/kcmconfigs/kabconfigwidget.h
+++ b/kaddressbook/kcmconfigs/kabconfigwidget.h
@@ -69,6 +69,7 @@ class KABConfigWidget : public QWidget
QCheckBox *mNameParsing;
QCheckBox *mViewsSingleClickBox;
QCheckBox *mMultipleViewsAtOnce;
+ QCheckBox *mAskForQuit;
QPushButton *mConfigureButton;