View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0007268 | ardour | bugs | public | 2017-03-05 11:26 | 2020-04-19 20:18 |
Reporter | timbyr | Assigned To | x42 | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | 5.12 | ||||
Summary | 0007268: Tooltips aren't displayed during playback | ||||
Description | With the transport rolling tooltips are not displayed when hoving over widgets. Expected behaviour: Tooltips are always displayed when hovering over a widget. | ||||
Tags | No tags attached. | ||||
has duplicate | 0007559 | closed | Tooltips are only shown, when playback is stopped |
|
Some info from IRC: "tooltips don't show for me while transport is moving in 5.11.0 or 5.12.0, but they do show in 4.6.0." The oldest version I have installed is 5.5.0 and that already has the issue. |
|
Fixed in 6.0-pre0-668-g4983eb565 -- please test. Edit: More work to clean this up may be needed. in particular AudioClock::set() should not regularly call set_tooltip() in the first place. Alas, moving this to set_mode() does not properly set up the tooltips on session-load, I'll attach the diff here to simplify further investigation. |
|
attempted-clock-tooltip-fix__only-works-after-change-not-on-load.diff (3,170 bytes)
diff --git a/gtk2_ardour/audio_clock.cc b/gtk2_ardour/audio_clock.cc index 6a7733ae5..6f889adfe 100644 --- a/gtk2_ardour/audio_clock.cc +++ b/gtk2_ardour/audio_clock.cc @@ -877,8 +877,6 @@ AudioClock::set (samplepos_t when, bool force, samplecnt_t offset) #endif } - bool btn_en = false; - if (!editing) { switch (_mode) { @@ -888,7 +886,6 @@ AudioClock::set (samplepos_t when, bool force, samplecnt_t offset) case BBT: set_bbt (when, offset, force); - btn_en = true; break; case MinSec: @@ -905,28 +902,6 @@ AudioClock::set (samplepos_t when, bool force, samplecnt_t offset) } } - if (_with_info) { - _left_btn.set_sensitive (btn_en); - _right_btn.set_sensitive (btn_en); - _left_btn.set_visual_state (Gtkmm2ext::NoVisualState); - _right_btn.set_visual_state (Gtkmm2ext::NoVisualState); - if (btn_en) { - _left_btn.set_elements (ArdourButton::Element(ArdourButton::Edge|ArdourButton::Body|ArdourButton::Text)); - _right_btn.set_elements (ArdourButton::Element(ArdourButton::Edge|ArdourButton::Body|ArdourButton::Text)); - _left_btn.set_alignment (.5, .5); - _right_btn.set_alignment (.5, .5); - set_tooltip (_left_btn, _("Change current tempo")); - set_tooltip (_right_btn, _("Change current time signature")); - } else { - _left_btn.set_elements (ArdourButton::Text); - _right_btn.set_elements (ArdourButton::Text); - _left_btn.set_alignment (0, .5); - _right_btn.set_alignment (1, .5); - set_tooltip (_left_btn, _("")); - set_tooltip (_right_btn, _("")); - } - } - queue_draw (); last_when = when; } @@ -2191,6 +2166,8 @@ AudioClock::set_mode (Mode m, bool noemit) Gtk::Requisition req; set_clock_dimensions (req); + bool btn_en = false; + switch (_mode) { case Timecode: insert_map.push_back (11); @@ -2213,6 +2190,7 @@ AudioClock::set_mode (Mode m, bool noemit) insert_map.push_back (3); insert_map.push_back (2); insert_map.push_back (1); + btn_en = true; break; case MinSec: @@ -2246,6 +2224,30 @@ AudioClock::set_mode (Mode m, bool noemit) AudioClock::set (last_when, true); + if (_with_info) { + _left_btn.set_sensitive (btn_en); + _right_btn.set_sensitive (btn_en); + _left_btn.set_visual_state (Gtkmm2ext::NoVisualState); + _right_btn.set_visual_state (Gtkmm2ext::NoVisualState); + if (btn_en) { + _left_btn.set_elements (ArdourButton::Element(ArdourButton::Edge|ArdourButton::Body|ArdourButton::Text)); + _right_btn.set_elements (ArdourButton::Element(ArdourButton::Edge|ArdourButton::Body|ArdourButton::Text)); + _left_btn.set_alignment (.5, .5); + _right_btn.set_alignment (.5, .5); + printf ("set_tooltip..\n"); + set_tooltip (_left_btn, _("Change current tempo")); + set_tooltip (_right_btn, _("Change current time signature")); + } else { + _left_btn.set_elements (ArdourButton::Text); + _right_btn.set_elements (ArdourButton::Text); + _left_btn.set_alignment (0, .5); + _right_btn.set_alignment (1, .5); + printf ("unset_tooltip..\n"); + set_tooltip (_left_btn, _("")); + set_tooltip (_right_btn, _("")); + } + } + if (!is_transient && !noemit) { ModeChanged (); /* EMIT SIGNAL (the static one)*/ } |
|
Issue has been closed automatically, by Trigger Close Plugin. Feel free to re-open with additional information if you think the issue is not resolved. |
Date Modified | Username | Field | Change |
---|---|---|---|
2017-03-05 11:26 | timbyr | New Issue | |
2018-02-14 06:31 | timbyr | Relationship added | has duplicate 0007559 |
2018-02-14 06:34 | timbyr | Status | new => confirmed |
2018-02-14 06:34 | timbyr | Product Version | 5.8 => 5.12 |
2018-04-11 23:52 | x42 | Note Added: 0020254 | |
2018-04-12 00:55 | x42 | Note Added: 0020255 | |
2018-04-12 00:55 | x42 | Assigned To | => x42 |
2018-04-12 00:55 | x42 | Status | confirmed => feedback |
2018-04-12 00:59 | x42 | Note Edited: 0020255 | |
2018-04-12 00:59 | x42 | File Added: attempted-clock-tooltip-fix__only-works-after-change-not-on-load.diff | |
2020-03-15 17:04 | x42 | Status | feedback => resolved |
2020-03-15 17:04 | x42 | Resolution | open => fixed |
2020-04-19 20:18 | system | Note Added: 0023731 | |
2020-04-19 20:18 | system | Status | resolved => closed |