diff --git a/src/gui/kernel/qplatformintegration.cpp b/src/gui/kernel/qplatformintegration.cpp index c95742b34dd..b7117b121dd 100644 --- a/src/gui/kernel/qplatformintegration.cpp +++ b/src/gui/kernel/qplatformintegration.cpp @@ -416,6 +416,8 @@ QVariant QPlatformIntegration::styleHint(StyleHint hint) const return QPlatformTheme::defaultThemeHint(QPlatformTheme::FlickMaximumVelocity); case FlickDeceleration: return QPlatformTheme::defaultThemeHint(QPlatformTheme::FlickDeceleration); + case UnderlineShortcut: + return true; } return 0; diff --git a/src/gui/kernel/qplatformintegration.h b/src/gui/kernel/qplatformintegration.h index 3d433957678..393845012ac 100644 --- a/src/gui/kernel/qplatformintegration.h +++ b/src/gui/kernel/qplatformintegration.h @@ -164,7 +164,8 @@ public: MouseDoubleClickDistance, FlickStartDistance, FlickMaximumVelocity, - FlickDeceleration + FlickDeceleration, + UnderlineShortcut, }; virtual QVariant styleHint(StyleHint hint) const; diff --git a/src/gui/kernel/qplatformtheme.cpp b/src/gui/kernel/qplatformtheme.cpp index 498ecac2cd4..1639003f5f5 100644 --- a/src/gui/kernel/qplatformtheme.cpp +++ b/src/gui/kernel/qplatformtheme.cpp @@ -525,6 +525,8 @@ QVariant QPlatformTheme::themeHint(ThemeHint hint) const return QGuiApplicationPrivate::platformIntegration()->styleHint(QPlatformIntegration::FlickMaximumVelocity); case QPlatformTheme::FlickDeceleration: return QGuiApplicationPrivate::platformIntegration()->styleHint(QPlatformIntegration::FlickDeceleration); + case QPlatformTheme::UnderlineShortcut: + return QGuiApplicationPrivate::platformIntegration()->styleHint(QPlatformIntegration::UnderlineShortcut); default: return QPlatformTheme::defaultThemeHint(hint); } @@ -637,7 +639,10 @@ QVariant QPlatformTheme::defaultThemeHint(ThemeHint hint) return QVariant(QString()); case MouseCursorSize: return QVariant(QSize(16, 16)); + case UnderlineShortcut: + return true; } + return QVariant(); } diff --git a/src/gui/kernel/qplatformtheme.h b/src/gui/kernel/qplatformtheme.h index 10a3246da8e..c06823addf3 100644 --- a/src/gui/kernel/qplatformtheme.h +++ b/src/gui/kernel/qplatformtheme.h @@ -95,7 +95,8 @@ public: FlickDeceleration, MenuBarFocusOnAltPressRelease, MouseCursorTheme, - MouseCursorSize + MouseCursorSize, + UnderlineShortcut, }; Q_ENUM(ThemeHint) diff --git a/src/widgets/styles/qcommonstyle.cpp b/src/widgets/styles/qcommonstyle.cpp index b4866a84ec0..fb6b415f599 100644 --- a/src/widgets/styles/qcommonstyle.cpp +++ b/src/widgets/styles/qcommonstyle.cpp @@ -5156,9 +5156,12 @@ int QCommonStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget ret = 1; break; - case SH_UnderlineShortcut: - ret = 1; + case SH_UnderlineShortcut: { + const QPlatformTheme *theme = QGuiApplicationPrivate::platformTheme(); + ret = theme ? theme->themeHint(QPlatformTheme::UnderlineShortcut).toInt() + : QPlatformTheme::defaultThemeHint(QPlatformTheme::UnderlineShortcut).toInt(); break; + } case SH_SpinBox_ClickAutoRepeatRate: ret = 150;