diff --git a/src/advanced-scene-switcher.hpp b/src/advanced-scene-switcher.hpp index e6f497c9..97087fd4 100644 --- a/src/advanced-scene-switcher.hpp +++ b/src/advanced-scene-switcher.hpp @@ -170,9 +170,6 @@ private: bool ResolveMacroImportNameConflict(std::shared_ptr &); bool MacroTabIsInFocus(); - MacroSegmentList *conditionsList = nullptr; - MacroSegmentList *actionsList = nullptr; - enum class MacroSection { CONDITIONS, ACTIONS, diff --git a/src/macro-core/macro-action-edit.cpp b/src/macro-core/macro-action-edit.cpp index 04fcea0e..909cea7e 100644 --- a/src/macro-core/macro-action-edit.cpp +++ b/src/macro-core/macro-action-edit.cpp @@ -239,7 +239,7 @@ void AdvSceneSwitcher::AddMacroAction(int idx) obs_data_release(data); } macro->UpdateActionIndices(); - actionsList->Insert( + ui->actionsList->Insert( idx, new MacroActionEdit(this, ¯o->Actions()[idx], id)); SetActionData(*macro); @@ -263,7 +263,7 @@ void AdvSceneSwitcher::on_actionAdd_clicked() if (currentActionIdx != -1) { MacroActionSelectionChanged(currentActionIdx + 1); } - actionsList->SetHelpMsgVisible(false); + ui->actionsList->SetHelpMsgVisible(false); } void AdvSceneSwitcher::RemoveMacroAction(int idx) @@ -279,7 +279,7 @@ void AdvSceneSwitcher::RemoveMacroAction(int idx) { std::lock_guard lock(switcher->m); - actionsList->Remove(idx); + ui->actionsList->Remove(idx); macro->Actions().erase(macro->Actions().begin() + idx); switcher->abortMacroWait = true; switcher->macroWaitCv.notify_all(); @@ -325,7 +325,7 @@ void AdvSceneSwitcher::on_actionUp_clicked() void AdvSceneSwitcher::on_actionDown_clicked() { if (currentActionIdx == -1 || - currentActionIdx == actionsList->ContentLayout()->count() - 1) { + currentActionIdx == ui->actionsList->ContentLayout()->count() - 1) { return; } MoveMacroActionDown(currentActionIdx); @@ -337,7 +337,7 @@ void AdvSceneSwitcher::on_actionBottom_clicked() if (currentActionIdx == -1) { return; } - const int newIdx = actionsList->ContentLayout()->count() - 1; + const int newIdx = ui->actionsList->ContentLayout()->count() - 1; MacroActionReorder(newIdx, currentActionIdx); MacroActionSelectionChanged(newIdx); } @@ -355,11 +355,11 @@ void AdvSceneSwitcher::SwapActions(Macro *m, int pos1, int pos2) iter_swap(m->Actions().begin() + pos1, m->Actions().begin() + pos2); m->UpdateActionIndices(); auto widget1 = static_cast( - actionsList->ContentLayout()->takeAt(pos1)->widget()); + ui->actionsList->ContentLayout()->takeAt(pos1)->widget()); auto widget2 = static_cast( - actionsList->ContentLayout()->takeAt(pos2 - 1)->widget()); - actionsList->Insert(pos1, widget2); - actionsList->Insert(pos2, widget1); + ui->actionsList->ContentLayout()->takeAt(pos2 - 1)->widget()); + ui->actionsList->Insert(pos1, widget2); + ui->actionsList->Insert(pos2, widget1); SetActionData(*m); emit(MacroSegmentOrderChanged()); } @@ -401,8 +401,8 @@ void AdvSceneSwitcher::MacroActionSelectionChanged(int idx) return; } - actionsList->SetSelection(idx); - conditionsList->SetSelection(-1); + ui->actionsList->SetSelection(idx); + ui->conditionsList->SetSelection(-1); if (idx < 0 || (unsigned)idx >= macro->Actions().size()) { currentActionIdx = -1; @@ -431,8 +431,8 @@ void AdvSceneSwitcher::MacroActionReorder(int to, int from) macro->Actions().erase(macro->Actions().begin() + from); macro->Actions().insert(macro->Actions().begin() + to, action); macro->UpdateActionIndices(); - actionsList->ContentLayout()->insertItem( - to, actionsList->ContentLayout()->takeAt(from)); + ui->actionsList->ContentLayout()->insertItem( + to, ui->actionsList->ContentLayout()->takeAt(from)); SetActionData(*macro); } HighlightAction(to); diff --git a/src/macro-core/macro-condition-edit.cpp b/src/macro-core/macro-condition-edit.cpp index 689f908a..0a325c8d 100644 --- a/src/macro-core/macro-condition-edit.cpp +++ b/src/macro-core/macro-condition-edit.cpp @@ -385,7 +385,7 @@ void AdvSceneSwitcher::AddMacroCondition(int idx) } (*cond)->SetLogicType(logic); macro->UpdateConditionIndices(); - conditionsList->Insert( + ui->conditionsList->Insert( idx, new MacroConditionEdit(this, ¯o->Conditions()[idx], id, idx == 0)); @@ -410,7 +410,7 @@ void AdvSceneSwitcher::on_conditionAdd_clicked() if (currentConditionIdx != -1) { MacroConditionSelectionChanged(currentConditionIdx + 1); } - conditionsList->SetHelpMsgVisible(false); + ui->conditionsList->SetHelpMsgVisible(false); } void AdvSceneSwitcher::RemoveMacroCondition(int idx) @@ -426,14 +426,14 @@ void AdvSceneSwitcher::RemoveMacroCondition(int idx) { auto lock = LockContext(); - conditionsList->Remove(idx); + ui->conditionsList->Remove(idx); macro->Conditions().erase(macro->Conditions().begin() + idx); macro->UpdateConditionIndices(); if (idx == 0 && macro->Conditions().size() > 0) { auto newRoot = macro->Conditions().at(0); newRoot->SetLogicType(LogicType::ROOT_NONE); static_cast( - conditionsList->WidgetAt(0)) + ui->conditionsList->WidgetAt(0)) ->SetRootNode(true); } SetConditionData(*macro); @@ -479,7 +479,7 @@ void AdvSceneSwitcher::on_conditionDown_clicked() { if (currentConditionIdx == -1 || currentConditionIdx == - conditionsList->ContentLayout()->count() - 1) { + ui->conditionsList->ContentLayout()->count() - 1) { return; } MoveMacroConditionDown(currentConditionIdx); @@ -491,7 +491,7 @@ void AdvSceneSwitcher::on_conditionBottom_clicked() if (currentConditionIdx == -1) { return; } - const int newIdx = conditionsList->ContentLayout()->count() - 1; + const int newIdx = ui->conditionsList->ContentLayout()->count() - 1; MacroConditionReorder(newIdx, currentConditionIdx); MacroConditionSelectionChanged(newIdx); } @@ -521,11 +521,11 @@ void AdvSceneSwitcher::SwapConditions(Macro *m, int pos1, int pos2) } auto widget1 = static_cast( - conditionsList->ContentLayout()->takeAt(pos1)->widget()); + ui->conditionsList->ContentLayout()->takeAt(pos1)->widget()); auto widget2 = static_cast( - conditionsList->ContentLayout()->takeAt(pos2 - 1)->widget()); - conditionsList->Insert(pos1, widget2); - conditionsList->Insert(pos2, widget1); + ui->conditionsList->ContentLayout()->takeAt(pos2 - 1)->widget()); + ui->conditionsList->Insert(pos1, widget2); + ui->conditionsList->Insert(pos2, widget1); SetConditionData(*m); widget2->SetRootNode(root); widget1->SetRootNode(false); @@ -569,8 +569,8 @@ void AdvSceneSwitcher::MacroConditionSelectionChanged(int idx) return; } - conditionsList->SetSelection(idx); - actionsList->SetSelection(-1); + ui->conditionsList->SetSelection(idx); + ui->actionsList->SetSelection(-1); if (idx < 0 || (unsigned)idx >= macro->Conditions().size()) { currentConditionIdx = -1; @@ -599,30 +599,30 @@ void AdvSceneSwitcher::MacroConditionReorder(int to, int from) if (to == 0) { condition->SetLogicType(LogicType::ROOT_NONE); static_cast( - conditionsList->WidgetAt(from)) + ui->conditionsList->WidgetAt(from)) ->SetRootNode(true); macro->Conditions().at(0)->SetLogicType(LogicType::AND); static_cast( - conditionsList->WidgetAt(0)) + ui->conditionsList->WidgetAt(0)) ->SetRootNode(false); } if (from == 0) { condition->SetLogicType(LogicType::AND); static_cast( - conditionsList->WidgetAt(from)) + ui->conditionsList->WidgetAt(from)) ->SetRootNode(false); macro->Conditions().at(1)->SetLogicType( LogicType::ROOT_NONE); static_cast( - conditionsList->WidgetAt(1)) + ui->conditionsList->WidgetAt(1)) ->SetRootNode(true); } macro->Conditions().erase(macro->Conditions().begin() + from); macro->Conditions().insert(macro->Conditions().begin() + to, condition); macro->UpdateConditionIndices(); - conditionsList->ContentLayout()->insertItem( - to, conditionsList->ContentLayout()->takeAt(from)); + ui->conditionsList->ContentLayout()->insertItem( + to, ui->conditionsList->ContentLayout()->takeAt(from)); SetConditionData(*macro); } HighlightCondition(to); diff --git a/src/macro-core/macro-tab.cpp b/src/macro-core/macro-tab.cpp index 70dd6c93..16d8aa74 100644 --- a/src/macro-core/macro-tab.cpp +++ b/src/macro-core/macro-tab.cpp @@ -422,9 +422,9 @@ void AdvSceneSwitcher::PopulateMacroActions(Macro &m, uint32_t afterIdx) for (; afterIdx < actions.size(); afterIdx++) { auto newEntry = new MacroActionEdit(this, &actions[afterIdx], actions[afterIdx]->GetId()); - actionsList->Add(newEntry); + ui->actionsList->Add(newEntry); } - actionsList->SetHelpMsgVisible(actions.size() == 0); + ui->actionsList->SetHelpMsgVisible(actions.size() == 0); } void AdvSceneSwitcher::PopulateMacroConditions(Macro &m, uint32_t afterIdx) @@ -435,17 +435,18 @@ void AdvSceneSwitcher::PopulateMacroConditions(Macro &m, uint32_t afterIdx) auto newEntry = new MacroConditionEdit( this, &conditions[afterIdx], conditions[afterIdx]->GetId(), root); - conditionsList->Add(newEntry); + ui->conditionsList->Add(newEntry); root = false; } - conditionsList->SetHelpMsgVisible(conditions.size() == 0); + ui->conditionsList->SetHelpMsgVisible(conditions.size() == 0); } void AdvSceneSwitcher::SetActionData(Macro &m) { auto &actions = m.Actions(); - for (int idx = 0; idx < actionsList->ContentLayout()->count(); idx++) { - auto item = actionsList->ContentLayout()->itemAt(idx); + for (int idx = 0; idx < ui->actionsList->ContentLayout()->count(); + idx++) { + auto item = ui->actionsList->ContentLayout()->itemAt(idx); if (!item) { continue; } @@ -460,9 +461,9 @@ void AdvSceneSwitcher::SetActionData(Macro &m) void AdvSceneSwitcher::SetConditionData(Macro &m) { auto &conditions = m.Conditions(); - for (int idx = 0; idx < conditionsList->ContentLayout()->count(); + for (int idx = 0; idx < ui->conditionsList->ContentLayout()->count(); idx++) { - auto item = conditionsList->ContentLayout()->itemAt(idx); + auto item = ui->conditionsList->ContentLayout()->itemAt(idx); if (!item) { continue; } @@ -484,8 +485,8 @@ void AdvSceneSwitcher::SetEditMacro(Macro &m) ui->runMacroInParallel->setChecked(m.RunInParallel()); ui->runMacroOnChange->setChecked(m.MatchOnChange()); } - conditionsList->Clear(); - actionsList->Clear(); + ui->conditionsList->Clear(); + ui->actionsList->Clear(); m.ResetUIHelpers(); @@ -515,12 +516,12 @@ void AdvSceneSwitcher::SetMacroEditAreaDisabled(bool disable) void AdvSceneSwitcher::HighlightAction(int idx, QColor color) { - actionsList->Highlight(idx, color); + ui->actionsList->Highlight(idx, color); } void AdvSceneSwitcher::HighlightCondition(int idx, QColor color) { - conditionsList->Highlight(idx, color); + ui->conditionsList->Highlight(idx, color); } std::shared_ptr AdvSceneSwitcher::GetSelectedMacro() @@ -542,10 +543,10 @@ void AdvSceneSwitcher::MacroSelectionChanged() auto macro = GetSelectedMacro(); if (!macro) { SetMacroEditAreaDisabled(true); - conditionsList->Clear(); - actionsList->Clear(); - conditionsList->SetHelpMsgVisible(true); - actionsList->SetHelpMsgVisible(true); + ui->conditionsList->Clear(); + ui->actionsList->Clear(); + ui->conditionsList->SetHelpMsgVisible(true); + ui->actionsList->SetHelpMsgVisible(true); return; } SetEditMacro(*macro); @@ -608,34 +609,28 @@ void AdvSceneSwitcher::SetupMacroTab() connect(ui->macros, SIGNAL(MacroSelectionChanged()), this, SLOT(MacroSelectionChanged())); - delete conditionsList; - conditionsList = new MacroSegmentList(this); - conditionsList->SetHelpMsg( + ui->conditionsList->SetHelpMsg( obs_module_text("AdvSceneSwitcher.macroTab.editConditionHelp")); - connect(conditionsList, &MacroSegmentList::SelectionChagned, this, + connect(ui->conditionsList, &MacroSegmentList::SelectionChagned, this, &AdvSceneSwitcher::MacroConditionSelectionChanged); - connect(conditionsList, &MacroSegmentList::Reorder, this, + connect(ui->conditionsList, &MacroSegmentList::Reorder, this, &AdvSceneSwitcher::MacroConditionReorder); - ui->macroConditionsLayout->insertWidget(0, conditionsList); - delete actionsList; - actionsList = new MacroSegmentList(this); - actionsList->SetHelpMsg( + ui->actionsList->SetHelpMsg( obs_module_text("AdvSceneSwitcher.macroTab.editActionHelp")); - connect(actionsList, &MacroSegmentList::SelectionChagned, this, + connect(ui->actionsList, &MacroSegmentList::SelectionChagned, this, &AdvSceneSwitcher::MacroActionSelectionChanged); - connect(actionsList, &MacroSegmentList::Reorder, this, + connect(ui->actionsList, &MacroSegmentList::Reorder, this, &AdvSceneSwitcher::MacroActionReorder); - ui->macroActionsLayout->insertWidget(0, actionsList); ui->macros->setContextMenuPolicy(Qt::CustomContextMenu); connect(ui->macros, &QWidget::customContextMenuRequested, this, &AdvSceneSwitcher::ShowMacroContextMenu); - actionsList->setContextMenuPolicy(Qt::CustomContextMenu); - connect(actionsList, &QWidget::customContextMenuRequested, this, + ui->actionsList->setContextMenuPolicy(Qt::CustomContextMenu); + connect(ui->actionsList, &QWidget::customContextMenuRequested, this, &AdvSceneSwitcher::ShowMacroActionsContextMenu); - conditionsList->setContextMenuPolicy(Qt::CustomContextMenu); - connect(conditionsList, &QWidget::customContextMenuRequested, this, + ui->conditionsList->setContextMenuPolicy(Qt::CustomContextMenu); + connect(ui->conditionsList, &QWidget::customContextMenuRequested, this, &AdvSceneSwitcher::ShowMacroConditionsContextMenu); SetMacroEditAreaDisabled(true); @@ -739,7 +734,7 @@ void AdvSceneSwitcher::ShowMacroContextMenu(const QPoint &pos) void AdvSceneSwitcher::ShowMacroActionsContextMenu(const QPoint &pos) { - QPoint globalPos = actionsList->mapToGlobal(pos); + QPoint globalPos = ui->actionsList->mapToGlobal(pos); QMenu menu; menu.addAction(obs_module_text("AdvSceneSwitcher.macroTab.expandAll"), this, &AdvSceneSwitcher::ExpandAllActions); @@ -754,7 +749,7 @@ void AdvSceneSwitcher::ShowMacroActionsContextMenu(const QPoint &pos) void AdvSceneSwitcher::ShowMacroConditionsContextMenu(const QPoint &pos) { - QPoint globalPos = conditionsList->mapToGlobal(pos); + QPoint globalPos = ui->conditionsList->mapToGlobal(pos); QMenu menu; menu.addAction(obs_module_text("AdvSceneSwitcher.macroTab.expandAll"), this, &AdvSceneSwitcher::ExpandAllConditions); @@ -800,7 +795,7 @@ void AdvSceneSwitcher::ExpandAllActions() if (!m) { return; } - actionsList->SetCollapsed(false); + ui->actionsList->SetCollapsed(false); } void AdvSceneSwitcher::ExpandAllConditions() @@ -809,7 +804,7 @@ void AdvSceneSwitcher::ExpandAllConditions() if (!m) { return; } - conditionsList->SetCollapsed(false); + ui->conditionsList->SetCollapsed(false); } void AdvSceneSwitcher::CollapseAllActions() @@ -818,7 +813,7 @@ void AdvSceneSwitcher::CollapseAllActions() if (!m) { return; } - actionsList->SetCollapsed(true); + ui->actionsList->SetCollapsed(true); } void AdvSceneSwitcher::CollapseAllConditions() @@ -827,7 +822,7 @@ void AdvSceneSwitcher::CollapseAllConditions() if (!m) { return; } - conditionsList->SetCollapsed(true); + ui->conditionsList->SetCollapsed(true); } void AdvSceneSwitcher::MinimizeActions()