diff options
-rw-r--r-- | gtk2_ardour/ardour.menus.in | 44 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui.h | 1 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui2.cc | 3 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui_ed.cc | 2 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui_options.cc | 10 | ||||
-rw-r--r-- | gtk2_ardour/editor.cc | 6 | ||||
-rw-r--r-- | libs/ardour/ardour/rc_configuration_vars.h | 1 |
7 files changed, 52 insertions, 15 deletions
diff --git a/gtk2_ardour/ardour.menus.in b/gtk2_ardour/ardour.menus.in index 6cf7f0dbb9..008d250f00 100644 --- a/gtk2_ardour/ardour.menus.in +++ b/gtk2_ardour/ardour.menus.in @@ -297,6 +297,26 @@ </menu> <menu name='View' action = 'View'> + <menuitem action='ToggleMaximalEditor'/> + <menuitem action='KeepTearoffs'/> + + <separator/> + + <menu action="PrimaryClockMenu"> + <menuitem action="primary-clock-bbt"/> + <menuitem action="primary-clock-minsec"/> + <menuitem action="primary-clock-samples"/> + <menuitem action="primary-clock-off"/> + </menu> + <menu action="SecondaryClockMenu"> + <menuitem action="secondary-clock-bbt"/> + <menuitem action="secondary-clock-minsec"/> + <menuitem action="secondary-clock-samples"/> + <menuitem action="secondary-clock-off"/> + </menu> + + <separator/> + <menu action="ZoomMenu"> <menuitem action='temporal-zoom-in'/> <menuitem action='temporal-zoom-out'/> @@ -341,18 +361,7 @@ <menuitem action='snap-to-region-sync'/> <menuitem action='snap-to-region-boundary'/> </menu> - <menu action="PrimaryClockMenu"> - <menuitem action="primary-clock-bbt"/> - <menuitem action="primary-clock-minsec"/> - <menuitem action="primary-clock-samples"/> - <menuitem action="primary-clock-off"/> - </menu> - <menu action="SecondaryClockMenu"> - <menuitem action="secondary-clock-bbt"/> - <menuitem action="secondary-clock-minsec"/> - <menuitem action="secondary-clock-samples"/> - <menuitem action="secondary-clock-off"/> - </menu> + <menu action="RulerMenu"> <menuitem action="toggle-minsec-ruler"/> <menuitem action="toggle-samples-ruler"/> @@ -397,7 +406,8 @@ <menuitem action='goto-visual-state-12'/> </menu> - <menuitem action='ToggleMaximalEditor'/> + <separator/> + <menuitem action='show-editor-mixer'/> <menuitem action='show-editor-list'/> <menuitem action='ToggleMeasureVisibility'/> @@ -420,17 +430,21 @@ </menu> </menu> <menu action = 'WindowMenu'> - <menuitem action='ToggleMaximalEditor'/> - <separator/> <menuitem action='goto-editor'/> <menuitem action='goto-mixer'/> <menuitem action='toggle-editor-mixer-on-top'/> + + <separator/> + <menuitem action='ToggleInspector'/> <menuitem action='ToggleLocations'/> <menuitem action='ToggleKeyEditor'/> <menuitem action='ToggleBundleManager'/> <menuitem action='ToggleThemeManager'/> <menuitem action='ToggleBigClock'/> + + <separator/> + <menuitem action='NewMIDITracer'/> <menuitem action='toggle-audio-connection-manager'/> <menuitem action='toggle-midi-connection-manager'/> diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index da85048fb4..4e8137d76e 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -168,6 +168,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr void new_midi_tracer_window (); void toggle_route_params_window (); void toggle_editing_space(); + void toggle_keep_tearoffs(); Gtk::Tooltips& tooltips() { return _tooltips; } diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc index da518e1b13..ddca410dc4 100644 --- a/gtk2_ardour/ardour_ui2.cc +++ b/gtk2_ardour/ardour_ui2.cc @@ -949,6 +949,9 @@ ARDOUR_UI::maximise_editing_space () transport_tearoff->set_visible (false); editor->maximise_editing_space (); + if (Config->get_keep_tearoffs()) { + transport_tearoff->set_visible (true); + } } void diff --git a/gtk2_ardour/ardour_ui_ed.cc b/gtk2_ardour/ardour_ui_ed.cc index e60f681823..fbd1a7bccc 100644 --- a/gtk2_ardour/ardour_ui_ed.cc +++ b/gtk2_ardour/ardour_ui_ed.cc @@ -212,6 +212,8 @@ ARDOUR_UI::install_actions () /* windows visibility actions */ ActionManager::register_toggle_action (common_actions, X_("ToggleMaximalEditor"), _("Maximise Editor Space"), sigc::mem_fun (*this, &ARDOUR_UI::toggle_editing_space)); + act = ActionManager::register_toggle_action (common_actions, X_("KeepTearoffs"), _("Toolbars when Maximised"), mem_fun (*this, &ARDOUR_UI::toggle_keep_tearoffs)); + ActionManager::session_sensitive_actions.push_back (act); ActionManager::register_action (common_actions, X_("goto-editor"), _("Show Editor"), sigc::mem_fun(*this, &ARDOUR_UI::goto_editor_window)); ActionManager::register_action (common_actions, X_("goto-mixer"), _("Show Mixer"), sigc::mem_fun(*this, &ARDOUR_UI::goto_mixer_window)); diff --git a/gtk2_ardour/ardour_ui_options.cc b/gtk2_ardour/ardour_ui_options.cc index 72404798bc..fd914b95dd 100644 --- a/gtk2_ardour/ardour_ui_options.cc +++ b/gtk2_ardour/ardour_ui_options.cc @@ -47,6 +47,14 @@ using namespace ARDOUR; using namespace PBD; void +ARDOUR_UI::toggle_keep_tearoffs () +{ + ActionManager::toggle_config_state ("Common", "KeepTearoffs", &RCConfiguration::set_keep_tearoffs, &RCConfiguration::get_keep_tearoffs); + + ARDOUR_UI::toggle_editing_space (); +} + +void ARDOUR_UI::toggle_external_sync() { ActionManager::toggle_config_state_foo ("Transport", "ToggleExternalSync", sigc::mem_fun (_session->config, &SessionConfiguration::set_external_sync), sigc::mem_fun (_session->config, &SessionConfiguration::get_external_sync)); @@ -334,6 +342,8 @@ ARDOUR_UI::parameter_changed (std::string p) } #endif + } else if (p == "keep-tearoffs") { + ActionManager::map_some_state ("Common", "KeepTearoffs", &RCConfiguration::get_keep_tearoffs); } else if (p == "mmc-control") { ActionManager::map_some_state ("options", "UseMMC", &RCConfiguration::get_mmc_control); } else if (p == "midi-feedback") { diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index 42b1a99fc5..49470849c6 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -4171,6 +4171,12 @@ Editor::maximise_editing_space () } else { editor_summary_pane.set_position (post_maximal_vertical_pane_position); } + + if (Config->get_keep_tearoffs()) { + _mouse_mode_tearoff->set_visible (true); + _tools_tearoff->set_visible (true); + _zoom_tearoff->set_visible (true); + } } void diff --git a/libs/ardour/ardour/rc_configuration_vars.h b/libs/ardour/ardour/rc_configuration_vars.h index be07069f7f..f8d2c9500d 100644 --- a/libs/ardour/ardour/rc_configuration_vars.h +++ b/libs/ardour/ardour/rc_configuration_vars.h @@ -136,6 +136,7 @@ CONFIG_VARIABLE (uint32_t, periodic_safety_backup_interval, "periodic-safety-bac CONFIG_VARIABLE (float, automation_interval, "automation-interval", 50) CONFIG_VARIABLE (bool, sync_all_route_ordering, "sync-all-route-ordering", true) CONFIG_VARIABLE (bool, only_copy_imported_files, "only-copy-imported-files", false) +CONFIG_VARIABLE (bool, keep_tearoffs, "keep-tearoffs", false) CONFIG_VARIABLE (bool, new_plugins_active, "new-plugins-active", true) CONFIG_VARIABLE (std::string, keyboard_layout, "keyboard-layout", "ansi") CONFIG_VARIABLE (std::string, default_bindings, "default-bindings", "ardour") |