Skip to content

Commit 94fc508

Browse files
Merge #7112: refactor(qt): UI refresh (1/n, runtime show/hide of "Governance" and "Masternode" tabs, split out proposal model, additional bounds checking, better QTextEdit styling)
f9f7c6e refactor: repurpose `transactiondescdialog` as a generic desc. container (Kittywhiskers Van Gogh) 5f4a6c0 refactor: track "Masternodes" tab show/hide in `OptionsModel` (Kittywhiskers Van Gogh) 1994f8c qt: use show/hide for "Masternodes" tab to avoid client restart (Kittywhiskers Van Gogh) 6a7e6b0 refactor: track "Governance" tab show/hide in `OptionsModel` (Kittywhiskers Van Gogh) 64a2db6 qt: use show/hide for "Governance" tab to avoid client restart (Kittywhiskers Van Gogh) 762e5d3 qt: add styling support for QTextEdit `<b>` and `<h{1-3}>` elements (Kittywhiskers Van Gogh) 7a2f09d refactor: drop `QObject` inheritance, precalculate hash string (Kittywhiskers Van Gogh) fdd3193 fix: use `unique_ptr` and more bounds checking in `qt/proposalmodel` (Kittywhiskers Van Gogh) c9e0d94 move-only: split proposal model out to `src/qt/proposalmodel.{cpp,h}` (Kittywhiskers Van Gogh) 42f2345 refactor: add `pruneStaleEntities` helper to deduplicate pruning (Kittywhiskers Van Gogh) 72c4099 refactor: add `getScaledFont` helper, keep `getFont` internal (Kittywhiskers Van Gogh) 6d9b90b chore: enforce alphabetical sorting in `src/Makefile.qt.include` (Kittywhiskers Van Gogh) 83b9271 move-only: move `subFeeFromAmount` into `verticalLayout_2` (Kittywhiskers Van Gogh) bcfc0e3 refactor: improve CoinJoin tab nullptr checks, bail-out condition (Kittywhiskers Van Gogh) 7648792 refactor: drop `emitCoinJoinEnabledChanged()`, use `setOption()` instead (Kittywhiskers Van Gogh) Pull request description: ## Additional Information * Dependency for #7110 * Dependency for #7116 | `develop` (cc50446) | This PR (18d6ce6) | | ----------------------- | ------------------- | | ![](https://github.com/user-attachments/assets/f1e9a4e2-3bc0-42bd-89ed-697c9540f8f2) | ![](https://github.com/user-attachments/assets/2cd4688c-8e20-4c6d-8a2c-95e99e883631) | | ![](https://github.com/user-attachments/assets/4debb9f6-8f20-4892-be08-a52474286c31) | ![](https://github.com/user-attachments/assets/719949dd-e03c-4269-9014-2beebe2df990) | | ![](https://github.com/user-attachments/assets/7ffb57dc-a229-4522-b670-cc9d6e008495) | ![](https://github.com/user-attachments/assets/7241b76a-6435-44d8-b617-cafc02c6a278) | ## Breaking Changes None expected. ## Checklist - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [x] I have added or updated relevant unit/integration/functional/e2e tests **(note: N/A)** - [x] I have made corresponding changes to the documentation **(note: N/A)** - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_ ACKs for top commit: UdjinM6: utACK f9f7c6e Tree-SHA512: 6c219c8bc5b90c52bb030a6f05bcf9168ec51be0d72c23b38b5aba852666419949ebe4ee07c2c8ba70241655a542de24e2e31b6b0241517e183b7bf289373a37
2 parents cd19782 + f9f7c6e commit 94fc508

24 files changed

Lines changed: 858 additions & 697 deletions

src/Makefile.qt.include

Lines changed: 62 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -20,33 +20,32 @@ QT_FORMS_UI = \
2020
qt/forms/askpassphrasedialog.ui \
2121
qt/forms/coincontroldialog.ui \
2222
qt/forms/createwalletdialog.ui \
23+
qt/forms/debugwindow.ui \
24+
qt/forms/descriptiondialog.ui \
2325
qt/forms/editaddressdialog.ui \
2426
qt/forms/governancelist.ui \
25-
qt/forms/proposalwizard.ui \
2627
qt/forms/helpmessagedialog.ui \
2728
qt/forms/intro.ui \
28-
qt/forms/modaloverlay.ui \
2929
qt/forms/masternodelist.ui \
3030
qt/forms/mnemonicverificationdialog.ui \
31-
qt/forms/qrdialog.ui \
31+
qt/forms/modaloverlay.ui \
3232
qt/forms/openuridialog.ui \
3333
qt/forms/optionsdialog.ui \
3434
qt/forms/overviewpage.ui \
35+
qt/forms/proposalwizard.ui \
3536
qt/forms/psbtoperationsdialog.ui \
37+
qt/forms/qrdialog.ui \
3638
qt/forms/receivecoinsdialog.ui \
3739
qt/forms/receiverequestdialog.ui \
38-
qt/forms/debugwindow.ui \
3940
qt/forms/sendcoinsdialog.ui \
4041
qt/forms/sendcoinsentry.ui \
41-
qt/forms/signverifymessagedialog.ui \
42-
qt/forms/transactiondescdialog.ui
42+
qt/forms/signverifymessagedialog.ui
4343

