aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGingeh <39150378+Gingeh@users.noreply.github.com>2022-08-03 16:39:30 +1000
committerGingeh <39150378+Gingeh@users.noreply.github.com>2022-08-03 16:39:30 +1000
commita8aa86291965ddd3cdfa2bb5f5fc7a34170559ed (patch)
tree98b8d733fe884509a183cb843d1c5f72f33f567d
parentf33b31e048affecf76083fbc56d02e883d0fffad (diff)
downloadPrismLauncher-a8aa86291965ddd3cdfa2bb5f5fc7a34170559ed.tar.gz
PrismLauncher-a8aa86291965ddd3cdfa2bb5f5fc7a34170559ed.tar.bz2
PrismLauncher-a8aa86291965ddd3cdfa2bb5f5fc7a34170559ed.zip
Move large condition into a new lambda
Signed-off-by: Gingeh <39150378+Gingeh@users.noreply.github.com>
-rw-r--r--launcher/ui/pages/instance/ModFolderPage.cpp25
1 files changed, 13 insertions, 12 deletions
diff --git a/launcher/ui/pages/instance/ModFolderPage.cpp b/launcher/ui/pages/instance/ModFolderPage.cpp
index b3f4759f..1b2cde0c 100644
--- a/launcher/ui/pages/instance/ModFolderPage.cpp
+++ b/launcher/ui/pages/instance/ModFolderPage.cpp
@@ -84,24 +84,25 @@ ModFolderPage::ModFolderPage(BaseInstance* inst, std::shared_ptr<ModFolderModel>
ui->actionsToolbar->insertActionAfter(ui->actionAddItem, ui->actionUpdateItem);
connect(ui->actionUpdateItem, &QAction::triggered, this, &ModFolderPage::updateMods);
- connect(ui->treeView->selectionModel(), &QItemSelectionModel::selectionChanged, this, [this] {
- ui->actionUpdateItem->setEnabled(!(m_instance && m_instance->isRunning()) &&
- (ui->treeView->selectionModel()->hasSelection() || !m_model->empty()));
+ auto check_allow_update = [this] {
+ return (!m_instance || !m_instance->isRunning()) &&
+ (ui->treeView->selectionModel()->hasSelection() || !m_model->empty());
+ };
+
+ connect(ui->treeView->selectionModel(), &QItemSelectionModel::selectionChanged, this, [this, check_allow_update] {
+ ui->actionUpdateItem->setEnabled(check_allow_update());
});
- connect(mods.get(), &ModFolderModel::rowsInserted, this, [this] {
- ui->actionUpdateItem->setEnabled(!(m_instance && m_instance->isRunning()) &&
- (ui->treeView->selectionModel()->hasSelection() || !m_model->empty()));
+ connect(mods.get(), &ModFolderModel::rowsInserted, this, [this, check_allow_update] {
+ ui->actionUpdateItem->setEnabled(check_allow_update());
});
- connect(mods.get(), &ModFolderModel::rowsRemoved, this, [this] {
- ui->actionUpdateItem->setEnabled(!(m_instance && m_instance->isRunning()) &&
- (ui->treeView->selectionModel()->hasSelection() || !m_model->empty()));
+ connect(mods.get(), &ModFolderModel::rowsRemoved, this, [this, check_allow_update] {
+ ui->actionUpdateItem->setEnabled(check_allow_update());
});
- connect(mods.get(), &ModFolderModel::updateFinished, this, [this, mods] {
- ui->actionUpdateItem->setEnabled(!(m_instance && m_instance->isRunning()) &&
- (ui->treeView->selectionModel()->hasSelection() || !m_model->empty()));
+ connect(mods.get(), &ModFolderModel::updateFinished, this, [this, check_allow_update, mods] {
+ ui->actionUpdateItem->setEnabled(check_allow_update());
// Prevent a weird crash when trying to open the mods page twice in a session o.O
disconnect(mods.get(), &ModFolderModel::updateFinished, this, 0);