From c3dd7da60c0468967a5de607fdce4439763defbe Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Sat, 1 Sep 2018 00:26:39 +0200 Subject: [PATCH] logsmodelng not using Engine singletong any more --- libnymea-app-core/engine.h | 2 +- libnymea-app-core/models/logsmodelng.cpp | 19 ++++++++++++++++++- libnymea-app-core/models/logsmodelng.h | 7 +++++++ 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/libnymea-app-core/engine.h b/libnymea-app-core/engine.h index 85f877b3..31886e19 100644 --- a/libnymea-app-core/engine.h +++ b/libnymea-app-core/engine.h @@ -46,7 +46,7 @@ class Engine : public QObject Q_PROPERTY(AWSClient* awsClient READ awsClient CONSTANT) public: - static Engine *instance(); +// static Engine *instance(); bool connected() const; QString connectedHost() const; diff --git a/libnymea-app-core/models/logsmodelng.cpp b/libnymea-app-core/models/logsmodelng.cpp index 68607dec..ec8b3891 100644 --- a/libnymea-app-core/models/logsmodelng.cpp +++ b/libnymea-app-core/models/logsmodelng.cpp @@ -11,6 +11,19 @@ LogsModelNg::LogsModelNg(QObject *parent) : QAbstractListModel(parent) } +JsonRpcClient *LogsModelNg::jsonRpcClient() const +{ + return m_jsonRpcClient; +} + +void LogsModelNg::setJsonRpcClient(JsonRpcClient *jsonRpcClient) +{ + if (m_jsonRpcClient != jsonRpcClient) { + m_jsonRpcClient = jsonRpcClient; + emit jsonRpcClientChanged(); + } +} + int LogsModelNg::rowCount(const QModelIndex &parent) const { Q_UNUSED(parent) @@ -122,6 +135,10 @@ void LogsModelNg::setEndTime(const QDateTime &endTime) void LogsModelNg::update() { + if (!m_jsonRpcClient) { + qWarning() << "Cannot update. JsonRpcClient not set"; + return; + } if (m_busy) { return; } @@ -206,7 +223,7 @@ void LogsModelNg::update() timeFilter.insert("endDate", m_currentFetchEndTime.toSecsSinceEpoch()); timeFilters.append(timeFilter); params.insert("timeFilters", timeFilters); - Engine::instance()->jsonRpcClient()->sendCommand("Logging.GetLogEntries", params, this, "logsReply"); + m_jsonRpcClient->sendCommand("Logging.GetLogEntries", params, this, "logsReply"); } void LogsModelNg::logsReply(const QVariantMap &data) diff --git a/libnymea-app-core/models/logsmodelng.h b/libnymea-app-core/models/logsmodelng.h index a3df53ad..eb89632a 100644 --- a/libnymea-app-core/models/logsmodelng.h +++ b/libnymea-app-core/models/logsmodelng.h @@ -6,10 +6,12 @@ #include class LogEntry; +class JsonRpcClient; class LogsModelNg : public QAbstractListModel { Q_OBJECT + Q_PROPERTY(JsonRpcClient* jsonRpcClient READ jsonRpcClient WRITE setJsonRpcClient NOTIFY jsonRpcClientChanged) Q_PROPERTY(bool busy READ busy NOTIFY busyChanged) Q_PROPERTY(int count READ rowCount NOTIFY countChanged) Q_PROPERTY(QString deviceId READ deviceId WRITE setDeviceId NOTIFY deviceIdChanged) @@ -29,6 +31,9 @@ public: explicit LogsModelNg(QObject *parent = nullptr); + JsonRpcClient *jsonRpcClient() const; + void setJsonRpcClient(JsonRpcClient* jsonRpcClient); + int rowCount(const QModelIndex &parent = QModelIndex()) const override; QVariant data(const QModelIndex &index, int role) const override; QHash roleNames() const override; @@ -59,10 +64,12 @@ signals: void countChanged(); void startTimeChanged(); void endTimeChanged(); + void jsonRpcClientChanged(); private: QList m_list; + JsonRpcClient *m_jsonRpcClient = nullptr; bool m_busy = false; bool m_live = false; QString m_deviceId;