aboutsummaryrefslogtreecommitdiff
path: root/src/text_file_functions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/text_file_functions.cpp')
-rw-r--r--src/text_file_functions.cpp71
1 files changed, 37 insertions, 34 deletions
diff --git a/src/text_file_functions.cpp b/src/text_file_functions.cpp
index 1d36689..fbe8279 100644
--- a/src/text_file_functions.cpp
+++ b/src/text_file_functions.cpp
@@ -130,6 +130,11 @@ QStringList AOApplication::get_call_words()
return get_list_file(get_base_path() + "callwords.ini");
}
+QStringList AOApplication::get_list_file(VPath path)
+{
+ return get_list_file(get_real_path(path));
+}
+
QStringList AOApplication::get_list_file(QString p_file)
{
QStringList return_value;
@@ -280,6 +285,12 @@ QVector<server_type> AOApplication::read_serverlist_txt()
}
QString AOApplication::read_design_ini(QString p_identifier,
+ VPath p_design_path)
+{
+ return read_design_ini(p_identifier, get_real_path(p_design_path));
+}
+
+QString AOApplication::read_design_ini(QString p_identifier,
QString p_design_path)
{
QSettings settings(p_design_path, QSettings::IniFormat);
@@ -448,12 +459,14 @@ QString AOApplication::get_chat_markup(QString p_identifier, QString p_chat)
return value.toUtf8();
// Backwards ass compatibility
- QStringList backwards_paths{get_theme_path("misc/" + p_chat + "/config.ini"),
- get_base_path() + "misc/" + p_chat +
- "/config.ini",
- get_theme_path("misc/default/config.ini"),
- get_base_path() + "misc/default/config.ini"};
- for (const QString &p : backwards_paths) {
+ QVector<VPath> backwards_paths {
+ get_theme_path("misc/" + p_chat + "/config.ini"),
+ VPath("misc/" + p_chat + "/config.ini"),
+ get_theme_path("misc/default/config.ini"),
+ VPath("misc/default/config.ini")
+ };
+
+ for (const VPath &p : backwards_paths) {
QString value = read_design_ini(p_identifier, p);
if (!value.isEmpty()) {
return value.toUtf8();
@@ -490,36 +503,21 @@ QString AOApplication::get_court_sfx(QString p_identifier, QString p_misc)
return "";
}
-QString AOApplication::get_sfx_suffix(QString sound_to_check)
+QString AOApplication::get_sfx_suffix(VPath sound_to_check)
{
- if (file_exists(sound_to_check))
- return sound_to_check;
- if (file_exists(sound_to_check + ".opus"))
- return sound_to_check + ".opus";
- if (file_exists(sound_to_check + ".ogg"))
- return sound_to_check + ".ogg";
- if (file_exists(sound_to_check + ".mp3"))
- return sound_to_check + ".mp3";
- if (file_exists(sound_to_check + ".mp4"))
- return sound_to_check + ".mp4";
- return sound_to_check + ".wav";
+ return get_real_suffixed_path(sound_to_check,
+ { "", ".opus", ".ogg", ".mp3", ".wav" });
}
-QString AOApplication::get_image_suffix(QString path_to_check, bool static_image)
+QString AOApplication::get_image_suffix(VPath path_to_check, bool static_image)
{
- if (file_exists(path_to_check))
- return path_to_check;
- // A better method would to actually use AOImageReader and see if these images have more than 1 frame.
- // However, that might not be performant.
+ QStringList suffixes { "" };
if (!static_image) {
- if (file_exists(path_to_check + ".webp"))
- return path_to_check + ".webp";
- if (file_exists(path_to_check + ".apng"))
- return path_to_check + ".apng";
- if (file_exists(path_to_check + ".gif"))
- return path_to_check + ".gif";
+ suffixes.append({ ".webp", ".apng", ".gif" });
}
- return path_to_check + ".png";
+ suffixes.append(".png");
+
+ return get_real_suffixed_path(path_to_check, suffixes);
}
// returns whatever is to the right of "search_line =" within target_tag and
@@ -528,7 +526,7 @@ QString AOApplication::get_image_suffix(QString path_to_check, bool static_image
QString AOApplication::read_char_ini(QString p_char, QString p_search_line,
QString target_tag)
{
- QSettings settings(get_character_path(p_char, "char.ini"),
+ QSettings settings(get_real_path(get_character_path(p_char, "char.ini")),
QSettings::IniFormat);
settings.beginGroup(target_tag);
settings.setIniCodec("UTF-8");
@@ -540,7 +538,7 @@ QString AOApplication::read_char_ini(QString p_char, QString p_search_line,
void AOApplication::set_char_ini(QString p_char, QString value,
QString p_search_line, QString target_tag)
{
- QSettings settings(get_character_path(p_char, "char.ini"),
+ QSettings settings(get_real_path(get_character_path(p_char, "char.ini")),
QSettings::IniFormat);
settings.beginGroup(target_tag);
settings.setValue(p_search_line, value);
@@ -548,10 +546,10 @@ void AOApplication::set_char_ini(QString p_char, QString value,
}
// returns all the values of target_tag
-QStringList AOApplication::read_ini_tags(QString p_path, QString target_tag)
+QStringList AOApplication::read_ini_tags(VPath p_path, QString target_tag)
{
QStringList r_values;
- QSettings settings(p_path, QSettings::IniFormat);
+ QSettings settings(get_real_path(p_path), QSettings::IniFormat);
settings.setIniCodec("UTF-8");
if (!target_tag.isEmpty())
settings.beginGroup(target_tag);
@@ -1095,3 +1093,8 @@ QString AOApplication::get_default_scaling()
{
return configini->value("default_scaling", "fast").value<QString>();
}
+
+QStringList AOApplication::get_mount_paths()
+{
+ return configini->value("mount_paths").value<QStringList>();
+}