---
 pv/toolbars/samplingbar.cpp | 28 ++++++++++++++++++++++++++++
 pv/toolbars/samplingbar.h   |  3 +++
 2 files changed, 31 insertions(+)

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 <QAction>
 #include <QDebug>
+#include <QHelpEvent>
+#include <QToolTip>
 
 #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<QHelpEvent*>(event);
+               QToolTip::showText(help_event->globalPos(), str);
+
+               return true;
+       }
+
+       return false;
+}
+
 } // namespace toolbars
 } // namespace pv
diff --git a/pv/toolbars/samplingbar.h b/pv/toolbars/samplingbar.h
index e59d2f9..e2e24b7 100644
--- a/pv/toolbars/samplingbar.h
+++ b/pv/toolbars/samplingbar.h
@@ -89,6 +89,9 @@ private slots:
 
        void on_config_changed();
 
+protected:
+       bool eventFilter(QObject *watched, QEvent *event);
+
 private:
        SigSession &_session;
 
-- 
1.9.0


------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
sigrok-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sigrok-devel

Reply via email to