author | ulf69 <ulf69> | 2004-09-02 23:07:29 (UTC) |
---|---|---|
committer | ulf69 <ulf69> | 2004-09-02 23:07:29 (UTC) |
commit | a2d8fcc8f1fcd64c01e41cb8ba31ae17a5ea5a8b (patch) (side-by-side diff) | |
tree | 80ecec37a7aa38ece91ac77409bf9f504e8e009e /kaddressbook/kaddressbookmain.cpp | |
parent | 436f0b8e6b73d7c3db1ac17da5ff245e6b12a18c (diff) | |
download | kdepimpi-a2d8fcc8f1fcd64c01e41cb8ba31ae17a5ea5a8b.zip kdepimpi-a2d8fcc8f1fcd64c01e41cb8ba31ae17a5ea5a8b.tar.gz kdepimpi-a2d8fcc8f1fcd64c01e41cb8ba31ae17a5ea5a8b.tar.bz2 |
sourceforge 1014892, quit dialog now configurable
Diffstat (limited to 'kaddressbook/kaddressbookmain.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | kaddressbook/kaddressbookmain.cpp | 74 |
1 files changed, 19 insertions, 55 deletions
diff --git a/kaddressbook/kaddressbookmain.cpp b/kaddressbook/kaddressbookmain.cpp index 8ebb93a..f48f214 100644 --- a/kaddressbook/kaddressbookmain.cpp +++ b/kaddressbook/kaddressbookmain.cpp @@ -10,267 +10,231 @@ 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. */ #ifdef KAB_EMBEDDED #include "kabprefs.h" #include <kglobal.h> #include <qmessagebox.h> #include <qtoolbar.h> #include <qapplication.h> #else //KAB_EMBEDDED #include <kedittoolbar.h> #include <kkeydialog.h> #include <kmessagebox.h> #include <kstatusbar.h> #endif //KAB_EMBEDDED #include <klocale.h> #include "kabcore.h" #include "kaddressbookmain.h" #include "kactioncollection.h" #ifdef KAB_EMBEDDED KAddressBookMain::KAddressBookMain() : KMainWindow( 0, "adrressbook" ) #else //KAB_EMBEDDED //MOC_SKIP_BEGIN KAddressBookMain::KAddressBookMain() : DCOPObject( "KAddressBookIface" ), KMainWindow( 0 ) //MOC_SKIP_END #endif //KAB_EMBEDDED { setIcon(SmallIcon( "ka24" ) ); #if 0 //US for embedded systems, create the toolbar before we initiate KABCore. // KABCore will fill the toolbar with menues and icons QMainWindow::ToolBarDock tbd; tbd = Top; iconToolBar = new QToolBar( this ); addToolBar (iconToolBar , tbd ); iconToolBar->setHorizontalStretchable(true); //US iconToolBar->setWidth(300); #endif // 0 mCore = new KABCore( this, true, this ); #ifdef KAB_EMBEDDED setCaption( i18n( "KAddressbook/Pi" ) ); #else //KAB_EMBEDDED setCaption( i18n( "Address Book Browser" ) ); #endif //KAB_EMBEDDED //mCore->restoreSettings(); initActions(); setCentralWidget( mCore ); //US statusBar()->show(); #ifndef KAB_EMBEDDED setStandardToolBarMenuEnabled(true); createGUI( "kaddressbookui.rc", false ); #endif //KAB_EMBEDDED setAutoSaveSettings(); qApp->processEvents(); mCore->restoreSettings(); } KAddressBookMain::~KAddressBookMain() { // mCore->saveSettings(); } void KAddressBookMain::showMinimized () { QWidget::showMinimized () ; } void KAddressBookMain::addEmail( QString addr ) { mCore->addEmail( addr ); } #ifndef KAB_EMBEDDED ASYNC KAddressBookMain::showContactEditor( QString uid ) { mCore->editContact( uid ); } #endif //KAB_EMBEDDED void KAddressBookMain::newContact() { mCore->newContact(); } QString KAddressBookMain::getNameByPhone( QString phone ) { return mCore->getNameByPhone( phone ); } void KAddressBookMain::save() { mCore->save(); } void KAddressBookMain::exit() { close( ); } void KAddressBookMain::saveProperties( KConfig* ) { } void KAddressBookMain::readProperties( KConfig* ) { } void KAddressBookMain::initActions() { #ifndef KAB_EMBEDDED KStdAction::quit( this, SLOT( close() ), actionCollection() ); KStdAction::configureToolbars( this, SLOT( configureToolbars() ), actionCollection() ); #else //KAB_EMBEDDED //US: transfered the setup of the actions into KABCore #endif //KAB_EMBEDDED } //US new method to setup menues and toolbars on embedded systems #ifdef KAB_EMBEDDED /* QToolBar * KAddressBookMain::getIconToolBar() { return iconToolBar; } */ void KAddressBookMain::createGUI() { } #endif //KAB_EMBEDDED void KAddressBookMain::configureToolbars() { #ifndef KAB_EMBEDDED saveMainWindowSettings( KGlobal::config(), "MainWindow" ); KEditToolbar dlg( factory() ); connect( &dlg, SIGNAL( newToolbarConfig() ), SLOT( slotNewToolbarConfig() ) ); dlg.exec(); #else //KAB_EMBEDDED qDebug("KAddressBookMain::configureToolbars() not implemented by ulf" ); #endif //KAB_EMBEDDED } void KAddressBookMain::slotNewToolbarConfig() { #ifndef KAB_EMBEDDED applyMainWindowSettings( KGlobal::config(), "MainWindow" ); #else //KAB_EMBEDDED qDebug("KAddressBookMain::slotNewToolbarConfig() not implemented by ulf" ); #endif //KAB_EMBEDDED } void KAddressBookMain::configureKeys() { #ifndef KAB_EMBEDDED KKeyDialog::configureKeys( actionCollection(), xmlFile(), true, this ); #else //KAB_EMBEDDED qDebug("KAddressBookMain::configureKeys() not implemented by ulf" ); #endif //KAB_EMBEDDED } void KAddressBookMain::closeEvent( QCloseEvent* ce ) { + bool mModified = mCore->modified(); + bool mAskForQuit = KABPrefs::instance()->mAskForQuit; + QString mess = i18n( "Close KA/Pi?"); - if ( mCore->modified() ) - mess += i18n( "\n\nChanges will be saved!"); + if ( mModified == true ) + mess += i18n( "\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; + mess += i18n( "\nNo unsaved changes detected!\nNothing will be saved!"); - default: - return; - break; - } + bool mQuit = true; -#if 0 - if ( mCore->modified() ) { - QString text = i18n( "The address book has been modified.\nDo you want to save your changes?" ); + if (mAskForQuit) + { -#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; + int res = QMessageBox::information( this, "KA/Pi", mess , i18n("Yes!"), i18n("No"), 0, 0 ); + if (res == 0) + mQuit = true; + else + mQuit = false; } -#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: + if (mQuit == false) return; - default: - return; - break; - } -#endif //KAB_EMBEDDED - } - -#endif + if (mModified == true) + { save(); mCore->saveSettings(); KABPrefs::instance()->writeConfig(); - ce->accept(); + } + ce->accept(); } #ifndef KAB_EMBEDDED #include "kaddressbookmain.moc" #endif //KAB_EMBEDDED |