Qml Containers Page refact

This commit is contained in:
pokamest 2021-09-16 19:49:50 +03:00
parent 0faf6c8599
commit a390f2e988
22 changed files with 191 additions and 197 deletions

View file

@ -9,15 +9,3 @@ PageLogicBase::PageLogicBase(UiLogic *logic, QObject *parent):
}
Page PageLogicBase::pageForProto(Protocol p)
{
switch (p) {
case Protocol::OpenVpn: return Page::OpenVpnSettings;
case Protocol::ShadowSocks: return Page::ShadowSocksSettings;
case Protocol::OpenVpn: return Page::OpenVpnSettings;
case Protocol::OpenVpn: return Page::OpenVpnSettings;
default:
break;
}
}

View file

@ -20,7 +20,6 @@ public:
~PageLogicBase() = default;
Q_INVOKABLE virtual void updatePage() {}
Q_INVOKABLE Page pageForProto(amnezia::Protocol p);
protected:
UiLogic *uiLogic() const { return m_uiLogic; }

View file

@ -128,7 +128,7 @@ void ServerContainersLogic::onPushButtonProtoSettingsClicked(amnezia::DockerCont
uiLogic()->selectedDockerContainer,
m_settings.haveAuthData(uiLogic()->selectedServerIndex));
emit uiLogic()->goToPage(Page::OpenVpnSettings);
emit uiLogic()->goToProtocolPage(static_cast<int>(p));
}
@ -258,50 +258,3 @@ void ServerContainersLogic::setupProtocolsPageConnections()
}
}
//void ServerContainersLogic::onPushButtonProtoCloakOpenVpnContOpenvpnConfigClicked()
//{
// uiLogic()->selectedDockerContainer = DockerContainer::OpenVpnOverCloak;
// uiLogic()->openVpnLogic()->updateOpenVpnPage(m_settings.protocolConfig(uiLogic()->selectedServerIndex, uiLogic()->selectedDockerContainer, Protocol::OpenVpn),
// uiLogic()->selectedDockerContainer, m_settings.haveAuthData(uiLogic()->selectedServerIndex));
// uiLogic()->goToPage(Page::OpenVpnSettings);
//}
//void ServerContainersLogic::onPushButtonProtoCloakOpenVpnContSsConfigClicked()
//{
// uiLogic()->selectedDockerContainer = DockerContainer::OpenVpnOverCloak;
// uiLogic()->shadowSocksLogic()->updateShadowSocksPage(m_settings.protocolConfig(uiLogic()->selectedServerIndex, uiLogic()->selectedDockerContainer, Protocol::ShadowSocks),
// uiLogic()->selectedDockerContainer, m_settings.haveAuthData(uiLogic()->selectedServerIndex));
// uiLogic()->goToPage(Page::ShadowSocksSettings);
//}
//void ServerContainersLogic::onPushButtonProtoCloakOpenVpnContCloakConfigClicked()
//{
// uiLogic()->selectedDockerContainer = DockerContainer::OpenVpnOverCloak;
// uiLogic()->cloakLogic()->updateCloakPage(m_settings.protocolConfig(uiLogic()->selectedServerIndex, uiLogic()->selectedDockerContainer, Protocol::Cloak),
// uiLogic()->selectedDockerContainer, m_settings.haveAuthData(uiLogic()->selectedServerIndex));
// uiLogic()->goToPage(Page::CloakSettings);
//}
//void ServerContainersLogic::onPushButtonProtoOpenVpnContOpenvpnConfigClicked()
//{
// uiLogic()->selectedDockerContainer = DockerContainer::OpenVpn;
// uiLogic()->openVpnLogic()->updateOpenVpnPage(m_settings.protocolConfig(uiLogic()->selectedServerIndex, uiLogic()->selectedDockerContainer, Protocol::OpenVpn),
// uiLogic()->selectedDockerContainer, m_settings.haveAuthData(uiLogic()->selectedServerIndex));
// uiLogic()->goToPage(Page::OpenVpnSettings);
//}
//void ServerContainersLogic::onPushButtonProtoSsOpenVpnContOpenvpnConfigClicked()
//{
// uiLogic()->selectedDockerContainer = DockerContainer::OpenVpnOverShadowSocks;
// uiLogic()->openVpnLogic()->updateOpenVpnPage(m_settings.protocolConfig(uiLogic()->selectedServerIndex, uiLogic()->selectedDockerContainer, Protocol::OpenVpn),
// uiLogic()->selectedDockerContainer, m_settings.haveAuthData(uiLogic()->selectedServerIndex));
// uiLogic()->goToPage(Page::OpenVpnSettings);
//}
//void ServerContainersLogic::onPushButtonProtoSsOpenVpnContSsConfigClicked()
//{
// uiLogic()->selectedDockerContainer = DockerContainer::OpenVpnOverShadowSocks;
// uiLogic()->shadowSocksLogic()->updateShadowSocksPage(m_settings.protocolConfig(uiLogic()->selectedServerIndex, uiLogic()->selectedDockerContainer, Protocol::ShadowSocks),
// uiLogic()->selectedDockerContainer, m_settings.haveAuthData(uiLogic()->selectedServerIndex));
// uiLogic()->goToPage(Page::ShadowSocksSettings);
//}

