homescreens/halcyon: Fix list highlight within folder

This commit is contained in:
Devin Lin 2023-04-19 22:18:05 -07:00
parent c6ec8606c5
commit 2603f461e6

View file

@ -1,12 +1,13 @@
// SPDX-FileCopyrightText: 2022 Devin Lin <devin@kde.org> // SPDX-FileCopyrightText: 2022 Devin Lin <devin@kde.org>
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
import QtQuick as QQ import QtQuick
import org.kde.plasma.extras as PlasmaExtras import org.kde.plasma.extras as PlasmaExtras
QQ.GridView { GridView {
id: root id: root
currentIndex: -1
maximumFlickVelocity: 5000 maximumFlickVelocity: 5000
@ -20,42 +21,42 @@ QQ.GridView {
property var leftEdgeCallback: null property var leftEdgeCallback: null
property var rightEdgeCallback: null property var rightEdgeCallback: null
QQ.Keys.onPressed: event => { Keys.onPressed: event => {
if (!currentItem) { if (!currentItem) {
return; return;
} }
switch(event.key){ switch(event.key) {
case Qt.Key_Left: { case Qt.Key_Left: {
if (currentItem.x === 0 if (currentItem.x === 0
&& leftEdgeCallback) { && leftEdgeCallback) {
leftEdgeCallback(); leftEdgeCallback();
} }
break; break;
} }
case Qt.Key_Right: { case Qt.Key_Right: {
if (indexAt(currentItem.x + cellWidth, currentItem.y) === -1 if (indexAt(currentItem.x + cellWidth, currentItem.y) === -1
&& rightEdgeCallback) { && rightEdgeCallback) {
rightEdgeCallback(); rightEdgeCallback();
} }
break; break;
} }
case Qt.Key_Up: { case Qt.Key_Up: {
if (currentItem.y === 0 if (currentItem.y === 0
&& topEdgeCallback) { && topEdgeCallback) {
topEdgeCallback(); topEdgeCallback();
} }
break; break;
} }
case Qt.Key_Down: { case Qt.Key_Down: {
if (indexAt(currentItem.x, currentItem.y + cellHeight) === -1 if (indexAt(currentItem.x, currentItem.y + cellHeight) === -1
&& bottomEdgeCallback) { && bottomEdgeCallback) {
bottomEdgeCallback(); bottomEdgeCallback();
} }
break; break;
} }
} }
} }
onActiveFocusChanged: { onActiveFocusChanged: {
if (!activeFocus) { if (!activeFocus) {
@ -69,7 +70,7 @@ QQ.GridView {
} }
} }
QQ.Component { Component {
id: highlightComponent id: highlightComponent
PlasmaExtras.Highlight {} PlasmaExtras.Highlight {}