summaryrefslogtreecommitdiff
path: root/gtk2_ardour/processor_box.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/processor_box.cc')
-rw-r--r--gtk2_ardour/processor_box.cc13
1 files changed, 9 insertions, 4 deletions
diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc
index 525aca33e9..ac35204fb7 100644
--- a/gtk2_ardour/processor_box.cc
+++ b/gtk2_ardour/processor_box.cc
@@ -411,6 +411,7 @@ ProcessorEntry::Control::Control (Glib::RefPtr<Gdk::Pixbuf> s, Glib::RefPtr<Gdk:
: _control (c)
, _adjustment (gain_to_slider_position_with_max (1.0, Config->get_max_gain()), 0, 1, 0.01, 0.1)
, _slider (s, sd, &_adjustment, 0, false)
+ , _slider_persistant_tooltip (&_slider)
, _button (ArdourButton::Element (ArdourButton::Text | ArdourButton::Indicator))
, _ignore_ui_adjustment (false)
, _visible (false)
@@ -454,6 +455,9 @@ ProcessorEntry::Control::Control (Glib::RefPtr<Gdk::Pixbuf> s, Glib::RefPtr<Gdk:
control_changed ();
set_tooltip ();
+
+ /* We're providing our own PersistentTooltip */
+ set_no_tooltip_whatsoever (_slider);
}
void
@@ -470,11 +474,13 @@ ProcessorEntry::Control::set_tooltip ()
if (c->toggled ()) {
s << (c->get_value() > 0.5 ? _("on") : _("off"));
} else {
- s << c->internal_to_interface (c->get_value ());
+ s << setprecision(2) << fixed;
+ s << c->internal_to_user (c->get_value ());
}
ARDOUR_UI::instance()->set_tip (_label, s.str ());
- ARDOUR_UI::instance()->set_tip (_slider, s.str ());
+ _slider_persistant_tooltip.set_tip (s.str ());
+// ARDOUR_UI::instance()->set_tip (_slider, " ");
ARDOUR_UI::instance()->set_tip (_button, s.str ());
}
@@ -498,6 +504,7 @@ ProcessorEntry::Control::slider_adjusted ()
}
c->set_value (c->interface_to_internal (_adjustment.get_value ()));
+ set_tooltip ();
}
void
@@ -537,8 +544,6 @@ ProcessorEntry::Control::control_changed ()
s.precision (1);
s.setf (ios::fixed, ios::floatfield);
s << c->internal_to_user (c->get_value ());
-
- _slider.set_tooltip_text (s.str ());
}
_ignore_ui_adjustment = false;