Update to new style API

Signed-off-by: François Andriot <francois.andriot@free.fr>
pull/1/head
François Andriot 9 years ago committed by Slávek Banko
parent 3ae9f9432e
commit d4a24866b5

@ -21,6 +21,6 @@ BUILT_SOURCES = ia_ora.moc
CLEANFILES = $(BUILT_SOURCES) CLEANFILES = $(BUILT_SOURCES)
ia_oradata_DATA = ia_ora.themerc ia_oradata_DATA = ia_ora.themerc
ia_oradatadir = $(kde_datadir)/kstyle/themes ia_oradatadir = $(kde_datadir)/tdestyle/themes
EXTRA_DIST = ia_ora.cpp ia_ora.h $(ia_oradata_DATA) EXTRA_DIST = ia_ora.cpp ia_ora.h $(ia_oradata_DATA)

@ -288,7 +288,7 @@ void MandrivaStyle::getShade (const TQColorGroup &cg, int shadenr, TQColor &res)
res = cdata->shades[shadenr]; res = cdata->shades[shadenr];
} }
void MandrivaStyle::updateHoverControl(const TQPoint &pos) void MandrivaStyle::updateHoverControl(const TQPoint &pos, const TQStyleControlElementData &ceData, ControlElementFlags elementFlags)
{ {
TQRegion repaint; TQRegion repaint;
enum Hover oldControl = hoverControl; enum Hover oldControl = hoverControl;
@ -299,12 +299,12 @@ void MandrivaStyle::updateHoverControl(const TQPoint &pos)
if (hoverWidget->inherits("TQScrollBar")) if (hoverWidget->inherits("TQScrollBar"))
{ {
TQRect subline(querySubControlMetrics(CC_ScrollBar, hoverWidget, TQRect subline(querySubControlMetrics(CC_ScrollBar, ceData, elementFlags,
SC_ScrollBarSubLine)), SC_ScrollBarSubLine, hoverWidget)),
addline(querySubControlMetrics(CC_ScrollBar, hoverWidget, addline(querySubControlMetrics(CC_ScrollBar, ceData, elementFlags,
SC_ScrollBarAddLine)), SC_ScrollBarAddLine, hoverWidget)),
slider(querySubControlMetrics(CC_ScrollBar, hoverWidget, slider(querySubControlMetrics(CC_ScrollBar, ceData, elementFlags,
SC_ScrollBarSlider)); SC_ScrollBarSlider, hoverWidget));
if (subline.contains(pos)) if (subline.contains(pos))
hoverControl = HoverScrollBarSubLine; hoverControl = HoverScrollBarSubLine;
else if (addline.contains(pos)) else if (addline.contains(pos))
@ -329,10 +329,10 @@ void MandrivaStyle::updateHoverControl(const TQPoint &pos)
if (!cb->editable()) if (!cb->editable())
return; return;
TQRect comboArrow(querySubControlMetrics(CC_ComboBox, hoverWidget, TQRect comboArrow(querySubControlMetrics(CC_ComboBox, ceData, elementFlags,
SC_ComboBoxArrow)), SC_ComboBoxArrow, hoverWidget)),
comboEditField(querySubControlMetrics(CC_ComboBox, hoverWidget, comboEditField(querySubControlMetrics(CC_ComboBox, ceData, elementFlags,
SC_ComboBoxEditField)); SC_ComboBoxEditField, hoverWidget));
if (comboArrow.contains(pos)) if (comboArrow.contains(pos))
hoverControl = HoverComboBoxArrow; hoverControl = HoverComboBoxArrow;
@ -351,14 +351,21 @@ void MandrivaStyle::updateHoverControl(const TQPoint &pos)
hoverWidget->repaint(repaint, false); hoverWidget->repaint(repaint, false);
} }
void MandrivaStyle::polish(TQApplication* app) void MandrivaStyle::applicationPolish(const 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 MandrivaStyle::polish(TQWidget* widget) void MandrivaStyle::polish(const 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 occurance to maximize hit rate // Put in order of highest occurance to maximize hit rate
if ( widget->inherits( "TQComboBox" ) if ( widget->inherits( "TQComboBox" )
|| widget->inherits( "TQScrollBar" ) || widget->inherits( "TQScrollBar" )
@ -403,12 +410,17 @@ void MandrivaStyle::polish(TQWidget* widget)
widget->setBackgroundMode( NoBackground ); // We paint the whole background. widget->setBackgroundMode( NoBackground ); // We paint the whole background.
widget->installEventFilter(this); widget->installEventFilter(this);
} }
TDEStyle::polish( widget ); }
TDEStyle::polish( ceData, elementFlags, ptr );
} }
void MandrivaStyle::unPolish(TQWidget* widget) void MandrivaStyle::unPolish(const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr)
{ {
if (ceData.widgetObjectTypes.contains(TQWIDGET_OBJECT_NAME_STRING)) {
TQWidget *widget = reinterpret_cast<TQWidget*>(ptr);
TQFont f = TQApplication::font(); TQFont f = TQApplication::font();
TQApplication::setFont( f, TRUE ); // get rid of the special fonts for special widget classes TQApplication::setFont( f, TRUE ); // get rid of the special fonts for special widget classes
@ -454,8 +466,9 @@ void MandrivaStyle::unPolish(TQWidget* widget)
widget->setBackgroundMode( PaletteBackground ); widget->setBackgroundMode( PaletteBackground );
widget->removeEventFilter(this); widget->removeEventFilter(this);
} }
}
TDEStyle::unPolish( widget ); TDEStyle::unPolish( ceData, elementFlags, ptr );
} }
/* reimp. */ /* reimp. */
@ -629,16 +642,17 @@ void MandrivaStyle::drawFrame( const MandrivaColorData *cdata, const TQColorGrou
// This function draws primitive elements as well as their masks. // This function draws primitive elements as well as their masks.
void MandrivaStyle::drawPrimitive( PrimitiveElement pe, void MandrivaStyle::drawPrimitive( PrimitiveElement pe,
TQPainter *p, TQPainter *p,
const TQStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const TQRect &r, const TQRect &r,
const TQColorGroup &cg, const TQColorGroup &cg,
SFlags flags, SFlags flags,
const TQStyleOption& opt ) const const TQStyleOption& opt ) const
{ {
int x, y, xw, yh; int x, y, xw;
x= r.x(); x= r.x();
y= r.y(); y= r.y();
xw = r.x()+r.width()-1; xw = r.x()+r.width()-1;
yh = r.y()+r.height()-1;
bool down = flags & Style_Down; bool down = flags & Style_Down;
bool on = flags & Style_On; bool on = flags & Style_On;
const MandrivaColorData *cdata = lookupData(cg); const MandrivaColorData *cdata = lookupData(cg);
@ -685,7 +699,7 @@ void MandrivaStyle::drawPrimitive( PrimitiveElement pe,
int y = r.y(); int y = r.y();
int x2 = r.x() + r.width() - 1; int x2 = r.x() + r.width() - 1;
int y2 = r.y() + r.height() - 1; int y2 = r.y() + r.height() - 1;
int lw = opt.isDefault() ? pixelMetric(PM_DefaultFrameWidth) int lw = opt.isDefault() ? pixelMetric(PM_DefaultFrameWidth, ceData, elementFlags)
: opt.lineWidth(); : opt.lineWidth();
//FIXME //FIXME
@ -765,7 +779,7 @@ void MandrivaStyle::drawPrimitive( PrimitiveElement pe,
case PE_PanelPopup: case PE_PanelPopup:
case PE_WindowFrame: case PE_WindowFrame:
{ {
int lw = /*opt.isDefault() ? pixelMetric(PM_DefaultFrameWidth) int lw = /*opt.isDefault() ? pixelMetric(PM_DefaultFrameWidth, ceData, elementFlags)
: opt.lineWidth()*/1; : opt.lineWidth()*/1;
if (lw == 1 || lw == 2) if (lw == 1 || lw == 2)
{ {
@ -798,7 +812,7 @@ void MandrivaStyle::drawPrimitive( PrimitiveElement pe,
p->setPen(oldPen); p->setPen(oldPen);
} }
else else
TDEStyle::drawPrimitive(pe, p, r, cg, flags, opt); TDEStyle::drawPrimitive(pe, p, ceData, elementFlags, r, cg, flags, opt);
break; break;
} }
case PE_GroupBoxFrame: case PE_GroupBoxFrame:
@ -810,7 +824,7 @@ void MandrivaStyle::drawPrimitive( PrimitiveElement pe,
} }
#if 0 #if 0
case PE_PanelGroupBox: case PE_PanelGroupBox:
drawPrimitive( PE_GroupBoxFrame, p, r, cg, flags, opt ); drawPrimitive( PE_GroupBoxFrame, p, ceData, elementFlags, r, cg, flags, opt );
break; break;
#endif #endif
case PE_Separator: case PE_Separator:
@ -821,9 +835,9 @@ void MandrivaStyle::drawPrimitive( PrimitiveElement pe,
case PE_HeaderArrow: case PE_HeaderArrow:
{ {
if ( flags & Style_Up ) if ( flags & Style_Up )
drawPrimitive( PE_ArrowUp, p, r, cg, Style_Enabled ); drawPrimitive( PE_ArrowUp, p, ceData, elementFlags, r, cg, Style_Enabled );
else else
drawPrimitive( PE_ArrowDown, p, r, cg, Style_Enabled ); drawPrimitive( PE_ArrowDown, p, ceData, elementFlags, r, cg, Style_Enabled );
break; break;
} }
case PE_HeaderSection: case PE_HeaderSection:
@ -903,7 +917,7 @@ void MandrivaStyle::drawPrimitive( PrimitiveElement pe,
if(!item) if(!item)
return; return;
int x = r.x(), y = r.y(), w = r.width(), h = r.width(); int x = r.x(), y = r.y(), w = r.width(), h = r.width();
drawPrimitive(PE_Indicator, p, TQRect(x-2, y-2 , w+3, h+3 ) , cg, flags ); drawPrimitive(PE_Indicator, p, ceData, elementFlags, TQRect(x-2, y-2 , w+3, h+3 ) , cg, flags );
break; break;
} }
//case PE_IndicatorMask: //case PE_IndicatorMask:
@ -1283,7 +1297,7 @@ void MandrivaStyle::drawPrimitive( PrimitiveElement pe,
} }
// draw the arrow // draw the arrow
drawPrimitive( arrow, p, r, cg, flags ); drawPrimitive( arrow, p, ceData, elementFlags, r, cg, flags );
break; break;
} }
@ -1371,7 +1385,7 @@ void MandrivaStyle::drawPrimitive( PrimitiveElement pe,
drawMandrivaArrow( a, p, r, cg, flags, opt ); drawMandrivaArrow( a, p, r, cg, flags, opt );
} }
else else
TDEStyle::drawPrimitive( pe, p, r, cg, flags, opt ); TDEStyle::drawPrimitive( pe, p, ceData, elementFlags, r, cg, flags, opt );
} }
} //switch } //switch
} }
@ -1391,11 +1405,13 @@ void MandrivaStyle::drawMandrivaArrow( TQPointArray a, TQPainter *p,
void MandrivaStyle::drawTDEStylePrimitive( TDEStylePrimitive pe, void MandrivaStyle::drawTDEStylePrimitive( TDEStylePrimitive pe,
TQPainter* p, TQPainter* p,
const TQWidget* widget, const TQStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const TQRect &r, const TQRect &r,
const TQColorGroup &cg, const TQColorGroup &cg,
SFlags flags, SFlags flags,
const TQStyleOption &opt ) const const TQStyleOption &opt,
const TQWidget* widget) const
{ {
const MandrivaColorData *cdata = lookupData(cg); const MandrivaColorData *cdata = lookupData(cg);
switch(pe) switch(pe)
@ -1589,31 +1605,33 @@ void MandrivaStyle::drawTDEStylePrimitive( TDEStylePrimitive pe,
break; break;
} }
default: default:
TDEStyle::drawTDEStylePrimitive( pe, p, widget, r, cg, flags, opt); TDEStyle::drawTDEStylePrimitive( pe, p, ceData, elementFlags, r, cg, flags, opt, widget);
} }
} }
void MandrivaStyle::drawControl( ControlElement element, void MandrivaStyle::drawControl( ControlElement element,
TQPainter *p, TQPainter *p,
const TQWidget *widget, const TQStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const TQRect &r, const TQRect &r,
const TQColorGroup &cg, const TQColorGroup &cg,
SFlags flags, SFlags flags,
const TQStyleOption& opt ) const const TQStyleOption& opt,
const TQWidget *widget ) const
{ {
const MandrivaColorData *cdata = lookupData(cg); const MandrivaColorData *cdata = lookupData(cg);
switch (element) switch (element)
{ {
case CE_CheckBox: case CE_CheckBox:
{ {
drawPrimitive (PE_Indicator, p, r, cg, flags); drawPrimitive (PE_Indicator, p, ceData, elementFlags, r, cg, flags);
break; break;
} }
//progressbar //progressbar
case CE_ProgressBarContents: case CE_ProgressBarContents:
{ {
const TQProgressBar* pb = (const TQProgressBar*)widget; const TQProgressBar* pb = (const TQProgressBar*)widget;
TQRect backend = subRect(SR_ProgressBarContents, widget); TQRect backend = subRect(SR_ProgressBarContents, ceData, elementFlags, widget);
double progress = pb->progress(); double progress = pb->progress();
bool reverse = TQApplication::reverseLayout(); bool reverse = TQApplication::reverseLayout();
int steps = pb->totalSteps(); int steps = pb->totalSteps();
@ -1625,7 +1643,7 @@ void MandrivaStyle::drawControl( ControlElement element,
p->fillRect(backend , cg.background() ); p->fillRect(backend , cg.background() );
//draw border //draw border
drawPrimitive( PE_PanelLineEdit, p, r, cg ); drawPrimitive( PE_PanelLineEdit, p, ceData, elementFlags, r, cg );
TQRect cr(backend); TQRect cr(backend);
cr.addCoords( 1, 1, -2, -2 ); cr.addCoords( 1, 1, -2, -2 );
@ -1749,7 +1767,7 @@ void MandrivaStyle::drawControl( ControlElement element,
case CE_ProgressBarLabel: case CE_ProgressBarLabel:
{ {
const TQProgressBar * pb = (const TQProgressBar *) widget; const TQProgressBar * pb = (const TQProgressBar *) widget;
const int unit_width = pixelMetric( PM_ProgressBarChunkWidth, pb ); const int unit_width = pixelMetric( PM_ProgressBarChunkWidth, ceData, elementFlags, pb );
int u = r.width() / unit_width; int u = r.width() / unit_width;
int p_v = pb->progress(); int p_v = pb->progress();
int t_s = pb->totalSteps(); int t_s = pb->totalSteps();
@ -1795,7 +1813,7 @@ void MandrivaStyle::drawControl( ControlElement element,
} }
case CE_ToolButtonLabel: case CE_ToolButtonLabel:
{ {
TDEStyle::drawControl(element, p, widget, r, cg, flags, opt); TDEStyle::drawControl(element, p, ceData, elementFlags, r, cg, flags, opt, widget);
break; break;
} }
@ -1908,9 +1926,7 @@ void MandrivaStyle::drawControl( ControlElement element,
//CHECK //CHECK
case CE_MenuBarItem: case CE_MenuBarItem:
{ {
TQMenuBar *mb = (TQMenuBar*)widget;
TQMenuItem *mi = opt.menuItem(); TQMenuItem *mi = opt.menuItem();
TQRect pr = mb->rect();
bool active = flags & Style_Active; bool active = flags & Style_Active;
bool focused = flags & Style_HasFocus; bool focused = flags & Style_HasFocus;
@ -1969,7 +1985,7 @@ void MandrivaStyle::drawControl( ControlElement element,
bool enabled = mi->isEnabled(); bool enabled = mi->isEnabled();
bool checkable = popupmenu->isCheckable(); bool checkable = popupmenu->isCheckable();
bool active = flags & Style_Active; bool active = flags & Style_Active;
bool etchtext = styleHint( SH_EtchDisabledText ); bool etchtext = styleHint( SH_EtchDisabledText, ceData, elementFlags );
bool reverse = TQApplication::reverseLayout(); bool reverse = TQApplication::reverseLayout();
int x, y, w, h; int x, y, w, h;
r.rect( &x, &y, &w, &h ); r.rect( &x, &y, &w, &h );
@ -2044,7 +2060,7 @@ void MandrivaStyle::drawControl( ControlElement element,
// Draw the checkmark // Draw the checkmark
SFlags cflags = Style_Default; SFlags cflags = Style_Default;
cflags |= active ? Style_Enabled : Style_On; cflags |= active ? Style_Enabled : Style_On;
drawPrimitive( PE_CheckMark, p, TQRect( cx + itemFrame, y + itemFrame, drawPrimitive( PE_CheckMark, p, ceData, elementFlags, TQRect( cx + itemFrame, y + itemFrame,
checkcol - itemFrame*2, h - itemFrame*2), cg, cflags ); checkcol - itemFrame*2, h - itemFrame*2), cg, cflags );
} }
else else
@ -2070,7 +2086,7 @@ void MandrivaStyle::drawControl( ControlElement element,
// Draw the checkmark // Draw the checkmark
SFlags cflags = Style_Default; SFlags cflags = Style_Default;
cflags |= active ? Style_Enabled : Style_On; cflags |= active ? Style_Enabled : Style_On;
drawPrimitive( PE_CheckMark, p, TQRect( cx + itemFrame, y + itemFrame, drawPrimitive( PE_CheckMark, p, ceData, elementFlags, TQRect( cx + itemFrame, y + itemFrame,
checkcol - itemFrame*2, h - itemFrame*2), cg, cflags ); checkcol - itemFrame*2, h - itemFrame*2), cg, cflags );
} }
@ -2186,7 +2202,7 @@ void MandrivaStyle::drawControl( ControlElement element,
if ( mi->popup() ) if ( mi->popup() )
{ {
PrimitiveElement arrow = reverse ? PE_ArrowLeft : PE_ArrowRight; PrimitiveElement arrow = reverse ? PE_ArrowLeft : PE_ArrowRight;
int dim = pixelMetric(PM_MenuButtonIndicator)- itemFrame; int dim = pixelMetric(PM_MenuButtonIndicator, ceData, elementFlags)- itemFrame;
TQRect vr = visualRect( TQRect( x + w - arrowHMargin - itemFrame - dim, TQRect vr = visualRect( TQRect( x + w - arrowHMargin - itemFrame - dim,
y + h / 2 - dim / 2, dim, dim), r ); y + h / 2 - dim / 2, dim, dim), r );
@ -2199,10 +2215,10 @@ void MandrivaStyle::drawControl( ControlElement element,
TQColorGroup g2( cg.highlightedText ()/*white*/, cg.highlight(), /*white*/cg.highlightedText (), /*white*/cg.highlightedText (), TQColorGroup g2( cg.highlightedText ()/*white*/, cg.highlight(), /*white*/cg.highlightedText (), /*white*/cg.highlightedText (),
enabled ? cg.highlightedText () : discol, /*discol*/cg.highlightedText (), cg.highlightedText () ); enabled ? cg.highlightedText () : discol, /*discol*/cg.highlightedText (), cg.highlightedText () );
drawPrimitive( arrow, p, vr, g2, Style_Enabled ); drawPrimitive( arrow, p, ceData, elementFlags, vr, g2, Style_Enabled );
} }
else else
drawPrimitive( arrow, p, vr, cg, drawPrimitive( arrow, p, ceData, elementFlags, vr, cg,
enabled ? Style_Enabled : Style_Default ); enabled ? Style_Enabled : Style_Default );
} }
break; break;
@ -2217,16 +2233,16 @@ void MandrivaStyle::drawControl( ControlElement element,
// Shift button contents if pushed. // Shift button contents if pushed.
if ( active ) if ( active )
{ {
x += pixelMetric(PM_ButtonShiftHorizontal, widget); x += pixelMetric(PM_ButtonShiftHorizontal, ceData, elementFlags, widget);
y += pixelMetric(PM_ButtonShiftVertical, widget); y += pixelMetric(PM_ButtonShiftVertical, ceData, elementFlags, widget);
flags |= Style_Sunken; flags |= Style_Sunken;
} }
// Does the button have a popup menu? // Does the button have a popup menu?
if ( button->isMenuButton() ) if ( button->isMenuButton() )
{ {
int dx = pixelMetric( PM_MenuButtonIndicator, widget ); int dx = pixelMetric( PM_MenuButtonIndicator, ceData, elementFlags, widget );
drawPrimitive( PE_ArrowDown, p, TQRect(x + w - dx - 2, y + 2, dx, h - 4), drawPrimitive( PE_ArrowDown, p, ceData, elementFlags, TQRect(x + w - dx - 2, y + 2, dx, h - 4),
cg, flags, opt ); cg, flags, opt );
w -= dx; w -= dx;
} }
@ -2290,8 +2306,8 @@ void MandrivaStyle::drawControl( ControlElement element,
} }
// Draw a focus rect if the button has focus // Draw a focus rect if the button has focus
if ( flags & Style_HasFocus ) if ( flags & Style_HasFocus )
drawPrimitive( PE_FocusRect, p, drawPrimitive( PE_FocusRect, p, ceData, elementFlags,
TQStyle::visualRect(subRect(SR_PushButtonFocusRect, widget), widget), TQStyle::visualRect(subRect(SR_PushButtonFocusRect, ceData, elementFlags, widget), widget),
cg, flags ); cg, flags );
break; break;
} }
@ -2303,19 +2319,21 @@ void MandrivaStyle::drawControl( ControlElement element,
if (isFormWidget(btn)) if (isFormWidget(btn))
formMode = true; formMode = true;
drawPrimitive( btn->isDefault( ) ? PE_ButtonDefault : PE_ButtonCommand, p, r, cg, flags ); drawPrimitive( btn->isDefault( ) ? PE_ButtonDefault : PE_ButtonCommand, p, ceData, elementFlags, r, cg, flags );
} }
break; break;
default: default:
TDEStyle::drawControl(element, p, widget, r, cg, flags, opt); TDEStyle::drawControl(element, p, ceData, elementFlags, r, cg, flags, opt, widget);
} }
} }
void MandrivaStyle::drawControlMask( ControlElement element, void MandrivaStyle::drawControlMask( ControlElement element,
TQPainter *p, TQPainter *p,
const TQWidget *widget, const TQStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const TQRect &r, const TQRect &r,
const TQStyleOption& opt ) const const TQStyleOption& opt,
const TQWidget *widget ) const
{ {
switch (element) switch (element)
{ {
@ -2326,16 +2344,18 @@ void MandrivaStyle::drawControlMask( ControlElement element,
break; break;
} }
default: default:
TDEStyle::drawControlMask(element, p, widget, r, opt); TDEStyle::drawControlMask(element, p, ceData, elementFlags, r, opt, widget);
} }
} }
void MandrivaStyle::drawComboboxArrow( TQPainter *p, void MandrivaStyle::drawComboboxArrow( TQPainter *p,
const TQWidget *widget, const TQStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const TQRect &ar, const TQRect &ar,
const TQColorGroup &cg, const TQColorGroup &cg,
SFlags flags, SFlags flags,
SCFlags active)const SCFlags active,
const TQWidget *widget)const
{ {
const TQComboBox * cb = (const TQComboBox *) widget; const TQComboBox * cb = (const TQComboBox *) widget;
bool editableCombo = cb->editable(); bool editableCombo = cb->editable();
@ -2357,8 +2377,8 @@ void MandrivaStyle::drawComboboxArrow( TQPainter *p,
a.setPoints(TQCOORDARRLEN(c_arrow), c_arrow); a.setPoints(TQCOORDARRLEN(c_arrow), c_arrow);
if ( flags & Style_Down ) if ( flags & Style_Down )
p->translate( pixelMetric( PM_ButtonShiftHorizontal ), p->translate( pixelMetric( PM_ButtonShiftHorizontal, ceData, elementFlags ),
pixelMetric( PM_ButtonShiftVertical ) ); pixelMetric( PM_ButtonShiftVertical, ceData, elementFlags ) );
if ( flags & Style_Enabled ) if ( flags & Style_Enabled )
{ {
@ -2397,13 +2417,15 @@ void MandrivaStyle::drawComboboxArrow( TQPainter *p,
void MandrivaStyle::drawComplexControl( ComplexControl control, void MandrivaStyle::drawComplexControl( ComplexControl control,
TQPainter *p, TQPainter *p,
const TQWidget *widget, const TQStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const TQRect &r, const TQRect &r,
const TQColorGroup &cg, const TQColorGroup &cg,
SFlags flags, SFlags flags,
SCFlags controls, SCFlags controls,
SCFlags active, SCFlags active,
const TQStyleOption& opt ) const const TQStyleOption& opt,
const TQWidget *widget ) const
{ {
const MandrivaColorData *cdata = lookupData(cg); const MandrivaColorData *cdata = lookupData(cg);
switch(control) switch(control)
@ -2411,7 +2433,7 @@ void MandrivaStyle::drawComplexControl( ComplexControl control,
case CC_SpinWidget: case CC_SpinWidget:
{ {
const TQSpinWidget* sw = static_cast< const TQSpinWidget* >( widget ); const TQSpinWidget* sw = static_cast< const TQSpinWidget* >( widget );
TQRect br = visualRect( querySubControlMetrics( CC_SpinWidget, widget, SC_SpinWidgetButtonField ), widget ); TQRect br = visualRect( querySubControlMetrics( CC_SpinWidget, ceData, elementFlags, SC_SpinWidgetButtonField, opt, widget ), widget );
//FIXME //FIXME
p->fillRect( r, widget->isEnabled() ? cg.base() : cg.background() ); p->fillRect( r, widget->isEnabled() ? cg.base() : cg.background() );
@ -2420,17 +2442,17 @@ void MandrivaStyle::drawComplexControl( ComplexControl control,
if ( controls & SC_SpinWidgetUp) if ( controls & SC_SpinWidgetUp)
{ {
TQColorGroup ucg = sw->isUpEnabled() ? cg : sw->palette().disabled(); TQColorGroup ucg = sw->isUpEnabled() ? cg : sw->palette().disabled();
drawPrimitive( PE_SpinWidgetUp,p, TQRect(br.x()+1 , br.y()+1 , br.width()-2 , br.height() / 2 ), ucg, flags, opt); drawPrimitive( PE_SpinWidgetUp,p, ceData, elementFlags, TQRect(br.x()+1, br.y()+1 , br.width()-2 , br.height() / 2 ), ucg, flags, opt);
} }
if ( controls & SC_SpinWidgetDown) if ( controls & SC_SpinWidgetDown)
{ {
TQColorGroup dcg = sw->isDownEnabled() ? cg : sw->palette().disabled(); TQColorGroup dcg = sw->isDownEnabled() ? cg : sw->palette().disabled();
drawPrimitive( PE_SpinWidgetDown,p, TQRect( br.x()+1 , br.y() + br.height() / 2 , br.width()-2, br.height()/ 2 -1 ), dcg, flags, opt); drawPrimitive( PE_SpinWidgetDown,p, ceData, elementFlags, TQRect( br.x()+1 , br.y() + br.height() / 2 , br.width()-2, br.height()/ 2 -1 ), dcg, flags, opt);
} }
} }
if ( controls & SC_SpinWidgetFrame ) if ( controls & SC_SpinWidgetFrame )
drawPrimitive( PE_PanelLineEdit, p, r, cg ); drawPrimitive( PE_PanelLineEdit, p, ceData, elementFlags, r, cg );
break; break;
} }
@ -2439,8 +2461,8 @@ void MandrivaStyle::drawComplexControl( ComplexControl control,
const TQToolButton *tb = (const TQToolButton *) widget; const TQToolButton *tb = (const TQToolButton *) widget;
TQRect button, menuarea; TQRect button, menuarea;
button = querySubControlMetrics(control, widget, SC_ToolButton, opt); button = querySubControlMetrics(control, ceData, elementFlags, SC_ToolButton, opt, widget);
menuarea = querySubControlMetrics(control, widget, SC_ToolButtonMenu, opt); menuarea = querySubControlMetrics(control, ceData, elementFlags, SC_ToolButtonMenu, opt, widget);
SFlags bflags = flags, SFlags bflags = flags,
mflags = flags; mflags = flags;
@ -2460,7 +2482,7 @@ void MandrivaStyle::drawComplexControl( ComplexControl control,
// If we're pressed, on, or raised... // If we're pressed, on, or raised...
if (bflags & (Style_Down | Style_On | Style_Raised) || widget==hoverWidget ) if (bflags & (Style_Down | Style_On | Style_Raised) || widget==hoverWidget )
{ {
drawPrimitive(PE_ButtonTool, p, button, cg, bflags, opt); drawPrimitive(PE_ButtonTool, p, ceData, elementFlags, button, cg, bflags, opt);
} }
else if (tb->parentWidget() && else if (tb->parentWidget() &&
tb->parentWidget()->backgroundPixmap() && tb->parentWidget()->backgroundPixmap() &&
@ -2475,16 +2497,16 @@ void MandrivaStyle::drawComplexControl( ComplexControl control,
if (controls & SC_ToolButtonMenu) if (controls & SC_ToolButtonMenu)
{ {
if (mflags & (Style_Down | Style_On | Style_Raised)) if (mflags & (Style_Down | Style_On | Style_Raised))
drawPrimitive(PE_ButtonDropDown, p, menuarea, cg, mflags, opt); drawPrimitive(PE_ButtonDropDown, p, ceData, elementFlags, menuarea, cg, mflags, opt);
drawPrimitive(PE_ArrowDown, p, menuarea, cg, mflags, opt); drawPrimitive(PE_ArrowDown, p, ceData, elementFlags, menuarea, cg, mflags, opt);
} }
if (tb->hasFocus() && !tb->focusProxy()) if (tb->hasFocus() && !tb->focusProxy())
{ {
TQRect fr = tb->rect(); TQRect fr = tb->rect();
fr.addCoords(2, 2, -2, -2); fr.addCoords(2, 2, -2, -2);
drawPrimitive(PE_FocusRect, p, fr, cg); drawPrimitive(PE_FocusRect, p, ceData, elementFlags, fr, cg);
} }
// Set the color for the ToolButton menu indicator // Set the color for the ToolButton menu indicator
@ -2500,14 +2522,14 @@ void MandrivaStyle::drawComplexControl( ComplexControl control,
bool maxedOut = (scrollbar->minValue() == scrollbar->maxValue()); bool maxedOut = (scrollbar->minValue() == scrollbar->maxValue());
scrollmin = ( scrollbar->minValue() == scrollbar->value() ); scrollmin = ( scrollbar->minValue() == scrollbar->value() );
scrollmax = (( scrollbar->maxValue() == scrollbar->value() )|| maxedOut); scrollmax = (( scrollbar->maxValue() == scrollbar->value() )|| maxedOut);
subline = querySubControlMetrics(control, widget, SC_ScrollBarSubLine, opt); subline = querySubControlMetrics(control, ceData, elementFlags, SC_ScrollBarSubLine, opt, widget);
addline = querySubControlMetrics(control, widget, SC_ScrollBarAddLine, opt); addline = querySubControlMetrics(control, ceData, elementFlags, SC_ScrollBarAddLine, opt, widget);
subpage = querySubControlMetrics(control, widget, SC_ScrollBarSubPage, opt); subpage = querySubControlMetrics(control, ceData, elementFlags, SC_ScrollBarSubPage, opt, widget);
addpage = querySubControlMetrics(control, widget, SC_ScrollBarAddPage, opt); addpage = querySubControlMetrics(control, ceData, elementFlags, SC_ScrollBarAddPage, opt, widget);
slider = querySubControlMetrics(control, widget, SC_ScrollBarSlider, opt); slider = querySubControlMetrics(control, ceData, elementFlags, SC_ScrollBarSlider, opt, widget);
first = querySubControlMetrics(control, widget, SC_ScrollBarFirst, opt); first = querySubControlMetrics(control, ceData, elementFlags, SC_ScrollBarFirst, opt, widget);
last = querySubControlMetrics(control, widget, SC_ScrollBarLast, opt); last = querySubControlMetrics(control, ceData, elementFlags, SC_ScrollBarLast, opt, widget);
if ((controls & SC_ScrollBarSubLine) && subline.isValid()) if ((controls & SC_ScrollBarSubLine) && subline.isValid())
{ {
@ -2518,7 +2540,7 @@ void MandrivaStyle::drawComplexControl( ComplexControl control,
flags |= Style_Horizontal; flags |= Style_Horizontal;
if (hoverWidget == widget && hoverControl == HoverScrollBarSubLine) if (hoverWidget == widget && hoverControl == HoverScrollBarSubLine)
flags |= Style_MouseOver; flags |= Style_MouseOver;
drawPrimitive(PE_ScrollBarSubLine, p, subline, cg, flags); drawPrimitive(PE_ScrollBarSubLine, p, ceData, elementFlags, subline, cg, flags);
} }
if ((controls & SC_ScrollBarAddLine) && addline.isValid()) if ((controls & SC_ScrollBarAddLine) && addline.isValid())
{ {
@ -2529,29 +2551,29 @@ void MandrivaStyle::drawComplexControl( ComplexControl control,
flags |= Style_Horizontal; flags |= Style_Horizontal;
if (hoverWidget == widget && hoverControl == HoverScrollBarAddLine) if (hoverWidget == widget && hoverControl == HoverScrollBarAddLine)
flags |= Style_MouseOver; flags |= Style_MouseOver;
drawPrimitive(PE_ScrollBarAddLine, p, addline, cg, flags); drawPrimitive(PE_ScrollBarAddLine, p, ceData, elementFlags, addline, cg, flags);
} }
if ((controls & SC_ScrollBarSubPage) && subpage.isValid()) if ((controls & SC_ScrollBarSubPage) && subpage.isValid())
drawPrimitive(PE_ScrollBarSubPage, p, subpage, cg, drawPrimitive(PE_ScrollBarSubPage, p, ceData, elementFlags, subpage, cg,
Style_Enabled | ((active == SC_ScrollBarSubPage) ? Style_Enabled | ((active == SC_ScrollBarSubPage) ?
Style_Down : Style_Default) | Style_Down : Style_Default) |
((scrollbar->orientation() == TQt::Horizontal) ? ((scrollbar->orientation() == TQt::Horizontal) ?
Style_Horizontal : 0)); Style_Horizontal : 0));
if ((controls & SC_ScrollBarAddPage) && addpage.isValid()) if ((controls & SC_ScrollBarAddPage) && addpage.isValid())
drawPrimitive(PE_ScrollBarAddPage, p, addpage, cg, drawPrimitive(PE_ScrollBarAddPage, p, ceData, elementFlags, addpage, cg,
((maxedOut) ? Style_Default : Style_Enabled) | ((maxedOut) ? Style_Default : Style_Enabled) |
((active == SC_ScrollBarAddPage) ? ((active == SC_ScrollBarAddPage) ?
Style_Down : Style_Default) | Style_Down : Style_Default) |
((scrollbar->orientation() == TQt::Horizontal) ? ((scrollbar->orientation() == TQt::Horizontal) ?
Style_Horizontal : 0)); Style_Horizontal : 0));
if ((controls & SC_ScrollBarFirst) && first.isValid()) if ((controls & SC_ScrollBarFirst) && first.isValid())
drawPrimitive(PE_ScrollBarFirst, p, first, cg, drawPrimitive(PE_ScrollBarFirst, p, ceData, elementFlags, first, cg,
Style_Enabled | ((active == SC_ScrollBarFirst) ? Style_Enabled | ((active == SC_ScrollBarFirst) ?
Style_Down : Style_Default) | Style_Down : Style_Default) |
((scrollbar->orientation() == TQt::Horizontal) ? ((scrollbar->orientation() == TQt::Horizontal) ?
Style_Horizontal : 0)); Style_Horizontal : 0));
if ((controls & SC_ScrollBarLast) && last.isValid()) if ((controls & SC_ScrollBarLast) && last.isValid())
drawPrimitive(PE_ScrollBarLast, p, last, cg, drawPrimitive(PE_ScrollBarLast, p, ceData, elementFlags, last, cg,
Style_Enabled | ((active == SC_ScrollBarLast) ? Style_Enabled | ((active == SC_ScrollBarLast) ?
Style_Down : Style_Default) | Style_Down : Style_Default) |
((scrollbar->orientation() == TQt::Horizontal) ? ((scrollbar->orientation() == TQt::Horizontal) ?
@ -2565,14 +2587,14 @@ void MandrivaStyle::drawComplexControl( ComplexControl control,
flags |= Style_Horizontal; flags |= Style_Horizontal;
if (hoverWidget == widget && hoverControl == HoverScrollBarSlider) if (hoverWidget == widget && hoverControl == HoverScrollBarSlider)
flags |= Style_MouseOver; flags |= Style_MouseOver;
drawPrimitive(PE_ScrollBarSlider, p, slider, cg, flags); drawPrimitive(PE_ScrollBarSlider, p, ceData, elementFlags, slider, cg, flags);
// ### perhaps this should not be able to accept focus if maxedOut? // ### perhaps this should not be able to accept focus if maxedOut?
if (scrollbar->hasFocus()) if (scrollbar->hasFocus())
{ {
TQRect fr(slider.x() + 2, slider.y() + 2, TQRect fr(slider.x() + 2, slider.y() + 2,
slider.width() - 5, slider.height() - 5); slider.width() - 5, slider.height() - 5);
drawPrimitive(PE_FocusRect, p, fr, cg, Style_Default); drawPrimitive(PE_FocusRect, p, ceData, elementFlags, fr, cg, Style_Default);
} }
} }
break; break;
@ -2601,9 +2623,9 @@ void MandrivaStyle::drawComplexControl( ComplexControl control,
if( (controls & SC_ComboBoxEditField )) if( (controls & SC_ComboBoxEditField ))
{ {
TQRect ar = TQStyle::visualRect(querySubControlMetrics(CC_ComboBox, widget, SC_ComboBoxEditField), widget ); TQRect ar = TQStyle::visualRect(querySubControlMetrics(CC_ComboBox, ceData, elementFlags, SC_ComboBoxEditField, opt, widget), widget );
drawPrimitive( PE_PanelLineEdit, p, ar, cg ); drawPrimitive( PE_PanelLineEdit, p, ceData, elementFlags, ar, cg );
} }
//if ( controls & SC_ComboBoxListBoxPopup ) //if ( controls & SC_ComboBoxListBoxPopup )
//{ //{
@ -2611,7 +2633,7 @@ void MandrivaStyle::drawComplexControl( ComplexControl control,
//} //}
if( (controls & SC_ComboBoxArrow )) if( (controls & SC_ComboBoxArrow ))
{ {
TQRect ar = TQStyle::visualRect(querySubControlMetrics(CC_ComboBox, widget, SC_ComboBoxArrow), widget ); TQRect ar = TQStyle::visualRect(querySubControlMetrics(CC_ComboBox, ceData, elementFlags, SC_ComboBoxArrow, opt, widget), widget );
bool mouseOver = (flags & Style_MouseOver) && (hoverControl == HoverComboBoxArrow); bool mouseOver = (flags & Style_MouseOver) && (hoverControl == HoverComboBoxArrow);
if ( sunken ) if ( sunken )
renderGradient(p, TQRect(ar.x()+1, ar.y()+1, ar.width()-1, ar.height()-2), cdata->shades[2], cdata->shades[0], false); renderGradient(p, TQRect(ar.x()+1, ar.y()+1, ar.width()-1, ar.height()-2), cdata->shades[2], cdata->shades[0], false);
@ -2649,7 +2671,7 @@ void MandrivaStyle::drawComplexControl( ComplexControl control,
else else
p->drawLine( ar.x(), ar.y()+1, ar.x(), ar.height()-2 ); p->drawLine( ar.x(), ar.y()+1, ar.x(), ar.height()-2 );
drawComboboxArrow( p,widget,ar,cg,flags,active); drawComboboxArrow( p,ceData,elementFlags,ar,cg,flags,active,widget);
} }
} }
else else
@ -2657,7 +2679,7 @@ void MandrivaStyle::drawComplexControl( ComplexControl control,
TQPen oldPen = p->pen(); TQPen oldPen = p->pen();
// Get the button bounding box // Get the button bounding box
TQRect ar = TQStyle::visualRect(querySubControlMetrics(CC_ComboBox, widget, SC_ComboBoxArrow), widget ); TQRect ar = TQStyle::visualRect(querySubControlMetrics(CC_ComboBox, ceData, elementFlags, SC_ComboBoxArrow, opt, widget), widget );
drawButton( cdata,r,p,cg,flags | (sunken ? Style_Down : Style_Default)); drawButton( cdata,r,p,cg,flags | (sunken ? Style_Down : Style_Default));
//test reverse ! //test reverse !
@ -2676,22 +2698,24 @@ void MandrivaStyle::drawComplexControl( ComplexControl control,
p->drawLine( ar.x()-2,ar.y()+5,ar.x()-2,ar.height()-6); p->drawLine( ar.x()-2,ar.y()+5,ar.x()-2,ar.height()-6);
} }
drawComboboxArrow( p,widget,ar,cg,flags,active); drawComboboxArrow( p,ceData,elementFlags,ar,cg,flags,active,widget);
p->setPen( oldPen );// restore pen p->setPen( oldPen );// restore pen
} }
break; break;
} }
default: default:
TDEStyle::drawComplexControl(control, p, widget, TDEStyle::drawComplexControl(control, p, ceData, elementFlags,
r, cg, flags, controls, active, opt); r, cg, flags, controls, active, opt, widget);
} }
} }
TQRect MandrivaStyle::querySubControlMetrics( ComplexControl control, TQRect MandrivaStyle::querySubControlMetrics( ComplexControl control,
const TQWidget* widget, const TQStyleControlElementData &ceData,
ControlElementFlags elementFlags,
SubControl subcontrol, SubControl subcontrol,
const TQStyleOption& opt ) const const TQStyleOption& opt,
const TQWidget* widget ) const
{ {
switch (control) switch (control)
{ {
@ -2702,7 +2726,7 @@ TQRect MandrivaStyle::querySubControlMetrics( ComplexControl control,
case SC_SpinWidgetButtonField: case SC_SpinWidgetButtonField:
return TQRect( widget->width() -14 , 0, 14, widget->height() ); return TQRect( widget->width() -14 , 0, 14, widget->height() );
default: default:
return TDEStyle::querySubControlMetrics( control, widget, subcontrol, opt ); return TDEStyle::querySubControlMetrics( control, ceData, elementFlags, subcontrol, opt, widget );
} }
} }
//TODO verify it. //TODO verify it.
@ -2729,7 +2753,7 @@ TQRect MandrivaStyle::querySubControlMetrics( ComplexControl control,
return TQRect( 5, 1, widget->width() - arrow-12, widget->height() - 2); return TQRect( 5, 1, widget->width() - arrow-12, widget->height() - 2);
} }
default: default:
return TDEStyle::querySubControlMetrics( control, widget, subcontrol, opt ); return TDEStyle::querySubControlMetrics( control, ceData, elementFlags, subcontrol, opt, widget );
} }
break; break;
} }
@ -2739,8 +2763,8 @@ TQRect MandrivaStyle::querySubControlMetrics( ComplexControl control,
bool horizontal = sl->orientation() == Horizontal; bool horizontal = sl->orientation() == Horizontal;
TQSlider::TickSetting ticks = sl->tickmarks(); TQSlider::TickSetting ticks = sl->tickmarks();
int pos = sl->sliderStart(); int pos = sl->sliderStart();
int handleSize = pixelMetric( PM_SliderThickness, widget ); int handleSize = pixelMetric( PM_SliderThickness, ceData, elementFlags, widget );
int len = pixelMetric( PM_SliderLength, widget ); int len = pixelMetric( PM_SliderLength, ceData, elementFlags, widget );
switch ( subcontrol ) switch ( subcontrol )
{ {
case SC_SliderHandle: case SC_SliderHandle:
@ -2768,14 +2792,16 @@ TQRect MandrivaStyle::querySubControlMetrics( ComplexControl control,
default: default:
break; break;
} }
return TDEStyle::querySubControlMetrics( control, widget, subcontrol, opt ); return TDEStyle::querySubControlMetrics( control, ceData, elementFlags, subcontrol, opt, widget );
} }
void MandrivaStyle::drawComplexControlMask( ComplexControl control, void MandrivaStyle::drawComplexControlMask( ComplexControl control,
TQPainter *p, TQPainter *p,
const TQWidget *widget, const TQStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const TQRect &r, const TQRect &r,
const TQStyleOption& opt ) const const TQStyleOption& opt,
const TQWidget *widget ) const
{ {
//TODO verify //TODO verify
//#if 0 //#if 0
@ -2796,14 +2822,14 @@ void MandrivaStyle::drawComplexControlMask( ComplexControl control,
} }
default: default:
TDEStyle::drawComplexControlMask(control, p, widget, r, opt); TDEStyle::drawComplexControlMask(control, p, ceData, elementFlags, r, opt, widget);
} }
//#endif //#endif
//TDEStyle::drawComplexControlMask(control, p, widget, r, opt); //TDEStyle::drawComplexControlMask(control, p, ceData, elementFlags, r, opt, widget);
} }
int MandrivaStyle::pixelMetric(PixelMetric m, const TQWidget *widget) const int MandrivaStyle::pixelMetric(PixelMetric m, const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, const TQWidget *widget) const
{ {
switch(m) switch(m)
{ {
@ -2841,15 +2867,17 @@ int MandrivaStyle::pixelMetric(PixelMetric m, const TQWidget *widget) const
case PM_TabBarTabShiftVertical: case PM_TabBarTabShiftVertical:
return 0; return 0;
default: default:
return TDEStyle::pixelMetric(m, widget); return TDEStyle::pixelMetric(m, ceData, elementFlags, widget);
} }
} }
TQSize MandrivaStyle::sizeFromContents( ContentsType contents, TQSize MandrivaStyle::sizeFromContents( ContentsType contents,
const TQWidget* widget, const TQStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const TQSize &contentSize, const TQSize &contentSize,
const TQStyleOption& opt ) const const TQStyleOption& opt,
const TQWidget* widget ) const
{ {
switch (contents) switch (contents)
{ {
@ -2876,7 +2904,7 @@ TQSize MandrivaStyle::sizeFromContents( ContentsType contents,
} }
else else
{ {
return TDEStyle::sizeFromContents( contents, widget, contentSize, opt ); return TDEStyle::sizeFromContents( contents, ceData, elementFlags, contentSize, opt, widget );
} }
} }
case CT_ComboBox: case CT_ComboBox:
@ -2898,8 +2926,8 @@ TQSize MandrivaStyle::sizeFromContents( ContentsType contents,
const TQPushButton* button = (const TQPushButton*) widget; const TQPushButton* button = (const TQPushButton*) widget;
int w = contentSize.width(); int w = contentSize.width();
int h = contentSize.height(); int h = contentSize.height();
int bm = pixelMetric( PM_ButtonMargin, widget ); int bm = pixelMetric( PM_ButtonMargin, ceData, elementFlags, widget );
int fw = pixelMetric( PM_DefaultFrameWidth, widget ) * 2; int fw = pixelMetric( PM_DefaultFrameWidth, ceData, elementFlags, widget ) * 2;
w += bm + fw + 6; // ### Add 6 to make way for bold font. w += bm + fw + 6; // ### Add 6 to make way for bold font.
h += bm + fw; h += bm + fw;
@ -2981,76 +3009,82 @@ TQSize MandrivaStyle::sizeFromContents( ContentsType contents,
} }
default: default:
return TDEStyle::sizeFromContents( contents, widget, contentSize, opt ); return TDEStyle::sizeFromContents( contents, ceData, elementFlags, contentSize, opt, widget );
} }
} }
//Why ? why create virtual function ? //Why ? why create virtual function ?
// Fix TQt's wacky image alignment // Fix TQt's wacky image alignment
TQPixmap MandrivaStyle::stylePixmap(StylePixmap stylepixmap, TQPixmap MandrivaStyle::stylePixmap(StylePixmap stylepixmap,
const TQWidget* widget, const TQStyleControlElementData &ceData,
const TQStyleOption& opt) const ControlElementFlags elementFlags,
const TQStyleOption& opt,
const TQWidget* widget) const
{ {
return TDEStyle::stylePixmap(stylepixmap, widget, opt); return TDEStyle::stylePixmap(stylepixmap, ceData, elementFlags, opt, widget);
} }
bool MandrivaStyle::eventFilter( TQObject *object, TQEvent *event ) bool MandrivaStyle::objectEventHandler( const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void* source, TQEvent *ev )
{ {
if (TDEStyle::eventFilter( object, event )) if (TDEStyle::objectEventHandler(ceData, elementFlags, source, ev)) {
return true; return true;
}
if (ceData.widgetObjectTypes.contains(TQOBJECT_OBJECT_NAME_STRING)) {
TQObject* obj = reinterpret_cast<TQObject*>(source);
TQToolBar* toolbar; TQToolBar* toolbar;
//Hover highlight on buttons and combos //Hover highlight on buttons and combos
if ( object->inherits("TQPushButton") if ( obj->inherits("TQPushButton")
|| object->inherits("TQComboBox") || obj->inherits("TQComboBox")
|| object->inherits("TQScrollBar") || obj->inherits("TQScrollBar")
|| object->inherits("TQHeader") || obj->inherits("TQHeader")
|| object->inherits("TQSlider") || obj->inherits("TQSlider")
|| object->inherits("TQCheckBox") || obj->inherits("TQCheckBox")
|| object->inherits("TQSplitterHandle")) || obj->inherits("TQSplitterHandle"))
{ {
if ( (event->type() == TQEvent::Enter) && static_cast<TQWidget*>(object)->isEnabled()) if ( (ev->type() == TQEvent::Enter) && static_cast<TQWidget*>(obj)->isEnabled())
{ {
TQWidget* button = static_cast<TQWidget*>(object); TQWidget* button = static_cast<TQWidget*>(obj);
hoverWidget = button; hoverWidget = button;
button->repaint( false ); button->repaint( false );
} }
else if ( (event->type() == TQEvent::Leave) && (object == hoverWidget) ) else if ( (ev->type() == TQEvent::Leave) && (obj == hoverWidget) )
{ {
TQWidget* button = static_cast<TQWidget*>(object); TQWidget* button = static_cast<TQWidget*>(obj);
hoverWidget = 0; hoverWidget = 0;
hoverControl = HoverNone; hoverControl = HoverNone;
button->repaint( false ); button->repaint( false );
} }
if ((object->inherits("TQScrollBar") || object->inherits("TQComboBox")) if ((obj->inherits("TQScrollBar") || obj->inherits("TQComboBox"))
&& event->type() == TQEvent::MouseMove) && ev->type() == TQEvent::MouseMove)
{ {
TQWidget *button = static_cast<TQWidget*>(object); TQMouseEvent *e = static_cast<TQMouseEvent*>(ev);
TQMouseEvent *e = static_cast<TQMouseEvent*>(event);
// updateHoverControl will trigger a repainting if necessary // updateHoverControl will trigger a repainting if necessary
updateHoverControl(e->pos()); updateHoverControl(e->pos(), ceData, elementFlags);
} }
} }
else if (object->inherits("TQListBox")) else if (obj->inherits("TQListBox"))
{ {
if ( event->type() == TQEvent::Show || event->type() == TQEvent::Hide) if ( ev->type() == TQEvent::Show || ev->type() == TQEvent::Hide)
{ {
TQWidget *w = static_cast<TQWidget*>(object); TQWidget *w = static_cast<TQWidget*>(obj);
if (w->parentWidget() && w->parentWidget()->inherits("TQComboBox")) if (w->parentWidget() && w->parentWidget()->inherits("TQComboBox"))
w->parentWidget()->repaint(false); w->parentWidget()->repaint(false);
} }
} }
else if ( object->parent() && !qstrcmp( object->name(), kdeToolbarWidget ) ) else if ( obj->parent() && !qstrcmp( obj->name(), kdeToolbarWidget ) )
{ {
// Draw a gradient background for custom widgets in the toolbar // Draw a gradient background for custom widgets in the toolbar
// that have specified a "tde toolbar widget" name. // that have specified a "tde toolbar widget" name.
if (event->type() == TQEvent::Paint ) if (ev->type() == TQEvent::Paint )
{ {
// Find the top-level toolbar of this widget, since it may be nested in other // Find the top-level toolbar of this widget, since it may be nested in other
// widgets that are on the toolbar. // widgets that are on the toolbar.
TQWidget *widget = static_cast<TQWidget*>(object); TQWidget *widget = static_cast<TQWidget*>(obj);
TQWidget *parent = static_cast<TQWidget*>(object->parent()); TQWidget *parent = static_cast<TQWidget*>(obj->parent());
int x_offset = widget->x(), y_offset = widget->y(); int x_offset = widget->x(), y_offset = widget->y();
while (parent && parent->parent() && !qstrcmp( parent->name(), kdeToolbarWidget ) ) while (parent && parent->parent() && !qstrcmp( parent->name(), kdeToolbarWidget ) )
{ {
@ -3074,16 +3108,16 @@ bool MandrivaStyle::eventFilter( TQObject *object, TQEvent *event )
return false; // Now draw the contents return false; // Now draw the contents
} }
} }
else if ( object->parent() && else if ( obj->parent() &&
(toolbar = dynamic_cast<TQToolBar*>(object->parent())) ) (toolbar = dynamic_cast<TQToolBar*>(obj->parent())) )
{ {
// We need to override the paint event to draw a // We need to override the paint event to draw a
// gradient on a TQToolBarExtensionWidget. // gradient on a TQToolBarExtensionWidget.
if ( event->type() == TQEvent::Paint ) if ( ev->type() == TQEvent::Paint )
{ {
TQWidget *widget = static_cast<TQWidget*>(object); TQWidget *widget = static_cast<TQWidget*>(obj);
TQRect wr = widget->rect(), tr = toolbar->rect(); TQRect wr = widget->rect();
TQPainter p( widget ); TQPainter p( widget );
renderGradient(&p, wr, toolbar->colorGroup().background(),toolbar->colorGroup().background(), renderGradient(&p, wr, toolbar->colorGroup().background(),toolbar->colorGroup().background(),
toolbar->orientation() == TQt::Vertical);/*, toolbar->orientation() == TQt::Vertical);/*,
@ -3097,6 +3131,7 @@ bool MandrivaStyle::eventFilter( TQObject *object, TQEvent *event )
return true; return true;
} }
} }
}
return false; return false;
} }
@ -3331,7 +3366,7 @@ void MandrivaStyle::drawButton( const MandrivaColorData *cdata, const TQRect & r
} }
TQRect MandrivaStyle::subRect(SubRect r, const TQWidget *widget) const TQRect MandrivaStyle::subRect(SubRect r, const TQStyleControlElementData &ceData, const ControlElementFlags elementFlags, const TQWidget *widget) const
{ {
switch ( r ) switch ( r )
{ {
@ -3353,10 +3388,10 @@ TQRect MandrivaStyle::subRect(SubRect r, const TQWidget *widget) const
} }
case SR_ComboBoxFocusRect: case SR_ComboBoxFocusRect:
{ {
return querySubControlMetrics( CC_ComboBox, widget, SC_ComboBoxEditField ); return querySubControlMetrics( CC_ComboBox, ceData, elementFlags , SC_ComboBoxEditField, TQStyleOption::Default, widget );
} }
default: default:
return TDEStyle::subRect( r, widget ); return TDEStyle::subRect( r, ceData, elementFlags, widget );
} }
} }

@ -51,22 +51,26 @@ public:
MandrivaStyle(); MandrivaStyle();
virtual ~MandrivaStyle(); virtual ~MandrivaStyle();
void polish( TQWidget* widget ); void polish(const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void *);
void unPolish( TQWidget* widget ); void unPolish(const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void *);
void polish( TQApplication *app ); void applicationPolish(const 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;
void drawTDEStylePrimitive( TDEStylePrimitive kpe, void drawTDEStylePrimitive( TDEStylePrimitive kpe,
TQPainter* p, TQPainter* p,
const TQWidget* widget, const TQStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const TQRect &r, const TQRect &r,
const TQColorGroup &cg, const TQColorGroup &cg,
SFlags flags = Style_Default, SFlags flags = Style_Default,
const TQStyleOption& = TQStyleOption::Default ) const; const TQStyleOption& = TQStyleOption::Default,
const TQWidget* widget = 0 ) const;
void drawPrimitive( PrimitiveElement pe, void drawPrimitive( PrimitiveElement pe,
TQPainter* p, TQPainter* p,
const TQStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const TQRect &r, const TQRect &r,
const TQColorGroup &cg, const TQColorGroup &cg,
SFlags flags = Style_Default, SFlags flags = Style_Default,
@ -74,54 +78,72 @@ public:
void drawControl( ControlElement element, void drawControl( ControlElement element,
TQPainter *p, TQPainter *p,
const TQWidget *widget, const TQStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const TQRect &r, const TQRect &r,
const TQColorGroup &cg, const TQColorGroup &cg,
SFlags flags = Style_Default, SFlags flags = Style_Default,
const TQStyleOption& = TQStyleOption::Default ) const; const TQStyleOption& = TQStyleOption::Default,
const TQWidget *widget = 0 ) const;
void drawControlMask( ControlElement element, void drawControlMask( ControlElement element,
TQPainter *p, TQPainter *p,
const TQWidget *widget, const TQStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const TQRect &r, const TQRect &r,
const TQStyleOption& = TQStyleOption::Default ) const; const TQStyleOption& = TQStyleOption::Default,
const TQWidget *widget = 0 ) const;
void drawComplexControl( ComplexControl control, void drawComplexControl( ComplexControl control,
TQPainter *p, TQPainter *p,
const TQWidget *widget, const TQStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const TQRect &r, const TQRect &r,
const TQColorGroup &cg, const TQColorGroup &cg,
SFlags flags = Style_Default, SFlags flags = Style_Default,
SCFlags controls = SC_All, SCFlags controls = SC_All,
SCFlags active = SC_None, SCFlags active = SC_None,
const TQStyleOption& = TQStyleOption::Default ) const; const TQStyleOption& = TQStyleOption::Default ,
const TQWidget *widget = 0 ) const;
void drawComplexControlMask( ComplexControl control, void drawComplexControlMask( ComplexControl control,
TQPainter *p, TQPainter *p,
const TQWidget *widget, const TQStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const TQRect &r, const TQRect &r,
const TQStyleOption& = TQStyleOption::Default ) const; const TQStyleOption& = TQStyleOption::Default,
const TQWidget *widget = 0 ) const;
int pixelMetric( PixelMetric m, int pixelMetric( PixelMetric m,
const TQStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const TQWidget *widget = 0 ) const; const TQWidget *widget = 0 ) const;
TQSize sizeFromContents( ContentsType contents, TQSize sizeFromContents( ContentsType contents,
const TQWidget *widget, const TQStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const TQSize &contentSize, const TQSize &contentSize,
const TQStyleOption& opt ) const; const TQStyleOption& opt,
const TQWidget *widget = 0 ) const;
TQRect subRect( SubRect r, TQRect subRect( SubRect r,
const TQStyleControlElementData &ceData,
const ControlElementFlags elementFlags,
const TQWidget *widget ) const; const TQWidget *widget ) const;
// Fix TQt3's wacky image positions // Fix TQt3's wacky image positions
TQPixmap stylePixmap( StylePixmap stylepixmap, TQPixmap stylePixmap( StylePixmap stylepixmap,
const TQWidget *widget = 0, const TQStyleControlElementData &ceData,
const TQStyleOption& = TQStyleOption::Default ) const; ControlElementFlags elementFlags,
const TQStyleOption& = TQStyleOption::Default,
const TQWidget *widget = 0 ) const;
TQRect querySubControlMetrics( ComplexControl control, TQRect querySubControlMetrics( ComplexControl control,
const TQWidget* widget, const TQStyleControlElementData &ceData,
ControlElementFlags elementFlags,
SubControl subcontrol, SubControl subcontrol,
const TQStyleOption& opt = TQStyleOption::Default ) const; const TQStyleOption& opt = TQStyleOption::Default,
const TQWidget* widget = 0 ) const;
protected: protected:
enum Hover enum Hover
@ -141,7 +163,7 @@ protected:
}; };
bool eventFilter( TQObject *object, TQEvent *event ); virtual bool objectEventHandler( const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void* source, TQEvent *e );
void renderGradient(TQPainter* p, void renderGradient(TQPainter* p,
const TQRect& r, const TQRect& r,
@ -225,11 +247,13 @@ private:
bool active) const; bool active) const;
void drawComboboxArrow( TQPainter *p, void drawComboboxArrow( TQPainter *p,
const TQWidget *widget, const TQStyleControlElementData &ceData,
ControlElementFlags elementFlags,
const TQRect &r, const TQRect &r,
const TQColorGroup &cg, const TQColorGroup &cg,
SFlags flags, SFlags flags,
SCFlags active)const; SCFlags active,
const TQWidget *widget)const;
void drawMandrivaArrow( TQPointArray a, TQPainter *p, void drawMandrivaArrow( TQPointArray a, TQPainter *p,
const TQRect &r, const TQRect &r,
@ -243,7 +267,7 @@ private:
bool isFormWidget(const TQWidget* widget) const; bool isFormWidget(const TQWidget* widget) const;
bool excludeColor(const TQColor &col, bool active) const; bool excludeColor(const TQColor &col, bool active) const;
void getShade (const TQColorGroup &cg, int shadenr, TQColor &res) const; void getShade (const TQColorGroup &cg, int shadenr, TQColor &res) const;
void updateHoverControl(const TQPoint &pos); void updateHoverControl(const TQPoint &pos, const TQStyleControlElementData &ceData, ControlElementFlags elementFlags);
TQIntCache<MandrivaColorData> m_dataCache; TQIntCache<MandrivaColorData> m_dataCache;
static const double shading[8]; static const double shading[8];
mutable bool formMode; mutable bool formMode;

Loading…
Cancel
Save