Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 38 additions & 40 deletions src/qml/pages/node/NodeSettings.qml
Original file line number Diff line number Diff line change
Expand Up @@ -9,41 +9,35 @@ import "../../controls"
import "../../components"
import "../settings"

Item {
PageStack {
signal doneClicked

property alias showDoneButton: doneButton.visible

id: root

PageStack {
id: nodeSettingsView
anchors.fill: parent

initialItem: Page {
id: node_settings
background: null
implicitWidth: 450
leftPadding: 20
rightPadding: 20
topPadding: 30

header: NavigationBar2 {
centerItem: Header {
headerBold: true
headerSize: 18
header: "Settings"
}
rightItem: NavButton {
id: doneButton
text: qsTr("Done")
onClicked: root.doneClicked()
}
initialItem: Page {
background: null
header: NavigationBar2 {
centerItem: Header {
headerBold: true
headerSize: 18
header: "Settings"
}
rightItem: NavButton {
id: doneButton
text: qsTr("Done")
onClicked: root.doneClicked()
}
}
contentItem: RowLayout {
ColumnLayout {
Layout.alignment: Qt.AlignHCenter | Qt.AlignTop
Layout.fillHeight: false
Layout.fillWidth: true
Layout.margins: 20
Layout.maximumWidth: 450
spacing: 4
width: Math.min(parent.width, 450)
anchors.horizontalCenter: parent.horizontalCenter
Setting {
id: gotoAbout
Layout.fillWidth: true
Expand All @@ -52,7 +46,7 @@ Item {
color: gotoAbout.stateColor
}
onClicked: {
nodeSettingsView.push(about_page)
root.push(about_page)
}
}
Separator { Layout.fillWidth: true }
Expand All @@ -64,7 +58,7 @@ Item {
color: gotoDisplay.stateColor
}
onClicked: {
nodeSettingsView.push(display_page)
root.push(display_page)
}
}
Separator { Layout.fillWidth: true }
Expand All @@ -76,7 +70,7 @@ Item {
color: gotoStorage.stateColor
}
onClicked: {
nodeSettingsView.push(storage_page)
root.push(storage_page)
}
}
Separator { Layout.fillWidth: true }
Expand All @@ -88,7 +82,7 @@ Item {
color: gotoConnection.stateColor
}
onClicked: {
nodeSettingsView.push(connection_page)
root.push(connection_page)
}
}
Separator { Layout.fillWidth: true }
Expand All @@ -101,7 +95,7 @@ Item {
}
onClicked: {
peerTableModel.startAutoRefresh();
nodeSettingsView.push(peers_page)
root.push(peers_page)
}
}
Separator { Layout.fillWidth: true }
Expand All @@ -113,63 +107,67 @@ Item {
color: gotoNetworkTraffic.stateColor
}
onClicked: {
nodeSettingsView.push(networktraffic_page)
root.push(networktraffic_page)
}
}
Item {
Layout.fillHeight: true
}
}
}
}

Component {
id: about_page
SettingsAbout {
onBack: nodeSettingsView.pop()
onBack: root.pop()
}
}
Component {
id: display_page
SettingsDisplay {
onBack: {
nodeSettingsView.pop()
root.pop()
}
}
}
Component {
id: storage_page
SettingsStorage {
onBack: nodeSettingsView.pop()
onBack: root.pop()
}
}
Component {
id: connection_page
SettingsConnection {
onBack: nodeSettingsView.pop()
onBack: root.pop()
}
}
Component {
id: peers_page
Peers {
onBack: {
nodeSettingsView.pop()
root.pop()
peerTableModel.stopAutoRefresh();
}
onPeerSelected: (peerDetails) => {
nodeSettingsView.push(peer_details, {"details": peerDetails})
root.push(peer_details, {"details": peerDetails})
}
}
}
Component {
id: peer_details
PeerDetails {
onBack: {
nodeSettingsView.pop()
root.pop()
}
}
}
Component {
id: networktraffic_page
NetworkTraffic {
showHeader: false
onBack: nodeSettingsView.pop()
onBack: root.pop()
}
}
}
120 changes: 53 additions & 67 deletions src/qml/pages/settings/SettingsAbout.qml
Original file line number Diff line number Diff line change
Expand Up @@ -8,77 +8,63 @@ import QtQuick.Layouts 1.15
import "../../controls"
import "../../components"

Page {
id: root
signal back
InformationPage {
property bool onboarding: false
background: null
PageStack {
id: stack
anchors.fill: parent
initialItem: aboutPage
Component {
id: aboutPage
InformationPage {
id: about_settings
bannerActive: false
bannerMargin: 0
bold: true
showHeader: root.onboarding
headerText: qsTr("About")
headerMargin: 0
description: qsTr("Bitcoin Core is an open source project.\nIf you find it useful, please contribute.\n\n This is experimental software.")
descriptionMargin: 20
detailActive: true
detailItem: AboutOptions {
onNext: stack.push(developerSettings)
}

states: [
State {
when: root.onboarding
PropertyChanges {
target: about_settings
navLeftDetail: backButton
navMiddleDetail: null
}
},
State {
when: !root.onboarding
PropertyChanges {
target: about_settings
navLeftDetail: backButton
navMiddleDetail: header
}
}
]
id: root
bannerActive: false
bannerMargin: 0
bold: true
showHeader: root.onboarding
headerText: qsTr("About")
headerMargin: 0
description: qsTr("Bitcoin Core is an open source project.\nIf you find it useful, please contribute.\n\n This is experimental software.")
descriptionMargin: 20
detailActive: true
detailItem: AboutOptions {
onNext: root.StackView.view.push(developerSettings)
}

Component {
id: backButton
NavButton {
iconSource: "image://images/caret-left"
text: qsTr("Back")
onClicked: root.back()
}
}
Component {
id: header
Header {
headerBold: true
headerSize: 18
header: qsTr("About")
}
}
states: [
State {
when: root.onboarding
PropertyChanges {
target: root
navLeftDetail: backButton
navMiddleDetail: null
}
}
Component {
id: developerSettings
SettingsDeveloper {
onboarding: root.onboarding
onBack: stack.pop()
},
State {
when: !root.onboarding
PropertyChanges {
target: root
navLeftDetail: backButton
navMiddleDetail: header
}
}
}
}
]

Component {
id: backButton
NavButton {
iconSource: "image://images/caret-left"
text: qsTr("Back")
onClicked: root.back()
}
}
Component {
id: header
Header {
headerBold: true
headerSize: 18
header: qsTr("About")
}
}

Component {
id: developerSettings
SettingsDeveloper {
onboarding: root.onboarding
onBack: root.StackView.view.pop()
}
}
}
Loading
Loading