[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 ]
