From 72b1b37c355088c48c30701f8bc1982507ebb89c Mon Sep 17 00:00:00 2001 From: duanhongyu Date: Thu, 16 Dec 2021 20:01:31 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9wayland=E5=A4=84?= =?UTF-8?q?=E7=90=86=E4=BB=BB=E5=8A=A1=E6=A0=8F=E6=8B=96=E6=8B=BD=E7=9A=84?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 之前处理wayland逻辑存在不同, 修改部分逻辑保持显示一致 Log: 鼠标把应用图标拖拽出任务栏的效果显示有误 Bug: https://pms.uniontech.com/zentao/bug-view-100046.html Influence: 任务栏-拖拽逻辑 Change-Id: I73c06291d69bf1c1e9c9ab7a4924d5fcfffd33ea --- frame/item/components/appdragwidget.cpp | 3 +-- frame/window/mainpanelcontrol.cpp | 18 ++++++++---------- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/frame/item/components/appdragwidget.cpp b/frame/item/components/appdragwidget.cpp index 30ce5890c..6c2521962 100644 --- a/frame/item/components/appdragwidget.cpp +++ b/frame/item/components/appdragwidget.cpp @@ -71,8 +71,7 @@ AppDragWidget::AppDragWidget(QWidget *parent) initAnimations(); - m_followMouseTimer->setSingleShot(Utils::IS_WAYLAND_DISPLAY); - m_followMouseTimer->setInterval(16); + m_followMouseTimer->setInterval(16); connect(m_followMouseTimer, &QTimer::timeout, this, &AppDragWidget::onFollowMouse); m_followMouseTimer->start(); } diff --git a/frame/window/mainpanelcontrol.cpp b/frame/window/mainpanelcontrol.cpp index bda56be85..eff17926a 100755 --- a/frame/window/mainpanelcontrol.cpp +++ b/frame/window/mainpanelcontrol.cpp @@ -552,15 +552,13 @@ void MainPanelControl::handleDragMove(QDragMoveEvent *e, bool isFilter) DockItem *targetItem = nullptr; if (isFilter) { - if (!Utils::IS_WAYLAND_DISPLAY) { - // appItem调整顺序或者移除驻留 - targetItem = dropTargetItem(sourceItem, mapFromGlobal(m_appDragWidget->mapToGlobal(e->pos()))); + // appItem调整顺序或者移除驻留 + targetItem = dropTargetItem(sourceItem, mapFromGlobal(m_appDragWidget->mapToGlobal(e->pos()))); - if (targetItem) { - m_appDragWidget->setOriginPos((m_appAreaSonWidget->mapToGlobal(targetItem->pos()))); - } else { - targetItem = sourceItem; - } + if (targetItem) { + m_appDragWidget->setOriginPos((m_appAreaSonWidget->mapToGlobal(targetItem->pos()))); + } else { + targetItem = sourceItem; } } else { // other dockItem调整顺序 @@ -666,7 +664,7 @@ bool MainPanelControl::eventFilter(QObject *watched, QEvent *event) moveAppSonWidget(); } - if (!Utils::IS_WAYLAND_DISPLAY && m_appDragWidget && watched == static_cast(m_appDragWidget)->viewport()) { + if (m_appDragWidget && watched == static_cast(m_appDragWidget)->viewport()) { bool isContains = rect().contains(mapFromGlobal(QCursor::pos())); if (isContains) { if (event->type() == QEvent::DragMove) { @@ -706,7 +704,7 @@ bool MainPanelControl::eventFilter(QObject *watched, QEvent *event) static const QGSettings *g_settings = Utils::ModuleSettingsPtr("app"); if (!g_settings || !g_settings->keys().contains("removeable") || g_settings->get("removeable").toBool()) - Utils::IS_WAYLAND_DISPLAY ? startDragWayland(item) : startDrag(item); + startDrag(item); return QWidget::eventFilter(watched, event); }