Warning, /frameworks/qqc2-desktop-style/org.kde.desktop/VerticalHeaderView.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 SPDX-FileCopyrightText: 2023 Marco Martin <mart@kde.org> 0003 SPDX-FileCopyrightText: 2020 The Qt Company Ltd. 0004 0005 SPDX-License-Identifier: LGPL-3.0-only OR GPL-2.0-or-later 0006 */ 0007 0008 pragma ComponentBehavior: Bound 0009 0010 import QtQuick 0011 import QtQuick.Templates as T 0012 import org.kde.qqc2desktopstyle.private as StylePrivate 0013 0014 T.VerticalHeaderView { 0015 id: controlRoot 0016 0017 // The contentWidth of TableView will be zero at start-up, until the delegate 0018 // items have been loaded. This means that even if the implicit width of 0019 // VerticalHeaderView should be the same as the content width in the end, we 0020 // need to ensure that it has at least a width of 1 at start-up, otherwise 0021 // TableView won't bother loading any delegates at all. 0022 implicitWidth: Math.max(1, contentWidth) 0023 implicitHeight: syncView ? syncView.height : 0 0024 0025 delegate: StylePrivate.StyleItem { 0026 required property var model 0027 required property int row 0028 readonly property string headerPosition: { 0029 if (controlRoot.rows === 1) { 0030 return "only"; 0031 } else if (model.row == 0) { 0032 return "beginning"; 0033 } else { 0034 return "middle"; 0035 } 0036 } 0037 0038 text: model[controlRoot.textRole] 0039 elementType: "header" 0040 on: { 0041 if (!controlRoot.syncView || !controlRoot.syncView.selectionModel) { 0042 return false 0043 } 0044 // This line is for property bindings 0045 void(controlRoot.syncView.selectionModel.selectedIndexes) 0046 return syncView.selectionModel.rowIntersectsSelection(model.row) 0047 } 0048 properties: { 0049 "headerpos": headerPosition, 0050 "textalignment": Text.AlignVCenter | Text.AlignHCenter, 0051 "orientation": Qt.Vertical 0052 } 0053 } 0054 0055 StylePrivate.StyleItem { 0056 parent: controlRoot 0057 anchors.fill: parent 0058 anchors.topMargin: controlRoot.contentHeight 0059 z: -1 0060 elementType: "header" 0061 properties: { 0062 "headerpos": "end", 0063 "orientation": Qt.Vertical 0064 } 0065 } 0066 }