summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2010-07-23 23:29:36 +0000
committerCarl Hetherington <carl@carlh.net>2010-07-23 23:29:36 +0000
commitcd6c3af27d754e7d7dd09049c9fdb26af0120523 (patch)
tree0e7d688f10a73ec9a0d245cf72f4f47d55136042
parent6a61c1d3ff9e137c3e91ab5b475e43695adcae20 (diff)
Patch from dx9s to rearrange the View/Window menus a bit and add an option to keap tearoff toolbars when maximising editor space. Fixes #2974.
git-svn-id: svn://localhost/ardour2/branches/3.0@7480 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/ardour.menus.in44
-rw-r--r--gtk2_ardour/ardour_ui.h1
-rw-r--r--gtk2_ardour/ardour_ui2.cc3
-rw-r--r--gtk2_ardour/ardour_ui_ed.cc2
-rw-r--r--gtk2_ardour/ardour_ui_options.cc10
-rw-r--r--gtk2_ardour/editor.cc6
-rw-r--r--libs/ardour/ardour/rc_configuration_vars.h1
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")