Skip to content

[DO NOT MERGE] Onboarding views + OpenGL #126

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 13 commits into from
Closed
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
2 changes: 2 additions & 0 deletions contrib/devtools/symbol-check.py
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@
'Metal', # 3D graphics
'Security', # access control and authentication
'QuartzCore', # animation
'OpenGL',
}

PE_ALLOWED_LIBRARIES = {
Expand All @@ -163,6 +164,7 @@
'WTSAPI32.dll',
'd3d11.dll',
'dxgi.dll',
'OPENGL32.dll',
}

def check_version(max_versions, version, arch) -> bool:
Expand Down
28 changes: 28 additions & 0 deletions depends/packages/libglvnd.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package := libglvnd
$(package)_version := 1.4.0
$(package)_download_path := https://gitlab.freedesktop.org/glvnd/$(package)/-/archive/v$($(package)_version)
$(package)_file_name := $(package)-v$($(package)_version).tar.bz2
$(package)_sha256_hash := fdf395391d95f270528dbff6ce2ee54c186753d286ad62e0da5f62c6f67ba915

define $(package)_set_vars
$(package)_config_opts := --enable-option-checking --disable-dependency-tracking
$(package)_config_opts += --enable-shared --disable-static
$(package)_config_opts += --disable-x11 --disable-gles1
endef

define $(package)_config_cmds
./autogen.sh && \
$($(package)_autoconf)
endef

define $(package)_build_cmds
$(MAKE)
endef

define $(package)_stage_cmds
$(MAKE) DESTDIR=$($(package)_staging_dir) install
endef

