From 0ee242623bc254b99d10bac9973cb375cb3aa3a9 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Wed, 8 Aug 2012 17:47:50 -0500 Subject: Update style API --- tdefx/kstyle.cpp | 21 ++++++++++++++------- tdefx/kstyle.h | 2 +- 2 files changed, 15 insertions(+), 8 deletions(-) (limited to 'tdefx') diff --git a/tdefx/kstyle.cpp b/tdefx/kstyle.cpp index a983bd1d2..d95d98281 100644 --- a/tdefx/kstyle.cpp +++ b/tdefx/kstyle.cpp @@ -302,15 +302,22 @@ void KStyle::unPolish( TQStyleControlElementData ceData, ControlElementFlags ele // Style changes (should) always re-polish popups. -void KStyle::polishPopupMenu( TQPopupMenu* p ) +void KStyle::polishPopupMenu( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr ) { - if (!p->testWState( WState_Polished )) - p->setCheckable(true); + if ( !(ceData.windowState & WState_Polished ) ) { + widgetActionRequest(ceData, elementFlags, ptr, WAR_SetCheckable); + } - // Install transparency handler if the effect is enabled. - if ( d->menuHandler && - (strcmp(p->name(), "tear off menu") != 0)) - p->installEventFilter(d->menuHandler); + if (ceData.widgetObjectTypes.contains(TQWIDGET_OBJECT_NAME_STRING)) { + TQWidget* widget = reinterpret_cast(ptr); + TQPopupMenu *p = dynamic_cast(widget); + if (p) { + // Install transparency handler if the effect is enabled. + if ( d->menuHandler && (strcmp(p->name(), "tear off menu") != 0)) { + p->installEventFilter(d->menuHandler); + } + } + } } diff --git a/tdefx/kstyle.h b/tdefx/kstyle.h index c9edd25ab..0d36678cf 100644 --- a/tdefx/kstyle.h +++ b/tdefx/kstyle.h @@ -288,7 +288,7 @@ class TDEFX_EXPORT KStyle: public TQCommonStyle void polish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * ); void unPolish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * ); - void polishPopupMenu( TQPopupMenu* ); + void polishPopupMenu( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr ); void tqdrawPrimitive( TQ_PrimitiveElement pe, TQPainter* p, -- cgit v1.2.3