Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-127959

QIdentityProxyModel needs a way to disable builting handling of layoutChanged and dataChanged

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Not Evaluated
    • 6.8.0 Beta3
    • 6.8.0 Beta2
    • Core: Item Models
    • None
    • All
    • 5a31800d4 (dev), 2b5055192 (6.8)

    Description

      QIdentityProxyModel used to connect signals from the source model to private slots, using the SIGNAL/SLOT macros, which allowed subclasses in KDE to disconnect those and connect their own slots instead. Since the port to PMF connects, this isn't possible anymore.

      The use case is KExtraColumnsProxyModel which adds extra columns with additional data. For all the columns coming from the source model, it's really an identity proxy model, so QIdentityProxyModel is a very convenient base class. But in case of layoutChanged we have to handle persistent model indexes in the extra columns too, and in case of dataChanged, some subclasses want to notify that the whole row changed, including the extra columns.

      QIdentityProxyModel already got setHandleSourceLayoutChanges(bool) in commit 675b4f63feab7c81c75e49f6dea82a39dd18f489, what's still missing is setHandleSourceDataChanges(bool). It should be part of 6.8.0 to avoid regressions in KDE code.

      Attachments

        For Gerrit Dashboard: QTBUG-127959
        # Subject Branch Project Status CR V

        Activity

          People

            dfaure_kdab David Faure
            dfaure_kdab David Faure
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes