From cdc2d055f1ede3d9565dbf2b2d1abbf87a1f622c Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 17 Nov 2005 21:31:37 +0000 Subject: more fixes on the long road to compiling git-svn-id: svn://localhost/trunk/ardour2@103 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/actions.cc | 41 +++++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 16 deletions(-) (limited to 'gtk2_ardour/actions.cc') diff --git a/gtk2_ardour/actions.cc b/gtk2_ardour/actions.cc index c455b30ed0..86ca2284f3 100644 --- a/gtk2_ardour/actions.cc +++ b/gtk2_ardour/actions.cc @@ -29,21 +29,21 @@ using namespace std; using namespace Gtk; using namespace Glib; using namespace sigc; +using namespace ActionManager; -vector > ActionManager::session_sensitive_actions; -vector > ActionManager::region_list_selection_sensitive_actions; -vector > ActionManager::region_selection_sensitive_actions; -vector > ActionManager::track_selection_sensitive_actions; -vector > ActionManager::plugin_selection_sensitive_actions; -vector > ActionManager::range_sensitive_actions; -vector > ActionManager::jack_sensitive_actions; +vector > ActionManager::session_sensitive_actions; +vector > ActionManager::region_list_selection_sensitive_actions; +vector > ActionManager::region_selection_sensitive_actions; +vector > ActionManager::track_selection_sensitive_actions; +vector > ActionManager::plugin_selection_sensitive_actions; +vector > ActionManager::range_sensitive_actions; +vector > ActionManager::jack_sensitive_actions; +string ActionManager::unbound_string = "--"; -namespace ActionManager { - -static vector > ui_managers; +static vector > ui_managers; void -register_ui_manager (Glib::RefPtr uim) +register_ui_manager (RefPtr uim) { ui_managers.push_back (uim); } @@ -119,7 +119,7 @@ register_toggle_action (RefPtr group, string name, string label, sl return act; } -bool lookup_entry (const Glib::ustring accel_path, Gtk::AccelKey& key) +bool lookup_entry (const ustring accel_path, Gtk::AccelKey& key) { GtkAccelKey gkey; bool known = gtk_accel_map_lookup_entry (accel_path.c_str(), &gkey); @@ -133,10 +133,21 @@ bool lookup_entry (const Glib::ustring accel_path, Gtk::AccelKey& key) return known; } +void +merge_actions (RefPtr dst, const RefPtr src) +{ + ListHandle > group_actions = src->get_actions(); + + for (ListHandle >::iterator a = group_actions.begin(); a != group_actions.end(); ++a) { + RefPtr act = Action::create ((*a)->get_name(), (*a)->property_label()); + dst->add (act); + } +} + void get_all_actions (vector& names, vector& paths, vector& keys, vector& bindings) { - for (vector >::iterator u = ui_managers.begin(); u != ui_managers.end(); ++u) { + for (vector >::iterator u = ui_managers.begin(); u != ui_managers.end(); ++u) { ListHandle > uim_groups = (*u)->get_action_groups (); @@ -159,7 +170,7 @@ get_all_actions (vector& names, vector& paths, vector& k if (known) { keys.push_back ((*u)->get_accel_group()->name (key.get_key(), Gdk::ModifierType (key.get_mod()))); } else { - keys.push_back ("--"); + keys.push_back (unbound_string); } bindings.push_back (AccelKey (key.get_key(), Gdk::ModifierType (key.get_mod()))); @@ -167,5 +178,3 @@ get_all_actions (vector& names, vector& paths, vector& k } } } - -} -- cgit v1.2.3