leave route-button show/hide up to route-UI.
authorRobin Gareus <robin@gareus.org>
Tue, 9 Jul 2013 01:34:44 +0000 (03:34 +0200)
committerRobin Gareus <robin@gareus.org>
Wed, 10 Jul 2013 13:27:15 +0000 (15:27 +0200)
gtk2_ardour/meter_strip.cc
gtk2_ardour/meter_strip.h

index aea1ea8b53ae47c1b3ea6e06eda3a264507e93b6..bc13df4eb575a8e2c70bf21bd51e0a60b46348c4 100644 (file)
@@ -166,22 +166,12 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr<ARDOUR::Route> rt)
        namebx.pack_start(name_label, true, false, 3);
        namebx.pack_start(number_label, true, false, 0);
 
-       Gtk::HBox *btnwrap; // horiz center, no expand gtk workaround
-
-       btnwrap = manage(new Gtk::HBox());
-       btnwrap->pack_start(*rec_enable_button, true, false);
-       btnbox.pack_start(*btnwrap, false, false, 1);
-       btnwrap->show();
-
-       btnwrap = manage(new Gtk::HBox());
-       btnwrap->pack_start(*mute_button, true, false);
-       btnbox.pack_start(*btnwrap, false, false, 1);
-       btnwrap->show();
-
-       btnwrap = manage(new Gtk::HBox());
-       btnwrap->pack_start(*solo_button, true, false);
-       btnbox.pack_start(*btnwrap, false, false, 1);
-       btnwrap->show();
+       recbox.pack_start(*rec_enable_button, true, false);
+       btnbox.pack_start(recbox, false, false, 1);
+       mutebox.pack_start(*mute_button, true, false);
+       btnbox.pack_start(mutebox, false, false, 1);
+       solobox.pack_start(*solo_button, true, false);
+       btnbox.pack_start(solobox, false, false, 1);
 
        rec_enable_button->set_corner_radius(2);
        rec_enable_button->set_size_request(16, 16);
@@ -192,6 +182,10 @@ MeterStrip::MeterStrip (Session* sess, boost::shared_ptr<ARDOUR::Route> rt)
        solo_button->set_corner_radius(2);
        solo_button->set_size_request(16, 16);
 
+       mutebox.set_size_request(16, 16);
+       solobox.set_size_request(16, 16);
+       recbox.set_size_request(16, 16);
+
        update_button_box();
 
        pack_start (peakbx, false, false);
@@ -512,21 +506,21 @@ MeterStrip::update_button_box ()
        int height = 0;
        if (_session->config.get_show_mute_on_meterbridge()) {
                height += 18;
-               if (mute_button) mute_button->show();
+               mutebox.w();
        } else {
-               if (mute_button) mute_button->hide();
+               mutebox.e();
        }
        if (_session->config.get_show_solo_on_meterbridge()) {
                height += 18;
-               if (solo_button) solo_button->show();
+               solobox.>show();
        } else {
-               if (solo_button) solo_button->hide();
+               solobox.>hide();
        }
        if (_session->config.get_show_rec_on_meterbridge()) {
                height += 18;
-               if (rec_enable_button) rec_enable_button->show();
+               recbox.show();
        } else {
-               if (rec_enable_button) rec_enable_button->hide();
+               recbox.hide();
        }
        btnbox.set_size_request(16, height);
        check_resize();
index 022ac9edb9b4c4c7e6897824dc00d98733cbb4b2..03f171455f8ee6f8fb41e36167458eaed58f66ad 100644 (file)
@@ -96,6 +96,10 @@ class MeterStrip : public Gtk::VBox, public RouteUI
        Gtk::DrawingArea meter_ticks1_area;
        Gtk::DrawingArea meter_ticks2_area;
 
+       Gtk::HBox mutebox;
+       Gtk::HBox solobox;
+       Gtk::HBox recbox;
+
        Gtk::Alignment meter_align;
        Gtk::Alignment peak_align;
        Gtk::HBox peakbx;