33// SPDX-License-Identifier: GPL-3.0-or-later
44
55#include " waylanddockhelper.h"
6+ #include " appletbridge.h"
67#include " constants.h"
78#include " dockhelper.h"
89#include " dockpanel.h"
@@ -19,10 +20,14 @@ WaylandDockHelper::WaylandDockHelper(DockPanel *panel)
1920 : DockHelper(panel)
2021 , m_panel(panel)
2122 , m_isWindowOverlap(false )
22- , m_isCurrentActiveWindowMaximized (false )
23+ , m_isCurrentActiveWindowFullscreened (false )
2324{
2425 m_wallpaperColorManager.reset (new WallpaperColorManager (this ));
2526 m_ddeShellManager.reset (new TreeLandDDEShellManager ());
27+ DS_NAMESPACE::DAppletBridge bridge (" org.deepin.ds.dock.taskmanager" );
28+ if (auto applet = bridge.applet ()) {
29+ connect (applet, SIGNAL (windowFullscreenChanged (bool )), this , SLOT (setCurrentActiveWindowFullscreened (bool )));
30+ }
2631
2732 connect (m_panel, &DockPanel::rootObjectChanged, this , [this ]() {
2833 m_wallpaperColorManager->watchScreen (dockScreenName ());
@@ -60,7 +65,7 @@ WaylandDockHelper::WaylandDockHelper(DockPanel *panel)
6065 m_wallpaperColorManager->watchScreen (dockScreenName ());
6166 }
6267
63- // TODO: get taskmanager applet and use it to update m_isCurrentActiveWindowMaximized .
68+ // TODO: get taskmanager applet and use it to update m_isCurrentActiveWindowFullscreened .
6469}
6570
6671void WaylandDockHelper::updateOverlapCheckerPos ()
@@ -116,9 +121,15 @@ QString WaylandDockHelper::dockScreenName()
116121 return {};
117122}
118123
119- bool WaylandDockHelper::currentActiveWindowMaximized ()
124+ bool WaylandDockHelper::currentActiveWindowFullscreened ()
125+ {
126+ return m_isCurrentActiveWindowFullscreened;
127+ }
128+
129+ void WaylandDockHelper::setCurrentActiveWindowFullscreened (bool state)
120130{
121- return m_isCurrentActiveWindowMaximized;
131+ m_isCurrentActiveWindowFullscreened = state;
132+ emit currentActiveWindowFullscreenChanged (state);
122133}
123134
124135bool WaylandDockHelper::isWindowOverlap ()
0 commit comments