QML ServerContainers page refact
This commit is contained in:
parent
9ae2e3fba2
commit
0faf6c8599
90 changed files with 5651 additions and 125 deletions
|
@ -7,7 +7,7 @@ using namespace amnezia;
|
|||
using namespace PageEnumNS;
|
||||
|
||||
CloakLogic::CloakLogic(UiLogic *logic, QObject *parent):
|
||||
PageLogicBase(logic, parent),
|
||||
PageProtocolLogicBase(logic, parent),
|
||||
m_comboBoxProtoCloakCipherText{"chacha20-poly1305"},
|
||||
m_lineEditProtoCloakSiteText{"tile.openstreetmap.org"},
|
||||
m_lineEditProtoCloakPortText{},
|
||||
|
@ -24,7 +24,7 @@ CloakLogic::CloakLogic(UiLogic *logic, QObject *parent):
|
|||
|
||||
}
|
||||
|
||||
void CloakLogic::updateCloakPage(const QJsonObject &ckConfig, DockerContainer container, bool haveAuthData)
|
||||
void CloakLogic::updateProtocolPage(const QJsonObject &ckConfig, DockerContainer container, bool haveAuthData)
|
||||
{
|
||||
set_widgetProtoCloakEnabled(haveAuthData);
|
||||
set_pushButtonCloakSaveVisible(haveAuthData);
|
||||
|
@ -42,7 +42,7 @@ void CloakLogic::updateCloakPage(const QJsonObject &ckConfig, DockerContainer co
|
|||
set_lineEditProtoCloakPortEnabled(container == DockerContainer::OpenVpnOverCloak);
|
||||
}
|
||||
|
||||
QJsonObject CloakLogic::getCloakConfigFromPage(QJsonObject oldConfig)
|
||||
QJsonObject CloakLogic::getProtocolConfigFromPage(QJsonObject oldConfig)
|
||||
{
|
||||
oldConfig.insert(config_key::cipher, comboBoxProtoCloakCipherText());
|
||||
oldConfig.insert(config_key::site, lineEditProtoCloakSiteText());
|
||||
|
@ -54,7 +54,7 @@ QJsonObject CloakLogic::getCloakConfigFromPage(QJsonObject oldConfig)
|
|||
void CloakLogic::onPushButtonProtoCloakSaveClicked()
|
||||
{
|
||||
QJsonObject protocolConfig = m_settings.protocolConfig(uiLogic()->selectedServerIndex, uiLogic()->selectedDockerContainer, Protocol::Cloak);
|
||||
protocolConfig = getCloakConfigFromPage(protocolConfig);
|
||||
protocolConfig = getProtocolConfigFromPage(protocolConfig);
|
||||
|
||||
QJsonObject containerConfig = m_settings.containerConfig(uiLogic()->selectedServerIndex, uiLogic()->selectedDockerContainer);
|
||||
QJsonObject newContainerConfig = containerConfig;
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
#ifndef CLOAK_LOGIC_H
|
||||
#define CLOAK_LOGIC_H
|
||||
|
||||
#include "../PageLogicBase.h"
|
||||
#include "PageProtocolLogicBase.h"
|
||||
|
||||
class UiLogic;
|
||||
|
||||
class CloakLogic : public PageLogicBase
|
||||
class CloakLogic : public PageProtocolLogicBase
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
@ -29,8 +29,8 @@ public:
|
|||
explicit CloakLogic(UiLogic *uiLogic, QObject *parent = nullptr);
|
||||
~CloakLogic() = default;
|
||||
|
||||
void updateCloakPage(const QJsonObject &ckConfig, DockerContainer container, bool haveAuthData);
|
||||
QJsonObject getCloakConfigFromPage(QJsonObject oldConfig);
|
||||
void updateProtocolPage (const QJsonObject &ckConfig, DockerContainer container, bool haveAuthData) override;
|
||||
QJsonObject getProtocolConfigFromPage(QJsonObject oldConfig) override;
|
||||
|
||||
private:
|
||||
Settings m_settings;
|
||||
|
|
|
@ -7,7 +7,7 @@ using namespace amnezia;
|
|||
using namespace PageEnumNS;
|
||||
|
||||
OpenVpnLogic::OpenVpnLogic(UiLogic *logic, QObject *parent):
|
||||
PageLogicBase(logic, parent),
|
||||
PageProtocolLogicBase(logic, parent),
|
||||
m_lineEditProtoOpenVpnSubnetText{},
|
||||
m_radioButtonProtoOpenVpnUdpChecked{false},
|
||||
m_checkBoxProtoOpenVpnAutoEncryptionChecked{},
|
||||
|
@ -34,7 +34,7 @@ OpenVpnLogic::OpenVpnLogic(UiLogic *logic, QObject *parent):
|
|||
|
||||
}
|
||||
|
||||
void OpenVpnLogic::updateOpenVpnPage(const QJsonObject &openvpnConfig, DockerContainer container, bool haveAuthData)
|
||||
void OpenVpnLogic::updateProtocolPage(const QJsonObject &openvpnConfig, DockerContainer container, bool haveAuthData)
|
||||
{
|
||||
set_widgetProtoOpenVpnEnabled(haveAuthData);
|
||||
set_pushButtonOpenvpnSaveVisible(haveAuthData);
|
||||
|
@ -136,7 +136,7 @@ void OpenVpnLogic::onPushButtonProtoOpenVpnSaveClicked()
|
|||
qDebug() << "Protocol saved with code:" << e << "for" << uiLogic()->selectedServerIndex << uiLogic()->selectedDockerContainer;
|
||||
}
|
||||
|
||||
QJsonObject OpenVpnLogic::getOpenVpnConfigFromPage(QJsonObject oldConfig)
|
||||
QJsonObject OpenVpnLogic::getProtocolConfigFromPage(QJsonObject oldConfig)
|
||||
{
|
||||
oldConfig.insert(config_key::subnet_address, lineEditProtoOpenVpnSubnetText());
|
||||
oldConfig.insert(config_key::transport_proto, radioButtonProtoOpenVpnUdpChecked() ? protocols::UDP : protocols::TCP);
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
#ifndef OPENVPN_LOGIC_H
|
||||
#define OPENVPN_LOGIC_H
|
||||
|
||||
#include "../PageLogicBase.h"
|
||||
#include "PageProtocolLogicBase.h"
|
||||
|
||||
class UiLogic;
|
||||
|
||||
class OpenVpnLogic : public PageLogicBase
|
||||
class OpenVpnLogic : public PageProtocolLogicBase
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
@ -42,8 +42,8 @@ public:
|
|||
explicit OpenVpnLogic(UiLogic *uiLogic, QObject *parent = nullptr);
|
||||
~OpenVpnLogic() = default;
|
||||
|
||||
void updateOpenVpnPage(const QJsonObject &openvpnConfig, DockerContainer container, bool haveAuthData);
|
||||
QJsonObject getOpenVpnConfigFromPage(QJsonObject oldConfig);
|
||||
void updateProtocolPage(const QJsonObject &openvpnConfig, DockerContainer container, bool haveAuthData) override;
|
||||
QJsonObject getProtocolConfigFromPage(QJsonObject oldConfig) override;
|
||||
|
||||
private:
|
||||
Settings m_settings;
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
#include "PageProtocolLogicBase.h"
|
||||
|
||||
|
||||
PageProtocolLogicBase::PageProtocolLogicBase(UiLogic *logic, QObject *parent):
|
||||
PageLogicBase(logic, parent)
|
||||
{
|
||||
|
||||
}
|
24
client/ui/pages_logic/protocols/PageProtocolLogicBase.h
Normal file
24
client/ui/pages_logic/protocols/PageProtocolLogicBase.h
Normal file
|
@ -0,0 +1,24 @@
|
|||
#ifndef PAGE_PROTOCOL_LOGIC_BASE_H
|
||||
#define PAGE_PROTOCOL_LOGIC_BASE_H
|
||||
|
||||
#include "settings.h"
|
||||
#include "../PageLogicBase.h"
|
||||
|
||||
using namespace amnezia;
|
||||
using namespace PageEnumNS;
|
||||
|
||||
class UiLogic;
|
||||
|
||||
class PageProtocolLogicBase : public PageLogicBase
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit PageProtocolLogicBase(UiLogic *uiLogic, QObject *parent = nullptr);
|
||||
~PageProtocolLogicBase() = default;
|
||||
|
||||
virtual void updateProtocolPage(const QJsonObject &config, DockerContainer container, bool haveAuthData) {}
|
||||
virtual QJsonObject getProtocolConfigFromPage(QJsonObject oldConfig) { return QJsonObject(); }
|
||||
|
||||
};
|
||||
#endif // PAGE_PROTOCOL_LOGIC_BASE_H
|
|
@ -7,7 +7,7 @@ using namespace amnezia;
|
|||
using namespace PageEnumNS;
|
||||
|
||||
ShadowSocksLogic::ShadowSocksLogic(UiLogic *logic, QObject *parent):
|
||||
PageLogicBase(logic, parent),
|
||||
PageProtocolLogicBase(logic, parent),
|
||||
m_widgetProtoShadowSocksEnabled{false},
|
||||
m_comboBoxProtoShadowSocksCipherText{"chacha20-poly1305"},
|
||||
m_lineEditProtoShadowSocksPortText{},
|
||||
|
@ -23,7 +23,7 @@ ShadowSocksLogic::ShadowSocksLogic(UiLogic *logic, QObject *parent):
|
|||
|
||||
}
|
||||
|
||||
void ShadowSocksLogic::updateShadowSocksPage(const QJsonObject &ssConfig, DockerContainer container, bool haveAuthData)
|
||||
void ShadowSocksLogic::updateProtocolPage(const QJsonObject &ssConfig, DockerContainer container, bool haveAuthData)
|
||||
{
|
||||
set_widgetProtoShadowSocksEnabled(haveAuthData);
|
||||
set_pushButtonShadowSocksSaveVisible(haveAuthData);
|
||||
|
@ -38,7 +38,7 @@ void ShadowSocksLogic::updateShadowSocksPage(const QJsonObject &ssConfig, Docker
|
|||
set_lineEditProtoShadowSocksPortEnabled(container == DockerContainer::OpenVpnOverShadowSocks);
|
||||
}
|
||||
|
||||
QJsonObject ShadowSocksLogic::getShadowSocksConfigFromPage(QJsonObject oldConfig)
|
||||
QJsonObject ShadowSocksLogic::getProtocolConfigFromPage(QJsonObject oldConfig)
|
||||
{
|
||||
oldConfig.insert(config_key::cipher, comboBoxProtoShadowSocksCipherText());
|
||||
oldConfig.insert(config_key::port, lineEditProtoShadowSocksPortText());
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
#ifndef SHADOWSOCKS_LOGIC_H
|
||||
#define SHADOWSOCKS_LOGIC_H
|
||||
|
||||
#include "../PageLogicBase.h"
|
||||
#include "PageProtocolLogicBase.h"
|
||||
|
||||
class UiLogic;
|
||||
|
||||
class ShadowSocksLogic : public PageLogicBase
|
||||
class ShadowSocksLogic : public PageProtocolLogicBase
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
|
@ -28,8 +28,8 @@ public:
|
|||
explicit ShadowSocksLogic(UiLogic *uiLogic, QObject *parent = nullptr);
|
||||
~ShadowSocksLogic() = default;
|
||||
|
||||
void updateShadowSocksPage(const QJsonObject &ssConfig, DockerContainer container, bool haveAuthData);
|
||||
QJsonObject getShadowSocksConfigFromPage(QJsonObject oldConfig);
|
||||
void updateProtocolPage(const QJsonObject &ssConfig, DockerContainer container, bool haveAuthData) override;
|
||||
QJsonObject getProtocolConfigFromPage(QJsonObject oldConfig) override;
|
||||
|
||||
private:
|
||||
Settings m_settings;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue