aboutsummaryrefslogtreecommitdiff
path: root/src/qt
AgeCommit message (Collapse)Author
2021-05-17qt, test: use qsignalspy instead of qeventloopJarol Rodriguez
2021-05-17qt: Add shortcuts for console font resize buttonsHennadii Stepanov
Co-authored-by: Jarol Rodriguez <jarolrod@tutanota.com>
2021-05-17qt: Add GUIUtil::AddButtonShortcutHennadii Stepanov
Co-authored-by: Jarol Rodriguez <jarolrod@tutanota.com>
2021-05-17qt: English translations updateW. J. van der Laan
Update for Transifex. Needed after bitcoin/bitcoin#21836.
2021-05-16qt: Replace disambiguation strings with translator commentsHennadii Stepanov
Translator comments is the right way to pass context to translators.
2021-05-15qt, refactor: Revert explicit including QStringBuilderHennadii Stepanov
2021-05-15qt, build: Optimize string concatenationHennadii Stepanov
The defined QT_USE_QSTRINGBUILDER macro means using the QStringBuilder for efficient string concatenation in all Qt code by default.
2021-05-15qt: make console buttons look clickableJarol Rodriguez
Change the type for the console's buttons to QToolButton which will make them look explicitly clickable, which in turn fixes the small hitbox issue for macOS. With this change, we need to generalize the respective action connect logic from QPushButton to QAbstractButton. While here, update width and height of icon for consistency with other tool buttons.
2021-05-14qt: Use native presentation of shortcutHennadii Stepanov
2021-05-12qt: Align numbers in the "Peer Id" column to the rightHennadii Stepanov
2021-05-12scripted-diff: rename NetPermissionFlags enumeratorsJon Atack
- drop redundant PF_ permission flags prefixes - drop ALL_CAPS naming per https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Renum-caps - rename IsImplicit to Implicit -BEGIN VERIFY SCRIPT- s() { git grep -l "$1" src | xargs sed -i "s/$1/$2/g"; } s 'PF_NONE' 'None' s 'PF_BLOOMFILTER' 'BloomFilter' s 'PF_RELAY' 'Relay' s 'PF_FORCERELAY' 'ForceRelay' s 'PF_DOWNLOAD' 'Download' s 'PF_NOBAN' 'NoBan' s 'PF_MEMPOOL' 'Mempool' s 'PF_ADDR' 'Addr' s 'PF_ISIMPLICIT' 'Implicit' s 'PF_ALL' 'All' -END VERIFY SCRIPT-
2021-05-12scripted-diff: add NetPermissionFlags scopes where not already presentJon Atack
-BEGIN VERIFY SCRIPT- s() { git grep -l "$1" -- 'src' ':!src/net_permissions.h' | xargs sed -i -E "s/([^:])$1/\1NetPermissionFlags::$1/"; } s 'PF_NONE' s 'PF_BLOOMFILTER' s 'PF_RELAY' s 'PF_FORCERELAY' s 'PF_DOWNLOAD' s 'PF_NOBAN' s 'PF_MEMPOOL' s 'PF_ADDR' s 'PF_ISIMPLICIT' s 'PF_ALL' -END VERIFY SCRIPT- Co-authored-by: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com>
2021-05-11Merge bitcoin/bitcoin#21752: doc: Clarify that feerates are per virtual sizeMarcoFalke
fae196147bae11202c0d54543dc12ba5d92ab0cc doc: Clarify that feerates are per virtual size (MarcoFalke) fa83e95ac6f318caa38016a08fa4e402c3b05833 scripted-diff: Clarify that feerates are per virtual size (MarcoFalke) Pull request description: By implementing segwit, it is already clear that all feerates in Bitcoin Core are denoted in (amount/virtual size). Though, there is inconsistency, as some places use kvB, some use kB. Thus, replace all with "kvB". See also commit 6da3afbaee5809ebf6d88efaa3958c505c2d71c7, which did the replacement for wallet RPCs. ACKs for top commit: ryanofsky: Code review ACK fae196147bae11202c0d54543dc12ba5d92ab0cc. Checked instances where units were being added in the second commit and they all looked right. Tree-SHA512: ab70d13cde7d55c1ac931bddc2b45aa218fc75ef46cb6ea9e5a30b1d4dbf27889c2b6357299a6c5427912443a46ec3592a4809dae335e03162bd2120a0f7f8ad
2021-05-11Merge bitcoin-core/gui#271: Don't clear console prompt when font resizingW. J. van der Laan
7962e0dde8bbd0fa3dd702e2224774f1edaadcb6 qt: Do not clear console prompt when font resizing (Hennadii Stepanov) d2cc3390054616c73f72a59f864700f6de14067b qt, refactor: Drop redundant history cleaning in RPC console (Hennadii Stepanov) 4f0ae472e22990ad9e734faea4adacef8df449bb qt: Untie irrelevant signal-slot parameters (Hennadii Stepanov) Pull request description: On master, a console resize event will clear the prompt. To fix this, we store the content of the prompt and re-set it upon a resize. This preserves the prompt text throughout resizes. The text will still clear when you click the clear button, as it should. **Master** | Before Resize | After Resize | | ----------------- | ------------ | | ![master-beforeresize](https://user-images.githubusercontent.com/23396902/113553721-2a428d80-95c6-11eb-971b-bb77151bc6d5.png) | ![master-afterresize](https://user-images.githubusercontent.com/23396902/113553769-3d555d80-95c6-11eb-9cdb-9ad1fd7208a9.png) | **PR** | Before Resize | After Resize | | ----------------- | ------------ | | ![pr-beforeresize](https://user-images.githubusercontent.com/23396902/113553885-6f66bf80-95c6-11eb-8317-0975f1ebd444.png) | ![pr-afterresize](https://user-images.githubusercontent.com/23396902/113553906-75f53700-95c6-11eb-9a32-b64d8aba98e5.png) | Closes #269 ACKs for top commit: laanwj: Code review ACK 7962e0dde8bbd0fa3dd702e2224774f1edaadcb6 hebasto: ACK 7962e0dde8bbd0fa3dd702e2224774f1edaadcb6 Talkless: tACK 7962e0dde8bbd0fa3dd702e2224774f1edaadcb6, tested on Debian Sid with Qt 5.15.2 Tree-SHA512: a6f19d3f80e2e47725cff5d6e15862b6cb793a65dfcaded15f23bba051088cd3317f068f93290c9b09d0a90f5fcac1c5a4610cc417cc5961ba6d005fe5049ab0
2021-05-11Merge bitcoin-core/gui#293: Enable wordWrap for ServicesHennadii Stepanov
a0f797867433b0d3e8d7851ddf05743fe70d320a qt: enable wordWrap for peers-tab detail services (randymcmillan) Pull request description: Enable wordWrap for peers-tab detailView Services ACKs for top commit: Talkless: tACK a0f797867433b0d3e8d7851ddf05743fe70d320a on same environment as previously. hebasto: ACK a0f797867433b0d3e8d7851ddf05743fe70d320a, tested on Linux Mint 20.1 (Qt 5.12.8): kristapsk: re-ACK a0f797867433b0d3e8d7851ddf05743fe70d320a. Tested under Gentoo Linux with Xfce4 (Qt 5.15.2). Tree-SHA512: 872e511d2ecfa72fea0fd3284a958b45ee8aee138469ce7f9cd853cd9098b9583917909934b0a5c96f9b81ea1567bcea6a037558829bb79f2a3f413a83df06e6
2021-05-11Merge bitcoin-core/gui#280: Remove user input from URI error messageHennadii Stepanov
3bad0b3fada9ab7c5b03d31dc33d72654c1ba2be Remove user input from URI error message (unknown) Pull request description: Removes the user input from error message to avoid it being used in attacks. Its not really a vulnerability in Bitcoin Core because involves social engineering, dependency on user environment etc. But this PR improves security and by avoiding abuse of URI error in future. Example of an attack: 1. User opens a link in firefox: ``` bitcoin:tb1qag2e6yhl52hr53vdxzaxvnjtueupvuftan4yfu%0A%0AWARNING%3A%20DO%20NOT%20CLOSE%20THIS%20WINDOW%20OR%20TURN%20OFF%20YOUR%20PC!%20IF%20YOU%20ABORT%20THIS%20PROCESS%2C%20YOU%20COULD%20DESTROY%20ALL%20OF%20YOU%20DATA!%20PLEASE%20ENSURE%20THAT%20YOUR%20POWER%20CABLE%20IS%20PLUGGED%20IN!%0A%0AYou%20became%20victim%20of%20the%20XYZ%20RANSOMWARE!%0A%0AThe%20hard%20disks%20of%20your%20computer%20have%20been%20encrypted%20with%20a%20military%20grade%20encryption%20algorithm.%20There%20is%20no%20way%20to%20restore%20your%20data%20without%20a%20special%20key.%20You%20can%20purchase%20this%20key%20on%20the%20darknet%20page%20shown%20in%20step%202.%0ATo%20purchase%20your%20key%20and%20restore%20your%20data%2C%20please%20follow%20these%20three%20easy%20steps%3A%0A%0A1.%20Download%20the%20Tor%20browser%20at%20%E2%80%9Chttps%3A%2F%2Fwww.torproject.org%2F%E2%80%9C.%0A2.%20Visit%20one%20of%20the%20following%20pages%20with%20the%20Tor%20Browser%3A%0Ahttp%3A%2F%2Frandomchars.onion%2Fabc123%0A3.%20Send%20BTC%20by%20following%20the%20instructions%20on%20the%20page ``` 2. User selects Bitcoin Core to open the link: ![image](https://user-images.githubusercontent.com/13405205/114619801-8ee9a080-9cc8-11eb-9fad-23a2b831e8df.png) 3. User is asked to send BTC with some message convincing enough which can be different depending on the victim: ![image](https://user-images.githubusercontent.com/13405205/114620061-d3753c00-9cc8-11eb-8314-e3362ebb90ac.png) **After this PR** (_No user input mentioned in the error_): ![image](https://user-images.githubusercontent.com/13405205/114624342-2b627180-9cce-11eb-93a8-0b2438d71571.png) ACKs for top commit: hebasto: ACK 3bad0b3fada9ab7c5b03d31dc33d72654c1ba2be, tested on Linux Mint 20.1 (Qt 5.12.8). jarolrod: tACK 3bad0b3fada9ab7c5b03d31dc33d72654c1ba2be Tree-SHA512: aac2fdfcaa7a9cd6582750c1960682554795640f5aacb78bdae121724e1151da3cbb62b8f8b1e0bc37347afe78b3e9a446277cab8e009d2a1050c0e971f001b3
2021-05-10Merge bitcoin-core/gui#194: Save/restore RPCConsole geometry only for windowHennadii Stepanov
01d9586ae85e49efaa00f11c1f26c24c9b82b278 qt: Save/restore RPCConsole geometry only for window (Hennadii Stepanov) Pull request description: After using the GUI with `-disablewallet` the "Node window" inherits the geometry of the main window, that could be unexpected for users. This PR provides independent geometry settings for `RPCConsole` in both modes: - window sizes and `QSplitter` sizes when `-disablewallet=0` - only `QSplitter` sizes when `-disablewallet=1` ACKs for top commit: Talkless: tACK 01d9586ae85e49efaa00f11c1f26c24c9b82b278, tested on Debian Sid with Qt 5.15.2. I've managed to reproduce issue using https://github.com/bitcoin-core/gui/pull/194#issuecomment-782822663 instructions, and I see that this PR does detach main window and information window sizes. Built with `--enable-wallet` and `--disable-wallet`. jarolrod: ACK 01d9586ae85e49efaa00f11c1f26c24c9b82b278, tested on macOS 11.2 Qt 5.15.2 promag: Code review ACK 01d9586ae85e49efaa00f11c1f26c24c9b82b278. Tree-SHA512: 9934cf04d4d5070dfc4671ea950e225cda9988858227e5481dad1baafa14af477bdbf4f91307ca687fde0cad6e4e605a3a99377e70d67eb115a19955ce2516f5
2021-05-10Merge bitcoin-core/gui#257: refactor: Use template function qOverload in ↵Hennadii Stepanov
signal-slot connections cdbc2bd1f1c171848c1fef7f217afe140e1afb06 qt: Use template function qOverload in signal-slot connections (Hennadii Stepanov) Pull request description: A nice template function [`qOverload`](https://doc.qt.io/qt-5/qtglobal.html#qOverload) is available for us now (https://github.com/bitcoin/bitcoin/pull/20413, https://github.com/bitcoin/bitcoin/pull/21286). Its usage makes code much more readable. This PR does not change behavior. ACKs for top commit: Talkless: utACK cdbc2bd1f1c171848c1fef7f217afe140e1afb06. promag: Code review ACK cdbc2bd1f1c171848c1fef7f217afe140e1afb06. Tree-SHA512: 72002aa646b1a79bab62d498825b3f245dc7ebdc189280f8bd3b4076e1bb50be8802c02bc872ff6f70c1ea81faec66d3bec36471119dd98c9e70d87b990396ae
2021-05-10Merge bitcoin-core/gui#296: Do not use QObject::tr plural syntax for numbers ↵Hennadii Stepanov
with a unit symbol 3adde72bc99215062c8dabd38f8c34ad093452b5 qt: Do not use QObject::tr plural syntax for numbers with a unit symbol (Hennadii Stepanov) Pull request description: Working on translation, I found this is useless and unnecessarily burdensome for translators. I guess, this statement is correct internationally wide :) ACKs for top commit: jarolrod: ACK 3adde72bc99215062c8dabd38f8c34ad093452b5 promag: Code review ACK 3adde72bc99215062c8dabd38f8c34ad093452b5. Agree with OP, looks reasonable to me. Tree-SHA512: bde65c122ca0feb7771d932cce63fd1aef1e7a9dda0188d19c577d57b279172204ac1bfcb6106a78b2c4d55d628e6dc0967051e064ec40d3c5aeafd4a48f0589
2021-05-10Merge bitcoin/bitcoin#21836: scripted-diff: Replace three dots with ellipsis ↵W. J. van der Laan
in the UI strings d66f283ac07edce432b964f7f814631f5a5bc33b scripted-diff: Replace three dots with ellipsis in the UI strings (Hennadii Stepanov) Pull request description: This PR is split from #21463. The change was suggested on [Transifex.com](https://www.transifex.com/bitcoin/bitcoin/), and it does not touch `LogPrint` and `LogPrintf` calls. The only comment on #21463 [was](https://github.com/bitcoin/bitcoin/pull/21463/commits/9030e4b5a6de54e041c59e98d91adecbebf3611a#r597220100): > Mind that these messages also end up in the log. In principle the log is already UTF-8 (as are all strings and text in bitcoind). But, just noting, that it might make browsing the log a less pleasant experience on systems with misconfigured locale like some BSDs by default. ACKs for top commit: laanwj: ACK d66f283ac07edce432b964f7f814631f5a5bc33b Tree-SHA512: 5ab1cb3160f3f996f1ad7d7486662da3eb7f06a857f4a1874963ce10caed5b86b0ad6151b1b9ebeb2b8aa5f0c85efad3b768ea9cafe5db86f78f88912b756d1e
2021-05-09qt: enable wordWrap for peers-tab detail servicesrandymcmillan
2021-05-08gui: Add access to the Peers tab from the network iconHennadii Stepanov
2021-05-05gui: rename "Peer Id" to "Peer" in tab column and details areaJon Atack
to allow resizing the column more tightly
2021-05-04refactor: Replace &foo[0] with foo.data()MarcoFalke
2021-05-03test: Use loop to register RPCsMarcoFalke
The same loop is used by the server, so no need for the tests to do this differently.
2021-05-02scripted-diff: Replace three dots with ellipsis in the UI stringsHennadii Stepanov
-BEGIN VERIFY SCRIPT- sed -i -E -e 's/\.\.\."\)(\.|,|\)| )/…"\)\1/' -- $(git ls-files -- 'src' ':(exclude)src/qt/bitcoinstrings.cpp') sed -i -e 's/\.\.\.\\"/…\\"/' src/qt/sendcoinsdialog.cpp sed -i -e 's|\.\.\.</string>|…</string>|' src/qt/forms/*.ui sed -i -e 's|\.\.\.)</string>|…)</string>|' src/qt/forms/sendcoinsdialog.ui -END VERIFY SCRIPT-
2021-05-02Remove user input from URI error messageunknown
+ Detailed error messages for invalid address + Used `IsValidDestination` instead of `IsValidDestinationString` + Referred to https://github.com/bitcoin/bitcoin/pull/20832 for solution
2021-05-01doc: Clarify that feerates are per virtual sizeMarcoFalke
2021-05-01qt: Make TransactionView aware of runtime palette changeHennadii Stepanov
This change fixes the GUI when changing appearance on macOS.
2021-05-01qt: Make CoinControlDialog aware of runtime palette changeHennadii Stepanov
This change fixes the GUI when changing appearance on macOS.
2021-05-01qt: Make OverviewPage aware of runtime palette changeHennadii Stepanov
This change fixes the GUI when changing appearance on macOS.
2021-05-01qt: Make UnitDisplayStatusBarControl aware of runtime palette changeHennadii Stepanov
This change fixes the GUI when changing appearance on macOS.
2021-05-01qt: Replace base class of ClickableLabel with ThemedLabelHennadii Stepanov
This change fixes the GUI when changing appearance on macOS.
2021-05-01qt: Use GUIUtil::ThemedLabel classHennadii Stepanov
This change fixes the GUI when changing appearance on macOS.
2021-05-01qt: Add GUIUtil::ThemedLabel classHennadii Stepanov
The ThemedLabel class correctly handles appearance changes on macOS.
2021-05-01qt: Make SignVerifyMessageDialog aware of runtime palette changeHennadii Stepanov
This change fixes the GUI when changing appearance on macOS.
2021-05-01qt: Make SendCoinsEntry aware of runtime palette changeHennadii Stepanov
This change fixes the GUI when changing appearance on macOS.
2021-05-01qt: Make RPCConsole aware of runtime palette changeHennadii Stepanov
This change fixes the GUI when changing appearance on macOS.
2021-05-01qt: Make BitcoinGUI aware of runtime palette changeHennadii Stepanov
This change fixes the GUI when changing appearance on macOS.
2021-05-01qt: Make PlatformStyle aware of runtime palette changeHennadii Stepanov
This change is a prerequisite to support changeable appearance on macOS.
2021-05-01scripted-diff: Clarify that feerates are per virtual sizeMarcoFalke
-BEGIN VERIFY SCRIPT- sed -i 's|/kB|/kvB|g' $( git grep -l '/kB' ./src ) -END VERIFY SCRIPT-
2021-04-30Merge bitcoin-core/gui#298: Peertableview alternating row colorsHennadii Stepanov
e94920a0bb859d557dd978febde0a65d46fabb68 qt: peertableview alternating row colors (randymcmillan) Pull request description: peers-tab: enable alternating row colors for peer table and banned table ACKs for top commit: Bosch-0: tACK https://github.com/bitcoin-core/gui/commit/e94920a0bb859d557dd978febde0a65d46fabb68 on Windows 10 - works as intended. Before / after below: jarolrod: tACK e94920a0bb859d557dd978febde0a65d46fabb68 Tree-SHA512: 05ba18e1db9700bbd68644fe02292409f4e5c52e301b1b2977c335d1ff16456a93fb0b15c8c8385d1b15f648141341990706d530f6b08ecb33098fa941b9af1f
2021-04-30Merge bitcoin-core/gui#300: Remove progress bar on modal overlayMarcoFalke
61fd8fe9a1ddb866ad0a41d053003e78c395f739 Remove progress bar on modal overlay (bruno) Pull request description: This PR removes the progress bar (keeping only the percentage) on modal overlay resolves #279 Before: ![1](https://user-images.githubusercontent.com/19480819/116625265-bde65000-a91f-11eb-93ee-72474fc8dd67.PNG) After: ![2](https://user-images.githubusercontent.com/19480819/116625272-c2126d80-a91f-11eb-80b7-839703f03f87.PNG) ACKs for top commit: Bosch-0: tACK https://github.com/bitcoin-core/gui/pull/300/commits/61fd8fe9a1ddb866ad0a41d053003e78c395f739 on Windows 10. Unnecessary Progress bar no longer there :) jarolrod: tACK 61fd8fe9a1ddb866ad0a41d053003e78c395f739 Tree-SHA512: 96d72f168b26e950ce37e9f489bcbcc608473c44bce3be127ccd47d17b7642fa234d314596186ee16b430d943575c312d84133425507a17ae7ac58ecae986639
2021-04-30qt: Use template function qOverload in signal-slot connectionsHennadii Stepanov
This commit does not change behavior.
2021-04-29Merge bitcoin-core/gui#125: Enable changing the autoprune block space size ↵Hennadii Stepanov
in intro dialog 415fb2e1abac189fcbe8eccf2ea065724d17460f GUI/Intro: Move prune setting below explanation (Luke Dashjr) 2a84c6bcf61429ac507b506a39247b3a66edbcb4 GUI/Intro: Estimate max age of backups that can be restored with pruning (Luke Dashjr) e2dcd957fa206a28404ff824fb764b8889705fb2 GUI/Intro: Rework UI flow to let the user set prune size in GBs (Luke Dashjr) f2e5a6b54fa38b10d822609939b8108bd8fe041b GUI/Intro: Abstract GUI-to-option into Intro::getPrune (Luke Dashjr) 62932cc686dc46ce14c026993deea8e561654177 GUI/Intro: Return actual prune setting from showIfNeeded (Luke Dashjr) Pull request description: ![Screenshot_20200911_095102](https://user-images.githubusercontent.com/1095675/92933661-0c4cea00-f436-11ea-9853-2456091ffab3.png) Moved from https://github.com/bitcoin/bitcoin/pull/18728 ACKs for top commit: ryanofsky: Code review ACK 415fb2e1abac189fcbe8eccf2ea065724d17460f. Changes since last review: mb/gib suffixes, constexpr QOverload expected_backup_days tweaks, new moveonly layout commit jarolrod: Tested ACK 415fb2e. Talkless: tACK 415fb2e1abac189fcbe8eccf2ea065724d17460f, tested on Debian Sid with Qt 5.15.2. hebasto: ACK 415fb2e1abac189fcbe8eccf2ea065724d17460f, my unresolved comments are not blockers, and they could be resolved in follow ups. Tree-SHA512: bd4882a9c08e6a6eb14b7fb6366983db8581425b4949fea212785d34d8fad9e32fb81ca8c8cdbfb2c05ea394aaf5a746ba2cf16623795c7252c3bdb61d455f00
2021-04-29qt: Refactor to remove unnecessary block in DispatchNotificationsJoão Barbosa
Review with --ignore-all-space
2021-04-29qt: Early subscribe core signals in transaction table modelJoão Barbosa
2021-04-29qt: Refactor ShowProgress to DispatchNotificationsJoão Barbosa
2021-04-28qt: Set flag after inital load on transaction table modelJoão Barbosa
2021-04-28Merge bitcoin-core/gui#18: Add peertablesortproxy moduleHennadii Stepanov
5a4a15d2b4456272fd8aa080195f40a09576ae01 qt, refactor: Drop no longer used PeerTableModel::getRowByNodeId func (Hennadii Stepanov) 9a9f180df0d51396fee2468681df6dd935b0248e qt, refactor: Drop no longer used PeerTableModel::sort function (Hennadii Stepanov) 778a64af209e4fa692a3aca8376ba1bd5e1af881 qt: Use PeerTableSortProxy for sorting peer table (Hennadii Stepanov) df2d165ba9e0acc53f36a326f68f57ad9c297872 qt: Add peertablesortproxy module (Hennadii Stepanov) Pull request description: The "Peers" table in the "Node" window does not hold multiple selection after sorting. This PR introduces a `QSortFilterProxyModel` subclass, that is a standard Qt [practice](https://doc.qt.io/qt-5/model-view-programming.html#custom-sorting-models) for such cases. Now the sorting code is encapsulated into the dedicated Qt class, and we do not need to maintain it. Fixes #283 (additionally). --- On **master** (7ae86b3c6845873ca96650fc69beb4ae5285c801): - rows are sorted by "Ping", and a selection is made ![Screenshot from 2020-11-28 22-53-11](https://user-images.githubusercontent.com/32963518/100525900-96eaed00-31cc-11eb-86e7-72ede3b8b33c.png) - rows are sorted by "NodeId", and the previous selection is _lost_ ![Screenshot from 2020-11-28 22-53-21](https://user-images.githubusercontent.com/32963518/100525904-9c483780-31cc-11eb-957c-06f53d7d31ab.png) With **this PR**: - rows are sorted by "Ping", and a selection is made ![Screenshot from 2020-11-28 22-39-41](https://user-images.githubusercontent.com/32963518/100525776-06aca800-31cc-11eb-8c4e-9c6566fe80fe.png) - rows are sorted by "NodeId", and the row are still selected ![Screenshot from 2020-11-28 22-39-53](https://user-images.githubusercontent.com/32963518/100525791-2348e000-31cc-11eb-8b78-716a5551d7ec.png) ACKs for top commit: jarolrod: re-ACK 5a4a15d2b4456272fd8aa080195f40a09576ae01, tested on macOS 11.2 Qt 5.15.2 after rebase promag: Tested ACK 5a4a15d2b4456272fd8aa080195f40a09576ae01. Tree-SHA512: f81c1385892fbf1a46ffb98b42094ca1cc97da52114bbbc94fedb553899b1f18c26a349e186bba6e27922a89426bd61e8bc88b1f7832512dbe211b5f834e076e