125 lines
3.4 KiB
QML
125 lines
3.4 KiB
QML
import QtQuick 2.12
|
|
import QtQuick.Controls 2.12
|
|
import PageEnum 1.0
|
|
import "./"
|
|
import "../Controls"
|
|
import "../Config"
|
|
|
|
PageBase {
|
|
id: root
|
|
page: PageEnum.NetworkSettings
|
|
logic: NetworkSettingsLogic
|
|
|
|
BackButton {
|
|
id: back
|
|
}
|
|
Caption {
|
|
id: caption
|
|
text: qsTr("DNS Servers")
|
|
}
|
|
|
|
CheckBoxType {
|
|
id: cb_amnezia_dns
|
|
anchors.top: caption.bottom
|
|
x: 30
|
|
width: parent.width - 60
|
|
text: qsTr("Use AmneziaDNS service (recommended)")
|
|
checked: NetworkSettingsLogic.checkBoxUseAmneziaDnsChecked
|
|
onCheckedChanged: {
|
|
NetworkSettingsLogic.checkBoxUseAmneziaDnsChecked = checked
|
|
NetworkSettingsLogic.onCheckBoxUseAmneziaDnsToggled(checked)
|
|
UiLogic.onUpdateAllPages()
|
|
}
|
|
}
|
|
|
|
LabelType {
|
|
id: lb_amnezia_dns
|
|
x: 30
|
|
anchors.top: cb_amnezia_dns.bottom
|
|
width: parent.width - 60
|
|
text: qsTr("Use AmneziaDNS container on your server, when it installed.\n
|
|
Your AmneziaDNS server available only when it installed and VPN connected, it has internal IP address 172.29.172.254\n
|
|
If AmneziaDNS service is not installed on the same server, or this option is unchecked, the following DNS servers will be used:")
|
|
}
|
|
|
|
LabelType {
|
|
id: l1
|
|
x: 30
|
|
anchors.top: lb_amnezia_dns.bottom
|
|
width: parent.width - 30
|
|
height: 21
|
|
text: qsTr("Primary DNS server")
|
|
}
|
|
TextFieldType {
|
|
id: dns1
|
|
x: 30
|
|
anchors.top: l1.bottom
|
|
width: parent.width - 90
|
|
height: 40
|
|
text: NetworkSettingsLogic.lineEditDns1Text
|
|
onEditingFinished: {
|
|
NetworkSettingsLogic.lineEditDns1Text = text
|
|
NetworkSettingsLogic.onLineEditDns1EditFinished(text)
|
|
UiLogic.onUpdateAllPages()
|
|
}
|
|
validator: RegExpValidator {
|
|
regExp: NetworkSettingsLogic.ipAddressRegex
|
|
}
|
|
}
|
|
SvgButtonType {
|
|
id: resetDNS1
|
|
anchors. left: dns1.right
|
|
anchors.leftMargin: 10
|
|
anchors.verticalCenter: dns1.verticalCenter
|
|
width: 24
|
|
height: 24
|
|
icon.source: "qrc:/images/svg/refresh_black_24dp.svg"
|
|
onClicked: {
|
|
NetworkSettingsLogic.onPushButtonResetDns1Clicked()
|
|
UiLogic.onUpdateAllPages()
|
|
}
|
|
}
|
|
|
|
LabelType {
|
|
id: l2
|
|
x: 30
|
|
anchors.top: dns1.bottom
|
|
anchors.topMargin: 20
|
|
width: parent.width - 60
|
|
height: 21
|
|
text: qsTr("Secondary DNS server")
|
|
}
|
|
TextFieldType {
|
|
id: dns2
|
|
x: 30
|
|
anchors.top: l2.bottom
|
|
width: parent.width - 90
|
|
height: 40
|
|
text: NetworkSettingsLogic.lineEditDns2Text
|
|
onEditingFinished: {
|
|
NetworkSettingsLogic.lineEditDns2Text = text
|
|
NetworkSettingsLogic.onLineEditDns2EditFinished(text)
|
|
UiLogic.onUpdateAllPages()
|
|
}
|
|
validator: RegExpValidator {
|
|
regExp: NetworkSettingsLogic.ipAddressRegex
|
|
}
|
|
}
|
|
SvgButtonType {
|
|
id: resetDNS2
|
|
anchors. left: dns2.right
|
|
anchors.leftMargin: 10
|
|
anchors.verticalCenter: dns2.verticalCenter
|
|
width: 24
|
|
height: 24
|
|
icon.source: "qrc:/images/svg/refresh_black_24dp.svg"
|
|
onClicked: {
|
|
NetworkSettingsLogic.onPushButtonResetDns2Clicked()
|
|
UiLogic.onUpdateAllPages()
|
|
}
|
|
}
|
|
|
|
Logo {
|
|
anchors.bottom: parent.bottom
|
|
}
|
|
}
|