From 925fd9f26805d03d53f2473993abc45d561734a8 Mon Sep 17 00:00:00 2001 From: "vladimir.kuznetsov" Date: Tue, 1 Aug 2023 11:06:46 +0900 Subject: [PATCH] added display of installed services on the page PageSettingsServersList --- client/ui/models/containers_model.cpp | 19 +++++++++++++++++++ client/ui/models/containers_model.h | 1 + .../ui/qml/Pages2/PageSettingsServersList.qml | 10 +++++++++- .../qml/Pages2/PageSetupWizardViewConfig.qml | 6 +++++- 4 files changed, 34 insertions(+), 2 deletions(-) diff --git a/client/ui/models/containers_model.cpp b/client/ui/models/containers_model.cpp index ea571a227..639cf9625 100644 --- a/client/ui/models/containers_model.cpp +++ b/client/ui/models/containers_model.cpp @@ -129,6 +129,25 @@ QJsonObject ContainersModel::getCurrentlyProcessedContainerConfig() return qvariant_cast(data(index(m_currentlyProcessedContainerIndex), ConfigRole)); } +QStringList ContainersModel::getAllInstalledServicesName(const int serverIndex) +{ + QStringList servicesName; + const auto &containers = m_settings->containers(serverIndex); + for (const DockerContainer &container : containers.keys()) { + if (ContainerProps::containerService(container) == ServiceType::Other && m_containers.contains(container)) { + if (container == DockerContainer::Dns) { + servicesName.append("DNS"); + } else if (container == DockerContainer::Sftp) { + servicesName.append("SFTP"); + } else if (container == DockerContainer::TorWebSite) { + servicesName.append("TOR"); + } + } + } + servicesName.sort(); + return servicesName; +} + ErrorCode ContainersModel::removeAllContainers() { diff --git a/client/ui/models/containers_model.h b/client/ui/models/containers_model.h index 690eff413..a905890a1 100644 --- a/client/ui/models/containers_model.h +++ b/client/ui/models/containers_model.h @@ -51,6 +51,7 @@ public slots: QString getCurrentlyProcessedContainerName(); QJsonObject getCurrentlyProcessedContainerConfig(); + QStringList getAllInstalledServicesName(const int serverIndex); ErrorCode removeAllContainers(); ErrorCode removeCurrentlyProcessedContainer(); diff --git a/client/ui/qml/Pages2/PageSettingsServersList.qml b/client/ui/qml/Pages2/PageSettingsServersList.qml index 496ed3701..40e51e9ec 100644 --- a/client/ui/qml/Pages2/PageSettingsServersList.qml +++ b/client/ui/qml/Pages2/PageSettingsServersList.qml @@ -85,7 +85,15 @@ PageType { Layout.fillWidth: true text: name - descriptionText: hostName + descriptionText: { + var servicesNameString = "" + var servicesName = ContainersModel.getAllInstalledServicesName(index) + for (var i = 0; i < servicesName.length; i++) { + servicesNameString += servicesName[i] + " ยท " + } + + return servicesNameString + hostName + } rightImageSource: "qrc:/images/controls/chevron-right.svg" clickedFunction: function() { diff --git a/client/ui/qml/Pages2/PageSetupWizardViewConfig.qml b/client/ui/qml/Pages2/PageSetupWizardViewConfig.qml index 372a5cde5..5f52a5bae 100644 --- a/client/ui/qml/Pages2/PageSetupWizardViewConfig.qml +++ b/client/ui/qml/Pages2/PageSetupWizardViewConfig.qml @@ -91,11 +91,15 @@ PageType { } BasicButtonType { + Layout.topMargin: 16 + Layout.leftMargin: -8 + implicitHeight: 32 + defaultColor: "transparent" hoveredColor: Qt.rgba(1, 1, 1, 0.08) pressedColor: Qt.rgba(1, 1, 1, 0.12) disabledColor: "#878B91" - textColor: "#D7D8DB" + textColor: "#FBB26A" text: showContent ? qsTr("Collapse content") : qsTr("Show content")