define $(package)_postprocess_cmds
rm lib/*.la
endef
2 changes: 1 addition & 1 deletion depends/packages/packages.mk
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ qrencode_android_packages = qrencode
qrencode_darwin_packages = qrencode
qrencode_mingw32_packages = qrencode

qt_linux_packages:=qt expat libxcb xcb_proto libXau xproto freetype fontconfig libxkbcommon libxcb_util libxcb_util_render libxcb_util_keysyms libxcb_util_image libxcb_util_wm
qt_linux_packages:=qt expat libxcb xcb_proto libXau xproto freetype fontconfig libxkbcommon libxcb_util libxcb_util_render libxcb_util_keysyms libxcb_util_image libxcb_util_wm libglvnd
qt_android_packages=qt
qt_darwin_packages=qt
qt_mingw32_packages=qt
Expand Down
6 changes: 2 additions & 4 deletions depends/packages/qt.mk
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ $(package)_download_path=https://download.qt.io/official_releases/qt/5.15/$($(pa
$(package)_suffix=everywhere-opensource-src-$($(package)_version).tar.xz
$(package)_file_name=qtbase-$($(package)_suffix)
$(package)_sha256_hash=26394ec9375d52c1592bd7b689b1619c6b8dbe9b6f91fdd5c355589787f3a0b6
$(package)_linux_dependencies=freetype fontconfig libxcb libxkbcommon libxcb_util libxcb_util_render libxcb_util_keysyms libxcb_util_image libxcb_util_wm
$(package)_linux_dependencies=freetype fontconfig libxcb libxkbcommon libxcb_util libxcb_util_render libxcb_util_keysyms libxcb_util_image libxcb_util_wm libglvnd
$(package)_qt_libs=corelib network widgets gui plugins testlib
$(package)_linguist_tools = lrelease lupdate lconvert
$(package)_patches = qt.pro
Expand Down Expand Up @@ -154,7 +154,6 @@ $(package)_config_opts += -no-feature-qml-worker-script
$(package)_config_opts += -no-feature-qml-xml-http-request

$(package)_config_opts_darwin = -no-dbus
$(package)_config_opts_darwin += -no-opengl
$(package)_config_opts_darwin += -pch
$(package)_config_opts_darwin += -no-feature-corewlan
$(package)_config_opts_darwin += -no-freetype
Expand All @@ -179,7 +178,6 @@ $(package)_config_opts_linux += -no-xcb-xlib
$(package)_config_opts_linux += -no-feature-xlib
$(package)_config_opts_linux += -system-freetype
$(package)_config_opts_linux += -fontconfig
$(package)_config_opts_linux += -no-opengl
$(package)_config_opts_linux += -no-feature-vulkan
$(package)_config_opts_linux += -dbus-runtime
$(package)_config_opts_arm_linux += -platform linux-g++ -xplatform bitcoin-linux-g++
Expand All @@ -195,7 +193,7 @@ $(package)_config_opts_powerpc64le_linux = -platform linux-g++ -xplatform bitcoi
$(package)_config_opts_riscv64_linux = -platform linux-g++ -xplatform bitcoin-linux-g++
$(package)_config_opts_s390x_linux = -platform linux-g++ -xplatform bitcoin-linux-g++

$(package)_config_opts_mingw32 = -no-opengl
$(package)_config_opts_mingw32 = -opengl desktop
$(package)_config_opts_mingw32 += -no-d3d12
$(package)_config_opts_mingw32 += -no-dbus
$(package)_config_opts_mingw32 += -no-freetype
Expand Down
18 changes: 18 additions & 0 deletions src/Makefile.qt.include
Original file line number Diff line number Diff line change
Expand Up @@ -303,12 +303,17 @@ QML_RES_ICONS = \
QML_QRC_CPP = qml/qrc_bitcoin.cpp
QML_QRC = qml/bitcoin_qml.qrc
QML_RES_QML = \
qml/components/AboutOptions.qml \
qml/components/BlockCounter.qml \
qml/components/ConnectionOptions.qml \
qml/components/ConnectionSettings.qml \
qml/components/DeveloperOptions.qml \
qml/components/StorageLocations.qml \
qml/components/StorageOptions.qml \
qml/components/StorageSettings.qml \
qml/controls/ContinueButton.qml \
qml/controls/Header.qml \
qml/controls/Information.qml \
qml/controls/PageIndicator.qml \
qml/controls/OptionButton.qml \
qml/controls/OptionSwitch.qml \
Expand All @@ -319,6 +324,19 @@ QML_RES_QML = \
qml/controls/Theme.qml \
qml/controls/Wizard.qml \
qml/pages/initerrormessage.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/stub.qml

BITCOIN_QT_CPP = $(BITCOIN_QT_BASE_CPP)
Expand Down
18 changes: 18 additions & 0 deletions src/qml/bitcoin_qml.qrc
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
<!DOCTYPE RCC><RCC version="1.0">
<qresource prefix="/qml">
<file>components/AboutOptions.qml</file>
<file>components/BlockCounter.qml</file>
<file>components/ConnectionOptions.qml</file>
<file>components/ConnectionSettings.qml</file>
<file>components/DeveloperOptions.qml</file>
<file>components/StorageLocations.qml</file>
<file>components/StorageOptions.qml</file>
<file>components/StorageSettings.qml</file>
<file>controls/ContinueButton.qml</file>
<file>controls/Header.qml</file>
<file>controls/Information.qml</file>
<file>controls/PageIndicator.qml</file>
<file>controls/OptionButton.qml</file>
<file>controls/OptionSwitch.qml</file>
Expand All @@ -16,6 +21,19 @@
<file>controls/Theme.qml</file>
<file>controls/Wizard.qml</file>
<file>pages/initerrormessage.qml</file>
<file>pages/onboarding/onboarding01.qml</file>
<file>pages/onboarding/onboarding01a.qml</file>
<file>pages/onboarding/onboarding01b.qml</file>
<file>pages/onboarding/onboarding01c.qml</file>
<file>pages/onboarding/onboarding02.qml</file>
<file>pages/onboarding/onboarding03.qml</file>
<file>pages/onboarding/onboarding04.qml</file>
<file>pages/onboarding/onboarding05.qml</file>
<file>pages/onboarding/onboarding05a.qml</file>
<file>pages/onboarding/onboarding05b.qml</file>
<file>pages/onboarding/onboarding06.qml</file>
<file>pages/onboarding/onboarding06a.qml</file>
<file>pages/onboarding/onboarding06b.qml</file>
<file>pages/stub.qml</file>
</qresource>
<qresource prefix="/icons">
Expand Down
65 changes: 65 additions & 0 deletions src/qml/components/AboutOptions.qml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
// 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"

ColumnLayout {
spacing: 20
Information {
Layout.fillWidth: true
header: qsTr("Website")
description: qsTr("bitcoincore.org >")
link: "https://bitcoincore.org"
}
Information {
Layout.fillWidth: true
header: qsTr("Source code")
description: qsTr("github.com/bitcoin/bitcoin >")
link: "https://github.com/bitcoin/bitcoin"
}
Information {
Layout.fillWidth: true
header: qsTr("License")
description: qsTr("MIT >")
link: "https://opensource.org/licenses/MIT"
}
Information {
Layout.fillWidth: true
header: qsTr("Version")
description: qsTr("v22.99.0-1e7564eca8a6 >")
link: "https://bitcoin.org/en/download"
}
RowLayout {
Header {
Layout.fillWidth: true
center: false
header: qsTr("Developer options")
headerSize: 18
description: qsTr("Only use these if you have development experience")
descriptionSize: 15
descriptionMargin: 10
wrap: false
}
Loader {
Layout.fillWidth: true
Layout.preferredWidth: 0
Layout.alignment: Qt.AlignRight
Layout.rightMargin: 5
active: true
visible: active
sourceComponent: TextButton {
text: ">"
bold: false
rightalign: true
onClicked: {
introductions.incrementCurrentIndex()
swipeView.inSubPage = true
}
}
}
}
}
23 changes: 18 additions & 5 deletions src/qml/components/ConnectionSettings.qml
Original file line number Diff line number Diff line change
Expand Up @@ -13,23 +13,36 @@ ColumnLayout {
Layout.fillWidth: true
header: qsTr("Use cellular data")
}
Setting {
Information {
Layout.fillWidth: true
header: qsTr("Daily upload limit")
description: qsTr("250 MB")
}
Setting {
Information {
Layout.fillWidth: true
header: qsTr("Connection limit")
description: qsTr("6")
}
Setting {
Layout.fillWidth: true
header: qsTr("Listening enabled")
description: qsTr("Reduces data usage.")
header: qsTr("Enable listening")
description: qsTr("Increases data usage")
}
Setting {
last: true
Layout.fillWidth: true
header: qsTr("Blocks Only")
description: qsTr("Do not transfer unconfirmed transactions. Also disabled listening.")
description: qsTr("Reduces data usage.")
}
Information {
Layout.fillWidth: true
header: qsTr("Networks")
subtext: qsTr("Which networks to use for communication")
description: qsTr("6")
}
Information {
Layout.fillWidth: true
header: qsTr("Proxy settings")
description: qsTr(">")
}
}
37 changes: 37 additions & 0 deletions src/qml/components/DeveloperOptions.qml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
// 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"

ColumnLayout {
spacing: 20
Information {
Layout.fillWidth: true
header: qsTr("Developer documentation")
description: qsTr("Icon")
link: "https://bitcoin.org/en/bitcoin-core/contribute/documentation"
}
Setting {
Layout.fillWidth: true
header: qsTr("Storage limit")
}
Information {
Layout.fillWidth: true
header: qsTr("Network")
description: qsTr("Mainnet")
}
Information {
Layout.fillWidth: true
header: qsTr("Other option...")
description: qsTr("42")
}
Setting {
Layout.fillWidth: true
header: qsTr("Other option...")
description:qsTr("Description...")
}
}
29 changes: 29 additions & 0 deletions src/qml/components/StorageLocations.qml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
// 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"

ColumnLayout {
ButtonGroup {
id: group
}
spacing: 15
OptionButton {
ButtonGroup.group: group
Layout.fillWidth: true
text: qsTr("SD Card")
description: qsTr("The available space is large enough for full block storage. ")
recommended: true
checked: true
}
OptionButton {
ButtonGroup.group: group
Layout.fillWidth: true
text: qsTr("Hard drive")
description: qsTr("Available space only allows for partial block storage.")
}
}
31 changes: 31 additions & 0 deletions src/qml/components/StorageSettings.qml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// 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"

ColumnLayout {
spacing: 20
Setting {
Layout.fillWidth: true
header: qsTr("Store Recent blocks only")
}
Information {
Layout.fillWidth: true
header: qsTr("Storage limit")
description: qsTr("75 GB")
}
Information {
Layout.fillWidth: true
header: qsTr("Data location")
description: qsTr("c://.../data")
}
Information {
Layout.fillWidth: true
header: qsTr("Block location")
description: qsTr("c://.../blocks")
}
}
Loading