aboutsummaryrefslogtreecommitdiff
path: root/src/courtroom.cpp
diff options
context:
space:
mode:
authorAlex Noir <Varsash@gmail.com>2022-02-18 22:02:18 +0300
committerAlex Noir <Varsash@gmail.com>2022-02-18 22:02:18 +0300
commit0e2bd0b110fe44f485871d20b5e614a214470f12 (patch)
tree0d7502d10080634aca25c43a3f72470410630473 /src/courtroom.cpp
parente6f06d8959ff65be11b20dcba27977f8935bb044 (diff)
Add icons for iniswaps and emotes in the dropdown
Fix iniswap list not recognizing a name that's different from a character folder when switching to that character
Diffstat (limited to 'src/courtroom.cpp')
-rw-r--r--src/courtroom.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/courtroom.cpp b/src/courtroom.cpp
index 3fb691e9..8596ee79 100644
--- a/src/courtroom.cpp
+++ b/src/courtroom.cpp
@@ -4322,6 +4322,10 @@ void Courtroom::set_iniswap_dropdown()
QStringList iniswaps =
ao_app->get_list_file(ao_app->get_character_path(char_list.at(m_cid).name, "iniswaps.ini")) +
ao_app->get_list_file(ao_app->get_base_path() + "iniswaps.ini");
+
+ if (ao_app->get_char_name(char_list.at(m_cid).name) != char_list.at(m_cid).name)
+ iniswaps.append(ao_app->get_char_name(char_list.at(m_cid).name));
+
iniswaps.removeDuplicates();
iniswaps.prepend(char_list.at(m_cid).name);
if (iniswaps.size() <= 0) {
@@ -4330,16 +4334,17 @@ void Courtroom::set_iniswap_dropdown()
return;
}
ui_iniswap_dropdown->show();
- ui_iniswap_dropdown->addItems(iniswaps);
-
for (int i = 0; i < iniswaps.size(); ++i) {
+ ui_iniswap_dropdown->addItem(iniswaps.at(i));
+ QString icon_path = ao_app->get_image_suffix(ao_app->get_character_path(
+ iniswaps.at(i), "char_icon"));
+ ui_iniswap_dropdown->setItemIcon(i, QIcon(icon_path));
if (iniswaps.at(i) == current_char) {
ui_iniswap_dropdown->setCurrentIndex(i);
if (i != 0)
ui_iniswap_remove->show();
else
ui_iniswap_remove->hide();
- break;
}
}
ui_iniswap_dropdown->blockSignals(false);
@@ -4365,6 +4370,9 @@ void Courtroom::on_iniswap_dropdown_changed(int p_index)
ui_iniswap_dropdown->setCurrentIndex(p_index);
ui_iniswap_dropdown->blockSignals(false);
update_character(m_cid);
+ QString icon_path = ao_app->get_image_suffix(ao_app->get_character_path(
+ iniswap, "char_icon"));
+ ui_iniswap_dropdown->setItemIcon(p_index, QIcon(icon_path));
if (p_index != 0)
ui_iniswap_remove->show();
else