X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=app%2FMixer.qml;h=b14ae68ce819139e2b0c246f34c0737619fe991b;hb=refs%2Ftags%2F12.1.11;hp=58124c70f2ee4328739060e8021dafe3a0dc4577;hpb=288256f33f6298204cd0166cea3202d1fde100da;p=apps%2Fmixer.git diff --git a/app/Mixer.qml b/app/Mixer.qml index 58124c7..b14ae68 100644 --- a/app/Mixer.qml +++ b/app/Mixer.qml @@ -18,81 +18,52 @@ import QtQuick 2.6 import QtQuick.Layouts 1.1 import QtQuick.Controls 2.0 import AGL.Demo.Controls 1.0 -import PaControlModel 1.0 +import Mixer 1.0 + +import QtQuick.Window 2.13 ApplicationWindow { + // ----- Signals + + // ----- Properties + property Component volumeSlider + + // ----- Setup id: root + width: Window.width * roles.scale + height: Window.height * roles.scale - Label { + // ----- Childs + Label { id: title font.pixelSize: 48 text: "Mixer" anchors.horizontalCenter: parent.horizontalCenter } - Component { - id: ctldesc - Label { - font.pixelSize: 32 - width: listView.width - wrapMode: Text.WordWrap - property var typeString: {modelType ? "Output" : "Input"} - text: "[" + typeString + " #" + modelCIndex + "]: " + modelDesc - } - } + Mixer { + signal sliderVolumeChanged(string role, int value) + + id: mixer - Component { - id: empty - Item { + Component.onCompleted: { + mixer.open(bindingAddress); } } ListView { - id: listView - anchors.left: parent.left - anchors.top: title.bottom + id: roles + model: mixer.roles + //scale: scale_factor + scale: 1 + anchors.margins: 80 - anchors.fill: parent - model: PaControlModel { objectName: "pacm" } - delegate: ColumnLayout { - width: parent.width - spacing: 40 - Connections { - target: listView.model - onDataChanged: slider.value = volume - } - Loader { - property int modelType: type - property int modelCIndex: cindex - property string modelDesc: desc - sourceComponent: (channel == 0) ? ctldesc : empty - } - RowLayout { - Layout.minimumHeight: 75 - Label { - font.pixelSize: 24 - text: cdesc - Layout.minimumWidth: 150 - } - Label { - font.pixelSize: 24 - text: "0 %" - } - Slider { - id: slider - Layout.fillWidth: true - from: 0 - to: 65536 - stepSize: 256 - snapMode: Slider.SnapOnRelease - onValueChanged: volume = value - Component.onCompleted: value = volume - } - Label { - font.pixelSize: 24 - text: "100 %" - } - } - } + anchors.top: title.bottom + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: parent.bottom + spacing: 10 + + delegate: VolumeSlider {} } }