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
This commit is contained in:
parent
e6f06d8959
commit
0e2bd0b110
@ -4322,6 +4322,10 @@ void Courtroom::set_iniswap_dropdown()
|
|||||||
QStringList iniswaps =
|
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_character_path(char_list.at(m_cid).name, "iniswaps.ini")) +
|
||||||
ao_app->get_list_file(ao_app->get_base_path() + "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.removeDuplicates();
|
||||||
iniswaps.prepend(char_list.at(m_cid).name);
|
iniswaps.prepend(char_list.at(m_cid).name);
|
||||||
if (iniswaps.size() <= 0) {
|
if (iniswaps.size() <= 0) {
|
||||||
@ -4330,16 +4334,17 @@ void Courtroom::set_iniswap_dropdown()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ui_iniswap_dropdown->show();
|
ui_iniswap_dropdown->show();
|
||||||
ui_iniswap_dropdown->addItems(iniswaps);
|
|
||||||
|
|
||||||
for (int i = 0; i < iniswaps.size(); ++i) {
|
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) {
|
if (iniswaps.at(i) == current_char) {
|
||||||
ui_iniswap_dropdown->setCurrentIndex(i);
|
ui_iniswap_dropdown->setCurrentIndex(i);
|
||||||
if (i != 0)
|
if (i != 0)
|
||||||
ui_iniswap_remove->show();
|
ui_iniswap_remove->show();
|
||||||
else
|
else
|
||||||
ui_iniswap_remove->hide();
|
ui_iniswap_remove->hide();
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ui_iniswap_dropdown->blockSignals(false);
|
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->setCurrentIndex(p_index);
|
||||||
ui_iniswap_dropdown->blockSignals(false);
|
ui_iniswap_dropdown->blockSignals(false);
|
||||||
update_character(m_cid);
|
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)
|
if (p_index != 0)
|
||||||
ui_iniswap_remove->show();
|
ui_iniswap_remove->show();
|
||||||
else
|
else
|
||||||
|
@ -141,14 +141,14 @@ void Courtroom::set_emote_dropdown()
|
|||||||
ui_emote_dropdown->clear();
|
ui_emote_dropdown->clear();
|
||||||
|
|
||||||
int total_emotes = ao_app->get_emote_number(current_char);
|
int total_emotes = ao_app->get_emote_number(current_char);
|
||||||
QStringList emote_list;
|
|
||||||
|
|
||||||
for (int n = 0; n < total_emotes; ++n) {
|
for (int n = 0; n < total_emotes; ++n) {
|
||||||
emote_list.append(QString::number(n + 1) + ": " +
|
ui_emote_dropdown->addItem(QString::number(n + 1) + ": " +
|
||||||
ao_app->get_emote_comment(current_char, n));
|
ao_app->get_emote_comment(current_char, n));
|
||||||
|
QString icon_path = ao_app->get_image_suffix(ao_app->get_character_path(
|
||||||
|
current_char, "emotions/button" + QString::number(n + 1) + "_off"));
|
||||||
|
ui_emote_dropdown->setItemIcon(n, QIcon(icon_path));
|
||||||
}
|
}
|
||||||
|
|
||||||
ui_emote_dropdown->addItems(emote_list);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Courtroom::select_emote(int p_id)
|
void Courtroom::select_emote(int p_id)
|
||||||
|
Loading…
Reference in New Issue
Block a user