Update for new style API

pull/16/head
Timothy Pearson 13 years ago
parent 2ba2bd6da0
commit 2053998fef

@ -104,8 +104,10 @@ AsteroidStyle::~AsteroidStyle()
* get deleted here. */ * get deleted here. */
} }
void AsteroidStyle::polish(TQWidget *w) void AsteroidStyle::polish(TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr)
{ {
if (ceData.widgetObjectTypes.contains(TQWIDGET_OBJECT_NAME_STRING)) {
TQWidget *w = reinterpret_cast<TQWidget*>(ptr);
/* Screwing with the palette is fun! and required in order to make it feel /* Screwing with the palette is fun! and required in order to make it feel
authentic. -clee */ authentic. -clee */
TQPalette wp = w->palette(); TQPalette wp = w->palette();
@ -126,19 +128,22 @@ void AsteroidStyle::polish(TQWidget *w)
if ((w->parent()) && (!w->ownPalette())) { if ((w->parent()) && (!w->ownPalette())) {
isProtectedObject = true; isProtectedObject = true;
} }
if (!isProtectedObject) if (!isProtectedObject) {
w->setPalette(wp); w->setPalette(wp);
}
}
if (w->inherits(TQPUSHBUTTON_OBJECT_NAME_STRING)) { if (ceData.widgetObjectTypes.contains(TQPUSHBUTTON_OBJECT_NAME_STRING)) {
w->installEventFilter(this); installObjectEventHandler(ceData, elementFlags, ptr, this);
} else { }
KStyle::polish(w); else {
KStyle::polish(ceData, elementFlags, ptr);
} }
} }
void AsteroidStyle::unPolish(TQWidget *w) void AsteroidStyle::unPolish(TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr)
{ {
KStyle::unPolish(w); KStyle::unPolish(ceData, elementFlags, ptr);
} }
/*! /*!
@ -147,7 +152,7 @@ void AsteroidStyle::unPolish(TQWidget *w)
Changes some application-wide settings Changes some application-wide settings
*/ */
void void
AsteroidStyle::polish( TQApplication* app) AsteroidStyle::applicationPolish(TQStyleControlElementData, ControlElementFlags, void *)
{ {
TQPalette wp = TQApplication::palette(); TQPalette wp = TQApplication::palette();
wp.setColor(TQColorGroup::Dark, TQColor(128, 128, 128)); wp.setColor(TQColorGroup::Dark, TQColor(128, 128, 128));
@ -158,7 +163,7 @@ AsteroidStyle::polish( TQApplication* app)
/*! \reimp /*! \reimp
*/ */
void void
AsteroidStyle::unPolish( TQApplication* /* app */ ) AsteroidStyle::applicationUnPolish(TQStyleControlElementData, ControlElementFlags, void *)
{ {
} }
@ -1090,7 +1095,7 @@ void AsteroidStyle::drawControl(TQ_ControlElement ce,
pixelMetric( TQStyle::PM_DefaultFrameWidth, ceData, elementFlags, tb ) ); pixelMetric( TQStyle::PM_DefaultFrameWidth, ceData, elementFlags, tb ) );
int alignment = TQt::AlignCenter | TQt::ShowPrefix; int alignment = TQt::AlignCenter | TQt::ShowPrefix;
if (!styleHint(SH_UnderlineAccelerator, ceData, elementFlags, TQStyleOption::Default, 0, w)) if ((!styleHint(SH_UnderlineAccelerator, ceData, elementFlags, TQStyleOption::Default, 0, w)) || ((styleHint(SH_HideUnderlineAcceleratorWhenAltUp, ceData, elementFlags, TQStyleOption::Default, 0, w)) && (!acceleratorsShown())))
alignment |= TQt::NoAccel; alignment |= TQt::NoAccel;
tr.setWidth(tr.width()+4); // Compensate for text appearing too far to the left tr.setWidth(tr.width()+4); // Compensate for text appearing too far to the left
// TQRect tr_offset = TQRect(tr.x()+ETCH_X_OFFSET, tr.y()+ETCH_Y_OFFSET, tr.width(), tr.height()); // TQRect tr_offset = TQRect(tr.x()+ETCH_X_OFFSET, tr.y()+ETCH_Y_OFFSET, tr.width(), tr.height());
@ -1137,7 +1142,7 @@ void AsteroidStyle::drawControl(TQ_ControlElement ce,
bool etchtext = styleHint( SH_EtchDisabledText, ceData, elementFlags ); bool etchtext = styleHint( SH_EtchDisabledText, ceData, elementFlags );
int alignment = TQApplication::reverseLayout() ? TQt::AlignRight : TQt::AlignLeft; int alignment = TQApplication::reverseLayout() ? TQt::AlignRight : TQt::AlignLeft;
if (!styleHint(SH_UnderlineAccelerator, ceData, elementFlags, TQStyleOption::Default, 0, w)) if ((!styleHint(SH_UnderlineAccelerator, ceData, elementFlags, TQStyleOption::Default, 0, w)) || ((styleHint(SH_HideUnderlineAcceleratorWhenAltUp, ceData, elementFlags, TQStyleOption::Default, 0, w)) && (!acceleratorsShown())))
alignment |= TQt::NoAccel; alignment |= TQt::NoAccel;
//TQRect r_offset = TQRect(r.x()+ETCH_X_OFFSET, r.y()+ETCH_Y_OFFSET, r.width(), r.height()); //TQRect r_offset = TQRect(r.x()+ETCH_X_OFFSET, r.y()+ETCH_Y_OFFSET, r.width(), r.height());
@ -1186,7 +1191,7 @@ void AsteroidStyle::drawControl(TQ_ControlElement ce,
bool etchtext = styleHint( SH_EtchDisabledText, ceData, elementFlags ); bool etchtext = styleHint( SH_EtchDisabledText, ceData, elementFlags );
int alignment = TQApplication::reverseLayout() ? TQt::AlignRight : TQt::AlignLeft; int alignment = TQApplication::reverseLayout() ? TQt::AlignRight : TQt::AlignLeft;
if (!styleHint(SH_UnderlineAccelerator, ceData, elementFlags, TQStyleOption::Default, 0, w)) if ((!styleHint(SH_UnderlineAccelerator, ceData, elementFlags, TQStyleOption::Default, 0, w)) || ((styleHint(SH_HideUnderlineAcceleratorWhenAltUp, ceData, elementFlags, TQStyleOption::Default, 0, w)) && (!acceleratorsShown())))
alignment |= TQt::NoAccel; alignment |= TQt::NoAccel;
// TQRect r_offset = TQRect(r.x()+ETCH_X_OFFSET, r.y()+ETCH_Y_OFFSET, r.width(), r.height()); // TQRect r_offset = TQRect(r.x()+ETCH_X_OFFSET, r.y()+ETCH_Y_OFFSET, r.width(), r.height());
@ -2549,8 +2554,10 @@ void AsteroidStyle::paletteChanged()
{ {
} }
bool AsteroidStyle::eventFilter(TQObject *o, TQEvent *e) bool AsteroidStyle::objectEventHandler( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void* source, TQEvent *e )
{ {
if (ceData.widgetObjectTypes.contains(TQOBJECT_OBJECT_NAME_STRING)) {
TQObject* o = reinterpret_cast<TQObject*>(source);
/* Win2K has this interesting behaviour where it sets the current /* Win2K has this interesting behaviour where it sets the current
default button to whatever pushbutton the user presses the mouse default button to whatever pushbutton the user presses the mouse
on. I _think_ this emulates that properly. -clee */ on. I _think_ this emulates that properly. -clee */
@ -2560,6 +2567,7 @@ bool AsteroidStyle::eventFilter(TQObject *o, TQEvent *e)
pb->setDefault(TRUE); pb->setDefault(TRUE);
} }
} }
}
return false; return false;
} }

