From d37b9ca39ccdbedf5c2b8c53a9d5a47b49380d50 Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Thu, 23 Dec 2021 18:15:54 +0100 Subject: [PATCH] using QskSkinStateChanger --- src/controls/QskListViewSkinlet.cpp | 30 +++-------------------------- src/controls/QskListViewSkinlet.h | 1 - 2 files changed, 3 insertions(+), 28 deletions(-) diff --git a/src/controls/QskListViewSkinlet.cpp b/src/controls/QskListViewSkinlet.cpp index b70387d8..52dfcfee 100644 --- a/src/controls/QskListViewSkinlet.cpp +++ b/src/controls/QskListViewSkinlet.cpp @@ -9,37 +9,13 @@ #include "QskColorFilter.h" #include "QskGraphic.h" #include "QskSGNode.h" +#include "QskSkinStateChanger.h" #include #include #include #include -namespace -{ - class StateChanger - { - public: - StateChanger( const QskSkinnable* skinnable, QskAspect::States states ) - : m_skinnable( const_cast< QskSkinnable* >( skinnable ) ) - , m_oldStates( skinnable->skinStates() ) - { - if ( states ) - m_skinnable->replaceSkinStates( m_oldStates | states ); - } - - ~StateChanger() - { - if ( m_oldStates != m_skinnable->skinStates() ) - m_skinnable->replaceSkinStates( m_oldStates ); - } - - private: - QskSkinnable* m_skinnable; - QskAspect::States m_oldStates; - }; -} - class QskListViewNode final : public QSGTransformNode { public: @@ -185,7 +161,7 @@ void QskListViewSkinlet::updateBackgroundNodes( if ( rowSelected >= rowMin && rowSelected <= rowMax ) { - const StateChanger stateChanger( listView, QskListView::Selected ); + const QskSkinStateChanger stateChanger( listView, QskListView::Selected ); const QColor color = listView->color( QskListView::Cell ); if ( rowNode == nullptr ) @@ -462,7 +438,7 @@ QSGNode* QskListViewSkinlet::updateCellNode( const QskListView* listView, if ( row == listView->selectedRow() ) rowStates |= QskListView::Selected; - StateChanger stateChanger( listView, rowStates ); + QskSkinStateChanger stateChanger( listView, rowStates ); QSGNode* newNode = nullptr; diff --git a/src/controls/QskListViewSkinlet.h b/src/controls/QskListViewSkinlet.h index ad82a0f8..95b875d1 100644 --- a/src/controls/QskListViewSkinlet.h +++ b/src/controls/QskListViewSkinlet.h @@ -10,7 +10,6 @@ class QskListView; class QskListViewNode; -class QskTextNode; class QMarginsF; class QSizeF;