Merge branch 'tor_site_container' into teplitsa_tz
Containers page refactoring
This commit is contained in:
commit
6ee203a21d
22 changed files with 10641 additions and 748 deletions
|
|
@ -1,4 +1,9 @@
|
|||
#include "ServerConfiguringProgressLogic.h"
|
||||
#include "defines.h"
|
||||
#include "core/errorstrings.h"
|
||||
#include <QTimer>
|
||||
#include <QEventLoop>
|
||||
#include <QMessageBox>
|
||||
|
||||
ServerConfiguringProgressLogic::ServerConfiguringProgressLogic(UiLogic *logic, QObject *parent):
|
||||
PageLogicBase(logic, parent),
|
||||
|
|
@ -13,3 +18,105 @@ ServerConfiguringProgressLogic::ServerConfiguringProgressLogic(UiLogic *logic, Q
|
|||
|
||||
}
|
||||
|
||||
|
||||
ErrorCode ServerConfiguringProgressLogic::doInstallAction(const std::function<ErrorCode()> &action)
|
||||
{
|
||||
PageFunc page;
|
||||
page.setEnabledFunc = [this] (bool enabled) -> void {
|
||||
set_pageEnabled(enabled);
|
||||
};
|
||||
ButtonFunc button;
|
||||
LabelFunc info;
|
||||
ProgressFunc progress;
|
||||
progress.setVisibleFunc = [this] (bool visible) ->void {
|
||||
set_progressBarVisible(visible);
|
||||
};
|
||||
|
||||
progress.setValueFunc = [this] (int value) ->void {
|
||||
set_progressBarValue(value);
|
||||
};
|
||||
progress.getValueFunc = [this] (void) -> int {
|
||||
return progressBarValue();
|
||||
};
|
||||
progress.getMaximiumFunc = [this] (void) -> int {
|
||||
return progressBarMaximium();
|
||||
};
|
||||
|
||||
|
||||
|
||||
progress.setVisibleFunc(true);
|
||||
if (page.setEnabledFunc) {
|
||||
page.setEnabledFunc(false);
|
||||
}
|
||||
if (button.setVisibleFunc) {
|
||||
button.setVisibleFunc(false);
|
||||
}
|
||||
if (info.setVisibleFunc) {
|
||||
info.setVisibleFunc(true);
|
||||
}
|
||||
if (info.setTextFunc) {
|
||||
info.setTextFunc(tr("Please wait, configuring process may take up to 5 minutes"));
|
||||
}
|
||||
|
||||
QTimer timer;
|
||||
connect(&timer, &QTimer::timeout, [progress](){
|
||||
progress.setValueFunc(progress.getValueFunc() + 1);
|
||||
});
|
||||
|
||||
progress.setValueFunc(0);
|
||||
timer.start(1000);
|
||||
|
||||
ErrorCode e = action();
|
||||
qDebug() << "doInstallAction finished with code" << e;
|
||||
|
||||
if (e) {
|
||||
if (page.setEnabledFunc) {
|
||||
page.setEnabledFunc(true);
|
||||
}
|
||||
if (button.setVisibleFunc) {
|
||||
button.setVisibleFunc(true);
|
||||
}
|
||||
if (info.setVisibleFunc) {
|
||||
info.setVisibleFunc(false);
|
||||
}
|
||||
QMessageBox::warning(nullptr, APPLICATION_NAME,
|
||||
tr("Error occurred while configuring server.") + "\n" +
|
||||
errorString(e));
|
||||
|
||||
progress.setVisibleFunc(false);
|
||||
return e;
|
||||
}
|
||||
|
||||
// just ui progressbar tweak
|
||||
timer.stop();
|
||||
|
||||
int remaining_val = progress.getMaximiumFunc() - progress.getValueFunc();
|
||||
|
||||
if (remaining_val > 0) {
|
||||
QTimer timer1;
|
||||
QEventLoop loop1;
|
||||
|
||||
connect(&timer1, &QTimer::timeout, [&](){
|
||||
progress.setValueFunc(progress.getValueFunc() + 1);
|
||||
if (progress.getValueFunc() >= progress.getMaximiumFunc()) {
|
||||
loop1.quit();
|
||||
}
|
||||
});
|
||||
|
||||
timer1.start(5);
|
||||
loop1.exec();
|
||||
}
|
||||
|
||||
|
||||
progress.setVisibleFunc(false);
|
||||
if (button.setVisibleFunc) {
|
||||
button.setVisibleFunc(true);
|
||||
}
|
||||
if (page.setEnabledFunc) {
|
||||
page.setEnabledFunc(true);
|
||||
}
|
||||
if (info.setTextFunc) {
|
||||
info.setTextFunc(tr("Operation finished"));
|
||||
}
|
||||
return ErrorCode::NoError;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef SERVER_CONFIGURING_PROGRESS_LOGIC_H
|
||||
#define SERVER_CONFIGURING_PROGRESS_LOGIC_H
|
||||
|
||||
#include <functional>
|
||||
#include "PageLogicBase.h"
|
||||
|
||||
class UiLogic;
|
||||
|
|
@ -21,5 +22,27 @@ public:
|
|||
explicit ServerConfiguringProgressLogic(UiLogic *uiLogic, QObject *parent = nullptr);
|
||||
~ServerConfiguringProgressLogic() = default;
|
||||
|
||||
ErrorCode doInstallAction(const std::function<ErrorCode()> &action);
|
||||
|
||||
private:
|
||||
struct ProgressFunc {
|
||||
std::function<void(bool)> setVisibleFunc;
|
||||
std::function<void(int)> setValueFunc;
|
||||
std::function<int(void)> getValueFunc;
|
||||
std::function<int(void)> getMaximiumFunc;
|
||||
std::function<void(bool)> setTextVisibleFunc;
|
||||
std::function<void(const QString&)> setTextFunc;
|
||||
};
|
||||
struct PageFunc {
|
||||
std::function<void(bool)> setEnabledFunc;
|
||||
};
|
||||
struct ButtonFunc {
|
||||
std::function<void(bool)> setVisibleFunc;
|
||||
};
|
||||
struct LabelFunc {
|
||||
std::function<void(bool)> setVisibleFunc;
|
||||
std::function<void(const QString&)> setTextFunc;
|
||||
};
|
||||
|
||||
};
|
||||
#endif // SERVER_CONFIGURING_PROGRESS_LOGIC_H
|
||||
|
|
|
|||
|
|
@ -1,5 +1,9 @@
|
|||
#include "ServerContainersLogic.h"
|
||||
#include "ShareConnectionLogic.h"
|
||||
#include "ServerConfiguringProgressLogic.h"
|
||||
|
||||
#include <QApplication>
|
||||
|
||||
#include "protocols/CloakLogic.h"
|
||||
#include "protocols/OpenVpnLogic.h"
|
||||
#include "protocols/ShadowSocksLogic.h"
|
||||
|
|
@ -10,105 +14,17 @@
|
|||
#include "../uilogic.h"
|
||||
|
||||
ServerContainersLogic::ServerContainersLogic(UiLogic *logic, QObject *parent):
|
||||
PageLogicBase(logic, parent),
|
||||
m_progressBarProtocolsContainerReinstallValue{0},
|
||||
m_progressBarProtocolsContainerReinstallMaximium{100},
|
||||
m_pushButtonOpenVpnContInstallEnabled{false},
|
||||
m_pushButtonSsOpenVpnContInstallEnabled{false},
|
||||
m_pushButtonCloakOpenVpnContInstallEnabled{false},
|
||||
m_pushButtonWireguardContInstallEnabled{false},
|
||||
m_pushButtonOpenVpnContDefaultChecked{false},
|
||||
m_pushButtonSsOpenVpnContDefaultChecked{false},
|
||||
m_pushButtonCloakOpenVpnContDefaultChecked{false},
|
||||
m_pushButtonWireguardContDefaultChecked{false},
|
||||
m_pushButtonOpenVpnContDefaultVisible{true},
|
||||
m_pushButtonSsOpenVpnContDefaultVisible{false},
|
||||
m_pushButtonCloakOpenVpnContDefaultVisible{false},
|
||||
m_pushButtonWireguardContDefaultVisible{false},
|
||||
m_pushButtonOpenVpnContShareVisible{false},
|
||||
m_pushButtonSsOpenVpnContShareVisible{false},
|
||||
m_pushButtonCloakOpenVpnContShareVisible{false},
|
||||
m_pushButtonWireguardContShareVisible{false},
|
||||
m_frameOpenvpnSettingsVisible{true},
|
||||
m_frameOpenvpnSsSettingsVisible{true},
|
||||
m_frameOpenvpnSsCloakSettingsVisible{true},
|
||||
m_progressBarProtocolsContainerReinstallVisible{false},
|
||||
m_frameWireguardSettingsVisible{false},
|
||||
m_frameWireguardVisible{false}
|
||||
PageLogicBase(logic, parent)
|
||||
{
|
||||
setupProtocolsPageConnections();
|
||||
|
||||
set_frameWireguardSettingsVisible(false);
|
||||
set_frameWireguardVisible(false);
|
||||
}
|
||||
|
||||
void ServerContainersLogic::updateServerContainersPage()
|
||||
{
|
||||
set_progressBarProtocolsContainerReinstallVisible(false);
|
||||
|
||||
ContainersModel *c_model = qobject_cast<ContainersModel *>(uiLogic()->containersModel());
|
||||
c_model->setSelectedServerIndex(uiLogic()->selectedServerIndex);
|
||||
|
||||
ProtocolsModel *p_model = qobject_cast<ProtocolsModel *>(uiLogic()->protocolsModel());
|
||||
p_model->setSelectedServerIndex(uiLogic()->selectedServerIndex);
|
||||
|
||||
auto containers = m_settings.containers(uiLogic()->selectedServerIndex);
|
||||
DockerContainer defaultContainer = m_settings.defaultContainer(uiLogic()->selectedServerIndex);
|
||||
bool haveAuthData = m_settings.haveAuthData(uiLogic()->selectedServerIndex);
|
||||
|
||||
// all containers
|
||||
QList<DockerContainer> allContainers {
|
||||
DockerContainer::OpenVpn,
|
||||
DockerContainer::ShadowSocks,
|
||||
DockerContainer::Cloak,
|
||||
DockerContainer::WireGuard
|
||||
};
|
||||
|
||||
using SetVisibleFunc = std::function<void(bool)>;
|
||||
using SetCheckedFunc = std::function<void(bool)>;
|
||||
using SetEnabledFunc = std::function<void(bool)>;
|
||||
|
||||
QList<SetEnabledFunc> installButtonsEnabledFunc {
|
||||
[this](bool enabled) ->void {set_pushButtonOpenVpnContInstallEnabled(enabled);},
|
||||
[this](bool enabled) ->void {set_pushButtonSsOpenVpnContInstallEnabled(enabled);},
|
||||
[this](bool enabled) ->void {set_pushButtonCloakOpenVpnContInstallEnabled(enabled);},
|
||||
[this](bool enabled) ->void {set_pushButtonWireguardContInstallEnabled(enabled);},
|
||||
};
|
||||
|
||||
QList<SetCheckedFunc> defaultButtonsCheckedFunc {
|
||||
[this](bool checked) ->void {set_pushButtonOpenVpnContDefaultChecked(checked);},
|
||||
[this](bool checked) ->void {set_pushButtonSsOpenVpnContDefaultChecked(checked);},
|
||||
[this](bool checked) ->void {set_pushButtonCloakOpenVpnContDefaultChecked(checked);},
|
||||
[this](bool checked) ->void {set_pushButtonWireguardContDefaultChecked(checked);},
|
||||
};
|
||||
QList<SetVisibleFunc> defaultButtonsVisibleFunc {
|
||||
[this](bool visible) ->void {set_pushButtonOpenVpnContDefaultVisible(visible);},
|
||||
[this](bool visible) ->void {set_pushButtonSsOpenVpnContDefaultVisible(visible);},
|
||||
[this](bool visible) ->void {set_pushButtonCloakOpenVpnContDefaultVisible(visible);},
|
||||
[this](bool visible) ->void {set_pushButtonWireguardContDefaultVisible(visible);},
|
||||
};
|
||||
|
||||
QList<SetVisibleFunc> shareButtonsVisibleFunc {
|
||||
[this](bool visible) ->void {set_pushButtonOpenVpnContShareVisible(visible);},
|
||||
[this](bool visible) ->void {set_pushButtonSsOpenVpnContShareVisible(visible);},
|
||||
[this](bool visible) ->void {set_pushButtonCloakOpenVpnContShareVisible(visible);},
|
||||
[this](bool visible) ->void {set_pushButtonWireguardContShareVisible(visible);},
|
||||
};
|
||||
|
||||
QList<SetVisibleFunc> framesVisibleFunc {
|
||||
[this](bool visible) ->void {set_frameOpenvpnSettingsVisible(visible);},
|
||||
[this](bool visible) ->void {set_frameOpenvpnSsSettingsVisible(visible);},
|
||||
[this](bool visible) ->void {set_frameOpenvpnSsCloakSettingsVisible(visible);},
|
||||
[this](bool visible) ->void {set_frameWireguardSettingsVisible(visible);},
|
||||
};
|
||||
|
||||
for (int i = 0; i < allContainers.size(); ++i) {
|
||||
defaultButtonsCheckedFunc.at(i)(defaultContainer == allContainers.at(i));
|
||||
defaultButtonsVisibleFunc.at(i)(haveAuthData && containers.contains(allContainers.at(i)));
|
||||
shareButtonsVisibleFunc.at(i)(haveAuthData && containers.contains(allContainers.at(i)));
|
||||
installButtonsEnabledFunc.at(i)(haveAuthData);
|
||||
framesVisibleFunc.at(i)(containers.contains(allContainers.at(i)));
|
||||
}
|
||||
}
|
||||
|
||||
void ServerContainersLogic::onPushButtonProtoSettingsClicked(DockerContainer c, Protocol p)
|
||||
|
|
@ -134,114 +50,48 @@ void ServerContainersLogic::onPushButtonShareClicked(DockerContainer c)
|
|||
emit uiLogic()->goToPage(Page::ShareConnection);
|
||||
}
|
||||
|
||||
void ServerContainersLogic::setupProtocolsPageConnections()
|
||||
void ServerContainersLogic::onPushButtonRemoveClicked(DockerContainer container)
|
||||
{
|
||||
QJsonObject openvpnConfig;
|
||||
//buttonSetEnabledFunc(false);
|
||||
ErrorCode e = ServerController::removeContainer(m_settings.serverCredentials(uiLogic()->selectedServerIndex), container);
|
||||
m_settings.removeContainerConfig(uiLogic()->selectedServerIndex, container);
|
||||
//buttonSetEnabledFunc(true);
|
||||
|
||||
// all containers
|
||||
QList<DockerContainer> containers {
|
||||
DockerContainer::OpenVpn,
|
||||
DockerContainer::ShadowSocks,
|
||||
DockerContainer::Cloak,
|
||||
DockerContainer::WireGuard
|
||||
};
|
||||
using ButtonClickedFunc = void (ServerContainersLogic::*)(bool);
|
||||
using ButtonSetEnabledFunc = std::function<void(bool)>;
|
||||
|
||||
|
||||
// install buttons
|
||||
QList<ButtonClickedFunc> installButtonsClickedSig {
|
||||
&ServerContainersLogic::pushButtonOpenVpnContInstallClicked,
|
||||
&ServerContainersLogic::pushButtonSsOpenVpnContInstallClicked,
|
||||
&ServerContainersLogic::pushButtonCloakOpenVpnContInstallClicked,
|
||||
&ServerContainersLogic::pushButtonWireguardContInstallClicked,
|
||||
};
|
||||
QList<ButtonSetEnabledFunc> installButtonsSetEnabledFunc {
|
||||
[this] (bool enabled) -> void {
|
||||
set_pushButtonOpenVpnContInstallEnabled(enabled);
|
||||
},
|
||||
[this] (bool enabled) -> void {
|
||||
set_pushButtonSsOpenVpnContInstallEnabled(enabled);
|
||||
},
|
||||
[this] (bool enabled) -> void {
|
||||
set_pushButtonCloakOpenVpnContInstallEnabled(enabled);
|
||||
},
|
||||
[this] (bool enabled) -> void {
|
||||
set_pushButtonWireguardContInstallEnabled(enabled);
|
||||
},
|
||||
};
|
||||
|
||||
for (int i = 0; i < containers.size(); ++i) {
|
||||
ButtonClickedFunc buttonClickedFunc = installButtonsClickedSig.at(i);
|
||||
ButtonSetEnabledFunc buttonSetEnabledFunc = installButtonsSetEnabledFunc.at(i);
|
||||
DockerContainer container = containers.at(i);
|
||||
|
||||
connect(this, buttonClickedFunc, [this, container, buttonSetEnabledFunc](bool checked){
|
||||
if (checked) {
|
||||
UiLogic::PageFunc page_server_containers;
|
||||
page_server_containers.setEnabledFunc = [this] (bool enabled) -> void {
|
||||
set_pageEnabled(enabled);
|
||||
};
|
||||
UiLogic::ButtonFunc no_button;
|
||||
UiLogic::LabelFunc no_label;
|
||||
UiLogic::ProgressFunc progressBar_protocols_container_reinstall;
|
||||
progressBar_protocols_container_reinstall.setVisibleFunc = [this] (bool visible) ->void {
|
||||
set_progressBarProtocolsContainerReinstallVisible(visible);
|
||||
};
|
||||
progressBar_protocols_container_reinstall.setValueFunc = [this] (int value) ->void {
|
||||
set_progressBarProtocolsContainerReinstallValue(value);
|
||||
};
|
||||
progressBar_protocols_container_reinstall.getValueFunc = [this] (void) -> int {
|
||||
return progressBarProtocolsContainerReinstallValue();
|
||||
};
|
||||
progressBar_protocols_container_reinstall.getMaximiumFunc = [this] (void) -> int {
|
||||
return progressBarProtocolsContainerReinstallMaximium();
|
||||
};
|
||||
|
||||
ErrorCode e = uiLogic()->doInstallAction([this, container](){
|
||||
return ServerController::setupContainer(m_settings.serverCredentials(uiLogic()->selectedServerIndex), container);
|
||||
},
|
||||
page_server_containers, progressBar_protocols_container_reinstall,
|
||||
no_button, no_label);
|
||||
|
||||
if (!e) {
|
||||
m_settings.setContainerConfig(uiLogic()->selectedServerIndex, container, QJsonObject());
|
||||
m_settings.setDefaultContainer(uiLogic()->selectedServerIndex, container);
|
||||
}
|
||||
}
|
||||
else {
|
||||
buttonSetEnabledFunc(false);
|
||||
ErrorCode e = ServerController::removeContainer(m_settings.serverCredentials(uiLogic()->selectedServerIndex), container);
|
||||
m_settings.removeContainerConfig(uiLogic()->selectedServerIndex, container);
|
||||
buttonSetEnabledFunc(true);
|
||||
|
||||
if (m_settings.defaultContainer(uiLogic()->selectedServerIndex) == container) {
|
||||
const auto &c = m_settings.containers(uiLogic()->selectedServerIndex);
|
||||
if (c.isEmpty()) m_settings.setDefaultContainer(uiLogic()->selectedServerIndex, DockerContainer::None);
|
||||
else m_settings.setDefaultContainer(uiLogic()->selectedServerIndex, c.keys().first());
|
||||
}
|
||||
}
|
||||
|
||||
updateServerContainersPage();
|
||||
});
|
||||
}
|
||||
|
||||
// share buttons
|
||||
QList<ButtonClickedFunc> shareButtonsClickedSig {
|
||||
&ServerContainersLogic::pushButtonOpenVpnContShareClicked,
|
||||
&ServerContainersLogic::pushButtonSsOpenVpnContShareClicked,
|
||||
&ServerContainersLogic::pushButtonCloakOpenVpnContShareClicked,
|
||||
&ServerContainersLogic::pushButtonWireguardContShareClicked,
|
||||
};
|
||||
|
||||
for (int i = 0; i < containers.size(); ++i) {
|
||||
ButtonClickedFunc buttonClickedFunc = shareButtonsClickedSig.at(i);
|
||||
DockerContainer container = containers.at(i);
|
||||
|
||||
connect(this, buttonClickedFunc, [this, container](bool){
|
||||
uiLogic()->shareConnectionLogic()->updateSharingPage(uiLogic()->selectedServerIndex, m_settings.serverCredentials(uiLogic()->selectedServerIndex), container);
|
||||
emit uiLogic()->goToPage(Page::ShareConnection);
|
||||
});
|
||||
if (m_settings.defaultContainer(uiLogic()->selectedServerIndex) == container) {
|
||||
const auto &c = m_settings.containers(uiLogic()->selectedServerIndex);
|
||||
if (c.isEmpty()) m_settings.setDefaultContainer(uiLogic()->selectedServerIndex, DockerContainer::None);
|
||||
else m_settings.setDefaultContainer(uiLogic()->selectedServerIndex, c.keys().first());
|
||||
}
|
||||
updateServerContainersPage();
|
||||
}
|
||||
|
||||
void ServerContainersLogic::onPushButtonContinueClicked(DockerContainer c, int port, TransportProto tp)
|
||||
{
|
||||
QMap<DockerContainer, QJsonObject> containers;
|
||||
Protocol mainProto = ContainerProps::defaultProtocol(c);
|
||||
|
||||
QJsonObject config {
|
||||
{ config_key::container, ContainerProps::containerToString(c) },
|
||||
{ ProtocolProps::protoToString(mainProto), QJsonObject {
|
||||
{ config_key::port, QString::number(port) },
|
||||
{ config_key::transport_proto, ProtocolProps::transportProtoToString(tp, mainProto) }}
|
||||
}
|
||||
};
|
||||
|
||||
containers.insert(c, config);
|
||||
|
||||
emit uiLogic()->goToPage(Page::ServerConfiguringProgress);
|
||||
qApp->processEvents();
|
||||
|
||||
ErrorCode e = uiLogic()->serverConfiguringProgressLogic()->doInstallAction([this, c](){
|
||||
return ServerController::setupContainer(m_settings.serverCredentials(uiLogic()->selectedServerIndex), c);
|
||||
});
|
||||
|
||||
if (!e) {
|
||||
m_settings.setContainerConfig(uiLogic()->selectedServerIndex, c, QJsonObject());
|
||||
m_settings.setDefaultContainer(uiLogic()->selectedServerIndex, c);
|
||||
}
|
||||
|
||||
updateServerContainersPage();
|
||||
emit uiLogic()->closePage();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,67 +9,18 @@ class ServerContainersLogic : public PageLogicBase
|
|||
{
|
||||
Q_OBJECT
|
||||
|
||||
AUTO_PROPERTY(int, progressBarProtocolsContainerReinstallValue)
|
||||
AUTO_PROPERTY(int, progressBarProtocolsContainerReinstallMaximium)
|
||||
|
||||
// AUTO_PROPERTY(bool, pushButtonOpenVpnContInstallChecked)
|
||||
// AUTO_PROPERTY(bool, pushButtonSsOpenVpnContInstallChecked)
|
||||
// AUTO_PROPERTY(bool, pushButtonCloakOpenVpnContInstallChecked)
|
||||
// AUTO_PROPERTY(bool, pushButtonWireguardContInstallChecked)
|
||||
|
||||
AUTO_PROPERTY(bool, pushButtonOpenVpnContInstallEnabled)
|
||||
AUTO_PROPERTY(bool, pushButtonSsOpenVpnContInstallEnabled)
|
||||
AUTO_PROPERTY(bool, pushButtonCloakOpenVpnContInstallEnabled)
|
||||
AUTO_PROPERTY(bool, pushButtonWireguardContInstallEnabled)
|
||||
|
||||
AUTO_PROPERTY(bool, pushButtonOpenVpnContDefaultChecked)
|
||||
AUTO_PROPERTY(bool, pushButtonSsOpenVpnContDefaultChecked)
|
||||
AUTO_PROPERTY(bool, pushButtonCloakOpenVpnContDefaultChecked)
|
||||
AUTO_PROPERTY(bool, pushButtonWireguardContDefaultChecked)
|
||||
|
||||
AUTO_PROPERTY(bool, pushButtonOpenVpnContDefaultVisible)
|
||||
AUTO_PROPERTY(bool, pushButtonSsOpenVpnContDefaultVisible)
|
||||
AUTO_PROPERTY(bool, pushButtonCloakOpenVpnContDefaultVisible)
|
||||
AUTO_PROPERTY(bool, pushButtonWireguardContDefaultVisible)
|
||||
|
||||
AUTO_PROPERTY(bool, pushButtonOpenVpnContShareVisible)
|
||||
AUTO_PROPERTY(bool, pushButtonSsOpenVpnContShareVisible)
|
||||
AUTO_PROPERTY(bool, pushButtonCloakOpenVpnContShareVisible)
|
||||
AUTO_PROPERTY(bool, pushButtonWireguardContShareVisible)
|
||||
|
||||
AUTO_PROPERTY(bool, frameOpenvpnSettingsVisible)
|
||||
AUTO_PROPERTY(bool, frameOpenvpnSsSettingsVisible)
|
||||
AUTO_PROPERTY(bool, frameOpenvpnSsCloakSettingsVisible)
|
||||
AUTO_PROPERTY(bool, progressBarProtocolsContainerReinstallVisible)
|
||||
|
||||
AUTO_PROPERTY(bool, frameWireguardSettingsVisible)
|
||||
AUTO_PROPERTY(bool, frameWireguardVisible)
|
||||
|
||||
public:
|
||||
Q_INVOKABLE void updateServerContainersPage();
|
||||
|
||||
Q_INVOKABLE void onPushButtonProtoSettingsClicked(DockerContainer c, Protocol p);
|
||||
Q_INVOKABLE void onPushButtonDefaultClicked(DockerContainer c);
|
||||
Q_INVOKABLE void onPushButtonShareClicked(DockerContainer c);
|
||||
Q_INVOKABLE void onPushButtonRemoveClicked(DockerContainer c);
|
||||
Q_INVOKABLE void onPushButtonContinueClicked(DockerContainer c, int port, TransportProto tp);
|
||||
|
||||
public:
|
||||
explicit ServerContainersLogic(UiLogic *uiLogic, QObject *parent = nullptr);
|
||||
~ServerContainersLogic() = default;
|
||||
|
||||
void setupProtocolsPageConnections();
|
||||
|
||||
signals:
|
||||
void pushButtonOpenVpnContDefaultClicked(bool checked);
|
||||
void pushButtonSsOpenVpnContDefaultClicked(bool checked);
|
||||
void pushButtonCloakOpenVpnContDefaultClicked(bool checked);
|
||||
void pushButtonWireguardContDefaultClicked(bool checked);
|
||||
void pushButtonOpenVpnContInstallClicked(bool checked);
|
||||
void pushButtonSsOpenVpnContInstallClicked(bool checked);
|
||||
void pushButtonCloakOpenVpnContInstallClicked(bool checked);
|
||||
void pushButtonWireguardContInstallClicked(bool checked);
|
||||
void pushButtonOpenVpnContShareClicked(bool checked);
|
||||
void pushButtonSsOpenVpnContShareClicked(bool checked);
|
||||
void pushButtonCloakOpenVpnContShareClicked(bool checked);
|
||||
void pushButtonWireguardContShareClicked(bool checked);
|
||||
|
||||
};
|
||||
#endif // SERVER_CONTAINERS_LOGIC_H
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue