code moved from QskSetup to QskSkinManager
This commit is contained in:
parent
0aff128eec
commit
38e00addd6
@ -38,7 +38,6 @@
|
|||||||
#include <QskGraphicProvider.h>
|
#include <QskGraphicProvider.h>
|
||||||
#include <QskGraphicIO.h>
|
#include <QskGraphicIO.h>
|
||||||
#include <QskGraphic.h>
|
#include <QskGraphic.h>
|
||||||
#include <QskSetup.h>
|
|
||||||
|
|
||||||
#include <QGuiApplication>
|
#include <QGuiApplication>
|
||||||
|
|
||||||
@ -159,7 +158,7 @@ namespace
|
|||||||
for ( const auto& name : names )
|
for ( const auto& name : names )
|
||||||
menu->addOption( QUrl(), name );
|
menu->addOption( QUrl(), name );
|
||||||
|
|
||||||
if ( const auto index = names.indexOf( qskSetup->skinName() ) )
|
if ( const auto index = names.indexOf( qskSkinManager->skinName() ) )
|
||||||
menu->setCurrentIndex( index );
|
menu->setCurrentIndex( index );
|
||||||
|
|
||||||
connect( menu, &QskMenu::triggered, this, &SkinButton::changeSkin );
|
connect( menu, &QskMenu::triggered, this, &SkinButton::changeSkin );
|
||||||
@ -170,7 +169,7 @@ namespace
|
|||||||
const auto names = qskSkinManager->skinNames();
|
const auto names = qskSkinManager->skinNames();
|
||||||
|
|
||||||
if ( ( index >= 0 ) && ( index < names.size() )
|
if ( ( index >= 0 ) && ( index < names.size() )
|
||||||
&& ( index != names.indexOf( qskSetup->skinName() ) ) )
|
&& ( index != names.indexOf( qskSkinManager->skinName() ) ) )
|
||||||
{
|
{
|
||||||
Skinny::setSkin( index, 500 );
|
Skinny::setSkin( index, 500 );
|
||||||
}
|
}
|
||||||
|
@ -79,7 +79,7 @@ int main( int argc, char* argv[] )
|
|||||||
qskSkinManager->registerFactory(
|
qskSkinManager->registerFactory(
|
||||||
QStringLiteral( "SampleSkinFactory" ), new SkinFactory() );
|
QStringLiteral( "SampleSkinFactory" ), new SkinFactory() );
|
||||||
|
|
||||||
qskSetup->setSkin( "DaytimeSkin" );
|
qskSkinManager->setSkin( "DaytimeSkin" );
|
||||||
|
|
||||||
#ifdef USE_SHORTCUTS
|
#ifdef USE_SHORTCUTS
|
||||||
// With CTRL-B you can rotate a couple of visual debug modes
|
// With CTRL-B you can rotate a couple of visual debug modes
|
||||||
|
@ -102,11 +102,11 @@ class Window : public QskWindow
|
|||||||
private:
|
private:
|
||||||
void setAlternativeSkin( bool on )
|
void setAlternativeSkin( bool on )
|
||||||
{
|
{
|
||||||
auto oldSkin = qskSetup->skin();
|
auto oldSkin = qskSkinManager->skin();
|
||||||
if ( oldSkin->parent() == qskSetup )
|
if ( oldSkin->parent() == qskSkinManager )
|
||||||
oldSkin->setParent( nullptr ); // otherwise setSkin deletes it
|
oldSkin->setParent( nullptr ); // otherwise setSkin deletes it
|
||||||
|
|
||||||
auto newSkin = qskSetup->setSkin( alternativeSkin( on ) );
|
auto newSkin = qskSkinManager->setSkin( alternativeSkin( on ) );
|
||||||
|
|
||||||
QskSkinTransition transition;
|
QskSkinTransition transition;
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#include <QskLinearBox.h>
|
#include <QskLinearBox.h>
|
||||||
#include <QskPushButton.h>
|
#include <QskPushButton.h>
|
||||||
#include <QskRgbValue.h>
|
#include <QskRgbValue.h>
|
||||||
#include <QskSetup.h>
|
#include <QskSkinManager.h>
|
||||||
#include <QskSkin.h>
|
#include <QskSkin.h>
|
||||||
#include <QskBoxShapeMetrics.h>
|
#include <QskBoxShapeMetrics.h>
|
||||||
|
|
||||||
@ -92,10 +92,10 @@ MainWindow::MainWindow()
|
|||||||
connect( invertButton, &QskPushButton::toggled,
|
connect( invertButton, &QskPushButton::toggled,
|
||||||
label, &GraphicLabel::setDarknessMode );
|
label, &GraphicLabel::setDarknessMode );
|
||||||
|
|
||||||
connect( qskSetup, &QskSetup::skinChanged,
|
connect( qskSkinManager, &QskSkinManager::skinChanged,
|
||||||
this, &MainWindow::setGraphicRoles );
|
this, &MainWindow::setGraphicRoles );
|
||||||
|
|
||||||
setGraphicRoles( qskSetup->skin() );
|
setGraphicRoles( qskSkinManager->skin() );
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::setGraphicRoles( QskSkin* skin )
|
void MainWindow::setGraphicRoles( QskSkin* skin )
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#include <QskTextLabel.h>
|
#include <QskTextLabel.h>
|
||||||
#include <QskWindow.h>
|
#include <QskWindow.h>
|
||||||
#include <QskRgbValue.h>
|
#include <QskRgbValue.h>
|
||||||
#include <QskSetup.h>
|
#include <QskSkinManager.h>
|
||||||
|
|
||||||
#include <QDoubleValidator>
|
#include <QDoubleValidator>
|
||||||
#include <QFontMetricsF>
|
#include <QFontMetricsF>
|
||||||
@ -208,7 +208,7 @@ int main( int argc, char** argv )
|
|||||||
|
|
||||||
Skinny::init(); // we need a skin
|
Skinny::init(); // we need a skin
|
||||||
SkinnyShortcut::enable( SkinnyShortcut::Quit | SkinnyShortcut::DebugBackground );
|
SkinnyShortcut::enable( SkinnyShortcut::Quit | SkinnyShortcut::DebugBackground );
|
||||||
qskSetup->setSkin( "fusion" );
|
qskSkinManager->setSkin( "fusion" );
|
||||||
|
|
||||||
QskWindow window;
|
QskWindow window;
|
||||||
window.setColor( QskRgb::Wheat );
|
window.setColor( QskRgb::Wheat );
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
#include "QskColorFilter.h"
|
#include "QskColorFilter.h"
|
||||||
#include "QskGraphic.h"
|
#include "QskGraphic.h"
|
||||||
#include "QskGraphicProvider.h"
|
#include "QskGraphicProvider.h"
|
||||||
#include "QskSetup.h"
|
#include "QskSkinManager.h"
|
||||||
#include "QskSkin.h"
|
#include "QskSkin.h"
|
||||||
|
|
||||||
QSK_SUBCONTROL( QskGraphicLabel, Panel )
|
QSK_SUBCONTROL( QskGraphicLabel, Panel )
|
||||||
@ -309,7 +309,7 @@ void QskGraphicLabel::changeEvent( QEvent* event )
|
|||||||
{
|
{
|
||||||
if ( event->type() == QEvent::StyleChange )
|
if ( event->type() == QEvent::StyleChange )
|
||||||
{
|
{
|
||||||
if ( !m_data->source.isEmpty() && qskSetup->skin()->hasGraphicProvider() )
|
if ( !m_data->source.isEmpty() && qskSkinManager->skin()->hasGraphicProvider() )
|
||||||
{
|
{
|
||||||
// we might need to reload from a different skin
|
// we might need to reload from a different skin
|
||||||
m_data->isSourceDirty = true;
|
m_data->isSourceDirty = true;
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
#include "QskBoxShapeMetrics.h"
|
#include "QskBoxShapeMetrics.h"
|
||||||
#include "QskGraphic.h"
|
#include "QskGraphic.h"
|
||||||
#include "QskGraphicProvider.h"
|
#include "QskGraphicProvider.h"
|
||||||
#include "QskSetup.h"
|
#include "QskSkinManager.h"
|
||||||
#include "QskSkin.h"
|
#include "QskSkin.h"
|
||||||
#include "QskSkinlet.h"
|
#include "QskSkinlet.h"
|
||||||
#include "QskTextOptions.h"
|
#include "QskTextOptions.h"
|
||||||
@ -275,7 +275,7 @@ void QskPushButton::changeEvent( QEvent* event )
|
|||||||
case QEvent::StyleChange:
|
case QEvent::StyleChange:
|
||||||
{
|
{
|
||||||
if ( !m_data->iconSource.isEmpty() &&
|
if ( !m_data->iconSource.isEmpty() &&
|
||||||
qskSetup->skin()->hasGraphicProvider() )
|
qskSkinManager->skin()->hasGraphicProvider() )
|
||||||
{
|
{
|
||||||
// we might need to reload from a different skin
|
// we might need to reload from a different skin
|
||||||
m_data->isIconSourceDirty = true;
|
m_data->isIconSourceDirty = true;
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
#include "QskQuick.h"
|
#include "QskQuick.h"
|
||||||
#include "QskEvent.h"
|
#include "QskEvent.h"
|
||||||
#include "QskSetup.h"
|
#include "QskSetup.h"
|
||||||
|
#include "QskSkinManager.h"
|
||||||
#include "QskSkin.h"
|
#include "QskSkin.h"
|
||||||
#include "QskDirtyItemFilter.h"
|
#include "QskDirtyItemFilter.h"
|
||||||
|
|
||||||
@ -76,8 +77,8 @@ namespace
|
|||||||
We would also need to send QEvent::StyleChange, when
|
We would also need to send QEvent::StyleChange, when
|
||||||
a window has a new skin. TODO ...
|
a window has a new skin. TODO ...
|
||||||
*/
|
*/
|
||||||
QObject::connect( qskSetup, &QskSetup::skinChanged,
|
QObject::connect( qskSkinManager, &QskSkinManager::skinChanged,
|
||||||
qskSetup, [ this ] { updateSkin(); } );
|
qskSkinManager, [ this ] { updateSkin(); } );
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void insert( QskQuickItem* item )
|
inline void insert( QskQuickItem* item )
|
||||||
|
@ -7,12 +7,11 @@
|
|||||||
#include "QskControl.h"
|
#include "QskControl.h"
|
||||||
#include "QskControlPrivate.h"
|
#include "QskControlPrivate.h"
|
||||||
#include "QskGraphicProviderMap.h"
|
#include "QskGraphicProviderMap.h"
|
||||||
#include "QskSkin.h"
|
|
||||||
#include "QskSkinManager.h"
|
#include "QskSkinManager.h"
|
||||||
|
#include "QskSkin.h"
|
||||||
#include "QskWindow.h"
|
#include "QskWindow.h"
|
||||||
|
|
||||||
#include <qguiapplication.h>
|
#include <qguiapplication.h>
|
||||||
#include <qpointer.h>
|
|
||||||
#include <qstylehints.h>
|
#include <qstylehints.h>
|
||||||
|
|
||||||
QskSetup* QskSetup::s_instance = nullptr;
|
QskSetup* QskSetup::s_instance = nullptr;
|
||||||
@ -81,9 +80,6 @@ class QskSetup::PrivateData
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
QString skinName;
|
|
||||||
QPointer< QskSkin > skin;
|
|
||||||
|
|
||||||
QskGraphicProviderMap graphicProviders;
|
QskGraphicProviderMap graphicProviders;
|
||||||
QskQuickItem::UpdateFlags itemUpdateFlags;
|
QskQuickItem::UpdateFlags itemUpdateFlags;
|
||||||
};
|
};
|
||||||
@ -152,53 +148,6 @@ bool QskSetup::testItemUpdateFlag( QskQuickItem::UpdateFlag flag )
|
|||||||
return m_data->itemUpdateFlags.testFlag( flag );
|
return m_data->itemUpdateFlags.testFlag( flag );
|
||||||
}
|
}
|
||||||
|
|
||||||
QskSkin* QskSetup::setSkin( const QString& skinName )
|
|
||||||
{
|
|
||||||
if ( m_data->skin && ( skinName == m_data->skinName ) )
|
|
||||||
return m_data->skin;
|
|
||||||
|
|
||||||
auto skin = QskSkinManager::instance()->createSkin( skinName );
|
|
||||||
if ( skin == nullptr )
|
|
||||||
return nullptr;
|
|
||||||
|
|
||||||
if ( skin->parent() == nullptr )
|
|
||||||
skin->setParent( this );
|
|
||||||
|
|
||||||
const auto oldSkin = m_data->skin;
|
|
||||||
|
|
||||||
m_data->skin = skin;
|
|
||||||
m_data->skinName = skinName;
|
|
||||||
|
|
||||||
if ( oldSkin )
|
|
||||||
{
|
|
||||||
Q_EMIT skinChanged( skin );
|
|
||||||
|
|
||||||
if ( oldSkin->parent() == this )
|
|
||||||
delete oldSkin;
|
|
||||||
}
|
|
||||||
|
|
||||||
return m_data->skin;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString QskSetup::skinName() const
|
|
||||||
{
|
|
||||||
return m_data->skinName;
|
|
||||||
}
|
|
||||||
|
|
||||||
QskSkin* QskSetup::skin()
|
|
||||||
{
|
|
||||||
if ( m_data->skin == nullptr )
|
|
||||||
{
|
|
||||||
m_data->skin = QskSkinManager::instance()->createSkin( QString() );
|
|
||||||
Q_ASSERT( m_data->skin );
|
|
||||||
|
|
||||||
m_data->skin->setParent( this );
|
|
||||||
m_data->skinName = m_data->skin->objectName();
|
|
||||||
}
|
|
||||||
|
|
||||||
return m_data->skin;
|
|
||||||
}
|
|
||||||
|
|
||||||
void QskSetup::addGraphicProvider( const QString& providerId, QskGraphicProvider* provider )
|
void QskSetup::addGraphicProvider( const QString& providerId, QskGraphicProvider* provider )
|
||||||
{
|
{
|
||||||
m_data->graphicProviders.insert( providerId, provider );
|
m_data->graphicProviders.insert( providerId, provider );
|
||||||
@ -206,10 +155,9 @@ void QskSetup::addGraphicProvider( const QString& providerId, QskGraphicProvider
|
|||||||
|
|
||||||
QskGraphicProvider* QskSetup::graphicProvider( const QString& providerId ) const
|
QskGraphicProvider* QskSetup::graphicProvider( const QString& providerId ) const
|
||||||
{
|
{
|
||||||
if ( m_data->skin )
|
if ( auto skin = qskSkinManager->skin() )
|
||||||
{
|
{
|
||||||
QskGraphicProvider* provider = m_data->skin->graphicProvider( providerId );
|
if ( auto provider = skin->graphicProvider( providerId ) )
|
||||||
if ( provider )
|
|
||||||
return provider;
|
return provider;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
#include <qobject.h>
|
#include <qobject.h>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
class QskSkin;
|
|
||||||
class QQuickItem;
|
class QQuickItem;
|
||||||
class QskGraphicProvider;
|
class QskGraphicProvider;
|
||||||
|
|
||||||
@ -38,11 +37,6 @@ class QSK_EXPORT QskSetup : public QObject
|
|||||||
void resetItemUpdateFlag( QskQuickItem::UpdateFlag );
|
void resetItemUpdateFlag( QskQuickItem::UpdateFlag );
|
||||||
bool testItemUpdateFlag( QskQuickItem::UpdateFlag );
|
bool testItemUpdateFlag( QskQuickItem::UpdateFlag );
|
||||||
|
|
||||||
QskSkin* setSkin( const QString& );
|
|
||||||
QString skinName() const;
|
|
||||||
|
|
||||||
QskSkin* skin();
|
|
||||||
|
|
||||||
void addGraphicProvider( const QString& providerId, QskGraphicProvider* );
|
void addGraphicProvider( const QString& providerId, QskGraphicProvider* );
|
||||||
QskGraphicProvider* graphicProvider( const QString& providerId ) const;
|
QskGraphicProvider* graphicProvider( const QString& providerId ) const;
|
||||||
|
|
||||||
@ -50,7 +44,6 @@ class QSK_EXPORT QskSetup : public QObject
|
|||||||
static void cleanup();
|
static void cleanup();
|
||||||
|
|
||||||
Q_SIGNALS:
|
Q_SIGNALS:
|
||||||
void skinChanged( QskSkin* );
|
|
||||||
void itemUpdateFlagsChanged();
|
void itemUpdateFlagsChanged();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
#include "QskSkinManager.h"
|
#include "QskSkinManager.h"
|
||||||
#include "QskSkinFactory.h"
|
#include "QskSkinFactory.h"
|
||||||
|
#include "QskSkin.h"
|
||||||
|
|
||||||
#include <qdir.h>
|
#include <qdir.h>
|
||||||
#include <qglobalstatic.h>
|
#include <qglobalstatic.h>
|
||||||
@ -20,13 +21,6 @@
|
|||||||
#include <qstylehints.h>
|
#include <qstylehints.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static inline QStringList qskSplitPath( const QString& s )
|
|
||||||
{
|
|
||||||
const auto separator = QDir::listSeparator();
|
|
||||||
|
|
||||||
return s.split( separator, Qt::SkipEmptyParts );
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
We could use QFactoryLoader, but as it is again a "private" class
|
We could use QFactoryLoader, but as it is again a "private" class
|
||||||
and does a couple of hardcoded things we don't need ( like always resolving
|
and does a couple of hardcoded things we don't need ( like always resolving
|
||||||
@ -48,7 +42,8 @@ static QStringList qskPathList( const char* envName )
|
|||||||
if ( env.isEmpty() )
|
if ( env.isEmpty() )
|
||||||
return QStringList();
|
return QStringList();
|
||||||
|
|
||||||
return qskSplitPath( QFile::decodeName( env ) );
|
const auto name = QFile::decodeName( env );
|
||||||
|
return name.split( QDir::listSeparator(), Qt::SkipEmptyParts );
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline QString qskResolvedPath( const QString& path )
|
static inline QString qskResolvedPath( const QString& path )
|
||||||
@ -406,6 +401,8 @@ class QskSkinManager::PrivateData
|
|||||||
QStringList pluginPaths;
|
QStringList pluginPaths;
|
||||||
FactoryMap factoryMap;
|
FactoryMap factoryMap;
|
||||||
|
|
||||||
|
QPointer< QskSkin > skin;
|
||||||
|
|
||||||
bool pluginsRegistered : 1;
|
bool pluginsRegistered : 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -540,7 +537,64 @@ QskSkin* QskSkinManager::createSkin( const QString& skinName ) const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return factory ? factory->createSkin( name ) : nullptr;
|
QskSkin* skin = nullptr;
|
||||||
|
|
||||||
|
if ( factory )
|
||||||
|
{
|
||||||
|
skin = factory->createSkin( name );
|
||||||
|
if ( skin )
|
||||||
|
skin->setObjectName( name );
|
||||||
|
}
|
||||||
|
|
||||||
|
return skin;
|
||||||
|
}
|
||||||
|
|
||||||
|
QskSkin* QskSkinManager::setSkin( const QString& name )
|
||||||
|
{
|
||||||
|
if ( m_data->skin && ( m_data->skin->objectName() == name ) )
|
||||||
|
return m_data->skin;
|
||||||
|
|
||||||
|
auto skin = createSkin( name );
|
||||||
|
if ( skin == nullptr )
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
|
if ( skin->parent() == nullptr )
|
||||||
|
skin->setParent( this );
|
||||||
|
|
||||||
|
const auto oldSkin = m_data->skin;
|
||||||
|
|
||||||
|
m_data->skin = skin;
|
||||||
|
|
||||||
|
if ( oldSkin )
|
||||||
|
{
|
||||||
|
Q_EMIT skinChanged( skin );
|
||||||
|
|
||||||
|
if ( oldSkin->parent() == this )
|
||||||
|
delete oldSkin;
|
||||||
|
}
|
||||||
|
|
||||||
|
return m_data->skin;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString QskSkinManager::skinName() const
|
||||||
|
{
|
||||||
|
if ( m_data->skin )
|
||||||
|
return m_data->skin->objectName();
|
||||||
|
|
||||||
|
return QString();
|
||||||
|
}
|
||||||
|
|
||||||
|
QskSkin* QskSkinManager::skin()
|
||||||
|
{
|
||||||
|
if ( m_data->skin == nullptr )
|
||||||
|
{
|
||||||
|
m_data->skin = createSkin( QString() );
|
||||||
|
Q_ASSERT( m_data->skin );
|
||||||
|
|
||||||
|
m_data->skin->setParent( this );
|
||||||
|
}
|
||||||
|
|
||||||
|
return m_data->skin;
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "moc_QskSkinManager.cpp"
|
#include "moc_QskSkinManager.cpp"
|
||||||
|
@ -39,7 +39,15 @@ class QSK_EXPORT QskSkinManager : public QObject
|
|||||||
|
|
||||||
QStringList skinNames() const;
|
QStringList skinNames() const;
|
||||||
|
|
||||||
QskSkin* createSkin( const QString& skinName ) const;
|
QskSkin* createSkin( const QString& name ) const;
|
||||||
|
|
||||||
|
QskSkin* skin();
|
||||||
|
|
||||||
|
QskSkin* setSkin( const QString& );
|
||||||
|
QString skinName() const;
|
||||||
|
|
||||||
|
Q_SIGNALS:
|
||||||
|
void skinChanged( QskSkin* );
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QskSkinManager();
|
QskSkinManager();
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
#include "QskControl.h"
|
#include "QskControl.h"
|
||||||
#include "QskHintAnimator.h"
|
#include "QskHintAnimator.h"
|
||||||
#include "QskMargins.h"
|
#include "QskMargins.h"
|
||||||
#include "QskSetup.h"
|
#include "QskSkinManager.h"
|
||||||
#include "QskSkin.h"
|
#include "QskSkin.h"
|
||||||
#include "QskSkinHintTable.h"
|
#include "QskSkinHintTable.h"
|
||||||
#include "QskSkinTransition.h"
|
#include "QskSkinTransition.h"
|
||||||
@ -1520,7 +1520,7 @@ QskSkin* QskSkinnable::effectiveSkin() const
|
|||||||
skin = qskEffectiveSkin( item->window() );
|
skin = qskEffectiveSkin( item->window() );
|
||||||
}
|
}
|
||||||
|
|
||||||
return skin ? skin : qskSetup->skin();
|
return skin ? skin : qskSkinManager->skin();
|
||||||
}
|
}
|
||||||
|
|
||||||
QskAspect::Variation QskSkinnable::effectiveVariation() const
|
QskAspect::Variation QskSkinnable::effectiveVariation() const
|
||||||
|
@ -662,7 +662,7 @@ void QskWindow::enforceSkin()
|
|||||||
// let's create a default skin on the GUI thread - whatever it is
|
// let's create a default skin on the GUI thread - whatever it is
|
||||||
// good for.
|
// good for.
|
||||||
|
|
||||||
( void ) qskSetup->skin();
|
( void ) qskSkinManager->skin();
|
||||||
qskEnforcedSkin = true;
|
qskEnforcedSkin = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -718,7 +718,7 @@ QskSkin* qskEffectiveSkin( const QQuickWindow* window )
|
|||||||
return skin;
|
return skin;
|
||||||
}
|
}
|
||||||
|
|
||||||
return qskSetup->skin();
|
return qskSkinManager->skin();
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "moc_QskWindow.cpp"
|
#include "moc_QskWindow.cpp"
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
#include "SkinnyNamespace.h"
|
#include "SkinnyNamespace.h"
|
||||||
|
|
||||||
#include <QskSetup.h>
|
|
||||||
#include <QskSkinManager.h>
|
#include <QskSkinManager.h>
|
||||||
#include <QskSkin.h>
|
#include <QskSkin.h>
|
||||||
#include <QskSkinTransition.h>
|
#include <QskSkinTransition.h>
|
||||||
@ -13,13 +12,13 @@
|
|||||||
|
|
||||||
#include <QGuiApplication>
|
#include <QGuiApplication>
|
||||||
#include <QByteArray>
|
#include <QByteArray>
|
||||||
|
#include <QFont>
|
||||||
|
|
||||||
#define STRINGIFY(x) #x
|
#define STRINGIFY(x) #x
|
||||||
#define STRING(x) STRINGIFY(x)
|
#define STRING(x) STRINGIFY(x)
|
||||||
|
|
||||||
#if defined( PLUGIN_PATH )
|
#if defined( PLUGIN_PATH )
|
||||||
|
|
||||||
#include <QByteArray>
|
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
|
|
||||||
#define STRINGIFY(x) #x
|
#define STRINGIFY(x) #x
|
||||||
@ -74,7 +73,7 @@ static bool pluginPath = initPluginPath();
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ( !skinNames.isEmpty() )
|
if ( !skinNames.isEmpty() )
|
||||||
qskSetup->setSkin( skinNames[0] );
|
qskSkinManager->setSkin( skinNames[0] );
|
||||||
}
|
}
|
||||||
|
|
||||||
Q_COREAPP_STARTUP_FUNCTION( initSkins )
|
Q_COREAPP_STARTUP_FUNCTION( initSkins )
|
||||||
@ -136,7 +135,7 @@ void Skinny::changeSkin( QskAnimationHint hint )
|
|||||||
const auto names = qskSkinManager->skinNames();
|
const auto names = qskSkinManager->skinNames();
|
||||||
if ( names.size() > 1 )
|
if ( names.size() > 1 )
|
||||||
{
|
{
|
||||||
auto index = names.indexOf( qskSetup->skinName() );
|
auto index = names.indexOf( qskSkinManager->skinName() );
|
||||||
index = ( index + 1 ) % names.size();
|
index = ( index + 1 ) % names.size();
|
||||||
|
|
||||||
setSkin( index, hint );
|
setSkin( index, hint );
|
||||||
@ -149,14 +148,14 @@ void Skinny::setSkin( int index, QskAnimationHint hint )
|
|||||||
if ( names.size() <= 1 )
|
if ( names.size() <= 1 )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if ( index == names.indexOf( qskSetup->skinName() ) )
|
if ( index == names.indexOf( qskSkinManager->skinName() ) )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
auto oldSkin = qskSetup->skin();
|
auto oldSkin = qskSkinManager->skin();
|
||||||
if ( oldSkin->parent() == qskSetup )
|
if ( oldSkin->parent() == qskSkinManager )
|
||||||
oldSkin->setParent( nullptr ); // otherwise setSkin deletes it
|
oldSkin->setParent( nullptr ); // otherwise setSkin deletes it
|
||||||
|
|
||||||
if ( auto newSkin = qskSetup->setSkin( names[ index ] ) )
|
if ( auto newSkin = qskSkinManager->setSkin( names[ index ] ) )
|
||||||
{
|
{
|
||||||
QskSkinTransition transition;
|
QskSkinTransition transition;
|
||||||
|
|
||||||
@ -174,7 +173,7 @@ void Skinny::setSkin( int index, QskAnimationHint hint )
|
|||||||
|
|
||||||
void Skinny::changeFonts( int increment )
|
void Skinny::changeFonts( int increment )
|
||||||
{
|
{
|
||||||
auto skin = qskSetup->skin();
|
auto skin = qskSkinManager->skin();
|
||||||
|
|
||||||
const auto fonts = skin->fonts();
|
const auto fonts = skin->fonts();
|
||||||
|
|
||||||
@ -199,7 +198,7 @@ void Skinny::changeFonts( int increment )
|
|||||||
skin->setFont( role, font );
|
skin->setFont( role, font );
|
||||||
}
|
}
|
||||||
|
|
||||||
Q_EMIT qskSetup->skinChanged( skin );
|
Q_EMIT qskSkinManager->skinChanged( skin );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Skinny::init()
|
void Skinny::init()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user