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.

    <img width="724" height="509" alt="image" src="https://github.com/user-attachments/assets/877740c4-7fdf-4478-963c-c639f0b80ad9" />

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

    <!--e57a25ab6845829454e8d69fc972939a-->

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

    <!--021abf342d371248e50ceaed478a90ca-->

    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.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  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.

    git at DeepSpaceM1 in /Users/Shared/bitcoincore-dev/.github/bitcoin/pr899.02 on 1916/918471/328849/b510893d00/1a11cacf52-1a11cac [?$]
    $ ./bin/test_bitcoin-qt 
    ********* Start testing of AppTests *********
    Config: 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
    PASS   : AppTests::initTestCase()
    QWARN  : 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.
    PASS   : AppTests::appTests()
    PASS   : AppTests::cleanupTestCase()
    Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted, 1ms
    ********* Finished testing of AppTests *********
    ********* Start testing of OptionTests *********
    Config: 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
    PASS   : OptionTests::initTestCase()
    PASS   : OptionTests::migrateSettings()
    PASS   : OptionTests::integerGetArgBug()
    PASS   : OptionTests::parametersInteraction()
    PASS   : OptionTests::extractFilter()
    PASS   : OptionTests::cleanupTestCase()
    Totals: 6 passed, 0 failed, 0 skipped, 0 blacklisted, 11ms
    ********* Finished testing of OptionTests *********
    ********* Start testing of URITests *********
    Config: 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
    PASS   : URITests::initTestCase()
    PASS   : URITests::uriTests()
    PASS   : URITests::cleanupTestCase()
    Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted, 0ms
    ********* Finished testing of URITests *********
    ********* Start testing of RPCNestedTests *********
    Config: 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
    PASS   : RPCNestedTests::initTestCase()
    PASS   : RPCNestedTests::rpcNestedTests()
    PASS   : RPCNestedTests::cleanupTestCase()
    Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted, 7ms
    ********* Finished testing of RPCNestedTests *********
    ********* Start testing of WalletTests *********
    Config: 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
    PASS   : WalletTests::initTestCase()
    QWARN  : 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.
    PASS   : WalletTests::walletTests()
    PASS   : WalletTests::cleanupTestCase()
    Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted, 0ms
    ********* Finished testing of WalletTests *********
    ********* Start testing of AddressBookTests *********
    Config: 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
    PASS   : AddressBookTests::initTestCase()
    QWARN  : 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.
    PASS   : AddressBookTests::addressBookTests()
    PASS   : AddressBookTests::cleanupTestCase()
    Totals: 3 passed, 0 failed, 0 skipped, 0 blacklisted, 0ms
    ********* Finished testing of AddressBookTests *********
    
    All 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 🦋

    <details><summary>Show signature</summary>

    Signature:

    untrusted 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}"
    RUTRmVTMeKV5npGrKx1nqXCw5zeVHdtdYURB/KlyA/LMFgpNCs+SkW9a8N95d+U4AP1RJMi+krxU1A3Yux4bpwZNLvVBKy0wLgM=
    trusted comment: review ACK 1a11cacf5225a7534155a9310a5647e7d4876076 🦋
    rXkwf3foVD3E29g6RRK0AMhec2d9GuVSuGlW9RI6AK4cxigjMrBiyROjlJzU6izjlhWuTKzgJoOwaClApKw8BA==
    

    </details>

  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 🌿

    <details><summary>Show signature</summary>

    Signature:

    untrusted 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}"
    RUTRmVTMeKV5npGrKx1nqXCw5zeVHdtdYURB/KlyA/LMFgpNCs+SkW9a8N95d+U4AP1RJMi+krxU1A3Yux4bpwZNLvVBKy0wLgM=
    trusted comment: re-review ACK e15e8cbadad5ce1de41ebb817b87054f8b5192f2 🌿
    fxYVydcbx9maSeodiPQwOnZdUfLhzZRoyu9cKUpliPFIq1OvVmAFp7Gvfo5y2FfTxgU8aFVyGaLE1AYmrCXsAw==
    

    </details>

  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: 2026-04-27 21:20 UTC

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