-QtUiApplication::QtUiApplication(int &argc, char **argv) : QApplication(argc, argv), Quassel() {
- Q_INIT_RESOURCE(pics);
-# ifdef QUASSEL_ICONS_BUILTIN
- Q_INIT_RESOURCE(hicolor);
-# endif
-# ifdef OXYGEN_ICONS_BUILTIN
- Q_INIT_RESOURCE(oxygen);
+QtUiApplication::QtUiApplication(int &argc, char **argv)
+#ifdef HAVE_KDE
+ : KApplication(),
+#else
+ : QApplication(argc, argv),
+#endif
+ Quassel(),
+ _aboutToQuit(false)
+{
+#ifdef HAVE_KDE
+ Q_UNUSED(argc); Q_UNUSED(argv);
+
+ // We need to setup KDE's data dirs
+ QStringList dataDirs = KGlobal::dirs()->findDirs("data", "");
+ for (int i = 0; i < dataDirs.count(); i++)
+ dataDirs[i].append("quassel/");
+ dataDirs.append(":/data/");
+ setDataDirPaths(dataDirs);
+
+#else /* HAVE_KDE */
+
+ setDataDirPaths(findDataDirPaths());
+
+#endif /* HAVE_KDE */
+
+#if defined(HAVE_KDE) || defined(Q_OS_MAC)
+ disableCrashhandler();
+#endif /* HAVE_KDE || Q_OS_MAC */
+ setRunMode(Quassel::ClientOnly);
+
+ qInstallMsgHandler(Client::logMessage);
+}
+
+
+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_WS_MAC
+ QSettings newSettings("quassel-irc.org", "quasselclient");
+#else
+
+# ifdef Q_WS_WIN
+ QSettings::Format format = QSettings::IniFormat;
+# else
+ QSettings::Format format = QSettings::NativeFormat;