Just realised that I’m constantly getting ‘Can't select indexes from different model or with different parents’ messages and it’s not letting me select any file, so I’m definitely doing something wrong
Yes. Your view's selection model operates on the proxy, not the source model. Any QModelIndex instances retrieved from the selection model have to be mapped back to the source via the proxy's mapToSource() call.