diff options
| author | AlexanderCurl <alexc@alexc.hu> | 2026-04-18 17:46:06 +0100 |
|---|---|---|
| committer | AlexanderCurl <alexc@alexc.hu> | 2026-04-18 17:46:06 +0100 |
| commit | 70ca3fef77ee8bdc6e3ac28589a6fa08c024cc69 (patch) | |
| tree | ab1123d4067c1b086dd6faa7ee4ea643236b565a /raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/DankDash/DankDashPopout.qml | |
| parent | 5d94c0a7d44a2255b81815a52a7056a94a39842d (diff) | |
| download | RaveOS-PKGBUILD-70ca3fef77ee8bdc6e3ac28589a6fa08c024cc69.tar.gz RaveOS-PKGBUILD-70ca3fef77ee8bdc6e3ac28589a6fa08c024cc69.zip | |
Replaced file structures for themes in the correct format
Diffstat (limited to 'raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/DankDash/DankDashPopout.qml')
| -rw-r--r-- | raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/DankDash/DankDashPopout.qml | 425 |
1 files changed, 0 insertions, 425 deletions
diff --git a/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/DankDash/DankDashPopout.qml b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/DankDash/DankDashPopout.qml deleted file mode 100644 index 34b324c..0000000 --- a/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Modules/DankDash/DankDashPopout.qml +++ /dev/null @@ -1,425 +0,0 @@ -import QtQuick -import qs.Common -import qs.Services -import qs.Widgets - -DankPopout { - id: root - - layerNamespace: "dms:dash" - - property bool dashVisible: false - property var triggerScreen: null - property int currentTabIndex: 0 - - popupWidth: SettingsData.showWeekNumber ? 736 : 700 - popupHeight: contentLoader.item ? contentLoader.item.implicitHeight : 500 - triggerWidth: 80 - screen: triggerScreen - shouldBeVisible: dashVisible - - property bool __focusArmed: false - property bool __contentReady: false - - property var __mediaTabRef: null - - property int __dropdownType: 0 - property point __dropdownAnchor: Qt.point(0, 0) - property bool __dropdownRightEdge: false - property var __dropdownPlayer: null - property var __dropdownPlayers: [] - - function __showVolumeDropdown(pos, rightEdge, player, players) { - __dropdownAnchor = pos; - __dropdownRightEdge = rightEdge; - __dropdownPlayer = player; - __dropdownPlayers = players; - __dropdownType = 1; - } - - function __showAudioDevicesDropdown(pos, rightEdge) { - __dropdownAnchor = pos; - __dropdownRightEdge = rightEdge; - __dropdownType = 2; - } - - function __showPlayersDropdown(pos, rightEdge, player, players) { - __dropdownAnchor = pos; - __dropdownRightEdge = rightEdge; - __dropdownPlayer = player; - __dropdownPlayers = players; - __dropdownType = 3; - } - - function __hideDropdowns() { - __volumeCloseTimer.stop(); - __dropdownType = 0; - __mediaTabRef?.resetDropdownStates(); - } - - function __startCloseTimer() { - __volumeCloseTimer.restart(); - } - - function __stopCloseTimer() { - __volumeCloseTimer.stop(); - } - - Timer { - id: __volumeCloseTimer - interval: 400 - onTriggered: { - if (__dropdownType === 1) { - __hideDropdowns(); - } - } - } - - overlayContent: Component { - MediaDropdownOverlay { - dropdownType: root.__dropdownType - anchorPos: root.__dropdownAnchor - isRightEdge: root.__dropdownRightEdge - activePlayer: root.__dropdownPlayer - allPlayers: root.__dropdownPlayers - onCloseRequested: root.__hideDropdowns() - onPanelEntered: root.__stopCloseTimer() - onPanelExited: root.__startCloseTimer() - onVolumeChanged: volume => { - const player = root.__dropdownPlayer; - const isChrome = player?.identity?.toLowerCase().includes("chrome") || player?.identity?.toLowerCase().includes("chromium"); - const usePlayerVolume = player && player.volumeSupported && !isChrome; - if (usePlayerVolume) { - player.volume = volume; - } else if (AudioService.sink?.audio) { - AudioService.sink.audio.volume = volume; - } - } - onPlayerSelected: player => { - const currentPlayer = MprisController.activePlayer; - if (currentPlayer && currentPlayer !== player && currentPlayer.canPause) { - currentPlayer.pause(); - } - MprisController.setActivePlayer(player); - root.__hideDropdowns(); - } - onDeviceSelected: device => { - root.__hideDropdowns(); - } - } - } - - function __tryFocusOnce() { - if (!__focusArmed) - return; - const win = root.window; - if (!win || !win.visible) - return; - if (!contentLoader.item) - return; - if (win.requestActivate) - win.requestActivate(); - contentLoader.item.forceActiveFocus(Qt.TabFocusReason); - - if (contentLoader.item.activeFocus) - __focusArmed = false; - } - - onDashVisibleChanged: { - if (dashVisible) { - __focusArmed = true; - __contentReady = !!contentLoader.item; - open(); - __tryFocusOnce(); - } else { - __focusArmed = false; - __contentReady = false; - __hideDropdowns(); - close(); - } - } - - Connections { - target: contentLoader - function onLoaded() { - __contentReady = true; - if (__focusArmed) - __tryFocusOnce(); - } - } - - Connections { - target: root.window ? root.window : null - enabled: !!root.window - function onVisibleChanged() { - if (__focusArmed) - __tryFocusOnce(); - } - } - - onBackgroundClicked: { - dashVisible = false; - } - - content: Component { - Rectangle { - id: mainContainer - - LayoutMirroring.enabled: I18n.isRtl - LayoutMirroring.childrenInherit: true - - implicitWidth: Math.max(700, pages.implicitWidth + (Theme.spacingM * 2)) - implicitHeight: contentColumn.height + Theme.spacingM * 2 - color: "transparent" - focus: true - - Component.onCompleted: { - if (root.shouldBeVisible) { - mainContainer.forceActiveFocus(); - } - } - - Connections { - target: root - function onShouldBeVisibleChanged() { - if (root.shouldBeVisible) { - Qt.callLater(function () { - mainContainer.forceActiveFocus(); - }); - } - } - } - - Keys.onPressed: function (event) { - if (event.key === Qt.Key_Escape) { - root.dashVisible = false; - event.accepted = true; - return; - } - - if (event.key === Qt.Key_Tab && !(event.modifiers & Qt.ShiftModifier)) { - let nextIndex = root.currentTabIndex + 1; - while (nextIndex < tabBar.model.length && tabBar.model[nextIndex] && tabBar.model[nextIndex].isAction) { - nextIndex++; - } - if (nextIndex >= tabBar.model.length) { - nextIndex = 0; - } - root.currentTabIndex = nextIndex; - event.accepted = true; - return; - } - - if (event.key === Qt.Key_Backtab || (event.key === Qt.Key_Tab && (event.modifiers & Qt.ShiftModifier))) { - let prevIndex = root.currentTabIndex - 1; - while (prevIndex >= 0 && tabBar.model[prevIndex] && tabBar.model[prevIndex].isAction) { - prevIndex--; - } - if (prevIndex < 0) { - prevIndex = tabBar.model.length - 1; - while (prevIndex >= 0 && tabBar.model[prevIndex] && tabBar.model[prevIndex].isAction) { - prevIndex--; - } - } - if (prevIndex >= 0) { - root.currentTabIndex = prevIndex; - } - event.accepted = true; - return; - } - - if (root.currentTabIndex === 2 && wallpaperLoader.item?.handleKeyEvent) { - if (wallpaperLoader.item.handleKeyEvent(event)) { - event.accepted = true; - return; - } - } - } - - Column { - id: contentColumn - anchors.left: parent.left - anchors.right: parent.right - anchors.top: parent.top - anchors.margins: Theme.spacingM - spacing: Theme.spacingS - - DankTabBar { - id: tabBar - - width: parent.width - height: 48 - currentIndex: root.currentTabIndex - spacing: Theme.spacingS - equalWidthTabs: true - enableArrowNavigation: false - focus: false - activeFocusOnTab: false - nextFocusTarget: { - const item = pages.currentItem; - if (!item) - return null; - if (item.focusTarget) - return item.focusTarget; - return item; - } - - model: { - let tabs = [ - { - "icon": "dashboard", - "text": I18n.tr("Overview") - }, - { - "icon": "music_note", - "text": I18n.tr("Media") - }, - { - "icon": "wallpaper", - "text": I18n.tr("Wallpapers") - } - ]; - - if (SettingsData.weatherEnabled) { - tabs.push({ - "icon": "wb_sunny", - "text": I18n.tr("Weather") - }); - } - - tabs.push({ - "icon": "settings", - "text": I18n.tr("Settings"), - "isAction": true - }); - return tabs; - } - - onTabClicked: function (index) { - root.currentTabIndex = index; - } - - onActionTriggered: function (index) { - let settingsIndex = SettingsData.weatherEnabled ? 4 : 3; - if (index === settingsIndex) { - dashVisible = false; - PopoutService.focusOrToggleSettings(); - } - } - } - - Item { - width: parent.width - height: Theme.spacingXS - } - - Item { - id: pages - width: parent.width - height: implicitHeight - implicitWidth: currentItem && currentItem.implicitWidth > 0 ? currentItem.implicitWidth : (700 - Theme.spacingM * 2) - implicitHeight: { - if (root.currentTabIndex === 0) - return overviewLoader.item?.implicitHeight ?? 410; - if (root.currentTabIndex === 1) - return mediaLoader.item?.implicitHeight ?? 410; - if (root.currentTabIndex === 2) - return wallpaperLoader.item?.implicitHeight ?? 410; - if (SettingsData.weatherEnabled && root.currentTabIndex === 3) - return weatherLoader.item?.implicitHeight ?? 410; - return 410; - } - - readonly property var currentItem: { - if (root.currentTabIndex === 0) - return overviewLoader.item; - if (root.currentTabIndex === 1) - return mediaLoader.item; - if (root.currentTabIndex === 2) - return wallpaperLoader.item; - if (root.currentTabIndex === 3) - return weatherLoader.item; - return null; - } - - Loader { - id: overviewLoader - anchors.fill: parent - active: root.currentTabIndex === 0 - visible: active - sourceComponent: Component { - OverviewTab { - onCloseDash: root.dashVisible = false - onSwitchToWeatherTab: { - if (SettingsData.weatherEnabled) { - root.currentTabIndex = 3; - } - } - onSwitchToMediaTab: { - root.currentTabIndex = 1; - } - } - } - } - - Loader { - id: mediaLoader - anchors.fill: parent - active: root.currentTabIndex === 1 - visible: active - sourceComponent: Component { - MediaPlayerTab { - targetScreen: root.screen - popoutX: root.alignedX - popoutY: root.alignedY - popoutWidth: root.alignedWidth - popoutHeight: root.alignedHeight - contentOffsetY: Theme.spacingM + 48 + Theme.spacingS + Theme.spacingXS - section: root.triggerSection - barPosition: root.effectiveBarPosition - Component.onCompleted: root.__mediaTabRef = this - onShowVolumeDropdown: (pos, screen, rightEdge, player, players) => { - root.__showVolumeDropdown(pos, rightEdge, player, players); - } - onShowAudioDevicesDropdown: (pos, screen, rightEdge) => { - root.__showAudioDevicesDropdown(pos, rightEdge); - } - onShowPlayersDropdown: (pos, screen, rightEdge, player, players) => { - root.__showPlayersDropdown(pos, rightEdge, player, players); - } - onHideDropdowns: root.__hideDropdowns() - onVolumeButtonExited: root.__startCloseTimer() - } - } - } - - Loader { - id: wallpaperLoader - anchors.fill: parent - active: root.currentTabIndex === 2 - visible: active - sourceComponent: Component { - WallpaperTab { - active: true - tabBarItem: tabBar - keyForwardTarget: mainContainer - targetScreen: root.screen - parentPopout: root - } - } - } - - Loader { - id: weatherLoader - anchors.fill: parent - active: SettingsData.weatherEnabled && root.currentTabIndex === 3 - visible: active - sourceComponent: Component { - WeatherTab {} - } - } - } - } - } - } -} |