spinbutton: Use the widget state flags as a base for drawing
This commit is contained in:
parent
9118ccb02d
commit
e9549a7514
@ -816,21 +816,23 @@ gtk_spin_button_panel_get_state (GtkSpinButton *spin_button,
|
|||||||
GtkStateFlags state;
|
GtkStateFlags state;
|
||||||
GtkSpinButtonPrivate *priv = spin_button->priv;
|
GtkSpinButtonPrivate *priv = spin_button->priv;
|
||||||
|
|
||||||
if (gtk_spin_button_panel_at_limit (spin_button, panel) ||
|
state = gtk_widget_get_state_flags (GTK_WIDGET (spin_button));
|
||||||
|
|
||||||
|
state &= ~(GTK_STATE_FLAG_ACTIVE | GTK_STATE_FLAG_PRELIGHT);
|
||||||
|
|
||||||
|
if ((state & GTK_STATE_FLAG_INSENSITIVE) ||
|
||||||
|
gtk_spin_button_panel_at_limit (spin_button, panel) ||
|
||||||
!gtk_editable_get_editable (GTK_EDITABLE (spin_button)))
|
!gtk_editable_get_editable (GTK_EDITABLE (spin_button)))
|
||||||
state = GTK_STATE_FLAG_INSENSITIVE;
|
{
|
||||||
|
state |= GTK_STATE_FLAG_INSENSITIVE;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (priv->click_child == panel)
|
if (priv->click_child == panel)
|
||||||
state = GTK_STATE_ACTIVE;
|
state |= GTK_STATE_ACTIVE;
|
||||||
else
|
else if (priv->in_child == panel &&
|
||||||
{
|
priv->click_child == NULL)
|
||||||
if (priv->in_child == panel &&
|
state |= GTK_STATE_FLAG_PRELIGHT;
|
||||||
priv->click_child == NULL)
|
|
||||||
state = GTK_STATE_FLAG_PRELIGHT;
|
|
||||||
else
|
|
||||||
state = gtk_widget_get_state_flags (GTK_WIDGET (spin_button));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return state;
|
return state;
|
||||||
|
Loading…
Reference in New Issue
Block a user