diff --git a/client/amnezia_application.cpp b/client/amnezia_application.cpp index a8231fce..4b7f31b7 100644 --- a/client/amnezia_application.cpp +++ b/client/amnezia_application.cpp @@ -118,6 +118,9 @@ void AmneziaApplication::init() m_vpnConnection.get(), &VpnConnection::disconnectFromVpn, Qt::QueuedConnection); m_engine->rootContext()->setContextProperty("ConnectionController", m_connectionController.get()); + m_pageController.reset(new PageController(m_serversModel)); + m_engine->rootContext()->setContextProperty("PageController", m_pageController.get()); + // m_uiLogic->registerPagesLogic(); @@ -185,6 +188,7 @@ void AmneziaApplication::registerTypes() // Vpn::declareQmlVpnConnectionStateEnum(); + PageLoader::declareQmlPageEnum(); } void AmneziaApplication::loadFonts() diff --git a/client/amnezia_application.h b/client/amnezia_application.h index 322a440c..e2113908 100644 --- a/client/amnezia_application.h +++ b/client/amnezia_application.h @@ -13,9 +13,11 @@ #include "ui/uilogic.h" #include "configurators/vpn_configurator.h" + #include "ui/models/servers_model.h" #include "ui/models/containers_model.h" #include "ui/controllers/connectionController.h" +#include "ui/controllers/pageController.h" #define amnApp (static_cast(QCoreApplication::instance())) @@ -66,6 +68,7 @@ private: QScopedPointer m_vpnConnection; QScopedPointer m_connectionController; + QScopedPointer m_pageController; }; diff --git a/client/images/controls/download.svg b/client/images/controls/download.svg new file mode 100644 index 00000000..1e592887 --- /dev/null +++ b/client/images/controls/download.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/client/resources.qrc b/client/resources.qrc index f75c8132..77e7d86f 100644 --- a/client/resources.qrc +++ b/client/resources.qrc @@ -226,5 +226,6 @@ images/connectionProgress.svg images/connectionOff.svg images/connectionOn.svg + images/controls/download.svg diff --git a/client/ui/controllers/pageController.cpp b/client/ui/controllers/pageController.cpp new file mode 100644 index 00000000..10120767 --- /dev/null +++ b/client/ui/controllers/pageController.cpp @@ -0,0 +1,25 @@ +#include "pageController.h" + +PageController::PageController(const QSharedPointer &serversModel, + QObject *parent) : QObject(parent), m_serversModel(serversModel) +{ +} + +void PageController::setStartPage() +{ + if (m_serversModel->getServersCount()) { + if (m_serversModel->getDefaultServerIndex() < 0) { + m_serversModel->setDefaultServerIndex(0); + } + emit goToPage(PageLoader::PageEnum::PageStart, false); + } else { + emit goToPage(PageLoader::PageEnum::PageSetupWizardStart, false); + } +} + +QString PageController::getPagePath(PageLoader::PageEnum page) +{ + QMetaEnum metaEnum = QMetaEnum::fromType(); + QString pageName = metaEnum.valueToKey(static_cast(page)); + return "Pages2/" + pageName + ".qml"; +} diff --git a/client/ui/controllers/pageController.h b/client/ui/controllers/pageController.h new file mode 100644 index 00000000..9bfd6bda --- /dev/null +++ b/client/ui/controllers/pageController.h @@ -0,0 +1,50 @@ +#ifndef PAGECONTROLLER_H +#define PAGECONTROLLER_H + +#include +#include + +#include "ui/models/servers_model.h" + +namespace PageLoader +{ + Q_NAMESPACE + enum class PageEnum { PageStart = 0, PageHome, PageSettings, PageShare, + + PageSetupWizardStart, PageTest, PageSetupWizardCredentials, PageSetupWizardProtocols, PageSetupWizardEasy, + PageSetupWizardProtocolSettings, PageSetupWizardInstalling, PageSetupWizardConfigSource, + PageSetupWizardTextKey + }; + Q_ENUM_NS(PageEnum) + + static void declareQmlPageEnum() { + qmlRegisterUncreatableMetaObject( + PageLoader::staticMetaObject, + "PageEnum", + 1, 0, + "PageEnum", + "Error: only enums" + ); + } +} + +class PageController : public QObject +{ + Q_OBJECT +public: + explicit PageController(const QSharedPointer &serversModel, + QObject *parent = nullptr); + +public slots: + void setStartPage(); + QString getPagePath(PageLoader::PageEnum page); + +signals: + void goToPage(PageLoader::PageEnum page, bool slide = true); + void closePage(); + +private: + QSharedPointer m_serversModel; +}; + +#endif // PAGECONTROLLER_H diff --git a/client/ui/models/servers_model.cpp b/client/ui/models/servers_model.cpp index dccf59b9..8f39e140 100644 --- a/client/ui/models/servers_model.cpp +++ b/client/ui/models/servers_model.cpp @@ -56,6 +56,7 @@ QVariant ServersModel::data(const QModelIndex &index, int role) const return QVariant(); } +//todo mode to setData? void ServersModel::setDefaultServerIndex(int index) { // beginResetModel(); @@ -63,11 +64,16 @@ void ServersModel::setDefaultServerIndex(int index) // endResetModel(); } -int ServersModel::getDefaultServerIndex() +const int ServersModel::getDefaultServerIndex() { return m_settings->defaultServerIndex(); } +const int ServersModel::getServersCount() +{ + return m_settings->serversCount(); +} + QHash ServersModel::roleNames() const { QHash roles; roles[DescRole] = "desc"; diff --git a/client/ui/models/servers_model.h b/client/ui/models/servers_model.h index 30c8b5a2..9fb5ac1a 100644 --- a/client/ui/models/servers_model.h +++ b/client/ui/models/servers_model.h @@ -31,7 +31,8 @@ public: public slots: void setDefaultServerIndex(int index); - int getDefaultServerIndex(); + const int getDefaultServerIndex(); + const int getServersCount(); protected: QHash roleNames() const override; diff --git a/client/ui/qml/Components/ConnectButton.qml b/client/ui/qml/Components/ConnectButton.qml index bce652d8..8bf39f03 100644 --- a/client/ui/qml/Components/ConnectButton.qml +++ b/client/ui/qml/Components/ConnectButton.qml @@ -7,15 +7,8 @@ import ConnectionState 1.0 Button { id: root - property var isConnected: ConnectionController.isConnected - text: "Подключиться" -// implicitHeight: 190 -// implicitWidth: 190 - -// color: "transparent" - background: Image { id: border @@ -54,56 +47,55 @@ Button { onClicked: { ConnectionController.onConnectionButtonClicked() - console.log(connectionProccess.from) } Connections { target: ConnectionController function onConnectionStateChanged(state) { switch(state) { - case ConnectionState.Unknown: { - console.log("Unknown") - break - } - case ConnectionState.Disconnected: { - console.log("Disconnected") - connectionProccess.running = false - root.text = "Подключиться" - break - } - case ConnectionState.Preparing: { - console.log("Preparing") - break - } - case ConnectionState.Connecting: { - console.log("Connecting") - connectionProccess.running = true - root.text = "Подключение..." - break - } - case ConnectionState.Connected: { - console.log("Connected") - connectionProccess.running = false - root.text = "Подключено" - break - } - case ConnectionState.Disconnecting: { - console.log("Disconnecting") - connectionProccess.running = true - root.text = "Отключение..." - break - } - case ConnectionState.Reconnecting: { - console.log("Reconnecting") - connectionProccess.running = true - root.text = "Переподключение..." - break - } - case ConnectionState.Error: { - console.log("Error") - connectionProccess.running = false - break - } + case ConnectionState.Unknown: { + console.log("Unknown") + break + } + case ConnectionState.Disconnected: { + console.log("Disconnected") + connectionProccess.running = false + root.text = "Подключиться" + break + } + case ConnectionState.Preparing: { + console.log("Preparing") + break + } + case ConnectionState.Connecting: { + console.log("Connecting") + connectionProccess.running = true + root.text = "Подключение..." + break + } + case ConnectionState.Connected: { + console.log("Connected") + connectionProccess.running = false + root.text = "Подключено" + break + } + case ConnectionState.Disconnecting: { + console.log("Disconnecting") + connectionProccess.running = true + root.text = "Отключение..." + break + } + case ConnectionState.Reconnecting: { + console.log("Reconnecting") + connectionProccess.running = true + root.text = "Переподключение..." + break + } + case ConnectionState.Error: { + console.log("Error") + connectionProccess.running = false + break + } } } } diff --git a/client/ui/qml/Controls2/DropDownType.qml b/client/ui/qml/Controls2/DropDownType.qml index 64013ba4..eab189f3 100644 --- a/client/ui/qml/Controls2/DropDownType.qml +++ b/client/ui/qml/Controls2/DropDownType.qml @@ -154,6 +154,10 @@ Item { anchors.topMargin: 16 anchors.leftMargin: 16 anchors.rightMargin: 16 + + backButtonFunction: function() { + root.menuVisible = false + } } FlickableType { @@ -190,6 +194,7 @@ Item { id: loader sourceComponent: root.menuDelegate property QtObject modelData: model + property var delegateIndex: index } } } diff --git a/client/ui/qml/Controls2/Header2Type.qml b/client/ui/qml/Controls2/Header2Type.qml index 5c2f0c9b..ef463acd 100644 --- a/client/ui/qml/Controls2/Header2Type.qml +++ b/client/ui/qml/Controls2/Header2Type.qml @@ -35,6 +35,8 @@ Item { onClicked: { if (backButtonFunction && typeof backButtonFunction === "function") { backButtonFunction() + } else { + PageController.closePage() } } } diff --git a/client/ui/qml/Controls2/HeaderType.qml b/client/ui/qml/Controls2/HeaderType.qml index a051d2d8..6c4e7847 100644 --- a/client/ui/qml/Controls2/HeaderType.qml +++ b/client/ui/qml/Controls2/HeaderType.qml @@ -35,6 +35,8 @@ Item { onClicked: { if (backButtonFunction && typeof backButtonFunction === "function") { backButtonFunction() + } else { + PageController.closePage() } } } diff --git a/client/ui/qml/PageLoader.qml b/client/ui/qml/PageLoader.qml index 86f9e5a1..b3d53a05 100644 --- a/client/ui/qml/PageLoader.qml +++ b/client/ui/qml/PageLoader.qml @@ -3,5 +3,35 @@ import QtQuick.Controls StackView { id: stackView - initialItem: "PageSetupWizardStart" + + function gotoPage(page, slide) { + if (slide) { + stackView.push(PageController.getPagePath(page), {}, StackView.PushTransition) + } else { + stackView.push(PageController.getPagePath(page), {}, StackView.Immediate) + } + } + + function closePage() { + if (stackView.depth <= 1) { + return + } + + stackView.pop() + } + + Connections { + target: PageController + function onGoToPage(page, slide) { + stackView.gotoPage(page, slide) + } + + function onClosePage() { + stackView.closePage() + } + } + + Component.onCompleted: { + PageController.setStartPage() + } } diff --git a/client/ui/qml/Pages2/PageHome.qml b/client/ui/qml/Pages2/PageHome.qml index 5dd0aaae..8edd6b12 100644 --- a/client/ui/qml/Pages2/PageHome.qml +++ b/client/ui/qml/Pages2/PageHome.qml @@ -8,15 +8,13 @@ import PageEnum 1.0 import ProtocolEnum 1.0 import "./" -import "../Pages" import "../Controls2" import "../Controls2/TextTypes" import "../Config" import "../Components" -PageBase { +Item { id: root - page: PageEnum.PageHome property string defaultColor: "#1C1D21" @@ -143,10 +141,6 @@ PageBase { ValueFilter { roleName: "serviceType" value: ProtocolEnum.Vpn - }, - ValueFilter { - roleName: "isInstalled" - value: true } ] } @@ -196,6 +190,19 @@ PageBase { indicator: Rectangle { anchors.fill: parent color: containerRadioButton.hovered ? "#2C2D30" : "#1C1D21" + + Behavior on color { + PropertyAnimation { duration: 200 } + } + } + + checkable: { + if (modelData !== null) { + if (modelData.isInstalled) { + return true + } + } + return false } RowLayout { @@ -207,10 +214,33 @@ PageBase { z: 1 + Image { + source: { + if (modelData !== null) { + if (modelData.isInstalled) { + return "qrc:/images/controls/check.svg" + } + } + return "qrc:/images/controls/download.svg" + } + visible: { + if (modelData !== null) { + if (modelData.isInstalled) { + return containerRadioButton.checked + } + } + return true + } + + width: 24 + height: 24 + + Layout.rightMargin: 8 + } + Text { id: containerRadioButtonText - // todo remove dirty hack? text: { if (modelData !== null) { return modelData.name @@ -228,22 +258,26 @@ PageBase { Layout.topMargin: 20 Layout.bottomMargin: 20 } - - Image { - source: "qrc:/images/controls/check.svg" - visible: containerRadioButton.checked - width: 24 - height: 24 - - Layout.rightMargin: 8 - } } onClicked: { - modelData.isDefault = true + if (checked) { + modelData.isDefault = true - containersDropDown.text = containerRadioButtonText.text - containersDropDown.menuVisible = false + containersDropDown.text = containerRadioButtonText.text + containersDropDown.menuVisible = false + } else { + ContainersModel.setCurrentlyInstalledContainerIndex(proxyContainersModel.mapToSource(delegateIndex)) + PageController.goToPage(PageEnum.PageSetupWizardProtocolSettings) + containersDropDown.menuVisible = false + menu.visible = false + } + } + + MouseArea { + anchors.fill: containerRadioButton + cursorShape: Qt.PointingHandCursor + enabled: false } } @@ -326,6 +360,10 @@ PageBase { indicator: Rectangle { anchors.fill: parent color: serverRadioButton.hovered ? "#2C2D30" : "#1C1D21" + + Behavior on color { + PropertyAnimation { duration: 200 } + } } RowLayout { @@ -370,6 +408,12 @@ PageBase { ServersModel.setDefaultServerIndex(index) ContainersModel.setSelectedServerIndex(index) } + + MouseArea { + anchors.fill: serverRadioButton + cursorShape: Qt.PointingHandCursor + enabled: false + } } } } diff --git a/client/ui/qml/Pages2/PageSetupWizardConfigSource.qml b/client/ui/qml/Pages2/PageSetupWizardConfigSource.qml index 5445d1f3..db2730ac 100644 --- a/client/ui/qml/Pages2/PageSetupWizardConfigSource.qml +++ b/client/ui/qml/Pages2/PageSetupWizardConfigSource.qml @@ -6,14 +6,12 @@ import QtQuick.Dialogs import PageEnum 1.0 import "./" -import "../Pages" import "../Controls2" import "../Controls2/TextTypes" import "../Config" -PageBase { +Item { id: root - page: PageEnum.PageSetupWizardInstalling FlickableType { id: fl @@ -100,7 +98,7 @@ PageBase { iconImage: "qrc:/images/controls/text-cursor.svg" onClickedFunc: function() { - UiLogic.goToPage(PageEnum.PageSetupWizardTextKey) + PageController.goToPage(PageEnum.PageSetupWizardTextKey) } } Rectangle { diff --git a/client/ui/qml/Pages2/PageSetupWizardCredentials.qml b/client/ui/qml/Pages2/PageSetupWizardCredentials.qml index 506c1cde..479e4bfa 100644 --- a/client/ui/qml/Pages2/PageSetupWizardCredentials.qml +++ b/client/ui/qml/Pages2/PageSetupWizardCredentials.qml @@ -5,13 +5,11 @@ import QtQuick.Layouts import PageEnum 1.0 import "./" -import "../Pages" import "../Controls2" import "../Config" -PageBase { +Item { id: root - page: PageEnum.PageSetupWizardCredentials FlickableType { id: fl @@ -61,7 +59,7 @@ PageBase { text: qsTr("Настроить сервер простым образом") onClicked: function() { - UiLogic.goToPage(PageEnum.PageSetupWizardEasy) + PageController.goToPage(PageEnum.PageSetupWizardEasy) } } @@ -79,7 +77,7 @@ PageBase { text: qsTr("Выбрать протокол для установки") onClicked: function() { - UiLogic.goToPage(PageEnum.PageSetupWizardProtocols) + PageController.goToPage(PageEnum.PageSetupWizardProtocols) } } } diff --git a/client/ui/qml/Pages2/PageSetupWizardEasy.qml b/client/ui/qml/Pages2/PageSetupWizardEasy.qml index 94e22fe3..664f4de7 100644 --- a/client/ui/qml/Pages2/PageSetupWizardEasy.qml +++ b/client/ui/qml/Pages2/PageSetupWizardEasy.qml @@ -5,13 +5,11 @@ import QtQuick.Layouts import PageEnum 1.0 import "./" -import "../Pages" import "../Controls2" import "../Config" -PageBase { +Item { id: root - page: PageEnum.PageSetupWizardEasy FlickableType { id: fl diff --git a/client/ui/qml/Pages2/PageSetupWizardInstalling.qml b/client/ui/qml/Pages2/PageSetupWizardInstalling.qml index a7418257..fa0d5a14 100644 --- a/client/ui/qml/Pages2/PageSetupWizardInstalling.qml +++ b/client/ui/qml/Pages2/PageSetupWizardInstalling.qml @@ -5,14 +5,12 @@ import QtQuick.Layouts import PageEnum 1.0 import "./" -import "../Pages" import "../Controls2" import "../Controls2/TextTypes" import "../Config" -PageBase { +Item { id: root - page: PageEnum.PageSetupWizardInstalling FlickableType { id: fl diff --git a/client/ui/qml/Pages2/PageSetupWizardProtocolSettings.qml b/client/ui/qml/Pages2/PageSetupWizardProtocolSettings.qml index 78856444..6c3b64b9 100644 --- a/client/ui/qml/Pages2/PageSetupWizardProtocolSettings.qml +++ b/client/ui/qml/Pages2/PageSetupWizardProtocolSettings.qml @@ -5,14 +5,12 @@ import QtQuick.Layouts import PageEnum 1.0 import "./" -import "../Pages" import "../Controls2" import "../Controls2/TextTypes" import "../Config" -PageBase { +Item { id: root - page: PageEnum.PageSetupWizardProtocolSettings FlickableType { id: fl @@ -90,7 +88,7 @@ PageBase { text: qsTr("Установить") onClicked: function() { - UiLogic.goToPage(PageEnum.PageSetupWizardInstalling) + PageController.goToPage(PageEnum.PageSetupWizardInstalling) } } } diff --git a/client/ui/qml/Pages2/PageSetupWizardProtocols.qml b/client/ui/qml/Pages2/PageSetupWizardProtocols.qml index 50107615..24a86a07 100644 --- a/client/ui/qml/Pages2/PageSetupWizardProtocols.qml +++ b/client/ui/qml/Pages2/PageSetupWizardProtocols.qml @@ -8,13 +8,11 @@ import PageEnum 1.0 import ProtocolEnum 1.0 import "./" -import "../Pages" import "../Controls2" import "../Config" -PageBase { +Item { id: root - page: PageEnum.PageSetupWizardProtocols SortFilterProxyModel { id: proxyContainersModel @@ -89,7 +87,7 @@ PageBase { onClickedFunc: function() { ContainersModel.setCurrentlyInstalledContainerIndex(proxyContainersModel.mapToSource(index)) - UiLogic.goToPage(PageEnum.PageSetupWizardProtocolSettings) + PageController.goToPage(PageEnum.PageSetupWizardProtocolSettings) } } diff --git a/client/ui/qml/Pages2/PageSetupWizardStart.qml b/client/ui/qml/Pages2/PageSetupWizardStart.qml index 0167ed1f..5f1a0479 100644 --- a/client/ui/qml/Pages2/PageSetupWizardStart.qml +++ b/client/ui/qml/Pages2/PageSetupWizardStart.qml @@ -5,14 +5,12 @@ import QtQuick.Layouts import PageEnum 1.0 import "./" -import "../Pages" import "../Controls2" import "../Config" import "../Controls2/TextTypes" -PageBase { +Item { id: root - page: PageEnum.PageSetupWizardStart FlickableType { id: fl @@ -77,7 +75,7 @@ PageBase { text: qsTr("У меня ничего нет") onClicked: { - UiLogic.goToPage(PageEnum.PageTest) + PageController.goToPage(PageEnum.PageTest) } } } @@ -132,7 +130,7 @@ PageBase { buttonImage: "qrc:/images/controls/chevron-right.svg" onClickedFunc: function() { - UiLogic.goToPage(PageEnum.PageSetupWizardCredentials) + PageController.goToPage(PageEnum.PageSetupWizardCredentials) drawer.visible = false } } @@ -148,7 +146,7 @@ PageBase { buttonImage: "qrc:/images/controls/chevron-right.svg" onClickedFunc: function() { - UiLogic.goToPage(PageEnum.PageSetupWizardConfigSource) + PageController.goToPage(PageEnum.PageSetupWizardConfigSource) drawer.visible = false } } diff --git a/client/ui/qml/Pages2/PageSetupWizardTextKey.qml b/client/ui/qml/Pages2/PageSetupWizardTextKey.qml index d295f1b9..f94b9ff4 100644 --- a/client/ui/qml/Pages2/PageSetupWizardTextKey.qml +++ b/client/ui/qml/Pages2/PageSetupWizardTextKey.qml @@ -5,14 +5,12 @@ import QtQuick.Layouts import PageEnum 1.0 import "./" -import "../Pages" import "../Controls2" import "../Controls2/TextTypes" import "../Config" -PageBase { +Item { id: root - page: PageEnum.PageSetupWizardInstalling FlickableType { id: fl @@ -68,7 +66,7 @@ PageBase { text: qsTr("Подключиться") onClicked: function() { -// UiLogic.goToPage(PageEnum.PageSetupWizardInstalling) +// PageController.goToPage(PageEnum.PageSetupWizardInstalling) } } } diff --git a/client/ui/qml/Pages2/PageStart.qml b/client/ui/qml/Pages2/PageStart.qml index 220c6f19..ade0980d 100644 --- a/client/ui/qml/Pages2/PageStart.qml +++ b/client/ui/qml/Pages2/PageStart.qml @@ -5,14 +5,12 @@ import QtQuick.Layouts import PageEnum 1.0 import "./" -import "../Pages" import "../Controls2" import "../Controls2/TextTypes" import "../Config" -PageBase { +Item { id: root - page: PageEnum.PageStart StackLayout { id: stackLayout diff --git a/client/ui/qml/Pages2/PageTest.qml b/client/ui/qml/Pages2/PageTest.qml index 2336e46e..53ec99fc 100644 --- a/client/ui/qml/Pages2/PageTest.qml +++ b/client/ui/qml/Pages2/PageTest.qml @@ -4,15 +4,12 @@ import QtQuick.Layouts import PageEnum 1.0 import "./" -import "../Pages" import "../Controls2" import "../Config" import "../Controls2/TextTypes" -PageBase { +Item { id: root - page: PageEnum.Test - logic: ViewConfigLogic ColumnLayout { id: content diff --git a/client/ui/qml/main2.qml b/client/ui/qml/main2.qml index 6261e9a7..b10d749f 100644 --- a/client/ui/qml/main2.qml +++ b/client/ui/qml/main2.qml @@ -22,83 +22,14 @@ Window { title: "AmneziaVPN" - function gotoPage(page, reset, slide) { - if (pageStackView.depth > 0) { - pageStackView.currentItem.deactivated() - } - - if (slide) { - pageStackView.push(UiLogic.pageEnumToString(page), {}, StackView.PushTransition) - } else { - pageStackView.push(UiLogic.pageEnumToString(page), {}, StackView.Immediate) - } - - pageStackView.currentItem.activated(reset) - } - - function closePage() { - if (pageStackView.depth <= 1) { - return - } - pageStackView.currentItem.deactivated() - pageStackView.pop() - } - - function setStartPage(page, slide) { - if (pageStackView.depth > 0) { - pageStackView.currentItem.deactivated() - } - - pageStackView.clear() - if (slide) { - pageStackView.push(UiLogic.pageEnumToString(page), {}, StackView.PushTransition) - } else { - pageStackView.push(UiLogic.pageEnumToString(page), {}, StackView.Immediate) - } - if (page === PageEnum.Start) { - UiLogic.pushButtonBackFromStartVisible = !pageStackView.empty - UiLogic.onUpdatePage(); - } - } - Rectangle { anchors.fill: parent color: "#0E0E11" } - StackView { - id: pageStackView + PageLoader { + id: pageLoader anchors.fill: parent focus: true } - - Connections { - target: UiLogic - function onGoToPage(page, reset, slide) { - root.gotoPage(page, reset, slide) - } - - function onClosePage() { - root.closePage() - } - - function onSetStartPage(page, slide) { - root.setStartPage(page, slide) - } - - function onShow() { - root.show() - UiLogic.initializeUiLogic() - } - - function onHide() { - root.hide() - } - - function onRaise() { - root.show() - root.raise() - root.requestActivate() - } - } } diff --git a/client/ui/uilogic.cpp b/client/ui/uilogic.cpp index 929d84d6..3ad74645 100644 --- a/client/ui/uilogic.cpp +++ b/client/ui/uilogic.cpp @@ -617,9 +617,3 @@ bool UiLogic::isContainerAlreadyAddedToGui(DockerContainer container) } return false; } - -QString UiLogic::pageEnumToString(Page page) { - QMetaEnum metaEnum = QMetaEnum::fromType(); - QString pageName = metaEnum.valueToKey(static_cast(page)); - return "Pages2/" + pageName + ".qml"; -} diff --git a/client/ui/uilogic.h b/client/ui/uilogic.h index 4b392066..081b8e5a 100644 --- a/client/ui/uilogic.h +++ b/client/ui/uilogic.h @@ -123,8 +123,6 @@ public: Q_INVOKABLE amnezia::ErrorCode addAlreadyInstalledContainersGui(bool &isServerCreated); - Q_INVOKABLE QString pageEnumToString(PageEnumNS::Page page); - void shareTempFile(const QString &suggestedName, QString ext, const QString& data); static QString getOpenFileName(QWidget *parent = nullptr, const QString &caption = QString(),