Warning, /plasma/discover/discover/qml/Rating.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 * SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez <aleixpol@blue-systems.com> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 import QtQuick 2.1 0008 import QtQuick.Layouts 1.1 0009 import org.kde.kirigami 2.14 as Kirigami 0010 0011 RowLayout 0012 { 0013 id: view 0014 property bool editable: false 0015 property int max: 10 0016 property int rating: 0 0017 property real starSize: Kirigami.Units.gridUnit 0018 0019 clip: true 0020 spacing: 0 0021 0022 readonly property var ratingIndex: (theRepeater.count/view.max)*view.rating 0023 0024 Repeater { 0025 id: theRepeater 0026 model: 5 0027 delegate: Kirigami.Icon { 0028 Layout.minimumWidth: view.starSize 0029 Layout.minimumHeight: view.starSize 0030 Layout.preferredWidth: view.starSize 0031 Layout.preferredHeight: view.starSize 0032 0033 width: height 0034 source: "rating" 0035 opacity: (view.editable && mouse.item.containsMouse ? 0.7 0036 : index>=view.ratingIndex ? 0.2 0037 : 1) 0038 0039 ConditionalLoader { 0040 id: mouse 0041 0042 anchors.fill: parent 0043 condition: view.editable 0044 componentTrue: MouseArea { 0045 hoverEnabled: true 0046 onClicked: rating = (max/theRepeater.model*(index+1)) 0047 } 0048 componentFalse: null 0049 } 0050 } 0051 } 0052 }