[gtk+/gtk-style-context] GtkToggleButton: Set widget state as state flags.
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/gtk-style-context] GtkToggleButton: Set widget state as state flags.
- Date: Mon, 1 Nov 2010 03:02:56 +0000 (UTC)
commit e590df07662fe7c9ce8f5737ca7f44bce2a34514
Author: Carlos Garnacho <carlosg gnome org>
Date: Sun Oct 31 14:45:19 2010 +0100
GtkToggleButton: Set widget state as state flags.
gtk/gtktogglebutton.c | 17 ++++++++++-------
1 files changed, 10 insertions(+), 7 deletions(-)
---
diff --git a/gtk/gtktogglebutton.c b/gtk/gtktogglebutton.c
index e1a3c16..1f7eba6 100644
--- a/gtk/gtktogglebutton.c
+++ b/gtk/gtktogglebutton.c
@@ -510,24 +510,27 @@ gtk_toggle_button_update_state (GtkButton *button)
{
GtkToggleButton *toggle_button = GTK_TOGGLE_BUTTON (button);
gboolean depressed, touchscreen;
- GtkStateType new_state;
+ GtkStateFlags new_state = 0;
g_object_get (gtk_widget_get_settings (GTK_WIDGET (button)),
"gtk-touchscreen-mode", &touchscreen,
NULL);
if (toggle_button->inconsistent)
+ new_state |= GTK_STATE_FLAG_INCONSISTENT;
+
+ if (toggle_button->inconsistent)
depressed = FALSE;
else if (button->in_button && button->button_down)
depressed = TRUE;
else
depressed = toggle_button->active;
-
+
if (!touchscreen && button->in_button && (!button->button_down || toggle_button->draw_indicator))
- new_state = GTK_STATE_PRELIGHT;
- else
- new_state = depressed ? GTK_STATE_ACTIVE : GTK_STATE_NORMAL;
+ new_state |= GTK_STATE_FLAG_PRELIGHT;
+ else if (depressed)
+ new_state |= GTK_STATE_FLAG_ACTIVE;
- _gtk_button_set_depressed (button, depressed);
- gtk_widget_set_state (GTK_WIDGET (toggle_button), new_state);
+ _gtk_button_set_depressed (button, depressed);
+ gtk_widget_set_state_flags (GTK_WIDGET (toggle_button), new_state, TRUE);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]