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 ());
@@ -59,8 +64,6 @@ WaylandDockHelper::WaylandDockHelper(DockPanel *panel)
5964 if (m_panel->rootObject () != nullptr ) {
6065 m_wallpaperColorManager->watchScreen (dockScreenName ());
6166 }
62-
63- // TODO: get taskmanager applet and use it to update m_isCurrentActiveWindowMaximized.
6467}
6568
6669void WaylandDockHelper::updateOverlapCheckerPos ()
@@ -116,9 +119,15 @@ QString WaylandDockHelper::dockScreenName()
116119 return {};
117120}
118121
119- bool WaylandDockHelper::currentActiveWindowMaximized ()
122+ bool WaylandDockHelper::currentActiveWindowFullscreened ()
123+ {
124+ return m_isCurrentActiveWindowFullscreened;
125+ }
126+
127+ void WaylandDockHelper::setCurrentActiveWindowFullscreened (bool isFullscreen)
120128{
121- return m_isCurrentActiveWindowMaximized;
129+ m_isCurrentActiveWindowFullscreened = isFullscreen;
130+ emit currentActiveWindowFullscreenChanged (isFullscreen);
122131}
123132
124133bool WaylandDockHelper::isWindowOverlap ()
0 commit comments