moved style pluggin to own class

wilder-pre-rebase
Hugo Pereira Da Costa 12 years ago
parent 752d8b9a3b
commit 2efd6483d6
  1. 1
      kstyle/CMakeLists.txt
  2. 14
      kstyle/breezestyle.cpp
  3. 21
      kstyle/breezestyle.h
  4. 46
      kstyle/breezestyleplugin.cpp
  5. 53
      kstyle/breezestyleplugin.h

@ -78,6 +78,7 @@ set(breeze_PART_SRCS
breezeshadowhelper.cpp
breezesplitterproxy.cpp
breezestyle.cpp
breezestyleplugin.cpp
breezetileset.cpp
breezewindowmanager.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 ),

@ -34,7 +34,6 @@
#include <QLoggingCategory>
#include <QMdiSubWindow>
#include <QStyleOption>
#include <QStylePlugin>
#include <QWidget>
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;

@ -0,0 +1,46 @@
//////////////////////////////////////////////////////////////////////////////
// breezestyleplugin.h
// Breeze widget style for KDE Frameworks
// -------------------
//
// Copyright (C) 2014 Hugo Pereira Da Costa <hugo.pereira@free.fr>
//
// 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 <QApplication>
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();
}
}

@ -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 <hugo.pereira@free.fr>
//
// 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 <QStylePlugin>
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
Loading…
Cancel
Save