summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-11-09 10:57:33 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-11-09 10:57:33 +0000
commit11a49970378c27e7462f785c544510daf3d66368 (patch)
tree90bf4da945c5c4fc3f8f50f6d2d6e4f42cfb4cef
parent07ff18db2a0c8454f9d2535cad4efbf940d16aa9 (diff)
make mute button span entire strip width if no solo button is shown (i.e. master). has th edownside that the mute and solo buttons are no longer part of the button size group, but things seem to be OK without that
git-svn-id: svn://localhost/ardour2/branches/3.0@10504 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/mixer_strip.cc22
1 files changed, 14 insertions, 8 deletions
diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc
index 56c98c2024..02e483fea4 100644
--- a/gtk2_ardour/mixer_strip.cc
+++ b/gtk2_ardour/mixer_strip.cc
@@ -17,6 +17,7 @@
*/
#include <cmath>
+#include <list>
#include <algorithm>
#include <sigc++/bind.h>
@@ -227,12 +228,6 @@ MixerStrip::init ()
button_table.set_homogeneous (false);
button_table.set_spacings (0);
- if (solo_button) {
- button_size_group->add_widget (*solo_button);
- }
- if (mute_button) {
- button_size_group->add_widget (*mute_button);
- }
if (solo_isolated_led) {
button_size_group->add_widget (*solo_isolated_led);
}
@@ -255,8 +250,6 @@ MixerStrip::init ()
middle_button_table.set_homogeneous (true);
middle_button_table.set_spacings (2);
- middle_button_table.attach (*mute_button, 0, 1, 0, 1);
- middle_button_table.attach (*solo_button, 1, 2, 0, 1);
bottom_button_table.set_col_spacings (0);
bottom_button_table.set_homogeneous (true);
@@ -410,10 +403,23 @@ MixerStrip::set_route (boost::shared_ptr<Route> rt)
revert_to_default_display ();
+ if (solo_button->get_parent()) {
+ middle_button_table.remove (*solo_button);
+ }
+
+ if (mute_button->get_parent()) {
+ middle_button_table.remove (*mute_button);
+ }
+
if (route()->is_master()) {
+ middle_button_table.attach (*mute_button, 0, 2, 0, 1);
solo_button->hide ();
+ mute_button->show ();
rec_solo_table.hide ();
} else {
+ middle_button_table.attach (*mute_button, 0, 1, 0, 1);
+ middle_button_table.attach (*solo_button, 1, 2, 0, 1);
+ mute_button->show ();
solo_button->show ();
rec_solo_table.show ();
}