Compare commits

...

3 Commits

View File

@@ -91,12 +91,20 @@ Container {
] ]
onHoveredChanged: { onHoveredChanged: {
if (root.hovered == true && MprisManager.getPlaying() == true) { if (root.hovered == true) {
if (root.logout == false) {
if (MprisManager.getPlaying() == true) {
root.overriden = true; root.overriden = true;
root.mpris = true; root.mpris = true;
}
}
} else { // Hovered == false
if (root.logout == true) {
IpcManager.closeLogoutMenu();
} else { } else {
root.overriden = false; root.overriden = false;
root.mpris = true; root.mpris = false;
}
} }
} }
@@ -107,6 +115,11 @@ Container {
} }
function onLogoutMenu() { function onLogoutMenu() {
root.overriden = false;
root.mpris = false;
mprisTimer.stop();
root.notified = false;
notificationTimer.stop();
if (root.monitor.focused == true) { if (root.monitor.focused == true) {
root.overriden = true; root.overriden = true;
root.logout = true; root.logout = true;
@@ -132,10 +145,12 @@ Container {
Connections { Connections {
function onTrackChanged() { function onTrackChanged() {
if (root.overriden != true) {
root.overriden = true; root.overriden = true;
root.mpris = true; root.mpris = true;
console.log("track changed"); console.log("track changed");
} }
}
target: MprisManager.defaultPlayer target: MprisManager.defaultPlayer
} }
@@ -241,24 +256,59 @@ Container {
Item { Item {
id: logoutButtonRoot id: logoutButtonRoot
// Key yen isn't on my keyboard, acts as an errorless analog for no bind
required property var modelData required property var modelData
Layout.fillHeight: true Layout.fillHeight: true
Layout.fillWidth: true Layout.fillWidth: true
HoverHandler {
id: logoutHoverHandler
onHoveredChanged: {
if (logoutHoverHandler.hovered == true) {
buttonBackground.color = Colors.surface1;
logoutButtonText.color = logoutButtonRoot.modelData.color;
} else {
buttonBackground.color = logoutButtonRoot.modelData.color;
logoutButtonText.color = Colors.base;
}
}
}
TapHandler {
onTapped: {
Quickshell.execDetached(logoutButtonRoot.modelData.command);
}
}
Rectangle { Rectangle {
id: buttonBackground
anchors.fill: parent anchors.fill: parent
color: logoutButtonRoot.modelData.color color: logoutButtonRoot.modelData.color
radius: 7 radius: 7
Behavior on color {
ColorAnimation {
duration: 100
}
}
StyledText { StyledText {
id: logoutButtonText
anchors.fill: parent anchors.fill: parent
fontSize: 25 fontSize: 25
horizontalAlignment: Qt.AlignHCenter horizontalAlignment: Qt.AlignHCenter
propo: true propo: true
text: logoutButtonRoot.modelData.text text: logoutButtonRoot.modelData.text
verticalAlignment: Qt.AlignVCenter verticalAlignment: Qt.AlignVCenter
Behavior on color {
ColorAnimation {
duration: 100
}
}
} }
} }
} }
@@ -367,6 +417,18 @@ Container {
return fullHeight - (fullMargin * 2); return fullHeight - (fullMargin * 2);
} }
TapHandler {
acceptedButtons: Qt.RightButton
onTapped: MprisManager.skip()
}
TapHandler {
acceptedButtons: Qt.LeftButton
onTapped: MprisManager.prev()
}
Rectangle { Rectangle {
color: Colors.surface1 color: Colors.surface1
radius: 9 radius: 9