From 5a0fd7fb04af6e9e6d16e9647756ee05441fc245 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Mon, 26 Nov 2012 13:24:12 +0100 Subject: Examples: inherit NorwegianWoodStyle from QProxyStyle The QStyle specializations are being made internal. The recommended way to customize styles is now to use QProxyStyle (& QStyleFactory), or to implement a full custom style one can alternatively subclass QCommonStyle. The proxy style approach was chosen for this case, since the example assumes some drawing functionality provided by the windows style and it is not a "complete" custom style implementation but more like a customization anyway. Change-Id: Ib2477339cfef258cfc944a76a2eea728066e1f45 Reviewed-by: Geir Vattekar Reviewed-by: Jens Bache-Wiig --- examples/widgets/widgets/styles/norwegianwoodstyle.cpp | 17 +++++++++++------ examples/widgets/widgets/styles/norwegianwoodstyle.h | 6 +++--- 2 files changed, 14 insertions(+), 9 deletions(-) (limited to 'examples/widgets/widgets/styles') diff --git a/examples/widgets/widgets/styles/norwegianwoodstyle.cpp b/examples/widgets/widgets/styles/norwegianwoodstyle.cpp index b8a677b9fa..9fe3d39be2 100644 --- a/examples/widgets/widgets/styles/norwegianwoodstyle.cpp +++ b/examples/widgets/widgets/styles/norwegianwoodstyle.cpp @@ -42,6 +42,11 @@ #include "norwegianwoodstyle.h" +NorwegianWoodStyle::NorwegianWoodStyle() : + QProxyStyle(QStyleFactory::create("windows")) +{ +} + //! [0] void NorwegianWoodStyle::polish(QPalette &palette) { @@ -112,9 +117,9 @@ int NorwegianWoodStyle::pixelMetric(PixelMetric metric, case PM_ComboBoxFrameWidth: return 8; case PM_ScrollBarExtent: - return QWindowsStyle::pixelMetric(metric, option, widget) + 4; + return QProxyStyle::pixelMetric(metric, option, widget) + 4; default: - return QWindowsStyle::pixelMetric(metric, option, widget); + return QProxyStyle::pixelMetric(metric, option, widget); } } //! [8] @@ -131,7 +136,7 @@ int NorwegianWoodStyle::styleHint(StyleHint hint, const QStyleOption *option, case SH_EtchDisabledText: return int(true); default: - return QWindowsStyle::styleHint(hint, option, widget, returnData); + return QProxyStyle::styleHint(hint, option, widget, returnData); } } //! [10] @@ -256,7 +261,7 @@ void NorwegianWoodStyle::drawPrimitive(PrimitiveElement element, //! [32] //! [33] default: //! [33] //! [34] - QWindowsStyle::drawPrimitive(element, option, painter, widget); + QProxyStyle::drawPrimitive(element, option, painter, widget); } } //! [34] @@ -284,11 +289,11 @@ void NorwegianWoodStyle::drawControl(ControlElement element, } } } - QWindowsStyle::drawControl(element, &myButtonOption, painter, widget); + QProxyStyle::drawControl(element, &myButtonOption, painter, widget); } break; default: - QWindowsStyle::drawControl(element, option, painter, widget); + QProxyStyle::drawControl(element, option, painter, widget); } } //! [36] diff --git a/examples/widgets/widgets/styles/norwegianwoodstyle.h b/examples/widgets/widgets/styles/norwegianwoodstyle.h index 84ace3b7a8..e8bb0fb096 100644 --- a/examples/widgets/widgets/styles/norwegianwoodstyle.h +++ b/examples/widgets/widgets/styles/norwegianwoodstyle.h @@ -41,7 +41,7 @@ #ifndef NORWEGIANWOODSTYLE_H #define NORWEGIANWOODSTYLE_H -#include +#include #include QT_BEGIN_NAMESPACE @@ -49,12 +49,12 @@ class QPainterPath; QT_END_NAMESPACE //! [0] -class NorwegianWoodStyle : public QWindowsStyle +class NorwegianWoodStyle : public QProxyStyle { Q_OBJECT public: - NorwegianWoodStyle() {} + NorwegianWoodStyle(); void polish(QPalette &palette); void polish(QWidget *widget); -- cgit v1.2.3