-bool
-ActionManager::lookup_entry (const ustring accel_path, Gtk::AccelKey& key)
-{
- GtkAccelKey gkey;
- bool known = gtk_accel_map_lookup_entry (accel_path.c_str(), &gkey);
-
- if (known) {
- key = AccelKey (gkey.accel_key, Gdk::ModifierType (gkey.accel_mods));
- } else {
- key = AccelKey (GDK_VoidSymbol, Gdk::ModifierType (0));
- }
-
- return known;
-}
-
-void
-ActionManager::get_all_actions (vector<string>& names, vector<string>& paths, vector<string>& keys, vector<AccelKey>& bindings)
-{
- ListHandle<RefPtr<ActionGroup> > uim_groups = ui_manager->get_action_groups ();
-
- for (ListHandle<RefPtr<ActionGroup> >::iterator g = uim_groups.begin(); g != uim_groups.end(); ++g) {
-
- ListHandle<RefPtr<Action> > group_actions = (*g)->get_actions();
-
- for (ListHandle<RefPtr<Action> >::iterator a = group_actions.begin(); a != group_actions.end(); ++a) {
-
- ustring accel_path;
-
- accel_path = (*a)->get_accel_path();
-
- names.push_back ((*a)->get_name());
- paths.push_back (accel_path);
-
- AccelKey key;
- bool known = lookup_entry (accel_path, key);
-
- if (known) {
- keys.push_back (ui_manager->get_accel_group()->name (key.get_key(), Gdk::ModifierType (key.get_mod())));
- } else {
- keys.push_back (unbound_string);