4 changed files with 137 additions and 109 deletions
@ -0,0 +1,85 @@ |
|||
import QtQuick 2.6 |
|||
import QtQuick.Layouts 1.0 |
|||
import QtQuick.Controls 2.1 |
|||
|
|||
Item { |
|||
property alias proxy_enabled: proxy_enabled_cb.checked |
|||
property alias proxy_type: proxytype.currentIndex |
|||
property alias proxy_address: address.text |
|||
property alias proxy_port: port.text |
|||
property alias username: username_tf.text |
|||
property alias password: password_tf.text |
|||
|
|||
property var proxy_types: ['TOR', 'SOCKS5', 'SOCKS4'] |
|||
|
|||
ColumnLayout { |
|||
width: parent.width |
|||
|
|||
Label { |
|||
text: qsTr('Proxy settings') |
|||
} |
|||
|
|||
CheckBox { |
|||
id: proxy_enabled_cb |
|||
text: qsTr('Enable Proxy') |
|||
} |
|||
|
|||
ComboBox { |
|||
id: proxytype |
|||
enabled: proxy_enabled_cb.checked |
|||
model: proxy_types |
|||
onCurrentIndexChanged: { |
|||
if (currentIndex == 0) { |
|||
address.text = "127.0.0.1" |
|||
port.text = "9050" |
|||
} |
|||
} |
|||
} |
|||
|
|||
GridLayout { |
|||
columns: 4 |
|||
Layout.fillWidth: true |
|||
|
|||
Label { |
|||
text: qsTr("Address") |
|||
enabled: address.enabled |
|||
} |
|||
|
|||
TextField { |
|||
id: address |
|||
enabled: proxytype.enabled && proxytype.currentIndex > 0 |
|||
} |
|||
|
|||
Label { |
|||
text: qsTr("Port") |
|||
enabled: port.enabled |
|||
} |
|||
|
|||
TextField { |
|||
id: port |
|||
enabled: proxytype.enabled && proxytype.currentIndex > 0 |
|||
} |
|||
|
|||
Label { |
|||
text: qsTr("Username") |
|||
enabled: username_tf.enabled |
|||
} |
|||
|
|||
TextField { |
|||
id: username_tf |
|||
enabled: proxytype.enabled && proxytype.currentIndex > 0 |
|||
} |
|||
|
|||
Label { |
|||
text: qsTr("Password") |
|||
enabled: password_tf.enabled |
|||
} |
|||
|
|||
TextField { |
|||
id: password_tf |
|||
enabled: proxytype.enabled && proxytype.currentIndex > 0 |
|||
echoMode: TextInput.Password |
|||
} |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,37 @@ |
|||
import QtQuick 2.6 |
|||
import QtQuick.Layouts 1.0 |
|||
import QtQuick.Controls 2.1 |
|||
|
|||
Item { |
|||
property alias auto_server: auto_server_cb.checked |
|||
property alias address: address_tf.text |
|||
|
|||
ColumnLayout { |
|||
width: parent.width |
|||
|
|||
Label { |
|||
text: qsTr('Server settings') |
|||
} |
|||
|
|||
CheckBox { |
|||
id: auto_server_cb |
|||
text: qsTr('Select server automatically') |
|||
checked: true |
|||
} |
|||
|
|||
GridLayout { |
|||
columns: 2 |
|||
Layout.fillWidth: true |
|||
|
|||
Label { |
|||
text: qsTr("Server") |
|||
enabled: address_tf.enabled |
|||
} |
|||
|
|||
TextField { |
|||
id: address_tf |
|||
enabled: !auto_server_cb.checked |
|||
} |
|||
} |
|||
} |
|||
} |
@ -1,94 +1,26 @@ |
|||
import QtQuick.Layouts 1.0 |
|||
import QtQuick.Controls 2.1 |
|||
import "../controls" |
|||
|
|||
WizardComponent { |
|||
valid: true |
|||
|
|||
onAccept: { |
|||
var p = {} |
|||
p['enabled'] = proxy_enabled.checked |
|||
if (proxy_enabled.checked) { |
|||
var type = proxytype.currentValue.toLowerCase() |
|||
p['enabled'] = pc.proxy_enabled |
|||
if (pc.proxy_enabled) { |
|||
var type = pc.proxy_types[pc.proxy_type].toLowerCase() |
|||
if (type == 'tor') |
|||
type = 'socks5' |
|||
p['mode'] = type |
|||
p['host'] = address.text |
|||
p['port'] = port.text |
|||
p['user'] = username.text |
|||
p['password'] = password.text |
|||
p['host'] = pc.proxy_address |
|||
p['port'] = pc.proxy_port |
|||
p['user'] = pc.username |
|||
p['password'] = pc.password |
|||
} |
|||
wizard_data['proxy'] = p |
|||
} |
|||
|
|||
ColumnLayout { |
|||
ProxyConfig { |
|||
id: pc |
|||
width: parent.width |
|||
|
|||
Label { |
|||
text: qsTr('Proxy settings') |
|||
} |
|||
|
|||
CheckBox { |
|||
id: proxy_enabled |
|||
text: qsTr('Enable Proxy') |
|||
} |
|||
|
|||
ComboBox { |
|||
id: proxytype |
|||
enabled: proxy_enabled.checked |
|||
model: ['TOR', 'SOCKS5', 'SOCKS4'] |
|||
onCurrentIndexChanged: { |
|||
if (currentIndex == 0) { |
|||
address.text = "127.0.0.1" |
|||
port.text = "9050" |
|||
} |
|||
} |
|||
} |
|||
|
|||
GridLayout { |
|||
columns: 4 |
|||
Layout.fillWidth: true |
|||
|
|||
Label { |
|||
text: qsTr("Address") |
|||
enabled: address.enabled |
|||
} |
|||
|
|||
TextField { |
|||
id: address |
|||
enabled: proxytype.enabled && proxytype.currentIndex > 0 |
|||
} |
|||
|
|||
Label { |
|||
text: qsTr("Port") |
|||
enabled: port.enabled |
|||
} |
|||
|
|||
TextField { |
|||
id: port |
|||
enabled: proxytype.enabled && proxytype.currentIndex > 0 |
|||
} |
|||
|
|||
Label { |
|||
text: qsTr("Username") |
|||
enabled: username.enabled |
|||
} |
|||
|
|||
TextField { |
|||
id: username |
|||
enabled: proxytype.enabled && proxytype.currentIndex > 0 |
|||
} |
|||
|
|||
Label { |
|||
text: qsTr("Password") |
|||
enabled: password.enabled |
|||
} |
|||
|
|||
TextField { |
|||
id: password |
|||
enabled: proxytype.enabled && proxytype.currentIndex > 0 |
|||
echoMode: TextInput.Password |
|||
} |
|||
} |
|||
} |
|||
|
|||
} |
|||
|
@ -1,42 +1,16 @@ |
|||
import QtQuick.Layouts 1.0 |
|||
import QtQuick.Controls 2.1 |
|||
import "../controls" |
|||
|
|||
WizardComponent { |
|||
valid: true |
|||
last: true |
|||
|
|||
onAccept: { |
|||
wizard_data['oneserver'] = !auto_server.checked |
|||
wizard_data['server'] = address.text |
|||
wizard_data['oneserver'] = !sc.auto_server |
|||
wizard_data['server'] = sc.address |
|||
} |
|||
|
|||
ColumnLayout { |
|||
ServerConfig { |
|||
id: sc |
|||
width: parent.width |
|||
|
|||
Label { |
|||
text: qsTr('Server settings') |
|||
} |
|||
|
|||
CheckBox { |
|||
id: auto_server |
|||
text: qsTr('Select server automatically') |
|||
checked: true |
|||
} |
|||
|
|||
GridLayout { |
|||
columns: 2 |
|||
Layout.fillWidth: true |
|||
|
|||
Label { |
|||
text: qsTr("Server") |
|||
enabled: address.enabled |
|||
} |
|||
|
|||
TextField { |
|||
id: address |
|||
enabled: !auto_server.checked |
|||
} |
|||
} |
|||
} |
|||
|
|||
} |
|||
|
Loading…
Reference in new issue