summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/widgets/styles/qcommonstyle.cpp45
1 files changed, 38 insertions, 7 deletions
diff --git a/src/widgets/styles/qcommonstyle.cpp b/src/widgets/styles/qcommonstyle.cpp
index 45ac6712b4..b94c022a1f 100644
--- a/src/widgets/styles/qcommonstyle.cpp
+++ b/src/widgets/styles/qcommonstyle.cpp
@@ -4498,6 +4498,21 @@ QRect QCommonStyle::subControlRect(ComplexControl cc, const QStyleOptionComplex
return ret;
}
+static inline int defaultLayoutTopMargin(const QStyleOption *opt)
+{
+ return int(QStyleHelper::dpiScaled(11, opt));
+}
+
+static inline int defaultLayoutChildMargin(const QStyleOption *opt)
+{
+ return int(QStyleHelper::dpiScaled(9, opt));
+}
+
+static inline int defaultLayoutSpacing(const QStyleOption *opt)
+{
+ return int(QStyleHelper::dpiScaled(6, opt));
+}
+
/*! \reimp */
int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWidget *widget) const
{
@@ -4776,28 +4791,44 @@ int QCommonStyle::pixelMetric(PixelMetric m, const QStyleOption *opt, const QWid
case PM_LayoutBottomMargin:
{
bool isWindow = false;
- if (opt) {
- isWindow = (opt->state & State_Window);
- } else if (widget) {
+ if (opt)
+ isWindow = opt->state.testFlag(State_Window);
+ else if (widget)
isWindow = widget->isWindow();
- }
+#if QT_VERSION >= QT_VERSION_CHECK(6,0,0)
+ ret = isWindow ? defaultLayoutTopMargin(opt) : defaultLayoutChildMargin(opt);
+#else
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
ret = proxy()->pixelMetric(isWindow ? PM_DefaultTopLevelMargin : PM_DefaultChildMargin, opt);
+QT_WARNING_POP
+#endif
}
break;
case PM_LayoutHorizontalSpacing:
case PM_LayoutVerticalSpacing:
+#if QT_VERSION >= QT_VERSION_CHECK(6,0,0)
+ ret = defaultLayoutTopMargin(opt);
+#else
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
ret = proxy()->pixelMetric(PM_DefaultLayoutSpacing, opt);
+QT_WARNING_POP
+#endif
break;
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
case PM_DefaultTopLevelMargin:
- ret = int(QStyleHelper::dpiScaled(11, opt));
+ ret = defaultLayoutTopMargin(opt);
break;
case PM_DefaultChildMargin:
- ret = int(QStyleHelper::dpiScaled(9, opt));
+ ret = defaultLayoutChildMargin(opt);
break;
case PM_DefaultLayoutSpacing:
- ret = int(QStyleHelper::dpiScaled(6, opt));
+ ret = defaultLayoutSpacing(opt);
break;
+QT_WARNING_POP
case PM_ToolBarIconSize:
ret = 0;