Shows the HD enabled state in the status bar.
Example
Shows the HD enabled state in the status bar.
Example
29@@ -30,7 +30,7 @@ class WalletFrame : public QFrame
30 void setClientModel(ClientModel *clientModel);
31
32 bool addWallet(const QString& name, WalletModel *walletModel);
33- bool setCurrentWallet(const QString& name);
34+ WalletModel* setCurrentWallet(const QString& name);
Agree that this can be confusing. The setter will just return the referenced WalletModel pointer or NULL
in case if the wallet was not found.
Added a comment.
Travis:
0../../src/qt/rpcconsole.cpp: In constructor ‘RPCConsole::RPCConsole(const PlatformStyle*, QWidget*)’:
1../../src/qt/rpcconsole.cpp:286:9: error: ‘class Ui::RPCConsole’ has no member named ‘walletLabel’
2 ui->walletLabel->hide();
3 ^
4make[2]: *** [qt/qt_libbitcoinqt_a-rpcconsole.o] Error 1
5make[2]: Leaving directory `/home/travis/build/bitcoin/bitcoin/build/src'
6make[1]: *** [install-recursive] Error 1
7make[1]: Leaving directory `/home/travis/build/bitcoin/bitcoin/build/src'
8make: *** [install-recursive] Error 1
Interesting, compiles cleanly here 8) But why if:
0src$ git grep walletLabel
1qt/rpcconsole.cpp: ui->walletLabel->hide();
2src$
446@@ -433,12 +447,12 @@
447 <height>24</height>
448 </size>
449 </property>
450- <property name="text">
I like the idea to show HD to the user somewhere.
But isn’t it worth new headline
Wallet Version 130000 HD enabled
or even green or red sign instead of “enabled”/“disabled” there, prominent one. Is the wallet version so important for the user, BTW?
walletLabel
compile issue when compiling without the wallet.
@paveljanik: I though about adding a new section. But the console window is already large and my goal was to keep it below 480px height (to prevent overflow if you run on a small screen which happens regularly when bootstrapping servers).
Maybe another option would be to create a new window for the wallet informations. That window could also allow verify the used HD seed (maybe exporting), kepool size, encryption state, maybe derive keys at a given keypath, etc.
I’m not sure if the debug window is the right place for wallet informations regarding a possible upcoming support for multi wallet.
I’m not sure if the debug window is the right place for wallet informations regarding a possible upcoming support for multi wallet.
I tend to agree with this. This has always been the reason to push back on changes that would add wallet information to the debug window.
I’d suggest this:
Maybe another option would be to create a new window for the wallet informations. That window could also allow verify the used HD seed (maybe exporting), kepool size, encryption state, maybe derive keys at a given keypath, etc.
Further ahead something like that might be nice.
HD enabled/disabled is interesting, and IMO does deserve a special icon / mention on the overview page, or in the status bar.
Was about to suggest just that.
Changed the PR, removed changes that affected the debug window, added a HD status icon in the statusbar.
Looks good! Hope we can get 4K soon. :)
Issue with build:
0../../src/qt/bitcoingui.cpp:996:84: error: invalid operands to binary expression ('const char *' and 'const char *')
1
2 labelWalletHDStatusIcon->setPixmap(platformStyle->SingleColorIcon(":/icons/hd_"+(hdEnabled ? "en" : "dis")+"abled").pixmap(STATUSBAR_ICONSIZE,STATUSBAR_ICONSIZE));
990@@ -988,28 +991,37 @@ bool BitcoinGUI::handlePaymentRequest(const SendCoinsRecipient& recipient)
991 return false;
992 }
993
994+void BitcoinGUI::setHDStatus(int hdEnabled)
995+{
996+ labelWalletHDStatusIcon->setPixmap(platformStyle->SingleColorIcon(hdEnabled ? ":/icons/hd_enabled" : ":/icons/hd_disabled").pixmap(STATUSBAR_ICONSIZE,STATUSBAR_ICONSIZE));
997+ labelWalletHDStatusIcon->setToolTip(tr(hdEnabled ? "HD key generation is <b>enabled</b>" : "HD key generation is <b>disabled</b>"));
tr
work as you expect?
97@@ -98,6 +98,9 @@ void WalletView::setBitcoinGUI(BitcoinGUI *gui)
98
99 // Pass through transaction notifications
100 connect(this, SIGNAL(incomingTransaction(QString,int,CAmount,QString,QString,QString)), gui, SLOT(incomingTransaction(QString,int,CAmount,QString,QString,QString)));
101+
102+ // Connect hd-enabled state signal
tr()
issue, s/hd/HD).
97@@ -98,6 +98,9 @@ void WalletView::setBitcoinGUI(BitcoinGUI *gui)
98
99 // Pass through transaction notifications
100 connect(this, SIGNAL(incomingTransaction(QString,int,CAmount,QString,QString,QString)), gui, SLOT(incomingTransaction(QString,int,CAmount,QString,QString,QString)));
101+
102+ // Connect HD enabled state signal
103+ connect(this, SIGNAL(hdEnabledStatusChanged(int)), gui, SLOT(setHDStatus(int)));
1232@@ -1233,6 +1233,11 @@ bool CWallet::SetHDChain(const CHDChain& chain, bool memonly)
1233 return true;
1234 }
1235
1236+bool CWallet::IsHDEnabled()
Hi, why has this request been pulled to master on August 19. but is not in 0.13.1rc2, which has been released 2 months later? Missing the HD icon :(
I am not very familiar with modern developing process with branches, tags etc. I am really curious, for the case that this is on purpose, how You select the peaces from master to a release, or to prevent, as in this example, a PR to come to a release, but stay just in master, to make it probably in a future release? Are all PRs so strictly modular, that You can know, that there are no dependencies missing?? Or how does this work? I would be thankful for a little hint on the release tagging process, or what it’s name is.
@wodry We only backport bug fixes as per our policy: https://bitcoincore.org/en/lifecycle/#maintenance-releases
However, I would not object to backport this GUI-only feature, if people consider it important and when there is an rc3.