File indexing completed on 2024-05-12 13:31:12

0001 /*
0002  * SPDX-FileCopyrightText: 2020 Mikhail Zolotukhin <zomial@protonmail.com>
0003  *
0004  * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005  */
0006 
0007 #pragma once
0008 
0009 #include <KDecoration2/Private/DecoratedClientPrivate>
0010 
0011 #include <QPalette>
0012 
0013 #include "decorationpalette.h"
0014 
0015 namespace KDecoration2
0016 {
0017 class DummyDecoratedClient : public QObject, public DecoratedClientPrivate
0018 {
0019     Q_OBJECT
0020 public:
0021     DummyDecoratedClient(DecoratedClient *client, Decoration *decoration);
0022 
0023     bool isActive() const override;
0024     QString caption() const override;
0025     int desktop() const override;
0026     bool isOnAllDesktops() const override;
0027     bool isShaded() const override;
0028     QIcon icon() const override;
0029     bool isMaximized() const override;
0030     bool isMaximizedHorizontally() const override;
0031     bool isMaximizedVertically() const override;
0032     bool isKeepAbove() const override;
0033     bool isKeepBelow() const override;
0034 
0035     bool isCloseable() const override;
0036     bool isMaximizeable() const override;
0037     bool isMinimizeable() const override;
0038     bool providesContextHelp() const override;
0039     bool isModal() const override;
0040     bool isShadeable() const override;
0041     bool isMoveable() const override;
0042     bool isResizeable() const override;
0043 
0044     WId windowId() const override;
0045     WId decorationId() const override;
0046 
0047     int width() const override;
0048     int height() const override;
0049     QSize size() const override;
0050     QPalette palette() const override;
0051     QColor color(ColorGroup group, ColorRole role) const override;
0052     Qt::Edges adjacentScreenEdges() const override;
0053     QString windowClass() const override;
0054 
0055     void requestShowToolTip(const QString &text) override;
0056 
0057     void requestHideToolTip() override;
0058     void requestClose() override;
0059     void requestToggleMaximization(Qt::MouseButtons buttons) override;
0060     void requestMinimize() override;
0061     void requestContextHelp() override;
0062     void requestToggleOnAllDesktops() override;
0063     void requestToggleShade() override;
0064     void requestToggleKeepAbove() override;
0065     void requestToggleKeepBelow() override;
0066     void requestShowWindowMenu(const QRect &rect) override;
0067 
0068     void setMaximized(bool maximized);
0069     void setActive(bool active);
0070 
0071 private:
0072     KWin::Decoration::DecorationPalette m_pallete;
0073     bool m_maximized;
0074     bool m_active;
0075 };
0076 
0077 }