From 6a0f9349f125b7a5707d638bdaa071aa2c003851 Mon Sep 17 00:00:00 2001 From: deepin-ci-robot Date: Tue, 28 Oct 2025 08:26:25 +0000 Subject: [PATCH] sync: from linuxdeepin/dtkwidget Synchronize source files from linuxdeepin/dtkwidget. Source-pull-request: https://github.com/linuxdeepin/dtkwidget/pull/696 --- include/widgets/dstyle.h | 1 + src/widgets/dstyle.cpp | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/include/widgets/dstyle.h b/include/widgets/dstyle.h index d947138c..6c9b260f 100644 --- a/include/widgets/dstyle.h +++ b/include/widgets/dstyle.h @@ -239,6 +239,7 @@ class DStyle : public QCommonStyle static void setFrameRadius(QWidget *widget, int radius); static void setUncheckedItemIndicatorVisible(QWidget *widget, bool visible); static void setRedPointVisible(QObject *object, bool visible); + static void setLineEditIconMargin(QObject *object, int margin); static void setShortcutUnderlineVisible(bool visible); static bool shortcutUnderlineVisible(); diff --git a/src/widgets/dstyle.cpp b/src/widgets/dstyle.cpp index 6129cca5..bd463c7c 100644 --- a/src/widgets/dstyle.cpp +++ b/src/widgets/dstyle.cpp @@ -171,6 +171,11 @@ void DStyle::setRedPointVisible(QObject *object, bool visible) object->setProperty("_d_menu_item_redpoint", visible); } +void DStyle::setLineEditIconMargin(QObject *object, int margin) +{ + object->setProperty("_d_dtk_lineeditIconMargin", margin); +} + void DStyle::setShortcutUnderlineVisible(bool visible) { qApp->setProperty("_d_menu_underlineshortcut", visible); @@ -2255,6 +2260,20 @@ int DStyle::pixelMetric(QStyle::PixelMetric m, const QStyleOption *opt, const QW return 16; case PM_MenuButtonIndicator: return DSizeModeHelper::element(8, QCommonStyle::pixelMetric(m, opt, widget)); + // since Qt 6.3 or applied patch Add-setting-thc-ICON-size-attribute-in-lineedit-to-the-style-plugin.patch( uos or deepin). + case PM_LineEditIconMargin: { + if (widget) { + const QVariant &margin_value = widget->property("_d_dtk_lineeditIconMargin"); + if (margin_value.isValid()) { + bool ok = false; + int margin = margin_value.toInt(&ok); + if (ok && margin >= 0) { + return margin; + } + } + } + Q_FALLTHROUGH(); + } case PM_FloatingButtonFrameMargin: return 3; default: