X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fqtuiapplication.cpp;h=b6f9ca314ad13e32c14dec48edc3c47a6e1d548d;hp=5060c2a8ca1134af1fccabe19d469df832d79496;hb=f824db0e31b54969e0b7fa0b5405b1e9173d482c;hpb=130fde74cee428ec2e3285db89c4348c3091b2aa diff --git a/src/qtui/qtuiapplication.cpp b/src/qtui/qtuiapplication.cpp index 5060c2a8..b6f9ca31 100644 --- a/src/qtui/qtuiapplication.cpp +++ b/src/qtui/qtuiapplication.cpp @@ -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 * @@ -18,14 +18,63 @@ * 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" + + +// void myMessageOutput(QtMsgType type, const char *msg) { +// Client::debugLog() << "Debug:" << msg << '\n'; +// return; +// // switch (type) { +// // case QtDebugMsg: +// // break; +// // case QtWarningMsg: +// // fprintf(stderr, "Warning: %s\n", msg); +// // break; +// // case QtCriticalMsg: +// // fprintf(stderr, "Critical: %s\n", msg); +// // break; +// // case QtFatalMsg: +// // fprintf(stderr, "Fatal: %s\n", msg); +// // abort(); +// // } +// } + +QtUiApplication::QtUiApplication(int &argc, char **argv) +#ifdef HAVE_KDE + : KApplication(), Quassel() { + Q_UNUSED(argc); Q_UNUSED(argv); +#else + : QApplication(argc, argv), Quassel() { +#endif -QtUiApplication::QtUiApplication(int &argc, char **argv) : QApplication(argc, argv) { + setRunMode(Quassel::ClientOnly); + qInstallMsgHandler(Client::logMessage); +} + +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(); + return true; + } + return false; +} + +QtUiApplication::~QtUiApplication() { + Client::destroy(); } void QtUiApplication::saveState(QSessionManager & manager) { @@ -37,9 +86,6 @@ void QtUiApplication::saveState(QSessionManager & manager) { emit saveStateToSessionSettings(s); } -QtUiApplication::~ QtUiApplication() { -} - void QtUiApplication::resumeSessionIfPossible() { // load all sessions if(isSessionRestored()) { @@ -57,3 +103,4 @@ void QtUiApplication::resumeSessionIfPossible() { } } +