From 8dcd4015316966bb9f28b60f55e818f4d4dee1ba Mon Sep 17 00:00:00 2001 From: Alex Spataru Date: Mon, 8 Feb 2021 11:02:00 -0500 Subject: [PATCH] Work on #22 --- src/UI/GraphProvider.cpp | 17 +++++------------ src/UI/GraphProvider.h | 2 -- src/UI/WidgetProvider.cpp | 17 +++++------------ src/UI/WidgetProvider.h | 2 -- 4 files changed, 10 insertions(+), 28 deletions(-) diff --git a/src/UI/GraphProvider.cpp b/src/UI/GraphProvider.cpp index a6c8db2a..0f16dedc 100644 --- a/src/UI/GraphProvider.cpp +++ b/src/UI/GraphProvider.cpp @@ -63,22 +63,20 @@ GraphProvider::GraphProvider() qRegisterMetaType(); qRegisterMetaType(); - // Update graph values as soon as JSON manager reads data + // Module signals/slots auto cp = CSV::Player::getInstance(); auto io = IO::Manager::getInstance(); + auto co = IO::Console::getInstance(); + auto ge = JSON::Generator::getInstance(); connect(cp, SIGNAL(openChanged()), this, SLOT(resetData())); + connect(ge, SIGNAL(jsonChanged()), this, SLOT(updateValues())); connect(io, SIGNAL(connectedChanged()), this, SLOT(resetData())); + connect(co, SIGNAL(enabledChanged()), this, SLOT(updateValues())); // Avoid issues when CSV player goes backwards connect(CSV::Player::getInstance(), SIGNAL(timestampChanged()), this, SLOT(csvPlayerFixes())); - // Update user interface at a frequency of ~40 Hz - m_timer.setInterval(1000 / 40); - m_timer.setTimerType(Qt::PreciseTimer); - connect(&m_timer, &QTimer::timeout, this, &GraphProvider::updateValues); - m_timer.start(); - // clang-format on LOG_TRACE() << "Class initialized"; } @@ -211,11 +209,6 @@ void GraphProvider::updateValues() if (IO::Console::getInstance()->enabled()) return; - // Abort if not connected to device or reproducing CSV file - if (!IO::Manager::getInstance()->connected() - && !CSV::Player::getInstance()->isPlaying()) - return; - // Clear dataset & latest values list m_datasets.clear(); diff --git a/src/UI/GraphProvider.h b/src/UI/GraphProvider.h index d8c9399d..abd666dd 100644 --- a/src/UI/GraphProvider.h +++ b/src/UI/GraphProvider.h @@ -23,7 +23,6 @@ #ifndef GRAPH_PROVIDER_H #define GRAPH_PROVIDER_H -#include #include #include #include @@ -80,7 +79,6 @@ private slots: void csvPlayerFixes(); private: - QTimer m_timer; int m_prevFramePos; int m_displayedPoints; QVector m_maximumValues; diff --git a/src/UI/WidgetProvider.cpp b/src/UI/WidgetProvider.cpp index 9b918d06..3e0984a2 100644 --- a/src/UI/WidgetProvider.cpp +++ b/src/UI/WidgetProvider.cpp @@ -43,17 +43,15 @@ static WidgetProvider *INSTANCE = Q_NULLPTR; */ WidgetProvider::WidgetProvider() { - // React to open/close of devices & files + // Module signals/slots auto cp = CSV::Player::getInstance(); auto io = IO::Manager::getInstance(); + auto co = IO::Console::getInstance(); + auto ge = JSON::Generator::getInstance(); connect(cp, SIGNAL(openChanged()), this, SLOT(resetData())); + connect(ge, SIGNAL(jsonChanged()), this, SLOT(updateModels())); connect(io, SIGNAL(connectedChanged()), this, SLOT(resetData())); - - // Update user interface at a frequency of ~40 Hz - m_timer.setInterval(1000 / 40); - m_timer.setTimerType(Qt::PreciseTimer); - connect(&m_timer, &QTimer::timeout, this, &WidgetProvider::updateModels); - m_timer.start(); + connect(co, SIGNAL(enabledChanged()), this, SLOT(updateModels())); // Look like a pro LOG_TRACE() << "Class initialized"; @@ -416,11 +414,6 @@ void WidgetProvider::updateModels() if (IO::Console::getInstance()->enabled()) return; - // Abort if not connected to device or reproducing CSV file - if (!IO::Manager::getInstance()->connected() - && !CSV::Player::getInstance()->isPlaying()) - return; - // Clear current groups m_barDatasets.clear(); m_mapGroups.clear(); diff --git a/src/UI/WidgetProvider.h b/src/UI/WidgetProvider.h index 3e2e0561..3175e3a7 100644 --- a/src/UI/WidgetProvider.h +++ b/src/UI/WidgetProvider.h @@ -24,7 +24,6 @@ #define WIDGETPROVIDER_H #include -#include #include #include @@ -88,7 +87,6 @@ private: QList getWidgetDatasets(const QString &handle); private: - QTimer m_timer; QList m_mapGroups; QList m_gyroGroups; QList m_barDatasets;