X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Ftoolbars%2Fsamplingbar.cpp;h=05c730bf528fe35efdab94acea14be9183838fd6;hb=40065ab65c4f347ac5c3731fcea628ab26b49c1e;hp=91c4b076ea6346d46102100ec20eec4a0c201756;hpb=5ab6596d54521dcada4ae03fc593b6733d3735e8;p=pulseview.git diff --git a/pv/toolbars/samplingbar.cpp b/pv/toolbars/samplingbar.cpp index 91c4b07..05c730b 100644 --- a/pv/toolbars/samplingbar.cpp +++ b/pv/toolbars/samplingbar.cpp @@ -26,6 +26,8 @@ #include #include +#include +#include #include "samplingbar.h" @@ -93,6 +95,9 @@ SamplingBar::SamplingBar(SigSession &session, QWidget *parent) : addWidget(&_sample_rate); addWidget(&_run_stop_button); + + _sample_count.installEventFilter(this); + _sample_rate.installEventFilter(this); } void SamplingBar::set_device_list( @@ -446,5 +451,28 @@ void SamplingBar::on_config_changed() update_sample_rate_selector(); } +bool SamplingBar::eventFilter(QObject *watched, QEvent *event) +{ + if ((watched == &_sample_count || watched == &_sample_rate) && + (event->type() == QEvent::ToolTip)) { + double sec = (double)_sample_count.value() / _sample_rate.value(); + + QString str; + QTextStream(&str) + << tr("Total sampling time: ") + << fixed + << qSetRealNumberPrecision(1) + << sec + << "s"; + + QHelpEvent *help_event = static_cast(event); + QToolTip::showText(help_event->globalPos(), str); + + return true; + } + + return false; +} + } // namespace toolbars } // namespace pv