Warning, /plasma/plasma-sdk/plasmoidviewer/qmlpackages/shell/contents/configuration/ConfigCategoryDelegate.qml is written in an unsupported language. File is not indexed.

0001 /*
0002  *  SPDX-FileCopyrightText: 2013 Marco Martin <mart@kde.org>
0003  *  SPDX-FileCopyrightText: 2020 Carl Schwan <carlschwan@kde.org>
0004  *
0005  *  SPDX-License-Identifier: GPL-2.0-or-later
0006  */
0007 
0008 import QtQuick 2.0
0009 import QtQuick.Layouts 1.1
0010 import QtQuick.Controls 2.3 as QtControls
0011 import QtQuick.Window 2.2
0012 import org.kde.kirigami 2.20 as Kirigami
0013 
0014 import org.kde.kirigami 2.5 as Kirigami
0015 
0016 QtControls.ItemDelegate {
0017     id: delegate
0018 
0019     signal activated()
0020 
0021 //BEGIN properties
0022     Layout.fillWidth: true
0023     Layout.maximumWidth: Kirigami.Units.gridUnit * 7
0024     hoverEnabled: true
0025 
0026     Accessible.role: Accessible.MenuItem
0027     Accessible.name: model.name
0028     Accessible.description: i18n("Open configuration page")
0029 
0030     property var item
0031 //END properties
0032 
0033 //BEGIN connections
0034     onClicked: {
0035         if (highlighted) {
0036             return;
0037         }
0038 
0039         activated()
0040     }
0041 //END connections
0042 
0043 //BEGIN UI components
0044     contentItem: ColumnLayout {
0045         id: delegateContents
0046         spacing: Kirigami.Units.smallSpacing
0047 
0048         Kirigami.Icon {
0049             Layout.alignment: Qt.AlignHCenter
0050             implicitWidth: Kirigami.Units.iconSizes.medium
0051             implicitHeight: Kirigami.Units.iconSizes.medium
0052             source: model.icon
0053             selected: Window.active && (delegate.highlighted || delegate.pressed)
0054         }
0055 
0056 
0057         QtControls.Label {
0058             id: nameLabel
0059             Layout.fillWidth: true
0060             Layout.leftMargin: Kirigami.Units.smallSpacing
0061             Layout.rightMargin: Kirigami.Units.smallSpacing
0062             text: model.name
0063             wrapMode: Text.Wrap
0064             horizontalAlignment: Text.AlignHCenter
0065             color: highlighted && Window.active ? Kirigami.Theme.highlightedTextColor : Kirigami.Theme.textColor
0066             Behavior on color {
0067                 ColorAnimation {
0068                     duration: Kirigami.Units.longDuration
0069                     easing.type: Easing.InOutQuad
0070                 }
0071             }
0072         }
0073     }
0074 //END UI components
0075 }