From 7e5a1ccda7005a7660e5515637ec05d168dac73b Mon Sep 17 00:00:00 2001 From: Ye ShanShan Date: Mon, 26 Aug 2024 12:16:39 +0800 Subject: [PATCH] fix: doesn't disable hover when dragging for tray as title. Issue: https://github.com/linuxdeepin/developer-center/issues/10357 --- panels/dock/tray/package/ActionLegacyTrayPluginDelegate.qml | 3 ++- panels/dock/tray/package/ActionToggleCollapseDelegate.qml | 3 +++ panels/dock/tray/package/TrayContainer.qml | 3 +++ panels/dock/tray/package/TrayItemDelegateChooser.qml | 4 +++- 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/panels/dock/tray/package/ActionLegacyTrayPluginDelegate.qml b/panels/dock/tray/package/ActionLegacyTrayPluginDelegate.qml index b08d17ada..2de86f893 100644 --- a/panels/dock/tray/package/ActionLegacyTrayPluginDelegate.qml +++ b/panels/dock/tray/package/ActionLegacyTrayPluginDelegate.qml @@ -30,6 +30,7 @@ AppletItemButton { padding: 0 visible: !Drag.active + hoverEnabled: inputEventsEnabled function updatePluginMargins() { @@ -138,7 +139,7 @@ AppletItemButton { } } - D.ColorSelector.hovered: pluginItem.plugin && pluginItem.plugin.isItemActive || hoverHandler.hovered + D.ColorSelector.hovered: root.inputEventsEnabled && (pluginItem.plugin && pluginItem.plugin.isItemActive || hoverHandler.hovered) D.ColorSelector.pressed: tapHandler.pressed property Component overlayWindow: QuickDragWindow { diff --git a/panels/dock/tray/package/ActionToggleCollapseDelegate.qml b/panels/dock/tray/package/ActionToggleCollapseDelegate.qml index a30c3016b..2f930eaac 100644 --- a/panels/dock/tray/package/ActionToggleCollapseDelegate.qml +++ b/panels/dock/tray/package/ActionToggleCollapseDelegate.qml @@ -13,6 +13,8 @@ AppletItemButton { id: root property bool isHorizontal: false property bool collapsed: DDT.TraySortOrderModel.collapsed + property bool inputEventsEnabled: true + hoverEnabled: inputEventsEnabled z: 5 @@ -63,6 +65,7 @@ AppletItemButton { } HoverHandler { id: hoverHandler + enabled: root.inputEventsEnabled onHoveredChanged: { if (hovered) { toolTipShowTimer.start() diff --git a/panels/dock/tray/package/TrayContainer.qml b/panels/dock/tray/package/TrayContainer.qml index 37220d116..0677a2b8c 100644 --- a/panels/dock/tray/package/TrayContainer.qml +++ b/panels/dock/tray/package/TrayContainer.qml @@ -90,6 +90,7 @@ Item { // visiualIndex default value is -1 property int dropHoverIndex: -1 required property var surfaceAcceptor + readonly property bool isDropping: dropArea.containsDrag onIsDraggingChanged: { animationEnable = !isDragging @@ -127,6 +128,7 @@ Item { collapsed: root.collapsed itemPadding: root.itemPadding surfaceAcceptor: root.surfaceAcceptor + disableInputEvents: root.isDropping } // debug @@ -136,6 +138,7 @@ Item { } DropArea { + id: dropArea anchors.fill: parent keys: ["text/x-dde-shell-tray-dnd-surfaceId"] onEntered: function (dragEvent) { diff --git a/panels/dock/tray/package/TrayItemDelegateChooser.qml b/panels/dock/tray/package/TrayItemDelegateChooser.qml index dc97b61ba..2eb36a3dc 100644 --- a/panels/dock/tray/package/TrayItemDelegateChooser.qml +++ b/panels/dock/tray/package/TrayItemDelegateChooser.qml @@ -15,6 +15,7 @@ LQM.DelegateChooser { property bool collapsed: false required property int itemPadding required property var surfaceAcceptor + property bool disableInputEvents role: "delegateType" LQM.DelegateChoice { @@ -34,7 +35,7 @@ LQM.DelegateChooser { contentItem: ActionLegacyTrayPluginDelegate { id: traySurfaceDelegate objectName: "tray" - inputEventsEnabled: model.sectionType !== "collapsable" || !DDT.TraySortOrderModel.collapsed + inputEventsEnabled: !disableInputEvents && (model.sectionType !== "collapsable" || !DDT.TraySortOrderModel.collapsed) itemVisible: traySurfacePositioner.itemVisible dragable: model.sectionType !== "fixed" isActive: surfacePopup.isOpened @@ -63,6 +64,7 @@ LQM.DelegateChooser { TrayItemPositioner { contentItem: ActionToggleCollapseDelegate { isHorizontal: root.isHorizontal + inputEventsEnabled: !disableInputEvents } } }