- 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" << newSettings.fileName();
- qWarning() << "*** Migration completed.\n\n";
- }
+ 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" << newSettings.fileName();
+ qWarning() << "*** Migration completed.\n\n";
+ }
+ }
+
+ // 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);
+ // init gui only after the event loop has started
+ // QTimer::singleShot(0, gui, SLOT(init()));
+ gui->init();
+ resumeSessionIfPossible();
+ return true;