File indexing completed on 2024-04-28 16:44:32

0001 /*
0002  * SPDX-FileCopyrightText: 2014 Martin Gräßlin <mgraesslin@kde.org>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005  */
0006 #pragma once
0007 
0008 #include "../src/private/decoratedclientprivate.h"
0009 
0010 #include <QObject>
0011 
0012 class MockClient : public QObject, public KDecoration2::ApplicationMenuEnabledDecoratedClientPrivate
0013 {
0014     Q_OBJECT
0015 public:
0016     explicit MockClient(KDecoration2::DecoratedClient *client, KDecoration2::Decoration *decoration);
0017 
0018     Qt::Edges adjacentScreenEdges() const override;
0019     QString caption() const override;
0020     WId decorationId() const override;
0021     int desktop() const override;
0022     int height() const override;
0023     QIcon icon() const override;
0024     bool isActive() const override;
0025     bool isCloseable() const override;
0026     bool isKeepAbove() const override;
0027     bool isKeepBelow() const override;
0028     bool isMaximizeable() const override;
0029     bool isMaximized() const override;
0030     bool isMaximizedHorizontally() const override;
0031     bool isMaximizedVertically() const override;
0032     bool isMinimizeable() const override;
0033     bool isModal() const override;
0034     bool isMoveable() const override;
0035     bool isOnAllDesktops() const override;
0036     bool isResizeable() const override;
0037     bool isShadeable() const override;
0038     bool isShaded() const override;
0039     QPalette palette() const override;
0040     bool hasApplicationMenu() const override;
0041     bool isApplicationMenuActive() const override;
0042     bool providesContextHelp() const override;
0043     void requestClose() override;
0044     void requestContextHelp() override;
0045     void requestToggleMaximization(Qt::MouseButtons buttons) override;
0046     void requestMinimize() override;
0047     void requestShowWindowMenu(const QRect &rect) override;
0048     void requestShowApplicationMenu(const QRect &rect, int actionId) override;
0049     void requestToggleKeepAbove() override;
0050     void requestToggleKeepBelow() override;
0051     void requestToggleOnAllDesktops() override;
0052     void requestToggleShade() override;
0053     void requestShowToolTip(const QString &text) override;
0054     void requestHideToolTip() override;
0055     QSize size() const override;
0056     int width() const override;
0057     WId windowId() const override;
0058     QString windowClass() const override;
0059 
0060     void showApplicationMenu(int actionId) override;
0061 
0062     void setCloseable(bool set);
0063     void setMinimizable(bool set);
0064     void setProvidesContextHelp(bool set);
0065     void setShadeable(bool set);
0066     void setMaximizable(bool set);
0067 
0068     void setWidth(int w);
0069     void setHeight(int h);
0070 
0071 Q_SIGNALS:
0072     void closeRequested();
0073     void minimizeRequested();
0074     void quickHelpRequested();
0075     void menuRequested();
0076     void applicationMenuRequested();
0077 
0078 private:
0079     bool m_closeable = false;
0080     bool m_minimizable = false;
0081     bool m_contextHelp = false;
0082     bool m_keepAbove = false;
0083     bool m_keepBelow = false;
0084     bool m_shadeable = false;
0085     bool m_shaded = false;
0086     bool m_maximizable = false;
0087     bool m_maximizedVertically = false;
0088     bool m_maximizedHorizontally = false;
0089     bool m_onAllDesktops = false;
0090     int m_width = 0;
0091     int m_height = 0;
0092 };