import QtQuick 2.0 import QtQuick.Controls 2.0 import QtQuick.Layouts 1.0 import QtQuick.Controls.Material 2.0 ItemDelegate { id: control implicitHeight: 50 Rectangle { anchors { top: parent.top left: parent.left right: parent.right topMargin: - control.ListView.view.spacing * 0.5 } color: "lightgrey" height: 1 visible: model.index !== 0 } text: model.text contentItem: RowLayout { spacing: 5 Text { Layout.fillWidth: true elide: Text.ElideRight opacity: model.active ? 1:0.5 color: control.Material.foreground text: control.text Behavior on opacity { NumberAnimation {} } } Chip { Layout.preferredHeight: control.height * 0.6 Layout.preferredWidth: model.scroll ? control.width * 0.15 : 0 visible: model.scroll color: Material.accent opacity: model.active ? 1:0.5 Behavior on color { ColorAnimation {} } text: model.scroll ? qsTr("scrolling"):"" onClicked: { control.clicked() } } Chip { Layout.preferredHeight: control.height * 0.6 Layout.preferredWidth: height opacity: model.active ? 1:0.5 color: model.color onClicked: { control.clicked() } } Chip { Layout.preferredHeight: control.height * 0.6 Layout.preferredWidth: control.width * 0.15 color: model.active ? "#4CAF50" : "#F44336" text: model.active ? qsTr(" active "):qsTr("inactive") onClicked: model.active = !model.active } } }