diff options
| author | in1tiate <32779090+in1tiate@users.noreply.github.com> | 2021-01-09 09:11:57 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-01-09 18:11:57 +0300 |
| commit | fc4e707381d6524ea3f413b49f486b44daae47b7 (patch) | |
| tree | d667931f5c1d2ea83dcd8ac18116eff5153a3976 | |
| parent | 079c45e298e4198b9c6828603a3e9a71b07a08a7 (diff) | |
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
| -rw-r--r-- | src/courtroom.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/courtroom.cpp b/src/courtroom.cpp index e1ac8e47..9b69bd9b 100644 --- a/src/courtroom.cpp +++ b/src/courtroom.cpp @@ -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); |
