Warning, /plasma/plasma-desktop/kcms/landingpage/ui/Thumbnail.qml is written in an unsupported language. File is not indexed.

0001 /*
0002     SPDX-FileCopyrightText: 2021 Marco Martin <mart@kde.org>
0003     SPDX-FileCopyrightText: 2018 Furkan Tokac <furkantokac34@gmail.com>
0004     SPDX-FileCopyrightText: 2019 Nate Graham <nate@kde.org>
0005 
0006     SPDX-License-Identifier: GPL-2.0-or-later
0007 */
0008 import QtQuick 2.7
0009 import QtQuick.Controls 2.5 as QQC2
0010 import QtQuick.Layouts 1.3
0011 import QtQuick.Window 2.2
0012 import org.kde.kirigami 2.15 as Kirigami
0013 
0014 QQC2.RadioButton {
0015     id: delegate
0016 
0017     property alias imageSource: image.source
0018 
0019     implicitWidth: contentItem.implicitWidth
0020     implicitHeight: contentItem.implicitHeight
0021 
0022     contentItem: ColumnLayout {
0023         spacing: 0
0024 
0025         Kirigami.ShadowedRectangle {
0026             implicitWidth: implicitHeight * 1.6
0027             implicitHeight: Kirigami.Units.gridUnit * 5
0028             radius: Kirigami.Units.smallSpacing
0029             Kirigami.Theme.inherit: false
0030             Kirigami.Theme.colorSet: Kirigami.Theme.View
0031 
0032             shadow.xOffset: 0
0033             shadow.yOffset: 2
0034             shadow.size: 10
0035             shadow.color: Qt.rgba(0, 0, 0, 0.3)
0036 
0037             color: {
0038                 if (delegate.checked) {
0039                     return Kirigami.Theme.highlightColor;
0040                 } else if (delegate.hovered) {
0041                     // Match appearance of hovered list items
0042                     return Qt.rgba(Kirigami.Theme.highlightColor.r,
0043                                 Kirigami.Theme.highlightColor.g,
0044                                 Kirigami.Theme.highlightColor.b,
0045                                 0.5);
0046                 } else {
0047                     return Kirigami.Theme.backgroundColor;
0048                 }
0049             }
0050 
0051             Image {
0052                 id: image
0053                 anchors {
0054                     fill: parent
0055                     margins: Kirigami.Units.smallSpacing
0056                 }
0057                 sourceSize: Qt.size(width * Screen.devicePixelRatio,
0058                                     height * Screen.devicePixelRatio)
0059             }
0060         }
0061 
0062         QQC2.Label {
0063             id: label
0064             Layout.fillWidth: true
0065             Layout.topMargin: Kirigami.Units.smallSpacing
0066             text: delegate.text
0067             textFormat: Text.PlainText
0068             horizontalAlignment: Text.AlignHCenter
0069         }
0070 
0071         Rectangle {
0072             Layout.preferredWidth: label.paintedWidth
0073             Layout.preferredHeight: 1
0074             Layout.alignment: Qt.AlignHCenter
0075 
0076             color: Kirigami.Theme.highlightColor
0077 
0078             opacity: delegate.visualFocus ? 1 : 0
0079         }
0080     }
0081 
0082     indicator: Item {}
0083     background: Item {}
0084 }