Make menu option for speaker config the same as the window title.
[ardour.git] / gtk2_ardour / editor_actions.cc
index e88f5c9c319a4e288351cd1532e3a93afa1e6167..9e9d58adc97d05e903e5065a03ef3a296234e9cd 100644 (file)
@@ -20,6 +20,8 @@
 #include <gio/gio.h>
 #include <gtk/gtkiconfactory.h>
 
+#include "gtkmm2ext/tearoff.h"
+
 #include "ardour/ardour.h"
 #include "ardour/profile.h"
 #include "ardour/session.h"
@@ -74,7 +76,6 @@ Editor::register_actions ()
        ActionManager::register_action (editor_actions, X_("RegionMenuDuplicate"), _("Duplicate"));
        ActionManager::register_action (editor_actions, X_("Link"), _("Link"));
        ActionManager::register_action (editor_actions, X_("ZoomFocusMenu"), _("Zoom Focus"));
-       ActionManager::register_action (editor_actions, X_("KeyMouseActions"), _("Key Mouse"));
        ActionManager::register_action (editor_actions, X_("LocateToMarker"), _("Locate to Markers"));
        ActionManager::register_action (editor_actions, X_("MarkerMenu"), _("Markers"));
        ActionManager::register_action (editor_actions, X_("MeterFalloff"), _("Meter falloff"));
@@ -265,6 +266,11 @@ Editor::register_actions ()
        act = ActionManager::register_action (editor_actions, "toggle-zoom", _("Toggle Zoom State"), sigc::mem_fun(*this, &Editor::swap_visual_state));
        ActionManager::session_sensitive_actions.push_back (act);
 
+       act = ActionManager::register_action (editor_actions, "expand-tracks", _("Expand Track Height"), sigc::bind (sigc::mem_fun (*this, &Editor::tav_zoom_step), false));
+       ActionManager::session_sensitive_actions.push_back (act);
+       act = ActionManager::register_action (editor_actions, "shrink-tracks", _("Shrink Track Height"), sigc::bind (sigc::mem_fun (*this, &Editor::tav_zoom_step), true));
+       ActionManager::session_sensitive_actions.push_back (act);
+
        act = ActionManager::register_action (editor_actions, "move-selected-tracks-up", _("Move Selected Tracks Up"), sigc::bind (sigc::mem_fun(*_routes, &EditorRoutes::move_selected_tracks), true));
        ActionManager::session_sensitive_actions.push_back (act);
        ActionManager::track_selection_sensitive_actions.push_back (act);
@@ -289,8 +295,6 @@ Editor::register_actions ()
        ActionManager::session_sensitive_actions.push_back (act);
        act = ActionManager::register_action (editor_actions, "scroll-forward", _("Scroll Forward"), sigc::bind (sigc::mem_fun(*this, &Editor::scroll_forward), 0.8f));
        ActionManager::session_sensitive_actions.push_back (act);
-       act = ActionManager::register_action (editor_actions, "goto", _("goto"), sigc::mem_fun(*this, &Editor::goto_frame));
-       ActionManager::session_sensitive_actions.push_back (act);
        act = ActionManager::register_action (editor_actions, "center-playhead", _("Center Playhead"), sigc::mem_fun(*this, &Editor::center_playhead));
        ActionManager::session_sensitive_actions.push_back (act);
        act = ActionManager::register_action (editor_actions, "center-edit-cursor", _("Center Active Marker"), sigc::mem_fun(*this, &Editor::center_edit_point));
@@ -317,8 +321,6 @@ Editor::register_actions ()
        ActionManager::session_sensitive_actions.push_back (act);
 
        act = ActionManager::register_action (editor_actions, "play-edit-range", _("Play Edit Range"), sigc::mem_fun(*this, &Editor::play_edit_range));
-       act = ActionManager::register_action (editor_actions, "brush-at-mouse", _("Brush at Mouse"), sigc::mem_fun(*this, &Editor::kbd_brush));
-       ActionManager::session_sensitive_actions.push_back (act);
 
        act = ActionManager::register_action (editor_actions, "set-playhead", _("Playhead to Mouse"), sigc::mem_fun(*this, &Editor::set_playhead_cursor));
        ActionManager::session_sensitive_actions.push_back (act);
@@ -365,7 +367,7 @@ Editor::register_actions ()
        act = ActionManager::register_action (editor_actions, "editor-paste", _("Paste"), sigc::mem_fun(*this, &Editor::keyboard_paste));
        ActionManager::session_sensitive_actions.push_back (act);
 
