[maemo-commits] [maemo-commits] r15643 - in projects/haf/trunk/gtk+: . debian gtk
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Thu Jun 12 14:32:36 EEST 2008
- Previous message: [maemo-commits] r15642 - in projects/haf/trunk/hildon-1: . src
- Next message: [maemo-commits] r15644 - projects/haf/tags/gtk+
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: klattimer Date: 2008-06-12 14:32:27 +0300 (Thu, 12 Jun 2008) New Revision: 15643 Modified: projects/haf/trunk/gtk+/ChangeLog projects/haf/trunk/gtk+/debian/changelog projects/haf/trunk/gtk+/gtk/gtkentry.c Log: gtk+2.0 (2:2.12.9-0osso2) unstable; urgency=low * gtk/gtkentry.c (gtk_entry_set_progress_adjustment): new function to set an adjustment as progress indicator on GtkEntry widgets. Tim Janik <timj at imendio.com> * gtk/gtkdialog.c (gtk_dialog_init): change the layout of the dialog so the buttons appear vertically on the right side. Alberto Garcia <agarcia at igalia.com> * gtk/gtkmenushell.c (gtk_menu_shell_button_release): one part of the 2-12 upgrade patch got lost, making all menus behave unpredictable-to-unusable. Should be fixed now. Michael Natterer <mitch at imendio.com> * gtk/gtkenums.h: * gtk/gtkwidget.c (gtk_widget_class_init): introduce hildon-mode style property. Kristian Rietveld <kris at imendio.com> Modified: projects/haf/trunk/gtk+/ChangeLog =================================================================== --- projects/haf/trunk/gtk+/ChangeLog 2008-06-10 09:55:09 UTC (rev 15642) +++ projects/haf/trunk/gtk+/ChangeLog 2008-06-12 11:32:27 UTC (rev 15643) @@ -1,3 +1,8 @@ +2008-05-05 13:42:57 Tim Janik <timj at imendio.com> + + * gtk/gtkentry.c (gtk_entry_set_progress_adjustment): new function to + set an adjustment as progress indicator on GtkEntry widgets. + 2008-06-09 Kristian Rietveld <kris at imendio.com> * gtk/gtkenums.h: Modified: projects/haf/trunk/gtk+/debian/changelog =================================================================== --- projects/haf/trunk/gtk+/debian/changelog 2008-06-10 09:55:09 UTC (rev 15642) +++ projects/haf/trunk/gtk+/debian/changelog 2008-06-12 11:32:27 UTC (rev 15643) @@ -1,3 +1,21 @@ +gtk+2.0 (2:2.12.9-0osso2) unstable; urgency=low + + * gtk/gtkentry.c (gtk_entry_set_progress_adjustment): new function to + set an adjustment as progress indicator on GtkEntry widgets. Tim Janik + <timj at imendio.com> + * gtk/gtkdialog.c (gtk_dialog_init): change the layout of the + dialog so the buttons appear vertically on the right side. Alberto Garcia + <agarcia at igalia.com> + * gtk/gtkmenushell.c (gtk_menu_shell_button_release): one part of + the 2-12 upgrade patch got lost, making all menus behave + unpredictable-to-unusable. Should be fixed now. Michael Natterer + <mitch at imendio.com> + * gtk/gtkenums.h: + * gtk/gtkwidget.c (gtk_widget_class_init): introduce hildon-mode + style property. Kristian Rietveld <kris at imendio.com> + + -- Karl Lattimer <karl.lattimer at nokia.com> Thu, 12 Jun 2008 13:40:00 +0300 + gtk+2.0 (2:2.12.9-0osso1) unstable; urgency=low * Upgrade to GTK+ 2.12.9 Modified: projects/haf/trunk/gtk+/gtk/gtkentry.c =================================================================== --- projects/haf/trunk/gtk+/gtk/gtkentry.c 2008-06-10 09:55:09 UTC (rev 15642) +++ projects/haf/trunk/gtk+/gtk/gtkentry.c 2008-06-12 11:32:27 UTC (rev 15643) @@ -1671,6 +1671,64 @@ } } +typedef struct { + GtkEntry *entry; + GtkAdjustment *adjustment; +} EntryProgressAdjustment; + +static void +entry_progress_adjustment_removed (gpointer data) +{ + EntryProgressAdjustment *epa = data; + g_signal_handlers_disconnect_by_func (epa->adjustment, gtk_widget_queue_draw, epa->entry); + g_object_unref (epa->adjustment); + g_slice_free (EntryProgressAdjustment, epa); +} + +void +gtk_entry_set_progress_adjustment (GtkEntry *entry, + GtkAdjustment *adjustment) +{ + g_return_if_fail (GTK_IS_ENTRY (entry)); + if (adjustment) + g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment)); + + if (adjustment) + { + EntryProgressAdjustment *epa = g_slice_new (EntryProgressAdjustment); + epa->entry = entry; + epa->adjustment = g_object_ref_sink (adjustment); + g_object_set_data_full (G_OBJECT (entry), "GtkEntry-progress-adjustment", epa, entry_progress_adjustment_removed); + g_signal_connect_object (adjustment, "value-changed", G_CALLBACK (gtk_widget_queue_draw), entry, G_CONNECT_SWAPPED); + } + else + g_object_set_data (G_OBJECT (entry), "GtkEntry-progress-adjustment", NULL); +} + +static void +entry_paint_progress_adjustment (GtkEntry *entry, + GdkEventExpose *event) +{ + EntryProgressAdjustment *epa = g_object_get_data (G_OBJECT (entry), "GtkEntry-progress-adjustment"); + if (!epa) + return; + GtkWidget *widget = GTK_WIDGET (entry); + GtkAdjustment *adjustment = epa->adjustment; + double value = adjustment->value / ABS (adjustment->upper - adjustment->page_size - adjustment->lower); + int area_width, area_height; + gdk_drawable_get_size (entry->text_area, &area_width, &area_height); + if (value < 0) + gtk_paint_box (widget->style, entry->text_area, + GTK_STATE_SELECTED, GTK_SHADOW_OUT, + &event->area, widget, "bar", + area_width + value * area_width, 0, -value * area_width, area_height); + else + gtk_paint_box (widget->style, entry->text_area, + GTK_STATE_SELECTED, GTK_SHADOW_OUT, + &event->area, widget, "bar", + 0, 0, value * area_width, area_height); +} + static gint gtk_entry_expose (GtkWidget *widget, GdkEventExpose *event) @@ -1689,6 +1747,7 @@ GTK_WIDGET_STATE(widget), GTK_SHADOW_NONE, &event->area, widget, "entry_bg", 0, 0, area_width, area_height); + entry_paint_progress_adjustment (entry, event); if (entry->dnd_position != -1) gtk_entry_draw_cursor (GTK_ENTRY (widget), CURSOR_DND);
- Previous message: [maemo-commits] r15642 - in projects/haf/trunk/hildon-1: . src
- Next message: [maemo-commits] r15644 - projects/haf/tags/gtk+
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]