X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fqtuiapplication.cpp;h=90e2739d5dd35a2e62ea1ca2721801f03630c516;hp=5060c2a8ca1134af1fccabe19d469df832d79496;hb=ef91ece316298bfd7e484ede233822457a61db41;hpb=130fde74cee428ec2e3285db89c4348c3091b2aa diff --git a/src/qtui/qtuiapplication.cpp b/src/qtui/qtuiapplication.cpp index 5060c2a8..90e2739d 100644 --- a/src/qtui/qtuiapplication.cpp +++ b/src/qtui/qtuiapplication.cpp @@ -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) + : QApplication(argc, argv), Quassel() +{ + setRunMode(Quassel::ClientOnly); -QtUiApplication::QtUiApplication(int &argc, char **argv) : QApplication(argc, argv) { + // 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() { + 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() { } } +