From: Paul Davis Date: Mon, 10 Dec 2018 23:44:05 +0000 (-0500) Subject: add nominal owners for all action groups X-Git-Url: https://main.carlh.net/gitweb/?a=commitdiff_plain;h=5981b7f1b8bc85444d66ab0ffac2dee412dd21ea;p=ardour.git add nominal owners for all action groups Note: this is not yet correct. The owner (pointer) values passed in are not yet usable --- diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc index 49d3d14c58..885b9aa3e4 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 (X_("Main")); - Glib::RefPtr main_menu_actions = ActionManager::create_action_group (X_("Main_menu")); + 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 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 (X_("Common")); + common_actions = ActionManager::create_action_group (this, 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 (X_("Transport")); + Glib::RefPtr transport_actions = ActionManager::create_action_group (this, 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 (X_("Monitor")); + Glib::RefPtr monitor_actions = ActionManager::create_action_group (this, 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 ("ShuttleActions"); + Glib::RefPtr shuttle_actions = ActionManager::create_action_group (this, "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 ("Options"); + Glib::RefPtr option_actions = ActionManager::create_action_group (this, "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 (X_("MIDI")); + Glib::RefPtr midi_actions = ActionManager::create_action_group (this, 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_actions.cc b/gtk2_ardour/editor_actions.cc index 294300d351..9309bcaae1 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 (X_("Editor")); - editor_menu_actions = ActionManager::create_action_group (X_("EditorMenu")); + editor_actions = ActionManager::create_action_group (this, X_("Editor")); + editor_menu_actions = ActionManager::create_action_group (this, 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 (X_("Zoom")); + Glib::RefPtr zoom_actions = ActionManager::create_action_group (this, 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 (X_("MouseMode")); + Glib::RefPtr mouse_mode_actions = ActionManager::create_action_group (this, 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 (X_("Snap")); + Glib::RefPtr snap_actions = ActionManager::create_action_group (this, 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 (X_("Rulers")); + Glib::RefPtr ruler_actions = ActionManager::create_action_group (this, 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 (X_("RegionList")); + Glib::RefPtr rl_actions = ActionManager::create_action_group (this, 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 (X_("Region")); + _region_actions = ActionManager::create_action_group (this, 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/monitor_section.cc b/gtk2_ardour/monitor_section.cc index 201bd175e4..c401bec602 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 (X_("Monitor")); + monitor_actions = ActionManager::create_action_group (this, 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,8 +963,7 @@ MonitorSection::register_actions () } - - Glib::RefPtr solo_actions = ActionManager::create_action_group (X_("Solo")); + solo_actions = ActionManager::create_action_group (this, 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 890ed33eec..4edadb4bdc 100644 --- a/gtk2_ardour/processor_box.cc +++ b/gtk2_ardour/processor_box.cc @@ -3761,7 +3761,11 @@ ProcessorBox::get_generic_editor_window (boost::shared_ptr processor) void ProcessorBox::register_actions () { - processor_box_actions = ActionManager::create_action_group (X_("ProcessorMenu")); + /* We need to use a static object as the owner, since these actions + need to be considered ownable by all ProcessorBox objects + */ + + processor_box_actions = ActionManager::create_action_group (bindings, X_("ProcessorMenu")); Glib::RefPtr act; diff --git a/gtk2_ardour/step_entry.cc b/gtk2_ardour/step_entry.cc index 1531ceb729..25edb120ae 100644 --- a/gtk2_ardour/step_entry.cc +++ b/gtk2_ardour/step_entry.cc @@ -588,7 +588,7 @@ StepEntry::register_actions () { /* add named actions for the step editor */ - Glib::RefPtr group = ActionManager::create_action_group (X_("StepEditing")); + Glib::RefPtr group = ActionManager::create_action_group (this, 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 4c68ff411a..d32c0aa399 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 (X_("Window")); + window_actions = ActionManager::create_action_group (this, X_("Window")); } ActionManager::register_toggle_action (window_actions,