From fabfe1846f32e4a66a06fec7fef821e71232cedc Mon Sep 17 00:00:00 2001 From: donghualin Date: Thu, 27 Oct 2022 07:03:28 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=BB=8E=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E6=A0=8F=E6=8B=96=E5=8A=A8=E5=9B=BE=E6=A0=87=E5=88=86?= =?UTF-8?q?=E5=B1=8F=E5=90=8E=E9=BC=A0=E6=A0=87=E5=9B=9E=E5=88=B0=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E6=A0=8F=E9=81=AE=E7=BD=A9=E4=B8=8D=E6=B6=88=E5=A4=B1?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在releaseSplit中增加隐藏遮罩的处理 Log: 优化任务栏分屏功能 Influence: 从任务栏拖动图标到桌面,不松手,然后再回到任务栏,观察遮罩是否消失 Task: https://pms.uniontech.com/task-view-181523.html Change-Id: I9ec2a3ca62cd830cc6b4f7079d2550e9d21a36c1 --- frame/screenspliter/screenspliter_wayland.cpp | 6 ++++++ frame/screenspliter/screenspliter_wayland.h | 1 + frame/screenspliter/screenspliter_xcb.cpp | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/frame/screenspliter/screenspliter_wayland.cpp b/frame/screenspliter/screenspliter_wayland.cpp index 3be9ea623..98341ab68 100644 --- a/frame/screenspliter/screenspliter_wayland.cpp +++ b/frame/screenspliter/screenspliter_wayland.cpp @@ -172,6 +172,12 @@ bool ScreenSpliter_Wayland::suportSplitScreen() return (!m_checkedNotSupport); } +bool ScreenSpliter_Wayland::releaseSplit() +{ + setMaskVisible(QRect(), false); + return true; +} + /** * @brief SplitWindowManager::SplitWindowManager * @param wayland下的分屏的管理 diff --git a/frame/screenspliter/screenspliter_wayland.h b/frame/screenspliter/screenspliter_wayland.h index 79ef7c027..28e995b74 100644 --- a/frame/screenspliter/screenspliter_wayland.h +++ b/frame/screenspliter/screenspliter_wayland.h @@ -59,6 +59,7 @@ public: void startSplit(const QRect &rect) override; bool split(SplitDirection direction) override; bool suportSplitScreen() override; + bool releaseSplit() override; private: void setMaskVisible(const QRect &rect, bool visible); diff --git a/frame/screenspliter/screenspliter_xcb.cpp b/frame/screenspliter/screenspliter_xcb.cpp index 3d954691c..9b6ebf6d7 100644 --- a/frame/screenspliter/screenspliter_xcb.cpp +++ b/frame/screenspliter/screenspliter_xcb.cpp @@ -95,7 +95,6 @@ void ScreenSpliter_Xcb::startSplit(const QRect &rect) bool ScreenSpliter_Xcb::split(ScreenSpliter::SplitDirection direction) { - showSplitScreenEffect(QRect(), false); if (!openWindow()) return false; @@ -208,6 +207,7 @@ bool ScreenSpliter_Xcb::suportSplitScreen() bool ScreenSpliter_Xcb::releaseSplit() { + showSplitScreenEffect(QRect(), false); if (!m_isSplitCreateWindow) return false;