Skip to content

qSnapper 1.3.0

Choose a tag to compare

@github-actions github-actions released this 09 Apr 08:00
· 16 commits to master since this release

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 configs and currentConfig properties 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 service main.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