From 685c4f89558b57f22371f3f3adb59c4ded254b8d Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 11 Dec 2018 05:06:26 -0500 Subject: change action group owner pointer to be the relevant keybindings; reorder setting keybindings value and defining actions The reorder is required so that the value of "bindings" has been set and is meaningful --- gtk2_ardour/ardour_ui_ed.cc | 16 ++++++++-------- gtk2_ardour/editor.cc | 2 +- gtk2_ardour/editor_actions.cc | 16 ++++++++-------- gtk2_ardour/mixer_ui.cc | 4 ++-- gtk2_ardour/monitor_section.cc | 4 ++-- gtk2_ardour/processor_box.cc | 3 ++- gtk2_ardour/step_entry.cc | 5 +++-- gtk2_ardour/window_manager.cc | 2 +- 8 files changed, 27 insertions(+), 25 deletions(-) diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc index 885b9aa3e4..a9b041d085 100644 --- a/gtk2_ardour/ardour_ui_ed.cc +++ b/gtk2_ardour/ardour_ui_ed.cc @@ -125,8 +125,8 @@ ARDOUR_UI::close_current_dialog () void ARDOUR_UI::install_actions () { - Glib::RefPtr main_actions = ActionManager::create_action_group (this, X_("Main")); - Glib::RefPtr main_menu_actions = ActionManager::create_action_group (this, X_("Main_menu")); + Glib::RefPtr main_actions = ActionManager::create_action_group (global_bindings, X_("Main")); + Glib::RefPtr main_menu_actions = ActionManager::create_action_group (global_bindings, X_("Main_menu")); Glib::RefPtr act; ActionManager::register_action (main_actions, X_("Escape"), _("Escape (deselect all)"), sigc::mem_fun (*this, &ARDOUR_UI::escape)); @@ -259,7 +259,7 @@ ARDOUR_UI::install_actions () /* these actions are intended to be shared across all windows */ - common_actions = ActionManager::create_action_group (this, X_("Common")); + common_actions = ActionManager::create_action_group (global_bindings, X_("Common")); ActionManager::register_action (common_actions, X_("Quit"), _("Quit"), (hide_return (sigc::mem_fun(*this, &ARDOUR_UI::finish)))); ActionManager::register_action (common_actions, X_("Hide"), _("Hide"), sigc::mem_fun (*this, &ARDOUR_UI::hide_application)); @@ -415,7 +415,7 @@ ARDOUR_UI::install_actions () ActionManager::session_sensitive_actions.push_back (act); ActionManager::write_sensitive_actions.push_back (act); - Glib::RefPtr transport_actions = ActionManager::create_action_group (this, X_("Transport")); + Glib::RefPtr transport_actions = ActionManager::create_action_group (global_bindings, X_("Transport")); /* do-nothing action for the "transport" menu bar item */ @@ -631,7 +631,7 @@ ARDOUR_UI::install_actions () act = ActionManager::register_action (main_actions, X_("MonitorMenu"), _("Monitor Section")); ActionManager::session_sensitive_actions.push_back (act); - Glib::RefPtr monitor_actions = ActionManager::create_action_group (this, X_("Monitor")); + Glib::RefPtr monitor_actions = ActionManager::create_action_group (global_bindings, X_("Monitor")); act = ActionManager::register_toggle_action (monitor_actions, X_("UseMonitorSection"), _("Use Monitor Section"), sigc::mem_fun(*this, &ARDOUR_UI::toggle_use_monitor_section)); ActionManager::session_sensitive_actions.push_back (act); @@ -656,12 +656,12 @@ ARDOUR_UI::install_actions () ActionManager::session_sensitive_actions.push_back (act); } - Glib::RefPtr shuttle_actions = ActionManager::create_action_group (this, "ShuttleActions"); + Glib::RefPtr shuttle_actions = ActionManager::create_action_group (global_bindings, "ShuttleActions"); shuttle_actions->add (Action::create (X_("SetShuttleUnitsPercentage"), _("Percentage")), hide_return (sigc::bind (sigc::mem_fun (*Config, &RCConfiguration::set_shuttle_units), Percentage))); shuttle_actions->add (Action::create (X_("SetShuttleUnitsSemitones"), _("Semitones")), hide_return (sigc::bind (sigc::mem_fun (*Config, &RCConfiguration::set_shuttle_units), Semitones))); - Glib::RefPtr option_actions = ActionManager::create_action_group (this, "Options"); + Glib::RefPtr option_actions = ActionManager::create_action_group (global_bindings, "Options"); act = ActionManager::register_toggle_action (option_actions, X_("SendMTC"), _("Send MTC"), sigc::mem_fun (*this, &ARDOUR_UI::toggle_send_mtc)); ActionManager::session_sensitive_actions.push_back (act); @@ -674,7 +674,7 @@ ARDOUR_UI::install_actions () /* MIDI */ - Glib::RefPtr midi_actions = ActionManager::create_action_group (this, X_("MIDI")); + Glib::RefPtr midi_actions = ActionManager::create_action_group (global_bindings, X_("MIDI")); act = ActionManager::register_action (midi_actions, X_("panic"), _("Panic (Send MIDI all-notes-off)"), sigc::mem_fun(*this, &ARDOUR_UI::midi_panic)); ActionManager::session_sensitive_actions.push_back (act); ActionManager::transport_sensitive_actions.push_back (act); diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index 7c54d7390f..3f78e49ca7 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -774,8 +774,8 @@ Editor::Editor () /* register actions now so that set_state() can find them and set toggles/checks etc */ - register_actions (); load_bindings (); + register_actions (); setup_toolbar (); diff --git a/gtk2_ardour/editor_actions.cc b/gtk2_ardour/editor_actions.cc index 9309bcaae1..8763362ae7 100644 --- a/gtk2_ardour/editor_actions.cc +++ b/gtk2_ardour/editor_actions.cc @@ -108,8 +108,8 @@ Editor::register_actions () { RefPtr act; - editor_actions = ActionManager::create_action_group (this, X_("Editor")); - editor_menu_actions = ActionManager::create_action_group (this, X_("EditorMenu")); + editor_actions = ActionManager::create_action_group (bindings, X_("Editor")); + editor_menu_actions = ActionManager::create_action_group (bindings, X_("EditorMenu")); /* non-operative menu items for menu bar */ @@ -458,7 +458,7 @@ Editor::register_actions () toggle_reg_sens (editor_actions, "sound-midi-notes", _("Sound Selected MIDI Notes"), sigc::mem_fun (*this, &Editor::toggle_sound_midi_notes)); - Glib::RefPtr zoom_actions = ActionManager::create_action_group (this, X_("Zoom")); + Glib::RefPtr zoom_actions = ActionManager::create_action_group (bindings, X_("Zoom")); RadioAction::Group zoom_group; radio_reg_sens (zoom_actions, zoom_group, "zoom-focus-left", _("Zoom Focus Left"), sigc::bind (sigc::mem_fun(*this, &Editor::zoom_focus_chosen), Editing::ZoomFocusLeft)); @@ -478,7 +478,7 @@ Editor::register_actions () act->set_sensitive (false); } - Glib::RefPtr mouse_mode_actions = ActionManager::create_action_group (this, X_("MouseMode")); + Glib::RefPtr mouse_mode_actions = ActionManager::create_action_group (bindings, X_("MouseMode")); RadioAction::Group mouse_mode_group; act = ActionManager::register_toggle_action (mouse_mode_actions, "set-mouse-mode-object-range", _("Smart Object Mode"), sigc::mem_fun (*this, &Editor::mouse_mode_object_range_toggled)); @@ -555,7 +555,7 @@ Editor::register_actions () ActionManager::register_action (editor_actions, X_("next-grid-choice"), _("Next Quantize Grid Choice"), sigc::mem_fun (*this, &Editor::next_grid_choice)); ActionManager::register_action (editor_actions, X_("prev-grid-choice"), _("Previous Quantize Grid Choice"), sigc::mem_fun (*this, &Editor::prev_grid_choice)); - Glib::RefPtr snap_actions = ActionManager::create_action_group (this, X_("Snap")); + Glib::RefPtr snap_actions = ActionManager::create_action_group (bindings, X_("Snap")); RadioAction::Group grid_choice_group; ActionManager::register_radio_action (snap_actions, grid_choice_group, X_("grid-type-thirtyseconds"), grid_type_strings[(int)GridTypeBeatDiv32].c_str(), (sigc::bind (sigc::mem_fun(*this, &Editor::grid_type_chosen), Editing::GridTypeBeatDiv32))); @@ -587,7 +587,7 @@ Editor::register_actions () /* RULERS */ - Glib::RefPtr ruler_actions = ActionManager::create_action_group (this, X_("Rulers")); + Glib::RefPtr ruler_actions = ActionManager::create_action_group (bindings, X_("Rulers")); ruler_tempo_action = Glib::RefPtr::cast_static (ActionManager::register_toggle_action (ruler_actions, X_("toggle-tempo-ruler"), _("Tempo"), sigc::bind (sigc::mem_fun(*this, &Editor::toggle_ruler_visibility), ruler_time_tempo))); ruler_meter_action = Glib::RefPtr::cast_static (ActionManager::register_toggle_action (ruler_actions, X_("toggle-meter-ruler"), _("Meter"), sigc::bind (sigc::mem_fun(*this, &Editor::toggle_ruler_visibility), ruler_time_meter))); ruler_range_action = Glib::RefPtr::cast_static (ActionManager::register_toggle_action (ruler_actions, X_("toggle-range-ruler"), _("Ranges"), sigc::bind (sigc::mem_fun(*this, &Editor::toggle_ruler_visibility), ruler_time_range_marker))); @@ -662,7 +662,7 @@ Editor::register_actions () /* REGION LIST */ - Glib::RefPtr rl_actions = ActionManager::create_action_group (this, X_("RegionList")); + Glib::RefPtr rl_actions = ActionManager::create_action_group (bindings, X_("RegionList")); RadioAction::Group sort_type_group; RadioAction::Group sort_order_group; @@ -1504,7 +1504,7 @@ Editor::reset_canvas_action_sensitivity (bool onoff) void Editor::register_region_actions () { - _region_actions = ActionManager::create_action_group (this, X_("Region")); + _region_actions = ActionManager::create_action_group (bindings, X_("Region")); /* PART 1: actions that operate on the selection, and for which the edit point type and location is irrelevant */ diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc index 37286e8e58..6a281e001f 100644 --- a/gtk2_ardour/mixer_ui.cc +++ b/gtk2_ardour/mixer_ui.cc @@ -114,8 +114,8 @@ Mixer_UI::Mixer_UI () , _strip_selection_change_without_scroll (false) , _selection (*this, *this) { - register_actions (); load_bindings (); + register_actions (); _content.set_data ("ardour-bindings", bindings); PresentationInfo::Change.connect (*this, invalidator (*this), boost::bind (&Mixer_UI::presentation_info_changed, this, _1), gui_context()); @@ -3203,7 +3203,7 @@ Mixer_UI::showing_spill_for (boost::shared_ptr s) const void Mixer_UI::register_actions () { - Glib::RefPtr group = ActionManager::create_action_group (this, X_("Mixer")); + Glib::RefPtr group = ActionManager::create_action_group (bindings, X_("Mixer")); ActionManager::register_action (group, "solo", _("Toggle Solo on Mixer-Selected Tracks/Busses"), sigc::mem_fun (*this, &Mixer_UI::solo_action)); ActionManager::register_action (group, "mute", _("Toggle Mute on Mixer-Selected Tracks/Busses"), sigc::mem_fun (*this, &Mixer_UI::mute_action)); diff --git a/gtk2_ardour/monitor_section.cc b/gtk2_ardour/monitor_section.cc index c401bec602..eb5e4eff97 100644 --- a/gtk2_ardour/monitor_section.cc +++ b/gtk2_ardour/monitor_section.cc @@ -925,7 +925,7 @@ MonitorSection::register_actions () string action_descr; Glib::RefPtr act; - monitor_actions = ActionManager::create_action_group (this, X_("Monitor")); + monitor_actions = ActionManager::create_action_group (bindings, X_("Monitor")); act = ActionManager::register_toggle_action (monitor_actions, "toggle-exclusive-solo", _("Toggle exclusive solo mode"), sigc::bind (sigc::ptr_fun (MonitorSection::action_proxy0), ToggleExclusiveSolo)); @@ -963,7 +963,7 @@ MonitorSection::register_actions () } - solo_actions = ActionManager::create_action_group (this, X_("Solo")); + solo_actions = ActionManager::create_action_group (bindings, X_("Solo")); RadioAction::Group solo_group; ActionManager::register_radio_action (solo_actions, solo_group, "solo-use-in-place", _("In-place solo"), diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc index 4edadb4bdc..6b28a66810 100644 --- a/gtk2_ardour/processor_box.cc +++ b/gtk2_ardour/processor_box.cc @@ -3765,6 +3765,8 @@ ProcessorBox::register_actions () need to be considered ownable by all ProcessorBox objects */ + load_bindings (); + processor_box_actions = ActionManager::create_action_group (bindings, X_("ProcessorMenu")); Glib::RefPtr act; @@ -3847,7 +3849,6 @@ ProcessorBox::register_actions () processor_box_actions, X_("edit-generic"), _("Edit with generic controls..."), sigc::ptr_fun (ProcessorBox::rb_edit_generic)); - load_bindings (); } void diff --git a/gtk2_ardour/step_entry.cc b/gtk2_ardour/step_entry.cc index 25edb120ae..18eaf6081a 100644 --- a/gtk2_ardour/step_entry.cc +++ b/gtk2_ardour/step_entry.cc @@ -88,9 +88,10 @@ StepEntry::StepEntry (StepEditor& seditor) , piano (0) , se (&seditor) { - register_actions (); load_bindings (); + register_actions (); + #if 0 /* set channel selector to first selected channel. if none are selected, it will remain at the value set in its @@ -588,7 +589,7 @@ StepEntry::register_actions () { /* add named actions for the step editor */ - Glib::RefPtr group = ActionManager::create_action_group (this, X_("StepEditing")); + Glib::RefPtr group = ActionManager::create_action_group (bindings, X_("StepEditing")); ActionManager::register_action (group, "insert-a", _("Insert Note A"), sigc::mem_fun (*this, &StepEntry::insert_a)); ActionManager::register_action (group, "insert-asharp", _("Insert Note A-sharp"), sigc::mem_fun (*this, &StepEntry::insert_asharp)); diff --git a/gtk2_ardour/window_manager.cc b/gtk2_ardour/window_manager.cc index d32c0aa399..493618bfcb 100644 --- a/gtk2_ardour/window_manager.cc +++ b/gtk2_ardour/window_manager.cc @@ -66,7 +66,7 @@ Manager::register_window (ProxyBase* info) if (!info->menu_name().empty()) { if (!window_actions) { - window_actions = ActionManager::create_action_group (this, X_("Window")); + window_actions = ActionManager::create_action_group (Gtkmm2ext::UI::instance()->global_bindings, X_("Window")); } ActionManager::register_toggle_action (window_actions, -- cgit v1.2.3