QskSkinTransition fixed
This commit is contained in:
parent
372751a13d
commit
0f0368d3b1
@ -1,6 +1,7 @@
|
|||||||
#include "QskSkinTransition.h"
|
#include "QskSkinTransition.h"
|
||||||
#include "QskColorFilter.h"
|
#include "QskColorFilter.h"
|
||||||
#include "QskControl.h"
|
#include "QskControl.h"
|
||||||
|
#include "QskWindow.h"
|
||||||
#include "QskHintAnimator.h"
|
#include "QskHintAnimator.h"
|
||||||
#include "QskSkin.h"
|
#include "QskSkin.h"
|
||||||
#include "QskSkinHintTable.h"
|
#include "QskSkinHintTable.h"
|
||||||
@ -8,7 +9,6 @@
|
|||||||
#include <qglobalstatic.h>
|
#include <qglobalstatic.h>
|
||||||
#include <qguiapplication.h>
|
#include <qguiapplication.h>
|
||||||
#include <qobject.h>
|
#include <qobject.h>
|
||||||
#include <qquickwindow.h>
|
|
||||||
#include <qvector.h>
|
#include <qvector.h>
|
||||||
|
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
@ -616,10 +616,13 @@ void QskSkinTransition::process()
|
|||||||
{
|
{
|
||||||
if ( auto quickWindow = qobject_cast< QQuickWindow* >( window ) )
|
if ( auto quickWindow = qobject_cast< QQuickWindow* >( window ) )
|
||||||
{
|
{
|
||||||
if ( !quickWindow->isVisible() )
|
if ( !quickWindow->isVisible() ||
|
||||||
|
( qskEffectiveSkin( quickWindow ) != m_skins[ 1 ] ) )
|
||||||
|
{
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
auto* group = new AnimatorGroup( quickWindow );
|
auto group = new AnimatorGroup( quickWindow );
|
||||||
|
|
||||||
if ( doGraphicFilter )
|
if ( doGraphicFilter )
|
||||||
{
|
{
|
||||||
|
@ -678,4 +678,15 @@ QskSkin* QskWindow::skin() const
|
|||||||
return d_func()->skin;
|
return d_func()->skin;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QskSkin* qskEffectiveSkin( const QQuickWindow* window )
|
||||||
|
{
|
||||||
|
if ( auto w = qobject_cast< const QskWindow* >( window ) )
|
||||||
|
{
|
||||||
|
if ( auto skin = w->skin() )
|
||||||
|
return skin;
|
||||||
|
}
|
||||||
|
|
||||||
|
return qskSetup->skin();
|
||||||
|
}
|
||||||
|
|
||||||
#include "moc_QskWindow.cpp"
|
#include "moc_QskWindow.cpp"
|
||||||
|
@ -100,4 +100,6 @@ class QSK_EXPORT QskWindow : public QQuickWindow
|
|||||||
Q_DECLARE_PRIVATE( QskWindow )
|
Q_DECLARE_PRIVATE( QskWindow )
|
||||||
};
|
};
|
||||||
|
|
||||||
|
QSK_EXPORT QskSkin* qskEffectiveSkin( const QQuickWindow* );
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user