diff --git a/libs/gtkmm2ext/actions.cc b/libs/gtkmm2ext/actions.cc index 25d2ca148c..1b772757bc 100644 --- a/libs/gtkmm2ext/actions.cc +++ b/libs/gtkmm2ext/actions.cc @@ -360,6 +360,18 @@ ActionManager::create_action_group (void * owner, string const & name) return g; } +RefPtr +ActionManager::get_action_group (string const & name) +{ + for (ActionGroups::iterator g = groups.begin(); g != groups.end(); ++g) { + if ((*g)->get_name () == name) { + return *g; + } + } + + return RefPtr (); +} + RefPtr ActionManager::register_action (RefPtr group, const char* name, const char* label) { diff --git a/libs/gtkmm2ext/gtkmm2ext/actions.h b/libs/gtkmm2ext/gtkmm2ext/actions.h index 6bb56adaee..780c846d58 100644 --- a/libs/gtkmm2ext/gtkmm2ext/actions.h +++ b/libs/gtkmm2ext/gtkmm2ext/actions.h @@ -71,6 +71,7 @@ namespace ActionManager { LIBGTKMM2EXT_API extern void disable_active_actions (); LIBGTKMM2EXT_API extern Glib::RefPtr create_action_group (void * owner, std::string const & group_name); + LIBGTKMM2EXT_API extern Glib::RefPtr get_action_group (std::string const & group_name); LIBGTKMM2EXT_API extern Glib::RefPtr register_action (Glib::RefPtr group, const char* name, const char* label); LIBGTKMM2EXT_API extern Glib::RefPtr register_action (Glib::RefPtr group,