summaryrefslogtreecommitdiffabout
path: root/kaddressbook/kaddressbookmain.cpp
authorulf69 <ulf69>2004-09-02 23:07:29 (UTC)
committer ulf69 <ulf69>2004-09-02 23:07:29 (UTC)
commita2d8fcc8f1fcd64c01e41cb8ba31ae17a5ea5a8b (patch) (side-by-side diff)
tree80ecec37a7aa38ece91ac77409bf9f504e8e009e /kaddressbook/kaddressbookmain.cpp
parent436f0b8e6b73d7c3db1ac17da5ff245e6b12a18c (diff)
downloadkdepimpi-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) (ignore whitespace changes)
-rw-r--r--kaddressbook/kaddressbookmain.cpp86
1 files changed, 25 insertions, 61 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 )
{
- 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