Browse Source

qml: add server and proxy config dialogs, forgot new files

patch-4
Sander van Grieken 2 years ago
parent
commit
f398404e04
  1. 69
      electrum/gui/qml/components/ProxyConfigDialog.qml
  2. 53
      electrum/gui/qml/components/ServerConfigDialog.qml

69
electrum/gui/qml/components/ProxyConfigDialog.qml

@ -0,0 +1,69 @@
import QtQuick 2.6
import QtQuick.Layouts 1.0
import QtQuick.Controls 2.14
import QtQuick.Controls.Material 2.0
import org.electrum 1.0
import "controls"
ElDialog {
id: rootItem
title: qsTr('Proxy settings')
parent: Overlay.overlay
modal: true
standardButtons: Dialog.Close
width: parent.width
height: parent.height
Overlay.modal: Rectangle {
color: "#aa000000"
}
ColumnLayout {
id: layout
width: parent.width
ProxyConfig {
id: proxyconfig
}
RowLayout {
Layout.alignment: Qt.AlignHCenter
Button {
text: qsTr('Ok')
onClicked: {
var proxy = proxyconfig.toProxyDict()
if (proxy && proxy['enabled'] == true) {
Network.proxy = proxy
} else {
Network.proxy = {'enabled': false}
}
rootItem.close()
}
}
}
}
Component.onCompleted: {
var p = Network.proxy
console.log(JSON.stringify(p))
if ('mode' in p) {
proxyconfig.proxy_enabled = true
proxyconfig.proxy_address = p['host']
proxyconfig.proxy_port = p['port']
proxyconfig.username = p['user']
proxyconfig.password = p['password']
if (p['mode'] == 'socks5' && p['port'] == 9050)
p['mode'] = 'tor'
proxyconfig.proxy_type = proxyconfig.proxy_types.indexOf(p['mode'].toUpperCase())
console.log('proxy type: ' + proxyconfig.proxy_type)
} else {
proxyconfig.proxy_enabled = false
}
}
}

53
electrum/gui/qml/components/ServerConfigDialog.qml

@ -0,0 +1,53 @@
import QtQuick 2.6
import QtQuick.Layouts 1.0
import QtQuick.Controls 2.14
import QtQuick.Controls.Material 2.0
import org.electrum 1.0
import "controls"
ElDialog {
id: rootItem
title: qsTr('Server settings')
parent: Overlay.overlay
modal: true
standardButtons: Dialog.Close
width: parent.width
height: parent.height
Overlay.modal: Rectangle {
color: "#aa000000"
}
ColumnLayout {
id: layout
width: parent.width
ServerConfig {
id: serverconfig
}
RowLayout {
Layout.alignment: Qt.AlignHCenter
Button {
text: qsTr('Ok')
onClicked: {
Config.autoConnect = serverconfig.auto_server
if (!serverconfig.auto_server) {
Network.server = serverconfig.address
}
rootItem.close()
}
}
}
}
Component.onCompleted: {
serverconfig.auto_server = Config.autoConnect
serverconfig.address = Network.server
}
}
Loading…
Cancel
Save