#include "qtuiapplication.h"
-#include <QIcon>
#include <QDir>
+#include <QFile>
#include <QStringList>
#ifdef HAVE_KDE4
bool QtUiApplication::init()
{
if (Quassel::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_OS_MAC
- QSettings newSettings("quassel-irc.org", "quasselclient");
-#else
-
-# ifdef Q_OS_WIN
- QSettings::Format format = QSettings::IniFormat;
-# else
- QSettings::Format format = QSettings::NativeFormat;
-# endif
-
- QString newFilePath = Quassel::configDirPath() + "quasselclient"
- + ((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 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
-
// Settings upgrade/downgrade handling
if (!migrateSettings()) {
qCritical() << "Could not load or upgrade client settings, terminating!";
return false;
}
- // Checking if settings Icon Theme is valid
- QString savedIcontheme = QtUiSettings().value("IconTheme", QVariant("")).toString();
-#ifndef WITH_OXYGEN
- if (savedIcontheme == "oxygen")
- QtUiSettings().remove("IconTheme");
-#endif
-#ifndef WITH_BREEZE
- if (savedIcontheme == "breeze")
- QtUiSettings().remove("IconTheme");
-#endif
-#ifndef WITH_BREEZE_DARK
- if (savedIcontheme == "breezedark")
- QtUiSettings().remove("IconTheme");
-#endif
-
- // Set the icon theme
- if (Quassel::isOptionSet("icontheme"))
- QIcon::setThemeName(Quassel::optionValue("icontheme"));
- else if (QtUiSettings().value("IconTheme", QVariant("")).toString() != "")
- QIcon::setThemeName(QtUiSettings().value("IconTheme").toString());
- else if (QIcon::themeName().isEmpty())
- // Some platforms don't set a default icon theme; chances are we can find our bundled theme though
- QIcon::setThemeName("breeze");
-
Client::init(new QtUi());
// Init UI only after the event loop has started
QtUi::mainWindow()->quit();
});
-
return true;
}
return false;