summaryrefslogtreecommitdiff
path: root/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Services/ChangelogService.qml
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Services/ChangelogService.qml')
-rw-r--r--raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Services/ChangelogService.qml108
1 files changed, 0 insertions, 108 deletions
diff --git a/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Services/ChangelogService.qml b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Services/ChangelogService.qml
deleted file mode 100644
index 562a513..0000000
--- a/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Services/ChangelogService.qml
+++ /dev/null
@@ -1,108 +0,0 @@
-pragma Singleton
-pragma ComponentBehavior: Bound
-
-import QtCore
-import QtQuick
-import Quickshell
-import Quickshell.Io
-import qs.Common
-
-Singleton {
- id: root
-
- readonly property string currentVersion: "1.4"
- readonly property bool changelogEnabled: false
-
- readonly property string configDir: Paths.strip(StandardPaths.writableLocation(StandardPaths.ConfigLocation)) + "/DankMaterialShell"
- readonly property string changelogMarkerPath: configDir + "/.changelog-" + currentVersion
-
- property bool checkComplete: false
- property bool changelogDismissed: false
-
- readonly property bool shouldShowChangelog: {
- if (!checkComplete)
- return false;
- if (!changelogEnabled)
- return false;
- if (changelogDismissed)
- return false;
- if (typeof FirstLaunchService !== "undefined" && FirstLaunchService.isFirstLaunch)
- return false;
- return true;
- }
-
- signal changelogRequested
- signal changelogCompleted
-
- Component.onCompleted: {
- if (!changelogEnabled)
- return;
- if (FirstLaunchService.checkComplete)
- handleFirstLaunchResult();
- }
-
- function handleFirstLaunchResult() {
- if (FirstLaunchService.isFirstLaunch) {
- checkComplete = true;
- changelogDismissed = true;
- touchMarkerProcess.running = true;
- } else {
- changelogCheckProcess.running = true;
- }
- }
-
- Connections {
- target: FirstLaunchService
-
- function onCheckCompleteChanged() {
- if (FirstLaunchService.checkComplete && root.changelogEnabled && !root.checkComplete)
- root.handleFirstLaunchResult();
- }
- }
-
- function showChangelog() {
- changelogRequested();
- }
-
- function dismissChangelog() {
- changelogDismissed = true;
- touchMarkerProcess.running = true;
- changelogCompleted();
- }
-
- Process {
- id: changelogCheckProcess
-
- command: ["sh", "-c", "[ -f '" + changelogMarkerPath + "' ] && echo 'seen' || echo 'show'"]
- running: false
-
- stdout: SplitParser {
- onRead: data => {
- const result = data.trim();
- root.checkComplete = true;
-
- switch (result) {
- case "seen":
- root.changelogDismissed = true;
- break;
- case "show":
- root.changelogRequested();
- break;
- }
- }
- }
- }
-
- Process {
- id: touchMarkerProcess
-
- command: ["sh", "-c", "mkdir -p '" + configDir + "' && touch '" + changelogMarkerPath + "'"]
- running: false
-
- onExited: exitCode => {
- if (exitCode !== 0) {
- console.warn("ChangelogService: Failed to create changelog marker");
- }
- }
- }
-}