X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fqtuiapplication.cpp;h=6ae09c94429b38c421cc1b24d22f26de11000210;hb=6d55e659fa87565462d7f3e92da594fdcf9708a2;hp=5060c2a8ca1134af1fccabe19d469df832d79496;hpb=130fde74cee428ec2e3285db89c4348c3091b2aa;p=quassel.git diff --git a/src/qtui/qtuiapplication.cpp b/src/qtui/qtuiapplication.cpp index 5060c2a8..6ae09c94 100644 --- a/src/qtui/qtuiapplication.cpp +++ b/src/qtui/qtuiapplication.cpp @@ -18,14 +18,41 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ +#include "qtuiapplication.h" + #include -#include "qtuiapplication.h" -#include "sessionsettings.h" #include "client.h" +#include "cliparser.h" +#include "qtui.h" +#include "sessionsettings.h" + +QtUiApplication::QtUiApplication(int &argc, char **argv) : QApplication(argc, argv), Quassel() { + 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"); +} + +bool QtUiApplication::init() { + if(Quassel::init()) { + // session resume + QtUi *gui = new QtUi(); + Client::init(gui); + // init gui only after the event loop has started + // QTimer::singleShot(0, gui, SLOT(init())); + gui->init(); + resumeSessionIfPossible(); -QtUiApplication::QtUiApplication(int &argc, char **argv) : QApplication(argc, argv) { + return true; + } + return false; +} +QtUiApplication::~QtUiApplication() { + Client::destroy(); } void QtUiApplication::saveState(QSessionManager & manager) { @@ -37,9 +64,6 @@ void QtUiApplication::saveState(QSessionManager & manager) { emit saveStateToSessionSettings(s); } -QtUiApplication::~ QtUiApplication() { -} - void QtUiApplication::resumeSessionIfPossible() { // load all sessions if(isSessionRestored()) { @@ -56,4 +80,3 @@ void QtUiApplication::resumeSessionIfPossible() { s.cleanup(); } } -