// 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 as ControlsImpl import QtQuick.Controls.Fusion import QtQuick.Controls.Fusion.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: 6 spacing: 6 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 int fileSize required property date fileModified required property bool fileIsDir required property int fileDetailRowWidth contentItem: FileDialogDelegateLabel { delegate: control fileDetailRowTextColor: control.highlighted ? Fusion.highlightedText(control.palette) : control.palette.text fileDetailRowWidth: control.fileDetailRowWidth } background: Rectangle { implicitWidth: 100 implicitHeight: 20 color: control.down ? Fusion.buttonColor(control.palette, false, true, true) : control.highlighted ? Fusion.highlight(control.palette) : control.palette.base } }