@ -17,10 +17,10 @@ public:
AsteroidStyle(); AsteroidStyle();
virtual ~AsteroidStyle(); virtual ~AsteroidStyle();
void polish(TQWidget *); void polish(TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *);
void unPolish(TQWidget *); void unPolish(TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *);
void polish( TQApplication* ); void applicationPolish(TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *);
void unPolish( TQApplication* ); void applicationUnPolish(TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *);
void renderSliderHandle(TQPainter *p, void renderSliderHandle(TQPainter *p,
@ -116,8 +116,7 @@ public:
const TQStyleOption &, const TQStyleOption &,
const TQWidget * = 0) const; const TQWidget * = 0) const;
protected: virtual bool objectEventHandler( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void* source, TQEvent *e );
bool eventFilter(TQObject *, TQEvent *);
protected slots: protected slots:
void paletteChanged(); void paletteChanged();

@ -189,43 +189,49 @@ HighColorStyle::~HighColorStyle()
} }
void HighColorStyle::polish(TQWidget* widget) void HighColorStyle::polish(TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr)
{ {
if (ceData.widgetObjectTypes.contains(TQWIDGET_OBJECT_NAME_STRING)) {
TQWidget *widget = reinterpret_cast<TQWidget*>(ptr);
// Put in order of highest occurrence to maximise hit rate // Put in order of highest occurrence to maximise hit rate
if (widget->inherits(TQPUSHBUTTON_OBJECT_NAME_STRING)) { if (widget->inherits(TQPUSHBUTTON_OBJECT_NAME_STRING)) {
widget->installEventFilter(this); installObjectEventHandler(ceData, elementFlags, ptr, this);
} else if (widget->inherits(TQMENUBAR_OBJECT_NAME_STRING) || widget->inherits(TQPOPUPMENU_OBJECT_NAME_STRING)) { } else if (widget->inherits(TQMENUBAR_OBJECT_NAME_STRING) || widget->inherits(TQPOPUPMENU_OBJECT_NAME_STRING)) {
widget->setBackgroundMode(TQWidget::NoBackground); widget->setBackgroundMode(TQWidget::NoBackground);
} else if (type == HighColor && widget->inherits("QToolBarExtensionWidget")) { } else if (type == HighColor && widget->inherits("QToolBarExtensionWidget")) {
widget->installEventFilter(this); installObjectEventHandler(ceData, elementFlags, ptr, this);
} else if ( !qstrcmp( widget->name(), kdeToolbarWidget) ) { } else if ( !qstrcmp( widget->name(), kdeToolbarWidget) ) {
widget->setBackgroundMode( NoBackground ); // We paint the whole background. widget->setBackgroundMode( NoBackground ); // We paint the whole background.
widget->installEventFilter(this); installObjectEventHandler(ceData, elementFlags, ptr, this);
} else if (widget->inherits(TQTOOLBOXBUTTON_OBJECT_NAME_STRING)) { } else if (widget->inherits(TQTOOLBOXBUTTON_OBJECT_NAME_STRING)) {
TQFont font = widget->font(); TQFont font = widget->font();
font.setBold(true); font.setBold(true);
widget->setFont(font); widget->setFont(font);
} }
}
KStyle::polish( widget ); KStyle::polish( ceData, elementFlags, ptr );
} }
void HighColorStyle::unPolish(TQWidget* widget) void HighColorStyle::unPolish(TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr)
{ {
if (ceData.widgetObjectTypes.contains(TQWIDGET_OBJECT_NAME_STRING)) {
TQWidget *widget = reinterpret_cast<TQWidget*>(ptr);
if (widget->inherits(TQPUSHBUTTON_OBJECT_NAME_STRING)) { if (widget->inherits(TQPUSHBUTTON_OBJECT_NAME_STRING)) {
widget->removeEventFilter(this); removeObjectEventHandler(ceData, elementFlags, ptr, this);
} }
else if (widget->inherits(TQMENUBAR_OBJECT_NAME_STRING) || widget->inherits(TQPOPUPMENU_OBJECT_NAME_STRING)) { else if (widget->inherits(TQMENUBAR_OBJECT_NAME_STRING) || widget->inherits(TQPOPUPMENU_OBJECT_NAME_STRING)) {
widget->setBackgroundMode(TQWidget::PaletteBackground); widget->setBackgroundMode(TQWidget::PaletteBackground);
} else if (type == HighColor && widget->inherits("QToolBarExtensionWidget")) { } else if (type == HighColor && widget->inherits("QToolBarExtensionWidget")) {
widget->removeEventFilter(this); removeObjectEventHandler(ceData, elementFlags, ptr, this);
} else if ( !qstrcmp( widget->name(), kdeToolbarWidget) ) { } else if ( !qstrcmp( widget->name(), kdeToolbarWidget) ) {
widget->removeEventFilter(this); removeObjectEventHandler(ceData, elementFlags, ptr, this);
widget->setBackgroundMode( PaletteBackground ); widget->setBackgroundMode( PaletteBackground );
} }
}
KStyle::unPolish( widget ); KStyle::unPolish( ceData, elementFlags, ptr );
} }
@ -1960,11 +1966,14 @@ TQPixmap HighColorStyle::stylePixmap(StylePixmap stylepixmap,
} }
bool HighColorStyle::eventFilter( TQObject *object, TQEvent *event ) bool HighColorStyle::objectEventHandler( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void* source, TQEvent *event )
{ {
if (KStyle::eventFilter( object, event )) if (KStyle::objectEventHandler( ceData, elementFlags, source, event ))
return true; return true;
if (ceData.widgetObjectTypes.contains(TQOBJECT_OBJECT_NAME_STRING)) {
TQObject* object = reinterpret_cast<TQObject*>(source);
TQToolBar* toolbar; TQToolBar* toolbar;
// Handle push button hover effects. // Handle push button hover effects.
@ -2035,6 +2044,7 @@ bool HighColorStyle::eventFilter( TQObject *object, TQEvent *event )
return true; return true;
} }
} }
}
return false; return false;
} }

