/***************************************************************************
- * Copyright (C) 2005-09 by the Quassel Project *
+ * Copyright (C) 2005-2010 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
#include "client.h"
#include "cliparser.h"
+#include "mainwin.h"
#include "qtui.h"
#include "qtuisettings.h"
-#include "sessionsettings.h"
QtUiApplication::QtUiApplication(int &argc, char **argv)
#ifdef HAVE_KDE
#endif /* HAVE_KDE */
+#if defined(HAVE_KDE) || defined(Q_OS_MAC)
+ disableCrashhandler();
+#endif /* HAVE_KDE || Q_OS_MAC */
setRunMode(Quassel::ClientOnly);
qInstallMsgHandler(Client::logMessage);
#endif /* Q_WS_MAC */
if(newSettings.value("Config/Version").toUInt() == 0) {
- qWarning() << "\n\n*** IMPORTANT: Config and data file locations have changed. Attempting to auto-migrate your client settings...";
# ifdef Q_WS_MAC
QString org = "quassel-irc.org";
# else
# endif
QSettings oldSettings(org, "Quassel Client");
if(oldSettings.allKeys().count()) {
+ qWarning() << "\n\n*** IMPORTANT: Config and data file locations have changed. Attempting to auto-migrate your client settings...";
foreach(QString key, oldSettings.allKeys())
newSettings.setValue(key, oldSettings.value(key));
newSettings.setValue("Config/Version", 1);
- qWarning() << "* Your client settings have been migrated to" << newFilePath;
+ qWarning() << "* Your client settings have been migrated to" << newSettings.fileName();
+ qWarning() << "*** Migration completed.\n\n";
}
- qWarning() << "*** Migration completed.\n\n";
}
// MIGRATION end
Client::destroy();
}
+void QtUiApplication::quit() {
+ QtUi::mainWindow()->quit();
+}
+
void QtUiApplication::commitData(QSessionManager &manager) {
Q_UNUSED(manager)
_aboutToQuit = true;
void QtUiApplication::saveState(QSessionManager & manager) {
//qDebug() << QString("saving session state to id %1").arg(manager.sessionId());
- AccountId activeCore = Client::currentCoreAccount();
+ AccountId activeCore = Client::currentCoreAccount().accountId(); // FIXME store this!
SessionSettings s(manager.sessionId());
s.setSessionAge(0);
- emit saveStateToSession(manager.sessionId());
- emit saveStateToSessionSettings(s);
+ QtUi::mainWindow()->saveStateToSettings(s);
}
void QtUiApplication::resumeSessionIfPossible() {
SessionSettings s(sessionId());
s.sessionAging();
s.setSessionAge(0);
- emit resumeFromSession(sessionId());
- emit resumeFromSessionSettings(s);
+ QtUi::mainWindow()->restoreStateFromSettings(s);
s.cleanup();
} else {
SessionSettings s(QString("1"));