Hennadii Stepanov
526f67a5ca
Merge bitcoin-core/gui#704 : Correctly limit overview transaction list
...
08209c039f Correctly limit overview transaction list (John Moffett)
Pull request description:
Fixes #703
The way the main overview page limits the number of transactions displayed (currently 5) is not an appropriate use of Qt. Our subclassed transaction sort/filter proxy model returns a maximum of `5` in `rowCount()`. However, the model itself actually may hold significantly more. While this has _worked_, it breaks the contract of `rowCount()`.
If `bitcoin-qt` is run with a DEBUG build of Qt, it'll result in an assert-crash in certain relatively common situations (see #703 for details). Instead of artificially limiting the `rowCount()` in the subclassed filter, we can hide/unhide the rows in the displaying `QListView` upon any changes in the sorted proxy filter.
I loaded a wallet with 20,000 transactions and did not notice any performance differences between master and this branch.
For reference, this is the list I'm referring to:
<img width="934" alt="image" src="https://user-images.githubusercontent.com/116917595/214947304-3f289380-3510-487b-80e8-d19428cf2f0f.png ">
ACKs for top commit:
Sjors:
tACK 08209c039f
hebasto:
ACK 08209c039f , tested on Ubuntu 22.04.
Tree-SHA512: c2a7b1a2a6e6ff30694830d7c722274c4c47494a81ce9ef25f8e5587c24871b02343969f4437507693d4fd40ba7a212702b159cf54b3357d8d76c02bc8245113
2023-02-02 11:45:26 +00:00
..
2023-02-01 11:33:35 +01:00
2023-01-26 10:44:05 +01:00
2023-01-04 12:00:25 +00:00
2023-01-04 18:07:31 +00:00
2022-08-13 13:55:38 +01:00
2023-01-31 11:50:10 +00:00
2023-01-31 19:34:35 +01:00
2022-12-24 23:49:50 +00:00
2023-01-04 17:53:58 +00:00
2022-12-24 23:49:50 +00:00
2023-01-30 10:26:02 +00:00
2022-09-29 16:43:30 +01:00
2023-01-31 18:48:50 +01:00
2022-10-23 15:03:04 +01:00
2023-01-30 17:27:44 +00:00
2023-01-31 11:50:10 +00:00
2022-12-24 23:49:50 +00:00
2023-02-02 11:45:26 +00:00
2023-01-31 18:22:19 +01:00
2023-02-01 11:33:35 +01:00
2022-12-12 23:40:36 -05:00
2023-01-31 11:50:10 +00:00
2023-02-02 10:47:37 +00:00
2023-01-31 11:50:10 +00:00
2023-02-01 11:33:35 +01:00
2023-02-01 17:14:13 -05:00
2023-01-31 11:50:10 +00:00
2023-02-01 11:33:35 +01:00
2023-01-31 16:08:44 -05:00
2023-01-26 18:11:13 -05:00
2023-01-31 16:08:44 -05:00
2023-02-01 10:18:08 -05:00
2022-12-24 23:49:50 +00:00
2023-02-01 11:33:35 +01:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2022-09-09 11:47:27 -04:00
2023-01-11 16:39:11 +00:00
2023-01-13 09:40:57 +00:00
2023-01-26 10:44:05 +01:00
2023-01-13 09:40:57 +00:00
2022-12-24 23:49:50 +00:00
2023-01-26 10:44:05 +01:00
2023-01-23 17:18:35 +01:00
2023-01-31 19:34:35 +01:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2023-01-05 09:05:14 +00:00
2022-12-24 23:49:50 +00:00
2022-09-09 10:07:39 +02:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2023-01-31 11:50:10 +00:00
2023-01-31 11:50:10 +00:00
2022-12-24 23:49:50 +00:00
2023-01-26 10:44:05 +01:00
2023-01-26 11:51:33 +00:00
2023-01-31 11:50:10 +00:00
2022-12-24 23:49:50 +00:00
2023-01-31 11:50:10 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2023-02-01 11:33:35 +01:00
2023-02-01 11:33:35 +01:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2023-01-18 15:47:06 +00:00
2022-12-24 23:49:50 +00:00
2023-01-30 15:57:12 +00:00
2022-08-30 12:09:04 -04:00
2022-08-29 08:10:35 -04:00
2022-12-24 23:49:50 +00:00
2023-01-05 17:54:08 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2023-01-27 17:33:11 +01:00
2022-12-24 23:49:50 +00:00
2023-01-31 19:34:35 +01:00
2023-01-31 11:50:10 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2023-01-31 17:55:44 +00:00
2022-11-15 19:23:39 -05:00
2022-07-21 10:42:09 +01:00
2022-09-13 17:15:17 +01:00
2022-09-13 17:15:17 +01:00
2022-11-17 14:52:45 +00:00
2023-01-27 09:26:29 +00:00
2023-01-23 17:29:41 +01:00
2022-12-24 23:49:50 +00:00
2023-01-28 15:24:13 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2023-01-29 17:35:15 -05:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2023-02-01 09:42:46 +01:00
2023-01-26 18:11:13 -05:00
2023-01-10 14:23:27 +01:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2023-01-19 17:51:21 -05:00
2023-01-13 09:40:57 +00:00
2023-01-13 09:40:57 +00:00
2023-01-12 13:42:44 +00:00
2023-01-12 13:42:44 +00:00
2023-01-23 16:36:27 +01:00
2023-01-26 10:44:05 +01:00
2023-01-12 13:42:44 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2023-01-31 11:50:10 +00:00
2022-12-24 23:49:50 +00:00
2023-01-31 11:50:10 +00:00
2023-02-02 10:47:37 +00:00
2023-01-25 09:33:26 +01:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2023-01-31 11:50:10 +00:00
2023-01-31 11:50:10 +00:00
2023-01-31 11:50:10 +00:00
2023-01-20 10:36:48 -05:00
2023-01-20 10:36:48 -05:00
2023-02-01 11:33:35 +01:00
2023-02-01 11:33:35 +01:00
2023-01-26 10:36:18 +00:00
2023-01-26 10:36:18 +00:00
2022-12-24 23:49:50 +00:00
2023-01-16 17:31:32 +01:00
2023-01-16 13:44:56 +01:00
2023-02-01 11:33:35 +01:00
2023-01-05 09:05:14 +00:00
2023-01-03 19:31:29 -06:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00
2022-12-24 23:49:50 +00:00