4444
QT_MOC_CPP = \
4545
qt/moc_addressbookpage.cpp \
4646
qt/moc_addresstablemodel.cpp \
4747
qt/moc_appearancewidget.cpp \
4848
qt/moc_askpassphrasedialog.cpp \
49-
qt/moc_createwalletdialog.cpp \
5049
qt/moc_bantablemodel.cpp \
5150
qt/moc_bitcoin.cpp \
5251
qt/moc_bitcoinaddressvalidator.cpp \
@@ -56,26 +55,29 @@ QT_MOC_CPP = \
5655
qt/moc_clientmodel.cpp \
5756
qt/moc_coincontroldialog.cpp \
5857
qt/moc_coincontroltreewidget.cpp \
58+
qt/moc_createwalletdialog.cpp \
5959
qt/moc_csvmodelwriter.cpp \
60+
qt/moc_descriptiondialog.cpp \
6061
qt/moc_editaddressdialog.cpp \
6162
qt/moc_governancelist.cpp \
62-
qt/moc_proposalwizard.cpp \
6363
qt/moc_guiutil.cpp \
6464
qt/moc_initexecutor.cpp \
6565
qt/moc_intro.cpp \
6666
qt/moc_macdockiconhandler.cpp \
6767
qt/moc_macnotificationhandler.cpp \
68-
qt/moc_modaloverlay.cpp \
6968
qt/moc_masternodelist.cpp \
7069
qt/moc_mnemonicverificationdialog.cpp \
70+
qt/moc_modaloverlay.cpp \
7171
qt/moc_notificator.cpp \
7272
qt/moc_openuridialog.cpp \
7373
qt/moc_optionsdialog.cpp \
7474
qt/moc_optionsmodel.cpp \
7575
qt/moc_overviewpage.cpp \
76+
qt/moc_paymentserver.cpp \
7677
qt/moc_peertablemodel.cpp \
7778
qt/moc_peertablesortproxy.cpp \
78-
qt/moc_paymentserver.cpp \
79+
qt/moc_proposalmodel.cpp \
80+
qt/moc_proposalwizard.cpp \
7981
qt/moc_psbtoperationsdialog.cpp \
8082
qt/moc_qrdialog.cpp \
8183
qt/moc_qrimagewidget.cpp \
@@ -91,7 +93,6 @@ QT_MOC_CPP = \
9193
qt/moc_splashscreen.cpp \
9294
qt/moc_trafficgraphwidget.cpp \
9395
qt/moc_transactiondesc.cpp \
94-
qt/moc_transactiondescdialog.cpp \
9596
qt/moc_transactionfilterproxy.cpp \
9697
qt/moc_transactionoverviewwidget.cpp \
9798
qt/moc_transactiontablemodel.cpp \
@@ -134,9 +135,9 @@ BITCOIN_QT_H = \
134135
qt/coincontroltreewidget.h \
135136
qt/createwalletdialog.h \
136137
qt/csvmodelwriter.h \
138+
qt/descriptiondialog.h \
137139
qt/editaddressdialog.h \
138140
qt/governancelist.h \
139-
qt/proposalwizard.h \
140141
qt/guiconstants.h \
141142
qt/guiutil.h \
142143
qt/guiutil_font.h \
@@ -145,9 +146,9 @@ BITCOIN_QT_H = \
145146
qt/macdockiconhandler.h \
146147
qt/macnotificationhandler.h \
147148
qt/macos_appnap.h \
148-
qt/modaloverlay.h \
149149
qt/masternodelist.h \
150150
qt/mnemonicverificationdialog.h \
151+
qt/modaloverlay.h \
151152
qt/networkstyle.h \
152153
qt/notificator.h \
153154
qt/openuridialog.h \
@@ -157,6 +158,8 @@ BITCOIN_QT_H = \
157158
qt/paymentserver.h \
158159
qt/peertablemodel.h \
159160
qt/peertablesortproxy.h \
161+
qt/proposalmodel.h \
162+
qt/proposalwizard.h \
160163
qt/psbtoperationsdialog.h \
161164
qt/qrdialog.h \
162165
qt/qrimagewidget.h \
@@ -174,7 +177,6 @@ BITCOIN_QT_H = \
174177
qt/trafficgraphdata.h \
175178
qt/trafficgraphwidget.h \
176179
qt/transactiondesc.h \
177-
qt/transactiondescdialog.h \
178180
qt/transactionfilterproxy.h \
179181
qt/transactionoverviewwidget.h \
180182
qt/transactionrecord.h \
@@ -189,36 +191,36 @@ BITCOIN_QT_H = \
189191
qt/winshutdownmonitor.h
190192

