diff options
author | Robin Gareus <robin@gareus.org> | 2013-07-11 02:31:30 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2013-07-11 02:31:30 +0200 |
commit | 2b53ac2e3136a946401de0dc3ad1cdd025ec52b8 (patch) | |
tree | 37b4e81fa5f50cf83ce11e2f3ff051606d1051e3 /gtk2_ardour/route_time_axis.cc | |
parent | cb7bcb6d9f3a9f67b23066e3fd0c36db394c00fe (diff) |
amend cb7bcb6d - locked-solo button style
Diffstat (limited to 'gtk2_ardour/route_time_axis.cc')
-rw-r--r-- | gtk2_ardour/route_time_axis.cc | 41 |
1 files changed, 18 insertions, 23 deletions
diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc index a8abb3cc03..b0fec293cf 100644 --- a/gtk2_ardour/route_time_axis.cc +++ b/gtk2_ardour/route_time_axis.cc @@ -2396,31 +2396,26 @@ RouteTimeAxisView::remove_underlay (StreamView* v) void RouteTimeAxisView::set_button_names () { - if (_route && _route->solo_safe()) { - solo_button->remove (); - if (solo_safe_pixbuf == 0) { - solo_safe_pixbuf = ::get_icon("solo-safe-icon"); - } - solo_button->set_image (solo_safe_pixbuf); - solo_button->set_text (string()); - } else { - solo_button->set_image (Glib::RefPtr<Gdk::Pixbuf>()); - if (Config->get_solo_control_is_listen_control()) { - switch (Config->get_listen_position()) { - case AfterFaderListen: - solo_button->set_text (_("A")); + if (_route && _route->solo_safe()) { + solo_button->set_visual_state (Gtkmm2ext::VisualState (solo_button->visual_state() | Gtkmm2ext::Insensitive)); + } else { + solo_button->set_visual_state (Gtkmm2ext::VisualState (solo_button->visual_state() & ~Gtkmm2ext::Insensitive)); + } + if (Config->get_solo_control_is_listen_control()) { + switch (Config->get_listen_position()) { + case AfterFaderListen: + solo_button->set_text (_("A")); ARDOUR_UI::instance()->set_tip (*solo_button, _("After-fade listen (AFL)")); - break; - case PreFaderListen: - solo_button->set_text (_("P")); + break; + case PreFaderListen: + solo_button->set_text (_("P")); ARDOUR_UI::instance()->set_tip (*solo_button, _("Pre-fade listen (PFL)")); - break; - } - } else { - solo_button->set_text (_("s")); - ARDOUR_UI::instance()->set_tip (*solo_button, _("Solo")); - } - } + break; + } + } else { + solo_button->set_text (_("s")); + ARDOUR_UI::instance()->set_tip (*solo_button, _("Solo")); + } mute_button->set_text (_("m")); } |