X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Futil.cpp;h=d2d70827335d0fb86cbeb0b0a2cd160ebc33569b;hb=dae21ebcf60d6a5d7c194736b1dc792a5cbf06a5;hp=133317e0b9d98b0b074d688f9919da3ce5f65df0;hpb=f4ebff5e030af58fdb60d5aa4bf076d2a42d187f;p=pulseview.git diff --git a/pv/util.cpp b/pv/util.cpp index 133317e..d2d7082 100644 --- a/pv/util.cpp +++ b/pv/util.cpp @@ -76,7 +76,7 @@ static QString pad_number(unsigned int number, int length) return QString("%1").arg(number, length, 10, QChar('0')); } -static QString format_time_in_full(double t, signed precision, bool force_sign) +static QString format_time_in_full(double t, signed precision) { const unsigned int whole_seconds = abs((int) t); const unsigned int days = whole_seconds / (60 * 60 * 24); @@ -87,9 +87,9 @@ static QString format_time_in_full(double t, signed precision, bool force_sign) QString s; QTextStream ts(&s); - if (force_sign && (t >= 0)) + if (t >= 0) ts << "+"; - if (t < 0) + else ts << "-"; bool use_padding = false; @@ -119,7 +119,7 @@ static QString format_time_in_full(double t, signed precision, bool force_sign) if (precision >= 0) { ts << pad_number(seconds, use_padding ? 2 : 0); - const double fraction = fabs(t - whole_seconds); + const double fraction = fabs(t) - whole_seconds; if (precision > 0 && precision < 1000) { QString fs = QString("%1").arg(fraction, -(2 + precision), 'f', @@ -142,7 +142,7 @@ static QString format_time_in_full(double t, signed precision, bool force_sign) } static QString format_time_with_si(double t, QString unit, int prefix, - unsigned int precision, bool sign) + unsigned int precision) { // The precision is always given without taking the prefix into account // so we need to deduct the number of decimals the prefix might imply @@ -153,11 +153,10 @@ static QString format_time_with_si(double t, QString unit, int prefix, (prefix >= pv::util::FirstSIPrefix) ? precision : std::max((int)(precision - prefix_order), 0); - return format_si_value(t, unit, prefix, relative_prec, sign); + return format_si_value(t, unit, prefix, relative_prec); } -QString format_time(double t, int prefix, TimeUnit unit, - unsigned int precision, double step_size, bool sign) +QString format_time(double t, int prefix, TimeUnit unit, unsigned int precision) { // Make 0 appear as 0, not random +0 or -0 if (fabs(t) < MinTimeDelta) @@ -165,21 +164,16 @@ QString format_time(double t, int prefix, TimeUnit unit, // If we have to use samples then we have no alternative formats if (unit == Samples) - return format_time_with_si(t, "sa", prefix, precision, sign); - - // View zoomed way out -> low precision (0), high step size (>=60s) - // -> DD:HH:MM - if ((precision == 0) && (step_size >= 60)) - return format_time_in_full(t, -1, sign); + return format_time_with_si(t, "sa", prefix, precision); // View in "normal" range -> medium precision, medium step size // -> HH:MM:SS.mmm... or xxxx (si unit) if less than 60 seconds // View zoomed way in -> high precision (>3), low step size (<1s) // -> HH:MM:SS.mmm... or xxxx (si unit) if less than 60 seconds if (abs(t) < 60) - return format_time_with_si(t, "s", prefix, precision, sign); + return format_time_with_si(t, "s", prefix, precision); else - return format_time_in_full(t, precision, sign); + return format_time_in_full(t, precision); } QString format_second(double second)