@ -65,8 +65,8 @@ class HighColorStyle : public KStyle
HighColorStyle( StyleType ); HighColorStyle( StyleType );
virtual ~HighColorStyle(); virtual ~HighColorStyle();
void polish( TQWidget* widget ); void polish(TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *);
void unPolish( TQWidget* widget ); void unPolish(TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *);
void renderMenuBlendPixmap( KPixmap& pix, const TQColorGroup &cg, void renderMenuBlendPixmap( KPixmap& pix, const TQColorGroup &cg,
const TQPopupMenu* popup ) const; const TQPopupMenu* popup ) const;
@ -158,8 +158,9 @@ class HighColorStyle : public KStyle
const TQStyleOption& = TQStyleOption::Default, const TQStyleOption& = TQStyleOption::Default,
const TQWidget *widget = 0 ) const; const TQWidget *widget = 0 ) const;
virtual bool objectEventHandler( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void* source, TQEvent *e );
protected: protected:
bool eventFilter( TQObject *object, TQEvent *event );
void renderGradient( TQPainter* p, void renderGradient( TQPainter* p,
const TQRect& r, const TQRect& r,

@ -153,30 +153,43 @@ void HighContrastStyle::polish( TQPalette& pal )
} }
void HighContrastStyle::polish (TQWidget* widget) void HighContrastStyle::polish (TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr)
{ {
if (ceData.widgetObjectTypes.contains(TQWIDGET_OBJECT_NAME_STRING)) {
TQWidget *widget = reinterpret_cast<TQWidget*>(ptr);
if (widget->inherits (TQBUTTON_OBJECT_NAME_STRING) if (widget->inherits (TQBUTTON_OBJECT_NAME_STRING)
|| widget->inherits (TQCOMBOBOX_OBJECT_NAME_STRING) || widget->inherits (TQCOMBOBOX_OBJECT_NAME_STRING)
|| widget->inherits (TQSPINWIDGET_OBJECT_NAME_STRING) || widget->inherits (TQSPINWIDGET_OBJECT_NAME_STRING)
|| widget->inherits (TQLINEEDIT_OBJECT_NAME_STRING) || widget->inherits (TQLINEEDIT_OBJECT_NAME_STRING)
|| widget->inherits (TQTEXTEDIT_OBJECT_NAME_STRING)) || widget->inherits (TQTEXTEDIT_OBJECT_NAME_STRING))
{ {
widget->installEventFilter (this); installObjectEventHandler(ceData, elementFlags, ptr, this);
TQSpinWidget* spinwidget = dynamic_cast<TQSpinWidget*>(widget); TQSpinWidget* spinwidget = dynamic_cast<TQSpinWidget*>(widget);
if (spinwidget && spinwidget->editWidget()) if (spinwidget && spinwidget->editWidget()) {
spinwidget->editWidget()->installEventFilter (this); TQWidget* spinEditWidget = spinwidget->editWidget();
TQStyleControlElementData swCeData = populateControlElementDataFromWidget(spinEditWidget, TQStyleOption());
ControlElementFlags swElementFlags = getControlElementFlagsForObject(spinEditWidget, swCeData.widgetObjectTypes, TQStyleOption());
installObjectEventHandler(swCeData, swElementFlags, spinEditWidget, this);
}
}
} }
KStyle::polish (widget); KStyle::polish (ceData, elementFlags, ptr);
} }
void HighContrastStyle::unPolish (TQWidget* widget) void HighContrastStyle::unPolish (TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr)
{ {
if (widget->inherits (TQWIDGET_OBJECT_NAME_STRING) || widget->inherits (TQCOMBOBOX_OBJECT_NAME_STRING) || widget->inherits (TQSPINWIDGET_OBJECT_NAME_STRING) || widget->inherits (TQLINEEDIT_OBJECT_NAME_STRING) || widget->inherits (TQTEXTEDIT_OBJECT_NAME_STRING)) if (ceData.widgetObjectTypes.contains(TQWIDGET_OBJECT_NAME_STRING)) {
widget->removeEventFilter (this); TQWidget *widget = reinterpret_cast<TQWidget*>(ptr);
KStyle::unPolish (widget); if (widget->inherits (TQWIDGET_OBJECT_NAME_STRING) || widget->inherits (TQCOMBOBOX_OBJECT_NAME_STRING) || widget->inherits (TQSPINWIDGET_OBJECT_NAME_STRING) || widget->inherits (TQLINEEDIT_OBJECT_NAME_STRING) || widget->inherits (TQTEXTEDIT_OBJECT_NAME_STRING)) {
installObjectEventHandler(ceData, elementFlags, ptr, this);
}
}
KStyle::unPolish (ceData, elementFlags, ptr);
} }
void HighContrastStyle::setColorsNormal (TQPainter* p, const TQColorGroup& cg, int flags, int highlight) const void HighContrastStyle::setColorsNormal (TQPainter* p, const TQColorGroup& cg, int flags, int highlight) const
@ -1815,8 +1828,11 @@ TQRect HighContrastStyle::subRect (SubRect subrect, const TQStyleControlElementD
} }
} }
bool HighContrastStyle::eventFilter (TQObject *object, TQEvent *event) bool HighContrastStyle::objectEventHandler( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void* source, TQEvent *event )
{ {
if (ceData.widgetObjectTypes.contains(TQOBJECT_OBJECT_NAME_STRING)) {
TQObject* object = reinterpret_cast<TQObject*>(source);
TQWidget* widget = dynamic_cast<TQWidget*>(object); TQWidget* widget = dynamic_cast<TQWidget*>(object);
if (widget) if (widget)
{ {
@ -1855,8 +1871,9 @@ bool HighContrastStyle::eventFilter (TQObject *object, TQEvent *event)
widget->repaint (false); widget->repaint (false);
} }
} }
}
return KStyle::eventFilter (object, event); return KStyle::objectEventHandler (ceData, elementFlags, source, event);
} }
// vim: set noet ts=4 sw=4: // vim: set noet ts=4 sw=4:

