Code review (part 1)
I've grouped a few things into one issue, I hope that's ok. I've only looked at a few classes. On the whole it looks pretty well written, but I have a few minor questions.
flatpakpermission.cpp
hostEtcVal = i18n("read-only");
if (hostEtcVal == QStringLiteral("OFF")) {
Aren't we mixing translated strings with non-translated strings? It doesn't look ideal.
KDesktopFile parser(path);
why not KConfig?
FlatpakPermissionModel::setPerm
if it's called from QML, guard for invalid indexes.
There's no dataChanged
emitted after we change a permission
flatpakreference.cpp
Minor comment, but for data types that are completely static we don't want to inherit from QObject
This means we'll need to qDeleteAll() m_references in the model destructor.