MCPcopy Create free account
hub / github.com/WarmUpTill/SceneSwitcher / ShowMacroContextMenu

Method ShowMacroContextMenu

lib/macro/macro-tab.cpp:719–777  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

717}
718
719void AdvSceneSwitcher::ShowMacroContextMenu(const QPoint &pos)
720{
721 QPoint globalPos = ui->macros->mapToGlobal(pos);
722 QMenu menu;
723
724 menu.addAction(
725 obs_module_text("AdvSceneSwitcher.macroTab.contextMenuAdd"),
726 this, &AdvSceneSwitcher::on_macroAdd_clicked);
727
728 auto copy = menu.addAction(
729 obs_module_text("AdvSceneSwitcher.macroTab.copy"), this,
730 &AdvSceneSwitcher::CopyMacro);
731 copy->setEnabled(ui->macros->SingleItemSelected() &&
732 !ui->macros->GroupsSelected());
733 menu.addSeparator();
734
735 auto rename = menu.addAction(
736 obs_module_text("AdvSceneSwitcher.macroTab.rename"), this,
737 &AdvSceneSwitcher::RenameSelectedMacro);
738 rename->setEnabled(ui->macros->SingleItemSelected());
739
740 auto remove = menu.addAction(
741 obs_module_text("AdvSceneSwitcher.macroTab.remove"), this,
742 &AdvSceneSwitcher::on_macroRemove_clicked);
743 remove->setDisabled(ui->macros->SelectionEmpty());
744 menu.addSeparator();
745
746 auto group = menu.addAction(
747 obs_module_text("AdvSceneSwitcher.macroTab.group"), ui->macros,
748 &MacroTree::GroupSelectedItems);
749 group->setDisabled(ui->macros->GroupedItemsSelected() ||
750 ui->macros->GroupsSelected() ||
751 ui->macros->SelectionEmpty());
752
753 auto ungroup = menu.addAction(
754 obs_module_text("AdvSceneSwitcher.macroTab.ungroup"),
755 ui->macros, &MacroTree::UngroupSelectedGroups);
756 ungroup->setEnabled(ui->macros->GroupsSelected());
757
758 auto expandAll = menu.addAction(
759 obs_module_text("AdvSceneSwitcher.macroTab.expandAllGroups"),
760 ui->macros, &MacroTree::ExpandAll);
761 expandAll->setEnabled(ui->macros->GroupsExist());
762
763 auto collapseAll = menu.addAction(
764 obs_module_text("AdvSceneSwitcher.macroTab.collapseAllGroups"),
765 ui->macros, &MacroTree::CollapseAll);
766 collapseAll->setEnabled(ui->macros->GroupsExist());
767 menu.addSeparator();
768
769 auto exportAction = menu.addAction(
770 obs_module_text("AdvSceneSwitcher.macroTab.export"), this,
771 &AdvSceneSwitcher::ExportMacros);
772 exportAction->setDisabled(ui->macros->SelectionEmpty());
773 menu.addAction(obs_module_text("AdvSceneSwitcher.macroTab.import"),
774 this, &AdvSceneSwitcher::ImportMacros);
775
776 menu.exec(globalPos);

Callers

nothing calls this directly

Calls 6

obs_module_textFunction · 0.85
SingleItemSelectedMethod · 0.80
GroupsSelectedMethod · 0.80
SelectionEmptyMethod · 0.80
GroupedItemsSelectedMethod · 0.80
GroupsExistMethod · 0.80

Tested by

no test coverage detected