import QtQuick 2.6 import QtQuick.Layouts 1.0 import QtQuick.Controls 2.1 import QtQuick.Controls.Material 2.0 import org.electrum 1.0 Item { id: root property alias auto_connect: auto_server_cb.checked property alias address: address_tf.text implicitHeight: rootLayout.height ColumnLayout { id: rootLayout width: parent.width height: parent.height spacing: constants.paddingLarge 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 Layout.fillWidth: true } } ColumnLayout { Heading { text: qsTr('Servers') } Frame { background: PaneInsetBackground { baseColor: Material.dialogColor } clip: true verticalPadding: 0 horizontalPadding: 0 Layout.fillHeight: true Layout.fillWidth: true Layout.bottomMargin: constants.paddingLarge ListView { id: serversListView anchors.fill: parent model: Network.serverListModel delegate: ServerDelegate { onClicked: { address_tf.text = model.name } } section.property: 'chain' section.criteria: ViewSection.FullString section.delegate: RowLayout { width: ListView.view.width required property string section Label { text: section ? serversListView.model.chaintips > 1 ? qsTr('Connected @%1').arg(section) : qsTr('Connected') : qsTr('Other known servers') Layout.alignment: Qt.AlignLeft Layout.topMargin: constants.paddingXSmall Layout.leftMargin: constants.paddingSmall font.pixelSize: constants.fontSizeMedium color: Material.accentColor } } } } } } Component.onCompleted: { root.auto_connect = Config.autoConnectDefined ? Config.autoConnect : false root.address = Network.server // TODO: initial setup should not connect already, is Network.server defined? } }