mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-03-21 17:34:57 -05:00
Add context menu option to expand / collapse all macro groups
This commit is contained in:
parent
101ef4e973
commit
49c0de3f1b
|
|
@ -177,6 +177,8 @@ AdvSceneSwitcher.macroTab.contextMenuAdd="Add"
|
|||
AdvSceneSwitcher.macroTab.copy="Duplicate Macro"
|
||||
AdvSceneSwitcher.macroTab.group="Group Selected Macros"
|
||||
AdvSceneSwitcher.macroTab.ungroup="Ungroup Selected Groups"
|
||||
AdvSceneSwitcher.macroTab.expandAllGroups="Expand all Groups"
|
||||
AdvSceneSwitcher.macroTab.collapseAllGroups="Collapse all Groups"
|
||||
AdvSceneSwitcher.macroTab.rename="Rename"
|
||||
AdvSceneSwitcher.macroTab.remove="Remove"
|
||||
AdvSceneSwitcher.macroTab.export="Export"
|
||||
|
|
|
|||
|
|
@ -1148,6 +1148,17 @@ void AdvSceneSwitcher::ShowMacroContextMenu(const QPoint &pos)
|
|||
!ui->macros->GroupsSelected());
|
||||
menu.addSeparator();
|
||||
|
||||
auto rename = menu.addAction(
|
||||
obs_module_text("AdvSceneSwitcher.macroTab.rename"), this,
|
||||
&AdvSceneSwitcher::RenameSelectedMacro);
|
||||
rename->setEnabled(ui->macros->SingleItemSelected());
|
||||
|
||||
auto remove = menu.addAction(
|
||||
obs_module_text("AdvSceneSwitcher.macroTab.remove"), this,
|
||||
&AdvSceneSwitcher::on_macroRemove_clicked);
|
||||
remove->setDisabled(ui->macros->SelectionEmpty());
|
||||
menu.addSeparator();
|
||||
|
||||
auto group = menu.addAction(
|
||||
obs_module_text("AdvSceneSwitcher.macroTab.group"), ui->macros,
|
||||
&MacroTree::GroupSelectedItems);
|
||||
|
|
@ -1159,17 +1170,16 @@ void AdvSceneSwitcher::ShowMacroContextMenu(const QPoint &pos)
|
|||
obs_module_text("AdvSceneSwitcher.macroTab.ungroup"),
|
||||
ui->macros, &MacroTree::UngroupSelectedGroups);
|
||||
ungroup->setEnabled(ui->macros->GroupsSelected());
|
||||
menu.addSeparator();
|
||||
|
||||
auto rename = menu.addAction(
|
||||
obs_module_text("AdvSceneSwitcher.macroTab.rename"), this,
|
||||
&AdvSceneSwitcher::RenameSelectedMacro);
|
||||
rename->setEnabled(ui->macros->SingleItemSelected());
|
||||
auto expandAll = menu.addAction(
|
||||
obs_module_text("AdvSceneSwitcher.macroTab.expandAllGroups"),
|
||||
ui->macros, &MacroTree::ExpandAll);
|
||||
expandAll->setEnabled(ui->macros->GroupsExist());
|
||||
|
||||
auto remove = menu.addAction(
|
||||
obs_module_text("AdvSceneSwitcher.macroTab.remove"), this,
|
||||
&AdvSceneSwitcher::on_macroRemove_clicked);
|
||||
remove->setDisabled(ui->macros->SelectionEmpty());
|
||||
auto collapseAll = menu.addAction(
|
||||
obs_module_text("AdvSceneSwitcher.macroTab.collapseAllGroups"),
|
||||
ui->macros, &MacroTree::CollapseAll);
|
||||
collapseAll->setEnabled(ui->macros->GroupsExist());
|
||||
menu.addSeparator();
|
||||
|
||||
auto exportAction = menu.addAction(
|
||||
|
|
|
|||
|
|
@ -1181,6 +1181,16 @@ bool MacroTree::SelectionEmpty() const
|
|||
return selectedIndexes().empty();
|
||||
}
|
||||
|
||||
bool MacroTree::GroupsExist() const
|
||||
{
|
||||
for (const auto ¯o : GetMacros()) {
|
||||
if (macro->IsGroup()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void MacroTree::ExpandGroup(std::shared_ptr<Macro> item) const
|
||||
{
|
||||
auto *mtm = GetModel();
|
||||
|
|
@ -1293,6 +1303,26 @@ void MacroTree::UngroupSelectedGroups()
|
|||
assert(GetModel()->IsInValidState());
|
||||
}
|
||||
|
||||
void MacroTree::ExpandAll()
|
||||
{
|
||||
for (const auto ¯o : GetMacros()) {
|
||||
if (!macro->IsGroup()) {
|
||||
continue;
|
||||
}
|
||||
ExpandGroup(macro);
|
||||
}
|
||||
}
|
||||
|
||||
void MacroTree::CollapseAll()
|
||||
{
|
||||
for (const auto ¯o : GetMacros()) {
|
||||
if (!macro->IsGroup()) {
|
||||
continue;
|
||||
}
|
||||
CollapseGroup(macro);
|
||||
}
|
||||
}
|
||||
|
||||
void MacroTree::SelectionChangedHelper(const QItemSelection &,
|
||||
const QItemSelection &)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -139,12 +139,15 @@ public:
|
|||
bool GroupedItemsSelected() const;
|
||||
bool SingleItemSelected() const;
|
||||
bool SelectionEmpty() const;
|
||||
bool GroupsExist() const;
|
||||
void ExpandGroup(std::shared_ptr<Macro> item) const;
|
||||
void CollapseGroup(std::shared_ptr<Macro> item) const;
|
||||
|
||||
public slots:
|
||||
void GroupSelectedItems();
|
||||
void UngroupSelectedGroups();
|
||||
void ExpandAll();
|
||||
void CollapseAll();
|
||||
void SelectionChangedHelper(const QItemSelection &,
|
||||
const QItemSelection &);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user