summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_ui_dialogs.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-01-23 16:26:41 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2016-05-31 15:30:38 -0400
commit5c658db4bff20aea644751f58c7e8c85385d3b2c (patch)
treebd326adae482ff6bcbb27c647a3d3065e2aad232 /gtk2_ardour/ardour_ui_dialogs.cc
parent87481a2ee17023686991e1a87182c2e8ed335690 (diff)
most of the changes required to add a new master faders tabbable
the visibility button isn't actually working correctly
Diffstat (limited to 'gtk2_ardour/ardour_ui_dialogs.cc')
-rw-r--r--gtk2_ardour/ardour_ui_dialogs.cc51
1 files changed, 49 insertions, 2 deletions
diff --git a/gtk2_ardour/ardour_ui_dialogs.cc b/gtk2_ardour/ardour_ui_dialogs.cc
index cc0d9f9d24..302f52b503 100644
--- a/gtk2_ardour/ardour_ui_dialogs.cc
+++ b/gtk2_ardour/ardour_ui_dialogs.cc
@@ -52,6 +52,7 @@
#include "lua_script_manager.h"
#include "luawindow.h"
#include "main_clock.h"
+#include "master_faders.h"
#include "meterbridge.h"
#include "meter_patterns.h"
#include "monitor_section.h"
@@ -550,6 +551,7 @@ ARDOUR_UI::tabs_page_added (Widget*,guint)
editor_visibility_button.drag_source_set (drag_target_entries);
mixer_visibility_button.drag_source_set (drag_target_entries);
prefs_visibility_button.drag_source_set (drag_target_entries);
+ masters_visibility_button.drag_source_set (drag_target_entries);
editor_visibility_button.drag_source_set_icon (Gtkmm2ext::pixbuf_from_string (editor->name(),
Pango::FontDescription ("Sans 24"),
@@ -563,6 +565,10 @@ ARDOUR_UI::tabs_page_added (Widget*,guint)
Pango::FontDescription ("Sans 24"),
0, 0,
Gdk::Color ("red")));
+ masters_visibility_button.drag_source_set_icon (Gtkmm2ext::pixbuf_from_string (masters->name(),
+ Pango::FontDescription ("Sans 24"),
+ 0, 0,
+ Gdk::Color ("red")));
}
}
@@ -573,6 +579,7 @@ ARDOUR_UI::tabs_page_removed (Widget*, guint)
editor_visibility_button.drag_source_unset ();
mixer_visibility_button.drag_source_unset ();
prefs_visibility_button.drag_source_unset ();
+ masters_visibility_button.drag_source_unset ();
}
}
@@ -581,29 +588,61 @@ ARDOUR_UI::tabs_switch (GtkNotebookPage*, guint page)
{
if (editor && (page == (guint) _tabs.page_num (editor->contents()))) {
editor_visibility_button.set_active_state (Gtkmm2ext::ImplicitActive);
+
if (mixer && (mixer->tabbed() || mixer->tabbed_by_default())) {
mixer_visibility_button.set_active_state (Gtkmm2ext::Off);
}
+
if (rc_option_editor && (rc_option_editor->tabbed() || rc_option_editor->tabbed_by_default())) {
prefs_visibility_button.set_active_state (Gtkmm2ext::Off);
}
} else if (mixer && (page == (guint) _tabs.page_num (mixer->contents()))) {
+
if (editor && (editor->tabbed() || editor->tabbed_by_default())) {
editor_visibility_button.set_active_state (Gtkmm2ext::Off);
}
+
mixer_visibility_button.set_active_state (Gtkmm2ext::ImplicitActive);
if (rc_option_editor && (rc_option_editor->tabbed() || rc_option_editor->tabbed_by_default())) {
prefs_visibility_button.set_active_state (Gtkmm2ext::Off);
}
- } else {
+
+ if (masters && (masters->tabbed() || masters->tabbed_by_default())) {
+ masters_visibility_button.set_active_state (Gtkmm2ext::Off);
+ }
+
+ } else if (page == (guint) _tabs.page_num (rc_option_editor->contents())) {
+
if (editor && (editor->tabbed() || editor->tabbed_by_default())) {
editor_visibility_button.set_active_state (Gtkmm2ext::Off);
}
+
if (mixer && (mixer->tabbed() || mixer->tabbed_by_default())) {
mixer_visibility_button.set_active_state (Gtkmm2ext::Off);
}
+
prefs_visibility_button.set_active_state (Gtkmm2ext::ImplicitActive);
+
+ if (masters && (masters->tabbed() || masters->tabbed_by_default())) {
+ masters_visibility_button.set_active_state (Gtkmm2ext::Off);
+ }
+
+ } else if (page == (guint) _tabs.page_num (masters->contents())) {
+
+ if (editor && (editor->tabbed() || editor->tabbed_by_default())) {
+ editor_visibility_button.set_active_state (Gtkmm2ext::Off);
+ }
+
+ if (mixer && (mixer->tabbed() || mixer->tabbed_by_default())) {
+ mixer_visibility_button.set_active_state (Gtkmm2ext::Off);
+ }
+
+ if (rc_option_editor && (rc_option_editor->tabbed() || rc_option_editor->tabbed_by_default())) {
+ prefs_visibility_button.set_active_state (Gtkmm2ext::Off);
+ }
+
+ masters_visibility_button.set_active_state (Gtkmm2ext::ImplicitActive);
}
}
@@ -692,14 +731,22 @@ ARDOUR_UI::tabbable_state_change (Tabbable& t)
vis_button = &editor_visibility_button;
other_vis_buttons.push_back (&mixer_visibility_button);
other_vis_buttons.push_back (&prefs_visibility_button);
+ other_vis_buttons.push_back (&masters_visibility_button);
} else if (&t == mixer) {
vis_button = &mixer_visibility_button;
other_vis_buttons.push_back (&editor_visibility_button);
other_vis_buttons.push_back (&prefs_visibility_button);
- } else {
+ other_vis_buttons.push_back (&masters_visibility_button);
+ } else if (&t == rc_option_editor) {
vis_button = &prefs_visibility_button;
other_vis_buttons.push_back (&editor_visibility_button);
+ other_vis_buttons.push_back (&masters_visibility_button);
other_vis_buttons.push_back (&mixer_visibility_button);
+ } else if (&t == masters) {
+ vis_button = &masters_visibility_button;
+ other_vis_buttons.push_back (&editor_visibility_button);
+ other_vis_buttons.push_back (&mixer_visibility_button);
+ other_vis_buttons.push_back (&prefs_visibility_button);
}
if (!vis_button) {