diff --git a/abstract_client.cpp b/abstract_client.cpp index 491a38bd9d..cc8cb91ca9 100644 --- a/abstract_client.cpp +++ b/abstract_client.cpp @@ -18,6 +18,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . *********************************************************************/ #include "abstract_client.h" +#include "decorations/decoratedclient.h" #include "decorations/decorationpalette.h" #include "cursor.h" #include "effects.h" @@ -1470,4 +1471,14 @@ void AbstractClient::showContextHelp() { } +QPointer AbstractClient::decoratedClient() const +{ + return m_decoratedClient; +} + +void AbstractClient::setDecoratedClient(QPointer< Decoration::DecoratedClientImpl > client) +{ + m_decoratedClient = client; +} + } diff --git a/abstract_client.h b/abstract_client.h index cbed79322f..b5f5285e4b 100644 --- a/abstract_client.h +++ b/abstract_client.h @@ -52,6 +52,7 @@ class TabBoxClientImpl; namespace Decoration { +class DecoratedClientImpl; class DecorationPalette; } @@ -509,6 +510,8 @@ public: bool isDecorated() const { return m_decoration != nullptr; } + QPointer decoratedClient() const; + void setDecoratedClient(QPointer client); bool decorationHasAlpha() const; void triggerDecorationRepaint(); virtual void layoutDecorationRects(QRect &left, QRect &top, QRect &right, QRect &bottom) const; @@ -910,6 +913,7 @@ private: } m_moveResize; KDecoration2::Decoration *m_decoration = nullptr; + QPointer m_decoratedClient; QElapsedTimer m_decorationDoubleClickTimer; diff --git a/client.cpp b/client.cpp index f927a40668..d224eaf890 100644 --- a/client.cpp +++ b/client.cpp @@ -2111,16 +2111,6 @@ void Client::showOnScreenEdge() xcb_delete_property(connection(), window(), atoms->kde_screen_edge_show); } -QPointer Client::decoratedClient() const -{ - return m_decoratedClient; -} - -void Client::setDecoratedClient(QPointer< Decoration::DecoratedClientImpl > client) -{ - m_decoratedClient = client; -} - void Client::addDamage(const QRegion &damage) { if (!ready_for_painting) { // avoid "setReadyForPainting()" function calling overhead diff --git a/client.h b/client.h index 43d446357b..1607396d85 100644 --- a/client.h +++ b/client.h @@ -48,11 +48,6 @@ struct xcb_sync_alarm_notify_event_t; namespace KWin { -namespace Decoration -{ -class DecoratedClientImpl; -} - /** * @brief Defines Predicates on how to search for a Client. @@ -330,9 +325,6 @@ public: bool hasOffscreenXineramaStrut() const; // Decorations <-> Effects - QPointer decoratedClient() const; - void setDecoratedClient(QPointer client); - QRect decorationRect() const; QRect transparentRect() const; @@ -533,7 +525,6 @@ private: Xcb::Window m_client; Xcb::Window m_wrapper; Xcb::Window m_frame; - QPointer m_decoratedClient; QStringList activityList; int m_activityUpdatesBlocked; bool m_blockedActivityUpdatesRequireTransients;