Browse Source

Added slight delay on mouse-pointer tooltips.

merge-requests/365/head
eidheim 10 years ago
parent
commit
8175836db1
  1. 13
      src/source.cc

13
src/source.cc

@ -818,17 +818,22 @@ void Source::ClangViewParse::update_types() {
bool Source::ClangViewParse::on_motion_notify_event(GdkEventMotion* event) { bool Source::ClangViewParse::on_motion_notify_event(GdkEventMotion* event) {
if(on_motion_last_x!=event->x || on_motion_last_y!=event->y) { if(on_motion_last_x!=event->x || on_motion_last_y!=event->y) {
delayed_tooltips_connection.disconnect(); delayed_tooltips_connection.disconnect();
if(clang_readable && event->state==0) { if(event->state==0) {
Gdk::Rectangle rectangle(event->x, event->y, 1, 1); gdouble x=event->x;
gdouble y=event->y;
delayed_tooltips_connection=Glib::signal_timeout().connect([this, x, y]() {
if(clang_readable) {
Gdk::Rectangle rectangle(x, y, 1, 1);
Tooltips::init(); Tooltips::init();
type_tooltips.show(rectangle); type_tooltips.show(rectangle);
diagnostic_tooltips.show(rectangle); diagnostic_tooltips.show(rectangle);
} }
else { return false;
}, 100);
}
type_tooltips.hide(); type_tooltips.hide();
diagnostic_tooltips.hide(); diagnostic_tooltips.hide();
} }
}
on_motion_last_x=event->x; on_motion_last_x=event->x;
on_motion_last_y=event->y; on_motion_last_y=event->y;
return Source::View::on_motion_notify_event(event); return Source::View::on_motion_notify_event(event);

Loading…
Cancel
Save