From 2479064f58d78fc4a2f93e7a6bef8c64029dec62 Mon Sep 17 00:00:00 2001 From: Uwe Rathmann Date: Fri, 26 Aug 2022 13:19:37 +0200 Subject: [PATCH] spacing added --- src/controls/QskPushButtonSkinlet.cpp | 2 ++ src/layouts/QskSubcontrolLayoutEngine.cpp | 14 ++++++++++++++ src/layouts/QskSubcontrolLayoutEngine.h | 5 +++++ 3 files changed, 21 insertions(+) diff --git a/src/controls/QskPushButtonSkinlet.cpp b/src/controls/QskPushButtonSkinlet.cpp index b687bb20..07982bf4 100644 --- a/src/controls/QskPushButtonSkinlet.cpp +++ b/src/controls/QskPushButtonSkinlet.cpp @@ -34,6 +34,8 @@ namespace { using Q = QskPushButton; + setSpacing( button->spacingHint( Q::Panel ) ); + const auto graphicSourceSize = button->graphic().defaultSize(); const bool hasText = !button->text().isEmpty(); diff --git a/src/layouts/QskSubcontrolLayoutEngine.cpp b/src/layouts/QskSubcontrolLayoutEngine.cpp index 607f6b06..3cfa3229 100644 --- a/src/layouts/QskSubcontrolLayoutEngine.cpp +++ b/src/layouts/QskSubcontrolLayoutEngine.cpp @@ -143,6 +143,10 @@ QSizeF QskSubcontrolLayoutEngine::TextElement::implicitSize( const QSizeF& const const auto font = skinnable()->effectiveFont( subControl() ); const auto textOptions = skinnable()->textOptionsHint( subControl() ); +#if 0 + // what about skinnable()->strutSizeHint( subControl() ); ???? +#endif + QSizeF hint; const qreal lineHeight = QFontMetricsF( font ).height(); @@ -308,6 +312,16 @@ Qt::Orientation QskSubcontrolLayoutEngine::orientation() const return m_data->orientation; } +void QskSubcontrolLayoutEngine::setSpacing( qreal spacing ) +{ + Inherited::setSpacing( spacing, Qt::Horizontal | Qt::Vertical ); +} + +qreal QskSubcontrolLayoutEngine::spacing() const +{ + return Inherited::spacing( m_data->orientation ); +} + void QskSubcontrolLayoutEngine::setElementAt( int index, LayoutElement* element ) { if ( index >= 0 && index < count() ) diff --git a/src/layouts/QskSubcontrolLayoutEngine.h b/src/layouts/QskSubcontrolLayoutEngine.h index 81c7da59..42911013 100644 --- a/src/layouts/QskSubcontrolLayoutEngine.h +++ b/src/layouts/QskSubcontrolLayoutEngine.h @@ -22,6 +22,8 @@ class QskSkinnable; */ class QskSubcontrolLayoutEngine : public QskLayoutEngine2D { + using Inherited = QskLayoutEngine2D; + public: class LayoutElement : public QskLayoutElement { @@ -116,6 +118,9 @@ class QskSubcontrolLayoutEngine : public QskLayoutEngine2D Qt::Orientation orientation() const; bool setOrientation( Qt::Orientation ); + void setSpacing( qreal ); + qreal spacing() const; + void setElementAt( int index, LayoutElement* ); LayoutElement* elementAt( int ) const;