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