#pragma once #include "filter-combo-box.hpp" #include namespace advss { class Macro; class MacroRef; class ADVSS_EXPORT MacroSelection : public FilterComboBox { Q_OBJECT public: MacroSelection(QWidget *parent); void SetCurrentMacro(const MacroRef &); void HideSelectedMacro(); // Macro currently being edited void HideGroups(); void ShowAllMacros(); private slots: void MacroAdd(const QString &name); void MacroRemove(const QString &name); void MacroRename(const QString &oldName, const QString &newName); }; class MacroSelectionDialog : public QDialog { Q_OBJECT public: MacroSelectionDialog(QWidget *parent); static bool AskForMacro(std::string ¯oName); private: MacroSelection *_macroSelection; }; } // namespace advss