faster exclusion of large subfolders
When we open a project with a subfolder containing many files and then chose to exclude that subfolder, we will get one fileRemovedFromSet
signal emission per contained file. Each one of those will then do a lookup in the vector of project files, which is potentially very slow.
Our IndexedString has no noexcept dtor nor fast move semantics, which makes std::vector slow for any type containing it, including the ProjectFile used by the provider. By explicitly using QVector and its Q_MOVABLE_TYPE annotation we regain a lot of the speed here.