mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-08-28 04:06:27 -05:00
Allow selecting either an action or condition but not both
This commit is contained in:
@@ -286,6 +286,8 @@ public slots:
|
||||
void on_close_clicked();
|
||||
|
||||
private:
|
||||
void SetSelection(MacroSegmentList *, int);
|
||||
|
||||
MacroSegmentList *conditionsList = nullptr;
|
||||
MacroSegmentList *actionsList = nullptr;
|
||||
|
||||
|
||||
@@ -313,17 +313,13 @@ void AdvSceneSwitcher::MacroActionSelectionChanged(int idx)
|
||||
return;
|
||||
}
|
||||
|
||||
for (int i = 0; i < actionsList->ContentLayout()->count(); ++i) {
|
||||
auto widget = static_cast<MacroSegmentEdit *>(
|
||||
actionsList->ContentLayout()->itemAt(i)->widget());
|
||||
if (widget) {
|
||||
widget->SetSelected(i == idx);
|
||||
}
|
||||
}
|
||||
SetSelection(actionsList, idx);
|
||||
SetSelection(conditionsList, -1);
|
||||
|
||||
if (idx < 0 || idx >= macro->Actions().size()) {
|
||||
currentActionIdx = -1;
|
||||
} else {
|
||||
currentActionIdx = idx;
|
||||
}
|
||||
currentConditionIdx = -1;
|
||||
}
|
||||
|
||||
@@ -455,17 +455,13 @@ void AdvSceneSwitcher::MacroConditionSelectionChanged(int idx)
|
||||
return;
|
||||
}
|
||||
|
||||
for (int i = 0; i < conditionsList->ContentLayout()->count(); ++i) {
|
||||
auto widget = static_cast<MacroSegmentEdit *>(
|
||||
conditionsList->ContentLayout()->itemAt(i)->widget());
|
||||
if (widget) {
|
||||
widget->SetSelected(i == idx);
|
||||
}
|
||||
}
|
||||
SetSelection(conditionsList, idx);
|
||||
SetSelection(actionsList, -1);
|
||||
|
||||
if (idx < 0 || idx >= macro->Conditions().size()) {
|
||||
currentConditionIdx = -1;
|
||||
} else {
|
||||
currentConditionIdx = idx;
|
||||
}
|
||||
currentActionIdx = -1;
|
||||
}
|
||||
|
||||
@@ -581,3 +581,14 @@ void AdvSceneSwitcher::HighlightMatchedMacros()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void AdvSceneSwitcher::SetSelection(MacroSegmentList *list, int idx)
|
||||
{
|
||||
for (int i = 0; i < list->ContentLayout()->count(); ++i) {
|
||||
auto widget = static_cast<MacroSegmentEdit *>(
|
||||
list->ContentLayout()->itemAt(i)->widget());
|
||||
if (widget) {
|
||||
widget->SetSelected(i == idx);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user