diff --git a/kstyle/CMakeLists.txt b/kstyle/CMakeLists.txt index 193bc9c8..cfcb2c39 100644 --- a/kstyle/CMakeLists.txt +++ b/kstyle/CMakeLists.txt @@ -78,6 +78,7 @@ set(breeze_PART_SRCS breezeshadowhelper.cpp breezesplitterproxy.cpp breezestyle.cpp + breezestyleplugin.cpp breezetileset.cpp breezewindowmanager.cpp ) diff --git a/kstyle/breezestyle.cpp b/kstyle/breezestyle.cpp index 99d70797..00940ea7 100644 --- a/kstyle/breezestyle.cpp +++ b/kstyle/breezestyle.cpp @@ -104,20 +104,6 @@ namespace BreezePrivate namespace Breeze { - //_________________________________________________ - QStyle* Breeze::StylePlugin::create( const QString &key ) - { - if( key.toLower() == QStringLiteral( "breeze" ) ) return new Style(); - else return nullptr; - } - - //_________________________________________________ - Breeze::StylePlugin::~StylePlugin() - { - // Delete style when using ::exit() otherwise it'll outlive the unloaded plugin and we'll get a crash - if (qApp) delete qApp->style(); - } - //______________________________________________________________ Style::Style( void ): _addLineButtons( SingleButton ), diff --git a/kstyle/breezestyle.h b/kstyle/breezestyle.h index 3f725138..b0affd4e 100644 --- a/kstyle/breezestyle.h +++ b/kstyle/breezestyle.h @@ -34,7 +34,6 @@ #include #include #include -#include #include namespace BreezePrivate @@ -54,26 +53,6 @@ namespace Breeze class SplitterFactory; class WindowManager; - class StylePlugin : public QStylePlugin - { - Q_OBJECT - Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QStyleFactoryInterface" FILE "breeze.json" ) - - public: - - //! constructor - StylePlugin(QObject *parent = 0): - QStylePlugin(parent) - {} - - //! destructor - ~StylePlugin(); - - //! create style - QStyle* create( const QString& ); - - }; - //! convenience typedef for base class using ParentStyleClass = KStyle; diff --git a/kstyle/breezestyleplugin.cpp b/kstyle/breezestyleplugin.cpp new file mode 100644 index 00000000..9c62aaa1 --- /dev/null +++ b/kstyle/breezestyleplugin.cpp @@ -0,0 +1,46 @@ + +////////////////////////////////////////////////////////////////////////////// +// breezestyleplugin.h +// Breeze widget style for KDE Frameworks +// ------------------- +// +// Copyright (C) 2014 Hugo Pereira Da Costa +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Library General Public +// License version 2 as published by the Free Software Foundation. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Library General Public License for more details. +// +// You should have received a copy of the GNU Library General Public License +// along with this library; see the file COPYING.LIB. If not, write to +// the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +// Boston, MA 02110-1301, USA. +////////////////////////////////////////////////////////////////////////////// + +#include "breezestyleplugin.h" +#include "breezestyle.h" + +#include + +namespace Breeze +{ + + //_________________________________________________ + QStyle* Breeze::StylePlugin::create( const QString &key ) + { + if( key.toLower() == QStringLiteral( "breeze" ) ) return new Style(); + else return nullptr; + } + + //_________________________________________________ + Breeze::StylePlugin::~StylePlugin() + { + // Delete style when using ::exit() otherwise it'll outlive the unloaded plugin and we'll get a crash + if (qApp) delete qApp->style(); + } + +} diff --git a/kstyle/breezestyleplugin.h b/kstyle/breezestyleplugin.h new file mode 100644 index 00000000..80ee8bb6 --- /dev/null +++ b/kstyle/breezestyleplugin.h @@ -0,0 +1,53 @@ +#ifndef breezestyleplugin_h +#define breezestyleplugin_h + +////////////////////////////////////////////////////////////////////////////// +// breezestyleplugin.h +// Breeze widget style for KDE Frameworks +// ------------------- +// +// Copyright (C) 2014 Hugo Pereira Da Costa +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Library General Public +// License version 2 as published by the Free Software Foundation. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Library General Public License for more details. +// +// You should have received a copy of the GNU Library General Public License +// along with this library; see the file COPYING.LIB. If not, write to +// the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +// Boston, MA 02110-1301, USA. +////////////////////////////////////////////////////////////////////////////// + +#include + +namespace Breeze +{ + + class StylePlugin : public QStylePlugin + { + Q_OBJECT + Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QStyleFactoryInterface" FILE "breeze.json" ) + + public: + + //! constructor + StylePlugin(QObject *parent = 0): + QStylePlugin(parent) + {} + + //! destructor + ~StylePlugin(); + + //! create style + QStyle* create( const QString& ); + + }; + +} + +#endif