View file

@ -42,14 +42,6 @@ class ServerContainersLogic : public PageLogicBase
public:
Q_INVOKABLE void updateServerContainersPage();
// Q_INVOKABLE void onPushButtonProtoCloakOpenVpnContOpenvpnConfigClicked();
// Q_INVOKABLE void onPushButtonProtoCloakOpenVpnContSsConfigClicked();
// Q_INVOKABLE void onPushButtonProtoCloakOpenVpnContCloakConfigClicked();
// Q_INVOKABLE void onPushButtonProtoOpenVpnContOpenvpnConfigClicked();
// Q_INVOKABLE void onPushButtonProtoSsOpenVpnContOpenvpnConfigClicked();
// Q_INVOKABLE void onPushButtonProtoSsOpenVpnContSsConfigClicked();
Q_INVOKABLE void onPushButtonProtoSettingsClicked(amnezia::DockerContainer c, amnezia::Protocol p);
public:

View file

@ -8,24 +8,26 @@ using namespace PageEnumNS;
OpenVpnLogic::OpenVpnLogic(UiLogic *logic, QObject *parent):
PageProtocolLogicBase(logic, parent),
m_lineEditProtoOpenVpnSubnetText{},
m_lineEditProtoOpenVpnSubnetText{""},
m_radioButtonProtoOpenVpnTcpEnabled{true},
m_radioButtonProtoOpenVpnTcpChecked{false},
m_radioButtonProtoOpenVpnUdpEnabled{true},
m_radioButtonProtoOpenVpnUdpChecked{false},
m_checkBoxProtoOpenVpnAutoEncryptionChecked{},
m_comboBoxProtoOpenVpnCipherText{"AES-256-GCM"},
m_comboBoxProtoOpenVpnHashText{"SHA512"},
m_checkBoxProtoOpenVpnBlockDnsChecked{false},
m_lineEditProtoOpenVpnPortText{},
m_checkBoxProtoOpenVpnTlsAuthChecked{false},
m_widgetProtoOpenVpnEnabled{false},
m_widgetProtoOpenVpnEnabled{true},
m_pushButtonOpenvpnSaveVisible{false},
m_progressBarProtoOpenVpnResetVisible{false},
m_radioButtonProtoOpenVpnUdpEnabled{false},
m_radioButtonProtoOpenVpnTcpEnabled{false},
m_radioButtonProtoOpenVpnTcpChecked{false},
m_lineEditProtoOpenVpnPortEnabled{false},
m_comboBoxProtoOpenVpnCipherEnabled{true},
m_comboBoxProtoOpenVpnHashEnabled{true},
m_pageProtoOpenVpnEnabled{true},
m_labelProtoOpenVpnInfoVisible{true},
m_labelProtoOpenVpnInfoText{},
m_progressBarProtoOpenVpnResetValue{0},
@ -36,6 +38,7 @@ OpenVpnLogic::OpenVpnLogic(UiLogic *logic, QObject *parent):
void OpenVpnLogic::updateProtocolPage(const QJsonObject &openvpnConfig, DockerContainer container, bool haveAuthData)
{
qDebug() << "OpenVpnLogic::updateProtocolPage";
set_widgetProtoOpenVpnEnabled(haveAuthData);
set_pushButtonOpenvpnSaveVisible(haveAuthData);
set_progressBarProtoOpenVpnResetVisible(haveAuthData);
@ -88,7 +91,7 @@ void OpenVpnLogic::onCheckBoxProtoOpenVpnAutoEncryptionClicked()
void OpenVpnLogic::onPushButtonProtoOpenVpnSaveClicked()
{
QJsonObject protocolConfig = m_settings.protocolConfig(uiLogic()->selectedServerIndex, uiLogic()->selectedDockerContainer, Protocol::OpenVpn);
protocolConfig = getOpenVpnConfigFromPage(protocolConfig);
protocolConfig = getProtocolConfigFromPage(protocolConfig);
QJsonObject containerConfig = m_settings.containerConfig(uiLogic()->selectedServerIndex, uiLogic()->selectedDockerContainer);
QJsonObject newContainerConfig = containerConfig;
@ -96,7 +99,7 @@ void OpenVpnLogic::onPushButtonProtoOpenVpnSaveClicked()
UiLogic::PageFunc page_proto_openvpn;
page_proto_openvpn.setEnabledFunc = [this] (bool enabled) -> void {
set_pageProtoOpenVpnEnabled(enabled);
set_pageEnabled(enabled);
};
UiLogic::ButtonFunc pushButton_proto_openvpn_save;
pushButton_proto_openvpn_save.setVisibleFunc = [this] (bool visible) ->void {

View file

@ -10,7 +10,12 @@ class OpenVpnLogic : public PageProtocolLogicBase
Q_OBJECT
AUTO_PROPERTY(QString, lineEditProtoOpenVpnSubnetText)
AUTO_PROPERTY(bool, radioButtonProtoOpenVpnTcpEnabled)
AUTO_PROPERTY(bool, radioButtonProtoOpenVpnUdpEnabled)
AUTO_PROPERTY(bool, radioButtonProtoOpenVpnTcpChecked)
AUTO_PROPERTY(bool, radioButtonProtoOpenVpnUdpChecked)
AUTO_PROPERTY(bool, checkBoxProtoOpenVpnAutoEncryptionChecked)
AUTO_PROPERTY(QString, comboBoxProtoOpenVpnCipherText)
AUTO_PROPERTY(QString, comboBoxProtoOpenVpnHashText)
@ -21,14 +26,11 @@ class OpenVpnLogic : public PageProtocolLogicBase
AUTO_PROPERTY(bool, widgetProtoOpenVpnEnabled)
AUTO_PROPERTY(bool, pushButtonOpenvpnSaveVisible)
AUTO_PROPERTY(bool, progressBarProtoOpenVpnResetVisible)
AUTO_PROPERTY(bool, radioButtonProtoOpenVpnUdpEnabled)
AUTO_PROPERTY(bool, radioButtonProtoOpenVpnTcpEnabled)
AUTO_PROPERTY(bool, radioButtonProtoOpenVpnTcpChecked)
AUTO_PROPERTY(bool, lineEditProtoOpenVpnPortEnabled)
AUTO_PROPERTY(bool, comboBoxProtoOpenVpnCipherEnabled)
AUTO_PROPERTY(bool, comboBoxProtoOpenVpnHashEnabled)
AUTO_PROPERTY(bool, pageProtoOpenVpnEnabled)
AUTO_PROPERTY(bool, labelProtoOpenVpnInfoVisible)
AUTO_PROPERTY(QString, labelProtoOpenVpnInfoText)
AUTO_PROPERTY(int, progressBarProtoOpenVpnResetValue)

View file

@ -49,7 +49,7 @@ QJsonObject ShadowSocksLogic::getProtocolConfigFromPage(QJsonObject oldConfig)
void ShadowSocksLogic::onPushButtonProtoShadowSocksSaveClicked()
{
QJsonObject protocolConfig = m_settings.protocolConfig(uiLogic()->selectedServerIndex, uiLogic()->selectedDockerContainer, Protocol::ShadowSocks);
protocolConfig = getShadowSocksConfigFromPage(protocolConfig);
//protocolConfig = getShadowSocksConfigFromPage(protocolConfig);
QJsonObject containerConfig = m_settings.containerConfig(uiLogic()->selectedServerIndex, uiLogic()->selectedDockerContainer);
QJsonObject newContainerConfig = containerConfig;