summaryrefslogtreecommitdiff
path: root/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modals/Changelog
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modals/Changelog')
-rw-r--r--raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modals/Changelog/ChangelogContent.qml250
-rw-r--r--raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modals/Changelog/ChangelogFeatureCard.qml78
-rw-r--r--raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modals/Changelog/ChangelogModal.qml156
-rw-r--r--raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modals/Changelog/ChangelogUpgradeNote.qml27
4 files changed, 511 insertions, 0 deletions
diff --git a/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modals/Changelog/ChangelogContent.qml b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modals/Changelog/ChangelogContent.qml
new file mode 100644
index 0000000..8fd3129
--- /dev/null
+++ b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modals/Changelog/ChangelogContent.qml
@@ -0,0 +1,250 @@
+import QtQuick
+import QtQuick.Effects
+import qs.Common
+import qs.Services
+import qs.Widgets
+
+Column {
+ id: root
+
+ readonly property real logoSize: Math.round(Theme.iconSize * 2.8)
+ readonly property real badgeHeight: Math.round(Theme.fontSizeSmall * 1.7)
+
+ topPadding: Theme.spacingL
+ spacing: Theme.spacingL
+
+ Column {
+ width: parent.width
+ spacing: Theme.spacingM
+
+ Row {
+ anchors.horizontalCenter: parent.horizontalCenter
+ spacing: Theme.spacingM
+
+ Image {
+ width: root.logoSize
+ height: width * (569.94629 / 506.50931)
+ anchors.verticalCenter: parent.verticalCenter
+ fillMode: Image.PreserveAspectFit
+ smooth: true
+ mipmap: true
+ asynchronous: true
+ source: "file://" + Theme.shellDir + "/assets/danklogonormal.svg"
+ layer.enabled: true
+ layer.smooth: true
+ layer.mipmap: true
+ layer.effect: MultiEffect {
+ saturation: 0
+ colorization: 1
+ colorizationColor: Theme.primary
+ }
+ }
+
+ Column {
+ anchors.verticalCenter: parent.verticalCenter
+ spacing: Theme.spacingXS
+
+ Row {
+ spacing: Theme.spacingS
+
+ StyledText {
+ text: "DMS " + ChangelogService.currentVersion
+ font.pixelSize: Theme.fontSizeXLarge + 2
+ font.weight: Font.Bold
+ color: Theme.surfaceText
+ anchors.verticalCenter: parent.verticalCenter
+ }
+
+ Rectangle {
+ width: codenameText.implicitWidth + Theme.spacingM * 2
+ height: root.badgeHeight
+ radius: root.badgeHeight / 2
+ color: Theme.primaryContainer
+ anchors.verticalCenter: parent.verticalCenter
+
+ StyledText {
+ id: codenameText
+ anchors.centerIn: parent
+ text: "Saffron Bloom"
+ font.pixelSize: Theme.fontSizeSmall
+ font.weight: Font.Medium
+ color: Theme.primary
+ }
+ }
+ }
+
+ StyledText {
+ text: "New launcher, enhanced plugin system, KDE Connect, & more"
+ font.pixelSize: Theme.fontSizeMedium
+ color: Theme.surfaceVariantText
+ }
+ }
+ }
+ }
+
+ Rectangle {
+ width: parent.width
+ height: 1
+ color: Theme.outlineMedium
+ opacity: 0.3
+ }
+
+ Column {
+ width: parent.width
+ spacing: Theme.spacingM
+
+ StyledText {
+ text: "What's New"
+ font.pixelSize: Theme.fontSizeMedium
+ font.weight: Font.Medium
+ color: Theme.surfaceText
+ }
+
+ Grid {
+ width: parent.width
+ columns: 2
+ rowSpacing: Theme.spacingS
+ columnSpacing: Theme.spacingS
+
+ ChangelogFeatureCard {
+ width: (parent.width - Theme.spacingS) / 2
+ iconName: "space_dashboard"
+ title: "Dank Launcher V2"
+ description: "New capabilities & plugins"
+ onClicked: PopoutService.openDankLauncherV2()
+ }
+
+ ChangelogFeatureCard {
+ width: (parent.width - Theme.spacingS) / 2
+ iconName: "smartphone"
+ title: "Phone Connect"
+ description: "KDE Connect & Valent"
+ onClicked: Qt.openUrlExternally("https://github.com/AvengeMedia/dms-plugins/tree/master/DankKDEConnect")
+ }
+
+ ChangelogFeatureCard {
+ width: (parent.width - Theme.spacingS) / 2
+ iconName: "monitor_heart"
+ title: "System Monitor"
+ description: "Redesigned process list"
+ onClicked: PopoutService.showProcessListModal()
+ }
+
+ ChangelogFeatureCard {
+ width: (parent.width - Theme.spacingS) / 2
+ iconName: "window"
+ title: "Window Rules"
+ description: "niri window rule manager"
+ visible: CompositorService.isNiri
+ onClicked: PopoutService.openSettingsWithTab("window_rules")
+ }
+
+ ChangelogFeatureCard {
+ width: (parent.width - Theme.spacingS) / 2
+ iconName: "notifications_active"
+ title: "Enhanced Notifications"
+ description: "Configurable rules & styling"
+ visible: !CompositorService.isNiri
+ onClicked: PopoutService.openSettingsWithTab("notifications")
+ }
+
+ ChangelogFeatureCard {
+ width: (parent.width - Theme.spacingS) / 2
+ iconName: "dock_to_bottom"
+ title: "Dock Enhancements"
+ description: "Bar dock widget & more"
+ onClicked: PopoutService.openSettingsWithTab("dock")
+ }
+
+ ChangelogFeatureCard {
+ width: (parent.width - Theme.spacingS) / 2
+ iconName: "volume_up"
+ title: "Audio Aliases"
+ description: "Custom device names"
+ onClicked: PopoutService.openSettingsWithTab("audio")
+ }
+
+ ChangelogFeatureCard {
+ width: (parent.width - Theme.spacingS) / 2
+ iconName: "extension"
+ title: "Enhanced Plugin System"
+ description: "Enables new types of plugins"
+ onClicked: PopoutService.openSettingsWithTab("plugins")
+ }
+
+ ChangelogFeatureCard {
+ width: (parent.width - Theme.spacingS) / 2
+ iconName: "light_mode"
+ title: "Auto Light/Dark"
+ description: "Automatic mode switching"
+ onClicked: PopoutService.openSettingsWithTab("theme")
+ }
+ }
+ }
+
+ Rectangle {
+ width: parent.width
+ height: 1
+ color: Theme.outlineMedium
+ opacity: 0.3
+ }
+
+ Column {
+ width: parent.width
+ spacing: Theme.spacingS
+
+ Row {
+ spacing: Theme.spacingS
+
+ DankIcon {
+ name: "warning"
+ size: Theme.iconSizeSmall
+ color: Theme.warning
+ anchors.verticalCenter: parent.verticalCenter
+ }
+
+ StyledText {
+ text: "Upgrade Notes"
+ font.pixelSize: Theme.fontSizeMedium
+ font.weight: Font.Medium
+ color: Theme.surfaceText
+ anchors.verticalCenter: parent.verticalCenter
+ }
+ }
+
+ Rectangle {
+ width: parent.width
+ height: upgradeNotesColumn.height + Theme.spacingM * 2
+ radius: Theme.cornerRadius
+ color: Theme.withAlpha(Theme.warning, 0.08)
+ border.width: 1
+ border.color: Theme.withAlpha(Theme.warning, 0.2)
+
+ Column {
+ id: upgradeNotesColumn
+ anchors.left: parent.left
+ anchors.right: parent.right
+ anchors.top: parent.top
+ anchors.margins: Theme.spacingM
+ spacing: Theme.spacingS
+
+ ChangelogUpgradeNote {
+ width: parent.width
+ text: "Spotlight replaced by Dank Launcher V2 — check settings for new options"
+ }
+
+ ChangelogUpgradeNote {
+ width: parent.width
+ text: "Plugin API updated — third-party plugins may need updates"
+ }
+ }
+ }
+
+ // StyledText {
+ // text: "See full release notes for migration steps"
+ // font.pixelSize: Theme.fontSizeSmall
+ // color: Theme.surfaceVariantText
+ // width: parent.width
+ // }
+ }
+}
diff --git a/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modals/Changelog/ChangelogFeatureCard.qml b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modals/Changelog/ChangelogFeatureCard.qml
new file mode 100644
index 0000000..eab4f70
--- /dev/null
+++ b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modals/Changelog/ChangelogFeatureCard.qml
@@ -0,0 +1,78 @@
+import QtQuick
+import qs.Common
+import qs.Widgets
+
+Rectangle {
+ id: root
+
+ property string iconName: ""
+ property string title: ""
+ property string description: ""
+
+ signal clicked
+
+ readonly property real iconContainerSize: Math.round(Theme.iconSize * 1.3)
+
+ height: Math.round(Theme.fontSizeMedium * 4.2)
+ radius: Theme.cornerRadius
+ color: Theme.surfaceContainerHigh
+
+ Rectangle {
+ anchors.fill: parent
+ radius: parent.radius
+ color: Theme.primary
+ opacity: mouseArea.containsMouse ? 0.12 : 0
+ }
+
+ Row {
+ anchors.left: parent.left
+ anchors.right: parent.right
+ anchors.verticalCenter: parent.verticalCenter
+ anchors.margins: Theme.spacingM
+ spacing: Theme.spacingS
+
+ Rectangle {
+ width: root.iconContainerSize
+ height: root.iconContainerSize
+ radius: Math.round(root.iconContainerSize * 0.28)
+ color: Theme.primaryContainer
+ anchors.verticalCenter: parent.verticalCenter
+
+ DankIcon {
+ anchors.centerIn: parent
+ name: root.iconName
+ size: Theme.iconSize - 6
+ color: Theme.primary
+ }
+ }
+
+ Column {
+ anchors.verticalCenter: parent.verticalCenter
+ spacing: 2
+ width: parent.width - root.iconContainerSize - Theme.spacingS
+
+ StyledText {
+ text: root.title
+ font.pixelSize: Theme.fontSizeSmall
+ font.weight: Font.Medium
+ color: Theme.surfaceText
+ }
+
+ StyledText {
+ text: root.description
+ font.pixelSize: Theme.fontSizeSmall - 1
+ color: Theme.surfaceVariantText
+ width: parent.width
+ elide: Text.ElideRight
+ }
+ }
+ }
+
+ MouseArea {
+ id: mouseArea
+ anchors.fill: parent
+ hoverEnabled: true
+ cursorShape: Qt.PointingHandCursor
+ onClicked: root.clicked()
+ }
+}
diff --git a/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modals/Changelog/ChangelogModal.qml b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modals/Changelog/ChangelogModal.qml
new file mode 100644
index 0000000..524298b
--- /dev/null
+++ b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modals/Changelog/ChangelogModal.qml
@@ -0,0 +1,156 @@
+import QtQuick
+import Quickshell
+import qs.Common
+import qs.Services
+import qs.Widgets
+
+FloatingWindow {
+ id: root
+
+ property bool disablePopupTransparency: true
+ readonly property int modalWidth: 680
+ readonly property int modalHeight: screen ? Math.min(720, screen.height - 80) : 720
+
+ signal changelogDismissed
+
+ function show() {
+ visible = true;
+ }
+
+ objectName: "changelogModal"
+ title: i18n("What's New")
+ minimumSize: Qt.size(modalWidth, modalHeight)
+ maximumSize: Qt.size(modalWidth, modalHeight)
+ color: Theme.surfaceContainer
+ visible: false
+
+ FocusScope {
+ id: contentFocusScope
+ anchors.fill: parent
+ focus: true
+
+ Keys.onEscapePressed: event => {
+ root.dismiss();
+ event.accepted = true;
+ }
+
+ Keys.onPressed: event => {
+ switch (event.key) {
+ case Qt.Key_Return:
+ case Qt.Key_Enter:
+ root.dismiss();
+ event.accepted = true;
+ break;
+ }
+ }
+
+ MouseArea {
+ anchors.left: parent.left
+ anchors.right: parent.right
+ anchors.top: parent.top
+ height: headerRow.height + Theme.spacingM
+ onPressed: windowControls.tryStartMove()
+ onDoubleClicked: windowControls.tryToggleMaximize()
+ }
+
+ Item {
+ id: headerRow
+ anchors.left: parent.left
+ anchors.right: parent.right
+ anchors.top: parent.top
+ anchors.margins: Theme.spacingM
+ height: Math.round(Theme.fontSizeMedium * 2.85)
+
+ Row {
+ anchors.right: parent.right
+ anchors.verticalCenter: parent.verticalCenter
+ spacing: Theme.spacingXS
+
+ DankActionButton {
+ visible: windowControls.supported && windowControls.canMaximize
+ iconName: root.maximized ? "fullscreen_exit" : "fullscreen"
+ iconSize: Theme.iconSize - 4
+ iconColor: Theme.surfaceText
+ onClicked: windowControls.tryToggleMaximize()
+ }
+
+ DankActionButton {
+ iconName: "close"
+ iconSize: Theme.iconSize - 4
+ iconColor: Theme.surfaceText
+ onClicked: root.dismiss()
+
+ DankTooltip {
+ text: i18n("Close")
+ }
+ }
+ }
+ }
+
+ DankFlickable {
+ anchors.left: parent.left
+ anchors.right: parent.right
+ anchors.top: headerRow.bottom
+ anchors.bottom: footerRow.top
+ anchors.topMargin: Theme.spacingS
+ clip: true
+ contentHeight: mainColumn.height + Theme.spacingL * 2
+ contentWidth: width
+
+ ChangelogContent {
+ id: mainColumn
+ anchors.horizontalCenter: parent.horizontalCenter
+ width: Math.min(600, parent.width - Theme.spacingXL * 2)
+ }
+ }
+
+ Rectangle {
+ id: footerRow
+ anchors.left: parent.left
+ anchors.right: parent.right
+ anchors.bottom: parent.bottom
+ height: Math.round(Theme.fontSizeMedium * 4.5)
+ color: Theme.surfaceContainerHigh
+
+ Rectangle {
+ anchors.top: parent.top
+ width: parent.width
+ height: 1
+ color: Theme.outlineMedium
+ opacity: 0.5
+ }
+
+ Row {
+ anchors.centerIn: parent
+ spacing: Theme.spacingM
+
+ DankButton {
+ text: i18n("Read Full Release Notes")
+ iconName: "open_in_new"
+ backgroundColor: Theme.surfaceContainerHighest
+ textColor: Theme.surfaceText
+ onClicked: Qt.openUrlExternally("https://danklinux.com/blog/v1-4-release")
+ }
+
+ DankButton {
+ text: i18n("Got It")
+ iconName: "check"
+ backgroundColor: Theme.primary
+ textColor: Theme.primaryText
+ onClicked: root.dismiss()
+ }
+ }
+ }
+ }
+
+ FloatingWindowControls {
+ id: windowControls
+ targetWindow: root
+ }
+
+ function dismiss() {
+ ChangelogService.dismissChangelog();
+ changelogDismissed();
+ visible = false;
+ }
+}
diff --git a/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modals/Changelog/ChangelogUpgradeNote.qml b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modals/Changelog/ChangelogUpgradeNote.qml
new file mode 100644
index 0000000..545eb9a
--- /dev/null
+++ b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modals/Changelog/ChangelogUpgradeNote.qml
@@ -0,0 +1,27 @@
+import QtQuick
+import qs.Common
+import qs.Widgets
+
+Row {
+ id: root
+
+ property alias text: noteText.text
+
+ spacing: Theme.spacingS
+
+ DankIcon {
+ name: "arrow_right"
+ size: Theme.iconSizeSmall - 2
+ color: Theme.surfaceVariantText
+ anchors.top: parent.top
+ anchors.topMargin: 2
+ }
+
+ StyledText {
+ id: noteText
+ width: root.width - Theme.iconSizeSmall - Theme.spacingS
+ font.pixelSize: Theme.fontSizeSmall
+ color: Theme.surfaceText
+ wrapMode: Text.WordWrap
+ }
+}