qSnapper 1.3.0
Updated to version 1.3.0
Extend qSnapper beyond a single fixed Snapper config and add two long-requested workflows:
editing existing snapshot metadata and comparing two arbitrary snapshots.
Multi-config support
- Add ListConfigs D-Bus method and plumb a configName argument through every snapshot operation
(List/Create/Modify/Delete/Rollback, GetFileChanges*, GetFileDiff*). - Expose
configsandcurrentConfigproperties on SnapperService so the UI can switch between configured Snapper configs at runtime. - Cache the config list and reconnect to the D-Bus service on transient failures.
(SnapperService::reconnect, FileChangeModel::reconnectDbus)
Snapshot editing
- New ModifySnapshot D-Bus method and matching SnapperService / SnapshotListModel API to update description,
cleanup algorithm and userdata on an existing snapshot. - New polkit action com.presire.qsnapper.modify-snapshot (EN/JA/DE) and a SnapshotEditDialog.qml front-end wired into SnapshotListPage.
- Pass userdata as QMap<QString,QString> over D-Bus (a{ss});
register the metatype in both the GUI and the servicemain.cpp,
and thread userdata through createSingle/createPre/createPost.
Compare two snapshots
- New GetFileChangesBetween and GetFileDiffBetween D-Bus methods.
- FileChangeModel gains a "between" mode plus a flat (non-tree) presentation mode for list-style rendering.
- New CompareSnapshotsDialog.qml exposes the workflow from the snapshot list page.
SELinux policy
- Rewrite selinux/qsnapper.te: drop unused interfaces and redundant allow rules, consolidate file/exec/dbus permissions.
Net -289/+165 lines while keeping the same runtime capabilities.
Build / packaging
- Default CMAKE_INSTALL_PREFIX to /usr when unset.
- Register the new QML components (SnapshotEditDialog, CompareSnapshotsDialog) with qt6_add_qml_module.
- Set QTP0004 to OLD to silence qmldir warnings for resource-embedded subdirectories,
and add NO_IMPORT_SCAN.
(shared-Qt builds finalize automatically; the explicit qt_import_qml_plugins / qt_finalize_executable calls
produced spurious link warnings and have been removed — re-enable them for static Qt builds)
Misc
- Update German and Japanese translations for the new edit/compare
strings.
- Cosmetic alignment cleanup in ThemeManager color palette constants.
Full Changelog: v1.2.3...v1.3.0