Introduce time units
authorSoeren Apel <soeren@apelpie.net>
Sun, 9 Aug 2015 18:32:41 +0000 (20:32 +0200)
committerSoeren Apel <soeren@apelpie.net>
Sun, 16 Aug 2015 12:28:02 +0000 (14:28 +0200)
pv/util.cpp
pv/util.hpp
pv/view/cursor.cpp
pv/view/cursorpair.cpp
pv/view/ruler.cpp

index 83f2ae0b343077725538dde7b59350e63ac07bf1..e3619829d1eab230cd0bda0b1b160fe5e7e404e5 100644 (file)
@@ -67,10 +67,13 @@ QString format_si_value(double v, QString unit, int prefix,
        return s;
 }
 
-QString format_time(double t, int prefix,
+QString format_time(double t, int prefix, TimeUnit unit,
        unsigned int precision, bool sign)
 {
-       return format_si_value(t, "s", prefix, precision, sign);
+       if (unit == TimeUnit::Time)
+               return format_si_value(t, "s", prefix, precision, sign);
+       else
+               return format_si_value(t, "sa", prefix, precision, sign);
 }
 
 QString format_second(double second)
index f75c95721d9df142691d2f44b12db2a7ca7895ea..f13516508aa45da7050a1aef0b9dd14f803e98af 100644 (file)
 namespace pv {
 namespace util {
 
+enum TimeUnit {
+       Time = 1,
+       Samples = 2
+};
+
 extern const int FirstSIPrefixPower;
 
 /**
@@ -57,7 +62,8 @@ QString format_si_value(
  * @return The formated value.
  */
 QString format_time(
-       double t, int prefix = -1, unsigned precision = 0, bool sign = true);
+       double t, int prefix = -1, TimeUnit unit = Time, unsigned precision = 0,
+       bool sign = true);
 
 /**
  * Formats a given time value with a SI prefix so that the
index 512b5fa9791425a6a84f8de5a12bab1f61d6ab2f..503031a7fbe592d4aa01b4873ca12de7c2d4966b 100644 (file)
@@ -55,7 +55,8 @@ bool Cursor::enabled() const
 
 QString Cursor::get_text() const
 {
-       return pv::util::format_time(time_, view_.tick_prefix(), 2);
+       return util::format_time(time_, view_.tick_prefix(),
+               util::TimeUnit::Time, 2);
 }
 
 QRectF Cursor::label_rect(const QRectF &rect) const
index 46f2455677a962bc86f92bcfd4b9bc7321b03aa0..aec689193cff79702deec99ff06c76308a32573c 100644 (file)
@@ -164,7 +164,7 @@ QString CursorPair::format_string()
        const unsigned int prefix = view_.tick_prefix();
        const double delta = second_->time() - first_->time();
        return QString("%1 / %2").
-               arg(util::format_time(delta, prefix, 2)).
+               arg(util::format_time(delta, prefix, util::TimeUnit::Time, 2)).
                arg(util::format_si_value(1.0 / fabs(delta), "Hz", -1, 4));
 }
 
index 2f9b140eec8d0f9d1649155166b89f3a0638e5cd..f25bcb8fc8fc3fabb8d2f929acc9af51775cbf2d 100644 (file)
@@ -122,7 +122,7 @@ void Ruler::paintEvent(QPaintEvent*)
                        // Draw a major tick
                        p.drawText(x, ValueMargin, 0, text_height,
                                AlignCenter | AlignTop | TextDontClip,
-                               pv::util::format_time(t, prefix));
+                               util::format_time(t, prefix));
                        p.drawLine(QPointF(x, major_tick_y1),
                                QPointF(x, ruler_height));
                }