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")