topPadding: contentItem ? (height - contentItem.implicitHeight) / 2 : 0 leftPadding: !mirrored ? leftMargin + __contentIndent : width - leftMargin - __contentIndent - implicitContentWidth highlighted: control.selected || control.current || ((control.treeView.selectionBehavior === TableView.SelectRows || control.treeView.selectionBehavior === TableView.SelectionDisabled) && control.row === control.treeView.currentRow) required property int row required property var model readonly property real __contentIndent: !isTreeNode ? 0 : (depth * indentation) + (indicator ? indicator.width + spacing : 0) indicator: Item { // Create an area that is big enough for the user to // click on, since the image is a bit small. readonly property real __indicatorIndent: control.leftMargin + (control.depth * control.indentation) x: !control.mirrored ? __indicatorIndent : control.width - __indicatorIndent - width y: (control.height - height) / 2 implicitWidth: 20 implicitHeight: 40 // same as Button.qml ColorImage { x: (parent.width - width) / 2 y: (parent.height - height) / 2 rotation: control.expanded ? 90 : (control.mirrored ? 180 : 0) source: "qrc:/qt-project.org/imports/QtQuick/Controls/Basic/images/arrow-indicator.png" color: control.palette.windowText defaultColor: "#353637" } } background: Rectangle { implicitHeight: 40 // same as Button.qml color: control.highlighted ? control.palette.highlight : (control.treeView.alternatingRows && control.row % 2 !== 0 ? control.palette.alternateBase : control.palette.base) } contentItem: Label { clip: false text: control.model.display elide: Text.ElideRight color: control.highlighted ? control.palette.highlightedText : control.palette.buttonText } }