---
 pv/toolbars/samplingbar.cpp | 12 +++---------
 pv/util.cpp                 | 13 +++++++++++++
 pv/util.h                   |  9 +++++++++
 3 files changed, 25 insertions(+), 9 deletions(-)

diff --git a/pv/toolbars/samplingbar.cpp b/pv/toolbars/samplingbar.cpp
index 05c730b..085e043 100644
--- a/pv/toolbars/samplingbar.cpp
+++ b/pv/toolbars/samplingbar.cpp
@@ -35,6 +35,7 @@
 #include <pv/device/devinst.h>
 #include <pv/popups/deviceoptions.h>
 #include <pv/popups/probes.h>
+#include <pv/util.h>
 
 using boost::shared_ptr;
 using std::map;
@@ -456,16 +457,9 @@ 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);
+
+               QString str = tr("Total sampling time: 
%1").arg(pv::util::format_second(sec));
                QToolTip::showText(help_event->globalPos(), str);
 
                return true;
diff --git a/pv/util.cpp b/pv/util.cpp
index 28e0dfd..a54bdca 100644
--- a/pv/util.cpp
+++ b/pv/util.cpp
@@ -55,5 +55,18 @@ QString format_time(double t, unsigned int prefix,
        return s;
 }
 
+QString format_second(double second)
+{
+       unsigned int i = 0;
+       int exp = - FirstSIPrefixPower;
+
+       while ((second * pow(10.0, exp)) > 999.0 && i < countof(SIPrefixes) - 
1) {
+               i++;
+               exp -= 3;
+       }
+
+       return format_time(second, i, 0, false);
+}
+
 } // namespace util
 } // namespace pv
diff --git a/pv/util.h b/pv/util.h
index 1af3ce9..572bed3 100644
--- a/pv/util.h
+++ b/pv/util.h
@@ -44,6 +44,15 @@ QString format_time(
        double t, unsigned int prefix,
        unsigned precision = 0, bool sign = true);
 
+/**
+ * Formats a given time value with a SI prefix so that the
+ * value is between 1 and 999.
+ * @param second The time value in seconds to format.
+ *
+ * @return The formated value.
+ */
+QString format_second(double second);
+
 } // namespace util
 } // namespace pv
 
-- 
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