From fe612512c617e4642e2591b0e0fd4ccc479ee4a3 Mon Sep 17 00:00:00 2001 From: jonymt <johanmt@yandex.ru> Date: Fri, 20 Sep 2019 00:00:43 +0200 Subject: [PATCH 1/7] [+] added network handler for service [+] added network handler for service --- .../CellFrameDashboardGUI.pro | 6 +- .../DapSettingsNetworkModel.cpp | 58 +++++++++++++++++++ .../DapSettingsNetworkModel.h | 41 +++++++++++++ .../DapUiQmlScreenMainWindowForm.ui.qml | 4 +- .../DapUiQmlScreenSettings.qml | 54 +++++++++++++++++ .../DapUiQmlScreenSettingsForm.ui.qml | 5 ++ .../DapUiQmlWidgetConsole.qml | 13 +++-- .../DapUiQmlWidgetSettingsNetwork.qml | 18 ++++++ .../DapUiQmlWidgetSettingsNetworkForm.ui.qml | 6 ++ CellFrameDashboardGUI/main.cpp | 4 +- CellFrameDashboardGUI/qml.qrc | 4 ++ .../CellFrameDashboardService.pro | 8 ++- .../DapChainDashboardService.cpp | 15 ++++- .../DapChainDashboardService.h | 7 +++ .../DapChainHistoryHandler.cpp | 6 ++ .../DapChainHistoryHandler.h | 2 + .../DapChainNetworkHandler.cpp | 16 +++++ .../DapChainNetworkHandler.h | 26 +++++++++ 18 files changed, 280 insertions(+), 13 deletions(-) create mode 100644 CellFrameDashboardGUI/DapSettingsNetworkModel.cpp create mode 100644 CellFrameDashboardGUI/DapSettingsNetworkModel.h create mode 100644 CellFrameDashboardGUI/DapUiQmlScreenSettings.qml create mode 100644 CellFrameDashboardGUI/DapUiQmlScreenSettingsForm.ui.qml create mode 100644 CellFrameDashboardGUI/DapUiQmlWidgetSettingsNetwork.qml create mode 100644 CellFrameDashboardGUI/DapUiQmlWidgetSettingsNetworkForm.ui.qml create mode 100644 CellFrameDashboardService/DapChainNetworkHandler.cpp create mode 100644 CellFrameDashboardService/DapChainNetworkHandler.h diff --git a/CellFrameDashboardGUI/CellFrameDashboardGUI.pro b/CellFrameDashboardGUI/CellFrameDashboardGUI.pro index f9da905e6..3a5fc878c 100755 --- a/CellFrameDashboardGUI/CellFrameDashboardGUI.pro +++ b/CellFrameDashboardGUI/CellFrameDashboardGUI.pro @@ -44,6 +44,7 @@ SOURCES += \ DapChainNodeNetworkModel.cpp \ DapScreenHistoryFilterModel.cpp \ DapScreenHistoryModel.cpp \ + DapSettingsNetworkModel.cpp \ DapUiQmlWidgetChainTransactions.cpp \ main.cpp \ DapUiQmlWidgetChainBallance.cpp \ @@ -80,6 +81,7 @@ HEADERS += \ DapChainNodeNetworkModel.h \ DapScreenHistoryFilterModel.h \ DapScreenHistoryModel.h \ + DapSettingsNetworkModel.h \ DapUiQmlWidgetChainBallance.h \ DapUiQmlWidgetChainBlockExplorer.h \ DapUiQmlWidgetChainNodeLogs.h \ @@ -115,4 +117,6 @@ unix: !mac : !android { INSTALLS += gui_target } -DISTFILES += +#DISTFILES += \ +# DapUiQmlScreenSettings.qml \ +# DapUiQmlScreenSettingsForm.ui.qml diff --git a/CellFrameDashboardGUI/DapSettingsNetworkModel.cpp b/CellFrameDashboardGUI/DapSettingsNetworkModel.cpp new file mode 100644 index 000000000..04ee26f80 --- /dev/null +++ b/CellFrameDashboardGUI/DapSettingsNetworkModel.cpp @@ -0,0 +1,58 @@ +#include "DapSettingsNetworkModel.h" + +DapSettingsNetworkModel::DapSettingsNetworkModel(QObject *parent) : QAbstractListModel(parent) +{ + m_NetworkList = QStringList() << "First" << "Second" << "Third" << "Forth"; +} + +DapSettingsNetworkModel& DapSettingsNetworkModel::getInstance() +{ + static DapSettingsNetworkModel instance; + return instance; +} + +int DapSettingsNetworkModel::rowCount(const QModelIndex& parent) const +{ + Q_UNUSED(parent) + + return m_NetworkList.count(); +} + +QVariant DapSettingsNetworkModel::data(const QModelIndex& index, int role) const +{ + if(!index.isValid()) return QVariant(); + if(role == DisplayName) + return m_NetworkList.at(index.row()); + + return QVariant(); +} + +QHash<int, QByteArray> DapSettingsNetworkModel::roleNames() const +{ + QHash<int, QByteArray> roles; + roles[DisplayName] = "network"; + + return roles; +} + +QString DapSettingsNetworkModel::getCurrentNetwork() const +{ + return m_CurrentNetwork; +} + +void DapSettingsNetworkModel::setNetworkList(const QStringList& aNetworkList) +{ + if(m_NetworkList == aNetworkList) return; + beginResetModel(); + m_NetworkList = aNetworkList; + endResetModel(); +} + +void DapSettingsNetworkModel::setCurrentNetwork(QString CurrentNetwork) +{ + if (m_CurrentNetwork == CurrentNetwork) + return; + + m_CurrentNetwork = CurrentNetwork; + emit currentNetworkChanged(m_CurrentNetwork); +} diff --git a/CellFrameDashboardGUI/DapSettingsNetworkModel.h b/CellFrameDashboardGUI/DapSettingsNetworkModel.h new file mode 100644 index 000000000..215eecb59 --- /dev/null +++ b/CellFrameDashboardGUI/DapSettingsNetworkModel.h @@ -0,0 +1,41 @@ +#ifndef DAPSETTINGSNETWORKMODEL_H +#define DAPSETTINGSNETWORKMODEL_H + +#include <QAbstractListModel> +#include <QStringList> +#include <QDebug> + +class DapSettingsNetworkModel : public QAbstractListModel +{ + Q_OBJECT + + Q_PROPERTY(QString CurrentNetwork READ getCurrentNetwork WRITE setCurrentNetwork NOTIFY currentNetworkChanged) + +public: + enum DisplayRole { + DisplayName = Qt::UserRole + }; + +private: + QStringList m_NetworkList; + QString m_CurrentNetwork; + +public: + explicit DapSettingsNetworkModel(QObject *parent = nullptr); + static DapSettingsNetworkModel &getInstance(); + + int rowCount(const QModelIndex& parent) const; + QVariant data(const QModelIndex& index, int role) const; + QHash<int, QByteArray> roleNames() const; + + QString getCurrentNetwork() const; + +public slots: + void setNetworkList(const QStringList& aNetworkList); + void setCurrentNetwork(QString CurrentNetwork); + +signals: + void currentNetworkChanged(QString currentNetwork); +}; + +#endif // DAPSETTINGSNETWORKMODEL_H diff --git a/CellFrameDashboardGUI/DapUiQmlScreenMainWindowForm.ui.qml b/CellFrameDashboardGUI/DapUiQmlScreenMainWindowForm.ui.qml index 4636c15b5..f538161ee 100644 --- a/CellFrameDashboardGUI/DapUiQmlScreenMainWindowForm.ui.qml +++ b/CellFrameDashboardGUI/DapUiQmlScreenMainWindowForm.ui.qml @@ -49,7 +49,9 @@ Page { } ListElement { name: qsTr("Settings") - page: "DapQmlScreenAbout.qml" +// page: "DapQmlScreenAbout.qml" + page: "DapUiQmlScreenSettings.qml" +// page: "DapUiQmlWidgetSettingsNetwork.qml" source: "qrc:/Resources/Icons/defaul_icon.png" } ListElement { diff --git a/CellFrameDashboardGUI/DapUiQmlScreenSettings.qml b/CellFrameDashboardGUI/DapUiQmlScreenSettings.qml new file mode 100644 index 000000000..d1f6abc94 --- /dev/null +++ b/CellFrameDashboardGUI/DapUiQmlScreenSettings.qml @@ -0,0 +1,54 @@ +import QtQuick 2.4 +import QtQuick.Controls 2.12 + +DapUiQmlScreenSettingsForm { + anchors.fill: parent + + ListModel { + id: dapListModelSettings + ListElement { + name: qsTr("Network") + element: "DapUiQmlWidgetSettingsNetwork.qml" + } + } + + ListView { + id: dapListViewSettings + anchors.fill: parent + model: dapListModelSettings + delegate: Component { + + Item { + width: parent.width + height: loaderSettings.height + + Loader { + id: loaderSettings + source: element + } + } + } + + section.property: "name" + section.criteria: ViewSection.FullString + section.delegate: Component { + + Rectangle { + width: parent.width + height: 30 * pt + color: "#DFE1E6" + + Text { + anchors.fill: parent + anchors.leftMargin: 18 * pt + verticalAlignment: Qt.AlignVCenter + text: section + font.family: "Roboto" + font.pixelSize: 12 * pt + color: "#5F5F63" + } + } + + } + } +} diff --git a/CellFrameDashboardGUI/DapUiQmlScreenSettingsForm.ui.qml b/CellFrameDashboardGUI/DapUiQmlScreenSettingsForm.ui.qml new file mode 100644 index 000000000..9faa0c04d --- /dev/null +++ b/CellFrameDashboardGUI/DapUiQmlScreenSettingsForm.ui.qml @@ -0,0 +1,5 @@ +import QtQuick 2.4 + +Item { + anchors.fill: parent +} diff --git a/CellFrameDashboardGUI/DapUiQmlWidgetConsole.qml b/CellFrameDashboardGUI/DapUiQmlWidgetConsole.qml index 6c1b82922..51daf175e 100644 --- a/CellFrameDashboardGUI/DapUiQmlWidgetConsole.qml +++ b/CellFrameDashboardGUI/DapUiQmlWidgetConsole.qml @@ -15,13 +15,14 @@ DapUiQmlWidgetConsoleForm { execute.enabled = false; } + Connections { - target: dapServiceController - onResultChanged: { - command.clear() - result.text = dapServiceController.Result - execute.enabled = true - } + target: dapServiceController + onResultChanged: { + command.clear() + result.text = dapServiceController.Result + execute.enabled = true + } } } diff --git a/CellFrameDashboardGUI/DapUiQmlWidgetSettingsNetwork.qml b/CellFrameDashboardGUI/DapUiQmlWidgetSettingsNetwork.qml new file mode 100644 index 000000000..74a143e5f --- /dev/null +++ b/CellFrameDashboardGUI/DapUiQmlWidgetSettingsNetwork.qml @@ -0,0 +1,18 @@ +import QtQuick 2.4 +import QtQuick.Controls 2.12 + +DapUiQmlWidgetSettingsNetworkForm { + width: parent.width + height: childrenRect.height + + ComboBox { + width: 150 + height: 50 + anchors.left: parent.left + anchors.top: parent.top + anchors.leftMargin: 18 * pt + anchors.topMargin: 13 * pt + model: dapSettingsNetworkModel + textRole: "network" + } +} diff --git a/CellFrameDashboardGUI/DapUiQmlWidgetSettingsNetworkForm.ui.qml b/CellFrameDashboardGUI/DapUiQmlWidgetSettingsNetworkForm.ui.qml new file mode 100644 index 000000000..96a8ae4f5 --- /dev/null +++ b/CellFrameDashboardGUI/DapUiQmlWidgetSettingsNetworkForm.ui.qml @@ -0,0 +1,6 @@ +import QtQuick 2.4 + +Item { + width: 400 + height: 400 +} diff --git a/CellFrameDashboardGUI/main.cpp b/CellFrameDashboardGUI/main.cpp index 6afac464f..ab633386f 100755 --- a/CellFrameDashboardGUI/main.cpp +++ b/CellFrameDashboardGUI/main.cpp @@ -23,6 +23,7 @@ #include "DapChainNodeNetworkModel.h" #include "DapChainNodeNetworkExplorer.h" #include "DapScreenHistoryFilterModel.h" +#include "DapSettingsNetworkModel.h" #include <QRegExp> @@ -73,9 +74,10 @@ int main(int argc, char *argv[]) engine.rootContext()->setContextProperty("dapChainWalletsModel", &DapChainWalletsModel::getInstance()); engine.rootContext()->setContextProperty("dapNodeNetworkModel", &DapChainNodeNetworkModel::getInstance()); engine.rootContext()->setContextProperty("dapHistoryModel", &DapScreenHistoryFilterModel::getInstance()); + engine.rootContext()->setContextProperty("dapSettingsNetworkModel", &DapSettingsNetworkModel::getInstance()); engine.rootContext()->setContextProperty("pt", 1.3); engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); - + if (engine.rootObjects().isEmpty()) return -1; diff --git a/CellFrameDashboardGUI/qml.qrc b/CellFrameDashboardGUI/qml.qrc index 9079a6942..182598de8 100755 --- a/CellFrameDashboardGUI/qml.qrc +++ b/CellFrameDashboardGUI/qml.qrc @@ -58,5 +58,9 @@ <file>DapUiQmlWidgetLastActions.qml</file> <file>DapUiQmlWidgetLastActionsForm.ui.qml</file> <file>DapUiQmlScreenHistoryForm.ui.qml</file> + <file>DapUiQmlWidgetSettingsNetwork.qml</file> + <file>DapUiQmlWidgetSettingsNetworkForm.ui.qml</file> + <file>DapUiQmlScreenSettings.qml</file> + <file>DapUiQmlScreenSettingsForm.ui.qml</file> </qresource> </RCC> diff --git a/CellFrameDashboardService/CellFrameDashboardService.pro b/CellFrameDashboardService/CellFrameDashboardService.pro index 6f72f9b00..c5c420e52 100755 --- a/CellFrameDashboardService/CellFrameDashboardService.pro +++ b/CellFrameDashboardService/CellFrameDashboardService.pro @@ -20,7 +20,7 @@ ICON = icon.ico win32 { VERSION = $${VER_MAJ}.$${VER_MIN}.$$VER_PAT - DEFINES += CLI_PATH=\\\"./cellframe-node-cli.exe\\\" + DEFINES += CLI_PATH=\\\"./kelvin-node-cli.exe\\\" DEFINES += LOG_FILE=\\\"./opt/cellframe-node/var/log/cellframe-node_logs.txt\\\" } else { @@ -48,7 +48,8 @@ SOURCES += \ $$PWD/DapChainNode.cpp \ $$PWD/DapChainNodeCache.cpp \ $$PWD/DapChainWalletHandler.cpp \ - $$PWD/DapChainLogHandler.cpp + $$PWD/DapChainLogHandler.cpp \ + DapChainNetworkHandler.cpp HEADERS += \ $$PWD/DapChainDashboardService.h \ @@ -57,7 +58,8 @@ HEADERS += \ $$PWD/DapChainNodeCache.h \ $$PWD/DapChainNodeNetworkHandler.h \ $$PWD/DapChainWalletHandler.h \ - $$PWD/DapChainLogHandler.h + $$PWD/DapChainLogHandler.h \ + DapChainNetworkHandler.h include (../libdap/libdap.pri) include (../libdap-crypto/libdap-crypto.pri) diff --git a/CellFrameDashboardService/DapChainDashboardService.cpp b/CellFrameDashboardService/DapChainDashboardService.cpp index 836db4b3c..718223759 100755 --- a/CellFrameDashboardService/DapChainDashboardService.cpp +++ b/CellFrameDashboardService/DapChainDashboardService.cpp @@ -13,9 +13,12 @@ DapChainDashboardService::DapChainDashboardService() : DapRpcService(nullptr) m_pDapChainNodeHandler = new DapChainNodeNetworkHandler(this); - m_pDapChainHistoryHandler = new DapChainHistoryHandler {this}; + m_pDapChainHistoryHandler = new DapChainHistoryHandler(this); QObject::connect(m_pDapChainHistoryHandler, &DapChainHistoryHandler::requsetWallets, this, &DapChainDashboardService::doRequestWallets); QObject::connect(m_pDapChainHistoryHandler, &DapChainHistoryHandler::changeHistory, this, &DapChainDashboardService::doSendNewHistory); + + m_pDapChainNetworkHandler = new DapChainNetworkHandler(this); + QObject::connect(m_pDapChainNetworkHandler, &DapChainNetworkHandler::changeCurrentNetwork, m_pDapChainHistoryHandler, &DapChainHistoryHandler::setCurrentNetwork); } bool DapChainDashboardService::start() @@ -88,6 +91,16 @@ QVariant DapChainDashboardService::getHistory() const return m_pDapChainHistoryHandler->getHistory(); } +QStringList DapChainDashboardService::getNetworkList() const +{ + return m_pDapChainNetworkHandler->getNetworkList(); +} + +void DapChainDashboardService::setCurrentNetwork(const QString& aNetwork) +{ + m_pDapChainNetworkHandler->setCurrentNetwork(aNetwork); +} + void DapChainDashboardService::doRequestWallets() { m_pDapChainHistoryHandler->onRequestNewHistory(m_pDapChainWalletHandler->getWallets()); diff --git a/CellFrameDashboardService/DapChainDashboardService.h b/CellFrameDashboardService/DapChainDashboardService.h index 4e4c0f9f0..f9e230784 100755 --- a/CellFrameDashboardService/DapChainDashboardService.h +++ b/CellFrameDashboardService/DapChainDashboardService.h @@ -27,6 +27,7 @@ #include "DapChainWalletHandler.h" #include "DapChainNodeNetworkHandler.h" #include "DapChainHistoryHandler.h" +#include "DapChainNetworkHandler.h" #include <QLocalServer> typedef class DapRpcLocalServer DapUiService; @@ -49,6 +50,8 @@ class DapChainDashboardService : public DapRpcService /// Recipient history of transactions DapChainHistoryHandler* m_pDapChainHistoryHandler {nullptr}; + DapChainNetworkHandler* m_pDapChainNetworkHandler {nullptr}; + public: /// Standard Ñonstructor. explicit DapChainDashboardService(); @@ -103,6 +106,10 @@ public slots: /// @return QList data history QVariant getHistory() const; + QStringList getNetworkList() const; + + void setCurrentNetwork(const QString& aNetwork); + private slots: void doRequestWallets(); void doSendNewHistory(const QVariant& aData); diff --git a/CellFrameDashboardService/DapChainHistoryHandler.cpp b/CellFrameDashboardService/DapChainHistoryHandler.cpp index 2bb2dd5fa..bf44fd19d 100644 --- a/CellFrameDashboardService/DapChainHistoryHandler.cpp +++ b/CellFrameDashboardService/DapChainHistoryHandler.cpp @@ -48,3 +48,9 @@ void DapChainHistoryHandler::onRequestNewHistory(const QMap<QString, QVariant>& emit changeHistory(m_history); } } + +void DapChainHistoryHandler::setCurrentNetwork(const QString& aNetwork) +{ + if(aNetwork == m_CurrentNetwork) return; + m_CurrentNetwork = aNetwork; +} diff --git a/CellFrameDashboardService/DapChainHistoryHandler.h b/CellFrameDashboardService/DapChainHistoryHandler.h index 1d204c46a..221a0ae6f 100644 --- a/CellFrameDashboardService/DapChainHistoryHandler.h +++ b/CellFrameDashboardService/DapChainHistoryHandler.h @@ -16,6 +16,7 @@ class DapChainHistoryHandler : public QObject Q_OBJECT private: + QString m_CurrentNetwork; QVariant m_history; QTimer* m_timoutRequestHistory; @@ -30,6 +31,7 @@ public slots: /// Request new tx history /// @param wallet list void onRequestNewHistory(const QMap<QString, QVariant>& aWallets); + void setCurrentNetwork(const QString& aNetwork); signals: /// Signal for request wallets list diff --git a/CellFrameDashboardService/DapChainNetworkHandler.cpp b/CellFrameDashboardService/DapChainNetworkHandler.cpp new file mode 100644 index 000000000..3eda1cde0 --- /dev/null +++ b/CellFrameDashboardService/DapChainNetworkHandler.cpp @@ -0,0 +1,16 @@ +#include "DapChainNetworkHandler.h" + +DapChainNetworkHandler::DapChainNetworkHandler(QObject *parent) : QObject(parent) +{ + +} + +QStringList DapChainNetworkHandler::getNetworkList() const +{ + return QStringList(); +} + +void DapChainNetworkHandler::setCurrentNetwork(const QString& aNetwork) +{ + emit changeCurrentNetwork(aNetwork); +} diff --git a/CellFrameDashboardService/DapChainNetworkHandler.h b/CellFrameDashboardService/DapChainNetworkHandler.h new file mode 100644 index 000000000..3bd57ac55 --- /dev/null +++ b/CellFrameDashboardService/DapChainNetworkHandler.h @@ -0,0 +1,26 @@ +#ifndef DAPCHAINNETWORKHANDLER_H +#define DAPCHAINNETWORKHANDLER_H + +#include <QObject> +#include <QString> + +class DapChainNetworkHandler : public QObject +{ + Q_OBJECT + +private: + QStringList m_NetworkList; + +public: + explicit DapChainNetworkHandler(QObject *parent = nullptr); + + QStringList getNetworkList() const; + +public slots: + void setCurrentNetwork(const QString& aNetwork); + +signals: + void changeCurrentNetwork(QString network); +}; + +#endif // DAPCHAINNETWORKHANDLER_H -- GitLab From c81758a50d489ced5f03d5f54441a9a37e47a936 Mon Sep 17 00:00:00 2001 From: jonymt <johanmt@yandex.ru> Date: Fri, 20 Sep 2019 21:50:25 +0200 Subject: [PATCH 2/7] [+] added filling combobox --- .../DapCommandController.cpp | 19 +++++++++++++- CellFrameDashboardGUI/DapCommandController.h | 8 ++++++ .../DapServiceController.cpp | 8 ++++++ CellFrameDashboardGUI/DapServiceController.h | 3 ++- .../DapSettingsNetworkModel.h | 2 +- .../DapUiQmlWidgetSettingsNetwork.qml | 7 +++++ CellFrameDashboardGUI/main.cpp | 1 + .../DapChainDashboardService.cpp | 6 +++++ .../DapChainDashboardService.h | 2 ++ .../DapChainHistoryHandler.cpp | 2 +- .../DapChainNetworkHandler.cpp | 26 ++++++++++++++++--- .../DapChainNetworkHandler.h | 5 +++- 12 files changed, 80 insertions(+), 9 deletions(-) diff --git a/CellFrameDashboardGUI/DapCommandController.cpp b/CellFrameDashboardGUI/DapCommandController.cpp index 7a3cc5b53..a6f5629a5 100755 --- a/CellFrameDashboardGUI/DapCommandController.cpp +++ b/CellFrameDashboardGUI/DapCommandController.cpp @@ -63,6 +63,11 @@ void DapCommandController::setNewHistory(const QVariant& aData) emit sendHistory(aData); } +void DapCommandController::changeCurrentNetwork(const QString& aNetwork) +{ + m_DAPRpcSocket->invokeRemoteMethod("RPCServer.changeCurrentNetwork", aNetwork); +} + void DapCommandController::processChangedLog() { // QStringList tempLogModel; @@ -186,12 +191,18 @@ void DapCommandController::processExecuteCommand() void DapCommandController::processGetHistory() { - qDebug() << "processGetHistory()"; DapRpcServiceReply *reply = static_cast<DapRpcServiceReply *>(sender()); QVariant result = reply->response().result().toArray().toVariantList(); emit sendHistory(result); } +void DapCommandController::processGetNetworkList() +{ + DapRpcServiceReply *reply = static_cast<DapRpcServiceReply *>(sender()); + QStringList result = reply->response().result().toVariant().toStringList(); + emit sendNetworkList(result); +} + /// Show or hide GUI client by clicking on the tray icon. /// @param aIsActivated Accepts true - when requesting to /// display a client, falso - when requesting to hide a client. @@ -245,6 +256,12 @@ void DapCommandController::getNodeNetwork() connect(reply, SIGNAL(finished()), this, SLOT(processGetNodeNetwork())); } +void DapCommandController::getNetworkList() +{ + DapRpcServiceReply *reply = m_DAPRpcSocket->invokeRemoteMethod("RPCServer.getNetworkList"); + connect(reply, SIGNAL(finished()), this, SLOT(processGetNetworkList())); +} + void DapCommandController::setNodeStatus(const bool aIsOnline) { /*DapRpcServiceReply *reply =*/ m_DAPRpcSocket->invokeRemoteMethod("RPCServer.setNodeStatus", aIsOnline); diff --git a/CellFrameDashboardGUI/DapCommandController.h b/CellFrameDashboardGUI/DapCommandController.h index 78152aba3..605f85ff3 100755 --- a/CellFrameDashboardGUI/DapCommandController.h +++ b/CellFrameDashboardGUI/DapCommandController.h @@ -49,6 +49,8 @@ signals: /// Signal for sending new transaction history void sendHistory(const QVariant& aData); + void sendNetworkList(const QStringList& aList); + public: /// Overloaded constructor. /// @param apIODevice Data transfer device. @@ -78,6 +80,8 @@ private slots: void processGetHistory(); + void processGetNetworkList(); + public slots: /// Show or hide GUI client by clicking on the tray icon. /// @param aIsActivated Accepts true - when requesting to @@ -98,6 +102,8 @@ public slots: void getNodeNetwork(); + void getNetworkList(); + void setNodeStatus(const bool aIsOnline); void executeCommand(const QString& command); @@ -110,6 +116,8 @@ public slots: void getHistory(); /// Send to model new history void setNewHistory(const QVariant& aData); + + void changeCurrentNetwork(const QString& aNetwork); }; #endif // COMMANDCONTROLLER_H diff --git a/CellFrameDashboardGUI/DapServiceController.cpp b/CellFrameDashboardGUI/DapServiceController.cpp index 3b8f210af..3b60c7bbe 100755 --- a/CellFrameDashboardGUI/DapServiceController.cpp +++ b/CellFrameDashboardGUI/DapServiceController.cpp @@ -59,6 +59,9 @@ void DapServiceController::init(DapServiceClient *apDapServiceClient) connect(m_pDapCommandController, SIGNAL(sendHistory(QVariant)), this, SLOT(processGetHistory(QVariant))); connect(m_pDapCommandController, &DapCommandController::sendHistory, &DapScreenHistoryModel::getInstance(), &DapScreenHistoryModel::receiveNewData); + + connect(m_pDapCommandController, &DapCommandController::sendNetworkList, &DapSettingsNetworkModel::getInstance(), &DapSettingsNetworkModel::setNetworkList); + connect(&DapSettingsNetworkModel::getInstance(), &DapSettingsNetworkModel::currentNetworkChanged, m_pDapCommandController, &DapCommandController::changeCurrentNetwork); } QString DapServiceController::getBrand() const @@ -235,6 +238,11 @@ void DapServiceController::processGetHistory(const QVariant& aData) DapScreenHistoryModel::getInstance().receiveNewData(aData); } +void DapServiceController::getNetworkList() +{ + m_pDapCommandController->getNetworkList(); +} + /// Get an instance of a class. /// @return Instance of a class. diff --git a/CellFrameDashboardGUI/DapServiceController.h b/CellFrameDashboardGUI/DapServiceController.h index 36f5ba190..9e40b9068 100755 --- a/CellFrameDashboardGUI/DapServiceController.h +++ b/CellFrameDashboardGUI/DapServiceController.h @@ -15,6 +15,7 @@ #include "DapChainWalletsModel.h" #include "DapChainNodeNetworkModel.h" #include "DapScreenHistoryModel.h" +#include "DapSettingsNetworkModel.h" class DapServiceController : public QObject { @@ -80,7 +81,7 @@ public: void getWalletInfo(const QString& asWalletName); - + void getNetworkList(); signals: /// The signal is emitted when the Brand company property changes. diff --git a/CellFrameDashboardGUI/DapSettingsNetworkModel.h b/CellFrameDashboardGUI/DapSettingsNetworkModel.h index 215eecb59..11f16c3b0 100644 --- a/CellFrameDashboardGUI/DapSettingsNetworkModel.h +++ b/CellFrameDashboardGUI/DapSettingsNetworkModel.h @@ -28,7 +28,7 @@ public: QVariant data(const QModelIndex& index, int role) const; QHash<int, QByteArray> roleNames() const; - QString getCurrentNetwork() const; + Q_INVOKABLE QString getCurrentNetwork() const; public slots: void setNetworkList(const QStringList& aNetworkList); diff --git a/CellFrameDashboardGUI/DapUiQmlWidgetSettingsNetwork.qml b/CellFrameDashboardGUI/DapUiQmlWidgetSettingsNetwork.qml index 74a143e5f..9612bcd24 100644 --- a/CellFrameDashboardGUI/DapUiQmlWidgetSettingsNetwork.qml +++ b/CellFrameDashboardGUI/DapUiQmlWidgetSettingsNetwork.qml @@ -14,5 +14,12 @@ DapUiQmlWidgetSettingsNetworkForm { anchors.topMargin: 13 * pt model: dapSettingsNetworkModel textRole: "network" + currentIndex: find(dapSettingsNetworkModel.CurrentNetwork) + + onCurrentTextChanged: { + console.debug(currentText); + if(dapSettingsNetworkModel.CurrentNetwork != currentText) + dapSettingsNetworkModel.CurrentNetwork = currentText; + } } } diff --git a/CellFrameDashboardGUI/main.cpp b/CellFrameDashboardGUI/main.cpp index ab633386f..b53c3f7c9 100755 --- a/CellFrameDashboardGUI/main.cpp +++ b/CellFrameDashboardGUI/main.cpp @@ -54,6 +54,7 @@ int main(int argc, char *argv[]) dapServiceClient.init(); controller.getWallets(); controller.getHistory(); + controller.getNetworkList(); DapScreenHistoryFilterModel::getInstance() .setSourceModel(&DapScreenHistoryModel::getInstance()); diff --git a/CellFrameDashboardService/DapChainDashboardService.cpp b/CellFrameDashboardService/DapChainDashboardService.cpp index 718223759..a117d4403 100755 --- a/CellFrameDashboardService/DapChainDashboardService.cpp +++ b/CellFrameDashboardService/DapChainDashboardService.cpp @@ -101,6 +101,12 @@ void DapChainDashboardService::setCurrentNetwork(const QString& aNetwork) m_pDapChainNetworkHandler->setCurrentNetwork(aNetwork); } +void DapChainDashboardService::changeCurrentNetwork(const QString& aNetwork) +{ + m_pDapChainNetworkHandler->setCurrentNetwork(aNetwork); + m_pDapChainHistoryHandler->setCurrentNetwork(aNetwork); +} + void DapChainDashboardService::doRequestWallets() { m_pDapChainHistoryHandler->onRequestNewHistory(m_pDapChainWalletHandler->getWallets()); diff --git a/CellFrameDashboardService/DapChainDashboardService.h b/CellFrameDashboardService/DapChainDashboardService.h index f9e230784..46bffd981 100755 --- a/CellFrameDashboardService/DapChainDashboardService.h +++ b/CellFrameDashboardService/DapChainDashboardService.h @@ -110,6 +110,8 @@ public slots: void setCurrentNetwork(const QString& aNetwork); + void changeCurrentNetwork(const QString& aNetwork); + private slots: void doRequestWallets(); void doSendNewHistory(const QVariant& aData); diff --git a/CellFrameDashboardService/DapChainHistoryHandler.cpp b/CellFrameDashboardService/DapChainHistoryHandler.cpp index bf44fd19d..9dfbfa587 100644 --- a/CellFrameDashboardService/DapChainHistoryHandler.cpp +++ b/CellFrameDashboardService/DapChainHistoryHandler.cpp @@ -22,7 +22,7 @@ void DapChainHistoryHandler::onRequestNewHistory(const QMap<QString, QVariant>& for(int i = 0; i < wallets.count(); i++) { QProcess process; - process.start(QString(CLI_PATH) + " tx_history -net private -chain gdb -addr " + wallets.at(i).toString()); + process.start(QString(CLI_PATH) + " tx_history -net " + m_CurrentNetwork + " -chain gdb -addr " + wallets.at(i).toString()); process.waitForFinished(-1); QByteArray result = process.readAll(); diff --git a/CellFrameDashboardService/DapChainNetworkHandler.cpp b/CellFrameDashboardService/DapChainNetworkHandler.cpp index 3eda1cde0..9f0e31eb9 100644 --- a/CellFrameDashboardService/DapChainNetworkHandler.cpp +++ b/CellFrameDashboardService/DapChainNetworkHandler.cpp @@ -1,16 +1,34 @@ #include "DapChainNetworkHandler.h" -DapChainNetworkHandler::DapChainNetworkHandler(QObject *parent) : QObject(parent) +DapChainNetworkHandler::DapChainNetworkHandler(QObject *parent) : QObject(parent), + m_CurrentNetwork(-1) { } -QStringList DapChainNetworkHandler::getNetworkList() const +QStringList DapChainNetworkHandler::getNetworkList() { - return QStringList(); + QStringList network; + /// TODO: It's test. We should change it later + QFile file("network.txt"); + if(file.open(QIODevice::ReadOnly | QIODevice::Text)) + { + QString data = QString::fromStdString(file.readAll().toStdString()); + network = data.split(": ").at(1).split(", "); + } + + if(!network.isEmpty()) + { + if(m_CurrentNetwork.isEmpty() || !m_NetworkList.contains(m_CurrentNetwork)) + m_CurrentNetwork = network.at(0); + emit changeCurrentNetwork(m_CurrentNetwork); + } + + return network; } void DapChainNetworkHandler::setCurrentNetwork(const QString& aNetwork) { - emit changeCurrentNetwork(aNetwork); + if(m_NetworkList.contains(aNetwork)) + emit changeCurrentNetwork(aNetwork); } diff --git a/CellFrameDashboardService/DapChainNetworkHandler.h b/CellFrameDashboardService/DapChainNetworkHandler.h index 3bd57ac55..6174cb347 100644 --- a/CellFrameDashboardService/DapChainNetworkHandler.h +++ b/CellFrameDashboardService/DapChainNetworkHandler.h @@ -4,17 +4,20 @@ #include <QObject> #include <QString> +#include <QFile> + class DapChainNetworkHandler : public QObject { Q_OBJECT private: + QString m_CurrentNetwork; QStringList m_NetworkList; public: explicit DapChainNetworkHandler(QObject *parent = nullptr); - QStringList getNetworkList() const; + QStringList getNetworkList(); public slots: void setCurrentNetwork(const QString& aNetwork); -- GitLab From 3302c1e651ff8cbeb575d86e55bf73f0132768b1 Mon Sep 17 00:00:00 2001 From: jonymt <johanmt@yandex.ru> Date: Mon, 23 Sep 2019 18:13:21 +0200 Subject: [PATCH 3/7] [*] getting net list from cli --- .../DapSettingsNetworkModel.cpp | 11 ++++++-- .../DapSettingsNetworkModel.h | 6 ++-- .../DapUiQmlWidgetSettingsNetwork.qml | 7 +++-- .../CellFrameDashboardService.pro | 2 +- .../DapChainDashboardService.cpp | 9 ++---- .../DapChainDashboardService.h | 2 -- .../DapChainNetworkHandler.cpp | 28 +++++-------------- .../DapChainNetworkHandler.h | 8 +----- .../DapChainNodeNetworkHandler.cpp | 12 ++++++-- .../DapChainNodeNetworkHandler.h | 5 ++++ .../DapChainWalletHandler.cpp | 10 +++++-- .../DapChainWalletHandler.h | 4 +++ 12 files changed, 54 insertions(+), 50 deletions(-) diff --git a/CellFrameDashboardGUI/DapSettingsNetworkModel.cpp b/CellFrameDashboardGUI/DapSettingsNetworkModel.cpp index 04ee26f80..e3aa14119 100644 --- a/CellFrameDashboardGUI/DapSettingsNetworkModel.cpp +++ b/CellFrameDashboardGUI/DapSettingsNetworkModel.cpp @@ -1,6 +1,7 @@ #include "DapSettingsNetworkModel.h" -DapSettingsNetworkModel::DapSettingsNetworkModel(QObject *parent) : QAbstractListModel(parent) +DapSettingsNetworkModel::DapSettingsNetworkModel(QObject *parent) : QAbstractListModel(parent), + m_CurrentIndex(-1) { m_NetworkList = QStringList() << "First" << "Second" << "Third" << "Forth"; } @@ -40,6 +41,11 @@ QString DapSettingsNetworkModel::getCurrentNetwork() const return m_CurrentNetwork; } +int DapSettingsNetworkModel::getCurrentIndex() const +{ + return m_CurrentIndex; +} + void DapSettingsNetworkModel::setNetworkList(const QStringList& aNetworkList) { if(m_NetworkList == aNetworkList) return; @@ -48,11 +54,12 @@ void DapSettingsNetworkModel::setNetworkList(const QStringList& aNetworkList) endResetModel(); } -void DapSettingsNetworkModel::setCurrentNetwork(QString CurrentNetwork) +void DapSettingsNetworkModel::setCurrentNetwork(QString CurrentNetwork, int CurrentIndex) { if (m_CurrentNetwork == CurrentNetwork) return; m_CurrentNetwork = CurrentNetwork; + m_CurrentIndex = CurrentIndex; emit currentNetworkChanged(m_CurrentNetwork); } diff --git a/CellFrameDashboardGUI/DapSettingsNetworkModel.h b/CellFrameDashboardGUI/DapSettingsNetworkModel.h index 11f16c3b0..05ce86cde 100644 --- a/CellFrameDashboardGUI/DapSettingsNetworkModel.h +++ b/CellFrameDashboardGUI/DapSettingsNetworkModel.h @@ -9,7 +9,7 @@ class DapSettingsNetworkModel : public QAbstractListModel { Q_OBJECT - Q_PROPERTY(QString CurrentNetwork READ getCurrentNetwork WRITE setCurrentNetwork NOTIFY currentNetworkChanged) +// Q_PROPERTY(QString CurrentNetwork READ getCurrentNetwork WRITE setCurrentNetwork NOTIFY currentNetworkChanged) public: enum DisplayRole { @@ -19,6 +19,7 @@ public: private: QStringList m_NetworkList; QString m_CurrentNetwork; + int m_CurrentIndex; public: explicit DapSettingsNetworkModel(QObject *parent = nullptr); @@ -29,10 +30,11 @@ public: QHash<int, QByteArray> roleNames() const; Q_INVOKABLE QString getCurrentNetwork() const; + Q_INVOKABLE int getCurrentIndex() const; public slots: void setNetworkList(const QStringList& aNetworkList); - void setCurrentNetwork(QString CurrentNetwork); + void setCurrentNetwork(QString CurrentNetwork, int CurrentIndex); signals: void currentNetworkChanged(QString currentNetwork); diff --git a/CellFrameDashboardGUI/DapUiQmlWidgetSettingsNetwork.qml b/CellFrameDashboardGUI/DapUiQmlWidgetSettingsNetwork.qml index 9612bcd24..ee4a5373e 100644 --- a/CellFrameDashboardGUI/DapUiQmlWidgetSettingsNetwork.qml +++ b/CellFrameDashboardGUI/DapUiQmlWidgetSettingsNetwork.qml @@ -14,12 +14,13 @@ DapUiQmlWidgetSettingsNetworkForm { anchors.topMargin: 13 * pt model: dapSettingsNetworkModel textRole: "network" - currentIndex: find(dapSettingsNetworkModel.CurrentNetwork) + currentIndex: dapSettingsNetworkModel.getCurrentIndex() onCurrentTextChanged: { console.debug(currentText); - if(dapSettingsNetworkModel.CurrentNetwork != currentText) - dapSettingsNetworkModel.CurrentNetwork = currentText; + if(dapSettingsNetworkModel.getCurrentIndex() !== currentIndex) { + dapSettingsNetworkModel.setCurrentNetwork(currentText, currentIndex); + } } } } diff --git a/CellFrameDashboardService/CellFrameDashboardService.pro b/CellFrameDashboardService/CellFrameDashboardService.pro index c5c420e52..3921104f0 100755 --- a/CellFrameDashboardService/CellFrameDashboardService.pro +++ b/CellFrameDashboardService/CellFrameDashboardService.pro @@ -20,7 +20,7 @@ ICON = icon.ico win32 { VERSION = $${VER_MAJ}.$${VER_MIN}.$$VER_PAT - DEFINES += CLI_PATH=\\\"./kelvin-node-cli.exe\\\" + DEFINES += CLI_PATH=\\\"./cellframe-node-cli.exe\\\" DEFINES += LOG_FILE=\\\"./opt/cellframe-node/var/log/cellframe-node_logs.txt\\\" } else { diff --git a/CellFrameDashboardService/DapChainDashboardService.cpp b/CellFrameDashboardService/DapChainDashboardService.cpp index a117d4403..7e680b60d 100755 --- a/CellFrameDashboardService/DapChainDashboardService.cpp +++ b/CellFrameDashboardService/DapChainDashboardService.cpp @@ -18,7 +18,6 @@ DapChainDashboardService::DapChainDashboardService() : DapRpcService(nullptr) QObject::connect(m_pDapChainHistoryHandler, &DapChainHistoryHandler::changeHistory, this, &DapChainDashboardService::doSendNewHistory); m_pDapChainNetworkHandler = new DapChainNetworkHandler(this); - QObject::connect(m_pDapChainNetworkHandler, &DapChainNetworkHandler::changeCurrentNetwork, m_pDapChainHistoryHandler, &DapChainHistoryHandler::setCurrentNetwork); } bool DapChainDashboardService::start() @@ -96,15 +95,11 @@ QStringList DapChainDashboardService::getNetworkList() const return m_pDapChainNetworkHandler->getNetworkList(); } -void DapChainDashboardService::setCurrentNetwork(const QString& aNetwork) -{ - m_pDapChainNetworkHandler->setCurrentNetwork(aNetwork); -} - void DapChainDashboardService::changeCurrentNetwork(const QString& aNetwork) { - m_pDapChainNetworkHandler->setCurrentNetwork(aNetwork); m_pDapChainHistoryHandler->setCurrentNetwork(aNetwork); + m_pDapChainNodeHandler->setCurrentNetwork(aNetwork); + m_pDapChainWalletHandler->setCurrentNetwork(aNetwork); } void DapChainDashboardService::doRequestWallets() diff --git a/CellFrameDashboardService/DapChainDashboardService.h b/CellFrameDashboardService/DapChainDashboardService.h index 46bffd981..0baa9630c 100755 --- a/CellFrameDashboardService/DapChainDashboardService.h +++ b/CellFrameDashboardService/DapChainDashboardService.h @@ -108,8 +108,6 @@ public slots: QStringList getNetworkList() const; - void setCurrentNetwork(const QString& aNetwork); - void changeCurrentNetwork(const QString& aNetwork); private slots: diff --git a/CellFrameDashboardService/DapChainNetworkHandler.cpp b/CellFrameDashboardService/DapChainNetworkHandler.cpp index 9f0e31eb9..5b3046034 100644 --- a/CellFrameDashboardService/DapChainNetworkHandler.cpp +++ b/CellFrameDashboardService/DapChainNetworkHandler.cpp @@ -1,7 +1,6 @@ #include "DapChainNetworkHandler.h" -DapChainNetworkHandler::DapChainNetworkHandler(QObject *parent) : QObject(parent), - m_CurrentNetwork(-1) +DapChainNetworkHandler::DapChainNetworkHandler(QObject *parent) : QObject(parent) { } @@ -9,26 +8,13 @@ DapChainNetworkHandler::DapChainNetworkHandler(QObject *parent) : QObject(parent QStringList DapChainNetworkHandler::getNetworkList() { QStringList network; - /// TODO: It's test. We should change it later - QFile file("network.txt"); - if(file.open(QIODevice::ReadOnly | QIODevice::Text)) - { - QString data = QString::fromStdString(file.readAll().toStdString()); - network = data.split(": ").at(1).split(", "); - } + QProcess process; + process.start(QString(CLI_PATH) + " net list"); + process.waitForFinished(-1); + QByteArray result = process.readAll(); - if(!network.isEmpty()) - { - if(m_CurrentNetwork.isEmpty() || !m_NetworkList.contains(m_CurrentNetwork)) - m_CurrentNetwork = network.at(0); - emit changeCurrentNetwork(m_CurrentNetwork); - } + QString data = QString::fromStdString(result.toStdString()); + network = data.split("\n").at(0).split(": ").at(1).split(", "); return network; } - -void DapChainNetworkHandler::setCurrentNetwork(const QString& aNetwork) -{ - if(m_NetworkList.contains(aNetwork)) - emit changeCurrentNetwork(aNetwork); -} diff --git a/CellFrameDashboardService/DapChainNetworkHandler.h b/CellFrameDashboardService/DapChainNetworkHandler.h index 6174cb347..5cbdde508 100644 --- a/CellFrameDashboardService/DapChainNetworkHandler.h +++ b/CellFrameDashboardService/DapChainNetworkHandler.h @@ -3,6 +3,7 @@ #include <QObject> #include <QString> +#include <QProcess> #include <QFile> @@ -11,19 +12,12 @@ class DapChainNetworkHandler : public QObject Q_OBJECT private: - QString m_CurrentNetwork; QStringList m_NetworkList; public: explicit DapChainNetworkHandler(QObject *parent = nullptr); QStringList getNetworkList(); - -public slots: - void setCurrentNetwork(const QString& aNetwork); - -signals: - void changeCurrentNetwork(QString network); }; #endif // DAPCHAINNETWORKHANDLER_H diff --git a/CellFrameDashboardService/DapChainNodeNetworkHandler.cpp b/CellFrameDashboardService/DapChainNodeNetworkHandler.cpp index fa829cefe..5e6b25083 100644 --- a/CellFrameDashboardService/DapChainNodeNetworkHandler.cpp +++ b/CellFrameDashboardService/DapChainNodeNetworkHandler.cpp @@ -9,7 +9,7 @@ DapChainNodeNetworkHandler::DapChainNodeNetworkHandler(QObject *parent) : QObjec QVariant DapChainNodeNetworkHandler::getNodeNetwork() const { QProcess process; - process.start(QString(CLI_PATH) + " node dump -net kelvin-testnet -full"); + process.start(QString(CLI_PATH) + " node dump -net " + m_CurrentNetwork + " -full"); process.waitForFinished(-1); QByteArray result = process.readAll(); @@ -50,7 +50,7 @@ QVariant DapChainNodeNetworkHandler::getNodeNetwork() const QProcess process_status; - process_status.start(QString(CLI_PATH) + QString(" net -net kelvin-testnet get status")); + process_status.start(QString(CLI_PATH) + " net -net " + m_CurrentNetwork + " get status"); process_status.waitForFinished(-1); QByteArray result_status = process_status.readAll(); @@ -67,9 +67,15 @@ QVariant DapChainNodeNetworkHandler::getNodeNetwork() const return nodeMap; } +void DapChainNodeNetworkHandler::setCurrentNetwork(const QString& aNetwork) +{ + if(m_CurrentNetwork == aNetwork) return; + m_CurrentNetwork = aNetwork; +} + void DapChainNodeNetworkHandler::setNodeStatus(const bool aIsOnline) { QProcess process; - process.start(QString(CLI_PATH) + QString(" net -net kelvin-testnet go %1").arg(aIsOnline ? "online" : "offline")); + process.start(QString(CLI_PATH) + QString(" net -net %2 go %1").arg(aIsOnline ? "online" : "offline").arg(m_CurrentNetwork)); process.waitForFinished(-1); } diff --git a/CellFrameDashboardService/DapChainNodeNetworkHandler.h b/CellFrameDashboardService/DapChainNodeNetworkHandler.h index e8cc121be..ad148d42d 100644 --- a/CellFrameDashboardService/DapChainNodeNetworkHandler.h +++ b/CellFrameDashboardService/DapChainNodeNetworkHandler.h @@ -13,6 +13,9 @@ class DapChainNodeNetworkHandler : public QObject { Q_OBJECT +private: + QString m_CurrentNetwork; + public: explicit DapChainNodeNetworkHandler(QObject *parent = nullptr); @@ -23,6 +26,8 @@ public slots: /// Get new node network /// @return data of node network QVariant getNodeNetwork() const; + + void setCurrentNetwork(const QString& aNetwork); }; #endif // DAPCHAINNODENETWORKHANDLER_H diff --git a/CellFrameDashboardService/DapChainWalletHandler.cpp b/CellFrameDashboardService/DapChainWalletHandler.cpp index 32361ca17..537053a72 100755 --- a/CellFrameDashboardService/DapChainWalletHandler.cpp +++ b/CellFrameDashboardService/DapChainWalletHandler.cpp @@ -94,7 +94,7 @@ QString DapChainWalletHandler::sendToken(const QString &asSendWallet, const QStr QString answer; qInfo() << QString("sendTokenTest(%1, %2, %3, %4)").arg(asSendWallet).arg(asAddressReceiver).arg(asToken).arg(aAmount); QProcess processCreate; - processCreate.start(QString("%1 tx_create -net cellframe-testnet -chain gdb -from_wallet %2 -to_addr %3 -token %4 -value %5") + processCreate.start(QString("%1 tx_create -net " + m_CurrentNetwork +" -chain gdb -from_wallet %2 -to_addr %3 -token %4 -value %5") .arg(CLI_PATH) .arg(asSendWallet) .arg(asAddressReceiver) @@ -106,10 +106,16 @@ QString DapChainWalletHandler::sendToken(const QString &asSendWallet, const QStr if(!(resultCreate.isEmpty() || resultCreate.isNull())) { QProcess processMempool; - processMempool.start(QString("%1 mempool_proc -net kelvin-testnet -chain gdb").arg(CLI_PATH)); + processMempool.start(QString("%1 mempool_proc -net " + m_CurrentNetwork +" -chain gdb").arg(CLI_PATH)); processMempool.waitForFinished(-1); answer = QString::fromLatin1(processMempool.readAll()); qDebug() << answer; } return answer; } + +void DapChainWalletHandler::setCurrentNetwork(const QString& aNetwork) +{ + if(m_CurrentNetwork != aNetwork) return; + m_CurrentNetwork = aNetwork; +} diff --git a/CellFrameDashboardService/DapChainWalletHandler.h b/CellFrameDashboardService/DapChainWalletHandler.h index 9f0bd5aa0..7385778fe 100755 --- a/CellFrameDashboardService/DapChainWalletHandler.h +++ b/CellFrameDashboardService/DapChainWalletHandler.h @@ -10,6 +10,9 @@ class DapChainWalletHandler : public QObject { Q_OBJECT +private: + QString m_CurrentNetwork; + protected: virtual QString parse(const QByteArray& aWalletAddress); @@ -24,6 +27,7 @@ public slots: QMap<QString, QVariant> getWallets(); QStringList getWalletInfo(const QString& asNameWallet); QString sendToken(const QString &asSendWallet, const QString& asAddressReceiver, const QString& asToken, const QString& aAmount); + void setCurrentNetwork(const QString& aNetwork); }; #endif // DAPCHAINWALLETHANDLER_H -- GitLab From 89a8f133ed547ce3538046b1a5fd38dcd4eff5c7 Mon Sep 17 00:00:00 2001 From: jonymt <johanmt@yandex.ru> Date: Mon, 23 Sep 2019 18:35:21 +0200 Subject: [PATCH 4/7] [*] added comments --- CellFrameDashboardGUI/DapServiceController.h | 2 +- .../DapSettingsNetworkModel.cpp | 2 +- .../DapSettingsNetworkModel.h | 17 +++++++++++++-- .../DapUiQmlScreenSettings.qml | 20 +----------------- .../DapUiQmlScreenSettingsSection.qml | 21 +++++++++++++++++++ .../DapUiQmlWidgetSettingsNetwork.qml | 1 - CellFrameDashboardGUI/qml.qrc | 1 + .../DapChainDashboardService.h | 6 ++++-- .../DapChainNetworkHandler.h | 2 ++ 9 files changed, 46 insertions(+), 26 deletions(-) create mode 100644 CellFrameDashboardGUI/DapUiQmlScreenSettingsSection.qml diff --git a/CellFrameDashboardGUI/DapServiceController.h b/CellFrameDashboardGUI/DapServiceController.h index 9e40b9068..4943d9cb4 100755 --- a/CellFrameDashboardGUI/DapServiceController.h +++ b/CellFrameDashboardGUI/DapServiceController.h @@ -80,7 +80,7 @@ public: Q_INVOKABLE void executeCommand(const QString& command); void getWalletInfo(const QString& asWalletName); - + /// Request about new netowrk list void getNetworkList(); signals: diff --git a/CellFrameDashboardGUI/DapSettingsNetworkModel.cpp b/CellFrameDashboardGUI/DapSettingsNetworkModel.cpp index e3aa14119..e6567a038 100644 --- a/CellFrameDashboardGUI/DapSettingsNetworkModel.cpp +++ b/CellFrameDashboardGUI/DapSettingsNetworkModel.cpp @@ -3,7 +3,7 @@ DapSettingsNetworkModel::DapSettingsNetworkModel(QObject *parent) : QAbstractListModel(parent), m_CurrentIndex(-1) { - m_NetworkList = QStringList() << "First" << "Second" << "Third" << "Forth"; + } DapSettingsNetworkModel& DapSettingsNetworkModel::getInstance() diff --git a/CellFrameDashboardGUI/DapSettingsNetworkModel.h b/CellFrameDashboardGUI/DapSettingsNetworkModel.h index 05ce86cde..216d01290 100644 --- a/CellFrameDashboardGUI/DapSettingsNetworkModel.h +++ b/CellFrameDashboardGUI/DapSettingsNetworkModel.h @@ -9,9 +9,8 @@ class DapSettingsNetworkModel : public QAbstractListModel { Q_OBJECT -// Q_PROPERTY(QString CurrentNetwork READ getCurrentNetwork WRITE setCurrentNetwork NOTIFY currentNetworkChanged) - public: + /// Enumeration display role enum DisplayRole { DisplayName = Qt::UserRole }; @@ -23,20 +22,34 @@ private: public: explicit DapSettingsNetworkModel(QObject *parent = nullptr); + /// Get instance of this object + /// @return instance static DapSettingsNetworkModel &getInstance(); + /// Overload methods int rowCount(const QModelIndex& parent) const; QVariant data(const QModelIndex& index, int role) const; QHash<int, QByteArray> roleNames() const; + /// Get current network which was selected + /// @return name of current network Q_INVOKABLE QString getCurrentNetwork() const; + /// Get current index which was selected + /// @return index of current network Q_INVOKABLE int getCurrentIndex() const; public slots: + /// Set new network list + /// @param List of network void setNetworkList(const QStringList& aNetworkList); + /// Set current network which was selected in combobox + /// @param name of network + /// @param index of network void setCurrentNetwork(QString CurrentNetwork, int CurrentIndex); signals: + /// Signal about changing current network + /// @param name of network which was selected void currentNetworkChanged(QString currentNetwork); }; diff --git a/CellFrameDashboardGUI/DapUiQmlScreenSettings.qml b/CellFrameDashboardGUI/DapUiQmlScreenSettings.qml index d1f6abc94..f7897fe4e 100644 --- a/CellFrameDashboardGUI/DapUiQmlScreenSettings.qml +++ b/CellFrameDashboardGUI/DapUiQmlScreenSettings.qml @@ -31,24 +31,6 @@ DapUiQmlScreenSettingsForm { section.property: "name" section.criteria: ViewSection.FullString - section.delegate: Component { - - Rectangle { - width: parent.width - height: 30 * pt - color: "#DFE1E6" - - Text { - anchors.fill: parent - anchors.leftMargin: 18 * pt - verticalAlignment: Qt.AlignVCenter - text: section - font.family: "Roboto" - font.pixelSize: 12 * pt - color: "#5F5F63" - } - } - - } + section.delegate: DapUiQmlScreenSettingsSection {} } } diff --git a/CellFrameDashboardGUI/DapUiQmlScreenSettingsSection.qml b/CellFrameDashboardGUI/DapUiQmlScreenSettingsSection.qml new file mode 100644 index 000000000..51d10f3f6 --- /dev/null +++ b/CellFrameDashboardGUI/DapUiQmlScreenSettingsSection.qml @@ -0,0 +1,21 @@ +import QtQuick 2.0 + +Component { + + Rectangle { + width: parent.width + height: 30 * pt + color: "#DFE1E6" + + Text { + anchors.fill: parent + anchors.leftMargin: 18 * pt + verticalAlignment: Qt.AlignVCenter + text: section + font.family: "Roboto" + font.pixelSize: 12 * pt + color: "#5F5F63" + } + } + +} diff --git a/CellFrameDashboardGUI/DapUiQmlWidgetSettingsNetwork.qml b/CellFrameDashboardGUI/DapUiQmlWidgetSettingsNetwork.qml index ee4a5373e..30286e2c3 100644 --- a/CellFrameDashboardGUI/DapUiQmlWidgetSettingsNetwork.qml +++ b/CellFrameDashboardGUI/DapUiQmlWidgetSettingsNetwork.qml @@ -17,7 +17,6 @@ DapUiQmlWidgetSettingsNetworkForm { currentIndex: dapSettingsNetworkModel.getCurrentIndex() onCurrentTextChanged: { - console.debug(currentText); if(dapSettingsNetworkModel.getCurrentIndex() !== currentIndex) { dapSettingsNetworkModel.setCurrentNetwork(currentText, currentIndex); } diff --git a/CellFrameDashboardGUI/qml.qrc b/CellFrameDashboardGUI/qml.qrc index 182598de8..5f7955c32 100755 --- a/CellFrameDashboardGUI/qml.qrc +++ b/CellFrameDashboardGUI/qml.qrc @@ -62,5 +62,6 @@ <file>DapUiQmlWidgetSettingsNetworkForm.ui.qml</file> <file>DapUiQmlScreenSettings.qml</file> <file>DapUiQmlScreenSettingsForm.ui.qml</file> + <file>DapUiQmlScreenSettingsSection.qml</file> </qresource> </RCC> diff --git a/CellFrameDashboardService/DapChainDashboardService.h b/CellFrameDashboardService/DapChainDashboardService.h index 0baa9630c..b7ae8b64c 100755 --- a/CellFrameDashboardService/DapChainDashboardService.h +++ b/CellFrameDashboardService/DapChainDashboardService.h @@ -105,9 +105,11 @@ public slots: /// Get history /// @return QList data history QVariant getHistory() const; - + /// Get network list + /// @return Network list QStringList getNetworkList() const; - + /// Change current network + /// @param name of network whcih was selected void changeCurrentNetwork(const QString& aNetwork); private slots: diff --git a/CellFrameDashboardService/DapChainNetworkHandler.h b/CellFrameDashboardService/DapChainNetworkHandler.h index 5cbdde508..515cd2298 100644 --- a/CellFrameDashboardService/DapChainNetworkHandler.h +++ b/CellFrameDashboardService/DapChainNetworkHandler.h @@ -17,6 +17,8 @@ private: public: explicit DapChainNetworkHandler(QObject *parent = nullptr); + /// Get network list + /// @return Network list QStringList getNetworkList(); }; -- GitLab From cd18b69e863bae81f8dac8ec05d7a7f0701d69f7 Mon Sep 17 00:00:00 2001 From: jonymt <johanmt@yandex.ru> Date: Wed, 25 Sep 2019 12:17:56 +0200 Subject: [PATCH 5/7] [*] fixed invalid network list --- .../DapChainNetworkHandler.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/CellFrameDashboardService/DapChainNetworkHandler.cpp b/CellFrameDashboardService/DapChainNetworkHandler.cpp index 5b3046034..7abc34e13 100644 --- a/CellFrameDashboardService/DapChainNetworkHandler.cpp +++ b/CellFrameDashboardService/DapChainNetworkHandler.cpp @@ -1,4 +1,5 @@ #include "DapChainNetworkHandler.h" +#include <QDebug> DapChainNetworkHandler::DapChainNetworkHandler(QObject *parent) : QObject(parent) { @@ -13,8 +14,16 @@ QStringList DapChainNetworkHandler::getNetworkList() process.waitForFinished(-1); QByteArray result = process.readAll(); - QString data = QString::fromStdString(result.toStdString()); - network = data.split("\n").at(0).split(": ").at(1).split(", "); + if(!result.isEmpty()) + { + QString data = QString::fromStdString(result.toStdString()); + data = data.remove("\n"); + QStringList list = data.split(": "); + if(list.count() > 1) + { + network = list.at(1).split(", "); + } + } return network; } -- GitLab From e20b954d6564d9c3a16965f3cd39cc49be6e1546 Mon Sep 17 00:00:00 2001 From: jonymt <johanmt@yandex.ru> Date: Wed, 2 Oct 2019 16:20:02 +0200 Subject: [PATCH 6/7] [*] code review --- CellFrameDashboardGUI/DapScreenHistoryModel.cpp | 1 - CellFrameDashboardService/DapChainNodeNetworkHandler.cpp | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/CellFrameDashboardGUI/DapScreenHistoryModel.cpp b/CellFrameDashboardGUI/DapScreenHistoryModel.cpp index ac5b71693..91754fae2 100644 --- a/CellFrameDashboardGUI/DapScreenHistoryModel.cpp +++ b/CellFrameDashboardGUI/DapScreenHistoryModel.cpp @@ -50,7 +50,6 @@ void DapScreenHistoryModel::receiveNewData(const QVariant& aData) return; } - qDebug() << aData; beginResetModel(); QList<QVariant> dataList = aData.toList(); m_elementList.clear(); diff --git a/CellFrameDashboardService/DapChainNodeNetworkHandler.cpp b/CellFrameDashboardService/DapChainNodeNetworkHandler.cpp index 5e6b25083..27411397d 100644 --- a/CellFrameDashboardService/DapChainNodeNetworkHandler.cpp +++ b/CellFrameDashboardService/DapChainNodeNetworkHandler.cpp @@ -76,6 +76,6 @@ void DapChainNodeNetworkHandler::setCurrentNetwork(const QString& aNetwork) void DapChainNodeNetworkHandler::setNodeStatus(const bool aIsOnline) { QProcess process; - process.start(QString(CLI_PATH) + QString(" net -net %2 go %1").arg(aIsOnline ? "online" : "offline").arg(m_CurrentNetwork)); + process.start(QString(CLI_PATH) + QString(" net -net %1 go %2").arg(m_CurrentNetwork).arg(aIsOnline ? "online" : "offline")); process.waitForFinished(-1); } -- GitLab From 4f2c7d8e800efaf70009e9f97a053ba234e141b2 Mon Sep 17 00:00:00 2001 From: "evgenii.tagiltsev" <tagiltsev.evgenii@gmail.com> Date: Tue, 8 Oct 2019 19:31:22 +0200 Subject: [PATCH 7/7] [*] added comments for the code --- .../DapChainHistoryHandler.cpp | 5 +++-- .../DapChainHistoryHandler.h | 2 ++ .../DapChainNodeNetworkHandler.cpp | 5 +++-- .../DapChainNodeNetworkHandler.h | 3 ++- .../DapChainWalletHandler.cpp | 5 +++-- .../DapChainWalletHandler.h | 19 +++++++++++++++++++ 6 files changed, 32 insertions(+), 7 deletions(-) diff --git a/CellFrameDashboardService/DapChainHistoryHandler.cpp b/CellFrameDashboardService/DapChainHistoryHandler.cpp index 9dfbfa587..136e34841 100644 --- a/CellFrameDashboardService/DapChainHistoryHandler.cpp +++ b/CellFrameDashboardService/DapChainHistoryHandler.cpp @@ -22,7 +22,7 @@ void DapChainHistoryHandler::onRequestNewHistory(const QMap<QString, QVariant>& for(int i = 0; i < wallets.count(); i++) { QProcess process; - process.start(QString(CLI_PATH) + " tx_history -net " + m_CurrentNetwork + " -chain gdb -addr " + wallets.at(i).toString()); + process.start(QString("%1 tx_history -net %2 -chain gdb -addr %3").arg(CLI_PATH).arg(m_CurrentNetwork).arg(wallets.at(i).toString())); process.waitForFinished(-1); QByteArray result = process.readAll(); @@ -51,6 +51,7 @@ void DapChainHistoryHandler::onRequestNewHistory(const QMap<QString, QVariant>& void DapChainHistoryHandler::setCurrentNetwork(const QString& aNetwork) { - if(aNetwork == m_CurrentNetwork) return; + if(aNetwork == m_CurrentNetwork) + return; m_CurrentNetwork = aNetwork; } diff --git a/CellFrameDashboardService/DapChainHistoryHandler.h b/CellFrameDashboardService/DapChainHistoryHandler.h index 221a0ae6f..6b56f6e35 100644 --- a/CellFrameDashboardService/DapChainHistoryHandler.h +++ b/CellFrameDashboardService/DapChainHistoryHandler.h @@ -31,6 +31,8 @@ public slots: /// Request new tx history /// @param wallet list void onRequestNewHistory(const QMap<QString, QVariant>& aWallets); + /// Set current network + /// @param name of network void setCurrentNetwork(const QString& aNetwork); signals: diff --git a/CellFrameDashboardService/DapChainNodeNetworkHandler.cpp b/CellFrameDashboardService/DapChainNodeNetworkHandler.cpp index 27411397d..52fda1159 100644 --- a/CellFrameDashboardService/DapChainNodeNetworkHandler.cpp +++ b/CellFrameDashboardService/DapChainNodeNetworkHandler.cpp @@ -9,7 +9,7 @@ DapChainNodeNetworkHandler::DapChainNodeNetworkHandler(QObject *parent) : QObjec QVariant DapChainNodeNetworkHandler::getNodeNetwork() const { QProcess process; - process.start(QString(CLI_PATH) + " node dump -net " + m_CurrentNetwork + " -full"); + process.start(QString("%1 node dump -net %2 -full").arg(CLI_PATH).arg(m_CurrentNetwork)); process.waitForFinished(-1); QByteArray result = process.readAll(); @@ -69,7 +69,8 @@ QVariant DapChainNodeNetworkHandler::getNodeNetwork() const void DapChainNodeNetworkHandler::setCurrentNetwork(const QString& aNetwork) { - if(m_CurrentNetwork == aNetwork) return; + if(m_CurrentNetwork == aNetwork) + return; m_CurrentNetwork = aNetwork; } diff --git a/CellFrameDashboardService/DapChainNodeNetworkHandler.h b/CellFrameDashboardService/DapChainNodeNetworkHandler.h index ad148d42d..ab57a373d 100644 --- a/CellFrameDashboardService/DapChainNodeNetworkHandler.h +++ b/CellFrameDashboardService/DapChainNodeNetworkHandler.h @@ -26,7 +26,8 @@ public slots: /// Get new node network /// @return data of node network QVariant getNodeNetwork() const; - + /// Set current network + /// @param name of network void setCurrentNetwork(const QString& aNetwork); }; diff --git a/CellFrameDashboardService/DapChainWalletHandler.cpp b/CellFrameDashboardService/DapChainWalletHandler.cpp index 537053a72..4da008ac9 100755 --- a/CellFrameDashboardService/DapChainWalletHandler.cpp +++ b/CellFrameDashboardService/DapChainWalletHandler.cpp @@ -94,12 +94,13 @@ QString DapChainWalletHandler::sendToken(const QString &asSendWallet, const QStr QString answer; qInfo() << QString("sendTokenTest(%1, %2, %3, %4)").arg(asSendWallet).arg(asAddressReceiver).arg(asToken).arg(aAmount); QProcess processCreate; - processCreate.start(QString("%1 tx_create -net " + m_CurrentNetwork +" -chain gdb -from_wallet %2 -to_addr %3 -token %4 -value %5") + processCreate.start(QString("%1 tx_create -net %2 -chain gdb -from_wallet %3 -to_addr %4 -token %5 -value %6") .arg(CLI_PATH) + .arg(m_CurrentNetwork) .arg(asSendWallet) .arg(asAddressReceiver) .arg(asToken) - .arg(aAmount)); + .arg(aAmount) ); processCreate.waitForFinished(-1); QString resultCreate = QString::fromLatin1(processCreate.readAll()); qDebug() << resultCreate; diff --git a/CellFrameDashboardService/DapChainWalletHandler.h b/CellFrameDashboardService/DapChainWalletHandler.h index 7385778fe..3f8f4a5df 100755 --- a/CellFrameDashboardService/DapChainWalletHandler.h +++ b/CellFrameDashboardService/DapChainWalletHandler.h @@ -22,11 +22,30 @@ public: signals: public slots: + /// Create new wallet + /// @param name of wallet + /// @return result QStringList createWallet(const QString& asNameWallet); + /// Remove wallet + /// @param name of wallet void removeWallet(const QString& asNameWallet); + /// Get list of wallets + /// @return QMap of available wallets, where the key is name of wallet + /// and the value is number of wallet QMap<QString, QVariant> getWallets(); + /// Get details about wallet + /// @param name of wallet + /// @return list with balances and tokens QStringList getWalletInfo(const QString& asNameWallet); + /// Create new token + /// @param name of wallet where is needed to send + /// @param andress of wallet which will receive + /// @param token name + /// @param sum for sending + /// @return result QString sendToken(const QString &asSendWallet, const QString& asAddressReceiver, const QString& asToken, const QString& aAmount); + /// Set current network + /// @param name of network void setCurrentNetwork(const QString& aNetwork); }; -- GitLab