aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorin1tiate <32779090+in1tiate@users.noreply.github.com>2021-04-23 02:18:56 -0500
committerGitHub <noreply@github.com>2021-04-23 02:18:56 -0500
commit66f2369af2c4e15ef3eb605f2eefcbc10b576455 (patch)
treea2fac1555d37dc2af7e879ab1a565485dc12a173 /src
parent93c8befeceae051778fce16fc5c1bfef94cb5562 (diff)
Fix Cyrillic characters not being read correctly from QSettings inis (#535)
* set ini codecs to utf8 * fix color config reading in Latin1 rather than Utf8
Diffstat (limited to 'src')
-rw-r--r--src/path_functions.cpp1
-rw-r--r--src/text_file_functions.cpp7
2 files changed, 6 insertions, 2 deletions
diff --git a/src/path_functions.cpp b/src/path_functions.cpp
index 79851c11..dbf1cc40 100644
--- a/src/path_functions.cpp
+++ b/src/path_functions.cpp
@@ -173,6 +173,7 @@ QString AOApplication::get_config_value(QString p_identifier, QString p_config,
p = get_case_sensitive_path(p);
if (file_exists(p)) {
QSettings settings(p, QSettings::IniFormat);
+ settings.setIniCodec("UTF-8");
QVariant value = settings.value(p_identifier);
if (value.type() == QVariant::StringList) {
// qDebug() << "got" << p << "is a string list, returning" << value.toStringList().join(",");
diff --git a/src/text_file_functions.cpp b/src/text_file_functions.cpp
index a671d618..af4c232c 100644
--- a/src/text_file_functions.cpp
+++ b/src/text_file_functions.cpp
@@ -277,6 +277,7 @@ QString AOApplication::read_design_ini(QString p_identifier,
QString p_design_path)
{
QSettings settings(p_design_path, QSettings::IniFormat);
+ settings.setIniCodec("UTF-8");
QVariant value = settings.value(p_identifier);
if (value.type() == QVariant::StringList) {
return value.toStringList().join(",");
@@ -435,7 +436,7 @@ QString AOApplication::get_chat_markup(QString p_identifier, QString p_chat)
// New Chadly method
QString value = get_config_value(p_identifier, "chat_config.ini", current_theme, get_subtheme(), default_theme, p_chat);
if (!value.isEmpty())
- return value.toLatin1();
+ return value.toUtf8();
// Backwards ass compatibility
QStringList backwards_paths{get_theme_path("misc/" + p_chat + "/config.ini"),
@@ -446,7 +447,7 @@ QString AOApplication::get_chat_markup(QString p_identifier, QString p_chat)
for (const QString &p : backwards_paths) {
QString value = read_design_ini(p_identifier, p);
if (!value.isEmpty()) {
- return value.toLatin1();
+ return value.toUtf8();
}
}
@@ -521,6 +522,7 @@ QString AOApplication::read_char_ini(QString p_char, QString p_search_line,
QSettings settings(get_character_path(p_char, "char.ini"),
QSettings::IniFormat);
settings.beginGroup(target_tag);
+ settings.setIniCodec("UTF-8");
QString value = settings.value(p_search_line).value<QString>();
settings.endGroup();
return value;
@@ -541,6 +543,7 @@ QStringList AOApplication::read_ini_tags(QString p_path, QString target_tag)
{
QStringList r_values;
QSettings settings(p_path, QSettings::IniFormat);
+ settings.setIniCodec("UTF-8");
if (!target_tag.isEmpty())
settings.beginGroup(target_tag);
QStringList keys = settings.allKeys();