-rw-r--r-- | kaddressbook/kabprefs.cpp | 2 | ||||
-rw-r--r-- | kaddressbook/kaddressbookmain.cpp | 86 | ||||
-rw-r--r-- | kaddressbook/kcmconfigs/kabconfigwidget.cpp | 36 | ||||
-rw-r--r-- | kaddressbook/kcmconfigs/kabconfigwidget.h | 1 |
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 @@ -42,17 +42,17 @@ KABPrefs::KABPrefs() KPrefs::setCurrentGroup( "Views" ); addItemBool( "HonorSingleClick", &mHonorSingleClick, false ); KPrefs::setCurrentGroup( "General" ); addItemBool( "AutomaticNameParsing", &mAutomaticNameParsing, true ); addItemInt( "CurrentIncSearchField", &mCurrentIncSearchField, 0 ); #ifdef KAB_EMBEDDED - addItemBool("AskForQuit",&mAskForQuit,false); + addItemBool("AskForQuit",&mAskForQuit,true); addItemBool("ToolBarHor",&mToolBarHor, true ); addItemBool("ToolBarUp",&mToolBarUp, false ); #endif //KAB_EMBEDDED KPrefs::setCurrentGroup( "MainWindow" ); addItemBool( "JumpButtonBarVisible", &mJumpButtonBarVisible, false ); addItemBool( "DetailsPageVisible", &mDetailsPageVisible, true ); diff --git a/kaddressbook/kaddressbookmain.cpp b/kaddressbook/kaddressbookmain.cpp index 8ebb93a..f48f214 100644 --- a/kaddressbook/kaddressbookmain.cpp +++ b/kaddressbook/kaddressbookmain.cpp @@ -194,83 +194,47 @@ void KAddressBookMain::configureKeys() KKeyDialog::configureKeys( actionCollection(), xmlFile(), true, this ); #else //KAB_EMBEDDED qDebug("KAddressBookMain::configureKeys() not implemented by ulf" ); #endif //KAB_EMBEDDED } 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 #include "kaddressbookmain.moc" #endif //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 @@ -26,16 +26,17 @@ #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 <qvbox.h> #include <kconfig.h> #include <kdebug.h> #include <kdialog.h> #include <klistview.h> #include <klocale.h> #include <kglobal.h> #include <kmessagebox.h> @@ -93,38 +94,47 @@ KABConfigWidget::KABConfigWidget( QWidget *parent, const char *name ) 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() ); + 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()); boxLayout->setSpacing(KDialog::spacingHintSmall()); groupBox->layout()->setMargin(1) ; groupBox->layout()->setSpacing(0); mExtensionView = new KListView( groupBox ); mExtensionView->setAllColumnsShowFocus( true ); @@ -133,29 +143,30 @@ KABConfigWidget::KABConfigWidget( QWidget *parent, const char *name ) mExtensionView->setMaximumHeight(80); boxLayout->addWidget( mExtensionView ); mConfigureButton = new QPushButton( i18n( "Configure..." ), groupBox ); 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* ) ), SLOT( itemClicked( QListViewItem* ) ) ); connect( mConfigureButton, SIGNAL( clicked() ), SLOT( configureExtension() ) ); - tabWidget->addTab( generalPage, i18n( "General" ) ); + tabWidget->addTab( extensionPage, i18n( "Extensions" ) ); // Addressee page mAddresseeWidget = new AddresseeWidget( this ); tabWidget->addTab( mAddresseeWidget, i18n( "Contact" ) ); connect( mAddresseeWidget, SIGNAL( modified() ), SLOT( modified() ) ); } @@ -165,45 +176,48 @@ 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 ); + mAskForQuit->setChecked( prefs->mAskForQuit ); 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(); + prefs->mAskForQuit = mAskForQuit->isChecked(); mAddresseeWidget->saveSettings(); saveExtensionSettings(); KABPrefs::instance()->writeConfig(); emit changed( false ); } void KABConfigWidget::defaults(KABPrefs* prefs) { mNameParsing->setChecked( true ); mViewsSingleClickBox->setChecked( false ); mMultipleViewsAtOnce->setChecked( true ); + mAskForQuit->setChecked (true); emit changed( true ); } void KABConfigWidget::modified() { 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 @@ -64,15 +64,16 @@ class KABConfigWidget : public QWidget void restoreExtensionSettings(); void saveExtensionSettings(); KListView *mExtensionView; QCheckBox *mNameParsing; QCheckBox *mViewsSingleClickBox; QCheckBox *mMultipleViewsAtOnce; + QCheckBox *mAskForQuit; QPushButton *mConfigureButton; AddresseeWidget *mAddresseeWidget; }; #endif |