---
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