From 636630fdf3b480052f667459e7ccbceae277849b Mon Sep 17 00:00:00 2001 From: WarmUpTill Date: Sat, 27 Aug 2022 01:15:43 +0200 Subject: [PATCH] Add splitter between macro list and macro edit area This will make editing macros easier on smaller window sizes as the list or edit area can be resized to the users needs --- forms/advanced-scene-switcher.ui | 1097 +++++++++++++++--------------- src/macro-core/macro-tab.cpp | 18 +- 2 files changed, 561 insertions(+), 554 deletions(-) diff --git a/forms/advanced-scene-switcher.ui b/forms/advanced-scene-switcher.ui index e5bb7cdc..a3f8ce90 100644 --- a/forms/advanced-scene-switcher.ui +++ b/forms/advanced-scene-switcher.ui @@ -56,7 +56,7 @@ 0 0 1024 - 817 + 800 @@ -548,556 +548,559 @@ AdvSceneSwitcher.macroTab.title - + - - - AdvSceneSwitcher.macroTab.macros + + + Qt::Horizontal - - - - - AdvSceneSwitcher.macroTab.priorityWarning - - - true - - - - - - - - - - 0 - 0 - - - - true - - - QAbstractItemView::InternalMove - - - Qt::MoveAction - - - false - - - - - - - false - - - AdvSceneSwitcher.macroTab.help - - - Qt::AlignCenter - - - true - - - - - - - - - - - - 22 - 22 - - - - true - - - addIconSmall - - - - - - - - 22 - 22 - - - - true - - - removeIconSmall - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 5 - 20 - - - - - - - - Qt::Vertical - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 5 - 20 - - - - - - - - - 22 - 22 - - - - - - - true - - - upArrowIconSmall - - - - - - - - 22 - 22 - - - - - - - true - - - downArrowIconSmall - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - - AdvSceneSwitcher.macroTab.edit - - - - - - - - AdvSceneSwitcher.macroTab.name - - - - - - - - - - AdvSceneSwitcher.macroTab.run - - - - - - - AdvSceneSwitcher.macroTab.runInParallel - - - - - - - AdvSceneSwitcher.macroTab.onChange - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 22 - 22 - - - - - - - true - - - propertiesIconSmall - - - - - - - - - Qt::Vertical - - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - 9 - - - - - - 22 - 22 - - - - true - - - addIconSmall - - - - - - - - 22 - 22 - - - - true - - - removeIconSmall - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 5 - 20 - - - - - - - - Qt::Vertical - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 5 - 20 - - - - - - - - - 22 - 22 - - - - - - - true - - - upArrowIconSmall - - - - - - - - 22 - 22 - - - - true - - - downArrowIconSmall - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - + + + AdvSceneSwitcher.macroTab.macros + + + + + + AdvSceneSwitcher.macroTab.priorityWarning + + + true + - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - 9 - - - - - - 22 - 22 - - - - true - - - addIconSmall - - - - - - - - 22 - 22 - - - - true - - - removeIconSmall - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 5 - 20 - - - - - - - - Qt::Vertical - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 5 - 20 - - - - - - - - - 22 - 22 - - - - true - - - upArrowIconSmall - - - - - - - - 22 - 22 - - - - true - - - downArrowIconSmall - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - + + + + + + + + 0 + 0 + + + + true + + + QAbstractItemView::InternalMove + + + Qt::MoveAction + + + false + + + + + + + false + + + AdvSceneSwitcher.macroTab.help + + + Qt::AlignCenter + + + true + + + + + + + + + + + + 22 + 22 + + + + true + + + addIconSmall + + + + + + + + 22 + 22 + + + + true + + + removeIconSmall + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 5 + 20 + + + + + + + + Qt::Vertical + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 5 + 20 + + + + + + + + + 22 + 22 + + + + + + + true + + + upArrowIconSmall + + + + + + + + 22 + 22 + + + + + + + true + + + downArrowIconSmall + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + AdvSceneSwitcher.macroTab.edit + + + + + + + + AdvSceneSwitcher.macroTab.name + + + + + + + + + + AdvSceneSwitcher.macroTab.run + + + + + + + AdvSceneSwitcher.macroTab.runInParallel + + + + + + + AdvSceneSwitcher.macroTab.onChange + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 22 + 22 + + + + + + + true + + + propertiesIconSmall + + + + + + + + + Qt::Vertical + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 9 + + + + + + 22 + 22 + + + + true + + + addIconSmall + + + + + + + + 22 + 22 + + + + true + + + removeIconSmall + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 5 + 20 + + + + + + + + Qt::Vertical + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 5 + 20 + + + + + + + + + 22 + 22 + + + + + + + true + + + upArrowIconSmall + + + + + + + + 22 + 22 + + + + true + + + downArrowIconSmall + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 9 + + + + + + 22 + 22 + + + + true + + + addIconSmall + + + + + + + + 22 + 22 + + + + true + + + removeIconSmall + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 5 + 20 + + + + + + + + Qt::Vertical + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 5 + 20 + + + + + + + + + 22 + 22 + + + + true + + + upArrowIconSmall + + + + + + + + 22 + 22 + + + + true + + + downArrowIconSmall + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + - - - + + + diff --git a/src/macro-core/macro-tab.cpp b/src/macro-core/macro-tab.cpp index b8a48fda..ee2e63d7 100644 --- a/src/macro-core/macro-tab.cpp +++ b/src/macro-core/macro-tab.cpp @@ -327,7 +327,7 @@ void AdvSceneSwitcher::SetMacroEditAreaDisabled(bool disable) ui->runMacroOnChange->setDisabled(disable); ui->macroActions->setDisabled(disable); ui->macroConditions->setDisabled(disable); - ui->macroSplitter->setDisabled(disable); + ui->macroActionConditionSplitter->setDisabled(disable); } void AdvSceneSwitcher::HighlightAction(int idx) @@ -486,14 +486,18 @@ void AdvSceneSwitcher::setupMacroTab() onChangeHighlightTimer.start(); // Move condition controls into splitter handle layout - auto handle = ui->macroSplitter->handle(1); + auto handle = ui->macroActionConditionSplitter->handle(1); auto item = ui->macroConditionsLayout->takeAt(1); if (item) { auto layout = item->layout(); layout->setContentsMargins(7, 7, 7, 7); handle->setLayout(layout); - ui->macroSplitter->setHandleWidth(38); + ui->macroActionConditionSplitter->setHandleWidth(38); } + + // Reserve more space for macro edit area than for the macro list + ui->macroListMacroEditSplitter->setStretchFactor(0, 1); + ui->macroListMacroEditSplitter->setStretchFactor(1, 4); } void AdvSceneSwitcher::ShowMacroContextMenu(const QPoint &pos) @@ -598,22 +602,22 @@ void AdvSceneSwitcher::CollapseAllConditions() void AdvSceneSwitcher::MinimizeActions() { - QList sizes = ui->macroSplitter->sizes(); + QList sizes = ui->macroActionConditionSplitter->sizes(); int sum = sizes[0] + sizes[1]; int actionsHeight = sum / 10; sizes[1] = actionsHeight; sizes[0] = sum - actionsHeight; - ui->macroSplitter->setSizes(sizes); + ui->macroActionConditionSplitter->setSizes(sizes); } void AdvSceneSwitcher::MinimizeConditions() { - QList sizes = ui->macroSplitter->sizes(); + QList sizes = ui->macroActionConditionSplitter->sizes(); int sum = sizes[0] + sizes[1]; int conditionsHeight = sum / 10; sizes[0] = conditionsHeight; sizes[1] = sum - conditionsHeight; - ui->macroSplitter->setSizes(sizes); + ui->macroActionConditionSplitter->setSizes(sizes); } bool AdvSceneSwitcher::MacroTabIsInFocus()