191193
QT_RES_ICONS = \
192-
qt/res/icons/dash.ico \
193-
qt/res/icons/dash_testnet.ico \
194-
qt/res/icons/dash.png \
195-
qt/res/icons/warning.png \
196194
qt/res/icons/address-book.png \
197-
qt/res/icons/transaction0.png \
198-
qt/res/icons/transaction1.png \
199-
qt/res/icons/transaction2.png \
200-
qt/res/icons/transaction3.png \
201-
qt/res/icons/transaction4.png \
202-
qt/res/icons/transaction5.png \
203-
qt/res/icons/transaction_abandoned.png \
204-
qt/res/icons/transaction_locked.png \
205195
qt/res/icons/connect1_16.png \
206196
qt/res/icons/connect2_16.png \
207197
qt/res/icons/connect3_16.png \
208198
qt/res/icons/connect4_16.png \
199+
qt/res/icons/dash.ico \
200+
qt/res/icons/dash.png \
201+
qt/res/icons/dash_testnet.ico \
209202
qt/res/icons/editcopy.png \
210203
qt/res/icons/editpaste.png \
211204
qt/res/icons/eye.png \
212205
qt/res/icons/eye_minus.png \
213206
qt/res/icons/eye_plus.png \
207+
qt/res/icons/fontbigger.png \
208+
qt/res/icons/fontsmaller.png \
214209
qt/res/icons/hd_enabled.png \
215210
qt/res/icons/lock_closed.png \
216211
qt/res/icons/lock_open.png \
217212
qt/res/icons/proxy.png \
218213
qt/res/icons/remove.png \
219214
qt/res/icons/synced.png \
220-
qt/res/icons/fontbigger.png \
221-
qt/res/icons/fontsmaller.png
215+
qt/res/icons/transaction0.png \
216+
qt/res/icons/transaction1.png \
217+
qt/res/icons/transaction2.png \
218+
qt/res/icons/transaction3.png \
219+
qt/res/icons/transaction4.png \
220+
qt/res/icons/transaction5.png \
221+
qt/res/icons/transaction_abandoned.png \
222+
qt/res/icons/transaction_locked.png \
223+
qt/res/icons/warning.png
222224

