X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=app%2FMixer.qml;h=b14ae68ce819139e2b0c246f34c0737619fe991b;hb=refs%2Ftags%2F12.1.18;hp=7a099cecfb840e302a1d96dd383cb603b8682258;hpb=392effc544e3d94b82f806378d4ac1d11a185422;p=apps%2Fmixer.git diff --git a/app/Mixer.qml b/app/Mixer.qml index 7a099ce..b14ae68 100644 --- a/app/Mixer.qml +++ b/app/Mixer.qml @@ -18,76 +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 {} - delegate: ColumnLayout { - width: parent.width - spacing: 40 - 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 { - 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 {} } }