From ad0b7383e3924a83dda39e65f10f7770f4862cac Mon Sep 17 00:00:00 2001 From: Jonas Schnelli Date: Tue, 27 Oct 2020 14:51:21 +0100 Subject: [PATCH] Merge bitcoin-core/gui#116: Fix unreasonable default size of the main window without loaded wallets 7b2e42ecc4bddb5504665d6932dc5ffdbd3b593e qt: Add WalletFrame::sizeHint (Hennadii Stepanov) Pull request description: This PR fixes a bug in master (d67883d01e507dd22d1281f4a4860e79d6a46a47) and in 0.20.1 that could be easily reproduced with ``` $ src/qt/bitcoin-qt -regtest -resetguisettings -nowallet ``` ![Screenshot from 2020-10-25 21-21-27](https://user-images.githubusercontent.com/32963518/97117179-b1800100-170a-11eb-87c9-3120d39b9455.png) ![Screenshot from 2020-10-25 21-23-32](https://user-images.githubusercontent.com/32963518/97117186-b644b500-170a-11eb-8b5d-234ff7205003.png) **With this PR:** ![Screenshot from 2020-10-25 21-20-35](https://user-images.githubusercontent.com/32963518/97117226-f441d900-170a-11eb-8d66-98b7718a2bb1.png) ![Screenshot from 2020-10-25 21-23-03](https://user-images.githubusercontent.com/32963518/97117232-f99f2380-170a-11eb-85ed-c7b5ece926b2.png) --- Fix #104 Fix #113 This PR is an alternative to #107 without [hard-coding a size in pixels](https://github.com/bitcoin-core/gui/pull/107#discussion_r511474021). ACKs for top commit: jonasschnelli: Tested ACK 7b2e42ecc4bddb5504665d6932dc5ffdbd3b593e - I can confirm this fixes #104 (Ubuntu 20.04 - HiDPI 200%). Tree-SHA512: eb0692dbeb3befdeecca0e41534c9783eab6637c14cc4f170ee42619235884f9354f8d22a10c20c08cc89dc5340a60b7dfa2523c12e64b3386b3fd2c6d5f934e --- src/qt/walletframe.cpp | 14 ++++++++------ src/qt/walletframe.h | 4 ++++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/qt/walletframe.cpp b/src/qt/walletframe.cpp index 77ca7b5df4f858..727974ebd20aa8 100644 --- a/src/qt/walletframe.cpp +++ b/src/qt/walletframe.cpp @@ -2,14 +2,15 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#include -#include #include -#include #include +#include #include #include +#include +#include +#include #include #include @@ -19,9 +20,10 @@ #include #include -WalletFrame::WalletFrame(BitcoinGUI* _gui) : - QFrame(_gui), - gui(_gui) +WalletFrame::WalletFrame(BitcoinGUI* _gui) + : QFrame(_gui), + gui(_gui), + m_size_hint(OverviewPage{nullptr}.sizeHint()) { // Leave HBox hook for adding a list view later QHBoxLayout *walletFrameLayout = new QHBoxLayout(this); diff --git a/src/qt/walletframe.h b/src/qt/walletframe.h index 96ca4995810fe6..df2d848ad56f52 100644 --- a/src/qt/walletframe.h +++ b/src/qt/walletframe.h @@ -47,6 +47,8 @@ class WalletFrame : public QFrame void showOutOfSyncWarning(bool fShow); + QSize sizeHint() const override { return m_size_hint; } + Q_SIGNALS: /** Notify that the user has requested more information about the out-of-sync warning */ void requestedSyncWarningInfo(); @@ -62,6 +64,8 @@ class WalletFrame : public QFrame bool bOutOfSync; + const QSize m_size_hint; + public: WalletView* currentWalletView() const; WalletModel* currentWalletModel() const;