/***************************************************************************
- * 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 <QStringList>
+#ifdef HAVE_KDE
+# include <KStandardDirs>
+#endif
+
#include "client.h"
#include "cliparser.h"
#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);
+
+ // We need to setup KDE's data dirs
+ QStringList dataDirs = KGlobal::dirs()->findDirs("data", "");
+ for(int i = 0; i < dataDirs.count(); i++)
+ dataDirs[i].append("quassel/");
+ dataDirs.append(":/data/");
+ setDataDirPaths(dataDirs);
+
+#else /* HAVE_KDE */
+
+ setDataDirPaths(findDataDirPaths());
+
+#endif /* HAVE_KDE */
+
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() {
// QTimer::singleShot(0, gui, SLOT(init()));
gui->init();
resumeSessionIfPossible();
-
return true;
}
return false;
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();
s.cleanup();
}
}
+
+