93b3efa8 | 2014-08-07 13:08:29 | Timothy Pearson |
Refresh control element data structures before executing style object event handlers This resolves Bug 1816 Fix FTBFS in style examples |
||
M examples/themes/metal.cpp M examples/themes/metal.h M examples/themes/wood.cpp M examples/themes/wood.h M src/kernel/qstyle.cpp |
||
diff --git a/examples/themes/metal.cpp b/examples/themes/metal.cpp index 636e562..4a8bac8 100644 --- a/examples/themes/metal.cpp +++ b/examples/themes/metal.cpp @@ -41,7 +41,7 @@ /*! Reimplementation from QStyle */ -void MetalStyle::applicationPolish( QStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr ) +void MetalStyle::applicationPolish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr ) { oldPalette = ceData.palette; @@ -99,7 +99,7 @@ /*! Reimplementation from QStyle */ -void MetalStyle::applicationUnPolish( QStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr ) +void MetalStyle::applicationUnPolish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr ) { applicationActionRequest(ceData, elementFlags, ptr, AAR_SetPalette, QStyleApplicationActionRequestData(oldPalette, TRUE)); applicationActionRequest(ceData, elementFlags, ptr, AAR_SetFont, QStyleApplicationActionRequestData(ceData.font, TRUE)); @@ -108,7 +108,7 @@ /*! Reimplementation from QStyle */ -void MetalStyle::polish( QStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr ) +void MetalStyle::polish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr ) { // the polish function sets some widgets to transparent mode and // some to translate background mode in order to get the full @@ -126,7 +126,7 @@ } } -void MetalStyle::unPolish( QStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr ) +void MetalStyle::unPolish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr ) { // the polish function sets some widgets to transparent mode and // some to translate background mode in order to get the full @@ -145,7 +145,7 @@ void MetalStyle::drawPrimitive( PrimitiveElement pe, QPainter *p, - QStyleControlElementData ceData, + const QStyleControlElementData &ceData, ControlElementFlags elementFlags, const QRect &r, const QColorGroup &cg, @@ -191,7 +191,7 @@ void MetalStyle::drawControl( ControlElement element, QPainter *p, - QStyleControlElementData ceData, + const QStyleControlElementData &ceData, ControlElementFlags elementFlags, const QRect &r, const QColorGroup &cg, @@ -292,7 +292,7 @@ } void MetalStyle::drawComplexControl( ComplexControl cc, QPainter *p, - QStyleControlElementData ceData, + const QStyleControlElementData &ceData, ControlElementFlags elementFlags, const QRect &r, const QColorGroup &cg, @@ -468,7 +468,7 @@ -int MetalStyle::pixelMetric( PixelMetric metric, QStyleControlElementData ceData, ControlElementFlags elementFlags, const QWidget *w ) const +int MetalStyle::pixelMetric( PixelMetric metric, const QStyleControlElementData &ceData, ControlElementFlags elementFlags, const QWidget *w ) const { switch ( metric ) { case PM_MenuBarFrameWidth: diff --git a/examples/themes/metal.h b/examples/themes/metal.h index 46257f6..5e20657 100644 --- a/examples/themes/metal.h +++ b/examples/themes/metal.h @@ -26,14 +26,14 @@ { public: MetalStyle(); - void applicationPolish( QStyleControlElementData ceData, ControlElementFlags elementFlags, void * ); - void applicationUnPolish( QStyleControlElementData ceData, ControlElementFlags elementFlags, void * ); - void polish( QStyleControlElementData ceData, ControlElementFlags elementFlags, void * ); - void unPolish( QStyleControlElementData ceData, ControlElementFlags elementFlags, void * ); + void applicationPolish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void * ); + void applicationUnPolish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void * ); + void polish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void * ); + void unPolish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void * ); void drawPrimitive( PrimitiveElement pe, QPainter *p, - QStyleControlElementData ceData, + const QStyleControlElementData &ceData, ControlElementFlags elementFlags, const QRect &r, const QColorGroup &cg, @@ -42,7 +42,7 @@ void drawControl( ControlElement element, QPainter *p, - QStyleControlElementData ceData, + const QStyleControlElementData &ceData, ControlElementFlags elementFlags, const QRect &r, const QColorGroup &cg, @@ -52,7 +52,7 @@ void drawComplexControl( ComplexControl cc, QPainter *p, - QStyleControlElementData ceData, + const QStyleControlElementData &ceData, ControlElementFlags elementFlags, const QRect &r, const QColorGroup &cg, @@ -61,7 +61,7 @@ SCFlags subActive = SC_None, const QStyleOption& = QStyleOption::Default, const QWidget *widget = 0 ) const; - int pixelMetric( PixelMetric, QStyleControlElementData ceData, ControlElementFlags elementFlags, const QWidget * = 0 ) const; + int pixelMetric( PixelMetric, const QStyleControlElementData &ceData, ControlElementFlags elementFlags, const QWidget * = 0 ) const; private: diff --git a/examples/themes/wood.cpp b/examples/themes/wood.cpp index 085fdea..11af503 100644 --- a/examples/themes/wood.cpp +++ b/examples/themes/wood.cpp @@ -769,7 +769,7 @@ /*! Reimplementation from QStyle */ -void NorwegianWoodStyle::applicationPolish( QStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr ) +void NorwegianWoodStyle::applicationPolish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr ) { oldPalette = ceData.palette; @@ -871,7 +871,7 @@ applicationActionRequest(ceData, elementFlags, ptr, AAR_SetPalette, QStyleApplicationActionRequestData(QPalette(active, disabled, active), TRUE)); } -void NorwegianWoodStyle::applicationUnPolish( QStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr ) +void NorwegianWoodStyle::applicationUnPolish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr ) { applicationActionRequest(ceData, elementFlags, ptr, AAR_SetPalette, QStyleApplicationActionRequestData(oldPalette, TRUE)); } @@ -879,7 +879,7 @@ /*! Reimplementation from QStyle */ -void NorwegianWoodStyle::polish( QStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr ) +void NorwegianWoodStyle::polish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr ) { // the polish function sets some widgets to transparent mode and // some to translate background mode in order to get the full @@ -896,7 +896,7 @@ } } -void NorwegianWoodStyle::unPolish( QStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr ) +void NorwegianWoodStyle::unPolish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr ) { // the polish function sets some widgets to transparent mode and // some to translate background mode in order to get the full @@ -915,7 +915,7 @@ void NorwegianWoodStyle::drawPrimitive( PrimitiveElement pe, QPainter *p, - QStyleControlElementData ceData, + const QStyleControlElementData &ceData, ControlElementFlags elementFlags, const QRect &r, const QColorGroup &cg, @@ -986,7 +986,7 @@ void NorwegianWoodStyle::drawControl( ControlElement element, QPainter *p, - QStyleControlElementData ceData, + const QStyleControlElementData &ceData, ControlElementFlags elementFlags, const QRect &r, const QColorGroup &cg, @@ -1095,7 +1095,7 @@ void NorwegianWoodStyle::drawControlMask( ControlElement element, QPainter *p, - QStyleControlElementData ceData, + const QStyleControlElementData &ceData, ControlElementFlags elementFlags, const QRect &r, const QStyleOption& opt, @@ -1118,7 +1118,7 @@ void NorwegianWoodStyle::drawComplexControl( ComplexControl cc, QPainter *p, - QStyleControlElementData ceData, + const QStyleControlElementData &ceData, ControlElementFlags elementFlags, const QRect &r, const QColorGroup &cg, @@ -1192,7 +1192,7 @@ } QRect NorwegianWoodStyle::querySubControlMetrics( ComplexControl control, - QStyleControlElementData ceData, + const QStyleControlElementData &ceData, ControlElementFlags elementFlags, SubControl sc, const QStyleOption& opt, @@ -1250,7 +1250,7 @@ return rect; } -QRect NorwegianWoodStyle::subRect( SubRect sr, const QStyleControlElementData ceData, const ControlElementFlags elementFlags, const QWidget * widget ) const +QRect NorwegianWoodStyle::subRect( SubRect sr, const QStyleControlElementData &ceData, const ControlElementFlags elementFlags, const QWidget * widget ) const { QRect r; switch ( sr ) { @@ -1355,7 +1355,7 @@ static inline int buttonthickness( int d ) { return d > 20 ? 5 : ( d < 10 ? 2: 3 ); } -void NorwegianWoodStyle::drawSemicircleButton( QPainter *p, QStyleControlElementData ceData, +void NorwegianWoodStyle::drawSemicircleButton( QPainter *p, const QStyleControlElementData &ceData, ControlElementFlags elementFlags, const QRect &r, int dir, bool sunken, const QColorGroup &g ) const diff --git a/examples/themes/wood.h b/examples/themes/wood.h index 3d7b0e6..c5f6720 100644 --- a/examples/themes/wood.h +++ b/examples/themes/wood.h @@ -26,14 +26,14 @@ { public: NorwegianWoodStyle(); - void applicationPolish( QStyleControlElementData ceData, ControlElementFlags elementFlags, void * ); - void polish( QStyleControlElementData ceData, ControlElementFlags elementFlags, void * ); - void unPolish( QStyleControlElementData ceData, ControlElementFlags elementFlags, void * ); - void applicationUnPolish( QStyleControlElementData ceData, ControlElementFlags elementFlags, void * ); + void applicationPolish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void * ); + void polish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void * ); + void unPolish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void * ); + void applicationUnPolish( const QStyleControlElementData &ceData, ControlElementFlags elementFlags, void * ); void drawPrimitive( PrimitiveElement pe, QPainter *p, - QStyleControlElementData ceData, ** Diff limit reached (max: 250 lines) ** |