@ -56,8 +56,8 @@ class HighContrastStyle : public KStyle
void polish( TQPalette& pal ); void polish( TQPalette& pal );
void polish( TQWidget* widget ); void polish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * );
void unPolish( TQWidget* widget ); void unPolish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * );
void drawKStylePrimitive( KStylePrimitive kpe, void drawKStylePrimitive( KStylePrimitive kpe,
TQPainter* p, TQPainter* p,
@ -150,7 +150,7 @@ class HighContrastStyle : public KStyle
TQRect subRect (SubRect subrect, const TQStyleControlElementData ceData, const ControlElementFlags elementFlags, const TQWidget * widget) const; TQRect subRect (SubRect subrect, const TQStyleControlElementData ceData, const ControlElementFlags elementFlags, const TQWidget * widget) const;
protected: protected:
bool eventFilter( TQObject *object, TQEvent *event ); virtual bool objectEventHandler( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void* source, TQEvent *e );
TQWidget *hoverWidget; TQWidget *hoverWidget;

@ -331,18 +331,25 @@ KeramikStyle::~KeramikStyle()
KeramikDbCleanup(); KeramikDbCleanup();
} }
void KeramikStyle::polish(TQApplication* app) void KeramikStyle::applicationPolish(TQStyleControlElementData ceData, ControlElementFlags, void *ptr)
{ {
if (!qstrcmp(app->argv()[0], "kicker")) if (ceData.widgetObjectTypes.contains(TQAPPLICATION_OBJECT_NAME_STRING)) {
TQApplication *app = reinterpret_cast<TQApplication*>(ptr);
if (!qstrcmp(app->argv()[0], "kicker")) {
kickerMode = true; kickerMode = true;
}
}
} }
void KeramikStyle::polish(TQWidget* widget) void KeramikStyle::polish(TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr)
{ {
if (ceData.widgetObjectTypes.contains(TQWIDGET_OBJECT_NAME_STRING)) {
TQWidget *widget = reinterpret_cast<TQWidget*>(ptr);
// Put in order of highest occurrence to maximise hit rate // Put in order of highest occurrence to maximise hit rate
if ( widget->inherits( TQPUSHBUTTON_OBJECT_NAME_STRING ) || widget->inherits( TQCOMBOBOX_OBJECT_NAME_STRING ) || widget->inherits(TQTOOLBUTTON_OBJECT_NAME_STRING) ) if ( widget->inherits( TQPUSHBUTTON_OBJECT_NAME_STRING ) || widget->inherits( TQCOMBOBOX_OBJECT_NAME_STRING ) || widget->inherits(TQTOOLBUTTON_OBJECT_NAME_STRING) )
{ {
widget->installEventFilter(this); installObjectEventHandler(ceData, elementFlags, ptr, this);
if ( widget->inherits( TQCOMBOBOX_OBJECT_NAME_STRING ) ) if ( widget->inherits( TQCOMBOBOX_OBJECT_NAME_STRING ) )
widget->setBackgroundMode( NoBackground ); widget->setBackgroundMode( NoBackground );
} }
@ -355,37 +362,41 @@ void KeramikStyle::polish(TQWidget* widget)
TQListBox* listbox = (TQListBox*) widget; TQListBox* listbox = (TQListBox*) widget;
listbox->setLineWidth( 4 ); listbox->setLineWidth( 4 );
listbox->setBackgroundMode( NoBackground ); listbox->setBackgroundMode( NoBackground );
widget->installEventFilter( this ); installObjectEventHandler(ceData, elementFlags, ptr, this);
} else if (widget->inherits("QToolBarExtensionWidget")) { } else if (widget->inherits("QToolBarExtensionWidget")) {
widget->installEventFilter(this); installObjectEventHandler(ceData, elementFlags, ptr, this);
//widget->setBackgroundMode( NoBackground ); //widget->setBackgroundMode( NoBackground );
} }
else if ( !qstrcmp( widget->name(), kdeToolbarWidget ) ) { else if ( !qstrcmp( widget->name(), kdeToolbarWidget ) ) {
widget->setBackgroundMode( NoBackground ); widget->setBackgroundMode( NoBackground );
widget->installEventFilter(this); installObjectEventHandler(ceData, elementFlags, ptr, this);
} }
if (animateProgressBar && ::tqqt_cast<TQProgressBar*>(widget)) if (animateProgressBar && ::tqqt_cast<TQProgressBar*>(widget))
{ {
widget->installEventFilter(this); installObjectEventHandler(ceData, elementFlags, ptr, this);
progAnimWidgets[static_cast<TQProgressBar*>(widget)] = 0; progAnimWidgets[static_cast<TQProgressBar*>(widget)] = 0;
connect(widget, TQT_SIGNAL(destroyed(TQObject*)), this, TQT_SLOT(progressBarDestroyed(TQObject*))); connect(widget, TQT_SIGNAL(destroyed(TQObject*)), this, TQT_SLOT(progressBarDestroyed(TQObject*)));
if (!animationTimer->isActive()) if (!animationTimer->isActive())
animationTimer->start( 50, false ); animationTimer->start( 50, false );
} }
}
KStyle::polish(widget); KStyle::polish(ceData, elementFlags, ptr);
} }
void KeramikStyle::unPolish(TQWidget* widget) void KeramikStyle::unPolish(TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr)
{ {
if (ceData.widgetObjectTypes.contains(TQWIDGET_OBJECT_NAME_STRING)) {
TQWidget *widget = reinterpret_cast<TQWidget*>(ptr);
//### TODO: This needs major cleanup (and so does polish() ) //### TODO: This needs major cleanup (and so does polish() )
if ( widget->inherits( TQPUSHBUTTON_OBJECT_NAME_STRING ) || widget->inherits( TQCOMBOBOX_OBJECT_NAME_STRING ) ) if ( widget->inherits( TQPUSHBUTTON_OBJECT_NAME_STRING ) || widget->inherits( TQCOMBOBOX_OBJECT_NAME_STRING ) )
{ {
if ( widget->inherits( TQCOMBOBOX_OBJECT_NAME_STRING ) ) if ( widget->inherits( TQCOMBOBOX_OBJECT_NAME_STRING ) )
widget->setBackgroundMode( PaletteButton ); widget->setBackgroundMode( PaletteButton );
widget->removeEventFilter(this); removeObjectEventHandler(ceData, elementFlags, ptr, this);
} }
else if ( widget->inherits( TQMENUBAR_OBJECT_NAME_STRING ) || widget->inherits( TQPOPUPMENU_OBJECT_NAME_STRING ) ) else if ( widget->inherits( TQMENUBAR_OBJECT_NAME_STRING ) || widget->inherits( TQPOPUPMENU_OBJECT_NAME_STRING ) )
widget->setBackgroundMode( PaletteBackground ); widget->setBackgroundMode( PaletteBackground );
@ -396,21 +407,22 @@ void KeramikStyle::unPolish(TQWidget* widget)
TQListBox* listbox = (TQListBox*) widget; TQListBox* listbox = (TQListBox*) widget;
listbox->setLineWidth( 1 ); listbox->setLineWidth( 1 );
listbox->setBackgroundMode( PaletteBackground ); listbox->setBackgroundMode( PaletteBackground );
widget->removeEventFilter( this ); removeObjectEventHandler(ceData, elementFlags, ptr, this);
widget->clearMask(); widget->clearMask();
} else if (widget->inherits("QToolBarExtensionWidget")) { } else if (widget->inherits("QToolBarExtensionWidget")) {
widget->removeEventFilter(this); removeObjectEventHandler(ceData, elementFlags, ptr, this);
} }
else if ( !qstrcmp( widget->name(), kdeToolbarWidget ) ) { else if ( !qstrcmp( widget->name(), kdeToolbarWidget ) ) {
widget->setBackgroundMode( PaletteBackground ); widget->setBackgroundMode( PaletteBackground );
widget->removeEventFilter(this); removeObjectEventHandler(ceData, elementFlags, ptr, this);
} }
else if ( ::tqqt_cast<TQProgressBar*>(widget) ) else if ( ::tqqt_cast<TQProgressBar*>(widget) )
{ {
progAnimWidgets.remove(static_cast<TQProgressBar*>(widget)); progAnimWidgets.remove(static_cast<TQProgressBar*>(widget));
} }
}
KStyle::unPolish(widget); KStyle::unPolish(ceData, elementFlags, ptr);
} }
void KeramikStyle::progressBarDestroyed(TQObject* obj) void KeramikStyle::progressBarDestroyed(TQObject* obj)
@ -2759,11 +2771,14 @@ TQRect KeramikStyle::querySubControlMetrics( TQ_ComplexControl control,
#undef KeyRelease #undef KeyRelease
#endif #endif
bool KeramikStyle::eventFilter( TQObject* object, TQEvent* event ) bool KeramikStyle::objectEventHandler( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void* source, TQEvent *event )
{ {
if (KStyle::eventFilter( object, event )) if (KStyle::objectEventHandler( ceData, elementFlags, source, event ))
return true; return true;
if (ceData.widgetObjectTypes.contains(TQOBJECT_OBJECT_NAME_STRING)) {
TQObject* object = reinterpret_cast<TQObject*>(source);
if ( !object->isWidgetType() ) return false; if ( !object->isWidgetType() ) return false;
//Clear hover highlight when needed //Clear hover highlight when needed
@ -2866,8 +2881,8 @@ bool KeramikStyle::eventFilter( TQObject* object, TQEvent* event )
*/ */
case TQEvent::Show: case TQEvent::Show:
//Prioritize ourselves to see the mouse events first //Prioritize ourselves to see the mouse events first
object->removeEventFilter(this); removeObjectEventHandler(ceData, elementFlags, source, this);
object->installEventFilter(this); installObjectEventHandler(ceData, elementFlags, source, this);
firstComboPopupRelease = true; firstComboPopupRelease = true;
break; break;
@ -2950,6 +2965,8 @@ bool KeramikStyle::eventFilter( TQObject* object, TQEvent* event )
animationTimer->start( 50, false ); animationTimer->start( 50, false );
} }
} }
}
return false; return false;
} }

