From 0565d83d27a0329d054c859a017d189b91d4a4ac Mon Sep 17 00:00:00 2001 From: Mike Walters Date: Thu, 11 Aug 2016 18:49:20 +0100 Subject: [PATCH] Use SI prefixes in labels --- CMakeLists.txt | 1 + spectrogramcontrols.cpp | 9 +++++---- util.h | 4 ++++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4871c8c..0102f97 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,6 +46,7 @@ list(APPEND inspectrum_sources traceplot.cpp tuner.cpp tunertransform.cpp + util.cpp ) INCLUDE(FindPkgConfig) diff --git a/spectrogramcontrols.cpp b/spectrogramcontrols.cpp index 9f31d40..4aa92ea 100644 --- a/spectrogramcontrols.cpp +++ b/spectrogramcontrols.cpp @@ -23,6 +23,7 @@ #include #include #include +#include "util.h" SpectrogramControls::SpectrogramControls(const QString & title, QWidget * parent) : QDockWidget::QDockWidget(title, parent) @@ -139,12 +140,12 @@ void SpectrogramControls::fileOpenButtonClicked() void SpectrogramControls::timeSelectionChanged(float time) { if (cursorsCheckBox->checkState() == Qt::Checked) { - periodLabel->setText(QString::number(time) + "s"); - rateLabel->setText(QString::number(1 / time) + "Hz"); + periodLabel->setText(QString::fromStdString(formatSIValue(time)) + "s"); + rateLabel->setText(QString::fromStdString(formatSIValue(1 / time)) + "Hz"); int symbols = cursorSymbolsSpinBox->value(); - symbolPeriodLabel->setText(QString::number(time / symbols) + "s"); - symbolRateLabel->setText(QString::number(symbols / time) + "Hz"); + symbolPeriodLabel->setText(QString::fromStdString(formatSIValue(time / symbols)) + "s"); + symbolRateLabel->setText(QString::fromStdString(formatSIValue(symbols / time)) + "Hz"); } } diff --git a/util.h b/util.h index a752547..e04132f 100644 --- a/util.h +++ b/util.h @@ -20,7 +20,9 @@ #pragma once #include +#include #include +#include static const double Tau = M_PI * 2.0; @@ -93,3 +95,5 @@ struct range_t { return !contains(value); } }; + +std::string formatSIValue(float value);