Using the new extra-cmake-modules module ECMAddQch (since 5.36.0)
this adds the option to automatically build and install a file
in QCH format with the docs about the public API, which then can be
used e.g. in Qt Assistant, Qt Creator or KDevelop.
Additionally the installed cmake config files will be extended
with a target KF5ItemModels_QCH containing information about how to "link"
into the generated QCH file, which then can be used in the cmake build
system of other libraries building on this library, by
simply listing this target in "LINK_QCHS" of their ecm_add_qch() usage.
And a respective doxygen tag file with all the metadata about the
generated QCH file and used for the "linking" will be created and
installed.
Pass -DBUILD_QCH=ON to cmake to enable this.
The constructor of QFlags which was intended to handle literal "0"
as commonly used indicator of no-flags-set has been done with a
trick based on pointer types. Which these days of nullptr existing and
compilers pushing to use that sadly fired back and, instead of
allowing convenient code with commonly understood literal "0" values,
resulted in quite some code using "nullptr" to indicate a QFLags-based
type value with no flags set, which can be puzzling for humans
reading the code.
Commit f55b0559 (KExtraColumnsProxyModel: Persist model indexes after
emitting layoutChange, not before, 2016-12-20) missed a unit test, but
the DynamicTreeModel in the proxymodeltestsuite is older and more
advanced than the simplified version added to Qt at some point.
CCMAIL: faure@kde.org
Same fix as Stephen Kelly's fix for QIdentityProxyModel in https://codereview.qt-project.org/180390
I tried to write a unittest but QStandardItemModel doesn't support moveRow,
and we don't have all the infrastructure here to force emitting a layoutChange
with specific parents like in the Qt unittests.
This commit, added to the 3 fixes in Qt, fixes crashes when moving folders in kmail.
CCMAIL: steveire@gmail.com