Greeting,

After implementing a fairly complex file browser (Windows style), I realized that dataChanged is emitted quite often and surprisingly, when there is no apparent reason to do update anything. One would say that this is no big deal but it become very apparent while dealing with several thousands of files, freezing the entire app for about a second. The reason why it is quite heavy on process is that each file have to validate their source controlled states inside QFileSystemModel::data.

In any case, the more obvious dataChanged I would like to prevent form happening is when QFileSystemModel parent widget (I presume) is Entered or Leaved. I tried to filter and catch who is triggering the dataChanged but with no luck so far. Any hint on why would dataChange being triggered at this moment might be helpful to track and prevent it form happening.

In the event where we cannot prevent the dataChanged from occurring, would it be possible to move the QFileSystemModel::data to a separate thread? If yes, how would this be accomplish?

Thank you,