@ -50,10 +50,10 @@ public:
void renderMenuBlendPixmap( KPixmap& pix, const TQColorGroup &cg, const TQPopupMenu* ) const; void renderMenuBlendPixmap( KPixmap& pix, const TQColorGroup &cg, const TQPopupMenu* ) const;
TQPixmap stylePixmap(StylePixmap stylepixmap, TQStyleControlElementData ceData, ControlElementFlags elementFlags, const TQStyleOption& opt, const TQWidget* widget = 0) const; TQPixmap stylePixmap(StylePixmap stylepixmap, TQStyleControlElementData ceData, ControlElementFlags elementFlags, const TQStyleOption& opt, const TQWidget* widget = 0) const;
void polish( TQWidget* widget ); void polish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * );
void unPolish( TQWidget* widget ); void unPolish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * );
void polish( TQPalette& ); void polish( TQPalette& );
void polish( TQApplication *app ); void applicationPolish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * );
void drawKStylePrimitive( KStylePrimitive kpe, void drawKStylePrimitive( KStylePrimitive kpe,
TQPainter* p, TQPainter* p,
@ -177,7 +177,7 @@ private:
//Animation support. //Animation support.
TQMap<TQProgressBar*, int> progAnimWidgets; TQMap<TQProgressBar*, int> progAnimWidgets;
bool eventFilter( TQObject* object, TQEvent* event ); virtual bool objectEventHandler( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void* source, TQEvent *e );
Keramik::TilePainter::PaintMode pmode() const Keramik::TilePainter::PaintMode pmode() const
{ {

@ -414,10 +414,14 @@ KThemeStyle::~KThemeStyle()
} }
void KThemeStyle::polish( TQApplication * app ) void KThemeStyle::applicationPolish( TQStyleControlElementData ceData, ControlElementFlags, void *ptr )
{ {
if (!qstrcmp(app->argv()[0], "kicker")) if (ceData.widgetObjectTypes.contains(TQAPPLICATION_OBJECT_NAME_STRING)) {
TQApplication *app = reinterpret_cast<TQApplication*>(ptr);
if (!qstrcmp(app->argv()[0], "kicker")) {
kickerMode = true; kickerMode = true;
}
}
} }
@ -458,13 +462,19 @@ void KThemeStyle::paletteChanged()
} }
void KThemeStyle::unPolish( TQApplication *app ) void KThemeStyle::applicationUnPolish( TQStyleControlElementData ceData, ControlElementFlags, void *ptr )
{ {
if (ceData.widgetObjectTypes.contains(TQAPPLICATION_OBJECT_NAME_STRING)) {
TQApplication *app = reinterpret_cast<TQApplication*>(ptr);
app->setPalette( oldPalette, true ); app->setPalette( oldPalette, true );
}
} }
bool KThemeStyle::eventFilter( TQObject* object, TQEvent* event ) bool KThemeStyle::objectEventHandler( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void* source, TQEvent *event )
{ {
if (ceData.widgetObjectTypes.contains(TQOBJECT_OBJECT_NAME_STRING)) {
TQObject* object = reinterpret_cast<TQObject*>(source);
if( object->inherits("KActiveLabel")) if( object->inherits("KActiveLabel"))
{ {
if(event->type() == TQEvent::Move || event->type() == TQEvent::Resize || if(event->type() == TQEvent::Move || event->type() == TQEvent::Resize ||
@ -495,19 +505,23 @@ bool KThemeStyle::eventFilter( TQObject* object, TQEvent* event )
TQWidget* lb = TQT_TQWIDGET(object); TQWidget* lb = TQT_TQWIDGET(object);
if (lb->backgroundMode() == TQt::PaletteButton) if (lb->backgroundMode() == TQt::PaletteButton)
lb->setBackgroundMode(TQt::PaletteBackground); lb->setBackgroundMode(TQt::PaletteBackground);
lb->removeEventFilter(this); removeObjectEventHandler(ceData, elementFlags, source, this);
}
} }
return KStyle::eventFilter(object, event); return KStyle::objectEventHandler(ceData, elementFlags, source, event);
} }
void KThemeStyle::polish( TQWidget *w ) void KThemeStyle::polish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr )
{ {
if (ceData.widgetObjectTypes.contains(TQWIDGET_OBJECT_NAME_STRING)) {
TQWidget *w = reinterpret_cast<TQWidget*>(ptr);
if (::tqqt_cast<TQStatusBar*>(w)) if (::tqqt_cast<TQStatusBar*>(w))
w->setPaletteBackgroundColor(TQApplication::palette().color(TQPalette::Normal, TQColorGroup::Background)); w->setPaletteBackgroundColor(TQApplication::palette().color(TQPalette::Normal, TQColorGroup::Background));
if (::tqqt_cast<TQLabel*>(w) && !qstrcmp(w->name(), "kde toolbar widget")) if (::tqqt_cast<TQLabel*>(w) && !qstrcmp(w->name(), "kde toolbar widget"))
w->installEventFilter(this); installObjectEventHandler(ceData, elementFlags, ptr, this);
if (w->backgroundPixmap() && !w->isTopLevel() && if (w->backgroundPixmap() && !w->isTopLevel() &&
(!kickerMode || (!kickerMode ||
@ -523,7 +537,7 @@ void KThemeStyle::polish( TQWidget *w )
if (w->inherits("KActiveLabel")) if (w->inherits("KActiveLabel"))
{ {
if (uncached( Background )) if (uncached( Background ))
w->installEventFilter(this); installObjectEventHandler(ceData, elementFlags, ptr, this);
} }
if ( w->inherits( "QTipLabel" ) ) if ( w->inherits( "QTipLabel" ) )
@ -604,12 +618,16 @@ void KThemeStyle::polish( TQWidget *w )
w->setPalette( newPal ); w->setPalette( newPal );
} }
} }
}
KStyle::polish( w ); KStyle::polish( ceData, elementFlags, ptr );
} }
void KThemeStyle::unPolish( TQWidget* w ) void KThemeStyle::unPolish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr )
{ {
if (ceData.widgetObjectTypes.contains(TQWIDGET_OBJECT_NAME_STRING)) {
TQWidget *w = reinterpret_cast<TQWidget*>(ptr);
if (w->backgroundPixmap() && !w->isTopLevel()) if (w->backgroundPixmap() && !w->isTopLevel())
{ {
//The brushHandle check verifies that the bg pixmap is actually the brush.. //The brushHandle check verifies that the bg pixmap is actually the brush..
@ -636,8 +654,9 @@ void KThemeStyle::unPolish( TQWidget* w )
//Drop some custom palettes. ### this really should check the serial number to be 100% correct. //Drop some custom palettes. ### this really should check the serial number to be 100% correct.
if ( ::tqqt_cast<TQPopupMenu*>(w) || ::tqqt_cast<TQCheckBox*>(w) || ::tqqt_cast<TQRadioButton*>(w) || ::tqqt_cast<TQStatusBar*>(w) ) if ( ::tqqt_cast<TQPopupMenu*>(w) || ::tqqt_cast<TQCheckBox*>(w) || ::tqqt_cast<TQRadioButton*>(w) || ::tqqt_cast<TQStatusBar*>(w) )
w->unsetPalette(); w->unsetPalette();
}
KStyle::unPolish( w ); KStyle::unPolish( ceData, elementFlags, ptr );
} }

@ -143,15 +143,15 @@ public:
virtual TQRect subRect(SubRect, const TQStyleControlElementData ceData, const ControlElementFlags elementFlags, const TQWidget *) const; virtual TQRect subRect(SubRect, const TQStyleControlElementData ceData, const ControlElementFlags elementFlags, const TQWidget *) const;
virtual void polish( TQWidget* ); virtual void polish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * );
virtual void unPolish( TQWidget* ); virtual void unPolish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * );
virtual bool eventFilter( TQObject* object, TQEvent* event ); virtual bool objectEventHandler( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void* source, TQEvent *e );
/** /**
* By default this just sets the background brushes to the pixmapped * By default this just sets the background brushes to the pixmapped
* background. * background.
*/ */
virtual void polish( TQApplication *app ); virtual void applicationPolish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * );
virtual void unPolish( TQApplication* ); virtual void applicationUnPolish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * );
/** \internal */ /** \internal */
// to make it possible for derived classes to overload this function // to make it possible for derived classes to overload this function

