From e3b0d8acc0019382775633b613ee3a6ea8467f92 Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 10 Nov 2017 16:32:39 +0000 Subject: [PATCH] Ensure too-long popup menus have scroll buttons --- qrenderdoc/Styles/RDStyle/RDStyle.cpp | 3 +-- .../Styles/RDTweakedNativeStyle/RDTweakedNativeStyle.cpp | 9 +++++++++ .../Styles/RDTweakedNativeStyle/RDTweakedNativeStyle.h | 3 +++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/qrenderdoc/Styles/RDStyle/RDStyle.cpp b/qrenderdoc/Styles/RDStyle/RDStyle.cpp index 554d06a70..cc5729ef2 100644 --- a/qrenderdoc/Styles/RDStyle/RDStyle.cpp +++ b/qrenderdoc/Styles/RDStyle/RDStyle.cpp @@ -749,8 +749,7 @@ int RDStyle::styleHint(StyleHint stylehint, const QStyleOption *opt, const QWidg return 1; if(stylehint == SH_Menu_FlashTriggeredItem || stylehint == SH_Menu_KeyboardSearch || - stylehint == SH_Menu_FadeOutOnHide || stylehint == SH_Menu_AllowActiveAndDisabled || - stylehint == SH_Menu_Scrollable) + stylehint == SH_Menu_FadeOutOnHide || stylehint == SH_Menu_AllowActiveAndDisabled) return 0; if(stylehint == SH_Menu_SubMenuPopupDelay || stylehint == SH_Menu_SubMenuSloppyCloseTimeout) diff --git a/qrenderdoc/Styles/RDTweakedNativeStyle/RDTweakedNativeStyle.cpp b/qrenderdoc/Styles/RDTweakedNativeStyle/RDTweakedNativeStyle.cpp index e7ba2f0c5..702b19b74 100644 --- a/qrenderdoc/Styles/RDTweakedNativeStyle/RDTweakedNativeStyle.cpp +++ b/qrenderdoc/Styles/RDTweakedNativeStyle/RDTweakedNativeStyle.cpp @@ -83,6 +83,15 @@ int RDTweakedNativeStyle::pixelMetric(PixelMetric metric, const QStyleOption *op return QProxyStyle::pixelMetric(metric, opt, widget); } +int RDTweakedNativeStyle::styleHint(StyleHint stylehint, const QStyleOption *opt, + const QWidget *widget, QStyleHintReturn *returnData) const +{ + if(stylehint == QStyle::SH_Menu_Scrollable) + return 1; + + return QProxyStyle::styleHint(stylehint, opt, widget, returnData); +} + QIcon RDTweakedNativeStyle::standardIcon(StandardPixmap standardIcon, const QStyleOption *opt, const QWidget *widget) const { diff --git a/qrenderdoc/Styles/RDTweakedNativeStyle/RDTweakedNativeStyle.h b/qrenderdoc/Styles/RDTweakedNativeStyle/RDTweakedNativeStyle.h index 48616073d..532c827be 100644 --- a/qrenderdoc/Styles/RDTweakedNativeStyle/RDTweakedNativeStyle.h +++ b/qrenderdoc/Styles/RDTweakedNativeStyle/RDTweakedNativeStyle.h @@ -41,6 +41,9 @@ public: const QWidget *widget) const override; virtual int pixelMetric(PixelMetric metric, const QStyleOption *option = NULL, const QWidget *widget = NULL) const override; + virtual int styleHint(StyleHint stylehint, const QStyleOption *opt = NULL, + const QWidget *widget = NULL, + QStyleHintReturn *returnData = NULL) const override; virtual QIcon standardIcon(StandardPixmap standardIcon, const QStyleOption *option = NULL, const QWidget *widget = NULL) const override; virtual void drawComplexControl(ComplexControl control, const QStyleOptionComplex *option,