From c291946d2a8c3e03940da4070533e124283d303c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Mon, 5 Aug 2019 00:44:56 +0200 Subject: NOISSUE do not lose selection on mod enable/disable toggle --- application/pages/instance/ModFolderPage.cpp | 13 +++++++------ application/pages/instance/ModFolderPage.ui | 29 ++++++++++++++++++++++------ 2 files changed, 30 insertions(+), 12 deletions(-) (limited to 'application') diff --git a/application/pages/instance/ModFolderPage.cpp b/application/pages/instance/ModFolderPage.cpp index 9e987e95..d449f8bf 100644 --- a/application/pages/instance/ModFolderPage.cpp +++ b/application/pages/instance/ModFolderPage.cpp @@ -147,12 +147,13 @@ ModFolderPage::ModFolderPage( connect(m_inst, &BaseInstance::runningStatusChanged, this, &ModFolderPage::on_RunningState_changed); } -void ModFolderPage::modItemActivated(const QModelIndex& index) +void ModFolderPage::modItemActivated(const QModelIndex&) { - auto modsModelIndex = m_filterModel->mapToSource(index); - if(modsModelIndex.isValid()) { - m_mods->toggleEnabled(modsModelIndex); + if(!m_controlsEnabled) { + return; } + auto selection = m_filterModel->mapSelectionToSource(ui->modTreeView->selectionModel()->selection()); + m_mods->setModStatus(selection.indexes(), ModFolderModel::Toggle); } QMenu * ModFolderPage::createPopupMenu() @@ -297,7 +298,7 @@ void ModFolderPage::on_actionEnable_triggered() return; } auto selection = m_filterModel->mapSelectionToSource(ui->modTreeView->selectionModel()->selection()); - m_mods->enableMods(selection.indexes(), true); + m_mods->setModStatus(selection.indexes(), ModFolderModel::Enable); } void ModFolderPage::on_actionDisable_triggered() @@ -306,7 +307,7 @@ void ModFolderPage::on_actionDisable_triggered() return; } auto selection = m_filterModel->mapSelectionToSource(ui->modTreeView->selectionModel()->selection()); - m_mods->enableMods(selection.indexes(), false); + m_mods->setModStatus(selection.indexes(), ModFolderModel::Disable); } void ModFolderPage::on_actionRemove_triggered() diff --git a/application/pages/instance/ModFolderPage.ui b/application/pages/instance/ModFolderPage.ui index 55908bb5..052df602 100644 --- a/application/pages/instance/ModFolderPage.ui +++ b/application/pages/instance/ModFolderPage.ui @@ -87,6 +87,7 @@ false + @@ -95,27 +96,39 @@ - Add + &Add + + + Add mods - Remove + &Remove + + + Remove selected mods - Enable + &Enable + + + Enable selected mods - Disable + &Disable + + + Disable selected mods - View configs + View &Configs Open the 'config' folder in the system file manager. @@ -123,7 +136,7 @@ - View Folder + View &Folder @@ -145,6 +158,10 @@
widgets/WideBar.h
+ + modTreeView + filterEdit + -- cgit v1.2.3