#include "Actions/ActionsGuiController.h" struct ActionsGuiController::ActionsGuiControllerPrivate { QVector > m_SelectionZoneActions; QSet m_FilteredMenu; }; ActionsGuiController::ActionsGuiController() : impl{spimpl::make_unique_impl()} { } std::shared_ptr ActionsGuiController::addSectionZoneAction(const QString &name, SelectionZoneAction::ExecuteFunction function) { auto action = std::make_shared(name, function); impl->m_SelectionZoneActions.push_back(action); return action; } std::shared_ptr ActionsGuiController::addSectionZoneAction(const QStringList &subMenuList, const QString &name, SelectionZoneAction::ExecuteFunction function) { auto action = std::make_shared(subMenuList, name, function); impl->m_SelectionZoneActions.push_back(action); return action; } QVector > ActionsGuiController::selectionZoneActions() const { return impl->m_SelectionZoneActions; } void ActionsGuiController::removeAction(const std::shared_ptr &action) { impl->m_SelectionZoneActions.removeAll(action); } void ActionsGuiController::addFilterForMenu(const QStringList &menuPath) { impl->m_FilteredMenu.insert(menuPath); } bool ActionsGuiController::isMenuFiltered(const QStringList &menuPath) const { return impl->m_FilteredMenu.contains(menuPath); }