File indexing completed on 2024-04-28 05:27:06

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     bool isOnAllDesktops() const override;
0026     bool isShaded() const override;
0027     QIcon icon() const override;
0028     bool isMaximized() const override;
0029     bool isMaximizedHorizontally() const override;
0030     bool isMaximizedVertically() const override;
0031     bool isKeepAbove() const override;
0032     bool isKeepBelow() const override;
0033 
0034     bool isCloseable() const override;
0035     bool isMaximizeable() const override;
0036     bool isMinimizeable() const override;
0037     bool providesContextHelp() const override;
0038     bool isModal() const override;
0039     bool isShadeable() const override;
0040     bool isMoveable() const override;
0041     bool isResizeable() const override;
0042 
0043     WId windowId() const override;
0044     WId decorationId() const override;
0045 
0046     int width() const override;
0047     int height() const override;
0048     QSize size() const override;
0049     QPalette palette() const override;
0050     QColor color(ColorGroup group, ColorRole role) const override;
0051     Qt::Edges adjacentScreenEdges() const override;
0052     QString windowClass() const override;
0053 
0054     void requestShowToolTip(const QString &text) override;
0055 
0056     void requestHideToolTip() override;
0057     void requestClose() override;
0058     void requestToggleMaximization(Qt::MouseButtons buttons) override;
0059     void requestMinimize() override;
0060     void requestContextHelp() override;
0061     void requestToggleOnAllDesktops() override;
0062     void requestToggleShade() override;
0063     void requestToggleKeepAbove() override;
0064     void requestToggleKeepBelow() override;
0065     void requestShowWindowMenu(const QRect &rect) override;
0066 
0067     void setMaximized(bool maximized);
0068     void setActive(bool active);
0069 
0070 private:
0071     KWin::Decoration::DecorationPalette m_pallete;
0072     bool m_maximized;
0073     bool m_active;
0074 };
0075 
0076 }