Files
dotfiles/quickshell/PlayerText.qml
2025-07-23 19:17:11 +01:00

130 lines
3.4 KiB
QML

import Quickshell
import Quickshell.Io
import QtQuick
import QtQuick.Layouts
import Quickshell.Widgets
import QtQuick.Effects
// import playbutton.svg
Item {
id: root
Layout.fillHeight: true
implicitWidth: hi.width
visible: Player.activePlayer.canPlay()
MouseArea {
anchors.fill: parent
hoverEnabled: true
onEntered: event => {
audioPopup.visible = true;
}
onExited: event => {
audioPopup.visible = false;
}
}
Image {
source: Player.activePlayer.trackArtUrl;
anchors.fill: parent
fillMode: Image.PreserveAspectCrop
layer.enabled: true
layer.effect: MultiEffect {
blur: 0.3
blurEnabled: true
}
}
// parent.aaaaa: false
RowLayout {
id: hi
Item {
implicitHeight: 30;
implicitWidth: 30;
IconImage {
implicitSize: 30;
source: "root:skip_next";
scale: -1
}
MouseArea {
anchors.fill: parent
onPressed: event => {
Player.activePlayer.previous();
}
}
}
Item {
implicitHeight: 30;
implicitWidth: 30;
IconImage {
implicitSize: 30;
source: !Player.activePlayer.isPlaying ? "root:playbutton.svg" : "root:pausebutton.svg";
}
MouseArea {
anchors.fill: parent
hoverEnabled: false
onPressed: event => {
Player.activePlayer.togglePlaying();
// console.debug("" + Player.activePlayer.)
}
}
// PopupAnchor {}
}
Item {
implicitHeight: 30;
implicitWidth: 30;
IconImage {
implicitSize: 30;
source: "root:skip_next";
}
MouseArea {
anchors.fill: parent
onPressed: event => {
Player.activePlayer.next();
}
}
}
}
PopupWindow {
id: audioPopup
color: "transparent"
anchor {
item: root
}
anchor.rect.x: root.width / 2 - width / 2
anchor.rect.y: root.height * 1.2
height: 350
width: 300
Rectangle {
anchors.fill: parent
color: "#919191"
ColumnLayout {
anchors.centerIn: parent
Item {
width: coverImg.width
height: coverImg.height
Image {
id: coverImg
anchors.fill: parent
source: Player.activePlayer.trackArtUrl;
width: 275
height: 275
fillMode: Image.PreserveAspectCrop
}
}
Text {
text: Player.activePlayer.trackTitle
color: "white"
font.pointSize: 10.75
}
Text {
text: Player.activePlayer.trackArtist
color: "white"
font.pointSize: 10.75
}
}
}
}
}