-#ifdef HAVE_UMASK
- umask(S_IRWXG | S_IRWXO);
-#endif
- _startTime = QDateTime::currentDateTime().toUTC(); // for uptime :)
-
- Quassel::loadTranslation(QLocale::system());
-
- // 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_OS_MAC
- QSettings newSettings("quassel-irc.org", "quasselcore");
-#else
-
-# ifdef Q_OS_WIN
- QSettings::Format format = QSettings::IniFormat;
-# else
- QSettings::Format format = QSettings::NativeFormat;
-# endif
- QString newFilePath = Quassel::configDirPath() + "quasselcore"
- + ((format == QSettings::NativeFormat) ? QLatin1String(".conf") : QLatin1String(".ini"));
- QSettings newSettings(newFilePath, format);
-#endif /* Q_OS_MAC */
-
- if (newSettings.value("Config/Version").toUInt() == 0) {
-# ifdef Q_OS_MAC
- QString org = "quassel-irc.org";
-# else
- QString org = "Quassel Project";
-# endif
- QSettings oldSettings(org, "Quassel Core");
- if (oldSettings.allKeys().count()) {
- qWarning() << "\n\n*** IMPORTANT: Config and data file locations have changed. Attempting to auto-migrate your core settings...";
- foreach(QString key, oldSettings.allKeys())
- newSettings.setValue(key, oldSettings.value(key));
- newSettings.setValue("Config/Version", 1);
- qWarning() << "* Your core settings have been migrated to" << newSettings.fileName();
-
-#ifndef Q_OS_MAC /* we don't need to move the db and cert for mac */
-#ifdef Q_OS_WIN
- QString quasselDir = qgetenv("APPDATA") + "/quassel/";
-#elif defined Q_OS_MAC
- QString quasselDir = QDir::homePath() + "/Library/Application Support/Quassel/";
-#else
- QString quasselDir = QDir::homePath() + "/.quassel/";
-#endif
-
- QFileInfo info(Quassel::configDirPath() + "quassel-storage.sqlite");
- if (!info.exists()) {
- // move database, if we found it
- QFile oldDb(quasselDir + "quassel-storage.sqlite");
- if (oldDb.exists()) {
- bool success = oldDb.rename(Quassel::configDirPath() + "quassel-storage.sqlite");
- if (success)
- qWarning() << "* Your database has been moved to" << Quassel::configDirPath() + "quassel-storage.sqlite";
- else
- qWarning() << "!!! Moving your database has failed. Please move it manually into" << Quassel::configDirPath();
- }
- }
- // move certificate
- QFileInfo certInfo(quasselDir + "quasselCert.pem");
- if (certInfo.exists()) {
- QFile cert(quasselDir + "quasselCert.pem");
- bool success = cert.rename(Quassel::configDirPath() + "quasselCert.pem");
- if (success)
- qWarning() << "* Your certificate has been moved to" << Quassel::configDirPath() + "quasselCert.pem";
- else
- qWarning() << "!!! Moving your certificate has failed. Please move it manually into" << Quassel::configDirPath();
- }
-#endif /* !Q_OS_MAC */
- qWarning() << "*** Migration completed.\n\n";
- }
- }
- // MIGRATION end