104 lines
No EOL
3.5 KiB
QML
104 lines
No EOL
3.5 KiB
QML
import QtQuick
|
|
import QtQuick.Controls
|
|
import QtQuick.Layouts
|
|
|
|
import PageEnum 1.0
|
|
import Style 1.0
|
|
|
|
import "./"
|
|
import "../Controls2"
|
|
import "../Config"
|
|
|
|
PageType {
|
|
id: root
|
|
|
|
BackButtonType {
|
|
id: backButton
|
|
anchors.top: parent.top
|
|
anchors.left: parent.left
|
|
anchors.right: parent.right
|
|
anchors.topMargin: 20
|
|
}
|
|
|
|
FlickableType {
|
|
id: fl
|
|
anchors.top: backButton.bottom
|
|
anchors.bottom: parent.bottom
|
|
contentHeight: content.height
|
|
|
|
ColumnLayout {
|
|
id: content
|
|
anchors.top: parent.top
|
|
anchors.left: parent.left
|
|
anchors.right: parent.right
|
|
|
|
HeaderType {
|
|
Layout.fillWidth: true
|
|
Layout.leftMargin: 16
|
|
Layout.rightMargin: 16
|
|
|
|
headerText: qsTr("Kill Switch")
|
|
descriptionText: qsTr("Enable to ensure network traffic goes through a secure VPN tunnel, preventing accidental exposure of your IP and DNS queries if the connection drops")
|
|
|
|
showSwitcher: true
|
|
switcher {
|
|
checked: SettingsController.isKillSwitchEnabled
|
|
enabled: !ConnectionController.isConnected
|
|
}
|
|
switcherFunction: function(checked) {
|
|
if (!ConnectionController.isConnected) {
|
|
SettingsController.isKillSwitchEnabled = checked
|
|
} else {
|
|
PageController.showNotificationMessage(qsTr("Cannot change killSwitch settings during active connection"))
|
|
switcher.checked = SettingsController.isKillSwitchEnabled
|
|
}
|
|
}
|
|
}
|
|
|
|
VerticalRadioButton {
|
|
id: softKillSwitch
|
|
Layout.fillWidth: true
|
|
Layout.topMargin: 32
|
|
Layout.leftMargin: 16
|
|
Layout.rightMargin: 16
|
|
|
|
selectedTextColor: AmneziaStyle.color.paleGray
|
|
selectedTextDisabledColor: AmneziaStyle.color.mutedGray
|
|
radioButtonPressedSource: "qrc:/images/controls/radio-button.svg"
|
|
enabled: SettingsController.isKillSwitchEnabled && !ConnectionController.isConnected
|
|
checked: !SettingsController.strictKillSwitchEnabled
|
|
|
|
text: qsTr("Soft Kill Switch")
|
|
descriptionText: qsTr("Internet connection is blocked if VPN connection drops accidentally")
|
|
|
|
onClicked: {
|
|
SettingsController.strictKillSwitchEnabled = false
|
|
}
|
|
}
|
|
|
|
DividerType {}
|
|
|
|
VerticalRadioButton {
|
|
id: strictKillSwitch
|
|
Layout.fillWidth: true
|
|
Layout.leftMargin: 16
|
|
Layout.rightMargin: 16
|
|
|
|
selectedTextColor: AmneziaStyle.color.paleGray
|
|
selectedTextDisabledColor: AmneziaStyle.color.mutedGray
|
|
radioButtonPressedSource: "qrc:/images/controls/radio-button.svg"
|
|
enabled: SettingsController.isKillSwitchEnabled && !ConnectionController.isConnected
|
|
checked: SettingsController.strictKillSwitchEnabled
|
|
|
|
text: qsTr("Strict Kill Switch")
|
|
descriptionText: qsTr("Internet connection is blocked even if VPN was turned off manually or not started")
|
|
|
|
onClicked: {
|
|
SettingsController.strictKillSwitchEnabled = true
|
|
}
|
|
}
|
|
|
|
DividerType {}
|
|
}
|
|
}
|
|
} |