aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/nativestyle/items
diff options
context:
space:
mode:
Diffstat (limited to 'src/imports/nativestyle/items')
-rw-r--r--src/imports/nativestyle/items/qquickstyleitemgroupbox.cpp9
-rw-r--r--src/imports/nativestyle/items/qquickstyleitemgroupbox.h6
2 files changed, 14 insertions, 1 deletions
diff --git a/src/imports/nativestyle/items/qquickstyleitemgroupbox.cpp b/src/imports/nativestyle/items/qquickstyleitemgroupbox.cpp
index 2b4154d2..d62b6f23 100644
--- a/src/imports/nativestyle/items/qquickstyleitemgroupbox.cpp
+++ b/src/imports/nativestyle/items/qquickstyleitemgroupbox.cpp
@@ -68,6 +68,10 @@ StyleItemGeometry QQuickStyleItemGroupBox::calculateGeometry()
if (m_groupBoxPadding != oldGroupBoxPadding)
emit groupBoxPaddingChanged();
+ const QPointF oldLabelPos = m_labelPos;
+ m_labelPos = style()->subControlRect(QStyle::CC_GroupBox, &styleOption, QStyle::SC_GroupBoxLabel).topLeft();
+ if (m_labelPos != oldLabelPos)
+ emit labelPosChanged();
return geometry;
}
@@ -89,3 +93,8 @@ QQuickStyleMargins QQuickStyleItemGroupBox::groupBoxPadding() const
{
return m_groupBoxPadding;
}
+
+QPointF QQuickStyleItemGroupBox::labelPos() const
+{
+ return m_labelPos;
+}
diff --git a/src/imports/nativestyle/items/qquickstyleitemgroupbox.h b/src/imports/nativestyle/items/qquickstyleitemgroupbox.h
index 8e65855c..efb6d4f6 100644
--- a/src/imports/nativestyle/items/qquickstyleitemgroupbox.h
+++ b/src/imports/nativestyle/items/qquickstyleitemgroupbox.h
@@ -43,15 +43,18 @@
class QQuickStyleItemGroupBox : public QQuickStyleItem
{
Q_OBJECT
- Q_PROPERTY(QQuickStyleMargins groupBoxPadding READ groupBoxPadding() NOTIFY groupBoxPaddingChanged)
+ Q_PROPERTY(QQuickStyleMargins groupBoxPadding READ groupBoxPadding NOTIFY groupBoxPaddingChanged)
+ Q_PROPERTY(QPointF labelPos READ labelPos NOTIFY labelPosChanged)
QML_NAMED_ELEMENT(GroupBox)
public:
QQuickStyleMargins groupBoxPadding() const;
+ QPointF labelPos() const;
QFont styleFont(QQuickItem *control) override;
signals:
void groupBoxPaddingChanged();
+ void labelPosChanged();
protected:
void paintEvent(QPainter *painter) override;
@@ -59,6 +62,7 @@ protected:
private:
QQuickStyleMargins m_groupBoxPadding;
+ QPointF m_labelPos;
void initStyleOption(QStyleOptionGroupBox &styleOption);
};