diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-01-23 16:26:41 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-05-31 15:30:38 -0400 |
commit | 5c658db4bff20aea644751f58c7e8c85385d3b2c (patch) | |
tree | bd326adae482ff6bcbb27c647a3d3065e2aad232 /gtk2_ardour/ardour_ui_dialogs.cc | |
parent | 87481a2ee17023686991e1a87182c2e8ed335690 (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.cc | 51 |
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) { |