diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include
index 065511abc4..9a320d4840 100644
--- a/src/Makefile.qt.include
+++ b/src/Makefile.qt.include
@@ -345,18 +345,15 @@ QML_RES_QML = \
qml/pages/initerrormessage.qml \
qml/pages/main.qml \
qml/pages/onboarding/onboarding01.qml \
- qml/pages/onboarding/onboarding01a.qml \
- qml/pages/onboarding/onboarding01b.qml \
- qml/pages/onboarding/onboarding01c.qml \
qml/pages/onboarding/onboarding02.qml \
qml/pages/onboarding/onboarding03.qml \
qml/pages/onboarding/onboarding04.qml \
qml/pages/onboarding/onboarding05.qml \
- qml/pages/onboarding/onboarding05a.qml \
- qml/pages/onboarding/onboarding05b.qml \
qml/pages/onboarding/onboarding06.qml \
- qml/pages/onboarding/onboarding06a.qml \
- qml/pages/onboarding/onboarding06b.qml
+ qml/pages/settings/SettingsAbout.qml \
+ qml/pages/settings/SettingsConnection.qml \
+ qml/pages/settings/SettingsDeveloper.qml \
+ qml/pages/settings/SettingsStorage.qml
BITCOIN_QT_CPP = $(BITCOIN_QT_BASE_CPP)
if TARGET_WINDOWS
diff --git a/src/qml/bitcoin_qml.qrc b/src/qml/bitcoin_qml.qrc
index 64f83b6826..18e4b39ad0 100644
--- a/src/qml/bitcoin_qml.qrc
+++ b/src/qml/bitcoin_qml.qrc
@@ -28,18 +28,15 @@
pages/initerrormessage.qml
pages/main.qml
pages/onboarding/onboarding01.qml
- pages/onboarding/onboarding01a.qml
- pages/onboarding/onboarding01b.qml
- pages/onboarding/onboarding01c.qml
pages/onboarding/onboarding02.qml
pages/onboarding/onboarding03.qml
pages/onboarding/onboarding04.qml
pages/onboarding/onboarding05.qml
- pages/onboarding/onboarding05a.qml
- pages/onboarding/onboarding05b.qml
pages/onboarding/onboarding06.qml
- pages/onboarding/onboarding06a.qml
- pages/onboarding/onboarding06b.qml
+ pages/settings/SettingsAbout.qml
+ pages/settings/SettingsConnection.qml
+ pages/settings/SettingsDeveloper.qml
+ pages/settings/SettingsStorage.qml
res/icons/arrow-down.png
diff --git a/src/qml/pages/onboarding/onboarding01.qml b/src/qml/pages/onboarding/onboarding01.qml
index d44a41bfdb..70b425f28e 100644
--- a/src/qml/pages/onboarding/onboarding01.qml
+++ b/src/qml/pages/onboarding/onboarding01.qml
@@ -7,6 +7,7 @@ import QtQuick.Controls 2.15
import QtQuick.Layouts 1.15
import "../../controls"
import "../../components"
+import "../settings"
Page {
background: null
@@ -17,14 +18,53 @@ Page {
anchors.fill: parent
interactive: false
orientation: Qt.Horizontal
- Loader {
- source:"onboarding01a.qml"
+ InformationPage {
+ Layout.fillWidth: true
+ navRightDetail: NavButton {
+ iconSource: "image://images/info"
+ iconHeight: 24
+ onClicked: {
+ introductions.incrementCurrentIndex()
+ swipeView.inSubPage = true
+ }
+ }
+ bannerItem: Image {
+ Layout.fillWidth: true
+ Layout.alignment: Qt.AlignCenter
+ source: "image://images/app"
+ // Bitcoin icon has ~11% padding
+ sourceSize.width: 112
+ sourceSize.height: 112
+ }
+ bannerMargin: 0
+ bold: true
+ headerText: qsTr("Bitcoin Core App")
+ headerSize: 36
+ description: qsTr("Be part of the Bitcoin network.")
+ descriptionMargin: 10
+ descriptionSize: 24
+ subtext: qsTr("100% open-source & open-design")
+ buttonText: qsTr("Start")
}
- Loader {
- source:"onboarding01b.qml"
+ SettingsAbout {
+ navLeftDetail: NavButton {
+ iconSource: "image://images/caret-left"
+ text: qsTr("Back")
+ onClicked: {
+ introductions.decrementCurrentIndex()
+ swipeView.inSubPage = false
+ }
+ }
}
- Loader {
- source:"onboarding01c.qml"
+ SettingsDeveloper {
+ navLeftDetail: NavButton {
+ iconSource: "image://images/caret-left"
+ text: qsTr("Back")
+ onClicked: {
+ introductions.decrementCurrentIndex()
+ swipeView.inSubPage = true
+ }
+ }
}
}
}
diff --git a/src/qml/pages/onboarding/onboarding01a.qml b/src/qml/pages/onboarding/onboarding01a.qml
deleted file mode 100644
index 9ad6389d24..0000000000
--- a/src/qml/pages/onboarding/onboarding01a.qml
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright (c) 2022 The Bitcoin Core developers
-// Distributed under the MIT software license, see the accompanying
-// file COPYING or http://www.opensource.org/licenses/mit-license.php.
-// Copyright (c) 2022 The Bitcoin Core developers
-// Distributed under the MIT software license, see the accompanying
-// file COPYING or http://www.opensource.org/licenses/mit-license.php.
-
-import QtQuick 2.15
-import QtQuick.Controls 2.15
-import QtQuick.Layouts 1.15
-import "../../controls"
-
-InformationPage {
- Layout.fillWidth: true
- navRightDetail: NavButton {
- iconSource: "image://images/info"
- iconHeight: 24
- onClicked: {
- introductions.incrementCurrentIndex()
- swipeView.inSubPage = true
- }
- }
- bannerItem: Image {
- Layout.fillWidth: true
- Layout.alignment: Qt.AlignCenter
- source: "image://images/app"
- // Bitcoin icon has ~11% padding
- sourceSize.width: 112
- sourceSize.height: 112
- }
- bannerMargin: 0
- bold: true
- headerText: qsTr("Bitcoin Core App")
- headerSize: 36
- description: qsTr("Be part of the Bitcoin network.")
- descriptionMargin: 10
- descriptionSize: 24
- subtext: qsTr("100% open-source & open-design")
- buttonText: qsTr("Start")
-}
diff --git a/src/qml/pages/onboarding/onboarding05.qml b/src/qml/pages/onboarding/onboarding05.qml
index 85b918edc2..1ba997e448 100644
--- a/src/qml/pages/onboarding/onboarding05.qml
+++ b/src/qml/pages/onboarding/onboarding05.qml
@@ -7,6 +7,7 @@ import QtQuick.Controls 2.15
import QtQuick.Layouts 1.15
import "../../controls"
import "../../components"
+import "../settings"
Page {
background: null
@@ -17,11 +18,48 @@ Page {
anchors.fill: parent
interactive: false
orientation: Qt.Vertical
- Loader {
- source:"onboarding05a.qml"
+ InformationPage {
+ Layout.fillWidth: true
+ navLeftDetail: NavButton {
+ iconSource: "image://images/caret-left"
+ text: qsTr("Back")
+ onClicked: swipeView.decrementCurrentIndex()
+ }
+ bannerActive: false
+ bold: true
+ headerText: qsTr("Storage")
+ headerMargin: 0
+ description: qsTr("Data retrieved from the Bitcoin network is stored on your device.\nYou have 500GB of storage available.")
+ descriptionMargin: 10
+ detailActive: true
+ detailItem: ColumnLayout {
+ spacing: 0
+ StorageOptions {
+ Layout.maximumWidth: 450
+ Layout.alignment: Qt.AlignCenter
+ }
+ TextButton {
+ Layout.topMargin: 30
+ Layout.fillWidth: true
+ text: qsTr("Detailed settings")
+ textSize: 18
+ textColor: "#F7931A"
+ onClicked: {
+ storages.incrementCurrentIndex()
+ swipeView.inSubPage = true
+ }
+ }
+ }
+ buttonText: qsTr("Next")
}
- Loader {
- source:"onboarding05b.qml"
+ SettingsStorage {
+ navRightDetail: NavButton {
+ text: qsTr("Done")
+ onClicked: {
+ storages.decrementCurrentIndex()
+ swipeView.inSubPage = false
+ }
+ }
}
}
}
diff --git a/src/qml/pages/onboarding/onboarding05a.qml b/src/qml/pages/onboarding/onboarding05a.qml
deleted file mode 100644
index 8cbc31cea1..0000000000
--- a/src/qml/pages/onboarding/onboarding05a.qml
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright (c) 2022 The Bitcoin Core developers
-// Distributed under the MIT software license, see the accompanying
-// file COPYING or http://www.opensource.org/licenses/mit-license.php.
-
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Layouts 1.11
-import org.bitcoincore.qt 1.0
-import "../../controls"
-import "../../components"
-
-InformationPage {
- Layout.fillWidth: true
- navLeftDetail: NavButton {
- iconSource: "image://images/caret-left"
- text: qsTr("Back")
- onClicked: swipeView.decrementCurrentIndex()
- }
- bannerActive: false
- bold: true
- headerText: qsTr("Storage")
- headerMargin: 0
- description: qsTr("Data retrieved from the Bitcoin network is stored on your device.\nYou have 500GB of storage available.")
- descriptionMargin: 10
- detailActive: true
- detailItem: ColumnLayout {
- spacing: 0
- StorageOptions {
- Layout.maximumWidth: 450
- Layout.alignment: Qt.AlignCenter
- }
- TextButton {
- Layout.topMargin: 30
- Layout.fillWidth: true
- text: qsTr("Detailed settings")
- textSize: 18
- textColor: "#F7931A"
- onClicked: {
- storages.incrementCurrentIndex()
- swipeView.inSubPage = true
- }
- }
- }
- buttonText: qsTr("Next")
-}
diff --git a/src/qml/pages/onboarding/onboarding06.qml b/src/qml/pages/onboarding/onboarding06.qml
index e0fae57bdf..c4397530a2 100644
--- a/src/qml/pages/onboarding/onboarding06.qml
+++ b/src/qml/pages/onboarding/onboarding06.qml
@@ -7,6 +7,7 @@ import QtQuick.Controls 2.15
import QtQuick.Layouts 1.15
import "../../controls"
import "../../components"
+import "../settings"
Page {
background: null
@@ -17,11 +18,46 @@ Page {
anchors.fill: parent
interactive: false
orientation: Qt.Vertical
- Loader {
- source:"onboarding06a.qml"
+ InformationPage {
+ Layout.fillWidth: true
+ navLeftDetail: NavButton {
+ iconSource: "image://images/caret-left"
+ text: qsTr("Back")
+ onClicked: swipeView.decrementCurrentIndex()
+ }
+ bannerItem: Image {
+ Layout.topMargin: 20
+ Layout.alignment: Qt.AlignCenter
+ source: Theme.image.storage
+ sourceSize.width: 200
+ sourceSize.height: 200
+ }
+ bold: true
+ headerText: qsTr("Starting initial download")
+ headerMargin: 30
+ description: qsTr("The application will connect to the Bitcoin network and start downloading and verifying transactions.\n\nThis may take several hours, or even days, based on your connection.")
+ descriptionMargin: 20
+ detailActive: true
+ detailItem: TextButton {
+ text: qsTr("Connection settings")
+ textSize: 18
+ textColor: Theme.color.orange
+ onClicked: {
+ connections.incrementCurrentIndex()
+ swipeView.inSubPage = true
+ }
+ }
+ lastPage: true
+ buttonText: qsTr("Next")
}
- Loader {
- source:"onboarding06b.qml"
+ SettingsConnection {
+ navRightDetail: NavButton {
+ text: qsTr("Done")
+ onClicked: {
+ connections.decrementCurrentIndex()
+ swipeView.inSubPage = false
+ }
+ }
}
}
}
diff --git a/src/qml/pages/onboarding/onboarding06a.qml b/src/qml/pages/onboarding/onboarding06a.qml
deleted file mode 100644
index ed369aefbd..0000000000
--- a/src/qml/pages/onboarding/onboarding06a.qml
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright (c) 2022 The Bitcoin Core developers
-// Distributed under the MIT software license, see the accompanying
-// file COPYING or http://www.opensource.org/licenses/mit-license.php.
-
-import QtQuick 2.15
-import QtQuick.Controls 2.15
-import QtQuick.Layouts 1.15
-import org.bitcoincore.qt 1.0
-import "../../controls"
-import "../../components"
-
-InformationPage {
- Layout.fillWidth: true
- navLeftDetail: NavButton {
- iconSource: "image://images/caret-left"
- text: qsTr("Back")
- onClicked: swipeView.decrementCurrentIndex()
- }
- bannerItem: Image {
- Layout.topMargin: 20
- Layout.alignment: Qt.AlignCenter
- source: Theme.image.storage
- sourceSize.width: 200
- sourceSize.height: 200
- }
- bold: true
- headerText: qsTr("Starting initial download")
- headerMargin: 30
- description: qsTr("The application will connect to the Bitcoin network and start downloading and verifying transactions.\n\nThis may take several hours, or even days, based on your connection.")
- descriptionMargin: 20
- detailActive: true
- detailItem: TextButton {
- text: qsTr("Connection settings")
- textSize: 18
- textColor: Theme.color.orange
- onClicked: {
- connections.incrementCurrentIndex()
- swipeView.inSubPage = true
- }
- }
- lastPage: true
- buttonText: qsTr("Next")
-}
diff --git a/src/qml/pages/onboarding/onboarding01b.qml b/src/qml/pages/settings/SettingsAbout.qml
similarity index 77%
rename from src/qml/pages/onboarding/onboarding01b.qml
rename to src/qml/pages/settings/SettingsAbout.qml
index e39778505a..bdda843c3c 100644
--- a/src/qml/pages/onboarding/onboarding01b.qml
+++ b/src/qml/pages/settings/SettingsAbout.qml
@@ -10,14 +10,6 @@ import "../../components"
InformationPage {
Layout.fillWidth: true
- navLeftDetail: NavButton {
- iconSource: "image://images/caret-left"
- text: qsTr("Back")
- onClicked: {
- introductions.decrementCurrentIndex()
- swipeView.inSubPage = false
- }
- }
bannerActive: false
bold: true
headerText: qsTr("About")
diff --git a/src/qml/pages/onboarding/onboarding06b.qml b/src/qml/pages/settings/SettingsConnection.qml
similarity index 79%
rename from src/qml/pages/onboarding/onboarding06b.qml
rename to src/qml/pages/settings/SettingsConnection.qml
index 8283128e20..1230baabd6 100644
--- a/src/qml/pages/onboarding/onboarding06b.qml
+++ b/src/qml/pages/settings/SettingsConnection.qml
@@ -12,13 +12,6 @@ InformationPage {
background: null
Layout.fillWidth: true
clip: true
- navRightDetail: NavButton {
- text: qsTr("Done")
- onClicked: {
- connections.decrementCurrentIndex()
- swipeView.inSubPage = false
- }
- }
bannerActive: false
bold: true
headerText: qsTr("Connection settings")
diff --git a/src/qml/pages/onboarding/onboarding01c.qml b/src/qml/pages/settings/SettingsDeveloper.qml
similarity index 74%
rename from src/qml/pages/onboarding/onboarding01c.qml
rename to src/qml/pages/settings/SettingsDeveloper.qml
index c773420e21..0f702bc359 100644
--- a/src/qml/pages/onboarding/onboarding01c.qml
+++ b/src/qml/pages/settings/SettingsDeveloper.qml
@@ -10,14 +10,6 @@ import "../../components"
InformationPage {
Layout.fillWidth: true
- navLeftDetail: NavButton {
- iconSource: "image://images/caret-left"
- text: qsTr("Back")
- onClicked: {
- introductions.decrementCurrentIndex()
- swipeView.inSubPage = true
- }
- }
bannerActive: false
bold: true
headerText: qsTr("Developer options")
diff --git a/src/qml/pages/onboarding/onboarding05b.qml b/src/qml/pages/settings/SettingsStorage.qml
similarity index 78%
rename from src/qml/pages/onboarding/onboarding05b.qml
rename to src/qml/pages/settings/SettingsStorage.qml
index ae1b51e317..8ca73879c7 100644
--- a/src/qml/pages/onboarding/onboarding05b.qml
+++ b/src/qml/pages/settings/SettingsStorage.qml
@@ -10,13 +10,6 @@ import "../../components"
InformationPage {
Layout.fillWidth: true
- navRightDetail: NavButton {
- text: qsTr("Done")
- onClicked: {
- storages.decrementCurrentIndex()
- swipeView.inSubPage = false
- }
- }
bannerActive: false
bold: true
headerText: qsTr("Storage settings")