mirror of
https://github.com/arcan1s/qtadds-language.git
synced 2025-04-24 23:47:19 +00:00
small update
This commit is contained in:
parent
a119b60ed1
commit
9c91de453c
29
language.cpp
29
language.cpp
@ -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];
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user