basic volume mixer

This commit is contained in:
kossLAN 2025-11-01 22:48:23 -04:00
parent 65894a08c9
commit 102fa853a8
Signed by: kossLAN
SSH key fingerprint: SHA256:bdV0x+wdQHGJ6LgmstH3KV8OpWY+OOFmJcPcB0wQPV8
5 changed files with 202 additions and 0 deletions

View file

@ -0,0 +1,84 @@
pragma ComponentBehavior: Bound
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import Qt5Compat.GraphicalEffects
import Quickshell.Services.Pipewire
import Quickshell.Widgets
import qs.widgets
import qs.bar
StyledMouseArea {
id: root
onClicked: showMenu = !showMenu
required property var bar
property bool showMenu: false
IconImage {
id: icon
source: "root:resources/control/controls-button.svg"
anchors {
fill: parent
margins: 3
}
}
property PopupItem menu: PopupItem {
id: menu
owner: root
popup: root.bar.popup
show: root.showMenu
onClosed: root.showMenu = false
property real padding: 10
implicitWidth: 275
implicitHeight: 350
ColumnLayout {
id: container
spacing: 4
anchors {
fill: parent
margins: 8
}
ControlCenterCard {
title: "Wi-Fi"
description: "Wifi Network"
Layout.fillWidth: true
Layout.preferredHeight: 40
}
ControlCenterCard {
title: "Bluetooth"
description: "Manage bluetooth devices."
Layout.fillWidth: true
Layout.preferredHeight: 40
}
// ControlCenterCard {
// title: "Bluetooth"
// description: "Manage bluetooth devices."
// Layout.fillWidth: true
// Layout.preferredHeight: 40
// }
//
// ControlCenterCard {
// title: "Bluetooth"
// description: "Manage bluetooth devices."
// Layout.fillWidth: true
// Layout.preferredHeight: 40
// }
Item {
Layout.fillWidth: true
Layout.fillHeight: true
}
}
}
}

View file

@ -0,0 +1,45 @@
import QtQuick
import QtQuick.Layouts
import Quickshell.Widgets
import qs
WrapperMouseArea {
id: root
required property var title
required property var description
RowLayout {
ColumnLayout {
Layout.fillWidth: true
Layout.fillHeight: true
Text {
text: root.title
color: ShellSettings.colors.active
font.pointSize: 10
}
Text {
text: root.description
color: ShellSettings.colors.active.darker(2.0)
font.pointSize: 9
}
}
IconImage {
source: "root:resources/general/right-arrow.svg"
Layout.preferredWidth: height
Layout.fillHeight: true
Layout.alignment: Qt.AlignRight
Layout.margins: 2
}
// Rectangle {
// Layout.preferredWidth: height
// Layout.fillHeight: true
// Layout.alignment: Qt.AlignRight
// Layout.margins: 2
// }
}
}