-       act = ActionManager::register_action (editor_actions, "set-tempo-from-edit-range", _("Set Tempo from Edit Range=Bar"), sigc::mem_fun(*this, &Editor::use_range_as_bar));
+       act = ActionManager::register_action (editor_actions, "set-tempo-from-edit-range", _("Set Tempo from Edit Range = Bar"), sigc::mem_fun(*this, &Editor::use_range_as_bar));
        ActionManager::session_sensitive_actions.push_back (act);
 
        act = ActionManager::register_toggle_action (editor_actions, "toggle-log-window", _("Log"),
@@ -416,7 +418,7 @@ Editor::register_actions ()
 
        act = ActionManager::register_action (editor_actions, "fit-tracks", _("Fit Selected Tracks"), sigc::mem_fun(*this, &Editor::fit_selected_tracks));
        ActionManager::session_sensitive_actions.push_back (act);
-       ActionManager::track_selection_sensitive_actions.push_back (act);
+
        act = ActionManager::register_action (editor_actions, "track-height-largest", _("Largest"), sigc::bind (
                                sigc::mem_fun(*this, &Editor::set_track_height), HeightLargest));
        ActionManager::session_sensitive_actions.push_back (act);
@@ -590,8 +592,8 @@ Editor::register_actions ()
        ruler_marker_action = Glib::RefPtr<ToggleAction>::cast_static (ActionManager::register_toggle_action (ruler_actions, X_("toggle-marker-ruler"), _("Markers"), sigc::bind (sigc::mem_fun(*this, &Editor::toggle_ruler_visibility), ruler_time_marker)));
        ruler_cd_marker_action = Glib::RefPtr<ToggleAction>::cast_static (ActionManager::register_toggle_action (ruler_actions, X_("toggle-cd-marker-ruler"), _("CD Markers"), sigc::bind (sigc::mem_fun(*this, &Editor::toggle_ruler_visibility), ruler_time_cd_marker)));
        ruler_loop_punch_action = Glib::RefPtr<ToggleAction>::cast_static (ActionManager::register_toggle_action (ruler_actions, X_("toggle-loop-punch-ruler"), _("Loop/Punch"), sigc::bind (sigc::mem_fun(*this, &Editor::toggle_ruler_visibility), ruler_time_transport_marker)));
-       ruler_bbt_action = Glib::RefPtr<ToggleAction>::cast_static (ActionManager::register_toggle_action (ruler_actions, X_("toggle-bbt-ruler"), _("Bars & Beats"), sigc::bind (sigc::mem_fun(*this, &Editor::toggle_ruler_visibility), ruler_metric_frames)));
-       ruler_samples_action = Glib::RefPtr<ToggleAction>::cast_static (ActionManager::register_toggle_action (ruler_actions, X_("toggle-samples-ruler"), _("Samples"), sigc::bind (sigc::mem_fun(*this, &Editor::toggle_ruler_visibility), ruler_metric_bbt)));
+       ruler_bbt_action = Glib::RefPtr<ToggleAction>::cast_static (ActionManager::register_toggle_action (ruler_actions, X_("toggle-bbt-ruler"), _("Bars & Beats"), sigc::bind (sigc::mem_fun(*this, &Editor::toggle_ruler_visibility), ruler_metric_bbt)));
+       ruler_samples_action = Glib::RefPtr<ToggleAction>::cast_static (ActionManager::register_toggle_action (ruler_actions, X_("toggle-samples-ruler"), _("Samples"), sigc::bind (sigc::mem_fun(*this, &Editor::toggle_ruler_visibility), ruler_metric_samples)));
        ruler_timecode_action = Glib::RefPtr<ToggleAction>::cast_static (ActionManager::register_toggle_action (ruler_actions, X_("toggle-timecode-ruler"), _("Timecode"), sigc::bind (sigc::mem_fun(*this, &Editor::toggle_ruler_visibility), ruler_metric_timecode)));
        ruler_minsec_action = Glib::RefPtr<ToggleAction>::cast_static (ActionManager::register_toggle_action (ruler_actions, X_("toggle-minsec-ruler"), _("Min:Sec"), sigc::bind (sigc::mem_fun(*this, &Editor::toggle_ruler_visibility), ruler_metric_minsec)));
 
@@ -629,13 +631,16 @@ Editor::register_actions ()
 
        act = ActionManager::register_action (rl_actions, X_("rlAudition"), _("Audition"), sigc::mem_fun(*this, &Editor::audition_region_from_region_list));
        ActionManager::region_list_selection_sensitive_actions.push_back (act);
+       
        act = ActionManager::register_action (rl_actions, X_("rlHide"), _("Hide"), sigc::mem_fun(*this, &Editor::hide_region_from_region_list));
        ActionManager::region_list_selection_sensitive_actions.push_back (act);
+       
        act = ActionManager::register_action (rl_actions, X_("rlShow"), _("Show"), sigc::mem_fun(*this, &Editor::show_region_in_region_list));
        ActionManager::region_list_selection_sensitive_actions.push_back (act);
+       
        ActionManager::register_toggle_action (rl_actions, X_("rlShowAll"), _("Show All"), sigc::mem_fun(*_regions, &EditorRegions::toggle_full));
        ActionManager::register_toggle_action (rl_actions, X_("rlShowAuto"), _("Show Automatic Regions"), sigc::mem_fun (*_regions, &EditorRegions::toggle_show_auto_regions));
-
+       
        ActionManager::register_radio_action (rl_actions, sort_order_group, X_("SortAscending"),  _("Ascending"),
                        sigc::bind (sigc::mem_fun (*_regions, &EditorRegions::reset_sort_direction), true));
        ActionManager::register_radio_action (rl_actions, sort_order_group, X_("SortDescending"),   _("Descending"),
@@ -662,6 +667,7 @@ Editor::register_actions ()
        ActionManager::register_radio_action (rl_actions, sort_type_group, X_("SortBySourceFilesystem"),  _("By Source Filesystem"),
                        sigc::bind (sigc::mem_fun (*_regions, &EditorRegions::reset_sort_type), BySourceFileFS, false));
 
+       ActionManager::register_action (rl_actions, X_("removeUnusedRegions"), _("Delete Unused"), sigc::mem_fun(*_regions, &EditorRegions::delete_unused_regions));
 
        /* the next two are duplicate items with different names for use in two different contexts */
 
@@ -718,7 +724,7 @@ Editor::toggle_ruler_visibility (RulerType rt)
        case ruler_metric_bbt:
                action = "toggle-bbt-ruler";
                break;
-       case ruler_metric_frames:
+       case ruler_metric_samples:
                action = "toggle-samples-ruler";
                break;
        case ruler_metric_minsec:
@@ -745,6 +751,7 @@ Editor::toggle_ruler_visibility (RulerType rt)
        }
 
        Glib::RefPtr<Action> act = ActionManager::get_action (X_("Rulers"), action);
+       
        if (act) {
                Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic(act);
                update_ruler_visibility ();
@@ -1234,6 +1241,8 @@ Editor::parameter_changed (std::string p)
                        _group_tabs->hide ();
                }
 
+                reset_controls_layout_width ();
+
                Glib::RefPtr<Action> act = ActionManager::get_action (X_("Editor"), X_("ToggleGroupTabs"));
                if (act) {
                        Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act);
@@ -1243,6 +1252,8 @@ Editor::parameter_changed (std::string p)
                }
        } else if (p == "timecode-offset" || p == "timecode-offset-negative") {
                update_just_timecode ();
+       } else if (p == "show-zoom-tools") {
+               _zoom_tearoff->set_visible (Config->get_show_zoom_tools(), true);
        }
 }
 
@@ -1469,7 +1480,7 @@ Editor::register_region_actions ()
                );
 
        reg_sens (_region_actions, "quantize-region", _("Quantize"), sigc::mem_fun (*this, &Editor::quantize_region));
-       reg_sens (_region_actions, "insert-program-change", _("Insert Program Change..."), sigc::mem_fun (*this, &Editor::insert_program_change));
+       reg_sens (_region_actions, "insert-patch-change", _("Insert Patch Change..."), sigc::mem_fun (*this, &Editor::insert_patch_change));
        reg_sens (_region_actions, "fork-region", _("Fork"), sigc::mem_fun (*this, &Editor::fork_region));
        reg_sens (_region_actions, "strip-region-silence", _("Strip Silence..."), sigc::mem_fun (*this, &Editor::strip_region_silence));
        reg_sens (_region_actions, "set-selection-from-region", _("Set Range Selection"), sigc::mem_fun (*this, &Editor::set_selection_from_region));