Warning, /frameworks/qqc2-desktop-style/org.kde.desktop/HorizontalHeaderView.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.HorizontalHeaderView { 0015 id: controlRoot 0016 0017 implicitWidth: syncView ? syncView.width : 0 0018 // The contentHeight of TableView will be zero at start-up, until the delegate 0019 // items have been loaded. This means that even if the implicit height of 0020 // HorizontalHeaderView should be the same as the content height in the end, we 0021 // need to ensure that it has at least a height of 1 at start-up, otherwise 0022 // TableView won't bother loading any delegates at all. 0023 implicitHeight: Math.max(1, contentHeight) 0024 0025 delegate: StylePrivate.StyleItem { 0026 required property var model 0027 required property int column 0028 readonly property string headerPosition: { 0029 if (controlRoot.columns === 1) { 0030 return "only"; 0031 } else if (model.column === 0) { 0032 return LayoutMirroring.enabled ? "end" : "beginning"; 0033 } else { 0034 return "middle"; 0035 } 0036 } 0037 0038 text: model[controlRoot.textRole] 0039 elementType: "header" 0040 on: { 0041 let selectionModel = controlRoot.selectionModel 0042 if (!selectionModel && controlRoot.syncView) { 0043 selectionModel = controlRoot.syncView.selectionModel 0044 } 0045 if (!selectionModel) { 0046 return false 0047 } 0048 0049 // This line is for property bindings 0050 void(selectionModel.selectedIndexes); 0051 return selectionModel.columnIntersectsSelection(model.column) 0052 } 0053 //FIXME: this is not usable as we don't have ways to query the sort column 0054 //activeControl: orderQuery ? (filteredMimeTypesModel.sortOrder == Qt.AscendingOrder ? "down" : "up") : "" 0055 activeControl: { 0056 if (model.sort !== undefined) { 0057 return model.sort == Qt.AscendingOrder ? "down" : "up" 0058 } 0059 return "" 0060 } 0061 properties: { 0062 "headerpos": headerPosition, 0063 "textalignment": Text.AlignVCenter | Text.AlignHCenter, 0064 "orientation": Qt.Horizontal 0065 } 0066 } 0067 0068 StylePrivate.StyleItem { 0069 parent: controlRoot 0070 anchors.fill: parent 0071 anchors.leftMargin: controlRoot.contentWidth 0072 z: -1 0073 elementType: "header" 0074 properties: { 0075 "headerpos": LayoutMirroring.enabled ? "beginning" : "end", 0076 "orientation": Qt.Horizontal 0077 } 0078 } 0079 }