Share page refactoring part 1

This commit is contained in:
pokamest 2021-11-06 13:47:52 +03:00
parent ed26706ee7
commit a89104127a
32 changed files with 985 additions and 569 deletions

View file

@ -2,6 +2,7 @@
#include "ShareConnectionLogic.h"
#include "../uilogic.h"
#include "../models/protocols_model.h"
GeneralSettingsLogic::GeneralSettingsLogic(UiLogic *logic, QObject *parent):
PageLogicBase(logic, parent)
@ -24,7 +25,9 @@ void GeneralSettingsLogic::onPushButtonGeneralSettingsShareConnectionClicked()
{
uiLogic()->selectedServerIndex = m_settings.defaultServerIndex();
uiLogic()->selectedDockerContainer = m_settings.defaultContainer(uiLogic()->selectedServerIndex);
qobject_cast<ProtocolsModel *>(uiLogic()->protocolsModel())->setSelectedServerIndex(uiLogic()->selectedServerIndex);
qobject_cast<ProtocolsModel *>(uiLogic()->protocolsModel())->setSelectedDockerContainer(uiLogic()->selectedDockerContainer);
uiLogic()->shareConnectionLogic()->updateSharingPage(uiLogic()->selectedServerIndex, m_settings.serverCredentials(uiLogic()->selectedServerIndex), uiLogic()->selectedDockerContainer);
//uiLogic()->shareConnectionLogic()->updateSharingPage(uiLogic()->selectedServerIndex, m_settings.serverCredentials(uiLogic()->selectedServerIndex), uiLogic()->selectedDockerContainer);
uiLogic()->goToPage(Page::ShareConnection);
}

View file

