Are you checking the index range and roles that are part of the dataChanged() signal to see if they apply to the entries you are displaying in your browser?
Are you doing something in your "validate their source controlled states inside QFileSystemModel::data" code that could cause a file system watcher to think that the file / directory has changed? For example, are you changing an icon when you determine that the file is source controlled?
Users have become accustomed to "live" file updates in file browsers. If you turn off updating, this will probably annoy your users.
I think you would be better off if you changed your model to cache the source control state. This is likely something you could do in the background (eg. in a thread) and emit signals to update the UI periodically instead of for every file.would it be possible to move the QFileSystemModel::data to a separate thread?
Bookmarks