X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fqtuiapplication.cpp;h=de9844f291e5b3006b839e31bcad03a77bb92980;hp=49eeceeb45bbfcc438a31fba476902925083f50f;hb=5080325e7f8c5cf95bbcddf0e2e0cfd2233a5795;hpb=6053070613c26ad5744d2a3e84ac5ee305a5a8d6 diff --git a/src/qtui/qtuiapplication.cpp b/src/qtui/qtuiapplication.cpp index 49eeceeb..de9844f2 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) @@ -64,20 +65,24 @@ QtUiApplication::QtUiApplication(int &argc, char **argv) bool QtUiApplication::init() { if(Quassel::init()) { -#ifndef Q_WS_MAC // 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) { - qWarning() << "\n\n*** IMPORTANT: Config and data file locations have changed. Attempting to auto-migrate your client settings..."; + if(newSettings.value("Config/Version").toUInt() == 0) { # ifdef Q_WS_MAC QString org = "quassel-irc.org"; # else @@ -85,16 +90,25 @@ bool QtUiApplication::init() { # 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"; } -#endif /* !Q_WS_MAC */ + // 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);