Move user-made iniswaps to a global configuration file and make character folder iniswap files immutable (#350)
* add default iniswap file * switch to using base/iniswaps.ini for user iniswaps
This commit is contained in:
parent
079c45e298
commit
fc4e707381
@ -697,7 +697,7 @@ void Courtroom::set_widgets()
|
||||
tr("Set an 'iniswap', or an alternative character folder to refer to "
|
||||
"from your current character.\n"
|
||||
"Edit by typing and pressing Enter, [X] to remove. This saves to your "
|
||||
"base/characters/<charname>/iniswaps.ini"));
|
||||
"base/iniswaps.ini"));
|
||||
|
||||
set_size_and_pos(ui_iniswap_remove, "iniswap_remove");
|
||||
ui_iniswap_remove->setText("X");
|
||||
@ -3814,7 +3814,8 @@ void Courtroom::set_iniswap_dropdown()
|
||||
return;
|
||||
}
|
||||
QStringList iniswaps = ao_app->get_list_file(
|
||||
ao_app->get_character_path(char_list.at(m_cid).name, "iniswaps.ini"));
|
||||
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");
|
||||
iniswaps.removeDuplicates();
|
||||
iniswaps.prepend(char_list.at(m_cid).name);
|
||||
if (iniswaps.size() <= 0) {
|
||||
ui_iniswap_dropdown->hide();
|
||||
@ -3844,14 +3845,15 @@ void Courtroom::on_iniswap_dropdown_changed(int p_index)
|
||||
ao_app->set_char_ini(char_list.at(m_cid).name, iniswap, "name", "Options");
|
||||
|
||||
QStringList swaplist;
|
||||
QStringList defswaplist = ao_app->get_list_file(ao_app->get_character_path(char_list.at(m_cid).name, "iniswaps.ini"));
|
||||
for (int i = 0; i < ui_iniswap_dropdown->count(); ++i) {
|
||||
QString entry = ui_iniswap_dropdown->itemText(i);
|
||||
if (!swaplist.contains(entry) && entry != char_list.at(m_cid).name)
|
||||
if (!swaplist.contains(entry) && entry != char_list.at(m_cid).name && !defswaplist.contains(entry))
|
||||
swaplist.append(entry);
|
||||
}
|
||||
ao_app->write_to_file(
|
||||
swaplist.join("\n"),
|
||||
ao_app->get_character_path(char_list.at(m_cid).name, "iniswaps.ini"));
|
||||
ao_app->get_base_path() + "iniswaps.ini");
|
||||
ui_iniswap_dropdown->blockSignals(true);
|
||||
ui_iniswap_dropdown->setCurrentIndex(p_index);
|
||||
ui_iniswap_dropdown->blockSignals(false);
|
||||
|
Loading…
Reference in New Issue
Block a user