@ -14,6 +14,8 @@ class PageLogicBase : public QObject
{
Q_OBJECT
AUTO_PROPERTY(bool, pageEnabled)
// AUTO_PROPERTY(int, serverIndex)
// AUTO_PROPERTY(DockerContainer, dockerContainer)
public:
explicit PageLogicBase(UiLogic *uiLogic, QObject *parent = nullptr);

View file

@ -18,6 +18,11 @@ ServerConfiguringProgressLogic::ServerConfiguringProgressLogic(UiLogic *logic, Q
}
void ServerConfiguringProgressLogic::onUpdatePage()
{
set_progressBarValue(0);
}
ErrorCode ServerConfiguringProgressLogic::doInstallAction(const std::function<ErrorCode()> &action)
{

View file

@ -22,6 +22,7 @@ public:
explicit ServerConfiguringProgressLogic(UiLogic *uiLogic, QObject *parent = nullptr);
~ServerConfiguringProgressLogic() = default;
void onUpdatePage() override;
ErrorCode doInstallAction(const std::function<ErrorCode()> &action);
private:

View file

@ -21,11 +21,6 @@
ShareConnectionLogic::ShareConnectionLogic(UiLogic *logic, QObject *parent):
PageLogicBase(logic, parent),
m_pageShareAmneziaVisible{true},
m_pageShareOpenVpnVisible{true},
m_pageShareShadowSocksVisible{true},
m_pageShareCloakVisible{true},
m_pageShareFullAccessVisible{true},
m_textEditShareOpenVpnCodeText{},
m_pushButtonShareOpenVpnCopyEnabled{false},
m_pushButtonShareOpenVpnSaveEnabled{false},
@ -222,12 +217,6 @@ void ShareConnectionLogic::updateSharingPage(int serverIndex, const ServerCreden
//const QJsonObject &containerConfig = m_settings.containerConfig(serverIndex, container);
set_pageShareAmneziaVisible(false);
set_pageShareOpenVpnVisible(false);
set_pageShareShadowSocksVisible(false);
set_pageShareCloakVisible(false);
set_pageShareFullAccessVisible(false);
enum currentWidget {
full_access = 0,
share_amezia,
@ -237,8 +226,6 @@ void ShareConnectionLogic::updateSharingPage(int serverIndex, const ServerCreden
};
if (container == DockerContainer::OpenVpn) {
set_pageShareAmneziaVisible(true);
set_pageShareOpenVpnVisible(true);
QString cfg = tr("Press Generate config");
set_textEditShareOpenVpnCodeText(cfg);
@ -250,8 +237,6 @@ void ShareConnectionLogic::updateSharingPage(int serverIndex, const ServerCreden
if (container == DockerContainer::ShadowSocks ||
container == DockerContainer::Cloak) {
set_pageShareAmneziaVisible(true);
set_pageShareShadowSocksVisible(true);
QJsonObject protoConfig = m_settings.protocolConfig(serverIndex, container, Protocol::ShadowSocks);
QString cfg = protoConfig.value(config_key::last_config).toString();
@ -289,7 +274,6 @@ void ShareConnectionLogic::updateSharingPage(int serverIndex, const ServerCreden
if (container == DockerContainer::Cloak) {
//ui->toolBox_share_connection->addItem(ui->page_share_amnezia, tr(" Share for Amnezia client"));
set_pageShareCloakVisible(true);
set_plainTextEditShareCloakText(QString(""));
QJsonObject protoConfig = m_settings.protocolConfig(serverIndex, container, Protocol::Cloak);
@ -313,7 +297,6 @@ void ShareConnectionLogic::updateSharingPage(int serverIndex, const ServerCreden
// Full access
if (container == DockerContainer::None) {
set_pageShareFullAccessVisible(true);
const QJsonObject &server = m_settings.server(uiLogic()->selectedServerIndex);

View file

@ -11,11 +11,6 @@ class ShareConnectionLogic: public PageLogicBase
Q_OBJECT
public:
AUTO_PROPERTY(bool, pageShareAmneziaVisible)
AUTO_PROPERTY(bool, pageShareOpenVpnVisible)
AUTO_PROPERTY(bool, pageShareShadowSocksVisible)
AUTO_PROPERTY(bool, pageShareCloakVisible)
AUTO_PROPERTY(bool, pageShareFullAccessVisible)
AUTO_PROPERTY(QString, textEditShareOpenVpnCodeText)
AUTO_PROPERTY(bool, pushButtonShareOpenVpnCopyEnabled)
AUTO_PROPERTY(bool, pushButtonShareOpenVpnSaveEnabled)

View file

@ -22,7 +22,7 @@ SitesLogic::SitesLogic(UiLogic *logic, QObject *parent):
sitesModels.insert(Settings::VpnAllExceptSites, new SitesModel(Settings::VpnAllExceptSites));
}
void SitesLogic::updateSitesPage()
void SitesLogic::onUpdatePage()
{
Settings::RouteMode m = m_settings.routeMode();
if (m == Settings::VpnAllSites) return;
@ -71,7 +71,7 @@ void SitesLogic::onPushButtonAddCustomSitesClicked()
uiLogic()->m_vpnConnection->flushDns();
}
updateSitesPage();
onUpdatePage();
};
const auto &cbResolv = [this, cbProcess](const QHostInfo &hostInfo){
@ -93,7 +93,7 @@ void SitesLogic::onPushButtonAddCustomSitesClicked()
}
else {
cbProcess(newSite, "");
updateSitesPage();
onUpdatePage();
QHostInfo::lookupHost(newSite, this, cbResolv);
}
}
@ -123,7 +123,7 @@ void SitesLogic::onPushButtonSitesDeleteClicked(int row)
uiLogic()->m_vpnConnection->flushDns();
}
updateSitesPage();
onUpdatePage();
}
void SitesLogic::onPushButtonSitesImportClicked(const QString& fileName)
@ -153,6 +153,6 @@ void SitesLogic::onPushButtonSitesImportClicked(const QString& fileName)
uiLogic()->m_vpnConnection->addRoutes(QStringList() << ips);
uiLogic()->m_vpnConnection->flushDns();
updateSitesPage();
onUpdatePage();
}

View file

@ -15,7 +15,7 @@ class SitesLogic : public PageLogicBase
AUTO_PROPERTY(QString, lineEditSitesAddCustomText)
public:
Q_INVOKABLE void updateSitesPage();
Q_INVOKABLE void onUpdatePage() override;
Q_INVOKABLE void onPushButtonAddCustomSitesClicked();
Q_INVOKABLE void onPushButtonSitesDeleteClicked(int row);

View file

@ -35,6 +35,8 @@ void StartPageLogic::onUpdatePage()
set_pushButtonConnectVisible(true);
set_pushButtonConnectKeyChecked(false);
set_pushButtonBackFromStartVisible(uiLogic()->pagesStackDepth() > 0);
}
void StartPageLogic::onPushButtonConnect()

View file

@ -36,7 +36,7 @@ VpnLogic::VpnLogic(UiLogic *logic, QObject *parent):
}
void VpnLogic::updateVpnPage()
void VpnLogic::onUpdatePage()
{
Settings::RouteMode mode = m_settings.routeMode();
set_radioButtonVpnModeAllSitesChecked(mode == Settings::VpnAllSites);

View file

@ -24,7 +24,7 @@ class VpnLogic : public PageLogicBase
AUTO_PROPERTY(bool, radioButtonVpnModeExceptSitesChecked)
public:
Q_INVOKABLE void updateVpnPage();
Q_INVOKABLE void onUpdatePage() override;
Q_INVOKABLE void onRadioButtonVpnModeAllSitesToggled(bool checked);
Q_INVOKABLE void onRadioButtonVpnModeForwardSitesToggled(bool checked);

View file

@ -15,6 +15,7 @@ WizardLogic::WizardLogic(UiLogic *logic, QObject *parent):
void WizardLogic::onUpdatePage()
{
set_lineEditHighWebsiteMaskingText(protocols::cloak::defaultRedirSite);
set_radioButtonMediumChecked(true);
}
QMap<DockerContainer, QJsonObject> WizardLogic::getInstallConfigsFromWizardPage() const