[maemo-commits] [maemo-commits] r16669 - in projects/haf/trunk/gtk+: . gtk
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Thu Nov 13 17:44:34 EET 2008
- Previous message: [maemo-commits] r16668 - in projects/haf/trunk/hildon-thumbnail: . daemon daemon/plugins
- Next message: [maemo-commits] r16670 - in projects/haf/trunk/hildon-thumbnail: . daemon daemon/plugins
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: kalikiana Date: 2008-11-13 17:44:33 +0200 (Thu, 13 Nov 2008) New Revision: 16669 Modified: projects/haf/trunk/gtk+/ChangeLog projects/haf/trunk/gtk+/gtk/gtkentry.c Log: 2008-11-13 Christian Dywan <christian at imendio.com> NB#91934: Set state for gtkentry painting * gtk/gtkentry.c (gtk_entry_class_init), (gtk_entry_draw_frame), (gtk_entry_expose): Set the state properly if state-hint is set Modified: projects/haf/trunk/gtk+/ChangeLog =================================================================== --- projects/haf/trunk/gtk+/ChangeLog 2008-11-13 15:21:24 UTC (rev 16668) +++ projects/haf/trunk/gtk+/ChangeLog 2008-11-13 15:44:33 UTC (rev 16669) @@ -1,3 +1,10 @@ +2008-11-13 Christian Dywan <christian at imendio.com> + + NB#91934: Set state for gtkentry painting + + * gtk/gtkentry.c (gtk_entry_class_init), (gtk_entry_draw_frame), + (gtk_entry_expose): Set the state properly if state-hint is set + 2008-11-03 Kristian Rietveld <kris at imendio.com> Fixes NB#91448: CSM shown no matter what tap-and-hold-query returns Modified: projects/haf/trunk/gtk+/gtk/gtkentry.c =================================================================== --- projects/haf/trunk/gtk+/gtk/gtkentry.c 2008-11-13 15:21:24 UTC (rev 16668) +++ projects/haf/trunk/gtk+/gtk/gtkentry.c 2008-11-13 15:44:33 UTC (rev 16669) @@ -954,6 +954,21 @@ GTK_TYPE_BORDER, GTK_PARAM_READABLE)); + /** + * GtkEntry:state-hint: + * + * Indicates whether to pass a proper widget state when + * drawing the shadow and the widget background. + * + * Since: 2.16 + */ + gtk_widget_class_install_style_property (widget_class, + g_param_spec_boolean ("state-hint", + P_("State Hint"), + P_("Whether to pass a proper state when drawing shadow or background"), + FALSE, + GTK_PARAM_READABLE)); + gtk_settings_install_property (g_param_spec_boolean ("gtk-entry-select-on-focus", P_("Select on focus"), P_("Whether to select the contents of an entry when it is focused"), @@ -1639,7 +1654,9 @@ { GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (widget); gint x = 0, y = 0, width, height; - + gboolean state_hint; + GtkStateType state; + gdk_drawable_get_size (widget->window, &width, &height); if (GTK_WIDGET_HAS_FOCUS (widget) && !priv->interior_focus) @@ -1650,9 +1667,16 @@ height -= 2 * priv->focus_width; } + gtk_widget_style_get (widget, "state-hint", &state_hint, NULL); + if (state_hint) + state = GTK_WIDGET_HAS_FOCUS (widget) ? + GTK_STATE_ACTIVE : GTK_WIDGET_STATE (widget); + else + state = GTK_STATE_NORMAL; + gtk_paint_shadow (widget->style, widget->window, - GTK_STATE_NORMAL, priv->shadow_type, - area, widget, "entry", x, y, width, height); + state, priv->shadow_type, + area, widget, "entry", x, y, width, height); if (GTK_WIDGET_HAS_FOCUS (widget) && !priv->interior_focus) { @@ -1742,6 +1766,8 @@ GdkEventExpose *event) { GtkEntry *entry = GTK_ENTRY (widget); + gboolean state_hint; + GtkStateType state; if (widget->window == event->window) gtk_entry_draw_frame (widget, &event->area); @@ -1751,8 +1777,15 @@ get_text_area_size (entry, NULL, NULL, &area_width, &area_height); + gtk_widget_style_get (widget, "state-hint", &state_hint, NULL); + if (state_hint) + state = GTK_WIDGET_HAS_FOCUS (widget) ? + GTK_STATE_ACTIVE : GTK_WIDGET_STATE (widget); + else + state = GTK_WIDGET_STATE(widget); + gtk_paint_flat_box (widget->style, entry->text_area, - GTK_WIDGET_STATE(widget), GTK_SHADOW_NONE, + state, GTK_SHADOW_NONE, &event->area, widget, "entry_bg", 0, 0, area_width, area_height); #ifdef MAEMO_CHANGES
- Previous message: [maemo-commits] r16668 - in projects/haf/trunk/hildon-thumbnail: . daemon daemon/plugins
- Next message: [maemo-commits] r16670 - in projects/haf/trunk/hildon-thumbnail: . daemon daemon/plugins
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]