[gtk+/gtk-style-context: 304/347] GtkRadioButton: Set widget state as state flags.
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/gtk-style-context: 304/347] GtkRadioButton: Set widget state as state flags.
- Date: Thu, 11 Nov 2010 01:30:04 +0000 (UTC)
commit a9c8fc8a3557f5443204d03a7c117d288cf271e1
Author: Carlos Garnacho <carlosg gnome org>
Date: Sun Oct 31 14:45:01 2010 +0100
GtkRadioButton: Set widget state as state flags.
gtk/gtkradiobutton.c | 22 +++++++++++++++-------
1 files changed, 15 insertions(+), 7 deletions(-)
---
diff --git a/gtk/gtkradiobutton.c b/gtk/gtkradiobutton.c
index b412044..5c7d000 100644
--- a/gtk/gtkradiobutton.c
+++ b/gtk/gtkradiobutton.c
@@ -214,7 +214,7 @@ gtk_radio_button_init (GtkRadioButton *radio_button)
priv->group = g_slist_prepend (NULL, radio_button);
_gtk_button_set_depressed (GTK_BUTTON (radio_button), TRUE);
- gtk_widget_set_state (GTK_WIDGET (radio_button), GTK_STATE_ACTIVE);
+ gtk_widget_set_state_flags (GTK_WIDGET (radio_button), GTK_STATE_FLAG_ACTIVE, TRUE);
}
static void
@@ -786,7 +786,7 @@ gtk_radio_button_clicked (GtkButton *button)
GtkRadioButtonPrivate *priv = radio_button->priv;
GtkToggleButton *toggle_button = GTK_TOGGLE_BUTTON (button);
GtkToggleButton *tmp_button;
- GtkStateType new_state;
+ GtkStateFlags new_state = 0;
GSList *tmp_list;
gint toggled;
gboolean depressed;
@@ -814,14 +814,19 @@ gtk_radio_button_clicked (GtkButton *button)
if (!tmp_button)
{
- new_state = (button->in_button ? GTK_STATE_PRELIGHT : GTK_STATE_ACTIVE);
+ if (button->in_button)
+ new_state |= GTK_STATE_FLAG_PRELIGHT;
+
+ new_state |= GTK_STATE_FLAG_ACTIVE;
}
else
{
toggled = TRUE;
_gtk_toggle_button_set_active (toggle_button,
!gtk_toggle_button_get_active (toggle_button));
- new_state = (button->in_button ? GTK_STATE_PRELIGHT : GTK_STATE_NORMAL);
+
+ if (button->in_button)
+ new_state |= GTK_STATE_FLAG_PRELIGHT;
}
}
else
@@ -843,7 +848,10 @@ gtk_radio_button_clicked (GtkButton *button)
}
}
- new_state = (button->in_button ? GTK_STATE_PRELIGHT : GTK_STATE_ACTIVE);
+ if (button->in_button)
+ new_state |= GTK_STATE_FLAG_PRELIGHT;
+
+ new_state |= GTK_STATE_FLAG_ACTIVE;
}
if (gtk_toggle_button_get_inconsistent (toggle_button))
@@ -853,8 +861,8 @@ gtk_radio_button_clicked (GtkButton *button)
else
depressed = gtk_toggle_button_get_active (toggle_button);
- if (gtk_widget_get_state (GTK_WIDGET (button)) != new_state)
- gtk_widget_set_state (GTK_WIDGET (button), new_state);
+ if (gtk_widget_get_state_flags (GTK_WIDGET (button)) != new_state)
+ gtk_widget_set_state_flags (GTK_WIDGET (button), new_state, TRUE);
if (toggled)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]