Modernize custom filtering #899

pull hebasto wants to merge 1 commits into bitcoin-core:master from hebasto:251008-deprecated changing 1 files +46 −0
  1. hebasto commented at 4:50 pm on October 8, 2025: member

    In QSortFilterProxyModel::invalidateFilter() is scheduled for deprecation in Qt 6.13. and emits warnings in Qt 6.10

    QSortFilterProxyModel::beginFilterChange() was introduced in Qt 6.9.

    QSortFilterProxyModel::endFilterChange() was introduced in Qt 6.10.

    Fixes https://github.com/bitcoin/bitcoin/issues/33571.

  2. DrahtBot commented at 4:50 pm on October 8, 2025: contributor

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK maflcko, pablomartin4btc

    If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

  3. hebasto force-pushed on Oct 8, 2025
  4. RandyMcMillan commented at 6:18 pm on October 10, 2025: contributor

    macOS 14.7.7 (23H723) - confirming build not broken with this change.

     0git at DeepSpaceM1 in /Users/Shared/bitcoincore-dev/.github/bitcoin/pr899.02 on 1916/918471/328849/b510893d00/1a11cacf52-1a11cac [?$]
     1$ ./bin/test_bitcoin-qt 
     2********* Start testing of AppTests *********
     3Config: Using QtTest library 6.9.2, Qt 6.9.2 (arm64-little_endian-lp64 shared (dynamic) release build; by Apple LLVM 16.0.0 (clang-1600.0.26.6)), macos 14.7.7
     4PASS   : AppTests::initTestCase()
     5QWARN  : AppTests::appTests() Skipping AppTests on mac build with 'minimal' platform set due to Qt bugs. To run AppTests, invoke with 'QT_QPA_PLATFORM=cocoa test_bitcoin-qt' on mac, or else use a linux or windows build.
     6PASS   : AppTests::appTests()
     7PASS   : AppTests::cleanupTestCase()
     8Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted, 1ms
     9********* Finished testing of AppTests *********
    10********* Start testing of OptionTests *********
    11Config: Using QtTest library 6.9.2, Qt 6.9.2 (arm64-little_endian-lp64 shared (dynamic) release build; by Apple LLVM 16.0.0 (clang-1600.0.26.6)), macos 14.7.7
    12PASS   : OptionTests::initTestCase()
    13PASS   : OptionTests::migrateSettings()
    14PASS   : OptionTests::integerGetArgBug()
    15PASS   : OptionTests::parametersInteraction()
    16PASS   : OptionTests::extractFilter()
    17PASS   : OptionTests::cleanupTestCase()
    18Totals: 6 passed, 0 failed, 0 skipped, 0 blacklisted, 11ms
    19********* Finished testing of OptionTests *********
    20********* Start testing of URITests *********
    21Config: Using QtTest library 6.9.2, Qt 6.9.2 (arm64-little_endian-lp64 shared (dynamic) release build; by Apple LLVM 16.0.0 (clang-1600.0.26.6)), macos 14.7.7
    22PASS   : URITests::initTestCase()
    23PASS   : URITests::uriTests()
    24PASS   : URITests::cleanupTestCase()
    25Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted, 0ms
    26********* Finished testing of URITests *********
    27********* Start testing of RPCNestedTests *********
    28Config: Using QtTest library 6.9.2, Qt 6.9.2 (arm64-little_endian-lp64 shared (dynamic) release build; by Apple LLVM 16.0.0 (clang-1600.0.26.6)), macos 14.7.7
    29PASS   : RPCNestedTests::initTestCase()
    30PASS   : RPCNestedTests::rpcNestedTests()
    31PASS   : RPCNestedTests::cleanupTestCase()
    32Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted, 7ms
    33********* Finished testing of RPCNestedTests *********
    34********* Start testing of WalletTests *********
    35Config: Using QtTest library 6.9.2, Qt 6.9.2 (arm64-little_endian-lp64 shared (dynamic) release build; by Apple LLVM 16.0.0 (clang-1600.0.26.6)), macos 14.7.7
    36PASS   : WalletTests::initTestCase()
    37QWARN  : WalletTests::walletTests() Skipping WalletTests on mac build with 'minimal' platform set due to Qt bugs. To run AppTests, invoke with 'QT_QPA_PLATFORM=cocoa test_bitcoin-qt' on mac, or else use a linux or windows build.
    38PASS   : WalletTests::walletTests()
    39PASS   : WalletTests::cleanupTestCase()
    40Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted, 0ms
    41********* Finished testing of WalletTests *********
    42********* Start testing of AddressBookTests *********
    43Config: Using QtTest library 6.9.2, Qt 6.9.2 (arm64-little_endian-lp64 shared (dynamic) release build; by Apple LLVM 16.0.0 (clang-1600.0.26.6)), macos 14.7.7
    44PASS   : AddressBookTests::initTestCase()
    45QWARN  : AddressBookTests::addressBookTests() Skipping AddressBookTests on mac build with 'minimal' platform set due to Qt bugs. To run AppTests, invoke with 'QT_QPA_PLATFORM=cocoa test_bitcoin-qt' on mac, or else use a linux or windows build.
    46PASS   : AddressBookTests::addressBookTests()
    47PASS   : AddressBookTests::cleanupTestCase()
    48Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted, 0ms
    49********* Finished testing of AddressBookTests *********
    50
    51All tests passed.
    
  5. RandyMcMillan commented at 7:36 pm on October 10, 2025: contributor

    @hebasto - while testing this PR - I noticed this can be updated.

    #900

  6. pablomartin4btc commented at 2:36 pm on October 13, 2025: contributor

    utACK 1a11cacf5225a7534155a9310a5647e7d4876076

    (CentOS CI failure is unrelated - System.IO.IOException: No space left on device)

  7. in src/qt/transactionfilterproxy.cpp:74 in 1a11cacf52 outdated
    67 }
    68 
    69 void TransactionFilterProxy::setSearchString(const QString &search_string)
    70 {
    71+#if QT_VERSION >= QT_VERSION_CHECK(6, 10, 0)
    72+    beginFilterChange();
    


    maflcko commented at 10:45 am on October 27, 2025:
    nit: Not sure if it matters, but should this not move after the early return?

    hebasto commented at 4:46 pm on November 3, 2025:
    Thanks! Fixed.
  8. maflcko approved
  9. maflcko commented at 10:45 am on October 27, 2025: contributor

    review ACK 1a11cacf5225a7534155a9310a5647e7d4876076 🦋

    Signature:

    0untrusted comment: signature from minisign secret key on empty file; verify via: minisign -Vm "${path_to_any_empty_file}" -P RWTRmVTMeKV5noAMqVlsMugDDCyyTSbA3Re5AkUrhvLVln0tSaFWglOw -x "${path_to_this_whole_four_line_signature_blob}"
    1RUTRmVTMeKV5npGrKx1nqXCw5zeVHdtdYURB/KlyA/LMFgpNCs+SkW9a8N95d+U4AP1RJMi+krxU1A3Yux4bpwZNLvVBKy0wLgM=
    2trusted comment: review ACK 1a11cacf5225a7534155a9310a5647e7d4876076 🦋
    3rXkwf3foVD3E29g6RRK0AMhec2d9GuVSuGlW9RI6AK4cxigjMrBiyROjlJzU6izjlhWuTKzgJoOwaClApKw8BA==
    
  10. qt: Modernize custom filtering
    In `QSortFilterProxyModel`, `invalidateFilter()` is scheduled for
    deprecation in Qt 6.13.
    `beginFilterChange()` was introduced in Qt 6.9.
    `endFilterChange()` was introduced in Qt 6.10.
    e15e8cbada
  11. hebasto force-pushed on Nov 3, 2025
  12. maflcko commented at 6:14 pm on November 4, 2025: contributor

    re-review ACK e15e8cbadad5ce1de41ebb817b87054f8b5192f2 🌿

    Signature:

    0untrusted comment: signature from minisign secret key on empty file; verify via: minisign -Vm "${path_to_any_empty_file}" -P RWTRmVTMeKV5noAMqVlsMugDDCyyTSbA3Re5AkUrhvLVln0tSaFWglOw -x "${path_to_this_whole_four_line_signature_blob}"
    1RUTRmVTMeKV5npGrKx1nqXCw5zeVHdtdYURB/KlyA/LMFgpNCs+SkW9a8N95d+U4AP1RJMi+krxU1A3Yux4bpwZNLvVBKy0wLgM=
    2trusted comment: re-review ACK e15e8cbadad5ce1de41ebb817b87054f8b5192f2 🌿
    3fxYVydcbx9maSeodiPQwOnZdUfLhzZRoyu9cKUpliPFIq1OvVmAFp7Gvfo5y2FfTxgU8aFVyGaLE1AYmrCXsAw==
    
  13. DrahtBot requested review from pablomartin4btc on Nov 4, 2025
  14. pablomartin4btc approved
  15. pablomartin4btc commented at 6:25 pm on November 4, 2025: contributor

    re-ACK e15e8cbadad5ce1de41ebb817b87054f8b5192f2

    ( moved the early return in TransactionFilterProxy::setSearchString to the top )

  16. hebasto merged this on Nov 4, 2025
  17. hebasto closed this on Nov 4, 2025

  18. fanquake commented at 9:54 am on November 5, 2025: member

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin-core/gui. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-11-07 18:20 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me