@ -227,16 +227,23 @@ PlastikStyle::~PlastikStyle()
delete verticalLine; delete verticalLine;
} }
void PlastikStyle::polish(TQApplication* app) void PlastikStyle::applicationPolish(TQStyleControlElementData ceData, ControlElementFlags, void *ptr)
{ {
if (ceData.widgetObjectTypes.contains(TQAPPLICATION_OBJECT_NAME_STRING)) {
TQApplication *app = reinterpret_cast<TQApplication*>(ptr);
if (!qstrcmp(app->argv()[0], "kicker")) if (!qstrcmp(app->argv()[0], "kicker"))
kickerMode = true; kickerMode = true;
else if (!qstrcmp(app->argv()[0], "korn")) else if (!qstrcmp(app->argv()[0], "korn"))
kornMode = true; kornMode = true;
}
} }
void PlastikStyle::polish(TQWidget* widget) void PlastikStyle::polish(TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr)
{ {
if (ceData.widgetObjectTypes.contains(TQWIDGET_OBJECT_NAME_STRING)) {
TQWidget *widget = reinterpret_cast<TQWidget*>(ptr);
if( !strcmp(widget->name(), "__khtml") ) { // is it a khtml widget...? if( !strcmp(widget->name(), "__khtml") ) { // is it a khtml widget...?
khtmlWidgets[widget] = true; khtmlWidgets[widget] = true;
connect(widget, TQT_SIGNAL(destroyed(TQObject*)), this, TQT_SLOT(khtmlWidgetDestroyed(TQObject*))); connect(widget, TQT_SIGNAL(destroyed(TQObject*)), this, TQT_SLOT(khtmlWidgetDestroyed(TQObject*)));
@ -249,33 +256,37 @@ void PlastikStyle::polish(TQWidget* widget)
::tqqt_cast<TQCheckBox*>(widget) || ::tqqt_cast<TQRadioButton*>(widget) || ::tqqt_cast<TQCheckBox*>(widget) || ::tqqt_cast<TQRadioButton*>(widget) ||
::tqqt_cast<TQToolButton*>(widget) || widget->inherits(TQSPLITTERHANDLE_OBJECT_NAME_STRING) ) ::tqqt_cast<TQToolButton*>(widget) || widget->inherits(TQSPLITTERHANDLE_OBJECT_NAME_STRING) )
{ {
// widget->setBackgroundMode(PaletteBackground); // widget->setBackgroundMode(PaletteBackground);
widget->installEventFilter(this); installObjectEventHandler(ceData, elementFlags, ptr, this);
} else if (::tqqt_cast<TQLineEdit*>(widget)) { } else if (::tqqt_cast<TQLineEdit*>(widget)) {
widget->installEventFilter(this); installObjectEventHandler(ceData, elementFlags, ptr, this);
} else if (::tqqt_cast<TQTabBar*>(widget)) { } else if (::tqqt_cast<TQTabBar*>(widget)) {
widget->setMouseTracking(true); widget->setMouseTracking(true);
widget->installEventFilter(this); installObjectEventHandler(ceData, elementFlags, ptr, this);
} else if (::tqqt_cast<TQPopupMenu*>(widget)) { } else if (::tqqt_cast<TQPopupMenu*>(widget)) {
widget->setBackgroundMode( NoBackground ); widget->setBackgroundMode( NoBackground );
} else if ( !qstrcmp(widget->name(), "kde toolbar widget") ) { } else if ( !qstrcmp(widget->name(), "kde toolbar widget") ) {
widget->installEventFilter(this); installObjectEventHandler(ceData, elementFlags, ptr, this);
} }
if( _animateProgressBar && ::tqqt_cast<TQProgressBar*>(widget) ) if( _animateProgressBar && ::tqqt_cast<TQProgressBar*>(widget) )
{ {
widget->installEventFilter(this); installObjectEventHandler(ceData, elementFlags, ptr, this);
progAnimWidgets[widget] = 0; progAnimWidgets[widget] = 0;
connect(widget, TQT_SIGNAL(destroyed(TQObject*)), this, TQT_SLOT(progressBarDestroyed(TQObject*))); connect(widget, TQT_SIGNAL(destroyed(TQObject*)), this, TQT_SLOT(progressBarDestroyed(TQObject*)));
if (!animationTimer->isActive()) if (!animationTimer->isActive())
animationTimer->start( 50, false ); animationTimer->start( 50, false );
} }
}
KStyle::polish(widget); KStyle::polish(ceData, elementFlags, ptr);
} }
void PlastikStyle::unPolish(TQWidget* widget) void PlastikStyle::unPolish(TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr)
{ {
if (ceData.widgetObjectTypes.contains(TQWIDGET_OBJECT_NAME_STRING)) {
TQWidget *widget = reinterpret_cast<TQWidget*>(ptr);
if( !strcmp(widget->name(), "__khtml") ) { // is it a khtml widget...? if( !strcmp(widget->name(), "__khtml") ) { // is it a khtml widget...?
khtmlWidgets.remove(widget); khtmlWidgets.remove(widget);
} }
@ -287,23 +298,24 @@ void PlastikStyle::unPolish(TQWidget* widget)
::tqqt_cast<TQToolButton*>(widget) || ::tqqt_cast<TQLineEdit*>(widget) || ::tqqt_cast<TQToolButton*>(widget) || ::tqqt_cast<TQLineEdit*>(widget) ||
widget->inherits(TQSPLITTERHANDLE_OBJECT_NAME_STRING) ) widget->inherits(TQSPLITTERHANDLE_OBJECT_NAME_STRING) )
{ {
widget->removeEventFilter(this); removeObjectEventHandler(ceData, elementFlags, ptr, this);
} }
else if (::tqqt_cast<TQTabBar*>(widget)) { else if (::tqqt_cast<TQTabBar*>(widget)) {
widget->setMouseTracking(false); widget->setMouseTracking(false);
widget->removeEventFilter(this); removeObjectEventHandler(ceData, elementFlags, ptr, this);
} else if (::tqqt_cast<TQPopupMenu*>(widget)) { } else if (::tqqt_cast<TQPopupMenu*>(widget)) {
widget->setBackgroundMode( PaletteBackground ); widget->setBackgroundMode( PaletteBackground );
} else if ( !qstrcmp(widget->name(), "kde toolbar widget") ) { } else if ( !qstrcmp(widget->name(), "kde toolbar widget") ) {
widget->removeEventFilter(this); removeObjectEventHandler(ceData, elementFlags, ptr, this);
} }
if ( ::tqqt_cast<TQProgressBar*>(widget) ) if ( ::tqqt_cast<TQProgressBar*>(widget) )
{ {
progAnimWidgets.remove(widget); progAnimWidgets.remove(widget);
} }
}
KStyle::unPolish(widget); KStyle::unPolish(ceData, elementFlags, ptr);
} }
void PlastikStyle::khtmlWidgetDestroyed(TQObject* obj) void PlastikStyle::khtmlWidgetDestroyed(TQObject* obj)
@ -3466,11 +3478,14 @@ int PlastikStyle::styleHint( TQ_StyleHint stylehint,
} }
} }
bool PlastikStyle::eventFilter(TQObject *obj, TQEvent *ev) bool PlastikStyle::objectEventHandler( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void* source, TQEvent *ev )
{ {
if (KStyle::eventFilter(obj, ev) ) if (KStyle::objectEventHandler(ceData, elementFlags, source, ev) )
return true; return true;
if (ceData.widgetObjectTypes.contains(TQOBJECT_OBJECT_NAME_STRING)) {
TQObject* obj = reinterpret_cast<TQObject*>(source);
if (!obj->isWidgetType() ) return false; if (!obj->isWidgetType() ) return false;
// focus highlight // focus highlight
@ -3563,7 +3578,8 @@ bool PlastikStyle::eventFilter(TQObject *obj, TQEvent *ev)
TQWidget* lb = TQT_TQWIDGET(obj); TQWidget* lb = TQT_TQWIDGET(obj);
if (lb->backgroundMode() == TQt::PaletteButton) if (lb->backgroundMode() == TQt::PaletteButton)
lb->setBackgroundMode(TQt::PaletteBackground); lb->setBackgroundMode(TQt::PaletteBackground);
lb->removeEventFilter(this); removeObjectEventHandler(ceData, elementFlags, source, this);
}
} }
return false; return false;

