// Copyright (C) 2021 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 import QtQuick import QtQuick.Controls import QtQuick.Controls.impl import QtQuick.Dialogs.quickimpl as DialogsQuickImpl DialogsQuickImpl.FileDialogDelegate { id: control implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, implicitContentWidth + leftPadding + rightPadding) implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, implicitContentHeight + topPadding + bottomPadding, implicitIndicatorHeight + topPadding + bottomPadding) padding: 12 spacing: 8 topPadding: 0 bottomPadding: 0 file: fileUrl icon.width: 16 icon.height: 16 icon.color: highlighted ? palette.highlightedText : palette.text icon.source: "qrc:/qt-project.org/imports/QtQuick/Dialogs/quickimpl/images/" + (fileIsDir ? "folder" : "file") + "-icon-round.png" // We don't use index here, but in C++. Since we're using required // properties, the index context property will not be injected, so we can't // use its QQmlContext to access it. required property int index required property string fileName required property url fileUrl required property double fileSize required property date fileModified required property bool fileIsDir property int fileDetailRowWidth contentItem: FileDialogDelegateLabel { delegate: control fileDetailRowTextColor: control.icon.color fileDetailRowWidth: control.fileDetailRowWidth } background: Rectangle { implicitWidth: 100 implicitHeight: 40 visible: control.down || control.highlighted || control.visualFocus color: Color.blend(control.down ? control.palette.midlight : control.palette.light, control.palette.highlight, control.highlighted ? 0.15 : 0.0) } }