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

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

XMLWordPrintable

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

      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.

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

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

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes