diff --git a/plasmoid/package6/contents/ui/TopLevelItem.qml b/plasmoid/package6/contents/ui/TopLevelItem.qml index f63c02c..abae688 100644 --- a/plasmoid/package6/contents/ui/TopLevelItem.qml +++ b/plasmoid/package6/contents/ui/TopLevelItem.qml @@ -1,55 +1,27 @@ // Based on PlasmaComponents.ListItem from Plasma 5.44.0 -// (Can't use PlasmaComponents.ListItem itself because creating a MouseArea filling -// the entire entire item for detecting right-mouse-click is not possible due to binding -// loop of width and height properties.) import QtQuick 2.7 -import QtQuick.Layouts 1.1 import org.kde.ksvg 1.0 as KSvg import org.kde.kirigami 2.20 as Kirigami Item { id: listItem - property bool expanded: false default property alias content: paddingItem.data - - /** - * If true makes the list item look as checked or pressed. It has to be set - * from the code, it won't change by itself. - */ - //plasma extension - //always look pressed? - property bool checked: false - - /** - * If true the item will be a delegate for a section, so will look like a - * "title" for the otems under it. - */ - //is this to be used as section delegate? - property bool sectionDelegate: false - - /** - * type: bool - * True if the separator between items is visible - * default: true - */ + property bool expanded: false property bool separatorVisible: true width: parent ? parent.width : childrenRect.width height: paddingItem.childrenRect.height + background.margins.top + background.margins.bottom - implicitHeight: paddingItem.childrenRect.height + background.margins.top + background.margins.bottom - function activate(containsMouse) { - view.activate(containsMouse ? index : -1) + function activate() { + view.activate(index) } KSvg.FrameSvgItem { id: background imagePath: "widgets/listitem" - prefix: (listItem.sectionDelegate ? "section" : (itemMouse.pressed - || listItem.checked) ? "pressed" : "normal") - + prefix: "normal" anchors.fill: parent visible: listItem.ListView.view ? listItem.ListView.view.highlight === null : true Behavior on opacity { @@ -69,20 +41,18 @@ Item { top: parent.top } height: naturalSize.height - visible: separatorVisible && (listItem.sectionDelegate - || (typeof (index) != "undefined" - && index > 0 && !listItem.checked - && !itemMouse.pressed)) + visible: separatorVisible && (index !== undefined + && index > 0 && !listItem.checked + && !itemMouse.pressed) } MouseArea { id: itemMouse property bool changeBackgroundOnPress: !listItem.checked - && !listItem.sectionDelegate anchors.fill: background hoverEnabled: true acceptedButtons: Qt.LeftButton | Qt.RightButton - + onEntered: listItem.activate() onClicked: function(mouse) { switch (mouse.button) { case Qt.LeftButton: @@ -96,10 +66,6 @@ Item { } } - onContainsMouseChanged: { - listItem.activate(containsMouse) - } - Item { id: paddingItem anchors {