summaryrefslogtreecommitdiff
path: root/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/Settings/SoundsTab.qml
diff options
context:
space:
mode:
authornippy <you@example.com>2026-04-18 13:49:56 +0200
committernippy <you@example.com>2026-04-18 13:49:56 +0200
commit5d94c0a7d44a2255b81815a52a7056a94a39842d (patch)
tree759bdea9645c6a62f9e1e4c001f7d81cccd120d2 /raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/Settings/SoundsTab.qml
parente79cdf210b267f21a186255ce1a4d50029439d54 (diff)
downloadRaveOS-PKGBUILD-5d94c0a7d44a2255b81815a52a7056a94a39842d.tar.gz
RaveOS-PKGBUILD-5d94c0a7d44a2255b81815a52a7056a94a39842d.zip
update Raveos themes
Diffstat (limited to 'raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/Settings/SoundsTab.qml')
-rw-r--r--raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/Settings/SoundsTab.qml168
1 files changed, 168 insertions, 0 deletions
diff --git a/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/Settings/SoundsTab.qml b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/Settings/SoundsTab.qml
new file mode 100644
index 0000000..a8e9958
--- /dev/null
+++ b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/Settings/SoundsTab.qml
@@ -0,0 +1,168 @@
+import QtQuick
+import qs.Common
+import qs.Services
+import qs.Widgets
+import qs.Modules.Settings.Widgets
+
+Item {
+ id: root
+
+ DankFlickable {
+ anchors.fill: parent
+ clip: true
+ contentHeight: mainColumn.height + Theme.spacingXL
+ contentWidth: width
+
+ Column {
+ id: mainColumn
+ topPadding: 4
+
+ width: Math.min(550, parent.width - Theme.spacingL * 2)
+ anchors.horizontalCenter: parent.horizontalCenter
+ spacing: Theme.spacingXL
+
+ SettingsCard {
+ tab: "sounds"
+ tags: ["sound", "audio", "notification", "volume"]
+ title: I18n.tr("System Sounds")
+ settingKey: "systemSounds"
+ iconName: SettingsData.soundsEnabled ? "volume_up" : "volume_off"
+ visible: AudioService.soundsAvailable
+
+ SettingsToggleRow {
+ tab: "sounds"
+ tags: ["sound", "enable", "system"]
+ settingKey: "soundsEnabled"
+ text: I18n.tr("Enable System Sounds")
+ description: I18n.tr("Play sounds for system events")
+ checked: SettingsData.soundsEnabled
+ onToggled: checked => SettingsData.set("soundsEnabled", checked)
+ }
+
+ Column {
+ width: parent.width
+ spacing: Theme.spacingM
+ visible: SettingsData.soundsEnabled
+
+ Rectangle {
+ width: parent.width
+ height: 1
+ color: Theme.outline
+ opacity: 0.2
+ }
+
+ SettingsToggleRow {
+ tab: "sounds"
+ tags: ["sound", "theme", "system"]
+ settingKey: "useSystemSoundTheme"
+ visible: AudioService.gsettingsAvailable
+ text: I18n.tr("Use System Theme")
+ description: I18n.tr("Use sound theme from system settings")
+ checked: SettingsData.useSystemSoundTheme
+ onToggled: checked => SettingsData.set("useSystemSoundTheme", checked)
+ }
+
+ SettingsDropdownRow {
+ tab: "sounds"
+ tags: ["sound", "theme", "select"]
+ settingKey: "soundTheme"
+ visible: SettingsData.useSystemSoundTheme && AudioService.availableSoundThemes.length > 0
+ enabled: SettingsData.useSystemSoundTheme && AudioService.availableSoundThemes.length > 0
+ text: I18n.tr("Sound Theme")
+ description: I18n.tr("Select system sound theme")
+ options: AudioService.availableSoundThemes
+ currentValue: {
+ const theme = AudioService.currentSoundTheme;
+ if (theme && AudioService.availableSoundThemes.includes(theme))
+ return theme;
+ return AudioService.availableSoundThemes.length > 0 ? AudioService.availableSoundThemes[0] : "";
+ }
+ onValueChanged: value => {
+ if (value && value !== AudioService.currentSoundTheme)
+ AudioService.setSoundTheme(value);
+ }
+ }
+
+ Rectangle {
+ width: parent.width
+ height: 1
+ color: Theme.outline
+ opacity: 0.2
+ visible: AudioService.gsettingsAvailable
+ }
+
+ SettingsToggleRow {
+ tab: "sounds"
+ tags: ["sound", "login", "startup", "boot"]
+ settingKey: "soundLogin"
+ text: I18n.tr("Login")
+ description: I18n.tr("Play sound after logging in")
+ checked: SettingsData.soundLogin
+ onToggled: checked => SettingsData.set("soundLogin", checked)
+ }
+
+ SettingsToggleRow {
+ tab: "sounds"
+ tags: ["sound", "notification", "new"]
+ settingKey: "soundNewNotification"
+ text: I18n.tr("New Notification")
+ description: I18n.tr("Play sound when new notification arrives")
+ checked: SettingsData.soundNewNotification
+ onToggled: checked => SettingsData.set("soundNewNotification", checked)
+ }
+
+ SettingsToggleRow {
+ tab: "sounds"
+ tags: ["sound", "volume", "changed"]
+ settingKey: "soundVolumeChanged"
+ text: I18n.tr("Volume Changed")
+ description: I18n.tr("Play sound when volume is adjusted")
+ checked: SettingsData.soundVolumeChanged
+ onToggled: checked => SettingsData.set("soundVolumeChanged", checked)
+ }
+
+ SettingsToggleRow {
+ tab: "sounds"
+ tags: ["sound", "power", "plugged"]
+ settingKey: "soundPluggedIn"
+ visible: BatteryService.batteryAvailable
+ text: I18n.tr("Plugged In")
+ description: I18n.tr("Play sound when power cable is connected")
+ checked: SettingsData.soundPluggedIn
+ onToggled: checked => SettingsData.set("soundPluggedIn", checked)
+ }
+ }
+ }
+
+ Rectangle {
+ width: parent.width
+ height: notAvailableText.implicitHeight + Theme.spacingM * 2
+ radius: Theme.cornerRadius
+ color: Qt.rgba(Theme.warning.r, Theme.warning.g, Theme.warning.b, 0.12)
+ visible: !AudioService.soundsAvailable
+
+ Row {
+ anchors.fill: parent
+ anchors.margins: Theme.spacingM
+ spacing: Theme.spacingM
+
+ DankIcon {
+ name: "info"
+ size: Theme.iconSizeSmall
+ color: Theme.warning
+ anchors.verticalCenter: parent.verticalCenter
+ }
+
+ StyledText {
+ id: notAvailableText
+ font.pixelSize: Theme.fontSizeSmall
+ text: I18n.tr("System sounds are not available. Install %1 for sound support.").arg("qt6-multimedia")
+ wrapMode: Text.WordWrap
+ width: parent.width - Theme.iconSizeSmall - Theme.spacingM
+ anchors.verticalCenter: parent.verticalCenter
+ }
+ }
+ }
+ }
+ }
+}