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.cpp78
1 files changed, 46 insertions, 32 deletions
diff --git a/src/text_file_functions.cpp b/src/text_file_functions.cpp
index f6a5d6ce..c92287fb 100644
--- a/src/text_file_functions.cpp
+++ b/src/text_file_functions.cpp
@@ -124,6 +124,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;
@@ -276,6 +281,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);
@@ -440,12 +451,14 @@ QString AOApplication::get_chat_markup(QString p_identifier, QString p_chat)
return value.toLatin1();
// Backwards ass compatibility
- QStringList backwards_paths{get_theme_path("misc/" + p_chat + "/config.ini"),
- get_base_path() + "misc/" + p_chat +
- "/config.ini",
- get_base_path() + "misc/default/config.ini",
- get_theme_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"),
+ VPath("misc/default/config.ini"),
+ get_theme_path("misc/default/config.ini")
+ };
+
+ for (const VPath &p : backwards_paths) {
QString value = read_design_ini(p_identifier, p);
if (!value.isEmpty()) {
return value.toLatin1();
@@ -482,36 +495,32 @@ QString AOApplication::get_court_sfx(QString p_identifier, QString p_misc)
return "";
}
-QString AOApplication::get_sfx_suffix(QString sound_to_check)
+QString AOApplication::get_suffix(VPath path_to_check, QStringList suffixes) {
+ for (const QString &suffix : suffixes) {
+ QString path = get_real_path(VPath(path_to_check.toQString() + suffix));
+ if (!path.isEmpty())
+ return path;
+ }
+
+ return QString();
+}
+
+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_suffix(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;
+ QStringList suffixes { "" };
// A better method would to actually use AOImageReader and see if these images have more than 1 frame.
// However, that might not be performant.
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_suffix(path_to_check, suffixes);
}
// returns whatever is to the right of "search_line =" within target_tag and
@@ -520,7 +529,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);
QString value = settings.value(p_search_line).value<QString>();
@@ -531,7 +540,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);
@@ -539,10 +548,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);
if (!target_tag.isEmpty())
settings.beginGroup(target_tag);
QStringList keys = settings.allKeys();
@@ -1084,3 +1093,8 @@ bool AOApplication::get_animated_theme()
configini->value("animated_theme", "true").value<QString>();
return result.startsWith("true");
}
+
+QStringList AOApplication::get_mount_paths()
+{
+ return configini->value("mount_paths").value<QStringList>();
+}