small update

This commit is contained in:
arcan1s 2015-03-09 04:23:55 +03:00
parent a119b60ed1
commit 9c91de453c

View File

@ -20,6 +20,7 @@
#include <QFile> #include <QFile>
#include <QLocale> #include <QLocale>
#include <QSettings>
#include "config.h" #include "config.h"
@ -32,7 +33,7 @@ Language::Language()
QString Language::checkLanguage(const QString language) QString Language::checkLanguage(const QString language)
{ {
QStringList availableLanguages = getAvailableLanguages(); QStringList availableLanguages = getAvailableLanguages();
if (availableLanguages.count() == 0) return QString(); if (availableLanguages.count() == 0) return QString("");
for (int i=0; i<availableLanguages.count(); i++) for (int i=0; i<availableLanguages.count(); i++)
if (language == availableLanguages[i]) if (language == availableLanguages[i])
return availableLanguages[i]; return availableLanguages[i];
@ -63,28 +64,9 @@ QString Language::defineLanguage(const QString configPath, const QString options
QString Language::defineLanguageFromFile(const QString configPath) QString Language::defineLanguageFromFile(const QString configPath)
{ {
QMap<QString, QString> settings; QSettings settings(configPath, QSettings::IniFormat);
if (configPath.isEmpty())
return QString("");
QFile configFile(configPath);
QString fileStr;
if (!configFile.open(QIODevice::ReadOnly))
return QString("");
while (true) {
fileStr = QString(configFile.readLine()).trimmed();
if ((fileStr.isEmpty()) && (!configFile.atEnd())) continue;
if ((fileStr[0] == QChar('#')) && (!configFile.atEnd())) continue;
if ((fileStr[0] == QChar(';')) && (!configFile.atEnd())) continue;
if (fileStr.contains(QChar('=')))
settings[fileStr.split(QChar('='))[0]] = fileStr.split(QChar('='))[1];
if (configFile.atEnd()) break;
}
configFile.close();
if (settings.contains(QString(LANGUAGE_KEY))) return settings.value(QString(LANGUAGE_KEY), QString()).toString();
return settings[QString(LANGUAGE_KEY)];
else
return QString("");
} }
@ -104,8 +86,7 @@ QMap<QString, QString> Language::parseOptions(const QString options)
{ {
QMap<QString, QString> optionsDict; QMap<QString, QString> optionsDict;
for (int i=0; i<options.split(QChar(',')).count(); i++) { for (int i=0; i<options.split(QChar(',')).count(); i++) {
if (options.split(QChar(','))[i].split(QChar('=')).count() < 2) if (options.split(QChar(','))[i].split(QChar('=')).count() < 2) continue;
continue;
optionsDict[options.split(QChar(','))[i].split(QChar('='))[0]] = optionsDict[options.split(QChar(','))[i].split(QChar('='))[0]] =
options.split(QChar(','))[i].split(QChar('='))[1]; options.split(QChar(','))[i].split(QChar('='))[1];
} }