summaryrefslogtreecommitdiff
path: root/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/Settings/DisplayConfig/IncludeWarningBox.qml
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/Settings/DisplayConfig/IncludeWarningBox.qml')
-rw-r--r--raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/Settings/DisplayConfig/IncludeWarningBox.qml94
1 files changed, 94 insertions, 0 deletions
diff --git a/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/Settings/DisplayConfig/IncludeWarningBox.qml b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/Settings/DisplayConfig/IncludeWarningBox.qml
new file mode 100644
index 0000000..f5f270b
--- /dev/null
+++ b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/Settings/DisplayConfig/IncludeWarningBox.qml
@@ -0,0 +1,94 @@
+import QtQuick
+import qs.Common
+import qs.Widgets
+
+StyledRect {
+ id: root
+
+ LayoutMirroring.enabled: I18n.isRtl
+ LayoutMirroring.childrenInherit: true
+
+ width: parent.width
+ height: warningContent.implicitHeight + Theme.spacingL * 2
+ radius: Theme.cornerRadius
+
+ readonly property bool showError: DisplayConfigState.includeStatus.exists && !DisplayConfigState.includeStatus.included
+ readonly property bool showSetup: !DisplayConfigState.includeStatus.exists && !DisplayConfigState.includeStatus.included
+
+ color: (showError || showSetup) ? Theme.withAlpha(Theme.primary, 0.15) : "transparent"
+ border.color: (showError || showSetup) ? Theme.withAlpha(Theme.primary, 0.3) : "transparent"
+ border.width: 1
+ visible: (showError || showSetup) && DisplayConfigState.hasOutputBackend && !DisplayConfigState.checkingInclude
+
+ Column {
+ id: warningContent
+ anchors.fill: parent
+ anchors.margins: Theme.spacingL
+ spacing: Theme.spacingM
+
+ Row {
+ width: parent.width
+ spacing: Theme.spacingM
+
+ DankIcon {
+ name: "warning"
+ size: Theme.iconSize
+ color: Theme.primary
+ anchors.verticalCenter: parent.verticalCenter
+ }
+
+ Column {
+ width: parent.width - Theme.iconSize - (fixButton.visible ? fixButton.width + Theme.spacingM : 0) - Theme.spacingM
+ spacing: Theme.spacingXS
+ anchors.verticalCenter: parent.verticalCenter
+
+ StyledText {
+ text: {
+ if (root.showSetup)
+ return I18n.tr("First Time Setup");
+ if (root.showError)
+ return I18n.tr("Outputs Include Missing");
+ return "";
+ }
+ font.pixelSize: Theme.fontSizeMedium
+ font.weight: Font.Medium
+ color: Theme.primary
+ width: parent.width
+ horizontalAlignment: Text.AlignLeft
+ }
+
+ StyledText {
+ text: {
+ if (root.showSetup)
+ return I18n.tr("Click 'Setup' to create the outputs config and add include to your compositor config.");
+ if (root.showError)
+ return I18n.tr("dms/outputs config exists but is not included in your compositor config. Display changes won't persist.");
+ return "";
+ }
+ font.pixelSize: Theme.fontSizeSmall
+ color: Theme.surfaceVariantText
+ wrapMode: Text.WordWrap
+ width: parent.width
+ horizontalAlignment: Text.AlignLeft
+ }
+ }
+
+ DankButton {
+ id: fixButton
+ visible: root.showError || root.showSetup
+ text: {
+ if (DisplayConfigState.fixingInclude)
+ return I18n.tr("Fixing...");
+ if (root.showSetup)
+ return I18n.tr("Setup");
+ return I18n.tr("Fix Now");
+ }
+ backgroundColor: Theme.primary
+ textColor: Theme.primaryText
+ enabled: !DisplayConfigState.fixingInclude
+ anchors.verticalCenter: parent.verticalCenter
+ onClicked: DisplayConfigState.fixOutputsInclude()
+ }
+ }
+ }
+}