diff options
| author | isanae <14251494+isanae@users.noreply.github.com> | 2019-06-14 19:13:28 -0400 |
|---|---|---|
| committer | isanae <14251494+isanae@users.noreply.github.com> | 2019-06-15 14:40:40 -0400 |
| commit | 5ca4ea500439bdeee85ca2103374618f2608808d (patch) | |
| tree | 96f3f8de03c051045aa07d482dcacc301437bcc5 /src/editexecutablesdialog.cpp | |
| parent | 7671725436551b7254ea89ff6985c5491fcc743d (diff) | |
merged CustomOverwrites and ForcedLibraries, they were mostly identical
some comments
Diffstat (limited to 'src/editexecutablesdialog.cpp')
| -rw-r--r-- | src/editexecutablesdialog.cpp | 202 |
1 files changed, 49 insertions, 153 deletions
diff --git a/src/editexecutablesdialog.cpp b/src/editexecutablesdialog.cpp index 882bb8b5..8929d207 100644 --- a/src/editexecutablesdialog.cpp +++ b/src/editexecutablesdialog.cpp @@ -46,11 +46,11 @@ EditExecutablesDialog::EditExecutablesDialog(OrganizerCore& oc, QWidget* parent) ui->splitter->setStretchFactor(0, 0); ui->splitter->setStretchFactor(1, 1); - m_customOverwrites.load(m_organizerCore.currentProfile(), m_executablesList); - m_forcedLibraries.load(m_organizerCore.currentProfile(), m_executablesList); + loadCustomOverwrites(); + loadForcedLibraries(); - fillList(); ui->mods->addItems(m_organizerCore.modList()->allMods()); + fillList(); setDirty(false); // some widgets need to do more than just save() and have their own handler @@ -65,6 +65,31 @@ EditExecutablesDialog::EditExecutablesDialog(OrganizerCore& oc, QWidget* parent) EditExecutablesDialog::~EditExecutablesDialog() = default; + +void EditExecutablesDialog::loadCustomOverwrites() +{ + const auto* p = m_organizerCore.currentProfile(); + + for (const auto& e : m_executablesList) { + const auto s = p->setting("custom_overwrites", e.title()).toString(); + + if (!s.isEmpty()) { + m_customOverwrites.set(e.title(), true, s); + } + } +} + +void EditExecutablesDialog::loadForcedLibraries() +{ + const auto* p = m_organizerCore.currentProfile(); + + for (const auto& e : m_executablesList) { + if (p->forcedLibrariesEnabled(e.title())) { + m_forcedLibraries.set(e.title(), true, p->determineForcedLibraries(e.title())); + } + } +} + ExecutablesList EditExecutablesDialog::getExecutablesList() const { ExecutablesList newList; @@ -88,12 +113,14 @@ ExecutablesList EditExecutablesDialog::getExecutablesList() const return newList; } -const CustomOverwrites& EditExecutablesDialog::getCustomOverwrites() const +const EditExecutablesDialog::CustomOverwrites& +EditExecutablesDialog::getCustomOverwrites() const { return m_customOverwrites; } -const ForcedLibraries& EditExecutablesDialog::getForcedLibraries() const +const EditExecutablesDialog::ForcedLibraries& +EditExecutablesDialog::getForcedLibraries() const { return m_forcedLibraries; } @@ -111,16 +138,16 @@ void EditExecutablesDialog::commitChanges() // set the new custom overwrites and forced libraries for (const auto& e : newExecutables) { - if (auto info=m_customOverwrites.find(e.title())) { - if (info && info->enabled) { - profile->storeSetting("custom_overwrites", e.title(), info->modName); + if (auto modName=m_customOverwrites.find(e.title())) { + if (modName && modName->enabled) { + profile->storeSetting("custom_overwrites", e.title(), modName->value); } } - if (auto info=m_forcedLibraries.find(e.title())) { - if (info && info->enabled && !info->list.empty()) { + if (auto libraryList=m_forcedLibraries.find(e.title())) { + if (libraryList && libraryList->enabled && !libraryList->value.empty()) { profile->setForcedLibrariesEnabled(e.title(), true); - profile->storeForcedLibraries(e.title(), info->list); + profile->storeForcedLibraries(e.title(), libraryList->value); } } } @@ -260,19 +287,19 @@ void EditExecutablesDialog::setEdits(const Executable& e) { int modIndex = -1; - const auto info = m_customOverwrites.find(e.title()); + const auto modName = m_customOverwrites.find(e.title()); - if (info && !info->modName.isEmpty()) { - modIndex = ui->mods->findText(info->modName); + if (modName && !modName->value.isEmpty()) { + modIndex = ui->mods->findText(modName->value); if (modIndex == -1) { qWarning().nospace() - << "executable '" << e.title() << "' uses mod '" << info->modName << "' " + << "executable '" << e.title() << "' uses mod '" << modName->value << "' " << "as a custom overwrite, but that mod doesn't exist"; } } - const bool hasCustomOverwrites = (info && info->enabled); + const bool hasCustomOverwrites = (modName && modName->enabled); ui->createFilesInMod->setChecked(hasCustomOverwrites); ui->mods->setEnabled(hasCustomOverwrites); @@ -280,8 +307,8 @@ void EditExecutablesDialog::setEdits(const Executable& e) } { - const auto info = m_forcedLibraries.find(e.title()); - const bool hasForcedLibraries = (info && info->enabled); + const auto libraryList = m_forcedLibraries.find(e.title()); + const bool hasForcedLibraries = (libraryList && libraryList->enabled); ui->forceLoadLibraries->setChecked(hasForcedLibraries); ui->configureLibraries->setEnabled(hasForcedLibraries); @@ -316,8 +343,7 @@ void EditExecutablesDialog::save() // custom overwrites if (ui->createFilesInMod->isChecked()) { - m_customOverwrites.setEnabled(e->title(), true); - m_customOverwrites.setMod(e->title(), ui->mods->currentText()); + m_customOverwrites.set(e->title(), true, ui->mods->currentText()); } else { m_customOverwrites.setEnabled(e->title(), false); } @@ -626,12 +652,12 @@ void EditExecutablesDialog::on_configureLibraries_clicked() ForcedLoadDialog dialog(m_organizerCore.managedGame(), this); - if (auto info=m_forcedLibraries.find(e->title())) { - dialog.setValues(info->list); + if (auto libraryList=m_forcedLibraries.find(e->title())) { + dialog.setValues(libraryList->value); } if (dialog.exec() == QDialog::Accepted) { - m_forcedLibraries.setList(e->title(), dialog.values()); + m_forcedLibraries.setValue(e->title(), dialog.values()); save(); } } @@ -670,133 +696,3 @@ void EditExecutablesDialog::setJarBinary(const QString& binaryName) save(); } - - -void CustomOverwrites::load(Profile* p, const ExecutablesList& exes) -{ - for (const auto& e : exes) { - const auto s = p->setting("custom_overwrites", e.title()).toString(); - - if (!s.isEmpty()) { - m_map[e.title()] = {true, s}; - } - } -} - -std::optional<CustomOverwrites::Info> CustomOverwrites::find( - const QString& title) const -{ - auto itor = m_map.find(title); - if (itor == m_map.end()) { - return {}; - } - - return itor->second; -} - -void CustomOverwrites::setEnabled(const QString& title, bool b) -{ - auto itor = m_map.find(title); - - if (itor == m_map.end()) { - m_map[title] = {b, {}}; - } else { - itor->second.enabled = b; - } -} - -void CustomOverwrites::setMod(const QString& title, const QString& mod) -{ - auto itor = m_map.find(title); - - if (itor == m_map.end()) { - m_map[title] = {true, mod}; - } else { - itor->second.modName = mod; - } -} - -void CustomOverwrites::rename(const QString& oldTitle, const QString& newTitle) -{ - auto itor = m_map.find(oldTitle); - if (itor == m_map.end()) { - return; - } - - // copy to new title, erase old - m_map[newTitle] = itor->second; - m_map.erase(itor); -} - -void CustomOverwrites::remove(const QString& title) -{ - auto itor = m_map.find(title); - - if (itor != m_map.end()) { - m_map.erase(itor); - } -} - - -void ForcedLibraries::load(Profile* p, const ExecutablesList& exes) -{ - for (const auto& e : exes) { - if (p->forcedLibrariesEnabled(e.title())) { - m_map[e.title()] = {true, p->determineForcedLibraries(e.title())}; - } - } -} - -std::optional<ForcedLibraries::Info> ForcedLibraries::find( - const QString& title) const -{ - auto itor = m_map.find(title); - if (itor == m_map.end()) { - return {}; - } - - return itor->second; -} - -void ForcedLibraries::setEnabled(const QString& title, bool b) -{ - auto itor = m_map.find(title); - - if (itor == m_map.end()) { - m_map[title] = {b, {}}; - } else { - itor->second.enabled = b; - } -} - -void ForcedLibraries::setList(const QString& title, const list_type& list) -{ - auto itor = m_map.find(title); - - if (itor == m_map.end()) { - m_map[title] = {true, list}; - } else { - itor->second.list = list; - } -} - -void ForcedLibraries::rename(const QString& oldTitle, const QString& newTitle) -{ - auto itor = m_map.find(oldTitle); - if (itor == m_map.end()) { - return; - } - - // copy to new title, erase old - m_map[newTitle] = itor->second; - m_map.erase(itor); -} - -void ForcedLibraries::remove(const QString& title) -{ - auto itor = m_map.find(title); - - if (itor != m_map.end()) { - m_map.erase(itor); - } -} |
