Bug Fixes in KDE Base
dataengine based models set their roles when setting the data, so respond to that
syncRoleNames is fast (and faster now that we check that the role names actually changed)
but it may be nicer to find a more efficient way in future than checking the role names
on all / any data changes. in fact, the documentation for QAbstractItemModel::setRoleNames says:
"This function must be called before the model is used.
Modifying the role names after the model has been set may result in undefined behaviour."