X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fqtuiapplication.cpp;h=8acead9ad49a140d2d88590276b05e25bd560398;hp=9a99d9bbfac8cd63aea7e8f34cd6098c4e0847a0;hb=015de4656bebd990317b82d8cc993fdc63709f01;hpb=16f8531e383eade0a75a3b74ea11b909b8b1e049 diff --git a/src/qtui/qtuiapplication.cpp b/src/qtui/qtuiapplication.cpp index 9a99d9bb..8acead9a 100644 --- a/src/qtui/qtuiapplication.cpp +++ b/src/qtui/qtuiapplication.cpp @@ -29,6 +29,7 @@ #include "client.h" #include "cliparser.h" #include "qtui.h" +#include "qtuisettings.h" #include "sessionsettings.h" QtUiApplication::QtUiApplication(int &argc, char **argv) @@ -66,16 +67,22 @@ bool QtUiApplication::init() { // FIXME: MIGRATION 0.3 -> 0.4: Move database and core config to new location // Move settings, note this does not delete the old files -#ifdef Q_WS_WIN - QSettings::Format format = QSettings::IniFormat; +#ifdef Q_WS_MAC + QSettings newSettings("quassel-irc.org", "quasselclient"); #else + +# ifdef Q_WS_WIN + QSettings::Format format = QSettings::IniFormat; +# else QSettings::Format format = QSettings::NativeFormat; -#endif +# endif + QString newFilePath = Quassel::configDirPath() + "quasselclient" + ((format == QSettings::NativeFormat) ? QLatin1String(".conf") : QLatin1String(".ini")); QSettings newSettings(newFilePath, format); +#endif /* Q_WS_MAC */ - if(newSettings.value("Config/Version").toUInt() != 1) { + 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"; @@ -94,6 +101,14 @@ bool QtUiApplication::init() { // MIGRATION end + // check settings version + // so far, we only have 1 + QtUiSettings s; + if(s.version() != 1) { + qCritical() << "Invalid client settings version, terminating!"; + return false; + } + // session resume QtUi *gui = new QtUi(); Client::init(gui); @@ -111,6 +126,7 @@ QtUiApplication::~QtUiApplication() { } void QtUiApplication::commitData(QSessionManager &manager) { + Q_UNUSED(manager) _aboutToQuit = true; }