@ -62,9 +62,9 @@ public:
PlastikStyle(); PlastikStyle();
virtual ~PlastikStyle(); virtual ~PlastikStyle();
void polish(TQApplication* app ); void applicationPolish(TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *);
void polish(TQWidget* widget ); void polish(TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *);
void unPolish(TQWidget* widget ); void unPolish(TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *);
void drawKStylePrimitive(KStylePrimitive kpe, void drawKStylePrimitive(KStylePrimitive kpe,
TQPainter* p, TQPainter* p,
@ -266,7 +266,7 @@ protected:
virtual void renderMenuBlendPixmap( KPixmap& pix, const TQColorGroup& cg, virtual void renderMenuBlendPixmap( KPixmap& pix, const TQColorGroup& cg,
const TQPopupMenu* popup ) const; const TQPopupMenu* popup ) const;
bool eventFilter(TQObject *, TQEvent *); virtual bool objectEventHandler( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void* source, TQEvent *e );
TQWidget* hoverWidget; TQWidget* hoverWidget;
protected slots: protected slots:

@ -259,8 +259,10 @@ TQString KStyle::defaultStyle()
return TQString("light, 3rd revision"); return TQString("light, 3rd revision");
} }
void KStyle::polish( TQWidget* widget ) void KStyle::polish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr )
{ {
if (ceData.widgetObjectTypes.contains(TQWIDGET_OBJECT_NAME_STRING)) {
TQWidget* widget = reinterpret_cast<TQWidget*>(ptr);
if ( d->useFilledFrameWorkaround ) if ( d->useFilledFrameWorkaround )
{ {
if ( TQFrame *frame = ::tqqt_cast< TQFrame* >( widget ) ) { if ( TQFrame *frame = ::tqqt_cast< TQFrame* >( widget ) ) {
@ -277,11 +279,14 @@ void KStyle::polish( TQWidget* widget )
if (d->menuHandler && useDropShadow(widget)) if (d->menuHandler && useDropShadow(widget))
widget->installEventFilter(d->menuHandler); widget->installEventFilter(d->menuHandler);
} }
}
} }
void KStyle::unPolish( TQWidget* widget ) void KStyle::unPolish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr )
{ {
if (ceData.widgetObjectTypes.contains(TQWIDGET_OBJECT_NAME_STRING)) {
TQWidget* widget = reinterpret_cast<TQWidget*>(ptr);
if ( d->useFilledFrameWorkaround ) if ( d->useFilledFrameWorkaround )
{ {
if ( TQFrame *frame = ::tqqt_cast< TQFrame* >( widget ) ) { if ( TQFrame *frame = ::tqqt_cast< TQFrame* >( widget ) ) {
@ -292,6 +297,7 @@ void KStyle::unPolish( TQWidget* widget )
} }
if (widget->isTopLevel() && d->menuHandler && useDropShadow(widget)) if (widget->isTopLevel() && d->menuHandler && useDropShadow(widget))
widget->removeEventFilter(d->menuHandler); widget->removeEventFilter(d->menuHandler);
}
} }
@ -1926,8 +1932,10 @@ int KStyle::styleHint( TQ_StyleHint sh, TQStyleControlElementData ceData, Contro
} }
bool KStyle::eventFilter( TQObject* object, TQEvent* event ) bool KStyle::objectEventHandler( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void* source, TQEvent *event )
{ {
if (ceData.widgetObjectTypes.contains(TQOBJECT_OBJECT_NAME_STRING)) {
TQObject* object = reinterpret_cast<TQObject*>(source);
if ( d->useFilledFrameWorkaround ) if ( d->useFilledFrameWorkaround )
{ {
// Make the QMenuBar/TQToolBar paintEvent() cover a larger area to // Make the QMenuBar/TQToolBar paintEvent() cover a larger area to
@ -1972,6 +1980,7 @@ bool KStyle::eventFilter( TQObject* object, TQEvent* event )
return true; return true;
} }
} }
}
return false; return false;
} }

@ -286,8 +286,8 @@ class TDEFX_EXPORT KStyle: public TQCommonStyle
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
void polish( TQWidget* widget ); void polish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * );
void unPolish( TQWidget* widget ); void unPolish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * );
void polishPopupMenu( TQPopupMenu* ); void polishPopupMenu( TQPopupMenu* );
void tqdrawPrimitive( TQ_PrimitiveElement pe, void tqdrawPrimitive( TQ_PrimitiveElement pe,
@ -367,7 +367,7 @@ class TDEFX_EXPORT KStyle: public TQCommonStyle
const TQWidget* w = 0 ) const; const TQWidget* w = 0 ) const;
protected: protected:
bool eventFilter( TQObject* object, TQEvent* event ); virtual bool objectEventHandler( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void* source, TQEvent *e );
private: private:
// Disable copy constructor and = operator // Disable copy constructor and = operator

Loading…
Cancel
Save