X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Fquassel.cpp;h=4be4db16daf50ec876434d168853fcf310153c7c;hb=ab16c77fe03b73a863d9b52b11919bcbac903f58;hp=e74d60590318bc06652ff2c8e28fd66fc925fe9e;hpb=64d5732f4e6ce84dd73dfb1a72c1fbb568a3fe0a;p=quassel.git diff --git a/src/common/quassel.cpp b/src/common/quassel.cpp index e74d6059..4be4db16 100644 --- a/src/common/quassel.cpp +++ b/src/common/quassel.cpp @@ -20,6 +20,7 @@ #include "quassel.h" +#include #include #include @@ -84,6 +85,11 @@ bool Quassel::init() { return false; } + if(isOptionSet("version")) { + std::cout << qPrintable("Quassel IRC: " + Quassel::buildInfo().plainVersionString) << std::endl; + return false; + } + DEBUG = isOptionSet("debug"); return true; } @@ -336,10 +342,17 @@ QString Quassel::findDataFilePath(const QString &fileName) { return QString(); } -void Quassel::loadTranslation(const QLocale &locale) { +QStringList Quassel::scriptDirPaths() { + QStringList res(configDirPath() + "scripts/"); + foreach(QString path, dataDirPaths()) + res << path + "scripts/"; + return res; +} + +QString Quassel::translationDirPath() { if(_translationDirPath.isEmpty()) { // We support only one translation dir; fallback mechanisms wouldn't work else. - // This means that if we have a $data/i18n dir, the internal :/i18n resource won't be considered. + // This means that if we have a $data/translations dir, the internal :/i18n resource won't be considered. foreach(const QString &dir, dataDirPaths()) { if(QFile::exists(dir + "translations/")) { _translationDirPath = dir + "translations/"; @@ -349,7 +362,10 @@ void Quassel::loadTranslation(const QLocale &locale) { if(_translationDirPath.isEmpty()) _translationDirPath = ":/i18n/"; } + return _translationDirPath; +} +void Quassel::loadTranslation(const QLocale &locale) { QTranslator *qtTranslator = QCoreApplication::instance()->findChild("QtTr"); QTranslator *quasselTranslator = QCoreApplication::instance()->findChild("QuasselTr"); @@ -369,8 +385,8 @@ void Quassel::loadTranslation(const QLocale &locale) { if(locale.language() == QLocale::C) return; - bool success = qtTranslator->load(QString("qt_%1").arg(locale.name()), _translationDirPath); + bool success = qtTranslator->load(QString("qt_%1").arg(locale.name()), translationDirPath()); if(!success) qtTranslator->load(QString("qt_%1").arg(locale.name()), QLibraryInfo::location(QLibraryInfo::TranslationsPath)); - quasselTranslator->load(QString("quassel_%1").arg(locale.name()), _translationDirPath); + quasselTranslator->load(QString("quassel_%1").arg(locale.name()), translationDirPath()); }