summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_ui2.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-07-09 12:54:09 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-02-22 15:31:21 -0500
commit77b6b25f2d4069378939725e9a4892ca84c9c73e (patch)
tree1679b0bb49f702e2d4ba5c19f5b694cd5cc230b9 /gtk2_ardour/ardour_ui2.cc
parent552e995297d7706790ed2dfaab75749e914ad317 (diff)
hide tabs in main window when there's only 1 tab left.
This helps with space and also prevents tearing off the last tab
Diffstat (limited to 'gtk2_ardour/ardour_ui2.cc')
-rw-r--r--gtk2_ardour/ardour_ui2.cc22
1 files changed, 22 insertions, 0 deletions
diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc
index edce58fb7c..0a9be6de70 100644
--- a/gtk2_ardour/ardour_ui2.cc
+++ b/gtk2_ardour/ardour_ui2.cc
@@ -149,6 +149,8 @@ ARDOUR_UI::setup_windows ()
rc_option_editor->contents().show_all ();
_tabs.signal_switch_page().connect (sigc::mem_fun (*this, &ARDOUR_UI::tabs_switch));
+ _tabs.signal_page_removed().connect (sigc::mem_fun (*this, &ARDOUR_UI::tabs_page_removed));
+ _tabs.signal_page_added().connect (sigc::mem_fun (*this, &ARDOUR_UI::tabs_page_added));
/* It would be nice if Gtkmm had wrapped this rather than just
* deprecating the old set_window_creation_hook() method, but oh well...
@@ -159,6 +161,26 @@ ARDOUR_UI::setup_windows ()
}
void
+ARDOUR_UI::tabs_page_removed (Gtk::Widget*, guint)
+{
+ if (_tabs.get_n_pages() == 1) {
+ _tabs.set_show_tabs (false);
+ } else {
+ _tabs.set_show_tabs (true);
+ }
+}
+
+void
+ARDOUR_UI::tabs_page_added (Gtk::Widget*, guint)
+{
+ if (_tabs.get_n_pages() == 1) {
+ _tabs.set_show_tabs (false);
+ } else {
+ _tabs.set_show_tabs (true);
+ }
+}
+
+void
ARDOUR_UI::tabs_switch (GtkNotebookPage*, guint page_number)
{
if (page_number == 2) {