// Copyright 2019 miruka // This file is part of harmonyqml, licensed under LGPLv3. import QtQuick 2.12 import QtQuick.Layouts 1.12 HScalingBox { id: interfaceBox property alias title: interfaceTitle.text property alias buttonModel: interfaceButtonsRepeater.model property var buttonCallbacks: [] property string enterButtonTarget: "" default property alias body: interfaceBody.children function clickEnterButtonTarget() { for (var i = 0; i < buttonModel.length; i++) { var btn = interfaceButtonsRepeater.itemAt(i) if (btn.name === enterButtonTarget) { btn.clicked() } } } HColumnLayout { anchors.fill: parent id: mainColumn HRowLayout { Layout.alignment: Qt.AlignHCenter Layout.margins: interfaceBox.margins HLabel { id: interfaceTitle font.pixelSize: theme.fontSize.big } } HSpacer {} HColumnLayout { id: interfaceBody } HSpacer {} HRowLayout { Repeater { id: interfaceButtonsRepeater model: [] HUIButton { property string name: modelData.name id: button text: modelData.text iconName: modelData.iconName || "" onClicked: buttonCallbacks[modelData.name](button) Layout.fillWidth: true Layout.preferredHeight: theme.avatar.size } } } } }