From f5c305bf64b332f3a13be0d8abb14799ba75fa31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= Date: Tue, 2 Dec 2014 10:14:29 +0100 Subject: [PATCH] Do not include kdecoration.h in plastik decoration plugin --- .../themes/plastik/code/CMakeLists.txt | 2 +- .../themes/plastik/code/plastikbutton.cpp | 21 ++++++++--------- .../themes/plastik/code/plastikbutton.h | 23 +++++++++++++++++++ 3 files changed, 34 insertions(+), 12 deletions(-) diff --git a/clients/aurorae/themes/plastik/code/CMakeLists.txt b/clients/aurorae/themes/plastik/code/CMakeLists.txt index 131658436c..8d3937db0f 100644 --- a/clients/aurorae/themes/plastik/code/CMakeLists.txt +++ b/clients/aurorae/themes/plastik/code/CMakeLists.txt @@ -4,6 +4,6 @@ set(plastik_plugin_SRCS ) add_library(plastikplugin SHARED ${plastik_plugin_SRCS}) -target_link_libraries(plastikplugin Qt5::Core Qt5::Quick KF5::ConfigWidgets KF5::WindowSystem) +target_link_libraries(plastikplugin Qt5::Core Qt5::Quick KF5::ConfigWidgets) install(TARGETS plastikplugin DESTINATION ${QML_INSTALL_DIR}/org/kde/kwin/decorations/plastik) install(FILES qmldir DESTINATION ${QML_INSTALL_DIR}/org/kde/kwin/decorations/plastik) diff --git a/clients/aurorae/themes/plastik/code/plastikbutton.cpp b/clients/aurorae/themes/plastik/code/plastikbutton.cpp index 3e42964b29..594073c821 100644 --- a/clients/aurorae/themes/plastik/code/plastikbutton.cpp +++ b/clients/aurorae/themes/plastik/code/plastikbutton.cpp @@ -19,7 +19,6 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . *********************************************************************/ #include "plastikbutton.h" -#include #include #include #include @@ -57,52 +56,52 @@ QPixmap PlastikButtonProvider::requestPixmap(const QString &id, QSize *size, con shadow = true; } ButtonIcon button; - switch (static_cast(idParts[0].toInt())) { - case KDecorationDefines::DecorationButtonClose: + switch (static_cast(idParts[0].toInt())) { + case DecorationButtonClose: button = CloseIcon; break; - case KDecorationDefines::DecorationButtonMaximizeRestore: + case DecorationButtonMaximizeRestore: if (toggled) { button = MaxRestoreIcon; } else { button = MaxIcon; } break; - case KDecorationDefines::DecorationButtonMinimize: + case DecorationButtonMinimize: button = MinIcon; break; - case KDecorationDefines::DecorationButtonQuickHelp: + case DecorationButtonQuickHelp: button = HelpIcon; break; - case KDecorationDefines::DecorationButtonOnAllDesktops: + case DecorationButtonOnAllDesktops: if (toggled) { button = NotOnAllDesktopsIcon; } else { button = OnAllDesktopsIcon; } break; - case KDecorationDefines::DecorationButtonKeepAbove: + case DecorationButtonKeepAbove: if (toggled) { button = NoKeepAboveIcon; } else { button = KeepAboveIcon; } break; - case KDecorationDefines::DecorationButtonKeepBelow: + case DecorationButtonKeepBelow: if (toggled) { button = NoKeepBelowIcon; } else { button = KeepBelowIcon; } break; - case KDecorationDefines::DecorationButtonShade: + case DecorationButtonShade: if (toggled) { button = UnShadeIcon; } else { button = ShadeIcon; } break; - case KDecorationDefines::DecorationButtonApplicationMenu: + case DecorationButtonApplicationMenu: button = AppMenuIcon; break; default: diff --git a/clients/aurorae/themes/plastik/code/plastikbutton.h b/clients/aurorae/themes/plastik/code/plastikbutton.h index 81a656a27e..1e59cb60b9 100644 --- a/clients/aurorae/themes/plastik/code/plastikbutton.h +++ b/clients/aurorae/themes/plastik/code/plastikbutton.h @@ -52,6 +52,29 @@ private: DiagonalLine, CrossDiagonalLine }; + enum DecorationButton { + /** + * Invalid button value. A decoration should not create a button for + * this type. + */ + DecorationButtonNone, + DecorationButtonMenu, + DecorationButtonApplicationMenu, + DecorationButtonOnAllDesktops, + DecorationButtonQuickHelp, + DecorationButtonMinimize, + DecorationButtonMaximizeRestore, + DecorationButtonClose, + DecorationButtonKeepAbove, + DecorationButtonKeepBelow, + DecorationButtonShade, + DecorationButtonResize, + /** + * The decoration should create an empty spacer instead of a button for + * this type. + */ + DecorationButtonExplicitSpacer + }; QPixmap icon(ButtonIcon icon, int size, bool active, bool shadow); void drawObject(QPainter &p, Object object, int x, int y, int length, int lineWidth); };