X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Ftoolbars%2Fsamplingbar.cpp;h=6d419f74dbef319905f31815956fda229d3398ee;hb=f46e495ef1db0a4e522462ac18260f2151fa2b89;hp=91c4b076ea6346d46102100ec20eec4a0c201756;hpb=e95e8563a1de0d2045cb8f30083889896b6c94df;p=pulseview.git diff --git a/pv/toolbars/samplingbar.cpp b/pv/toolbars/samplingbar.cpp index 91c4b07..6d419f7 100644 --- a/pv/toolbars/samplingbar.cpp +++ b/pv/toolbars/samplingbar.cpp @@ -26,6 +26,8 @@ #include #include +#include +#include #include "samplingbar.h" @@ -33,6 +35,7 @@ #include #include #include +#include using boost::shared_ptr; using std::map; @@ -93,6 +96,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( @@ -142,8 +148,7 @@ shared_ptr SamplingBar::get_selected_device() const index).value(); assert(sdi); - map >:: - const_iterator iter = _device_selector_map.find(sdi); + const auto iter = _device_selector_map.find(sdi); if (iter == _device_selector_map.end()) return shared_ptr(); @@ -446,5 +451,21 @@ 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(); + QHelpEvent *help_event = static_cast(event); + + QString str = tr("Total sampling time: %1").arg(pv::util::format_second(sec)); + QToolTip::showText(help_event->globalPos(), str); + + return true; + } + + return false; +} + } // namespace toolbars } // namespace pv