}
-bool Quassel::init()
+void Quassel::init(RunMode runMode)
{
- if (instance()->_initialized)
- return true; // allow multiple invocations because of MonolithicApplication
+ _runMode = runMode;
qsrand(QTime(0, 0, 0).secsTo(QTime::currentTime()));
- instance()->setupSignalHandling();
- instance()->setupEnvironment();
- instance()->registerMetaTypes();
-
- instance()->_initialized = true;
+ setupSignalHandling();
+ setupEnvironment();
+ registerMetaTypes();
Network::setDefaultCodecForServer("UTF-8");
Network::setDefaultCodecForEncoding("UTF-8");
if (isOptionSet("help")) {
instance()->_cliParser->usage();
- return false;
+ return;
}
if (isOptionSet("version")) {
std::cout << qPrintable("Quassel IRC: " + Quassel::buildInfo().plainVersionString) << std::endl;
- return false;
+ return;
}
// Don't keep a debug log on the core
- return instance()->logger()->setup(runMode() != RunMode::CoreOnly);
+ logger()->setup(runMode != RunMode::CoreOnly);
}
}
-void Quassel::setRunMode(RunMode runMode)
-{
- instance()->_runMode = runMode;
-}
-
-
void Quassel::setCliParser(std::shared_ptr<AbstractCliParser> parser)
{
instance()->_cliParser = std::move(parser);
}
-void Quassel::setDataDirPaths(const QStringList &paths) {
- instance()->_dataDirPaths = paths;
-}
-
-
QStringList Quassel::dataDirPaths()
{
- return instance()->_dataDirPaths;
-}
-
+ if (!instance()->_dataDirPaths.isEmpty())
+ return instance()->_dataDirPaths;
-QStringList Quassel::findDataDirPaths()
-{
- // TODO Qt5
- // We don't use QStandardPaths for now, as we still need to provide fallbacks for Qt4 and
- // want to stay consistent.
+ // TODO: Migrate to QStandardPaths (will require moving of the sqlite database,
+ // or a fallback for it being in the config dir)
QStringList dataDirNames;
#ifdef Q_OS_WIN
dataDirNames.removeDuplicates();
+ instance()->_dataDirPaths = dataDirNames;
return dataDirNames;
}
quasselTranslator->setObjectName("QuasselTr");
qApp->installTranslator(quasselTranslator);
-#if QT_VERSION >= 0x040800 && !defined Q_OS_MAC
+#ifndef Q_OS_MAC
bool success = qtTranslator->load(locale, QString("qt_"), translationDirPath());
if (!success)
qtTranslator->load(locale, QString("qt_"), QLibraryInfo::location(QLibraryInfo::TranslationsPath));