From 1d04c199991dcd01299121276a471222164a72db Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Mon, 16 Sep 2019 12:38:10 +0200 Subject: [PATCH] minor optimization for invisible items with retainSizeWhenHidden flag --- src/layouts/QskGridLayoutEngine.cpp | 11 +++++------ src/layouts/QskLinearLayoutEngine.cpp | 7 +++++-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/layouts/QskGridLayoutEngine.cpp b/src/layouts/QskGridLayoutEngine.cpp index eff32810..33e1806a 100644 --- a/src/layouts/QskGridLayoutEngine.cpp +++ b/src/layouts/QskGridLayoutEngine.cpp @@ -560,13 +560,12 @@ void QskGridLayoutEngine::layoutItems() { for ( const auto& element : m_data->elements ) { - if ( !element.isIgnored() ) + auto item = element.item(); + + if ( item && qskIsVisibleToParent( item ) ) { - if ( auto item = element.item() ) - { - const auto grid = m_data->effectiveGrid( element ); - layoutItem( item, grid ); - } + const auto grid = m_data->effectiveGrid( element ); + layoutItem( item, grid ); } } } diff --git a/src/layouts/QskLinearLayoutEngine.cpp b/src/layouts/QskLinearLayoutEngine.cpp index c36ccf3e..446686dd 100644 --- a/src/layouts/QskLinearLayoutEngine.cpp +++ b/src/layouts/QskLinearLayoutEngine.cpp @@ -348,8 +348,11 @@ void QskLinearLayoutEngine::layoutItems() if ( auto item = element.item() ) { - const QRect grid( col, row, 1, 1 ); - layoutItem( item, grid ); + if ( qskIsVisibleToParent( item ) ) + { + const QRect grid( col, row, 1, 1 ); + layoutItem( item, grid ); + } } if ( m_data->orientation == Qt::Horizontal )