summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-11-03 21:42:44 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-11-03 21:42:44 -0500
commit06d51bc1ec0abbb14c3770e7d86d6777dd66e917 (patch)
tree197019d1f3506a3ec0ea0473a5871c369cc0cb76
parentf16f8eb6bf27ae9dcebbcac7db0a5dbe673a27c5 (diff)
downloadtdeartwork-06d51bc1ec0abbb14c3770e7d86d6777dd66e917.tar.gz
tdeartwork-06d51bc1ec0abbb14c3770e7d86d6777dd66e917.zip
Fix style crashes when used with third party toolkits
-rw-r--r--styles/dotnet/dotnet.cpp98
-rw-r--r--styles/phase/phasestyle.cpp93
-rw-r--r--styles/phase/phasestyle.h2
3 files changed, 86 insertions, 107 deletions
diff --git a/styles/dotnet/dotnet.cpp b/styles/dotnet/dotnet.cpp
index e73d40d8..107f182b 100644
--- a/styles/dotnet/dotnet.cpp
+++ b/styles/dotnet/dotnet.cpp
@@ -114,17 +114,17 @@ void dotNETstyle::polish(TQStyleControlElementData ceData, ControlElementFlags e
if (ceData.widgetObjectTypes.contains(TQWIDGET_OBJECT_NAME_STRING)) {
TQWidget *widget = reinterpret_cast<TQWidget*>(ptr);
- if (!qstrcmp(tqApp->argv()[0], "kicker") || widget->inherits("Kicker"))
+ if (!qstrcmp(tqApp->argv()[0], "kicker") || ceData.widgetObjectTypes.contains("Kicker"))
kickerMode = true;
- if (widget->isTopLevel())
+ if (elementFlags & CEF_IsTopLevel)
return;
// we can't simply set a palette -- upon color-theme changes, we have
// to update the palette again.
// bool extraPalette = false;
- if (widget->inherits(TQCOMBOBOX_OBJECT_NAME_STRING) && !inheritsKHTML(widget)) {
+ if (ceData.widgetObjectTypes.contains(TQCOMBOBOX_OBJECT_NAME_STRING) && !inheritsKHTML(widget)) {
installObjectEventHandler(ceData, elementFlags, ptr, this);
updatePalette( (TQComboBox*) widget );
// extraPalette = true;
@@ -137,10 +137,10 @@ void dotNETstyle::polish(TQStyleControlElementData ceData, ControlElementFlags e
// other bad things (see bug #54569)
/*
if (!widget->ownPalette()) {
- if (widget->inherits(TQTOOLBAR_OBJECT_NAME_STRING)) {
+ if (ceData.widgetObjectTypes.contains(TQTOOLBAR_OBJECT_NAME_STRING)) {
updatePalette( (TQToolBar*) widget );
extraPalette = true;
- } else if (widget->inherits(TQMENUBAR_OBJECT_NAME_STRING)) {
+ } else if (ceData.widgetObjectTypes.contains(TQMENUBAR_OBJECT_NAME_STRING)) {
updatePalette( (TQMenuBar*) widget );
extraPalette = true;
}
@@ -156,7 +156,7 @@ void dotNETstyle::unPolish(TQStyleControlElementData ceData, ControlElementFlags
if (ceData.widgetObjectTypes.contains(TQWIDGET_OBJECT_NAME_STRING)) {
TQWidget *widget = reinterpret_cast<TQWidget*>(ptr);
- if (widget->inherits(TQCOMBOBOX_OBJECT_NAME_STRING) && !inheritsKHTML(widget)) {
+ if (ceData.widgetObjectTypes.contains(TQCOMBOBOX_OBJECT_NAME_STRING) && !inheritsKHTML(widget)) {
removeObjectEventHandler(ceData, elementFlags, ptr, this);
}
}
@@ -390,10 +390,9 @@ void dotNETstyle::drawKStylePrimitive(KStylePrimitive kpe,
// ------
switch( kpe ) {
case KPE_SliderGroove: {
- const TQSlider* slider = (const TQSlider*)widget;
int x, y, w, h;
r.rect(&x, &y, &w, &h);
- bool horizontal = slider->orientation() ==Qt::Horizontal;
+ bool horizontal = ceData.orientation == TQt::Horizontal;
int gcenter = (horizontal ? h : w) / 2;
if (horizontal) {
@@ -828,11 +827,9 @@ void dotNETstyle::drawControl(TQ_ControlElement element,
}
case CE_ProgressBarContents: {
- const TQProgressBar *pb = (const TQProgressBar *)widget;
-
- if (pb->totalSteps()) {
+ if (ceData.totalSteps) {
int x, y, w, h;
- double percent = (double)pb->progress() / (double)pb->totalSteps();
+ double percent = (double)ceData.currentStep / (double)ceData.totalSteps;
r.rect(&x, &y, &w, &h);
@@ -849,7 +846,7 @@ void dotNETstyle::drawControl(TQ_ControlElement element,
p->fillRect(x, y, w, h, cg.highlight());
- if (pb->progress() < pb->totalSteps()) {
+ if (ceData.currentStep < ceData.totalSteps) {
p->setPen(cg.background().dark(115));
if (TQApplication::reverseLayout()) {
p->drawLine(x - 1, y, x - 1, h);
@@ -1107,7 +1104,6 @@ void dotNETstyle::drawControl(TQ_ControlElement element,
}
case CE_PushButtonLabel: {
- const TQPushButton *pb = (const TQPushButton *)widget;
const bool enabled = flags & Style_Enabled;
const int text_flags = AlignVCenter | AlignHCenter | ShowPrefix |
DontClip | SingleLine;
@@ -1118,19 +1114,19 @@ void dotNETstyle::drawControl(TQ_ControlElement element,
pixelMetric(PM_ButtonShiftVertical, ceData, elementFlags));
}
- if (!pb->text().isEmpty() && (flags & Style_ButtonDefault)) {
+ if (!ceData.text.isEmpty() && (flags & Style_ButtonDefault)) {
p->setFont(TQFont(p->font().family(), p->font().pointSize(), 75));
}
- if (pb->iconSet() && !pb->iconSet()->isNull()) {
+ if (!ceData.iconSet.isNull()) {
TQIconSet::Mode mode = enabled ? TQIconSet::Normal : TQIconSet::Disabled;
- TQPixmap pixmap = pb->iconSet()->pixmap(TQIconSet::Small, mode);
+ TQPixmap pixmap = ceData.iconSet.pixmap(TQIconSet::Small, mode);
- if (!pb->text().isEmpty())
+ if (!ceData.text.isEmpty())
{
const int TextToIconMargin = 3;
int length = pixmap.width() + TextToIconMargin
- + p->fontMetrics().size(ShowPrefix, pb->text()).width();
+ + p->fontMetrics().size(ShowPrefix, ceData.text).width();
int offset = (r.width() - length)/2;
p->drawPixmap( r.x() + offset, r.y() + r.height() / 2 - pixmap.height() / 2, pixmap );
@@ -1138,28 +1134,28 @@ void dotNETstyle::drawControl(TQ_ControlElement element,
}
else
{
- if (!pb->pixmap())
+ if (ceData.fgPixmap.isNull())
p->drawPixmap(r.x() + r.width()/2 - pixmap.width()/2, r.y() + r.height() / 2 - pixmap.height() / 2,
pixmap);
else //icon + pixmap. Ugh.
- p->drawPixmap(r.x() + pb->isDefault() ? 8 : 4 , r.y() + r.height() / 2 - pixmap.height() / 2, pixmap);
+ p->drawPixmap(r.x() + (elementFlags & CEF_IsDefault) ? 8 : 4 , r.y() + r.height() / 2 - pixmap.height() / 2, pixmap);
}
}
- if (pb->pixmap() && !pb->text()) {
- TQRect pr(0, 0, pb->pixmap()->width(), pb->pixmap()->height());
+ if ((!ceData.fgPixmap.isNull()) && !ceData.text) {
+ TQRect pr(0, 0, ceData.fgPixmap.width(), ceData.fgPixmap.height());
pr.moveCenter(r.center());
- p->drawPixmap(pr.topLeft(), *pb->pixmap());
+ p->drawPixmap(pr.topLeft(), (ceData.fgPixmap.isNull())?NULL:ceData.fgPixmap);
}
- if (useTextShadows && !pb->text().isEmpty() && enabled) {
+ if (useTextShadows && !ceData.text.isEmpty() && enabled) {
p->setPen((flags & Style_Down ? cg.highlight().dark(135) : cg.background().dark(115)));
- p->drawText(ur.x()+1, ur.y()+1, ur.width(), ur.height(), text_flags, pb->text());
+ p->drawText(ur.x()+1, ur.y()+1, ur.width(), ur.height(), text_flags, ceData.text);
}
- if (!pb->text().isEmpty()) {
- p->setPen(enabled ? cg.foreground() : pb->palette().disabled().buttonText());
- p->drawText(ur, text_flags, pb->text());
+ if (!ceData.text.isEmpty()) {
+ p->setPen(enabled ? cg.foreground() : ceData.palette.disabled().buttonText());
+ p->drawText(ur, text_flags, ceData.text);
}
if ( flags & Style_HasFocus )
@@ -1484,7 +1480,6 @@ void dotNETstyle::drawComplexControl(ComplexControl control,
// --------
case CC_ComboBox: {
int x, y, w, h;
- const TQComboBox *cb = (const TQComboBox *)widget;
r.rect(&x, &y, &w, &h);
if (active & Style_Sunken)
@@ -1501,13 +1496,13 @@ void dotNETstyle::drawComplexControl(ComplexControl control,
TQBitmap downArrow = TQBitmap(7, 4, downarrow_bits, true);
downArrow.setMask(downArrow);
- cb->editable() ? p->fillRect(x + 1, y + 1, w - 2, h - 2, cg.base()) : p->fillRect(x + 1, y + 1, w - 2, h - 2, cg.light());
+ (elementFlags & CEF_IsEditable) ? p->fillRect(x + 1, y + 1, w - 2, h - 2, cg.base()) : p->fillRect(x + 1, y + 1, w - 2, h - 2, cg.light());
renderPanel(p, r, cg, true, true);
p->save();
// Draw the box on the right.
- if (cb->listBox() && cb->listBox()->isVisible()) {
+ if (ceData.comboBoxListBoxFlags & CEF_IsVisible) {
p->setPen(cg.highlight());
p->setBrush(cg.highlight().light());
} else if (flags & Style_HasFocus) {
@@ -1528,12 +1523,12 @@ void dotNETstyle::drawComplexControl(ComplexControl control,
if (TQApplication::reverseLayout()) { rr = visualRect( rr, r ); }
if (flags & Style_HasFocus || cg.highlight() == cg.midlight() ||
- (cb->listBox() && cb->listBox()->isVisible())) {
+ (ceData.comboBoxListBoxFlags & CEF_IsVisible)) {
p->drawRect(rr);
}
if (pseudo3D && !((active & Style_Sunken) ||
- (cb->listBox() && cb->listBox()->isVisible()))) {
+ (ceData.comboBoxListBoxFlags & CEF_IsVisible))) {
p->save();
p->setBrush(NoBrush);
TQColor test = ((flags & Style_HasFocus) ? cg.highlight() : cg.midlight());
@@ -1564,7 +1559,7 @@ void dotNETstyle::drawComplexControl(ComplexControl control,
p->drawPoint(hr.bottomLeft());
}
- if ((active && cb->hasFocus()) || (cb->listBox() && cb->listBox()->isVisible())) {
+ if ((active && (elementFlags & CEF_HasFocus)) || (ceData.comboBoxListBoxFlags & CEF_IsVisible)) {
p->setPen(cg.highlightedText());
} else {
p->setPen(cg.text());
@@ -1737,7 +1732,7 @@ TQRect dotNETstyle::subRect(SubRect r, const TQStyleControlElementData ceData, c
}
case SR_PushButtonFocusRect: {
- TQRect rect = widget->rect();
+ TQRect rect = ceData.rect;
int margin = pixelMetric(PM_ButtonDefaultIndicator, ceData, elementFlags, widget) + pixelMetric(PM_DefaultFrameWidth, ceData, elementFlags, widget) + 2;
rect.addCoords(margin, margin, -margin, -margin);
@@ -1762,11 +1757,7 @@ TQRect dotNETstyle::querySubControlMetrics(ComplexControl control,
const TQStyleOption &opt,
const TQWidget *widget) const
{
- if (!widget) {
- return TQRect();
- }
-
- TQRect r(widget->rect());
+ TQRect r(ceData.rect);
switch (control) {
case CC_ComboBox: {
switch (subcontrol) {
@@ -1783,12 +1774,12 @@ TQRect dotNETstyle::querySubControlMetrics(ComplexControl control,
case CC_SpinWidget: {
int fw = pixelMetric(PM_SpinBoxFrameWidth, ceData, elementFlags, widget);
TQSize bs;
- bs.setHeight(TQMAX(8, widget->height()/2));
- bs.setWidth(TQMIN(bs.height() * 8 / 5, widget->width() / 4));
+ bs.setHeight(TQMAX(8, ceData.rect.height()/2));
+ bs.setWidth(TQMIN(bs.height() * 8 / 5, ceData.rect.width() / 4));
int y = fw;
int x, lx;
- x = widget->width() - y - bs.width();
+ x = ceData.rect.width() - y - bs.width();
lx = fw;
switch (subcontrol) {
@@ -1799,13 +1790,13 @@ TQRect dotNETstyle::querySubControlMetrics(ComplexControl control,
return TQRect(x, y + bs.height()-1, bs.width(), bs.height());
}
case SC_SpinWidgetFrame: {
- return TQRect(0, 0, widget->width() - (bs.width() + 2), widget->height());
+ return TQRect(0, 0, ceData.rect.width() - (bs.width() + 2), ceData.rect.height());
}
case SC_SpinWidgetEditField: {
- return TQRect(lx, fw, widget->width() - (bs.width() + 4), widget->height() - 2 * fw);
+ return TQRect(lx, fw, ceData.rect.width() - (bs.width() + 4), ceData.rect.height() - 2 * fw);
}
case SC_SpinWidgetButtonField: {
- return TQRect(x, y, bs.width(), widget->height() - 2 * fw);
+ return TQRect(x, y, bs.width(), ceData.rect.height() - 2 * fw);
}
default: {
}
@@ -1885,11 +1876,10 @@ int dotNETstyle::pixelMetric(PixelMetric m, TQStyleControlElementData ceData, Co
if (!pseudo3D) {
return 1;
} else {
- if (widget &&
- (widget->inherits(TQPOPUPMENU_OBJECT_NAME_STRING) ||
- widget->inherits(TQMENUBAR_OBJECT_NAME_STRING) ||
- widget->inherits(TQRANGECONTROL_OBJECT_NAME_STRING) ||
- widget->inherits(TQSCROLLVIEW_OBJECT_NAME_STRING))) {
+ if (ceData.widgetObjectTypes.contains(TQPOPUPMENU_OBJECT_NAME_STRING) ||
+ ceData.widgetObjectTypes.contains(TQMENUBAR_OBJECT_NAME_STRING) ||
+ ceData.widgetObjectTypes.contains(TQRANGECONTROL_OBJECT_NAME_STRING) ||
+ ceData.widgetObjectTypes.contains(TQSCROLLVIEW_OBJECT_NAME_STRING)) {
return 1;
} else {
return 2;
@@ -1953,7 +1943,7 @@ TQSize dotNETstyle::sizeFromContents(ContentsType t,
h = TQMAX(h, mi->pixmap()->height() + 8);
}
- h = TQMAX(h, widget->fontMetrics().height() + 10);
+ h = TQMAX(h, TQFontMetrics(ceData.font).height() + 10);
if (mi->iconSet()) {
h = TQMAX(h, mi->iconSet()->pixmap(TQIconSet::Small, TQIconSet::Normal).height() + 8);
@@ -2128,7 +2118,7 @@ int dotNETstyle::styleHint(StyleHint sh, TQStyleControlElementData ceData, Contr
}
break;
default:
- ret = TQCommonStyle::styleHint(sh, ceData, elementFlags, opt, returnData, w);
+ ret = KStyle::styleHint(sh, ceData, elementFlags, opt, returnData, w);
break;
}
diff --git a/styles/phase/phasestyle.cpp b/styles/phase/phasestyle.cpp
index 067fe804..4a113795 100644
--- a/styles/phase/phasestyle.cpp
+++ b/styles/phase/phasestyle.cpp
@@ -638,8 +638,8 @@ void PhaseStyle::drawPrimitive(TQ_PrimitiveElement element,
horiz = true;
}
- if ((widget) && ((widget->inherits(TQPOPUPMENU_OBJECT_NAME_STRING)) ||
- (widget->inherits("KPopupTitle")))) {
+ if ((ceData.widgetObjectTypes.contains(TQPOPUPMENU_OBJECT_NAME_STRING)) ||
+ (ceData.widgetObjectTypes.contains("KPopupTitle"))) {
// kicker/kdesktop menu titles
drawPhaseBevel(painter, x,y,w,h,
group, group.background(), depress, !horiz);
@@ -894,12 +894,11 @@ void PhaseStyle::drawPrimitive(TQ_PrimitiveElement element,
widget = dynamic_cast<TQWidget*>(painter->device());
bool flat = true;
- if (widget && widget->parent() &&
- widget->parent()->inherits(TQTOOLBAR_OBJECT_NAME_STRING)) {
+ if (ceData.parentWidgetData.widgetObjectTypes.contains(TQTOOLBAR_OBJECT_NAME_STRING)) {
TQToolBar *toolbar = ::tqqt_cast<TQToolBar*>(widget->parent());
if (toolbar) {
// toolbar not floating or in a TQMainWindow
- flat = flatToolbar(toolbar);
+ flat = flatToolbar(ceData, elementFlags, toolbar);
}
}
@@ -1113,15 +1112,12 @@ void PhaseStyle::drawKStylePrimitive(KStylePrimitive element,
break;
case KPE_SliderGroove: {
- const TQSlider* slider = ::tqqt_cast<const TQSlider*>(widget);
- if (slider) {
- if (slider->orientation() ==Qt::Horizontal) {
- y = cy - 3;
- h = 7;
- } else {
- x = cx - 3;
- w = 7;
- }
+ if (ceData.orientation == TQt::Horizontal) {
+ y = cy - 3;
+ h = 7;
+ } else {
+ x = cx - 3;
+ w = 7;
}
drawPhasePanel(painter, x, y, w, h, group, true,
&group.brush(TQColorGroup::Mid));
@@ -1129,22 +1125,19 @@ void PhaseStyle::drawKStylePrimitive(KStylePrimitive element,
}
case KPE_SliderHandle: {
- const TQSlider* slider = ::tqqt_cast<const TQSlider*>(widget);
- if (slider) {
- TQColor color = (flags & Style_MouseOver)
- ? TQColor(group.button().light(contrast))
- : group.button();
- if (slider->orientation() ==Qt::Horizontal) {
- drawPhaseBevel(painter, cx-5, y, 6, h, group, color,
- false, false, false);
- drawPhaseBevel(painter, cx, y, 6, h, group, color,
- false, false, false);
- } else {
- drawPhaseBevel(painter, x, cy-5, w, 6, group, color,
- false, true, false);
- drawPhaseBevel(painter, x, cy, w, 6, group, color,
- false, true, false);
- }
+ TQColor color = (flags & Style_MouseOver)
+ ? TQColor(group.button().light(contrast))
+ : group.button();
+ if (ceData.orientation == TQt::Horizontal) {
+ drawPhaseBevel(painter, cx-5, y, 6, h, group, color,
+ false, false, false);
+ drawPhaseBevel(painter, cx, y, 6, h, group, color,
+ false, false, false);
+ } else {
+ drawPhaseBevel(painter, x, cy-5, w, 6, group, color,
+ false, true, false);
+ drawPhaseBevel(painter, x, cy, w, 6, group, color,
+ false, true, false);
}
break;
}
@@ -1308,7 +1301,7 @@ void PhaseStyle::drawControl(TQ_ControlElement element,
const TQToolBar *tb = ::tqqt_cast<const TQToolBar*>(widget);
if (tb) {
// toolbar not floating or in a TQMainWindow
- if (flatToolbar(tb)) {
+ if (flatToolbar(ceData, elementFlags, tb)) {
if (tb->backgroundMode() == PaletteButton)
// force default button color to background color
painter->fillRect(rect, group.background());
@@ -1381,9 +1374,8 @@ void PhaseStyle::drawControl(TQ_ControlElement element,
// draw background
if (active && enabled) {
painter->fillRect(x, y, w, h, group.highlight());
- } else if (widget->erasePixmap() &&
- !widget->erasePixmap()->isNull()) {
- painter->drawPixmap(x, y, *widget->erasePixmap(), x, y, w, h);
+ } else if (!ceData.bgPixmap.isNull()) {
+ painter->drawPixmap(x, y, ceData.bgPixmap, x, y, w, h);
} else {
painter->fillRect(x, y, w, h, group.background());
}
@@ -1879,7 +1871,7 @@ void PhaseStyle::drawComplexControl(TQ_ComplexControl control,
if (toolbar) {
horiz = (toolbar->orientation() == Qt::Horizontal);
if (normal) { // draw background
- if (flatToolbar(toolbar)) {
+ if (flatToolbar(ceData, elementFlags, toolbar)) {
// toolbar not floating or in a TQMainWindow
painter->fillRect(rect, group.background());
} else {
@@ -2071,7 +2063,7 @@ TQRect PhaseStyle::querySubControlMetrics(TQ_ComplexControl control,
TQRect rect;
const int fw = pixelMetric(PM_DefaultFrameWidth, ceData, elementFlags, widget);
- int w = widget->width(), h = widget->height();
+ int w = ceData.rect.width(), h = ceData.rect.height();
int xc;
switch (control) {
@@ -2081,7 +2073,7 @@ TQRect PhaseStyle::querySubControlMetrics(TQ_ComplexControl control,
switch (subcontrol) {
case SC_ComboBoxFrame: // total combobox area
- rect = widget->rect();
+ rect = ceData.rect;
break;
case SC_ComboBoxArrow: // the right side
@@ -2103,10 +2095,7 @@ TQRect PhaseStyle::querySubControlMetrics(TQ_ComplexControl control,
}
case CC_ScrollBar: {
- const TQScrollBar *sb = ::tqqt_cast<const TQScrollBar*>(widget);
- if (!sb) break;
-
- bool horizontal = (sb->orientation() == Qt::Horizontal);
+ bool horizontal = (ceData.orientation == TQt::Horizontal);
rect = KStyle::querySubControlMetrics(control, ceData, elementFlags,
subcontrol, option, widget);
@@ -2119,7 +2108,7 @@ TQRect PhaseStyle::querySubControlMetrics(TQ_ComplexControl control,
}
case CC_SpinWidget: {
- bool odd = widget->height() % 2;
+ bool odd = ceData.rect.height() % 2;
xc = (h * 3 / 4) + odd; // position between edit and arrows
switch (subcontrol) {
@@ -2132,7 +2121,7 @@ TQRect PhaseStyle::querySubControlMetrics(TQ_ComplexControl control,
break;
case SC_SpinWidgetFrame:
- rect = widget->rect();
+ rect = ceData.rect;
break;
case SC_SpinWidgetUp:
@@ -2254,7 +2243,7 @@ TQSize PhaseStyle::sizeFromContents(ContentsType contents,
// -------------
// Is the toolbar "flat"
-bool PhaseStyle::flatToolbar(const TQToolBar *toolbar) const
+bool PhaseStyle::flatToolbar(const TQStyleControlElementData ceData, const ControlElementFlags elementFlags, const TQToolBar *toolbar) const
{
if (!toolbar) return true; // not on a toolbar
if (!toolbar->isMovingEnabled()) return true; // immobile toolbars are flat
@@ -2280,7 +2269,7 @@ int PhaseStyle::styleHint(StyleHint sh, TQStyleControlElementData ceData, Contro
}
break;
default:
- ret = TQCommonStyle::styleHint(sh, ceData, elementFlags, opt, returnData, w);
+ ret = KStyle::styleHint(sh, ceData, elementFlags, opt, returnData, w);
break;
}
@@ -2316,7 +2305,7 @@ bool PhaseStyle::objectEventHandler( TQStyleControlElementData ceData, ControlEl
if (object->parent() && !qstrcmp(object->name(), KTOOLBARWIDGET)) {
if (0 == (widget = ::tqqt_cast<TQWidget*>(object))) return false;
TQWidget *parent = ::tqqt_cast<TQWidget*>(object->parent());
- int px = widget->x(), py = widget->y();
+ int px = ceData.rect.x(), py = ceData.rect.y();
// find the toolbar
while (parent && parent->parent()
&& !::tqqt_cast<TQToolBar*>(parent)) {
@@ -2325,18 +2314,18 @@ bool PhaseStyle::objectEventHandler( TQStyleControlElementData ceData, ControlEl
parent = ::tqqt_cast<TQWidget*>(parent->parent());
}
if (!parent) return false;
- TQT_TQRECT_OBJECT(widget->rect()).rect(&x, &y, &w, &h);
+ TQT_TQRECT_OBJECT(ceData.rect).rect(&x, &y, &w, &h);
TQRect prect = parent->rect();
toolbar = ::tqqt_cast<TQToolBar*>(parent);
horiz = (toolbar) ? (toolbar->orientation() == Qt::Horizontal)
: (prect.height() < prect.width());
TQPainter painter(widget);
- if (flatToolbar(toolbar)) {
- painter.fillRect(widget->rect(),
+ if (flatToolbar(ceData, elementFlags, toolbar)) {
+ painter.fillRect(ceData.rect,
parent->colorGroup().background());
} else {
- drawPhaseGradient(&painter, widget->rect(),
+ drawPhaseGradient(&painter, ceData.rect,
parent->colorGroup().background(),
!horiz, px, py,
prect.width(), prect.height(), true);
@@ -2356,9 +2345,9 @@ bool PhaseStyle::objectEventHandler( TQStyleControlElementData ceData, ControlEl
if (0 == (widget = ::tqqt_cast<TQWidget*>(object))) return false;
horiz = (toolbar->orientation() == Qt::Horizontal);
TQPainter painter(widget);
- TQT_TQRECT_OBJECT(widget->rect()).rect(&x, &y, &w, &h);
+ TQT_TQRECT_OBJECT(ceData.rect).rect(&x, &y, &w, &h);
// draw the extension
- drawPhaseGradient(&painter, widget->rect(),
+ drawPhaseGradient(&painter, ceData.rect,
toolbar->colorGroup().background(),
!horiz, x, y, w-1, h-1, true);
if (horiz) {
diff --git a/styles/phase/phasestyle.h b/styles/phase/phasestyle.h
index 2612bf66..f24e3eaa 100644
--- a/styles/phase/phasestyle.h
+++ b/styles/phase/phasestyle.h
@@ -187,7 +187,7 @@ class PhaseStyle : public KStyle
int pw=-1, int ph=-1,
bool reverse=false) const;
- bool flatToolbar(const TQToolBar *toolbar) const;
+ bool flatToolbar(const TQStyleControlElementData ceData, const ControlElementFlags elementFlags, const TQToolBar *toolbar) const;
bool objectEventHandler( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void* source, TQEvent *e );