mirror of
https://github.com/amnezia-vpn/amnezia-client.git
synced 2026-05-08 14:33:23 +00:00
QML gui refact started
This commit is contained in:
101
client/ui/pages_logic/NetworkSettingsLogic.cpp
Normal file
101
client/ui/pages_logic/NetworkSettingsLogic.cpp
Normal file
@@ -0,0 +1,101 @@
|
||||
//#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 "NetworkSettingsLogic.h"
|
||||
#include "utils.h"
|
||||
|
||||
|
||||
using namespace amnezia;
|
||||
using namespace PageEnumNS;
|
||||
|
||||
|
||||
NetworkSettingsLogic::NetworkSettingsLogic(UiLogic *uiLogic, QObject *parent):
|
||||
QObject(parent),
|
||||
m_uiLogic(uiLogic),
|
||||
m_ipAddressValidatorRegex{Utils::ipAddressRegExp().pattern()}
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void NetworkSettingsLogic::updateNetworkSettingsPage()
|
||||
{
|
||||
setLineEditNetworkSettingsDns1Text(m_settings.primaryDns());
|
||||
setLineEditNetworkSettingsDns2Text(m_settings.secondaryDns());
|
||||
}
|
||||
|
||||
QString NetworkSettingsLogic::getLineEditNetworkSettingsDns1Text() const
|
||||
{
|
||||
return m_lineEditNetworkSettingsDns1Text;
|
||||
}
|
||||
|
||||
void NetworkSettingsLogic::setLineEditNetworkSettingsDns1Text(const QString &lineEditNetworkSettingsDns1Text)
|
||||
{
|
||||
if (m_lineEditNetworkSettingsDns1Text != lineEditNetworkSettingsDns1Text) {
|
||||
m_lineEditNetworkSettingsDns1Text = lineEditNetworkSettingsDns1Text;
|
||||
emit lineEditNetworkSettingsDns1TextChanged();
|
||||
}
|
||||
}
|
||||
|
||||
QString NetworkSettingsLogic::getLineEditNetworkSettingsDns2Text() const
|
||||
{
|
||||
return m_lineEditNetworkSettingsDns2Text;
|
||||
}
|
||||
|
||||
void NetworkSettingsLogic::setLineEditNetworkSettingsDns2Text(const QString &lineEditNetworkSettingsDns2Text)
|
||||
{
|
||||
if (m_lineEditNetworkSettingsDns2Text != lineEditNetworkSettingsDns2Text) {
|
||||
m_lineEditNetworkSettingsDns2Text = lineEditNetworkSettingsDns2Text;
|
||||
emit lineEditNetworkSettingsDns2TextChanged();
|
||||
}
|
||||
}
|
||||
|
||||
void NetworkSettingsLogic::onLineEditNetworkSettingsDns1EditFinished(const QString &text)
|
||||
{
|
||||
QRegExp reg{getIpAddressValidatorRegex()};
|
||||
if (reg.exactMatch(text)) {
|
||||
m_settings.setPrimaryDns(text);
|
||||
}
|
||||
}
|
||||
|
||||
void NetworkSettingsLogic::onLineEditNetworkSettingsDns2EditFinished(const QString &text)
|
||||
{
|
||||
QRegExp reg{getIpAddressValidatorRegex()};
|
||||
if (reg.exactMatch(text)) {
|
||||
m_settings.setSecondaryDns(text);
|
||||
}
|
||||
}
|
||||
|
||||
void NetworkSettingsLogic::onPushButtonNetworkSettingsResetdns1Clicked()
|
||||
{
|
||||
m_settings.setPrimaryDns(m_settings.cloudFlareNs1);
|
||||
updateNetworkSettingsPage();
|
||||
}
|
||||
|
||||
void NetworkSettingsLogic::onPushButtonNetworkSettingsResetdns2Clicked()
|
||||
{
|
||||
m_settings.setSecondaryDns(m_settings.cloudFlareNs2);
|
||||
updateNetworkSettingsPage();
|
||||
}
|
||||
|
||||
QString NetworkSettingsLogic::getIpAddressValidatorRegex() const
|
||||
{
|
||||
return m_ipAddressValidatorRegex;
|
||||
}
|
||||
Reference in New Issue
Block a user