Wizard Logic added
TODO_REFACTs fixed
This commit is contained in:
parent
ace304914e
commit
d90211ef48
7 changed files with 267 additions and 233 deletions
|
|
@ -1,25 +1,6 @@
|
|||
//#include <QApplication>
|
||||
//#include <QClipboard>
|
||||
//#include <QDebug>
|
||||
//#include <QDesktopServices>
|
||||
//#include <QFileDialog>
|
||||
//#include <QHBoxLayout>
|
||||
//#include <QHostInfo>
|
||||
//#include <QItemSelectionModel>
|
||||
//#include <QJsonDocument>
|
||||
//#include <QJsonObject>
|
||||
//#include <QKeyEvent>
|
||||
//#include <QMenu>
|
||||
//#include <QMessageBox>
|
||||
//#include <QMetaEnum>
|
||||
//#include <QSysInfo>
|
||||
//#include <QThread>
|
||||
//#include <QTimer>
|
||||
//#include <QRegularExpression>
|
||||
//#include <QSaveFile>
|
||||
|
||||
#include "GeneralSettingsLogic.h"
|
||||
#include "../uilogic.h"
|
||||
#include "ShareConnectionLogic.h"
|
||||
|
||||
using namespace amnezia;
|
||||
using namespace PageEnumNS;
|
||||
|
|
@ -61,7 +42,6 @@ void GeneralSettingsLogic::onPushButtonGeneralSettingsShareConnectionClicked()
|
|||
m_uiLogic->selectedServerIndex = m_settings.defaultServerIndex();
|
||||
m_uiLogic->selectedDockerContainer = m_settings.defaultContainer(m_uiLogic->selectedServerIndex);
|
||||
|
||||
// TODO_REFACT
|
||||
//m_uiLogic->updateSharingPage(m_uiLogic->selectedServerIndex, m_settings.serverCredentials(m_uiLogic->selectedServerIndex), m_uiLogic->selectedDockerContainer);
|
||||
m_uiLogic->shareConnectionLogic()->updateSharingPage(m_uiLogic->selectedServerIndex, m_settings.serverCredentials(m_uiLogic->selectedServerIndex), m_uiLogic->selectedDockerContainer);
|
||||
m_uiLogic->goToPage(Page::ShareConnection);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,31 +1,9 @@
|
|||
//#include <QApplication>
|
||||
//#include <QClipboard>
|
||||
//#include <QDebug>
|
||||
//#include <QDesktopServices>
|
||||
//#include <QFileDialog>
|
||||
//#include <QHBoxLayout>
|
||||
//#include <QHostInfo>
|
||||
//#include <QItemSelectionModel>
|
||||
//#include <QJsonDocument>
|
||||
//#include <QJsonObject>
|
||||
//#include <QKeyEvent>
|
||||
//#include <QMenu>
|
||||
//#include <QMessageBox>
|
||||
//#include <QMetaEnum>
|
||||
//#include <QSysInfo>
|
||||
//#include <QThread>
|
||||
//#include <QTimer>
|
||||
//#include <QRegularExpression>
|
||||
//#include <QSaveFile>
|
||||
|
||||
|
||||
#include "defines.h"
|
||||
#include "ServerSettingsLogic.h"
|
||||
#include "utils.h"
|
||||
#include "vpnconnection.h"
|
||||
#include <functional>
|
||||
|
||||
#include "../uilogic.h"
|
||||
#include "ServerListLogic.h"
|
||||
#include "ShareConnectionLogic.h"
|
||||
|
||||
#include "core/errorstrings.h"
|
||||
#include <core/servercontroller.h>
|
||||
|
|
@ -132,7 +110,7 @@ void ServerSettingsLogic::onPushButtonServerSettingsForgetServer()
|
|||
|
||||
m_uiLogic->selectedServerIndex = -1;
|
||||
|
||||
// TODO_REFACT updateServersListPage();
|
||||
m_uiLogic->serverListLogic()->updateServersListPage();
|
||||
|
||||
if (m_settings.serversCount() == 0) {
|
||||
m_uiLogic->setStartPage(Page::Start);
|
||||
|
|
@ -281,7 +259,7 @@ void ServerSettingsLogic::onLineEditServerSettingsDescriptionEditingFinished()
|
|||
QJsonObject server = m_settings.server(m_uiLogic->selectedServerIndex);
|
||||
server.insert(config_key::description, newText);
|
||||
m_settings.editServer(m_uiLogic->selectedServerIndex, server);
|
||||
// TODO_REFACT updateServersListPage();
|
||||
m_uiLogic->serverListLogic()->updateServersListPage();
|
||||
}
|
||||
|
||||
QString ServerSettingsLogic::getPushButtonServerSettingsClearClientCacheText() const
|
||||
|
|
@ -299,7 +277,6 @@ void ServerSettingsLogic::setPushButtonServerSettingsClearClientCacheText(const
|
|||
|
||||
void ServerSettingsLogic::onPushButtonServerSettingsShareFullClicked()
|
||||
{
|
||||
// TODO_REFACT
|
||||
// m_uiLogic->updateSharingPage(m_uiLogic->selectedServerIndex, m_settings.serverCredentials(m_uiLogic->selectedServerIndex), DockerContainer::None);
|
||||
m_uiLogic->shareConnectionLogic()->updateSharingPage(m_uiLogic->selectedServerIndex, m_settings.serverCredentials(m_uiLogic->selectedServerIndex), DockerContainer::None);
|
||||
m_uiLogic->goToPage(Page::ShareConnection);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#include <QApplication>
|
||||
#include <QApplication>
|
||||
#include <QClipboard>
|
||||
#include <QDebug>
|
||||
#include <QDesktopServices>
|
||||
|
|
@ -31,16 +31,14 @@
|
|||
//#include "protocols/protocols_defs.h"
|
||||
//#include "protocols/shadowsocksvpnprotocol.h"
|
||||
|
||||
#include "debug.h"
|
||||
#include "defines.h"
|
||||
//#include "debug.h"
|
||||
//#include "defines.h"
|
||||
#include "WizardLogic.h"
|
||||
#include "utils.h"
|
||||
#include "vpnconnection.h"
|
||||
#include <functional>
|
||||
//#include "utils.h"
|
||||
//#include "vpnconnection.h"
|
||||
//#include <functional>
|
||||
|
||||
#if defined Q_OS_MAC || defined Q_OS_LINUX
|
||||
#include "ui/macos_util.h"
|
||||
#endif
|
||||
#include "../uilogic.h"
|
||||
|
||||
using namespace amnezia;
|
||||
using namespace PageEnumNS;
|
||||
|
|
@ -48,7 +46,129 @@ using namespace PageEnumNS;
|
|||
|
||||
WizardLogic::WizardLogic(UiLogic *uiLogic, QObject *parent):
|
||||
QObject(parent),
|
||||
m_uiLogic(uiLogic)
|
||||
m_uiLogic(uiLogic),
|
||||
m_radioButtonSetupWizardHighChecked{false},
|
||||
m_radioButtonSetupWizardMediumChecked{true},
|
||||
m_radioButtonSetupWizardLowChecked{false},
|
||||
m_lineEditSetupWizardHighWebsiteMaskingText{},
|
||||
m_checkBoxSetupWizardVpnModeChecked{false}
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
bool WizardLogic::getRadioButtonSetupWizardMediumChecked() const
|
||||
{
|
||||
return m_radioButtonSetupWizardMediumChecked;
|
||||
}
|
||||
|
||||
void WizardLogic::setRadioButtonSetupWizardMediumChecked(bool radioButtonSetupWizardMediumChecked)
|
||||
{
|
||||
if (m_radioButtonSetupWizardMediumChecked != radioButtonSetupWizardMediumChecked) {
|
||||
m_radioButtonSetupWizardMediumChecked = radioButtonSetupWizardMediumChecked;
|
||||
emit radioButtonSetupWizardMediumCheckedChanged();
|
||||
}
|
||||
}
|
||||
|
||||
void WizardLogic::updateWizardHighPage()
|
||||
{
|
||||
setLineEditSetupWizardHighWebsiteMaskingText(protocols::cloak::defaultRedirSite);
|
||||
}
|
||||
|
||||
QString WizardLogic::getLineEditSetupWizardHighWebsiteMaskingText() const
|
||||
{
|
||||
return m_lineEditSetupWizardHighWebsiteMaskingText;
|
||||
}
|
||||
|
||||
void WizardLogic::setLineEditSetupWizardHighWebsiteMaskingText(const QString &lineEditSetupWizardHighWebsiteMaskingText)
|
||||
{
|
||||
if (m_lineEditSetupWizardHighWebsiteMaskingText != lineEditSetupWizardHighWebsiteMaskingText) {
|
||||
m_lineEditSetupWizardHighWebsiteMaskingText = lineEditSetupWizardHighWebsiteMaskingText;
|
||||
emit lineEditSetupWizardHighWebsiteMaskingTextChanged();
|
||||
}
|
||||
}
|
||||
|
||||
bool WizardLogic::getRadioButtonSetupWizardHighChecked() const
|
||||
{
|
||||
return m_radioButtonSetupWizardHighChecked;
|
||||
}
|
||||
|
||||
void WizardLogic::setRadioButtonSetupWizardHighChecked(bool radioButtonSetupWizardHighChecked)
|
||||
{
|
||||
if (m_radioButtonSetupWizardHighChecked != radioButtonSetupWizardHighChecked) {
|
||||
m_radioButtonSetupWizardHighChecked = radioButtonSetupWizardHighChecked;
|
||||
emit radioButtonSetupWizardHighCheckedChanged();
|
||||
}
|
||||
}
|
||||
|
||||
bool WizardLogic::getRadioButtonSetupWizardLowChecked() const
|
||||
{
|
||||
return m_radioButtonSetupWizardLowChecked;
|
||||
}
|
||||
|
||||
void WizardLogic::setRadioButtonSetupWizardLowChecked(bool radioButtonSetupWizardLowChecked)
|
||||
{
|
||||
if (m_radioButtonSetupWizardLowChecked != radioButtonSetupWizardLowChecked) {
|
||||
m_radioButtonSetupWizardLowChecked = radioButtonSetupWizardLowChecked;
|
||||
emit radioButtonSetupWizardLowCheckedChanged();
|
||||
}
|
||||
}
|
||||
|
||||
bool WizardLogic::getCheckBoxSetupWizardVpnModeChecked() const
|
||||
{
|
||||
return m_checkBoxSetupWizardVpnModeChecked;
|
||||
}
|
||||
|
||||
void WizardLogic::setCheckBoxSetupWizardVpnModeChecked(bool checkBoxSetupWizardVpnModeChecked)
|
||||
{
|
||||
if (m_checkBoxSetupWizardVpnModeChecked != checkBoxSetupWizardVpnModeChecked) {
|
||||
m_checkBoxSetupWizardVpnModeChecked = checkBoxSetupWizardVpnModeChecked;
|
||||
emit checkBoxSetupWizardVpnModeCheckedChanged();
|
||||
}
|
||||
}
|
||||
|
||||
QMap<DockerContainer, QJsonObject> WizardLogic::getInstallConfigsFromWizardPage() const
|
||||
{
|
||||
QJsonObject cloakConfig {
|
||||
{ config_key::container, amnezia::containerToString(DockerContainer::OpenVpnOverCloak) },
|
||||
{ config_key::cloak, QJsonObject {
|
||||
{ config_key::site, getLineEditSetupWizardHighWebsiteMaskingText() }}
|
||||
}
|
||||
};
|
||||
QJsonObject ssConfig {
|
||||
{ config_key::container, amnezia::containerToString(DockerContainer::OpenVpnOverShadowSocks) }
|
||||
};
|
||||
QJsonObject openVpnConfig {
|
||||
{ config_key::container, amnezia::containerToString(DockerContainer::OpenVpn) }
|
||||
};
|
||||
|
||||
QMap<DockerContainer, QJsonObject> containers;
|
||||
|
||||
if (getRadioButtonSetupWizardHighChecked()) {
|
||||
containers.insert(DockerContainer::OpenVpnOverCloak, cloakConfig);
|
||||
}
|
||||
|
||||
if (getRadioButtonSetupWizardMediumChecked()) {
|
||||
containers.insert(DockerContainer::OpenVpnOverShadowSocks, ssConfig);
|
||||
}
|
||||
|
||||
if (getRadioButtonSetupWizardLowChecked()) {
|
||||
containers.insert(DockerContainer::OpenVpn, openVpnConfig);
|
||||
}
|
||||
|
||||
return containers;
|
||||
}
|
||||
|
||||
void WizardLogic::onPushButtonSetupWizardVpnModeFinishClicked()
|
||||
{
|
||||
m_uiLogic->installServer(getInstallConfigsFromWizardPage());
|
||||
if (getCheckBoxSetupWizardVpnModeChecked()) {
|
||||
m_settings.setRouteMode(Settings::VpnOnlyForwardSites);
|
||||
} else {
|
||||
m_settings.setRouteMode(Settings::VpnAllSites);
|
||||
}
|
||||
}
|
||||
|
||||
void WizardLogic::onPushButtonSetupWizardLowFinishClicked()
|
||||
{
|
||||
m_uiLogic->installServer(getInstallConfigsFromWizardPage());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,13 +10,42 @@ class WizardLogic : public QObject
|
|||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
Q_INVOKABLE void updateWizardHighPage();
|
||||
|
||||
Q_PROPERTY(bool radioButtonSetupWizardHighChecked READ getRadioButtonSetupWizardHighChecked WRITE setRadioButtonSetupWizardHighChecked NOTIFY radioButtonSetupWizardHighCheckedChanged)
|
||||
Q_PROPERTY(bool radioButtonSetupWizardMediumChecked READ getRadioButtonSetupWizardMediumChecked WRITE setRadioButtonSetupWizardMediumChecked NOTIFY radioButtonSetupWizardMediumCheckedChanged)
|
||||
Q_PROPERTY(bool radioButtonSetupWizardLowChecked READ getRadioButtonSetupWizardLowChecked WRITE setRadioButtonSetupWizardLowChecked NOTIFY radioButtonSetupWizardLowCheckedChanged)
|
||||
Q_PROPERTY(bool checkBoxSetupWizardVpnModeChecked READ getCheckBoxSetupWizardVpnModeChecked WRITE setCheckBoxSetupWizardVpnModeChecked NOTIFY checkBoxSetupWizardVpnModeCheckedChanged)
|
||||
Q_PROPERTY(QString lineEditSetupWizardHighWebsiteMaskingText READ getLineEditSetupWizardHighWebsiteMaskingText WRITE setLineEditSetupWizardHighWebsiteMaskingText NOTIFY lineEditSetupWizardHighWebsiteMaskingTextChanged)
|
||||
|
||||
Q_INVOKABLE void onPushButtonSetupWizardVpnModeFinishClicked();
|
||||
Q_INVOKABLE void onPushButtonSetupWizardLowFinishClicked();
|
||||
|
||||
public:
|
||||
explicit WizardLogic(UiLogic *uiLogic, QObject *parent = nullptr);
|
||||
~WizardLogic() = default;
|
||||
|
||||
bool getRadioButtonSetupWizardMediumChecked() const;
|
||||
void setRadioButtonSetupWizardMediumChecked(bool radioButtonSetupWizardMediumChecked);
|
||||
QString getLineEditSetupWizardHighWebsiteMaskingText() const;
|
||||
void setLineEditSetupWizardHighWebsiteMaskingText(const QString &lineEditSetupWizardHighWebsiteMaskingText);
|
||||
|
||||
bool getRadioButtonSetupWizardHighChecked() const;
|
||||
void setRadioButtonSetupWizardHighChecked(bool radioButtonSetupWizardHighChecked);
|
||||
bool getRadioButtonSetupWizardLowChecked() const;
|
||||
void setRadioButtonSetupWizardLowChecked(bool radioButtonSetupWizardLowChecked);
|
||||
bool getCheckBoxSetupWizardVpnModeChecked() const;
|
||||
void setCheckBoxSetupWizardVpnModeChecked(bool checkBoxSetupWizardVpnModeChecked);
|
||||
|
||||
QMap<DockerContainer, QJsonObject> getInstallConfigsFromWizardPage() const;
|
||||
|
||||
signals:
|
||||
|
||||
void lineEditSetupWizardHighWebsiteMaskingTextChanged();
|
||||
void radioButtonSetupWizardHighCheckedChanged();
|
||||
void radioButtonSetupWizardMediumCheckedChanged();
|
||||
void radioButtonSetupWizardLowCheckedChanged();
|
||||
void checkBoxSetupWizardVpnModeCheckedChanged();
|
||||
|
||||
private:
|
||||
|
||||
|
|
@ -29,7 +58,11 @@ private:
|
|||
Settings m_settings;
|
||||
UiLogic *m_uiLogic;
|
||||
|
||||
|
||||
bool m_radioButtonSetupWizardHighChecked;
|
||||
bool m_radioButtonSetupWizardMediumChecked;
|
||||
bool m_radioButtonSetupWizardLowChecked;
|
||||
QString m_lineEditSetupWizardHighWebsiteMaskingText;
|
||||
bool m_checkBoxSetupWizardVpnModeChecked;
|
||||
|
||||
};
|
||||
#endif // WIZARD_LOGIC_H
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue