From fb7a9aa713094885b85d405b1dd7ae72b86a0a23 Mon Sep 17 00:00:00 2001 From: zhangkun Date: Mon, 15 Jul 2024 17:35:36 +0800 Subject: [PATCH] fix: mini launcher cannot open the application group by space or return key Support application groups when using the spacebar and return key Issue: https://github.com/linuxdeepin/developer-center/issues/9737 --- qml/windowed/FreeSortListView.qml | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/qml/windowed/FreeSortListView.qml b/qml/windowed/FreeSortListView.qml index 64b90bf6..c65dd62b 100644 --- a/qml/windowed/FreeSortListView.qml +++ b/qml/windowed/FreeSortListView.qml @@ -86,6 +86,18 @@ Item { } } + function launchItem() { + if (itemType === ItemArrangementProxyModel.FolderItemType) { + console.log("freesort view folder clicked:", desktopId); + let idStr = model.desktopId + let strFolderId = Number(idStr.replace("internal/folders/", "")) + let strFolderName = model.display.startsWith("internal/category/") ? getCategoryName(model.display.substring(18)) : model.display + folderClicked(strFolderId, strFolderName) + } else { + launchApp(desktopId) + } + } + onPositionChanged: function(drag) { let dragId = drag.getDataAsString("text/x-dde-launcher-dnd-desktopId") if (dragId === desktopId) { @@ -188,27 +200,15 @@ Item { baseLayer.focus = true } else { - if (itemType === ItemArrangementProxyModel.FolderItemType) { - console.log("freesort view folder clicked:", desktopId); - let idStr = model.desktopId - let strFolderId = Number(idStr.replace("internal/folders/", "")) - let strFolderName = model.display.startsWith("internal/category/") ? getCategoryName(model.display.substring(18)) : model.display - folderClicked(strFolderId, strFolderName) - } else { - launchApp(desktopId) - } + launchItem() } } } } - Keys.onReturnPressed: { - launchApp(model.desktopId) - } + Keys.onReturnPressed: launchItem() - Keys.onSpacePressed: { - launchApp(model.desktopId) - } + Keys.onSpacePressed: launchItem() } }