223225
BITCOIN_QT_BASE_CPP = \
224226
qt/appearancewidget.cpp \
@@ -258,14 +260,16 @@ BITCOIN_QT_WALLET_CPP = \
258260
qt/coincontroldialog.cpp \
259261
qt/coincontroltreewidget.cpp \
260262
qt/createwalletdialog.cpp \
263+
qt/descriptiondialog.cpp \
261264
qt/editaddressdialog.cpp \
262265
qt/governancelist.cpp \
263-
qt/proposalwizard.cpp \
264266
qt/masternodelist.cpp \
265267
qt/mnemonicverificationdialog.cpp \
266268
qt/openuridialog.cpp \
267269
qt/overviewpage.cpp \
268270
qt/paymentserver.cpp \
271+
qt/proposalmodel.cpp \
272+
qt/proposalwizard.cpp \
269273
qt/psbtoperationsdialog.cpp \
270274
qt/qrdialog.cpp \
271275
qt/qrimagewidget.cpp \
@@ -276,7 +280,6 @@ BITCOIN_QT_WALLET_CPP = \
276280
qt/sendcoinsentry.cpp \
277281
qt/signverifymessagedialog.cpp \
278282
qt/transactiondesc.cpp \
279-
qt/transactiondescdialog.cpp \
280283
qt/transactionfilterproxy.cpp \
281284
qt/transactionoverviewwidget.cpp \
282285
qt/transactionrecord.cpp \
@@ -301,50 +304,50 @@ QT_RES_IMAGES = \
301304
qt/res/images/arrow_down_light.png \
302305
qt/res/images/arrow_left_dark.png \
303306
qt/res/images/arrow_left_light.png \
304-
qt/res/images/arrow_right_dark.png \
305-
qt/res/images/arrow_right_light.png \
306-
qt/res/images/arrow_up_dark.png \
307-
qt/res/images/arrow_up_light.png \
308-
qt/res/images/arrow_light_down_normal.png \
309307
qt/res/images/arrow_light_down_hover.png \
310-
qt/res/images/arrow_light_left_normal.png \
308+
qt/res/images/arrow_light_down_normal.png \
311309
qt/res/images/arrow_light_left_hover.png \
312-
qt/res/images/arrow_light_right_normal.png \
310+
qt/res/images/arrow_light_left_normal.png \
313311
qt/res/images/arrow_light_right_hover.png \
314-
qt/res/images/arrow_light_up_normal.png \
312+
qt/res/images/arrow_light_right_normal.png \
315313
qt/res/images/arrow_light_up_hover.png \
316-
qt/res/images/checkbox_normal_dark.png \
317-
qt/res/images/checkbox_normal_hover_dark.png \
318-
qt/res/images/checkbox_normal_disabled_dark.png \
314+
qt/res/images/arrow_light_up_normal.png \
315+
qt/res/images/arrow_right_dark.png \
316+
qt/res/images/arrow_right_light.png \
317+
qt/res/images/arrow_up_dark.png \
318+
qt/res/images/arrow_up_light.png \
319319
qt/res/images/checkbox_checked_dark.png \
320-
qt/res/images/checkbox_checked_hover_dark.png \
321320
qt/res/images/checkbox_checked_disabled_dark.png \
321+
qt/res/images/checkbox_checked_disabled_light.png \
322+
qt/res/images/checkbox_checked_hover_dark.png \
323+
qt/res/images/checkbox_checked_hover_light.png \
324+
qt/res/images/checkbox_checked_light.png \
325+
qt/res/images/checkbox_normal_dark.png \
326+
qt/res/images/checkbox_normal_disabled_dark.png \
327+
qt/res/images/checkbox_normal_disabled_light.png \
328+
qt/res/images/checkbox_normal_hover_dark.png \
329+
qt/res/images/checkbox_normal_hover_light.png \
330+
qt/res/images/checkbox_normal_light.png \
322331
qt/res/images/checkbox_partly_checked_dark.png \
323-
qt/res/images/checkbox_partly_checked_hover_dark.png \
324332
qt/res/images/checkbox_partly_checked_disabled_dark.png \
325-
qt/res/images/checkbox_normal_light.png \
326-
qt/res/images/checkbox_normal_hover_light.png \
327-
qt/res/images/checkbox_normal_disabled_light.png \
328-
qt/res/images/checkbox_checked_light.png \
329-
qt/res/images/checkbox_checked_hover_light.png \
330-
qt/res/images/checkbox_checked_disabled_light.png \
331-
qt/res/images/checkbox_partly_checked_light.png \
332-
qt/res/images/checkbox_partly_checked_hover_light.png \
333333
qt/res/images/checkbox_partly_checked_disabled_light.png \
334+
qt/res/images/checkbox_partly_checked_hover_dark.png \
335+
qt/res/images/checkbox_partly_checked_hover_light.png \
336+
qt/res/images/checkbox_partly_checked_light.png \
334337
qt/res/images/dash_logo_toolbar.png \
335338
qt/res/images/dash_logo_toolbar_blue.png \
336-
qt/res/images/radio_normal_dark.png \
337-
qt/res/images/radio_normal_hover_dark.png \
338339
qt/res/images/radio_checked_dark.png \
339-
qt/res/images/radio_checked_hover_dark.png \
340-
qt/res/images/radio_normal_disabled_dark.png \
341340
qt/res/images/radio_checked_disabled_dark.png \
342-
qt/res/images/radio_normal_light.png \
343-
qt/res/images/radio_normal_hover_light.png \
344-
qt/res/images/radio_checked_light.png \
341+
qt/res/images/radio_checked_disabled_light.png \
342+
qt/res/images/radio_checked_hover_dark.png \
345343
qt/res/images/radio_checked_hover_light.png \
344+
qt/res/images/radio_checked_light.png \
345+
qt/res/images/radio_normal_dark.png \
346+
qt/res/images/radio_normal_disabled_dark.png \
346347
qt/res/images/radio_normal_disabled_light.png \
347-
qt/res/images/radio_checked_disabled_light.png \
348+
qt/res/images/radio_normal_hover_dark.png \
349+
qt/res/images/radio_normal_hover_light.png \
350+
qt/res/images/radio_normal_light.png \
348351
qt/res/images/splash.png
349352

350353
QT_RES_CSS = \

0 commit comments

Comments
 (0)