Reset the whole model instead of emitting dataChanged() for each item.
Emitting several dataChanged() in a row, without going back to Qt's event
loop in between seems to cause reentrancy problems in the QML delegates
connected to this model.
Upstream version of our bug #346118:
https://bugreports.qt.io/browse/QTBUG-53677
Tentative patch to fix the bug above:
https://codereview.qt-project.org/#/c/160884/
BUG: 346118