Compare commits

..

2 commits

Author SHA1 Message Date
Benjamin Palko
cd11aac847 widgets on mpris 2025-07-30 10:04:02 -04:00
Benjamin Palko
d03e2ed11f widgets on storage 2025-07-30 09:48:43 -04:00
3 changed files with 24 additions and 48 deletions

View file

@ -1,20 +1,16 @@
import qs.config
import qs.constants
import qs.services
import qs.utils
import qs.widgets
import QtQuick import QtQuick
import Quickshell import QtQuick.Layouts
import "../../../config/"
import "../../../constants/"
import "../../../services/"
import "../../../styled/"
import "../../../utils/"
StyledLabel { StyledLabel {
implicitWidth: childrenRect.width RowLayout {
implicitHeight: Dimensions.storage.height
Ref { Ref {
service: SystemInfo service: SystemInfo
} }
Row {
StyledText { StyledText {
id: icon id: icon
@ -22,22 +18,11 @@ StyledLabel {
font.pixelSize: Dimensions.storage.iconSize font.pixelSize: Dimensions.storage.iconSize
font.bold: true font.bold: true
text: Icons.hardDrive text: Icons.hardDrive
anchors.verticalCenter: parent.verticalCenter
topPadding: Dimensions.storage.verticalPadding
bottomPadding: Dimensions.storage.verticalPadding
leftPadding: Dimensions.storage.horizontalPadding
} }
StyledText { StyledText {
id: text id: text
anchors.verticalCenter: parent.verticalCenter
topPadding: Dimensions.storage.verticalPadding
bottomPadding: Dimensions.storage.verticalPadding
rightPadding: Dimensions.storage.horizontalPadding
font.pixelSize: Dimensions.storage.fontSize font.pixelSize: Dimensions.storage.fontSize
text: ` ${(SystemInfo.storagePerc * 100).toFixed()}%` text: ` ${(SystemInfo.storagePerc * 100).toFixed()}%`
} }
} }

View file

@ -1,4 +1,3 @@
import Quickshell
import Quickshell.Services.Mpris import Quickshell.Services.Mpris
import QtQuick import QtQuick

View file

@ -1,9 +1,10 @@
import qs.config
import qs.widgets
import Quickshell.Services.Mpris import Quickshell.Services.Mpris
import QtQuick import QtQuick
import "../../../../styled/"
import "../../../../config/"
Loader { Loader {
id: root
required property MprisPlayer modelData required property MprisPlayer modelData
required property int index required property int index
@ -11,46 +12,37 @@ Loader {
signal previousPlayer signal previousPlayer
sourceComponent: player sourceComponent: player
property Component player: Clickable { property Component player: StyledButton {
id: clickable id: button
implicitWidth: text.width
implicitHeight: Dimensions.mpris.height
onClicked: { onClicked: {
if (!modelData.canTogglePlaying) { if (!root.modelData.canTogglePlaying) {
return; return;
} }
if (modelData.isPlaying) { if (root.modelData.isPlaying) {
modelData.pause(); root.modelData.pause();
} else { } else {
modelData.play(); root.modelData.play();
} }
} }
onWheel: event => { onWheel: event => {
if (event.angleDelta.y > 0) { if (event.angleDelta.y > 0) {
parent.nextPlayer(); root.nextPlayer();
} else if (event.angleDelta.y < 0) { } else if (event.angleDelta.y < 0) {
parent.previousPlayer(); root.previousPlayer();
} }
} }
StyledText { content: StyledText {
id: text id: text
text: `${modelData.isPlaying ? "" : ""} ${modelData.trackTitle} - ${modelData.trackArtist}` text: `${root.modelData.isPlaying ? "" : ""} ${root.modelData.trackTitle} - ${root.modelData.trackArtist}`
anchors.verticalCenter: parent.verticalCenter
topPadding: Dimensions.mpris.verticalPadding
bottomPadding: Dimensions.mpris.verticalPadding
leftPadding: Dimensions.mpris.horizontalPadding
rightPadding: Dimensions.mpris.horizontalPadding
font.pixelSize: Dimensions.mpris.fontSize font.pixelSize: Dimensions.mpris.fontSize
states: State { states: State {
name: "hovered" name: "hovered"
when: clickable.containsMouse when: button.containsMouse
PropertyChanges { PropertyChanges {
text { text {
color: Theme.palette.base300 color: Theme.palette.base300