Commit graph

137 commits

Author SHA1 Message Date
Byron Hambly
50fa7e041b Merge 1313b90735 into merged_master (Bitcoin PR bitcoin-core/gui#701) 2025-04-05 15:55:48 +02:00
Byron Hambly
c20ff9fd52 Merge 526f67a5ca into merged_master (Bitcoin PR bitcoin-core/gui#704) 2025-04-05 11:47:12 +02:00
Byron Hambly
0115c08634 Merge b7f6a89a3e into merged_master (Bitcoin PR bitcoin-core/gui#686) 2025-04-03 08:42:10 +02:00
Byron Hambly
b4405ba453 Merge e9262ea32a into merged_master (Bitcoin PR bitcoin/bitcoin#26750) 2025-03-31 16:37:52 +02:00
Byron Hambly
8499b13762
lint: fix lint issues 2024-12-03 14:02:33 +02:00
Byron Hambly
817dc4879a Merge 6d4889a694 into merged_master (Bitcoin PR bitcoin-core/gui#598) 2024-11-02 16:41:51 +02:00
James Dorfman
31df518140 Merge 7b3343f300 into merged_master (Bitcoin PR bitcoin/bitcoin#25108) 2024-08-13 04:20:55 +00:00
James Dorfman
c831de4f54 Merge 72477ebb11 into merged_master (Bitcoin PR bitcoin-core/gui#556)
Please test this commit by manually launching the elements QT gui and
making sure that all the units are displayed properly in elements
2024-07-31 23:59:08 +00:00
Byron Hambly
47626b5a64 Merge 623745ca74 into merged_master (Bitcoin PR bitcoin/bitcoin#23912) 2023-06-14 15:44:11 +00:00
Hennadii Stepanov
1313b90735
Merge bitcoin-core/gui#701: Persist Mask Values option
4de02def84 qt: Persist Mask Values option (Andrew Chow)

Pull request description:

  The mask values option is memory only. If a user has enabled this option, it's reasonable to expect that they would want to have it enabled on the next start.

ACKs for top commit:
  RandyMcMillan:
    tACK 4de02def84
  jarolrod:
    tACK 4de02def84
  pablomartin4btc:
    > tACK [4de02de](4de02def84)
  john-moffett:
    tACK 4de02def84

Tree-SHA512: 247deb78df4911516625bf8b25d752feb480ce30eb31335cf9baeb07b7c6c225fcc37d5c45de62d6e6895ec10c7eefabb15527e3c9723a3b8ddda1e12ebbf46b
2023-02-09 20:11:11 +00:00
John Moffett
08209c039f Correctly limit overview transaction list
The way that the main overview page limits the number
of transactions displayed (currently 5) is not
an appropriate use of Qt. If it's run with a DEBUG
build of Qt, it'll result in a segfault in certain
relatively common situations. Instead of artificially
limiting the rowCount() in the subclassed proxy
filter, we hide/unhide the rows in the displaying
QListView upon any changes in the sorted proxy filter.
2023-01-26 14:56:12 -05:00
Andrew Chow
4de02def84 qt: Persist Mask Values option
The mask values option is memory only. If a user has enabled this
option, it's reasonable to expect that they would want to have it
enabled on the next start.
2023-01-23 20:59:05 -05:00
Hennadii Stepanov
b7f6a89a3e
Merge bitcoin-core/gui#686: clang-tidy: Force checks for headers in src/qt
7b7cd11244 clang-tidy, qt: Force checks for headers in `src/qt` (Hennadii Stepanov)
69eacf2c5e clang-tidy, qt: Fix `modernize-use-default-member-init` in headers (Hennadii Stepanov)

Pull request description:

  This PR split from bitcoin/bitcoin#26705 and contains only changes in `src/qt`.

  Effectively, it fixes the clang-tidy's `modernize-use-default-member-init` errors, and forces clang-tidy checks for all headers in the `src/qt` directory.

ACKs for top commit:
  jarolrod:
    ACK 7b7cd11244

Tree-SHA512: 79525bb0f31ae7cad88c781e55091a21467c0485ddc1ed03ad62e051480fda3b3710619ea11af480437edba3c6e038f7c40edc6b373e3a37408c006d11b34686
2023-01-17 09:54:56 +00:00
Hennadii Stepanov
306ccd4927
scripted-diff: Bump copyright headers
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py update ./
-END VERIFY SCRIPT-

Commits of previous years:
- 2021: f47dda2c58
- 2020: fa0074e2d8
- 2019: aaaaad6ac9
2022-12-24 23:49:50 +00:00
Hennadii Stepanov
69eacf2c5e
clang-tidy, qt: Fix modernize-use-default-member-init in headers
See https://clang.llvm.org/extra/clang-tidy/checks/modernize/use-default-member-init.html
2022-12-16 11:58:38 +00:00
Hennadii Stepanov
6d4889a694
Merge bitcoin-core/gui#598: Avoid recalculating the wallet balance - use model cache
4584d300a4 GUI: remove now unneeded 'm_balances' field from overviewpage (furszy)
050e8b1391 GUI: 'getAvailableBalance', use cached balance if the user did not select UTXO manually (furszy)
96e3264a82 GUI: use cached balance in overviewpage and sendcoinsdialog (furszy)
321335bf02 GUI: add getter for WalletModel::m_cached_balances field (furszy)
e62958dc81 GUI: sendCoinsDialog, remove duplicate wallet().getBalances() call (furszy)

Pull request description:

  As per the title says, we are recalculating the entire wallet balance on different situations calling to `wallet().getBalances()`, when should instead make use of the wallet model cached balance.

  This has the benefits of (1) not spending resources calculating a balance that we already have cached, and (2) avoid blocking the main thread for a long time, in case of big wallets, walking through the entire wallet's tx map more than what it's really needed.

  Changes:

  1) Fix: `SendCoinsDialog` was calling `wallet().getBalances()` twice during `setModel`.
  2) Use the cached balance if the user did not select any UTXO manually inside the wallet model `getAvailableBalance` call.

  -----------------------
  As an extra note, this work born in [#25005](https://github.com/bitcoin/bitcoin/pull/25005) but grew out of scope of it.

ACKs for top commit:
  jarolrod:
    ACK 4584d300a4
  hebasto:
    re-ACK 4584d300a4, only suggested changes and commit message formatting since my [recent](https://github.com/bitcoin-core/gui/pull/598#pullrequestreview-1071268192) review.

Tree-SHA512: 6633ce7f9a82a3e46e75aa7295df46c80a4cd4a9f3305427af203c9bc8670573fa8a1927f14a279260c488cc975a08d238faba2e9751588086fea1dcf8ea2b28
2022-08-15 19:38:17 +01:00
furszy
4584d300a4
GUI: remove now unneeded 'm_balances' field from overviewpage 2022-08-12 13:06:10 -03:00
furszy
96e3264a82
GUI: use cached balance in overviewpage and sendcoinsdialog
Plus, calculate the cached balance right when the wallet model, so the wallet widgets don't need to redo the same balance calculation multiple times when they are waiting for the model balance polling timer.

----------------------------------------------------------------------

test wise: `WalletTests` now need to trigger the walletModel balance changed manually. So the model updates its internal state and can be used by the widgets.

This is because the test does not start the balance polling timer, in the same way as does not initialize several parts of the GUI workflow. All the objects (wallet, models, views, etc) that are used on this test are manually created instead of using the `WalletController` class flow.

Rationale is that this unit test is focused on verifying the GUI widgets/views behavior only: update the presented information, etc. when they receive different signals and/or function calls from outside (in other words, focus is on the signal slots/receiver side). It's not about whether the wallet balance polling timer is functioning as expected or not (which we definitely create a new test case for it in a follow-up work).
2022-08-12 13:06:05 -03:00
fanquake
7aa40f5563
refactor: use C++11 default initializers 2022-05-17 17:18:58 +01:00
Hennadii Stepanov
aa23960fdf qt, refactor: Make BitcoinUnits::Unit a scoped enum 2022-02-22 13:50:30 -08:00
Hennadii Stepanov
f47dda2c58
scripted-diff: Bump copyright headers
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py update ./
-END VERIFY SCRIPT-

Commits of previous years:
* 2020: fa0074e2d8
* 2019: aaaaad6ac9
2021-12-30 19:36:57 +02:00
Andrew Poelstra
f9ced2d442 Merge 484d4ee226 into merged_master (Bitcoin PR bitcoin-core/gui#365) 2021-07-30 18:52:11 +00:00
Andrew Poelstra
bccdd19229 Merge 34f554dbd3 into merged_master (Bitcoin PR bitcoin-core/gui#366) 2021-07-30 01:15:27 +00:00
Andrew Poelstra
525ef7f1db Merge 6f3fbc062f into merged_master (Bitcoin PR bitcoin-core/gui#333) 2021-07-25 03:33:47 +00:00
Andrew Poelstra
2645f8139a Merge 123b401e0a into merged_master (Bitcoin PR bitcoin-core/gui#275) 2021-07-18 22:35:11 +00:00
Hennadii Stepanov
484d4ee226
Merge bitcoin-core/gui#365: Draw "eye" sign at the beginning of watch-only addresses
cd46c11577 qt: Draw "eye" sign at the beginning of watch-only addresses (Hennadii Stepanov)
9ea1da6fc9 qt: Do not extend recent transaction width to address/label string (Hennadii Stepanov)

Pull request description:

  This PR guaranties that the "eye" sign won't be hidden for very long addresses/labels.

  No longer need to extend `TransactionOverviewWidget` widget width to make "eye" signs shown:

  ![Screenshot from 2021-06-15 00-21-05](https://user-images.githubusercontent.com/32963518/121961807-9123b600-cd70-11eb-8cdd-8b2b0d1bf44f.png)

  Fixes https://github.com/bitcoin-core/gui/issues/373

ACKs for top commit:
  jarolrod:
    ACK cd46c11577

Tree-SHA512: 0602b5bb65d53c5b18e86260750006bba03adbae181917b5a2b7f89b17290bd1f57b4f80adaba32f42cc6fb468598a888b12c0b6b09005d2f2c07bd4d1ad334a
2021-07-05 23:48:21 +03:00
Hennadii Stepanov
cd46c11577
qt: Draw "eye" sign at the beginning of watch-only addresses 2021-06-28 12:09:42 +03:00
Hennadii Stepanov
9ea1da6fc9
qt: Do not extend recent transaction width to address/label string 2021-06-28 12:05:15 +03:00
Andrew Poelstra
29e3669e30 Merge 7fca189a2a into merged_master (Bitcoin PR #79)
For this one I just re-applied the patch from the diff on Github.
It basically just removes the Monospace font property from all UI
elements in overviewpage.ui.
2021-06-24 20:34:07 +00:00
Luke Dashjr
9d5bf6bf01 GUI: Always call parent changeEvent handler 2021-06-22 19:24:44 +00:00
Luke Dashjr
c901d4d8ce GUI: Enable palette change adaptation on all platforms 2021-06-22 19:24:42 +00:00
Andrew Poelstra
1ec69ba287 Merge 5f65f13597 into merged_master (Bitcoin PR bitcoin-core/gui#189) 2021-06-18 22:21:57 +00:00
Andrew Poelstra
e6aff07a8b Merge 7f653c3b22 into merged_master (Bitcoin PR bitcoin-core/gui#176) 2021-06-18 15:51:47 +00:00
Andrew Poelstra
27930edc9c Merge 4a540683ec into merged_master (Bitcoin PR #20813) 2021-06-16 14:11:07 +00:00
Hennadii Stepanov
bd50ff9290
qt: Drop redundant OverviewPage::handleOutOfSyncWarningClicks slot
This change makes a connection directly to the signal that was emitted
in the removed slot.

This commit does not change behavior.
2021-06-06 01:04:15 +03:00
Andrew Poelstra
436a1295e9 Merge 0a267f4eb8 into merged_master (Bitcoin PR bitcoin-core/gui#46) 2021-05-06 22:08:23 +00:00
Hennadii Stepanov
97a6b5e06a
qt: Make OverviewPage aware of runtime palette change
This change fixes the GUI when changing appearance on macOS.
2021-05-01 15:07:11 +03:00
Hennadii Stepanov
67f26319a0
gui: Add monospaced font settings 2021-02-21 21:01:42 +02:00
Hennadii Stepanov
22e0114d05
qt: Choose monospaced font in C++ code rather in *.ui file
Setting the "Monospace" font family in a `*.ui` file does not work on
macOS, at least on Big Sur with Qt 5.15 (neither via the "font" property
nor via the "styleSheet" property). Qt chooses the ".AppleSystemUIFont"
instead of ".AppleSystemUIFontMonospaced".

This change makes macOS choose the correct monospaced font.
2021-02-21 21:01:03 +02:00
Jonas Schnelli
5f65f13597
Merge bitcoin-core/gui#189: qt: drop workaround for QTBUG-42503 which was fixed in Qt 5.5.0
a2a3f4cd8d qt: drop workaround for QTBUG-42503 which was fixed in Qt 5.5.0 (Pavol Rusnak)

Pull request description:

  Fixes https://github.com/bitcoin-core/gui/issues/101

ACKs for top commit:
  jonasschnelli:
    Tested ACK a2a3f4cd8d -

Tree-SHA512: 9ccbc20ff7991ec70cac7d4e4413f9d80a1de453e217d03927a5f167e87eae7f369f0ad437c40c8107e5384c5c5c758659ed0db923837a38f8d705f01f9cb798
2021-01-26 10:41:23 +01:00
Pavol Rusnak
a2a3f4cd8d
qt: drop workaround for QTBUG-42503 which was fixed in Qt 5.5.0
Fixes https://github.com/bitcoin-core/gui/issues/101
2021-01-19 16:27:58 +01:00
Hennadii Stepanov
f0d04795e2
qt: Fix TxViewDelegate layout
This change (1) prevents overlapping date and amount strings,
and (2) guaranties that "eye" sign at the end of the watch-only
address/label is always visible.
2021-01-05 22:47:12 +02:00
Hennadii Stepanov
d439921406
qt: Add TransactionOverviewWidget class 2021-01-05 22:10:10 +02:00
MarcoFalke
fa0074e2d8
scripted-diff: Bump copyright headers
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py update ./
-END VERIFY SCRIPT-
2020-12-31 09:45:41 +01:00
Andrew Poelstra
c3b6bbba4a Merge 0865a8881d into merged_master (Bitcoin PR bitcoin-core/gui#3) 2020-11-26 01:09:08 +00:00
Andrew Poelstra
475228fa8d Merge 5f75c5e7df into merged_master (Bitcoin PR #16432)
Did my best to manually merge the changes to the UI properties. But we should
manually test this/followup after the rebase.
2020-11-26 01:08:52 +00:00
Andrew Poelstra
7c5fd66303 Merge eb2ffbb7c1 into merged_master (Bitcoin PR #18914) 2020-11-26 01:08:41 +00:00
Andrew Poelstra
1c12ae1719 Merge eef90c14ed into merged_master (Bitcoin PR #16528)
This is the 43-commit descriptor wallet PR. It was remarkably easy to merge, given
its magnitude. With this commit Elements supports importing Bitcoin descriptors
and deriving (Bitcoin) addresses, though of course it does not support blinding
yet. That is a post-rebase project.

The material changes were:

1. Changing constants in the tests (super annoying but nothing surprising)

2. Adding a missing "skip if this coin is not ours" check in src/script/sign.cpp
   which was causing us to erroneously remove existing witnesses from transactions.
   This wasn't a problem before this commit since we would only ask specific
   scriptpubkeymans to sign, and we'd never ask any to sign inputs we didn't
   own. Andy simplified the logic here to always try every scriptpubkeyman,
   which means they have to play a bit more nicely with each other.

Other than that, this was a big diff with many conflicts but literally all of
them were "we both added code" and the resolution was to take both sides.
2020-11-26 01:08:31 +00:00
Andrew Poelstra
90c7d5774a Merge ac579ada7e into merged_master (Bitcoin PR #18278) 2020-11-26 01:08:00 +00:00
Andrew Poelstra
009bc2fdfb Merge 99813a9745 into merged_master (Bitcoin PR #17829) 2020-11-14 16:52:02 +00:00