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"