From 9bb48bf657c7f2d36309807fbc7b55d0ab581a76 Mon Sep 17 00:00:00 2001 From: Shashwat Date: Wed, 12 Jan 2022 19:06:28 +0530 Subject: [PATCH] Replace int with std::chrono in for the timer->setInterval() argument - This commit is a follow-up to 51250b0906e56b39488304208ad119c951b4ae7d (PR#517) - It addresses the suggestion of changing time instance in trafficGraphWidget from int to std::chrono. - This commit addressed it and made some other subsequent changes. --- src/qt/rpcconsole.cpp | 2 +- src/qt/trafficgraphwidget.cpp | 14 ++++++++------ src/qt/trafficgraphwidget.h | 8 +++++--- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/qt/rpcconsole.cpp b/src/qt/rpcconsole.cpp index 1cadfaeeb9c..35d644a5fa5 100644 --- a/src/qt/rpcconsole.cpp +++ b/src/qt/rpcconsole.cpp @@ -1140,7 +1140,7 @@ void RPCConsole::on_sldGraphRange_valueChanged(int value) void RPCConsole::setTrafficGraphRange(int mins) { - ui->trafficGraph->setGraphRangeMins(mins); + ui->trafficGraph->setGraphRange(std::chrono::minutes(mins)); ui->lblGraphRange->setText(GUIUtil::formatDurationStr(std::chrono::minutes{mins})); } diff --git a/src/qt/trafficgraphwidget.cpp b/src/qt/trafficgraphwidget.cpp index ac103e9dc3b..f00d98f2310 100644 --- a/src/qt/trafficgraphwidget.cpp +++ b/src/qt/trafficgraphwidget.cpp @@ -11,6 +11,7 @@ #include #include +#include #include #define DESIRED_SAMPLES 800 @@ -18,11 +19,12 @@ #define XMARGIN 10 #define YMARGIN 10 +using namespace std::chrono_literals; + TrafficGraphWidget::TrafficGraphWidget(QWidget *parent) : QWidget(parent), timer(nullptr), fMax(0.0f), - nMins(0), vSamplesIn(), vSamplesOut(), nLastBytesIn(0), @@ -42,9 +44,9 @@ void TrafficGraphWidget::setClientModel(ClientModel *model) } } -int TrafficGraphWidget::getGraphRangeMins() const +std::chrono::minutes TrafficGraphWidget::getGraphRange() const { - return nMins; + return m_range; } void TrafficGraphWidget::paintPath(QPainterPath &path, QQueue &samples) @@ -153,10 +155,10 @@ void TrafficGraphWidget::updateRates() update(); } -void TrafficGraphWidget::setGraphRangeMins(int mins) +void TrafficGraphWidget::setGraphRange(std::chrono::minutes mins) { - nMins = mins; - int msecsPerSample = nMins * 60 * 1000 / DESIRED_SAMPLES; + m_range = std::chrono::minutes(mins); + auto msecsPerSample = m_range * 60 * 1000 / DESIRED_SAMPLES; timer->stop(); timer->setInterval(msecsPerSample); diff --git a/src/qt/trafficgraphwidget.h b/src/qt/trafficgraphwidget.h index 2d8c825815a..f9afc3318dc 100644 --- a/src/qt/trafficgraphwidget.h +++ b/src/qt/trafficgraphwidget.h @@ -8,6 +8,8 @@ #include #include +#include + class ClientModel; QT_BEGIN_NAMESPACE @@ -22,14 +24,14 @@ class TrafficGraphWidget : public QWidget public: explicit TrafficGraphWidget(QWidget *parent = nullptr); void setClientModel(ClientModel *model); - int getGraphRangeMins() const; + std::chrono::minutes getGraphRange() const; protected: void paintEvent(QPaintEvent *) override; public Q_SLOTS: void updateRates(); - void setGraphRangeMins(int mins); + void setGraphRange(std::chrono::minutes mins); void clear(); private: @@ -37,7 +39,7 @@ public Q_SLOTS: QTimer *timer; float fMax; - int nMins; + std::chrono::minutes m_range{0}; QQueue vSamplesIn; QQueue vSamplesOut; quint64 nLastBytesIn;