File indexing completed on 2024-05-05 05:29:53

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 #include "decoratedclient.h"
0007 #include "private/decoratedclientprivate.h"
0008 #include "private/decorationbridge.h"
0009 
0010 #include <QColor>
0011 
0012 namespace KDecoration2
0013 {
0014 DecoratedClient::DecoratedClient(Decoration *parent, DecorationBridge *bridge)
0015     : QObject()
0016     , d(bridge->createClient(this, parent))
0017 {
0018 }
0019 
0020 DecoratedClient::~DecoratedClient() = default;
0021 
0022 bool DecoratedClient::isActive() const
0023 {
0024     return d->isActive();
0025 }
0026 
0027 QString DecoratedClient::caption() const
0028 {
0029     return d->caption();
0030 }
0031 
0032 bool DecoratedClient::isOnAllDesktops() const
0033 {
0034     return d->isOnAllDesktops();
0035 }
0036 
0037 bool DecoratedClient::isShaded() const
0038 {
0039     return d->isShaded();
0040 }
0041 
0042 QIcon DecoratedClient::icon() const
0043 {
0044     return d->icon();
0045 }
0046 
0047 bool DecoratedClient::isMaximized() const
0048 {
0049     return d->isMaximized();
0050 }
0051 
0052 bool DecoratedClient::isMaximizedHorizontally() const
0053 {
0054     return d->isMaximizedHorizontally();
0055 }
0056 
0057 bool DecoratedClient::isMaximizedVertically() const
0058 {
0059     return d->isMaximizedVertically();
0060 }
0061 
0062 bool DecoratedClient::isKeepAbove() const
0063 {
0064     return d->isKeepAbove();
0065 }
0066 
0067 bool DecoratedClient::isKeepBelow() const
0068 {
0069     return d->isKeepBelow();
0070 }
0071 
0072 bool DecoratedClient::isCloseable() const
0073 {
0074     return d->isCloseable();
0075 }
0076 
0077 bool DecoratedClient::isMaximizeable() const
0078 {
0079     return d->isMaximizeable();
0080 }
0081 
0082 bool DecoratedClient::isMinimizeable() const
0083 {
0084     return d->isMinimizeable();
0085 }
0086 
0087 bool DecoratedClient::providesContextHelp() const
0088 {
0089     return d->providesContextHelp();
0090 }
0091 
0092 bool DecoratedClient::isModal() const
0093 {
0094     return d->isModal();
0095 }
0096 
0097 bool DecoratedClient::isShadeable() const
0098 {
0099     return d->isShadeable();
0100 }
0101 
0102 bool DecoratedClient::isMoveable() const
0103 {
0104     return d->isMoveable();
0105 }
0106 
0107 bool DecoratedClient::isResizeable() const
0108 {
0109     return d->isResizeable();
0110 }
0111 
0112 WId DecoratedClient::windowId() const
0113 {
0114     return d->windowId();
0115 }
0116 
0117 WId DecoratedClient::decorationId() const
0118 {
0119     return d->decorationId();
0120 }
0121 
0122 int DecoratedClient::width() const
0123 {
0124     return d->width();
0125 }
0126 
0127 int DecoratedClient::height() const
0128 {
0129     return d->height();
0130 }
0131 
0132 QSize DecoratedClient::size() const
0133 {
0134     return d->size();
0135 }
0136 
0137 QPalette DecoratedClient::palette() const
0138 {
0139     return d->palette();
0140 }
0141 
0142 Qt::Edges DecoratedClient::adjacentScreenEdges() const
0143 {
0144     return d->adjacentScreenEdges();
0145 }
0146 
0147 QString DecoratedClient::windowClass() const
0148 {
0149     return d->windowClass();
0150 }
0151 
0152 bool DecoratedClient::hasApplicationMenu() const
0153 {
0154     if (const auto *appMenuEnabledPrivate = dynamic_cast<ApplicationMenuEnabledDecoratedClientPrivate *>(d.get())) {
0155         return appMenuEnabledPrivate->hasApplicationMenu();
0156     }
0157     return false;
0158 }
0159 
0160 bool DecoratedClient::isApplicationMenuActive() const
0161 {
0162     if (const auto *appMenuEnabledPrivate = dynamic_cast<ApplicationMenuEnabledDecoratedClientPrivate *>(d.get())) {
0163         return appMenuEnabledPrivate->isApplicationMenuActive();
0164     }
0165     return false;
0166 }
0167 
0168 Decoration *DecoratedClient::decoration() const
0169 {
0170     return d->decoration();
0171 }
0172 
0173 QColor DecoratedClient::color(QPalette::ColorGroup group, QPalette::ColorRole role) const
0174 {
0175     return d->palette().color(group, role);
0176 }
0177 
0178 QColor DecoratedClient::color(ColorGroup group, ColorRole role) const
0179 {
0180     return d->color(group, role);
0181 }
0182 
0183 void DecoratedClient::showApplicationMenu(int actionId)
0184 {
0185     if (auto *appMenuEnabledPrivate = dynamic_cast<ApplicationMenuEnabledDecoratedClientPrivate *>(d.get())) {
0186         appMenuEnabledPrivate->showApplicationMenu(actionId);
0187     }
0188 }
0189 
0190 } // namespace
0191 
0192 #include "moc_decoratedclient.cpp"