X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=app%2FMixer.qml;h=a012645e610544fe1abf16f410068606b4af40c5;hb=refs%2Ftags%2Ficefish_8.99.1;hp=96875e0d8c9a999aff36d79e37cced7e3dc6bff9;hpb=d9bb450ee8898cb810027897a32afd3adcb05d9f;p=apps%2Fmixer.git diff --git a/app/Mixer.qml b/app/Mixer.qml index 96875e0..a012645 100644 --- a/app/Mixer.qml +++ b/app/Mixer.qml @@ -18,81 +18,49 @@ 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 ApplicationWindow { + // ----- Signals + + // ----- Properties + property Component volumeSlider + + // ----- Setup id: root + width: 1080 * roles.scale + height: 1487 * 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 + 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: name - 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 {} } }