// Copyright (C) 2024 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only // Qt-Security score:significant reason:default import QtQuick import QtQuick.Controls.impl import QtQuick.Templates as T T.TableViewDelegate { id: control // same as AbstractButton.qml implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, implicitContentWidth + leftPadding + rightPadding) implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, implicitContentHeight + topPadding + bottomPadding) highlighted: control.selected required property int column required property int row required property var model background: Rectangle { border.width: control.current ? 2 : Qt.styleHints.accessibility.contrastPreference === Qt.HighContrast ? 1 : 0 border.color: control.current ? control.palette.highlight : control.palette.windowText color: control.highlighted ? control.palette.highlight : (control.tableView.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 visible: !control.editing } // The edit delegate is a separate component, and doesn't need // to follow the same strict rules that are applied to a control. // qmllint disable attached-property-reuse // qmllint disable controls-attached-property-reuse // qmllint disable QuickControlsSanity.controls-sanity TableView.editDelegate: FocusScope { width: parent.width height: parent.height TableView.onCommit: { let model = control.tableView.model if (!model) return const index = model.index(control.row, control.column) if (!model.setData(index, textField.text, Qt.EditRole)) console.warn("The model does not allow setting the EditRole data.") } Component.onCompleted: textField.selectAll() TextField { id: textField anchors.fill: parent text: control.model.edit ?? control.model.display ?? "" focus: true } } // qmllint enable attached-property-reuse // qmllint enable controls-attached-property-reuse // qmllint enable QuickControlsSanity.controls-sanity }