This could / should / I just wish it does / who the hell knows / whatever / <insert...
[quassel.git] / src / qtui / qtuiapplication.cpp
index 6ae09c9..33829e8 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-08 by the Quassel IRC Team                         *
+ *   Copyright (C) 2005-09 by the Quassel Project                          *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
 #include "qtui.h"
 #include "sessionsettings.h"
 
-QtUiApplication::QtUiApplication(int &argc, char **argv) : QApplication(argc, argv), Quassel() {
+QtUiApplication::QtUiApplication(int &argc, char **argv)
+#ifdef HAVE_KDE
+  : KApplication(),
+#else
+  : QApplication(argc, argv),
+#endif
+    Quassel(),
+    _aboutToQuit(false)
+{
+#ifdef HAVE_KDE
+  Q_UNUSED(argc)
+  Q_UNUSED(argv)
+#endif
+
   setRunMode(Quassel::ClientOnly);
 
-  // put client-only arguments here
-  CliParser *parser = Quassel::cliParser();
-  parser->addSwitch("debugbufferswitches",0,"Enables debugging for bufferswitches");
-  parser->addSwitch("debugmodel",0,"Enables debugging for models");
+  qInstallMsgHandler(Client::logMessage);
 }
 
 bool QtUiApplication::init() {
@@ -45,7 +55,6 @@ bool QtUiApplication::init() {
     // QTimer::singleShot(0, gui, SLOT(init()));
     gui->init();
     resumeSessionIfPossible();
-
     return true;
   }
   return false;
@@ -55,6 +64,10 @@ QtUiApplication::~QtUiApplication() {
   Client::destroy();
 }
 
+void QtUiApplication::commitData(QSessionManager &manager) {
+  _aboutToQuit = true;
+}
+
 void QtUiApplication::saveState(QSessionManager & manager) {
   //qDebug() << QString("saving session state to id %1").arg(manager.sessionId());
   AccountId activeCore = Client::currentCoreAccount();
@@ -80,3 +93,5 @@ void QtUiApplication::resumeSessionIfPossible() {
     s.cleanup();
   }
 }
+
+