Note: this is not yet correct. The owner (pointer) values passed in are not yet usable
void
ARDOUR_UI::install_actions ()
{
- Glib::RefPtr<ActionGroup> main_actions = ActionManager::create_action_group (X_("Main"));
- Glib::RefPtr<ActionGroup> main_menu_actions = ActionManager::create_action_group (X_("Main_menu"));
+ Glib::RefPtr<ActionGroup> main_actions = ActionManager::create_action_group (this, X_("Main"));
+ Glib::RefPtr<ActionGroup> main_menu_actions = ActionManager::create_action_group (this, X_("Main_menu"));
Glib::RefPtr<Action> act;
ActionManager::register_action (main_actions, X_("Escape"), _("Escape (deselect all)"), sigc::mem_fun (*this, &ARDOUR_UI::escape));
/* 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));
ActionManager::session_sensitive_actions.push_back (act);
ActionManager::write_sensitive_actions.push_back (act);
- Glib::RefPtr<ActionGroup> transport_actions = ActionManager::create_action_group (X_("Transport"));
+ Glib::RefPtr<ActionGroup> transport_actions = ActionManager::create_action_group (this, X_("Transport"));
/* do-nothing action for the "transport" menu bar item */
act = ActionManager::register_action (main_actions, X_("MonitorMenu"), _("Monitor Section"));
ActionManager::session_sensitive_actions.push_back (act);
- Glib::RefPtr<ActionGroup> monitor_actions = ActionManager::create_action_group (X_("Monitor"));
+ Glib::RefPtr<ActionGroup> 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);
ActionManager::session_sensitive_actions.push_back (act);
}
- Glib::RefPtr<ActionGroup> shuttle_actions = ActionManager::create_action_group ("ShuttleActions");
+ Glib::RefPtr<ActionGroup> 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<ActionGroup> option_actions = ActionManager::create_action_group ("Options");
+ Glib::RefPtr<ActionGroup> 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);
/* MIDI */
- Glib::RefPtr<ActionGroup> midi_actions = ActionManager::create_action_group (X_("MIDI"));
+ Glib::RefPtr<ActionGroup> 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);
{
RefPtr<Action> 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 */
toggle_reg_sens (editor_actions, "sound-midi-notes", _("Sound Selected MIDI Notes"), sigc::mem_fun (*this, &Editor::toggle_sound_midi_notes));
- Glib::RefPtr<ActionGroup> zoom_actions = ActionManager::create_action_group (X_("Zoom"));
+ Glib::RefPtr<ActionGroup> 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));
act->set_sensitive (false);
}
- Glib::RefPtr<ActionGroup> mouse_mode_actions = ActionManager::create_action_group (X_("MouseMode"));
+ Glib::RefPtr<ActionGroup> 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));
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<ActionGroup> snap_actions = ActionManager::create_action_group (X_("Snap"));
+ Glib::RefPtr<ActionGroup> 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)));
/* RULERS */
- Glib::RefPtr<ActionGroup> ruler_actions = ActionManager::create_action_group (X_("Rulers"));
+ Glib::RefPtr<ActionGroup> ruler_actions = ActionManager::create_action_group (this, X_("Rulers"));
ruler_tempo_action = Glib::RefPtr<ToggleAction>::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<ToggleAction>::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<ToggleAction>::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)));
/* REGION LIST */
- Glib::RefPtr<ActionGroup> rl_actions = ActionManager::create_action_group (X_("RegionList"));
+ Glib::RefPtr<ActionGroup> rl_actions = ActionManager::create_action_group (this, X_("RegionList"));
RadioAction::Group sort_type_group;
RadioAction::Group sort_order_group;
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 */
string action_descr;
Glib::RefPtr<Action> 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));
}
-
- Glib::RefPtr<ActionGroup> 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"),
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<Action> act;
{
/* add named actions for the step editor */
- Glib::RefPtr<ActionGroup> group = ActionManager::create_action_group (X_("StepEditing"));
+ Glib::RefPtr<ActionGroup> 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));
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,