X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fview%2Fruler.cpp;h=fa5c488e4f576107e51f490b75ec4162b906aeb9;hb=8b454527dc987d552b189099ee61cf699095aa7e;hp=d323f9be0525be8c5e39f3621d6c4ca9f05e0f5b;hpb=332afa7438aa5532599fe65f9092e1b24b34fe04;p=pulseview.git diff --git a/pv/view/ruler.cpp b/pv/view/ruler.cpp index d323f9be..fa5c488e 100644 --- a/pv/view/ruler.cpp +++ b/pv/view/ruler.cpp @@ -49,8 +49,7 @@ const int Ruler::FirstSIPrefixPower = -15; const int Ruler::HoverArrowSize = 5; Ruler::Ruler(View &parent) : - QWidget(&parent), - _view(parent), + MarginWidget(parent), _grabbed_marker(NULL) { setMouseTracking(true); @@ -59,6 +58,14 @@ Ruler::Ruler(View &parent) : this, SLOT(hover_point_changed())); } +void Ruler::clear_selection() +{ + CursorPair &cursors = _view.cursors(); + cursors.first().select(false); + cursors.second().select(false); + update(); +} + QString Ruler::format_time(double t, unsigned int prefix, unsigned int precision) { @@ -186,6 +193,8 @@ void Ruler::mousePressEvent(QMouseEvent *e) if (e->buttons() & Qt::LeftButton) { _grabbed_marker = NULL; + clear_selection(); + if (_view.cursors_shown()) { CursorPair &cursors = _view.cursors(); if (cursors.first().get_label_rect( @@ -195,6 +204,11 @@ void Ruler::mousePressEvent(QMouseEvent *e) rect()).contains(e->pos())) _grabbed_marker = &cursors.second(); } + + if(_grabbed_marker) + _grabbed_marker->select(); + + selection_changed(); } }