Patch from dx9s to rearrange the View/Window menus a bit and add an option to keap...
authorCarl Hetherington <carl@carlh.net>
Fri, 23 Jul 2010 23:29:36 +0000 (23:29 +0000)
committerCarl Hetherington <carl@carlh.net>
Fri, 23 Jul 2010 23:29:36 +0000 (23:29 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@7480 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/ardour.menus.in
gtk2_ardour/ardour_ui.h
gtk2_ardour/ardour_ui2.cc
gtk2_ardour/ardour_ui_ed.cc
gtk2_ardour/ardour_ui_options.cc
gtk2_ardour/editor.cc
libs/ardour/ardour/rc_configuration_vars.h

index 6cf7f0dbb99d488946708364e8ae25696e73bb15..008d250f002c2d7f0a9a7b4799331345d119e521 100644 (file)
        </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'/>
                   <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"/>
                             <menuitem action='goto-visual-state-12'/>
               </menu>
 
-              <menuitem action='ToggleMaximalEditor'/>
+               <separator/>
+
               <menuitem action='show-editor-mixer'/>
               <menuitem action='show-editor-list'/>
                <menuitem action='ToggleMeasureVisibility'/>
                </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'/>
index da85048fb447e610c6f8d7890ddfc7d89df3b1b6..4e8137d76eb92ede953a1d4b61713d8a8f1f8fda 100644 (file)
@@ -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; }
 
index da518e1b1382039aeabbfb91145667aaa9861931..ddca410dc40d66a3195c15acae222b21e0b29914 100644 (file)
@@ -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
index e60f6818239cb8bfeae51893b31a494da62ed5a8..fbd1a7bccc99ead5f50d2ee0e2147c3bdf221a8e 100644 (file)
@@ -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));
index 72404798bcba3ed0e90c45cf9f1424b00d7d20ae..fd914b95dde1d476d25ddcca7830a3990732b254 100644 (file)
@@ -46,6 +46,14 @@ using namespace Gtkmm2ext;
 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()
 {
@@ -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") {
index 42b1a99fc5a29ed0d935b338519807a935c96f51..49470849c6042f238b380315a4ba6c225132b6a3 100644 (file)
@@ -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
index be07069f7fe1cd1ce692fa4a69cea27bc69e075b..f8d2c9500de190d8d87e4ef3406471b81ad17888 100644 (file)
@@ -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")