Files
amnezia-client/client/ui/pages_logic/NetworkSettingsLogic.cpp
Pokamest Nikak 539bf2ee24 VpnLogic
2021-09-07 21:01:56 +03:00

77 lines
2.2 KiB
C++

#include "NetworkSettingsLogic.h"
#include "defines.h"
#include "utils.h"
NetworkSettingsLogic::NetworkSettingsLogic(UiLogic *logic, QObject *parent):
PageLogicBase(logic, parent),
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;
}