summaryrefslogtreecommitdiffstats
path: root/src/widgets/styles/qgtkstyle.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/styles/qgtkstyle.cpp')
-rw-r--r--src/widgets/styles/qgtkstyle.cpp41
1 files changed, 21 insertions, 20 deletions
diff --git a/src/widgets/styles/qgtkstyle.cpp b/src/widgets/styles/qgtkstyle.cpp
index 4a7f972436..dc79e45e13 100644
--- a/src/widgets/styles/qgtkstyle.cpp
+++ b/src/widgets/styles/qgtkstyle.cpp
@@ -1056,7 +1056,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
if (isActive ) {
// Required for active/non-active window appearance
key = QLS("a");
- GTK_WIDGET_SET_FLAGS(gtkTreeView, GTK_HAS_FOCUS);
+ QGtkStylePrivate::gtkWidgetSetFocus(gtkTreeView, true);
}
bool isEnabled = (widget ? widget->isEnabled() : (vopt->state & QStyle::State_Enabled));
gtkPainter.paintFlatBox(gtkTreeView, detail, option->rect,
@@ -1064,7 +1064,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
isEnabled ? GTK_STATE_NORMAL : GTK_STATE_INSENSITIVE,
GTK_SHADOW_OUT, d->gtk_widget_get_style(gtkTreeView), key);
if (isActive )
- GTK_WIDGET_UNSET_FLAGS(gtkTreeView, GTK_HAS_FOCUS);
+ QGtkStylePrivate::gtkWidgetSetFocus(gtkTreeView, false);
}
}
break;
@@ -1193,7 +1193,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
rect.adjust(focus_line_width, focus_line_width, -focus_line_width, -focus_line_width);
if (option->state & State_HasFocus)
- GTK_WIDGET_SET_FLAGS(gtkEntry, GTK_HAS_FOCUS);
+ QGtkStylePrivate::gtkWidgetSetFocus(gtkEntry, true);
gtkPainter.paintShadow(gtkEntry, "entry", rect, option->state & State_Enabled ?
GTK_STATE_NORMAL : GTK_STATE_INSENSITIVE,
GTK_SHADOW_IN, d->gtk_widget_get_style(gtkEntry),
@@ -1204,7 +1204,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
GTK_SHADOW_IN, d->gtk_widget_get_style(gtkEntry), QLS("GtkEntryShadowIn"));
if (option->state & State_HasFocus)
- GTK_WIDGET_UNSET_FLAGS(gtkEntry, GTK_HAS_FOCUS);
+ QGtkStylePrivate::gtkWidgetSetFocus(gtkEntry, false);
}
break;
@@ -1292,7 +1292,8 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
QString key;
if (isDefault) {
key += QLS("def");
- GTK_WIDGET_SET_FLAGS(gtkButton, GTK_HAS_DEFAULT);
+ QGtkStylePrivate::gtk_widget_set_can_default(gtkButton, true);
+ QGtkStylePrivate::gtk_window_set_default((GtkWindow*)QGtkStylePrivate::gtk_widget_get_toplevel(gtkButton), gtkButton);
gtkPainter.paintBox(gtkButton, "buttondefault", buttonRect, state, GTK_SHADOW_IN,
style, isDefault ? QLS("d") : QString());
}
@@ -1301,7 +1302,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
if (hasFocus) {
key += QLS("def");
- GTK_WIDGET_SET_FLAGS(gtkButton, GTK_HAS_FOCUS);
+ QGtkStylePrivate::gtkWidgetSetFocus(gtkButton, true);
}
if (!interiorFocus)
@@ -1313,9 +1314,9 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
gtkPainter.paintBox(gtkButton, "button", buttonRect, state, shadow,
style, key);
if (isDefault)
- GTK_WIDGET_UNSET_FLAGS(gtkButton, GTK_HAS_DEFAULT);
+ QGtkStylePrivate::gtk_window_set_default((GtkWindow*)QGtkStylePrivate::gtk_widget_get_toplevel(gtkButton), 0);
if (hasFocus)
- GTK_WIDGET_UNSET_FLAGS(gtkButton, GTK_HAS_FOCUS);
+ QGtkStylePrivate::gtkWidgetSetFocus(gtkButton, false);
}
break;
@@ -1344,11 +1345,11 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
QString key(QLS("radiobutton"));
if (option->state & State_HasFocus) { // Themes such as Nodoka check this flag
key += QLatin1Char('f');
- GTK_WIDGET_SET_FLAGS(gtkCheckButton, GTK_HAS_FOCUS);
+ QGtkStylePrivate::gtkWidgetSetFocus(gtkCheckButton, true);
}
gtkPainter.paintOption(gtkCheckButton , buttonRect, state, shadow, d->gtk_widget_get_style(gtkRadioButton), key);
if (option->state & State_HasFocus)
- GTK_WIDGET_UNSET_FLAGS(gtkCheckButton, GTK_HAS_FOCUS);
+ QGtkStylePrivate::gtkWidgetSetFocus(gtkCheckButton, false);
}
break;
@@ -1372,7 +1373,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
QString key(QLS("checkbutton"));
if (option->state & State_HasFocus) { // Themes such as Nodoka checks this flag
key += QLatin1Char('f');
- GTK_WIDGET_SET_FLAGS(gtkCheckButton, GTK_HAS_FOCUS);
+ QGtkStylePrivate::gtkWidgetSetFocus(gtkCheckButton, true);
}
// Some styles such as aero-clone assume they can paint in the spacing area
@@ -1385,7 +1386,7 @@ void QGtkStyle::drawPrimitive(PrimitiveElement element,
gtkPainter.paintCheckbox(gtkCheckButton, checkRect, state, shadow, d->gtk_widget_get_style(gtkCheckButton),
key);
if (option->state & State_HasFocus)
- GTK_WIDGET_UNSET_FLAGS(gtkCheckButton, GTK_HAS_FOCUS);
+ QGtkStylePrivate::gtkWidgetSetFocus(gtkCheckButton, false);
}
break;
@@ -1848,7 +1849,7 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
d->gtk_widget_set_direction(gtkToggleButton, reverse ? GTK_TEXT_DIR_RTL : GTK_TEXT_DIR_LTR);
if (gtkToggleButton && (appears_as_list || comboBox->editable)) {
if (focus)
- GTK_WIDGET_SET_FLAGS(gtkToggleButton, GTK_HAS_FOCUS);
+ QGtkStylePrivate::gtkWidgetSetFocus(gtkToggleButton, true);
// Draw the combo box as a line edit with a button next to it
if (comboBox->editable || appears_as_list) {
GtkStateType frameState = (state == GTK_STATE_PRELIGHT) ? GTK_STATE_NORMAL : state;
@@ -1870,7 +1871,7 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
-gtkEntryStyle->xthickness, -gtkEntryStyle->ythickness);
// Required for inner blue highlight with clearlooks
if (focus)
- GTK_WIDGET_SET_FLAGS(gtkEntry, GTK_HAS_FOCUS);
+ QGtkStylePrivate::gtkWidgetSetFocus(gtkEntry, true);
if (widget && widget->testAttribute(Qt::WA_SetPalette) &&
resolve_mask & (1 << QPalette::Base)) // Palette overridden by user
@@ -1886,7 +1887,7 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
QString::number(focus) + QString::number(comboBox->editable) +
QString::number(option->direction));
if (focus)
- GTK_WIDGET_UNSET_FLAGS(gtkEntry, GTK_HAS_FOCUS);
+ QGtkStylePrivate::gtkWidgetSetFocus(gtkEntry, false);
}
GtkStateType buttonState = GTK_STATE_NORMAL;
@@ -1903,20 +1904,20 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
shadow, d->gtk_widget_get_style(gtkToggleButton), buttonPath.toString() +
QString::number(focus) + QString::number(option->direction));
if (focus)
- GTK_WIDGET_UNSET_FLAGS(gtkToggleButton, GTK_HAS_FOCUS);
+ QGtkStylePrivate::gtkWidgetSetFocus(gtkToggleButton, false);
} else {
// Draw combo box as a button
QRect buttonRect = option->rect;
GtkStyle *gtkToggleButtonStyle = d->gtk_widget_get_style(gtkToggleButton);
if (focus) // Clearlooks actually check the widget for the default state
- GTK_WIDGET_SET_FLAGS(gtkToggleButton, GTK_HAS_FOCUS);
+ QGtkStylePrivate::gtkWidgetSetFocus(gtkToggleButton, true);
gtkCachedPainter.paintBox(gtkToggleButton, "button",
buttonRect, state,
shadow, gtkToggleButtonStyle,
buttonPath.toString() + QString::number(focus));
if (focus)
- GTK_WIDGET_UNSET_FLAGS(gtkToggleButton, GTK_HAS_FOCUS);
+ QGtkStylePrivate::gtkWidgetSetFocus(gtkToggleButton, false);
// Draw the separator between label and arrows
@@ -2329,7 +2330,7 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
if (option->state & State_HasFocus) {
key += QLatin1Char('f');
- GTK_WIDGET_SET_FLAGS(gtkSpinButton, GTK_HAS_FOCUS);
+ QGtkStylePrivate::gtkWidgetSetFocus(gtkSpinButton, true);
}
uint resolve_mask = option->palette.resolve();
@@ -2366,7 +2367,7 @@ void QGtkStyle::drawComplexControl(ComplexControl control, const QStyleOptionCom
gtkPainter.paintBox( gtkSpinButton, "spinbutton_down", downRect, GTK_STATE_NORMAL, GTK_SHADOW_OUT, style, key);
if (option->state & State_HasFocus)
- GTK_WIDGET_UNSET_FLAGS(gtkSpinButton, GTK_HAS_FOCUS);
+ QGtkStylePrivate::gtkWidgetSetFocus(gtkSpinButton, false);
}
}