]> Pileus Git - ~andy/gtk/commitdiff
Merge branch 'master' into treeview-refactor
authorTristan Van Berkom <tristan.van.berkom@gmail.com>
Thu, 25 Nov 2010 06:07:47 +0000 (15:07 +0900)
committerTristan Van Berkom <tristan.van.berkom@gmail.com>
Thu, 25 Nov 2010 06:07:47 +0000 (15:07 +0900)
97 files changed:
configure.ac
demos/gtk-demo/offscreen_window.c
demos/gtk-demo/offscreen_window2.c
docs/reference/gtk/gtk3-sections.txt
docs/reference/gtk/migrating-2to3.xml
docs/reference/gtk/tmpl/gtkenums.sgml
docs/reference/gtk/tmpl/gtkwindowgroup.sgml
gdk/Makefile.am
gdk/abicheck.sh
gdk/gdk.c
gdk/gdk.symbols
gdk/gdkdevice.c
gdk/gdkdevice.h
gdk/gdkdevicemanager.c
gdk/gdkdisplay.c
gdk/gdkevents.c
gdk/gdkinternals.h
gdk/gdkkeys.c
gdk/gdkoffscreenwindow.c
gdk/gdkpango.c
gdk/gdkselection.c
gdk/gdkwindow.c
gdk/makefile.msc
gdk/quartz/gdkevents-quartz.c
gdk/quartz/gdkinput.c
gdk/win32/gdkdevice-win32.c
gdk/win32/gdkdevice-wintab.c
gdk/win32/gdkevents-win32.c
gdk/x11/gdkcursor-x11.c
gdk/x11/gdkdevice-core.c
gdk/x11/gdkdevice-xi.c
gdk/x11/gdkdevice-xi2.c
gdk/x11/gdkdevicemanager-xi.c
gdk/x11/gdkdevicemanager-xi2.c
gdk/x11/gdkdisplay-x11.c
gdk/x11/gdkdnd-x11.c
gdk/x11/gdkeventsource.c
gdk/x11/gdkkeys-x11.c
gdk/x11/gdkscreen-x11.c
gdk/x11/gdkselection-x11.c
gdk/x11/gdkwindow-x11.c
gdk/x11/gdkxid.c
gtk/Makefile.am
gtk/abicheck.sh
gtk/gtk.h
gtk/gtk.symbols
gtk/gtkaboutdialog.c
gtk/gtkbox.c
gtk/gtkbutton.c
gtk/gtkbutton.h
gtk/gtkbuttonprivate.h [new file with mode: 0644]
gtk/gtkcellrendereraccel.c
gtk/gtkcheckbutton.c
gtk/gtkcolorsel.c
gtk/gtkcombobox.c
gtk/gtkdnd.c
gtk/gtkentry.c
gtk/gtkentry.h
gtk/gtkentryprivate.h
gtk/gtkenums.h
gtk/gtkfilechooserdefault.c
gtk/gtkfilechooserprivate.h
gtk/gtkhruler.c [deleted file]
gtk/gtkhruler.h [deleted file]
gtk/gtkmenu.c
gtk/gtkmenushell.c
gtk/gtkplug-x11.c
gtk/gtkplug.c
gtk/gtkradiobutton.c
gtk/gtkruler.c [deleted file]
gtk/gtkruler.h [deleted file]
gtk/gtkscalebutton.c
gtk/gtkscrolledwindow.c
gtk/gtkselection.c
gtk/gtkselection.h
gtk/gtksizerequest.c
gtk/gtkspinbutton.c
gtk/gtktogglebutton.c
gtk/gtktooltip.c
gtk/gtktreeview.c
gtk/gtkvruler.c [deleted file]
gtk/gtkvruler.h [deleted file]
gtk/gtkwidget.c
gtk/gtkwidget.h
gtk/gtkwindow.c
gtk/makefile.msc.in
gtk/tests/builder.c
gtk/updateiconcache.c
modules/other/gail/gailbutton.c
modules/other/gail/gailentry.c
po-properties/ca.po
po/de.po
po/nb.po
po/ug.po
tests/gtkoffscreenbox.c
tests/testgtk.c
tests/testinput.c

index 5de27be06e88616c16591632c1cdd1bcdd844a43..3ac0bec57700e222ab929ea08a9f05eeca570249 100644 (file)
@@ -1,14 +1,4 @@
 # Process this file with autoconf to produce a configure script.
-# require autoconf 2.54
-AC_PREREQ([2.62])
-
-AC_INIT([gtk+], [gtk_version],
-        [http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2B],
-        [gtk+])
-
-AC_CONFIG_HEADER([config.h])
-AC_CONFIG_SRCDIR([gdk/gdktypes.h])
-AC_CONFIG_MACRO_DIR([m4])
 
 # Making releases:
 #   GTK_MICRO_VERSION += 1;
@@ -29,6 +19,15 @@ m4_define([gtk_version],
 # This is the X.Y used in -lgtk-FOO-X.Y
 m4_define([gtk_api_version], [3.0])
 
+AC_PREREQ([2.64])
+AC_INIT([gtk+], [gtk_version],
+        [http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2B],
+        [gtk+])
+
+AC_CONFIG_HEADER([config.h])
+AC_CONFIG_SRCDIR([gdk/gdktypes.h])
+AC_CONFIG_MACRO_DIR([m4])
+
 # Define a string for the earliest version that this release has
 # backwards binary compatibility with for all interfaces a module
 # might. Unless we add module-only API with lower stability
index 12f7c045a795fcda42c92181ce49b32952d3f7eb..cb014bc2ac2c9bb4f58a55a11fc0aff1df5000ee 100644 (file)
@@ -39,8 +39,12 @@ void       gtk_rotated_bin_set_angle (GtkRotatedBin *bin,
 
 static void     gtk_rotated_bin_realize       (GtkWidget       *widget);
 static void     gtk_rotated_bin_unrealize     (GtkWidget       *widget);
-static void     gtk_rotated_bin_size_request  (GtkWidget       *widget,
-                                               GtkRequisition  *requisition);
+static void     gtk_rotated_bin_get_preferred_width  (GtkWidget *widget,
+                                                      gint      *minimum,
+                                                      gint      *natural);
+static void     gtk_rotated_bin_get_preferred_height (GtkWidget *widget,
+                                                      gint      *minimum,
+                                                      gint      *natural);
 static void     gtk_rotated_bin_size_allocate (GtkWidget       *widget,
                                                GtkAllocation   *allocation);
 static gboolean gtk_rotated_bin_damage        (GtkWidget       *widget,
@@ -148,7 +152,8 @@ gtk_rotated_bin_class_init (GtkRotatedBinClass *klass)
 
   widget_class->realize = gtk_rotated_bin_realize;
   widget_class->unrealize = gtk_rotated_bin_unrealize;
-  widget_class->size_request = gtk_rotated_bin_size_request;
+  widget_class->get_preferred_width = gtk_rotated_bin_get_preferred_width;
+  widget_class->get_preferred_height = gtk_rotated_bin_get_preferred_height;
   widget_class->size_allocate = gtk_rotated_bin_size_allocate;
   widget_class->draw = gtk_rotated_bin_draw;
 
@@ -404,6 +409,30 @@ gtk_rotated_bin_size_request (GtkWidget      *widget,
   requisition->height = border_width * 2 + h;
 }
 
+static void
+gtk_rotated_bin_get_preferred_width (GtkWidget *widget,
+                                     gint      *minimum,
+                                     gint      *natural)
+{
+  GtkRequisition requisition;
+
+  gtk_rotated_bin_size_request (widget, &requisition);
+
+  *minimum = *natural = requisition.width;
+}
+
+static void
+gtk_rotated_bin_get_preferred_height (GtkWidget *widget,
+                                      gint      *minimum,
+                                      gint      *natural)
+{
+  GtkRequisition requisition;
+
+  gtk_rotated_bin_size_request (widget, &requisition);
+
+  *minimum = *natural = requisition.height;
+}
+
 static void
 gtk_rotated_bin_size_allocate (GtkWidget     *widget,
                                GtkAllocation *allocation)
index 0774411074f8cca461e10c45d0800b26da1327cd..7fd2940f3a87e5340d93c92cc29094f96c9b2e4a 100644 (file)
@@ -35,8 +35,12 @@ GtkWidget* gtk_mirror_bin_new       (void);
 
 static void     gtk_mirror_bin_realize       (GtkWidget       *widget);
 static void     gtk_mirror_bin_unrealize     (GtkWidget       *widget);
-static void     gtk_mirror_bin_size_request  (GtkWidget       *widget,
-                                               GtkRequisition  *requisition);
+static void     gtk_mirror_bin_get_preferred_width  (GtkWidget *widget,
+                                                     gint      *minimum,
+                                                     gint      *natural);
+static void     gtk_mirror_bin_get_preferred_height (GtkWidget *widget,
+                                                     gint      *minimum,
+                                                     gint      *natural);
 static void     gtk_mirror_bin_size_allocate (GtkWidget       *widget,
                                                GtkAllocation   *allocation);
 static gboolean gtk_mirror_bin_damage        (GtkWidget       *widget,
@@ -86,7 +90,8 @@ gtk_mirror_bin_class_init (GtkMirrorBinClass *klass)
 
   widget_class->realize = gtk_mirror_bin_realize;
   widget_class->unrealize = gtk_mirror_bin_unrealize;
-  widget_class->size_request = gtk_mirror_bin_size_request;
+  widget_class->get_preferred_width = gtk_mirror_bin_get_preferred_width;
+  widget_class->get_preferred_height = gtk_mirror_bin_get_preferred_height;
   widget_class->size_allocate = gtk_mirror_bin_size_allocate;
   widget_class->draw = gtk_mirror_bin_draw;
 
@@ -323,6 +328,30 @@ gtk_mirror_bin_size_request (GtkWidget      *widget,
   requisition->height = border_width * 2 + child_requisition.height * 2 + 10;
 }
 
+static void
+gtk_mirror_bin_get_preferred_width (GtkWidget *widget,
+                                    gint      *minimum,
+                                    gint      *natural)
+{
+  GtkRequisition requisition;
+
+  gtk_mirror_bin_size_request (widget, &requisition);
+
+  *minimum = *natural = requisition.width;
+}
+
+static void
+gtk_mirror_bin_get_preferred_height (GtkWidget *widget,
+                                     gint      *minimum,
+                                     gint      *natural)
+{
+  GtkRequisition requisition;
+
+  gtk_mirror_bin_size_request (widget, &requisition);
+
+  *minimum = *natural = requisition.width;
+}
+
 static void
 gtk_mirror_bin_size_allocate (GtkWidget     *widget,
                                GtkAllocation *allocation)
index fe96c8190ebab2da8e33bfe4abe238cf2c661774..cd11a88160f46ea101ca2441a62b9810a9abb40c 100644 (file)
@@ -371,6 +371,8 @@ gtk_assistant_add_action_widget
 gtk_assistant_remove_action_widget
 gtk_assistant_update_buttons_state
 gtk_assistant_commit
+gtk_assistant_next_page
+gtk_assistant_previous_page
 
 <SUBSECTION Standard>
 GtkAssistantClass
@@ -417,6 +419,7 @@ GTK_ASPECT_FRAME_CLASS
 GTK_IS_ASPECT_FRAME_CLASS
 GTK_ASPECT_FRAME_GET_CLASS
 <SUBSECTION Private>
+GtkAspectFramePrivate
 gtk_aspect_frame_get_type
 </SECTION>
 
@@ -437,6 +440,7 @@ GTK_BUTTON_BOX_CLASS
 GTK_IS_BUTTON_BOX_CLASS
 GTK_BUTTON_BOX_GET_CLASS
 <SUBSECTION Private>
+GtkButtonBoxPrivate
 gtk_button_box_get_type
 </SECTION>
 
@@ -453,6 +457,7 @@ GTK_BIN_CLASS
 GTK_IS_BIN_CLASS
 GTK_BIN_GET_CLASS
 <SUBSECTION Private>
+GtkBinPrivate
 gtk_bin_get_type
 </SECTION>
 
@@ -478,6 +483,7 @@ GTK_BOX_CLASS
 GTK_IS_BOX_CLASS
 GTK_BOX_GET_CLASS
 <SUBSECTION Private>
+GtkBoxPrivate
 gtk_box_get_type
 </SECTION>
 
@@ -578,6 +584,7 @@ GTK_BUTTON_CLASS
 GTK_IS_BUTTON_CLASS
 GTK_BUTTON_GET_CLASS
 <SUBSECTION Private>
+GtkButtonPrivate
 gtk_button_get_type
 </SECTION>
 
@@ -662,6 +669,7 @@ GTK_CHECK_MENU_ITEM_CLASS
 GTK_IS_CHECK_MENU_ITEM_CLASS
 GTK_CHECK_MENU_ITEM_GET_CLASS
 <SUBSECTION Private>
+GtkCheckMenuItemPrivate
 gtk_check_menu_item_get_type
 </SECTION>
 
@@ -714,6 +722,7 @@ GTK_IS_HSV
 GTK_IS_HSV_CLASS
 GTK_HSV_GET_CLASS
 <SUBSECTION Private>
+GtkHSVPrivate
 gtk_hsv_get_type
 </SECTION>
 
@@ -752,6 +761,7 @@ GTK_COLOR_SELECTION_CLASS
 GTK_IS_COLOR_SELECTION_CLASS
 GTK_COLOR_SELECTION_GET_CLASS
 <SUBSECTION Private>
+GtkColorSelectionPrivate
 gtk_color_selection_get_type
 </SECTION>
 
@@ -769,6 +779,7 @@ GTK_COLOR_SELECTION_DIALOG_CLASS
 GTK_IS_COLOR_SELECTION_DIALOG_CLASS
 GTK_COLOR_SELECTION_DIALOG_GET_CLASS
 <SUBSECTION Private>
+GtkColorSelectionDialogPrivate
 gtk_color_selection_dialog_get_type
 </SECTION>
 
@@ -898,6 +909,7 @@ GTK_CONTAINER_CLASS
 GTK_IS_CONTAINER_CLASS
 GTK_CONTAINER_GET_CLASS
 <SUBSECTION Private>
+GtkContainerPrivate
 gtk_container_get_type
 </SECTION>
 
@@ -933,6 +945,7 @@ GTK_DIALOG_CLASS
 GTK_IS_DIALOG_CLASS
 GTK_DIALOG_GET_CLASS
 <SUBSECTION Private>
+GtkDialogPrivate
 gtk_dialog_get_type
 </SECTION>
 
@@ -1058,6 +1071,7 @@ GTK_ENTRY_CLASS
 GTK_IS_ENTRY_CLASS
 GTK_ENTRY_GET_CLASS
 <SUBSECTION Private>
+GtkEntryPrivate
 gtk_entry_get_type
 </SECTION>
 
@@ -1357,6 +1371,7 @@ GTK_FIXED_CLASS
 GTK_IS_FIXED_CLASS
 GTK_FIXED_GET_CLASS
 <SUBSECTION Private>
+GtkFixedPrivate
 GtkFixedChild
 gtk_fixed_get_type
 </SECTION>
@@ -1417,6 +1432,7 @@ GTK_FONT_SELECTION_CLASS
 GTK_IS_FONT_SELECTION_CLASS
 GTK_FONT_SELECTION_GET_CLASS
 <SUBSECTION Private>
+GtkFontSelectionPrivate
 gtk_font_selection_get_type
 </SECTION>
 
@@ -1441,6 +1457,7 @@ GTK_FONT_SELECTION_DIALOG_CLASS
 GTK_IS_FONT_SELECTION_DIALOG_CLASS
 GTK_FONT_SELECTION_DIALOG_GET_CLASS
 <SUBSECTION Private>
+GtkFontSelectionDialogPrivate
 gtk_font_selection_dialog_get_type
 </SECTION>
 
@@ -1465,6 +1482,7 @@ GTK_FRAME_CLASS
 GTK_IS_FRAME_CLASS
 GTK_FRAME_GET_CLASS
 <SUBSECTION Private>
+GtkFramePrivate
 gtk_frame_get_type
 </SECTION>
 
@@ -1488,6 +1506,7 @@ GTK_HANDLE_BOX_CLASS
 GTK_IS_HANDLE_BOX_CLASS
 GTK_HANDLE_BOX_GET_CLASS
 <SUBSECTION Private>
+GtkHandleBoxPrivate
 gtk_handle_box_get_type
 </SECTION>
 
@@ -1539,22 +1558,6 @@ GTK_HPANED_GET_CLASS
 gtk_hpaned_get_type
 </SECTION>
 
-<SECTION>
-<FILE>gtkhruler</FILE>
-<TITLE>GtkHRuler</TITLE>
-GtkHRuler
-gtk_hruler_new
-<SUBSECTION Standard>
-GTK_HRULER
-GTK_IS_HRULER
-GTK_TYPE_HRULER
-GTK_HRULER_CLASS
-GTK_IS_HRULER_CLASS
-GTK_HRULER_GET_CLASS
-<SUBSECTION Private>
-gtk_hruler_get_type
-</SECTION>
-
 <SECTION>
 <FILE>gtkhscale</FILE>
 <TITLE>GtkHScale</TITLE>
@@ -1722,6 +1725,7 @@ GTK_IMAGE_CLASS
 GTK_IS_IMAGE_CLASS
 GTK_IMAGE_GET_CLASS
 <SUBSECTION Private>
+GtkImagePrivate
 gtk_image_get_type
 GtkImageIconSetData
 GtkImageImageData
@@ -1757,6 +1761,7 @@ GTK_IS_IMAGE_MENU_ITEM
 GTK_IS_IMAGE_MENU_ITEM_CLASS
 GTK_TYPE_IMAGE_MENU_ITEM
 <SUBSECTION Private>
+GtkImageMenuItemPrivate
 gtk_image_menu_item_get_type
 </SECTION>
 
@@ -1803,6 +1808,7 @@ GTK_IM_CONTEXT_SIMPLE_CLASS
 GTK_IS_IM_CONTEXT_SIMPLE_CLASS
 GTK_IM_CONTEXT_SIMPLE_GET_CLASS
 <SUBSECTION Private>
+GtkIMContextSimplePrivate
 gtk_im_context_simple_get_type
 </SECTION>
 
@@ -1843,6 +1849,7 @@ GTK_IS_INVISIBLE_CLASS
 GTK_INVISIBLE_GET_CLASS
 <SUBSECTION Private>
 gtk_invisible_get_type
+GtkInvisiblePrivate
 </SECTION>
 
 <SECTION>
@@ -1902,6 +1909,7 @@ GTK_IS_LABEL_CLASS
 GTK_LABEL_GET_CLASS
 <SUBSECTION Private>
 gtk_label_get_type
+GtkLabelPrivate
 GtkLabelSelectionInfo
 </SECTION>
 
@@ -1927,6 +1935,7 @@ GTK_LAYOUT_CLASS
 GTK_IS_LAYOUT_CLASS
 GTK_LAYOUT_GET_CLASS
 <SUBSECTION Private>
+GtkLayoutPrivate
 gtk_layout_get_type
 </SECTION>
 
@@ -2464,6 +2473,7 @@ GTK_IS_RANGE_CLASS
 GTK_RANGE_GET_CLASS
 <SUBSECTION Private>
 gtk_range_get_type
+GtkRangePrivate
 GtkRangeLayout
 GtkRangeStepTimer
 </SECTION>
@@ -2685,28 +2695,6 @@ GtkRecentActionPrivate
 gtk_recent_action_get_type
 </SECTION>
 
-<SECTION>
-<FILE>gtkruler</FILE>
-<TITLE>GtkRuler</TITLE>
-GtkRuler
-GtkRulerMetric
-gtk_ruler_new
-gtk_ruler_set_metric
-gtk_ruler_set_range
-gtk_ruler_get_metric
-gtk_ruler_get_range
-<SUBSECTION Standard>
-GTK_RULER
-GTK_IS_RULER
-GTK_TYPE_RULER
-GTK_RULER_CLASS
-GTK_IS_RULER_CLASS
-GTK_RULER_GET_CLASS
-<SUBSECTION Private>
-GtkRulerPrivate
-gtk_ruler_get_type
-</SECTION>
-
 <SECTION>
 <FILE>gtkscale</FILE>
 <TITLE>GtkScale</TITLE>
@@ -2768,6 +2756,12 @@ gtk_scrollable_get_hadjustment
 gtk_scrollable_set_hadjustment
 gtk_scrollable_get_vadjustment
 gtk_scrollable_set_vadjustment
+GtkScrollablePolicy
+gtk_scrollable_get_hscroll_policy
+gtk_scrollable_set_hscroll_policy
+gtk_scrollable_get_vscroll_policy
+gtk_scrollable_set_vscroll_policy
+
 
 <SUBSECTION Standard>
 GtkScrollableIface
@@ -2831,6 +2825,7 @@ GTK_IS_SCROLLED_WINDOW_CLASS
 GTK_SCROLLED_WINDOW_GET_CLASS
 <SUBSECTION Private>
 gtk_scrolled_window_get_type
+GtkScrolledWindowPrivate
 </SECTION>
 
 <SECTION>
@@ -2847,6 +2842,7 @@ GTK_IS_SEPARATOR_CLASS
 GTK_SEPARATOR_GET_CLASS
 <SUBSECTION Private>
 gtk_separator_get_type
+GtkSeparatorPrivate
 </SECTION>
 
 <SECTION>
@@ -3544,6 +3540,7 @@ GTK_IS_TOGGLE_BUTTON_CLASS
 GTK_TOGGLE_BUTTON_GET_CLASS
 <SUBSECTION Private>
 gtk_toggle_button_get_type
+GtkToggleButtonPrivate
 </SECTION>
 
 <SECTION>
@@ -4416,6 +4413,7 @@ GTK_CELL_RENDERER_CLASS
 GTK_IS_CELL_RENDERER_CLASS
 GTK_CELL_RENDERER_GET_CLASS
 <SUBSECTION Private>
+GtkCellRendererPrivate
 gtk_cell_renderer_get_type
 </SECTION>
 
@@ -4451,6 +4449,7 @@ GTK_IS_CELL_RENDERER_COMBO_CLASS
 GTK_CELL_RENDERER_COMBO_GET_CLASS
 <SUBSECTION Private>
 gtk_cell_renderer_combo_get_type
+GtkCellRendererComboPrivate
 </SECTION>
 
 <SECTION>
@@ -4501,6 +4500,7 @@ GTK_IS_CELL_RENDERER_PIXBUF_CLASS
 GTK_CELL_RENDERER_PIXBUF_GET_CLASS
 <SUBSECTION Private>
 gtk_cell_renderer_pixbuf_get_type
+GtkCellRendererPixbufPrivate
 </SECTION>
 
 <SECTION>
@@ -4518,6 +4518,7 @@ GTK_IS_CELL_RENDERER_TEXT_CLASS
 GTK_CELL_RENDERER_TEXT_GET_CLASS
 <SUBSECTION Private>
 gtk_cell_renderer_text_get_type
+GtkCellRendererTextPrivate
 </SECTION>
 
 <SECTION>
@@ -4541,6 +4542,7 @@ GTK_IS_CELL_RENDERER_TOGGLE_CLASS
 GTK_CELL_RENDERER_TOGGLE_GET_CLASS
 <SUBSECTION Private>
 gtk_cell_renderer_toggle_get_type
+GtkCellRendererTogglePrivate
 </SECTION>
 
 <SECTION>
@@ -4576,6 +4578,7 @@ GTK_IS_CELL_RENDERER_ACCEL_CLASS
 GTK_CELL_RENDERER_ACCEL_GET_CLASS
 <SUBSECTION Private>
 gtk_cell_renderer_accel_get_type
+GtkCellRendererAccelPrivate
 </SECTION>
 
 <SECTION>
@@ -4705,22 +4708,6 @@ gtk_vpaned_get_type
 GtkPanedPrivate
 </SECTION>
 
-<SECTION>
-<FILE>gtkvruler</FILE>
-<TITLE>GtkVRuler</TITLE>
-GtkVRuler
-gtk_vruler_new
-<SUBSECTION Standard>
-GTK_VRULER
-GTK_IS_VRULER
-GTK_TYPE_VRULER
-GTK_VRULER_CLASS
-GTK_IS_VRULER_CLASS
-GTK_VRULER_GET_CLASS
-<SUBSECTION Private>
-gtk_vruler_get_type
-</SECTION>
-
 <SECTION>
 <FILE>gtkvscale</FILE>
 <TITLE>GtkVScale</TITLE>
@@ -5548,7 +5535,6 @@ GtkExpanderStyle
 GtkIMPreeditStyle
 GtkIMStatusStyle
 GtkJustification
-GtkMetricType
 GtkMovementStep
 GtkOrientation
 GtkPackType
@@ -5809,6 +5795,7 @@ GTK_IS_ICON_FACTORY_CLASS
 GTK_TYPE_ICON_SET
 GTK_TYPE_ICON_SOURCE
 <SUBSECTION Private>
+GtkIconFactoryPrivate
 gtk_icon_factory_get_type
 gtk_icon_set_get_type
 gtk_icon_source_get_type
index 2c587be23359fe5a8c0f2741a4cc4fe157e299a0..d150987e1147ad3886a6da7c70f0c1d8d31fe563 100644 (file)
@@ -355,9 +355,11 @@ cairo_destroy (cr);
       #GtkWidgetClass. The replacement for size_request() can
       take several levels of sophistication:
       <itemizedlist>
-        <listitem>As a minimal replacement to keep current functionality,
-        you can simply implement the get_preferred_width() and
-        get_preferred_height() vfuncs by calling your existing
+        <listitem>
+        <para>
+        As a minimal replacement to keep current functionality,
+        you can simply implement the #GtkWidgetClass.get_preferred_width() and
+        #GtkWidgetClass.get_preferred_height() vfuncs by calling your existing
         size_request() function. So you go from
         <informalexample><programlisting>
 static void
@@ -372,7 +374,9 @@ my_widget_class_init (MyWidgetClass *class)
   /* ... */
 }
         </programlisting></informalexample>
+        <para>
         to something that looks more like this:
+        </para>
         <informalexample><programlisting>
 static void
 my_widget_get_preferred_width (GtkWidget *widget,
@@ -414,9 +418,11 @@ my_widget_class_init (MyWidgetClass *class)
 
 }
         </programlisting></informalexample>
+          <para>
           Sometimes you can make things a little more streamlined
           by replacing your existing size_request() implementation by
           one that takes an orientation parameter:
+          </para>
           <informalexample><programlisting>
 static void
 my_widget_get_preferred_size (GtkWidget      *widget,
@@ -465,11 +471,14 @@ my_widget_get_preferred_height (GtkWidget *widget,
 
  /* ... */
           </programlisting></informalexample>
+          </para>
         </listitem>
-        <listitem>If your widget can cope with a small size,
+        <listitem>
+          <para>If your widget can cope with a small size,
           but would appreciate getting some more space (a common
           example would be that it contains ellipsizable labels),
-          you can do that by making your get_preferred_width()/height()
+          you can do that by making your #GtkWidgetClass.get_preferred_width() /
+          #GtkWidgetClass.get_preferred_height()
           functions return a smaller value for @minimal than for @natural.
           For @minimal, you probably want to return the same value
           that your size_request() function returned before (since
@@ -508,19 +517,28 @@ gtk_fixed_get_preferred_height (GtkWidget *widget,
     }
 }
           </programlisting></informalexample>
+          </para>
         </listitem>
-        <listitem>Note that the get_preferred_width()/height() functions
+        <listitem>
+          <para>
+          Note that the #GtkWidgetClass.get_preferred_width() /
+          #GtkWidgetClass.get_preferred_height() functions
           only allow you to deal with one dimension at a time. If your
           size_request() handler is doing things that involve both
           width and height at the same time (e.g. limiting the aspect
-          ratio), you will have to implement get_preferred_height_for_width()
-          and get_preferred_width_for_height().
+          ratio), you will have to implement
+          #GtkWidgetClass.get_preferred_height_for_width()
+          and #GtkWidgetClass.get_preferred_width_for_height().
+          </para>
         </listitem>
-        <listitem>To make full use of the new capabilities of the
+        <listitem>
+          <para>
+          To make full use of the new capabilities of the
           height-for-width geometry management, you need to additionally
-          implement the get_preferred_height_for_width() and
-          get_preferred_width_for_height(). For details on these functions,
-          see <xref linkend="geometry-management"/>.
+          implement the #GtkWidgetClass.get_preferred_height_for_width() and
+          #GtkWidgetClass.get_preferred_width_for_height(). For details on
+          these functions, see <xref linkend="geometry-management"/>.
+          </para>
         </listitem>
       </itemizedlist>
     </para>
index e98cbaf056dfb53ebaae29a6de587bdf98abb1fa..90c581732658bf4bfbb933d9caaf9940b1f4239c 100644 (file)
@@ -155,15 +155,6 @@ Used for justifying the text inside a #GtkLabel widget. (See also
 @GTK_JUSTIFY_CENTER: The text is placed in the center of the label.
 @GTK_JUSTIFY_FILL: The text is placed is distributed across the label.
 
-<!-- ##### ENUM GtkMetricType ##### -->
-<para>
-Used to indicate which metric is used by a #GtkRuler.
-</para>
-
-@GTK_PIXELS: Pixels.
-@GTK_INCHES: Inches.
-@GTK_CENTIMETERS: Centimeters.
-
 <!-- ##### ENUM GtkMovementStep ##### -->
 <para>
 
index 71bd142abd2f6bc48f117c859cf0fd19374e7f78..93368142ec974aa6221268998d7cc82735d1b0b0 100644 (file)
@@ -6,7 +6,13 @@ Limit the effect of grabs
 
 <!-- ##### SECTION Long_Description ##### -->
 <para>
-
+#GtkWindowGroup objects are referenced by each window in the group,
+so once you have added all windows to a #GtkWindowGroup, you can drop
+the initial reference to the window group with g_object_unref(). If the
+windows in the window group are subsequently destroyed, then they will
+be removed from the window group and drop their references on the window
+group; when all window have been removed, the window group will be
+freed.
 </para>
 
 <!-- ##### SECTION See_Also ##### -->
index bc0f00245b6ebca51af5698e9fd9e40236fd188c..9a48fe804221ec1b4d130728b0d0d0e7999e2471 100644 (file)
@@ -278,7 +278,7 @@ endif
 # This places the generated .def file in srcdir, since it is expected to be there.
 # (The one from a tarball is)
 gdk.def: gdk.symbols
-       (echo -e EXPORTS; $(CPP) -P -DALL_FILES -DGDK_WINDOWING_WIN32 -DINCLUDE_VARIABLES - <$(srcdir)/gdk.symbols | sed -e '/^$$/d' -e 's/^/   /' -e 's/G_GNUC_[^ ]*//g') > $(srcdir)/gdk.def
+       (echo -e EXPORTS; $(CPP) -P -DGDK_WINDOWING_WIN32 - <$(srcdir)/gdk.symbols | sed -e '/^$$/d' -e 's/^/   /' -e 's/G_GNUC_[^ ]*//g') > $(srcdir)/gdk.def
 
 TESTS_ENVIRONMENT = srcdir="$(srcdir)"
 if OS_LINUX
index f4e9ace9e81a6382f481e4f795552e85bde39c2d..a33eef8e59590653c6acd5ad9559164c3cc036c4 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/sh
 
-cpp -DINCLUDE_VARIABLES -P -DALL_FILES -DGDK_ENABLE_BROKEN -include ../config.h -include ./gdkconfig.h ${srcdir:-.}/gdk.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' | sort | uniq > expected-abi
+cpp -P -DGDK_ENABLE_BROKEN -include ../config.h -include ./gdkconfig.h ${srcdir:-.}/gdk.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' | sort | uniq > expected-abi
 nm -D -g --defined-only .libs/libgdk-x11-3.0.so | cut -d ' ' -f 3 | egrep -v '^(__bss_start|_edata|_end)' | sort > actual-abi
 diff -u expected-abi actual-abi && rm -f expected-abi actual-abi
index f0ff4336eb82ce2a474483a28e504987573c7132..003ad3484757731b635fcc59942a935de3ac3662 100644 (file)
--- a/gdk/gdk.c
+++ b/gdk/gdk.c
@@ -316,8 +316,8 @@ gdk_get_display_arg_name (void)
  * display has previously been set, simply returns that. An internal
  * function that should not be used by applications.
  * 
- * Return value: the default display, if it could be opened,
- *   otherwise %NULL.
+ * Return value: (transfer none): the default display, if it could be
+ *   opened, otherwise %NULL.
  **/
 GdkDisplay *
 gdk_display_open_default_libgtk_only (void)
index 835e9e030756398d81e1a2e5486800da2c00fc7c..4795e62da361e7f637ece4906b5313dbeb88e2c8 100644 (file)
 /* This file lists all exported symbols. It is used to generate
- * the gdk.def file used to control exports on Windows and the
- * gdkalias.h/gdkaliasdef.c files used to avoid PLT entries for
- * internal uses of exported functions (see makegdkalias.pl).
- *
- * Every symbol must be included in the right
- * #ifdef IN_HEADER(sym) #endif and
- * #ifdef IN_FILE(sym) #endif sections.
- *
- * gdkalias.h must be included *after* all other gdk headers
- * in each source file, gdkaliasdef.c must be included at the
- * very bottom, after a line defining the right symbol.
- *
- * (This would be much easier if there was a rational 1-1
- *  relation between headers and source files.)
+ * the gdk.def file used to control exports on Windows.
  */
-#ifdef ALL_FILES
-#define IN_FILE(x) 1
-#define IN_HEADER(x) 1
-#endif
-
-#if IN_HEADER(__GDK_TEST_UTILS_H__)
-#if IN_FILE(__GDK_TEST_UTILS_X11_C__)
-gdk_test_simulate_button
-gdk_test_simulate_key
-gdk_test_render_sync
-#endif
-#endif
-
-#if IN_HEADER(__GDK_EVENTS_H__)
-#if IN_FILE(__GDK_EVENTS_C__)
-gdk_event_copy
-gdk_event_free
-gdk_event_get
-gdk_event_get_axis
-gdk_event_get_coords
-gdk_event_get_device
-gdk_event_get_root_coords
-gdk_event_get_screen
-gdk_event_get_state
-gdk_event_get_time
-gdk_event_get_type G_GNUC_CONST
-gdk_event_handler_set
-gdk_event_new
-gdk_event_peek
-gdk_event_put
-gdk_event_request_motions
-gdk_event_set_device
-gdk_event_set_screen
-gdk_events_get_distance
-gdk_events_get_angle
-gdk_events_get_center
-gdk_get_show_events
-gdk_set_show_events
-gdk_setting_get
-#endif
-#endif
-
-#if IN_HEADER(__GDK_EVENTS_H__)
-#if IN_FILE(__GDK_DISPLAY_X11_C__)
 gdk_add_client_message_filter
-#endif
-#endif
-
-#if IN_HEADER(__GDK_EVENTS_H__)
-#if IN_FILE(__GDK_EVENT_SOURCE_C__)
-gdk_events_pending
-#endif
-#endif
-
-#if IN_HEADER(__GDK_EVENT_TRANSLATOR_H__)
-#if IN_FILE(__GDK_EVENT_TRANSLATOR_C__)
-#ifdef GDK_WINDOWING_X11
-gdk_event_translator_get_type G_GNUC_CONST
-gdk_event_translator_translate
-gdk_event_translator_get_handled_events
-gdk_event_translator_select_window_events
-#endif
-#endif
-#endif
-
-#if IN_HEADER(__GDK_DEVICE_MANAGER_CORE_H__)
-#if IN_FILE(__GDK_DEVICE_MANAGER_CORE_C__)
-#ifdef GDK_WINDOWING_X11
-gdk_device_manager_core_get_type
-#endif
-#endif
-#endif
-
-#if IN_HEADER(__GDK_DEVICE_MANAGER_XI2_H__)
-#if IN_FILE(__GDK_DEVICE_MANAGER_XI2_C__)
-#ifdef GDK_WINDOWING_X11
-#ifdef XINPUT_2
-gdk_device_manager_xi2_get_type
-#endif
-#endif
-#endif
-#endif
-
-#if IN_HEADER(__GDK_DEVICE_MANAGER_XI_H__)
-#if IN_FILE(__GDK_DEVICE_MANAGER_XI_C__)
-#ifdef GDK_WINDOWING_X11
-#ifdef XINPUT_XFREE
-gdk_device_manager_xi_get_type
-#endif
-#endif
-#endif
-#endif
-
-#if IN_HEADER(__GDK_H__)
-#if IN_FILE(__GDK_MAIN_X11_C__)
-gdk_error_trap_push
-gdk_error_trap_pop
-gdk_error_trap_pop_ignored
-gdk_get_display
-#endif
-#endif
-
-
-#if IN_HEADER(__GDK_H__)
-#if IN_FILE(__GDK_DISPLAY_C__)
-gdk_beep
-#ifndef GDK_MULTIDEVICE_SAFE
-#ifndef GDK_DISABLE_DEPRECATED
-#ifndef GDK_MULTIHEAD_SAFE
-gdk_device_get_core_pointer
-gdk_set_pointer_hooks
-#endif
-#endif
-gdk_keyboard_ungrab
-gdk_pointer_is_grabbed
-gdk_pointer_ungrab
-#endif
-gdk_event_send_client_message
-gdk_event_send_clientmessage_toall
-#ifndef GDK_MULTIDEVICE_SAFE
-gdk_display_pointer_is_grabbed
-#endif
-#endif
-#endif
-
-#if IN_HEADER(__GDK_H__)
-#if IN_FILE(__GDK_IM_X11_C__)
-gdk_set_locale
-#endif
-#endif
-
-#if IN_HEADER(__GDK_H__)
-#if IN_FILE(__GDK_DISPLAY_X11_C__)
-#ifndef GDK_DISABLE_DEPRECATED
-gdk_display_list_devices
-#endif
-gdk_event_send_client_message_for_display
-gdk_flush
-gdk_notify_startup_complete
-gdk_notify_startup_complete_with_id
-#endif
-#endif
-
-#if IN_HEADER(__GDK_H__)
-#if IN_FILE(__GDK_RECTANGLE_C__)
-gdk_rectangle_get_type
-gdk_rectangle_intersect
-gdk_rectangle_union
-#endif
-#endif
-
-#if IN_HEADER(__GDK_H__)
-#if IN_FILE(__GDK_EVENTS_C__)
-gdk_set_double_click_time
-#endif
-#endif
-
-#if IN_HEADER(__GDK_H__)
-#if IN_FILE(__GDK_C__)
 gdk_add_option_entries_libgtk_only
-gdk_get_display_arg_name
-gdk_get_program_class
-gdk_init
-gdk_init_check
-gdk_enable_multidevice
-gdk_pre_parse_libgtk_only
-gdk_parse_args
-gdk_set_program_class
-gdk_threads_enter
-gdk_threads_init
-gdk_threads_leave
-gdk_threads_set_lock_functions
-gdk_threads_add_idle
-gdk_threads_add_idle_full
-gdk_threads_add_timeout
-gdk_threads_add_timeout_full
-gdk_threads_add_timeout_seconds
-gdk_threads_add_timeout_seconds_full
-#endif
-#endif
-
-#if IN_HEADER(__GDK_H__)
-#if IN_FILE(__GDK_SCREEN_C__)
-gdk_screen_width G_GNUC_CONST
-gdk_screen_width_mm G_GNUC_CONST
-gdk_screen_height G_GNUC_CONST
-gdk_screen_height_mm G_GNUC_CONST
-#endif
-#endif
-
-#if IN_HEADER(__GDK_H__)
-#if IN_FILE(__GDK_WINDOW_C__)
-#ifndef GDK_MULTIDEVICE_SAFE
-gdk_keyboard_grab
-#endif
-#endif
-#endif
-
-#if IN_HEADER(__GDK_PROPERTY_H__)
-#if IN_FILE(__GDK_SELECTION_C__)
-gdk_string_to_compound_text
-gdk_text_property_to_text_list
-gdk_text_property_to_utf8_list
-gdk_utf8_to_compound_text
-#endif
-#endif
-
-#if IN_HEADER(__GDK_PROPERTY_H__)
-#if IN_FILE(__GDK_PROPERTY_X11_C__)
+gdk_app_launch_context_get_type G_GNUC_CONST
+gdk_app_launch_context_new
+gdk_app_launch_context_set_desktop
+gdk_app_launch_context_set_display
+gdk_app_launch_context_set_icon
+gdk_app_launch_context_set_icon_name
+gdk_app_launch_context_set_screen
+gdk_app_launch_context_set_timestamp
 gdk_atom_intern
 gdk_atom_intern_static_string
 gdk_atom_name
-gdk_property_change
-gdk_property_delete
-gdk_property_get
-#endif
-#endif
-
-#if IN_HEADER(__GDK_PROPERTY_H__)
-#if IN_FILE(__GDK_SELECTION_X11_C__)
-gdk_free_compound_text
-gdk_free_text_list
-gdk_string_to_compound_text_for_display
-gdk_text_property_to_text_list_for_display
-gdk_text_property_to_utf8_list_for_display
-gdk_utf8_to_string_target
-gdk_utf8_to_compound_text_for_display
-#endif
-#endif
-
-#if IN_HEADER(__GDK_ENUM_TYPES_H__)
-#if IN_FILE(__GDK_ENUM_TYPES_C__)
-gdk_drag_protocol_get_type G_GNUC_CONST
-gdk_input_source_get_type G_GNUC_CONST
-gdk_input_mode_get_type G_GNUC_CONST
 gdk_axis_use_get_type G_GNUC_CONST
+gdk_beep
 gdk_byte_order_get_type G_GNUC_CONST
-gdk_crossing_mode_get_type G_GNUC_CONST
-gdk_device_type_get_type G_GNUC_CONST
-gdk_extension_mode_get_type G_GNUC_CONST
-gdk_event_mask_get_type G_GNUC_CONST
-gdk_event_type_get_type G_GNUC_CONST
-gdk_filter_return_get_type G_GNUC_CONST
-gdk_grab_ownership_get_type G_GNUC_CONST
-gdk_grab_status_get_type G_GNUC_CONST
-gdk_gravity_get_type G_GNUC_CONST
-gdk_modifier_type_get_type G_GNUC_CONST
-gdk_notify_type_get_type G_GNUC_CONST
-gdk_owner_change_get_type G_GNUC_CONST
-gdk_property_state_get_type G_GNUC_CONST
-gdk_prop_mode_get_type G_GNUC_CONST
-gdk_scroll_direction_get_type G_GNUC_CONST
-gdk_setting_action_get_type G_GNUC_CONST
-gdk_status_get_type G_GNUC_CONST
-gdk_visibility_state_get_type G_GNUC_CONST
-gdk_wm_decoration_get_type G_GNUC_CONST
-gdk_wm_function_get_type G_GNUC_CONST
-gdk_cursor_type_get_type G_GNUC_CONST
-gdk_drag_action_get_type G_GNUC_CONST
-gdk_window_attributes_type_get_type G_GNUC_CONST
-gdk_window_class_get_type G_GNUC_CONST
-gdk_window_edge_get_type G_GNUC_CONST
-gdk_window_hints_get_type G_GNUC_CONST
-gdk_window_state_get_type G_GNUC_CONST
-gdk_window_type_get_type G_GNUC_CONST
-gdk_window_type_hint_get_type G_GNUC_CONST
-gdk_visual_type_get_type G_GNUC_CONST
-#endif
-#endif
-
-#if IN_HEADER(__GDK_CAIRO_H__)
-#if IN_FILE(__GDK_CAIRO_C__)
 gdk_cairo_create
-gdk_cairo_reset_clip
 gdk_cairo_get_clip_rectangle
-gdk_cairo_set_source_color
-gdk_cairo_set_source_rgba
-gdk_cairo_set_source_pixbuf
-gdk_cairo_set_source_window
 gdk_cairo_rectangle
 gdk_cairo_region
 gdk_cairo_region_create_from_surface
-#endif
-#endif
-
-#if IN_HEADER(__GDK_COLOR_H__)
-#if IN_FILE(__GDK_COLOR_C__)
+gdk_cairo_reset_clip
+gdk_cairo_set_source_color
+gdk_cairo_set_source_pixbuf
+gdk_cairo_set_source_rgba
+gdk_cairo_set_source_window
 gdk_color_copy
 gdk_color_equal
 gdk_color_free
@@ -308,321 +34,422 @@ gdk_color_get_type G_GNUC_CONST
 gdk_color_hash
 gdk_color_parse
 gdk_color_to_string
-#endif
-#endif
-
-#if IN_HEADER(__GDK_RGBA_H__)
-#if IN_FILE(__GDK_RGBA_H__)
-gdk_rgba_copy
-gdk_rgba_equal
-gdk_rgba_free
-gdk_rgba_get_type
-gdk_rgba_hash
-gdk_rgba_parse
-gdk_rgba_to_string
-#endif
-#endif
-
-#if IN_HEADER(__GDK_CURSOR_H__)
-#if IN_FILE(__GDK_CURSOR_C__)
-gdk_cursor_get_type G_GNUC_CONST
+gdk_crossing_mode_get_type G_GNUC_CONST
 gdk_cursor_get_cursor_type
-gdk_cursor_new
-gdk_cursor_ref
-gdk_cursor_unref
-#endif
-#endif
-
-#if IN_HEADER(__GDK_CURSOR_H__)
-#if IN_FILE(__GDK_CURSOR_X11_C__)
 gdk_cursor_get_display
+gdk_cursor_get_image
+gdk_cursor_get_type G_GNUC_CONST
+gdk_cursor_new
 gdk_cursor_new_for_display
-gdk_cursor_new_from_pixbuf
 gdk_cursor_new_from_name
-gdk_cursor_get_image
-#endif
-#endif
-
-#if IN_HEADER(__GDK_DEVICE_MANAGER_H__)
-#if IN_FILE(__GDK_DEVICE_MANAGER_C__)
-gdk_device_manager_get_display
-gdk_device_manager_get_type G_GNUC_CONST
-gdk_device_manager_list_devices
-gdk_device_manager_get_client_pointer
-#endif
-#endif
-
-#if IN_HEADER(__GDK_DEVICE_H__)
-#if IN_FILE(__GDK_DEVICE_C__)
+gdk_cursor_new_from_pixbuf
+gdk_cursor_ref
+gdk_cursor_type_get_type G_GNUC_CONST
+gdk_cursor_unref
 gdk_device_free_history
 gdk_device_get_associated_device
 gdk_device_get_axis
 gdk_device_get_axis_use
 gdk_device_get_axis_value
+gdk_device_get_core_pointer
 gdk_device_get_device_type
 gdk_device_get_display
 gdk_device_get_has_cursor
 gdk_device_get_history
 gdk_device_get_key
 gdk_device_get_mode
-gdk_device_get_n_axes
 gdk_device_get_name
+gdk_device_get_n_axes
 gdk_device_get_source
-gdk_device_get_type G_GNUC_CONST
 gdk_device_get_state
+gdk_device_get_type G_GNUC_CONST
+gdk_device_grab
+gdk_device_grab_info_libgtk_only
 gdk_device_list_axes
+gdk_device_manager_core_get_type
+gdk_device_manager_get_client_pointer
+gdk_device_manager_get_display
+gdk_device_manager_get_type G_GNUC_CONST
+gdk_device_manager_list_devices
+gdk_device_manager_xi2_get_type
+gdk_device_manager_xi_get_type
 gdk_device_set_axis_use
 gdk_device_set_key
 gdk_device_set_mode
 gdk_device_set_source
-gdk_device_grab
-#endif
-#endif
-
-#if IN_HEADER(__GDK_DEVICE_H__)
-#if IN_FILE(__GDK_DISPLAY_X11_C__)
-gdk_device_ungrab
-#endif
-#endif
-
-#if IN_HEADER(__GDK_DEVICE_H__)
-#if IN_FILE(__GDK_DISPLAY_C__)
-gdk_device_grab_info_libgtk_only
-#endif
-#endif
-
-#if IN_HEADER(__GDK_INPUT_H__)
-#if IN_FILE(__GDK_INPUT_C__)
-#ifndef GDK_DISABLE_DEPRECATED
-#ifndef GDK_MULTIDEVICE_SAFE
-#ifndef GDK_MULTIHEAD_SAFE
 gdk_devices_list
-#endif
-gdk_input_set_extension_events
-#endif
-#endif
-#endif
-#endif
-
-#if IN_HEADER(__GDK_DISPLAY_H__)
-#if IN_FILE(__GDK_DISPLAY_C__)
+gdk_device_type_get_type G_GNUC_CONST
+gdk_device_ungrab
+gdk_display_add_client_message_filter
+gdk_display_beep
 gdk_display_close
-gdk_display_is_closed
-gdk_display_get_event
-gdk_display_get_device_manager
-gdk_display_get_device_state
-gdk_display_get_type G_GNUC_CONST
-gdk_display_get_window_at_device_position
-gdk_display_peek_event
-gdk_display_put_event
-#ifndef GDK_MULTIDEVICE_SAFE
-gdk_display_get_pointer
-gdk_display_get_window_at_pointer
-gdk_display_keyboard_ungrab
-gdk_display_pointer_ungrab
-gdk_display_set_pointer_hooks
-gdk_display_set_device_hooks
 gdk_display_device_is_grabbed
-#ifndef GDK_DISABLE_DEPRECATED
+gdk_display_flush
 gdk_display_get_core_pointer
-#endif
-#endif
-#endif
-#endif
-
-#if IN_HEADER(__GDK_DISPLAY_H__)
-#if IN_FILE(__GDK_WINDOW_X11_C__)
-gdk_display_warp_device
-#ifndef GDK_MULTIDEVICE_SAFE
-gdk_display_warp_pointer
-#endif
-#endif
-#endif
-
-#if IN_HEADER(__GDK_DISPLAY_H__)
-#if IN_FILE(__GDK_DISPLAY_MANAGER_C__)
 gdk_display_get_default
-#endif
-#endif
-
-#if IN_HEADER(__GDK_DISPLAY_H__)
-#if IN_FILE(__GDK_CURSOR_X11_C__)
 gdk_display_get_default_cursor_size
-gdk_display_get_maximal_cursor_size
-gdk_display_supports_cursor_alpha
-gdk_display_supports_cursor_color
-#endif
-#endif
-
-#if IN_HEADER(__GDK_DISPLAY_H__)
-#if IN_FILE(__GDK_DISPLAY_X11_C__)
-gdk_display_add_client_message_filter
-gdk_display_beep
-gdk_display_sync
-gdk_display_flush
 gdk_display_get_default_group
 gdk_display_get_default_screen
+gdk_display_get_device_manager
+gdk_display_get_device_state
+gdk_display_get_event
+gdk_display_get_maximal_cursor_size
 gdk_display_get_name
 gdk_display_get_n_screens
+gdk_display_get_pointer
 gdk_display_get_screen
+gdk_display_get_type G_GNUC_CONST
+gdk_display_get_window_at_device_position
+gdk_display_get_window_at_pointer
+gdk_display_is_closed
+gdk_display_keyboard_ungrab
+gdk_display_list_devices
+gdk_display_manager_get
+gdk_display_manager_get_default_display
+gdk_display_manager_get_type G_GNUC_CONST
+gdk_display_manager_list_displays
+gdk_display_manager_set_default_display
 gdk_display_open
+gdk_display_open_default_libgtk_only
+gdk_display_peek_event
+gdk_display_pointer_is_grabbed
+gdk_display_pointer_ungrab
+gdk_display_put_event
 gdk_display_request_selection_notification
+gdk_display_set_device_hooks
+gdk_display_set_double_click_distance
+gdk_display_set_double_click_time
+gdk_display_set_pointer_hooks
 gdk_display_store_clipboard
 gdk_display_supports_clipboard_persistence
+gdk_display_supports_composite
+gdk_display_supports_cursor_alpha
+gdk_display_supports_cursor_color
+gdk_display_supports_input_shapes
 gdk_display_supports_selection_notification
 gdk_display_supports_shapes
-gdk_display_supports_input_shapes
-gdk_display_supports_composite
-#endif
-#endif
-
-#if IN_HEADER(__GDK_DISPLAY_H__)
-#if IN_FILE(__GDK_C__)
-gdk_display_open_default_libgtk_only
-#endif
-#endif
-
-#if IN_HEADER(__GDK_DISPLAY_H__)
-#if IN_FILE(__GDK_EVENTS_C__)
-gdk_display_set_double_click_distance
-gdk_display_set_double_click_time
-#endif
-#endif
-
-#if IN_HEADER(__GDK_DISPLAY_MANAGER_H__)
-#if IN_FILE(__GDK_DISPLAY_MANAGER_C__)
-gdk_display_manager_get
-gdk_display_manager_get_type G_GNUC_CONST
-gdk_display_manager_list_displays
-gdk_display_manager_set_default_display
-gdk_display_manager_get_default_display
-#endif
-#endif
-
-#if IN_HEADER(__GDK_DND_H__)
-#if IN_FILE(__GDK_DND_X11_C__)
+gdk_display_sync
+gdk_display_warp_device
+gdk_display_warp_pointer
 gdk_drag_abort
+gdk_drag_action_get_type G_GNUC_CONST
 gdk_drag_begin
+gdk_drag_context_get_actions
+gdk_drag_context_get_device
+gdk_drag_context_get_selected_action
+gdk_drag_context_get_source_window
+gdk_drag_context_get_suggested_action
 gdk_drag_context_get_type G_GNUC_CONST
+gdk_drag_context_list_targets
 gdk_drag_context_new
-gdk_drag_context_get_device
 gdk_drag_context_set_device
 gdk_drag_drop
 gdk_drag_drop_succeeded
+gdk_drag_find_window
 gdk_drag_find_window_for_screen
+gdk_drag_get_protocol
 gdk_drag_get_protocol_for_display
 gdk_drag_get_selection
 gdk_drag_motion
+gdk_drag_protocol_get_type G_GNUC_CONST
 gdk_drag_status
-gdk_drop_finish
-gdk_drop_reply
-#endif
-#endif
-
-#if IN_HEADER(__GDK_DND_H__)
-#if IN_FILE(__GDK_DND_C__)
-gdk_drag_context_get_actions
-gdk_drag_context_get_selected_action
-gdk_drag_context_get_suggested_action
-gdk_drag_context_list_targets
-gdk_drag_context_get_source_window
-gdk_drag_find_window
-gdk_drag_get_protocol
-#endif
-#endif
-
-#if IN_HEADER(__GDK_DRAWABLE_H__)
-#if IN_FILE(__GDK_DRAW_C__)
 gdk_drawable_get_clip_region
 gdk_drawable_get_type G_GNUC_CONST
 gdk_drawable_get_visible_region
-#endif
-#endif
-
-#if IN_HEADER(__GDK_WINDOW_X11_H__)
-#if IN_FILE(__GDK_WINDOW_X11_C__)
-#ifdef GDK_WINDOWING_X11
-gdk_window_impl_x11_get_type G_GNUC_CONST
-#endif
-#endif
-#endif
-
-#if IN_HEADER(__GDK_WINDOW_H__)
-#if IN_FILE(__GDK_WINDOW_C__)
+gdk_drop_finish
+gdk_drop_reply
+gdk_enable_multidevice
+gdk_error_trap_pop
+gdk_error_trap_pop_ignored
+gdk_error_trap_push
+gdk_event_copy
+gdk_event_free
+gdk_event_get
+gdk_event_get_axis
+gdk_event_get_coords
+gdk_event_get_device
+gdk_event_get_root_coords
+gdk_event_get_screen
+gdk_event_get_state
+gdk_event_get_time
+gdk_event_get_type G_GNUC_CONST
+gdk_event_handler_set
+gdk_event_mask_get_type G_GNUC_CONST
+gdk_event_new
+gdk_event_peek
+gdk_event_put
+gdk_event_request_motions
+gdk_event_send_client_message
+gdk_event_send_client_message_for_display
+gdk_event_send_clientmessage_toall
+gdk_event_set_device
+gdk_event_set_screen
+gdk_events_get_angle
+gdk_events_get_center
+gdk_events_get_distance
+gdk_events_pending
+gdk_event_translator_get_handled_events
+gdk_event_translator_get_type G_GNUC_CONST
+gdk_event_translator_select_window_events
+gdk_event_translator_translate
+gdk_event_type_get_type G_GNUC_CONST
+gdk_extension_mode_get_type G_GNUC_CONST
+gdk_filter_return_get_type G_GNUC_CONST
+gdk_flush
+gdk_free_compound_text
+gdk_free_text_list
 gdk_get_default_root_window
-gdk_window_new
-gdk_window_show_unraised
-gdk_window_show
-gdk_window_hide
-gdk_window_withdraw
-gdk_window_get_events
-gdk_window_set_events
-gdk_window_raise
-gdk_window_lower
-gdk_window_restack
-gdk_window_move
-gdk_window_resize
-gdk_window_move_resize
-gdk_window_scroll
-gdk_window_move_region
-gdk_window_get_accept_focus
-gdk_window_get_background_pattern
-gdk_window_get_composited
-gdk_window_get_cursor
-gdk_window_get_display
-gdk_window_get_focus_on_map
-gdk_window_get_geometry
-gdk_window_get_height
-gdk_window_get_modal_hint
-gdk_window_get_origin
-gdk_window_get_root_coords
-gdk_window_set_support_multidevice
-gdk_window_get_support_multidevice
-gdk_window_get_screen
-gdk_window_get_visual
-gdk_window_get_width
-gdk_window_has_native
-gdk_window_set_background
-gdk_window_set_background_pattern
-gdk_window_set_background_rgba
-gdk_window_set_cursor
-gdk_window_shape_combine_region
-gdk_window_set_child_shapes
-gdk_window_merge_child_shapes
-gdk_window_input_shape_combine_region
-gdk_window_set_child_input_shapes
-gdk_window_merge_child_input_shapes
-gdk_window_set_static_gravities
-gdk_window_reparent
+gdk_get_display
+gdk_get_display_arg_name
+gdk_get_program_class
+gdk_get_show_events
+gdk_grab_ownership_get_type G_GNUC_CONST
+gdk_grab_status_get_type G_GNUC_CONST
+gdk_gravity_get_type G_GNUC_CONST
+gdk_init
+gdk_init_check
+gdk_input_mode_get_type G_GNUC_CONST
+gdk_input_set_extension_events
+gdk_input_source_get_type G_GNUC_CONST
+gdk_keyboard_grab
+gdk_keyboard_ungrab
+gdk_keymap_add_virtual_modifiers
+gdk_keymap_get_caps_lock_state
+gdk_keymap_get_default
+gdk_keymap_get_direction
+gdk_keymap_get_entries_for_keycode
+gdk_keymap_get_entries_for_keyval
+gdk_keymap_get_for_display
+gdk_keymap_get_num_lock_state
+gdk_keymap_get_type G_GNUC_CONST
+gdk_keymap_have_bidi_layouts
+gdk_keymap_lookup_key
+gdk_keymap_map_virtual_modifiers
+gdk_keymap_translate_keyboard_state
+gdk_keyval_convert_case
+gdk_keyval_from_name
+gdk_keyval_is_lower G_GNUC_CONST
+gdk_keyval_is_upper G_GNUC_CONST
+gdk_keyval_name G_GNUC_CONST
+gdk_keyval_to_lower G_GNUC_CONST
+gdk_keyval_to_unicode G_GNUC_CONST
+gdk_keyval_to_upper G_GNUC_CONST
+gdk_list_visuals
+gdk_modifier_type_get_type G_GNUC_CONST
+gdk_net_wm_supports
+gdk_notify_startup_complete
+gdk_notify_startup_complete_with_id
+gdk_notify_type_get_type G_GNUC_CONST
+gdk_offscreen_window_get_embedder
+gdk_offscreen_window_get_surface
+gdk_offscreen_window_get_type G_GNUC_CONST
+gdk_offscreen_window_set_embedder
+gdk_owner_change_get_type G_GNUC_CONST
+gdk_pango_context_get
+gdk_pango_context_get_for_screen
+gdk_pango_layout_get_clip_region
+gdk_pango_layout_line_get_clip_region
+gdk_parse_args
+gdk_pixbuf_get_from_surface
+gdk_pixbuf_get_from_window
+gdk_pointer_grab
+gdk_pointer_is_grabbed
+gdk_pointer_ungrab
+gdk_pre_parse_libgtk_only
+gdk_property_change
+gdk_property_delete
+gdk_property_get
+gdk_property_state_get_type G_GNUC_CONST
+gdk_prop_mode_get_type G_GNUC_CONST
+gdk_query_depths
+gdk_query_visual_types
+gdk_rectangle_get_type
+gdk_rectangle_intersect
+gdk_rectangle_union
+gdk_rgba_copy
+gdk_rgba_equal
+gdk_rgba_free
+gdk_rgba_get_type
+gdk_rgba_hash
+gdk_rgba_parse
+gdk_rgba_to_string
+gdk_screen_broadcast_client_message
+gdk_screen_get_active_window
+gdk_screen_get_default
+gdk_screen_get_display
+gdk_screen_get_font_options
+gdk_screen_get_height
+gdk_screen_get_height_mm
+gdk_screen_get_monitor_at_point
+gdk_screen_get_monitor_at_window
+gdk_screen_get_monitor_geometry
+gdk_screen_get_monitor_height_mm
+gdk_screen_get_monitor_plug_name
+gdk_screen_get_monitor_width_mm
+gdk_screen_get_n_monitors
+gdk_screen_get_number
+gdk_screen_get_primary_monitor
+gdk_screen_get_resolution
+gdk_screen_get_rgba_visual
+gdk_screen_get_root_window
+gdk_screen_get_setting
+gdk_screen_get_system_visual
+gdk_screen_get_toplevel_windows
+gdk_screen_get_type G_GNUC_CONST
+gdk_screen_get_width
+gdk_screen_get_width_mm
+gdk_screen_get_window_stack
+gdk_screen_height G_GNUC_CONST
+gdk_screen_height_mm G_GNUC_CONST
+gdk_screen_is_composited
+gdk_screen_list_visuals
+gdk_screen_make_display_name
+gdk_screen_set_font_options
+gdk_screen_set_resolution
+gdk_screen_width G_GNUC_CONST
+gdk_screen_width_mm G_GNUC_CONST
+gdk_scroll_direction_get_type G_GNUC_CONST
+gdk_selection_convert
+gdk_selection_owner_get
+gdk_selection_owner_get_for_display
+gdk_selection_owner_set
+gdk_selection_owner_set_for_display
+gdk_selection_property_get
+gdk_selection_send_notify
+gdk_selection_send_notify_for_display
+gdk_set_double_click_time
+gdk_set_locale
+gdk_set_pointer_hooks
+gdk_set_program_class
+gdk_set_show_events
+gdk_set_sm_client_id
+gdk_setting_action_get_type G_GNUC_CONST
+gdk_setting_get
+gdk_spawn_command_line_on_screen
+gdk_spawn_on_screen
+gdk_spawn_on_screen_with_pipes
+gdk_status_get_type G_GNUC_CONST
+gdk_string_to_compound_text
+gdk_string_to_compound_text_for_display
+gdk_synthesize_window_state
+gdk_test_render_sync
+gdk_test_simulate_button
+gdk_test_simulate_key
+gdk_text_property_to_text_list
+gdk_text_property_to_text_list_for_display
+gdk_text_property_to_utf8_list
+gdk_text_property_to_utf8_list_for_display
+gdk_threads_add_idle
+gdk_threads_add_idle_full
+gdk_threads_add_timeout
+gdk_threads_add_timeout_full
+gdk_threads_add_timeout_seconds
+gdk_threads_add_timeout_seconds_full
+gdk_threads_enter
+gdk_threads_init
+gdk_threads_leave
+gdk_threads_set_lock_functions
+gdk_unicode_to_keyval G_GNUC_CONST
+gdk_utf8_to_compound_text
+gdk_utf8_to_compound_text_for_display
+gdk_utf8_to_string_target
+gdk_visibility_state_get_type G_GNUC_CONST
+gdk_visual_get_best
+gdk_visual_get_best_depth
+gdk_visual_get_best_type
+gdk_visual_get_best_with_both
+gdk_visual_get_best_with_depth
+gdk_visual_get_best_with_type
+gdk_visual_get_bits_per_rgb
+gdk_visual_get_blue_pixel_details
+gdk_visual_get_byte_order
+gdk_visual_get_colormap_size
+gdk_visual_get_depth
+gdk_visual_get_green_pixel_details
+gdk_visual_get_red_pixel_details
+gdk_visual_get_screen
+gdk_visual_get_system
+gdk_visual_get_type G_GNUC_CONST
+gdk_visual_get_visual_type
+gdk_visual_type_get_type G_GNUC_CONST
+gdk_win32_drawable_get_handle
+gdk_win32_handle_table_lookup
+gdk_win32_icon_to_pixbuf_libgtk_only
+gdk_win32_pixbuf_to_hicon_libgtk_only
+gdk_win32_selection_add_targets
+gdk_win32_set_modal_dialog_libgtk_only
+gdk_win32_window_is_win32
 gdk_window_add_filter
-#ifndef GDK_MULTIDEVICE_SAFE
 gdk_window_at_pointer
-#endif
+gdk_window_attributes_type_get_type G_GNUC_CONST
+gdk_window_beep
+gdk_window_begin_move_drag
 gdk_window_begin_paint_rect
 gdk_window_begin_paint_region
+gdk_window_begin_resize_drag
+gdk_window_class_get_type G_GNUC_CONST
+gdk_window_configure_finished
 gdk_window_constrain_size
 gdk_window_coords_from_parent
 gdk_window_coords_to_parent
 gdk_window_create_similar_surface
+gdk_window_deiconify
 gdk_window_destroy
+gdk_window_destroy_notify
+gdk_window_edge_get_type G_GNUC_CONST
+gdk_window_enable_synchronized_configure
 gdk_window_end_paint
+gdk_window_ensure_native
 gdk_window_flush
+gdk_window_focus
 gdk_window_foreign_new
+gdk_window_foreign_new_for_display
 gdk_window_freeze_toplevel_updates_libgtk_only
 gdk_window_freeze_updates
+gdk_window_fullscreen
+gdk_window_geometry_changed
+gdk_window_get_accept_focus
+gdk_window_get_background_pattern
 gdk_window_get_children
-gdk_window_get_parent
+gdk_window_get_composited
+gdk_window_get_cursor
+gdk_window_get_decorations
+gdk_window_get_device_cursor
+gdk_window_get_device_events
+gdk_window_get_device_position
+gdk_window_get_display
 gdk_window_get_effective_parent
-#ifndef GDK_MULTIDEVICE_SAFE
+gdk_window_get_effective_toplevel
+gdk_window_get_events
+gdk_window_get_focus_on_map
+gdk_window_get_frame_extents
+gdk_window_get_geometry
+gdk_window_get_group
+gdk_window_get_height
+gdk_window_get_modal_hint
+gdk_window_get_origin
+gdk_window_get_parent
 gdk_window_get_pointer
-#endif
 gdk_window_get_position
+gdk_window_get_root_coords
+gdk_window_get_root_origin
+gdk_window_get_screen
 gdk_window_get_state
+gdk_window_get_support_multidevice
 gdk_window_get_toplevel
-gdk_window_get_effective_toplevel
+gdk_window_get_type_hint
 gdk_window_get_update_area
 gdk_window_get_user_data
+gdk_window_get_visual
+gdk_window_get_width
 gdk_window_get_window_type
+gdk_window_has_native
+gdk_window_hide
+gdk_window_hints_get_type G_GNUC_CONST
+gdk_window_iconify
+gdk_window_impl_get_type G_GNUC_CONST
+gdk_window_impl_x11_get_type G_GNUC_CONST
+gdk_window_input_shape_combine_region
 gdk_window_invalidate_maybe_recurse
 gdk_window_invalidate_rect
 gdk_window_invalidate_region
@@ -631,410 +458,118 @@ gdk_window_is_input_only
 gdk_window_is_shaped
 gdk_window_is_viewable
 gdk_window_is_visible
+gdk_window_lookup
+gdk_window_lookup_for_display
+gdk_window_lower
+gdk_window_maximize
+gdk_window_merge_child_input_shapes
+gdk_window_merge_child_shapes
+gdk_window_move
+gdk_window_move_region
+gdk_window_move_resize
+gdk_window_new
 gdk_window_object_get_type G_GNUC_CONST
 gdk_window_peek_children
 gdk_window_process_all_updates
 gdk_window_process_updates
+gdk_window_raise
+gdk_window_register_dnd
 gdk_window_remove_filter
-gdk_window_set_debug_updates
-gdk_window_set_user_data
-gdk_window_thaw_toplevel_updates_libgtk_only
-gdk_window_thaw_updates
+gdk_window_reparent
+gdk_window_resize
+gdk_window_restack
+gdk_window_scroll
+gdk_window_set_accept_focus
+gdk_window_set_background
+gdk_window_set_background_pattern
+gdk_window_set_background_rgba
+gdk_window_set_child_input_shapes
+gdk_window_set_child_shapes
 gdk_window_set_composited
-#ifndef GDK_MULTIDEVICE_SAFE
-gdk_pointer_grab
-#endif
-gdk_window_beep
-gdk_window_geometry_changed
-gdk_window_ensure_native
-gdk_window_set_device_events
-gdk_window_get_device_events
+gdk_window_set_cursor
+gdk_window_set_debug_updates
+gdk_window_set_decorations
 gdk_window_set_device_cursor
-gdk_window_get_device_cursor
-gdk_window_get_device_position
-#endif
-#endif
-
-#if IN_HEADER(__GDK_WINDOW_H__)
-#if IN_FILE(__GDK_OFFSCREEN_WINDOW_C__)
-gdk_offscreen_window_get_surface
-gdk_offscreen_window_set_embedder
-gdk_offscreen_window_get_embedder
-#endif
-#endif
-
-#if IN_HEADER(__GDK_INTERNALS_H__)
-#if IN_FILE(__GDK_OFFSCREEN_WINDOW_C__)
-gdk_offscreen_window_get_type G_GNUC_CONST
-#endif
-#endif
-
-#if IN_HEADER(__GDK_WINDOW_H__)
-#if IN_FILE(__GDK_DND_X11_C__)
-gdk_window_register_dnd
-#endif
-#endif
-
-#if IN_HEADER(__GDK_WINDOW_H__)
-#if IN_FILE(__GDK_WINDOW_X11_C__)
-gdk_window_foreign_new_for_display
-gdk_window_focus
-gdk_window_lookup
-gdk_window_lookup_for_display
-gdk_window_get_type_hint
-gdk_window_set_type_hint
-gdk_window_set_modal_hint
-gdk_window_set_skip_taskbar_hint
-gdk_window_set_skip_pager_hint
-gdk_window_set_urgency_hint
-gdk_window_set_geometry_hints
-gdk_window_set_title
-gdk_window_set_role
-gdk_window_set_startup_id
-gdk_window_set_transient_for
-gdk_window_get_root_origin
-gdk_window_get_frame_extents
-gdk_window_set_override_redirect
-gdk_window_set_accept_focus
+gdk_window_set_device_events
+gdk_window_set_events
 gdk_window_set_focus_on_map
+gdk_window_set_functions
+gdk_window_set_geometry_hints
+gdk_window_set_group
 gdk_window_set_icon_list
 gdk_window_set_icon_name
+gdk_window_set_keep_above
+gdk_window_set_keep_below
+gdk_window_set_modal_hint
 gdk_window_set_opacity
-gdk_window_iconify
-gdk_window_deiconify
+gdk_window_set_override_redirect
+gdk_window_set_role
+gdk_window_set_skip_pager_hint
+gdk_window_set_skip_taskbar_hint
+gdk_window_set_startup_id
+gdk_window_set_static_gravities
+gdk_window_set_support_multidevice
+gdk_window_set_title
+gdk_window_set_transient_for
+gdk_window_set_type_hint
+gdk_window_set_urgency_hint
+gdk_window_set_user_data
+gdk_window_shape_combine_region
+gdk_window_show
+gdk_window_show_unraised
+gdk_window_state_get_type G_GNUC_CONST
 gdk_window_stick
-gdk_window_unstick
-gdk_window_maximize
-gdk_window_unmaximize
-gdk_window_fullscreen
+gdk_window_thaw_toplevel_updates_libgtk_only
+gdk_window_thaw_updates
+gdk_window_type_get_type G_GNUC_CONST
+gdk_window_type_hint_get_type G_GNUC_CONST
 gdk_window_unfullscreen
-gdk_window_set_keep_above
-gdk_window_set_keep_below
-gdk_window_get_group
-gdk_window_set_group
-gdk_window_get_decorations
-gdk_window_set_decorations
-gdk_window_set_functions
-gdk_window_begin_move_drag
-gdk_window_begin_resize_drag
-gdk_window_enable_synchronized_configure
-gdk_window_configure_finished
-#endif
-#endif
-
-#if IN_HEADER(__GDK_KEYS_H__)
-#if IN_FILE(__GDK_KEYS_C__)
-gdk_keymap_get_default
-gdk_keymap_get_type G_GNUC_CONST
-gdk_keyval_is_lower G_GNUC_CONST
-gdk_keyval_is_upper G_GNUC_CONST
-gdk_keyval_to_lower G_GNUC_CONST
-gdk_keyval_to_upper G_GNUC_CONST
-#endif
-#endif
-
-#if IN_HEADER(__GDK_KEYS_H__)
-#if IN_FILE(__GDK_KEYUNI_C__)
-gdk_keyval_to_unicode G_GNUC_CONST
-gdk_unicode_to_keyval G_GNUC_CONST
-#endif
-#endif
-
-#if IN_HEADER(__GDK_KEYS_H__)
-#if IN_FILE(__GDK_KEYS_X11_C__)
-gdk_keymap_get_direction
-gdk_keymap_get_entries_for_keycode
-gdk_keymap_get_entries_for_keyval
-gdk_keymap_get_for_display
-gdk_keymap_have_bidi_layouts
-gdk_keymap_get_caps_lock_state
-gdk_keymap_get_num_lock_state
-gdk_keymap_lookup_key
-gdk_keymap_translate_keyboard_state
-gdk_keymap_add_virtual_modifiers
-gdk_keymap_map_virtual_modifiers
-gdk_keyval_convert_case
-gdk_keyval_from_name
-gdk_keyval_name G_GNUC_CONST
-#endif
-#endif
-
-#if IN_HEADER(__GDK_VISUAL_H__)
-#if IN_FILE(__GDK_VISUAL_C__)
-gdk_list_visuals
-gdk_visual_get_bits_per_rgb
-gdk_visual_get_blue_pixel_details
-gdk_visual_get_byte_order
-gdk_visual_get_colormap_size
-gdk_visual_get_depth
-gdk_visual_get_green_pixel_details
-gdk_visual_get_red_pixel_details
-gdk_visual_get_system
-gdk_visual_get_visual_type
-#endif
-#endif
-
-#if IN_HEADER(__GDK_VISUAL_H__)
-#if IN_FILE(__GDK_VISUAL_X11_C__)
-gdk_query_depths
-gdk_query_visual_types
-gdk_visual_get_best
-gdk_visual_get_best_depth
-gdk_visual_get_best_type
-gdk_visual_get_best_with_both
-gdk_visual_get_best_with_depth
-gdk_visual_get_best_with_type
-gdk_visual_get_screen
-gdk_visual_get_type G_GNUC_CONST
-#endif
-#endif
-
-#if IN_HEADER(__GDK_PANGO_H__)
-#if IN_FILE(__GDK_PANGO_C__)
-gdk_pango_context_get
-gdk_pango_context_get_for_screen
-gdk_pango_layout_get_clip_region
-gdk_pango_layout_line_get_clip_region
-#endif
-#endif
-
-#if IN_HEADER(__GDK_PIXBUF_H__)
-#if IN_FILE(__GDK_PIXBUF_DRAWABLE_C__)
-gdk_pixbuf_get_from_window
-gdk_pixbuf_get_from_surface
-#endif
-#endif
-
-#if IN_HEADER(__GDK_SCREEN_H__)
-#if IN_FILE(__GDK_SCREEN_C__)
-gdk_screen_get_type G_GNUC_CONST
-gdk_screen_get_monitor_at_point
-gdk_screen_get_monitor_at_window
-gdk_screen_set_font_options
-gdk_screen_get_font_options
-gdk_screen_set_resolution
-gdk_screen_get_resolution
-#endif
-#endif
-
-#if IN_HEADER(__GDK_SCREEN_H__)
-#if IN_FILE(__GDK_DISPLAY_MANAGER_C__)
-gdk_screen_get_default
-#endif
-#endif
-
-#if IN_HEADER(__GDK_SCREEN_H__)
-#if IN_FILE(__GDK_VISUAL_X11_C__)
-gdk_screen_get_system_visual
-gdk_screen_list_visuals
-#endif
-#endif
-
-#if IN_HEADER(__GDK_SCREEN_H__)
-#if IN_FILE(__GDK_WINDOW_C__)
-gdk_screen_get_toplevel_windows
-#endif
-#endif
-
-#if IN_HEADER(__GDK_SCREEN_H__)
-#if IN_FILE(__GDK_SCREEN_X11_C__)
-gdk_screen_broadcast_client_message
-gdk_screen_get_display
-gdk_screen_get_width
-gdk_screen_get_width_mm
-gdk_screen_get_height
-gdk_screen_get_height_mm
-gdk_screen_get_number
-gdk_screen_get_primary_monitor
-gdk_screen_get_root_window
-gdk_screen_get_setting
-gdk_screen_get_n_monitors
-gdk_screen_get_monitor_geometry
-gdk_screen_get_monitor_width_mm
-gdk_screen_get_monitor_height_mm
-gdk_screen_get_monitor_plug_name
-gdk_screen_get_rgba_visual
-gdk_screen_get_active_window
-gdk_screen_get_window_stack
-gdk_screen_is_composited
-gdk_screen_make_display_name
-#endif
-#endif
-
-#if IN_HEADER(__GDK_SELECTION_H__)
-#if IN_FILE(__GDK_SELECTION_C__)
-gdk_selection_owner_set
-gdk_selection_owner_get
-gdk_selection_send_notify
-#endif
-#endif
-
-#if IN_HEADER(__GDK_SELECTION_H__)
-#if IN_FILE(__GDK_SELECTION_X11_C__)
-gdk_selection_convert
-gdk_selection_owner_get_for_display
-gdk_selection_owner_set_for_display
-gdk_selection_property_get
-gdk_selection_send_notify_for_display
-#endif
-#endif
-
-#if IN_HEADER(__GDK_WINDOW_H__)
-#if IN_FILE(__GDK_DISPLAY_C__)
-gdk_set_sm_client_id
-#endif
-#endif
-
-#if IN_HEADER(__GDK_SPAWN_H__)
-#if IN_FILE(__GDK_SPAWN_X11_C__)
-gdk_spawn_command_line_on_screen
-gdk_spawn_on_screen
-gdk_spawn_on_screen_with_pipes
-#endif
-#endif
-
-#if IN_HEADER(__GDK_PRIVATE_H__)
-#if IN_FILE(__GDK_EVENTS_C__)
-gdk_synthesize_window_state
-#endif
-#endif
-
-#if IN_HEADER(__GDK_PRIVATE_H__)
-#if IN_FILE(__GDK_WINDOW_X11_C__)
-gdk_window_destroy_notify
-#endif
-#endif
-
-#ifdef GDK_WINDOWING_WIN32
-#if IN_HEADER(__GDK_WIN32_H__)
-#if IN_FILE(__GDK_WINDOW_WIN32_C__)
-gdk_win32_window_is_win32
-#endif
-#endif
-
-#if IN_HEADER(__GDK_WIN32_H__)
-#if IN_FILE(__GDK_WIN32ID_C__)
-gdk_win32_handle_table_lookup
-#endif
-#endif
-
-#if IN_HEADER(__GDK_WIN32_H__)
-#if IN_FILE(__GDK_CURSOR_WIN32_C__)
-gdk_win32_icon_to_pixbuf_libgtk_only
-gdk_win32_pixbuf_to_hicon_libgtk_only
-#endif
-#endif
-
-#if IN_HEADER(__GDK_WIN32_H__)
-#if IN_FILE(__GDK_DRAWABLE_WIN32_C__)
-gdk_win32_drawable_get_handle
-#endif
-#endif
-
-#if IN_HEADER(__GDK_WIN32_H__)
-#if IN_FILE(__GDK_EVENTS_WIN32_C__)
-gdk_win32_set_modal_dialog_libgtk_only
-#endif
-#endif
-
-#if IN_HEADER(__GDK_WIN32_H__)
-#if IN_FILE(__GDK_SELECTION_WIN32_C__)
-gdk_win32_selection_add_targets
-#endif
-#endif
-#endif
-
-#ifdef GDK_WINDOWING_X11
-#if IN_HEADER(__GDK_X_H__)
-#if IN_FILE(__GDK_PROPERTY_X11_C__)
+gdk_window_unmaximize
+gdk_window_unstick
+gdk_window_withdraw
+gdk_wm_decoration_get_type G_GNUC_CONST
+gdk_wm_function_get_type G_GNUC_CONST
 gdk_x11_atom_to_xatom
 gdk_x11_atom_to_xatom_for_display
-gdk_x11_get_xatom_by_name
-gdk_x11_get_xatom_by_name_for_display
-gdk_x11_get_xatom_name
-gdk_x11_get_xatom_name_for_display
-gdk_x11_xatom_to_atom
-gdk_x11_xatom_to_atom_for_display
-#endif
-
-#if IN_FILE(__GDK_CURSOR_X11_C__)
 gdk_x11_cursor_get_xcursor
 gdk_x11_cursor_get_xdisplay
-gdk_x11_display_set_cursor_theme
-#endif
-
-#if IN_FILE(__GDK_DISPLAY_X11_C__)
+gdk_x11_display_broadcast_startup_message
+gdk_x11_display_error_trap_pop
+gdk_x11_display_error_trap_pop_ignored
+gdk_x11_display_error_trap_push
+gdk_x11_display_get_startup_notification_id
 gdk_x11_display_get_user_time
 gdk_x11_display_get_xdisplay
 gdk_x11_display_grab
-gdk_x11_display_ungrab
-gdk_x11_lookup_xdisplay
-gdk_x11_display_broadcast_startup_message
-gdk_x11_display_get_startup_notification_id
+gdk_x11_display_set_cursor_theme
 gdk_x11_display_set_startup_notification_id
-gdk_x11_register_standard_event_type
-gdk_x11_display_error_trap_push
-gdk_x11_display_error_trap_pop
-gdk_x11_display_error_trap_pop_ignored
-#endif
-
-#if IN_FILE(__GDK_DRAWABLE_X11_C__)
+gdk_x11_display_ungrab
 gdk_x11_drawable_get_xdisplay
 gdk_x11_drawable_get_xid
-gdk_x11_window_get_drawable_impl
-#endif
-
-#if IN_FILE(__GDK_MAIN_X11_C__)
 gdk_x11_get_default_root_xwindow
 gdk_x11_get_default_screen
 gdk_x11_get_default_xdisplay
+gdk_x11_get_server_time
+gdk_x11_get_xatom_by_name
+gdk_x11_get_xatom_by_name_for_display
+gdk_x11_get_xatom_name
+gdk_x11_get_xatom_name_for_display
 gdk_x11_grab_server
-gdk_x11_ungrab_server
-#endif
-
-#if IN_FILE(__GDK_SCREEN_X11_C__)
-gdk_net_wm_supports
+gdk_x11_lookup_xdisplay
+gdk_x11_register_standard_event_type
+gdk_x11_screen_get_monitor_output
 gdk_x11_screen_get_screen_number
 gdk_x11_screen_get_window_manager_name
 gdk_x11_screen_get_xscreen
-gdk_x11_screen_get_monitor_output
-gdk_x11_screen_supports_net_wm_hint
-#endif
-
-#if IN_FILE(__GDK_VISUAL_X11_C__)
 gdk_x11_screen_lookup_visual
+gdk_x11_screen_supports_net_wm_hint
+gdk_x11_ungrab_server
 gdk_x11_visual_get_xvisual
-gdkx_visual_get
-#endif
-
-#if IN_FILE(__GDK_WINDOW_X11_C__)
-gdk_x11_get_server_time
-gdk_x11_window_set_user_time
+gdk_x11_window_get_drawable_impl
 gdk_x11_window_move_to_current_desktop
-#endif
-
-#if IN_FILE(__GDK_XID_C__)
+gdk_x11_window_set_user_time
+gdk_x11_xatom_to_atom
+gdk_x11_xatom_to_atom_for_display
 gdk_xid_table_lookup
 gdk_xid_table_lookup_for_display
-#endif
-#endif
-#endif
-
-#if IN_HEADER(__GDK_APP_LAUNCH_CONTEXT_H__)
-#if IN_FILE(__GDK_APP_LAUNCH_CONTEXT_C__)
-gdk_app_launch_context_get_type G_GNUC_CONST
-gdk_app_launch_context_new
-gdk_app_launch_context_set_display
-gdk_app_launch_context_set_screen
-gdk_app_launch_context_set_desktop
-gdk_app_launch_context_set_timestamp
-gdk_app_launch_context_set_icon
-gdk_app_launch_context_set_icon_name
-#endif
-#endif
-
-#if IN_HEADER(__GDK_WINDOW_IMPL_H__)
-#if IN_FILE(__GDK_WINDOW_IMPL_C__)
-gdk_window_impl_get_type G_GNUC_CONST
-#endif
-#endif
+gdkx_visual_get
index 593e265af29359ef448f971e4d69cc1c13377536..afe8b94ce7c1dbf4b71262419ec523fbe5185b92 100644 (file)
 #include "gdkinternals.h"
 
 
+typedef struct _GdkDeviceKey GdkDeviceKey;
+
+struct _GdkDeviceKey
+{
+  guint keyval;
+  GdkModifierType modifiers;
+};
+
 typedef struct _GdkAxisInfo GdkAxisInfo;
 
 struct _GdkAxisInfo
@@ -43,6 +51,12 @@ struct _GdkAxisInfo
 
 struct _GdkDevicePrivate
 {
+  gchar *name;
+  GdkInputSource source;
+  GdkInputMode mode;
+  gboolean has_cursor;
+  gint num_keys;
+  GdkDeviceKey *keys;
   GdkDeviceManager *device_manager;
   GdkDisplay *display;
   GdkDevice *associated;
@@ -261,13 +275,11 @@ gdk_device_dispose (GObject *object)
       priv->axes = NULL;
     }
 
-  g_free (device->name);
-  g_free (device->keys);
-  g_free (device->axes);
+  g_free (priv->name);
+  g_free (priv->keys);
 
-  device->name = NULL;
-  device->keys = NULL;
-  device->axes = NULL;
+  priv->name = NULL;
+  priv->keys = NULL;
 
   G_OBJECT_CLASS (gdk_device_parent_class)->dispose (object);
 }
@@ -290,22 +302,22 @@ gdk_device_set_property (GObject      *object,
       priv->device_manager = g_value_get_object (value);
       break;
     case PROP_NAME:
-      if (device->name)
-        g_free (device->name);
+      if (priv->name)
+        g_free (priv->name);
 
-      device->name = g_value_dup_string (value);
+      priv->name = g_value_dup_string (value);
       break;
     case PROP_TYPE:
       priv->type = g_value_get_enum (value);
       break;
     case PROP_INPUT_SOURCE:
-      device->source = g_value_get_enum (value);
+      priv->source = g_value_get_enum (value);
       break;
     case PROP_INPUT_MODE:
       gdk_device_set_mode (device, g_value_get_enum (value));
       break;
     case PROP_HAS_CURSOR:
-      device->has_cursor = g_value_get_boolean (value);
+      priv->has_cursor = g_value_get_boolean (value);
       break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -334,21 +346,19 @@ gdk_device_get_property (GObject    *object,
       g_value_set_object (value, priv->associated);
       break;
     case PROP_NAME:
-      g_value_set_string (value,
-                          device->name);
+      g_value_set_string (value, priv->name);
       break;
     case PROP_TYPE:
       g_value_set_enum (value, priv->type);
       break;
     case PROP_INPUT_SOURCE:
-      g_value_set_enum (value, device->source);
+      g_value_set_enum (value, priv->source);
       break;
     case PROP_INPUT_MODE:
-      g_value_set_enum (value, device->mode);
+      g_value_set_enum (value, priv->mode);
       break;
     case PROP_HAS_CURSOR:
-      g_value_set_boolean (value,
-                           device->has_cursor);
+      g_value_set_boolean (value, priv->has_cursor);
       break;
     case PROP_N_AXES:
       g_value_set_uint (value, priv->axes->len);
@@ -438,7 +448,7 @@ _gdk_device_allocate_history (GdkDevice *device,
 
   for (i = 0; i < n_events; i++)
     result[i] = g_malloc (sizeof (GdkTimeCoord) -
-                         sizeof (double) * (GDK_MAX_TIMECOORD_AXES - device->num_axes));
+                         sizeof (double) * (GDK_MAX_TIMECOORD_AXES - device->priv->axes->len));
   return result;
 }
 
@@ -476,7 +486,7 @@ gdk_device_get_name (GdkDevice *device)
 {
   g_return_val_if_fail (GDK_IS_DEVICE (device), NULL);
 
-  return device->name;
+  return device->priv->name;
 }
 
 /**
@@ -494,7 +504,7 @@ gdk_device_get_has_cursor (GdkDevice *device)
 {
   g_return_val_if_fail (GDK_IS_DEVICE (device), FALSE);
 
-  return device->has_cursor;
+  return device->priv->has_cursor;
 }
 
 /**
@@ -512,7 +522,7 @@ gdk_device_get_source (GdkDevice *device)
 {
   g_return_val_if_fail (GDK_IS_DEVICE (device), 0);
 
-  return device->source;
+  return device->priv->source;
 }
 
 /**
@@ -528,7 +538,8 @@ gdk_device_set_source (GdkDevice      *device,
 {
   g_return_if_fail (GDK_IS_DEVICE (device));
 
-  device->source = source;
+  device->priv->source = source;
+  g_object_notify (G_OBJECT (device), "input-source");
 }
 
 /**
@@ -546,7 +557,7 @@ gdk_device_get_mode (GdkDevice *device)
 {
   g_return_val_if_fail (GDK_IS_DEVICE (device), 0);
 
-  return device->mode;
+  return device->priv->mode;
 }
 
 /**
@@ -566,7 +577,7 @@ gdk_device_set_mode (GdkDevice    *device,
 {
   g_return_val_if_fail (GDK_IS_DEVICE (device), FALSE);
 
-  if (device->mode == mode)
+  if (device->priv->mode == mode)
     return TRUE;
 
   if (mode == GDK_MODE_DISABLED &&
@@ -575,7 +586,7 @@ gdk_device_set_mode (GdkDevice    *device,
 
   /* FIXME: setting has_cursor when mode is window? */
 
-  device->mode = mode;
+  device->priv->mode = mode;
   g_object_notify (G_OBJECT (device), "input-mode");
 
   if (gdk_device_get_device_type (device) != GDK_DEVICE_TYPE_MASTER)
@@ -584,6 +595,24 @@ gdk_device_set_mode (GdkDevice    *device,
   return TRUE;
 }
 
+/**
+ * gdk_device_get_n_keys:
+ * @device: a #GdkDevice
+ *
+ * Returns the number of keys the device currently has.
+ *
+ * Returns: the number of keys.
+ *
+ * Since: 2.24
+ **/
+gint
+gdk_device_get_n_keys (GdkDevice *device)
+{
+  g_return_val_if_fail (GDK_IS_DEVICE (device), 0);
+
+  return device->priv->num_keys;
+}
+
 /**
  * gdk_device_get_key:
  * @device: a #GdkDevice.
@@ -605,17 +634,17 @@ gdk_device_get_key (GdkDevice       *device,
                     GdkModifierType *modifiers)
 {
   g_return_val_if_fail (GDK_IS_DEVICE (device), FALSE);
-  g_return_val_if_fail (index_ < device->num_keys, FALSE);
+  g_return_val_if_fail (index_ < device->priv->num_keys, FALSE);
 
-  if (!device->keys[index_].keyval &&
-      !device->keys[index_].modifiers)
+  if (!device->priv->keys[index_].keyval &&
+      !device->priv->keys[index_].modifiers)
     return FALSE;
 
   if (keyval)
-    *keyval = device->keys[index_].keyval;
+    *keyval = device->priv->keys[index_].keyval;
 
   if (modifiers)
-    *modifiers = device->keys[index_].modifiers;
+    *modifiers = device->priv->keys[index_].modifiers;
 
   return TRUE;
 }
@@ -637,10 +666,10 @@ gdk_device_set_key (GdkDevice      *device,
                    GdkModifierType modifiers)
 {
   g_return_if_fail (GDK_IS_DEVICE (device));
-  g_return_if_fail (index_ < device->num_keys);
+  g_return_if_fail (index_ < device->priv->num_keys);
 
-  device->keys[index_].keyval = keyval;
-  device->keys[index_].modifiers = modifiers;
+  device->priv->keys[index_].keyval = keyval;
+  device->priv->keys[index_].modifiers = modifiers;
 }
 
 /**
@@ -658,10 +687,14 @@ GdkAxisUse
 gdk_device_get_axis_use (GdkDevice *device,
                          guint      index_)
 {
+  GdkAxisInfo *info;
+
   g_return_val_if_fail (GDK_IS_DEVICE (device), GDK_AXIS_IGNORE);
-  g_return_val_if_fail (index_ < device->num_axes, GDK_AXIS_IGNORE);
+  g_return_val_if_fail (index_ < device->priv->axes->len, GDK_AXIS_IGNORE);
+
+  info = &g_array_index (device->priv->axes, GdkAxisInfo, index_);
 
-  return device->axes[index_].use;
+  return info->use;
 }
 
 /**
@@ -681,29 +714,27 @@ gdk_device_set_axis_use (GdkDevice   *device,
   GdkAxisInfo *info;
 
   g_return_if_fail (GDK_IS_DEVICE (device));
-  g_return_if_fail (index_ < device->num_axes);
+  g_return_if_fail (index_ < device->priv->axes->len);
 
   priv = device->priv;
   info = &g_array_index (priv->axes, GdkAxisInfo, index_);
   info->use = use;
 
-  device->axes[index_].use = use;
-
   switch (use)
     {
     case GDK_AXIS_X:
     case GDK_AXIS_Y:
-      device->axes[index_].min = info->min_axis = 0;
-      device->axes[index_].max = info->max_axis = 0;
+      info->min_axis = 0;
+      info->max_axis = 0;
       break;
     case GDK_AXIS_XTILT:
     case GDK_AXIS_YTILT:
-      device->axes[index_].min = info->min_axis = -1;
-      device->axes[index_].max = info->max_axis = 1;
+      info->min_axis = -1;
+      info->max_axis = 1;
       break;
     default:
-      device->axes[index_].min = info->min_axis = 0;
-      device->axes[index_].max = info->max_axis = 1;
+      info->min_axis = 0;
+      info->max_axis = 1;
       break;
     }
 }
@@ -714,8 +745,8 @@ gdk_device_set_axis_use (GdkDevice   *device,
  *
  * Returns the #GdkDisplay to which @device pertains.
  *
- * Returns: a #GdkDisplay. This memory is owned by GTK+,
- *          and must not be freed or unreffed.
+ * Returns: (transfer none): a #GdkDisplay. This memory is owned
+ *          by GTK+, and must not be freed or unreffed.
  *
  * Since: 3.0
  **/
@@ -745,7 +776,7 @@ gdk_device_get_display (GdkDevice *device)
  * If @device is of type %GDK_DEVICE_TYPE_FLOATING, %NULL will be
  * returned, as there is no associated device.
  *
- * Returns: The associated device, or %NULL
+ * Returns: (transfer none): The associated device, or %NULL
  *
  * Since: 3.0
  **/
@@ -817,12 +848,12 @@ gdk_device_get_device_type (GdkDevice *device)
  *
  * Since: 3.0
  **/
-guint
+gint
 gdk_device_get_n_axes (GdkDevice *device)
 {
   g_return_val_if_fail (GDK_IS_DEVICE (device), 0);
 
-  return device->num_axes;
+  return device->priv->axes->len;
 }
 
 /**
@@ -1093,10 +1124,6 @@ _gdk_device_reset_axes (GdkDevice *device)
     g_array_remove_index (priv->axes, i);
 
   g_object_notify (G_OBJECT (device), "n-axes");
-
-  /* This is done for backwards compatibility */
-  g_free (device->axes);
-  device->axes = NULL;
 }
 
 guint
@@ -1138,16 +1165,7 @@ _gdk_device_add_axis (GdkDevice   *device,
     }
 
   priv->axes = g_array_append_val (priv->axes, axis_info);
-  device->num_axes = priv->axes->len;
-  pos = device->num_axes - 1;
-
-  /* This is done for backwards compatibility, since the public
-   * struct doesn't actually store the device data.
-   */
-  device->axes = g_realloc (device->axes, sizeof (GdkDeviceAxis) * priv->axes->len);
-  device->axes[pos].use = axis_info.use;
-  device->axes[pos].min = axis_info.min_axis;
-  device->axes[pos].max = axis_info.max_axis;
+  pos = device->priv->axes->len - 1;
 
   g_object_notify (G_OBJECT (device), "n-axes");
 
@@ -1158,11 +1176,11 @@ void
 _gdk_device_set_keys (GdkDevice *device,
                       guint      num_keys)
 {
-  if (device->keys)
-    g_free (device->keys);
+  if (device->priv->keys)
+    g_free (device->priv->keys);
 
-  device->num_keys = num_keys;
-  device->keys = g_new0 (GdkDeviceKey, num_keys);
+  device->priv->num_keys = num_keys;
+  device->priv->keys = g_new0 (GdkDeviceKey, num_keys);
 }
 
 static GdkAxisInfo *
@@ -1321,16 +1339,14 @@ _gdk_device_translate_screen_coord (GdkDevice *device,
                                     gdouble    value,
                                     gdouble   *axis_value)
 {
-  GdkDevicePrivate *priv;
+  GdkDevicePrivate *priv = device->priv;
   GdkAxisInfo axis_info;
   gdouble axis_width, scale, offset;
   GdkWindowObject *window_private;
 
-  if (device->mode != GDK_MODE_SCREEN)
+  if (priv->mode != GDK_MODE_SCREEN)
     return FALSE;
 
-  priv = device->priv;
-
   if (index_ >= priv->axes->len)
     return FALSE;
 
index d4917f39acabb2d3e096c746ef1af386de00aa91..27375f7621579bf21f5db94e1197bc91d37cd006 100644 (file)
@@ -35,9 +35,6 @@ G_BEGIN_DECLS
 
 typedef struct _GdkDevice GdkDevice;
 typedef struct _GdkDevicePrivate GdkDevicePrivate;
-
-typedef struct _GdkDeviceKey GdkDeviceKey;
-typedef struct _GdkDeviceAxis GdkDeviceAxis;
 typedef struct _GdkTimeCoord GdkTimeCoord;
 
 /**
@@ -141,37 +138,6 @@ typedef enum {
   GDK_DEVICE_TYPE_FLOATING
 } GdkDeviceType;
 
-/**
- * GdkDeviceKey:
- * @keyval: the keyval to generate when the macro button is pressed.
- *          If this is 0, no keypress will be generated.
- * @modifiers: the modifiers set for the generated key event.
- *
- * The <structname>GdkDeviceKey</structname> structure contains information
- * about the mapping of one device macro button onto a normal X key event.
- */
-struct _GdkDeviceKey
-{
-  guint keyval;
-  GdkModifierType modifiers;
-};
-
-/**
- * GdkDeviceAxis:
- * @use: specifies how the axis is used.
- * @min: the minimal value that will be reported by this axis.
- * @max: the maximal value that will be reported by this axis.
- *
- * The <structname>GdkDeviceAxis</structname> structure contains information
- * about the range and mapping of a device axis.
- */
-struct _GdkDeviceAxis
-{
-  GdkAxisUse use;
-  gdouble    min;
-  gdouble    max;
-};
-
 /* We don't allocate each coordinate this big, but we use it to
  * be ANSI compliant and avoid accessing past the defined limits.
  */
@@ -194,18 +160,6 @@ struct _GdkDevice
 {
   GObject parent_instance;
 
-  /* All fields are read-only */
-  gchar *GSEAL (name);
-  GdkInputSource GSEAL (source);
-  GdkInputMode GSEAL (mode);
-  gboolean GSEAL (has_cursor);      /* TRUE if a X pointer follows device motion */
-
-  gint GSEAL (num_axes);
-  GdkDeviceAxis *GSEAL (axes);
-
-  gint GSEAL (num_keys);
-  GdkDeviceKey *GSEAL (keys);
-
   /*< private >*/
   GdkDevicePrivate *priv;
 };
@@ -224,6 +178,7 @@ GdkInputMode   gdk_device_get_mode      (GdkDevice      *device);
 gboolean       gdk_device_set_mode      (GdkDevice      *device,
                                         GdkInputMode    mode);
 
+gint           gdk_device_get_n_keys    (GdkDevice       *device);
 gboolean       gdk_device_get_key       (GdkDevice       *device,
                                          guint            index_,
                                          guint           *keyval,
@@ -253,7 +208,7 @@ gboolean gdk_device_get_history  (GdkDevice         *device,
 void     gdk_device_free_history (GdkTimeCoord     **events,
                                  gint               n_events);
 
-guint    gdk_device_get_n_axes     (GdkDevice       *device);
+gint     gdk_device_get_n_axes     (GdkDevice       *device);
 GList *  gdk_device_list_axes      (GdkDevice       *device);
 gboolean gdk_device_get_axis_value (GdkDevice       *device,
                                     gdouble         *axes,
index 2edaa287059e00c62571a456ed3a73423cc4dec7..56499bcb64a3db8cc8a504af9ec6bbdb4fb8ce57 100644 (file)
@@ -260,8 +260,9 @@ gdk_device_manager_get_property (GObject      *object,
  *
  * Gets the #GdkDisplay associated to @device_manager.
  *
- * Returns: the #GdkDisplay to which @device_manager is
- *          associated to, or #NULL.
+ * Returns: (transfer none): the #GdkDisplay to which @device_manager is
+ *          associated to, or #NULL. This memory is owned by GDK and
+ *          must not be freed or unreferenced.
  *
  * Since: 3.0
  **/
@@ -312,7 +313,8 @@ gdk_device_manager_list_devices (GdkDeviceManager *device_manager,
  * You should use this function sheldomly, only in code that isn't triggered by a #GdkEvent
  * and there aren't other means to get a meaningful #GdkDevice to operate on.
  *
- * Returns: The client pointer.
+ * Returns: (transfer none): The client pointer. This memory is
+ *          owned by GDK and must not be freed or unreferenced.
  *
  * Since: 3.0
  **/
index 1dab470c5d62f26dbc5e590312bff23e91aa0be1..564d4b5ca561b8d961c497911f0991e8147bcef5 100644 (file)
@@ -494,7 +494,7 @@ gdk_display_pointer_ungrab (GdkDisplay *display,
     {
       device = dev->data;
 
-      if (device->source != GDK_SOURCE_MOUSE)
+      if (gdk_device_get_source (device) != GDK_SOURCE_MOUSE)
         continue;
 
       gdk_device_ungrab (device, time_);
@@ -570,7 +570,7 @@ gdk_display_keyboard_ungrab (GdkDisplay *display,
     {
       device = dev->data;
 
-      if (device->source != GDK_SOURCE_KEYBOARD)
+      if (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD)
         continue;
 
       gdk_device_ungrab (device, time);
@@ -654,8 +654,8 @@ gdk_event_send_clientmessage_toall (GdkEvent *event)
  * 
  * Returns the core pointer device for the default display.
  * 
- * Return value: the core pointer device; this is owned by the
- *   display and should not be freed.
+ * Return value: (transfer none): the core pointer device; this is owned
+ *   by the display and should not be freed.
  *
  * Deprecated: 3.0: Use gdk_device_manager_get_client_pointer() instead, or
  *             gdk_event_get_device() if a #GdkEvent with pointer device
@@ -673,7 +673,7 @@ gdk_device_get_core_pointer (void)
  * 
  * Returns the core pointer device for the given display
  * 
- * Return value: the core pointer device; this is owned by the
+ * Return value: (transfer none): the core pointer device; this is owned by the
  *   display and should not be freed.
  *
  * Since: 2.2
@@ -810,7 +810,7 @@ gdk_display_get_device_state (GdkDisplay       *display,
  * Obtains the window underneath @device, returning the location of the device in @win_x and @win_y. Returns
  * %NULL if the window tree under @device is not known to GDK (for example, belongs to another application).
  *
- * Returns: the #GdkWindow under the device position, or %NULL.
+ * Returns: (transfer none): the #GdkWindow under the device position, or %NULL.
  *
  * Since: 3.0
  **/
@@ -846,7 +846,7 @@ gdk_display_get_window_at_device_position (GdkDisplay *display,
  * #GdkDevice on a particular #GdkDisplay. This is only useful for such low-level tools as
  * an event recorder. Applications should never have any reason to use this facility.
  *
- * Returns: The previous device hook table.
+ * Returns: (transfer none): The previous device hook table.
  *
  * Since: 3.0
  **/
@@ -1067,7 +1067,7 @@ multihead_default_window_at_pointer (GdkDisplay *display,
  * event recorder. Applications should never have any
  * reason to use this facility.
  *
- * Return value: the previous pointer hook table
+ * Return value: (transfer none): the previous pointer hook table
  *
  * Since: 2.2
  *
@@ -1209,7 +1209,7 @@ generate_grab_broken_event (GdkWindow *window,
       event->grab_broken.implicit = implicit;
       event->grab_broken.grab_window = grab_window;
       gdk_event_set_device (event, device);
-      event->grab_broken.keyboard = (device->source == GDK_SOURCE_KEYBOARD) ? TRUE : FALSE;
+      event->grab_broken.keyboard = (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD) ? TRUE : FALSE;
 
       gdk_event_put (event);
       gdk_event_free (event);
@@ -1538,7 +1538,7 @@ _gdk_display_device_grab_update (GdkDisplay *display,
 
          if (!current_grab->activated)
             {
-              if (device->source != GDK_SOURCE_KEYBOARD)
+              if (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD)
                 switch_to_pointer_grab (display, device, current_grab, NULL, time, current_serial);
             }
 
@@ -1566,7 +1566,7 @@ _gdk_display_device_grab_update (GdkDisplay *display,
       grabs = g_list_delete_link (grabs, grabs);
       g_hash_table_insert (display->device_grabs, device, grabs);
 
-      if (device->source != GDK_SOURCE_KEYBOARD)
+      if (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD)
         switch_to_pointer_grab (display, device,
                                 next_grab, current_grab,
                                 time, current_serial);
@@ -1663,7 +1663,7 @@ _gdk_display_check_grab_ownership (GdkDisplay *display,
 
   g_hash_table_iter_init (&iter, display->device_grabs);
   higher_ownership = device_ownership = GDK_OWNERSHIP_NONE;
-  device_is_keyboard = (device->source == GDK_SOURCE_KEYBOARD);
+  device_is_keyboard = (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD);
 
   while (g_hash_table_iter_next (&iter, &key, &value))
     {
@@ -1679,8 +1679,8 @@ _gdk_display_check_grab_ownership (GdkDisplay *display,
         continue;
 
       /* Discard device if it's not of the same type */
-      if ((device_is_keyboard && dev->source != GDK_SOURCE_KEYBOARD) ||
-          (!device_is_keyboard && dev->source == GDK_SOURCE_KEYBOARD))
+      if ((device_is_keyboard && gdk_device_get_source (dev) != GDK_SOURCE_KEYBOARD) ||
+          (!device_is_keyboard && gdk_device_get_source (dev) == GDK_SOURCE_KEYBOARD))
         continue;
 
       grab = grabs->data;
@@ -1813,7 +1813,7 @@ gdk_display_pointer_is_grabbed (GdkDisplay *display)
     {
       device = dev->data;
 
-      if (device->source == GDK_SOURCE_MOUSE &&
+      if (gdk_device_get_source (device) == GDK_SOURCE_MOUSE &&
           gdk_display_device_is_grabbed (display, device))
         return TRUE;
     }
@@ -1853,7 +1853,7 @@ gdk_display_device_is_grabbed (GdkDisplay *display,
  *
  * Returns the #GdkDeviceManager associated to @display.
  *
- * Returns: A #GdkDeviceManager, or %NULL. This memory is
+ * Returns: (transfer none): A #GdkDeviceManager, or %NULL. This memory is
  *          owned by GDK and must not be freed or unreferenced.
  *
  * Since: 3.0
index fa61e082b99c9c93c09f71be66a28523d541be00..d60f3b16f96f9e4a5b5d9bc70dec79eb36a84991 100644 (file)
@@ -499,17 +499,16 @@ gdk_event_copy (const GdkEvent *event)
     case GDK_BUTTON_PRESS:
     case GDK_BUTTON_RELEASE:
       if (event->button.axes) 
-       new_event->button.axes = g_memdup (event->button.axes, 
-                                            sizeof (gdouble) * event->button.device->num_axes);
+       new_event->button.axes = g_memdup (event->button.axes,
+                                           sizeof (gdouble) * gdk_device_get_n_axes (event->button.device));
       break;
 
     case GDK_MOTION_NOTIFY:
       if (event->motion.axes) 
-       new_event->motion.axes = g_memdup (event->motion.axes, 
-                                          sizeof (gdouble) * event->motion.device->num_axes);
-      
+       new_event->motion.axes = g_memdup (event->motion.axes,
+                                          sizeof (gdouble) * gdk_device_get_n_axes (event->motion.device));
       break;
-      
+
     default:
       break;
     }
@@ -1278,7 +1277,7 @@ gdk_event_set_screen (GdkEvent  *event,
  * to which <literal>event->motion.x_root</literal> and
  * <literal>event->motion.y_root</literal> are relative.
  * 
- * Return value: the screen for the event
+ * Return value: (transfer none): the screen for the event
  *
  * Since: 2.2
  **/
index e1b458e8038f4a240f0e5571024ce9313063a376..c425447871db18c59436addd710aaf33c11c8feb 100644 (file)
@@ -59,9 +59,15 @@ struct _GdkColorInfo
   guint ref_count;
 };
 
+typedef enum {
+  GDK_EVENT_FILTER_REMOVED = 1 << 0
+} GdkEventFilterFlags;
+
 struct _GdkEventFilter {
   GdkFilterFunc function;
   gpointer data;
+  GdkEventFilterFlags flags;
+  guint ref_count;
 };
 
 struct _GdkClientFilter {
index e72b8eab9884b3dfc7151e3f495fa0b02a8c890c..102b6f08e077daf635cb9af7539a6fd547e80bc8 100644 (file)
@@ -412,7 +412,7 @@ gdk_keyval_is_lower (guint keyval)
  *
  * Returns the #GdkKeymap attached to the default display.
  *
- * Returns: the #GdkKeymap attached to the default display.
+ * Returns: (transfer none): the #GdkKeymap attached to the default display.
  */
 GdkKeymap*
 gdk_keymap_get_default (void)
index f9be9ad6c9f079ef911510da8f4a290991eda94b..f7c071b16c3950b69ebe34d7a6b457fc19a0f623 100644 (file)
@@ -703,8 +703,8 @@ gdk_offscreen_window_set_embedder (GdkWindow     *window,
  *
  * Gets the window that @window is embedded in.
  *
- * Returns: the embedding #GdkWindow, or %NULL if @window is not an
- *     embedded offscreen window
+ * Returns: (transfer none): the embedding #GdkWindow, or %NULL
+ *     if @window is not an mbedded offscreen window
  *
  * Since: 2.18
  */
index e21175bd9ac99b8ecd57a92a664da9c8000de97c..907b51798be769e237ea83909dc303b2530e498b 100644 (file)
@@ -317,7 +317,7 @@ gdk_pango_layout_get_clip_region (PangoLayout *layout,
  * is more convenient if you want to keep a context around and track
  * changes to the screen's font rendering settings.
  *
- * Return value: a new #PangoContext for the default display
+ * Return value: (transfer full): a new #PangoContext for the default display
  **/
 PangoContext *
 gdk_pango_context_get (void)
@@ -343,7 +343,7 @@ gdk_pango_context_get (void)
  * is more convenient if you want to keep a context around and track
  * changes to the screen's font rendering settings.
  * 
- * Return value: a new #PangoContext for @screen
+ * Return value: (transfer full): a new #PangoContext for @screen
  *
  * Since: 2.2
  **/
index 0a4b428e40d81b7e3af68c5f6db60d56cd3cb29b..9468604fe61f4e6e40615b23282f31ba169d8adb 100644 (file)
@@ -97,9 +97,9 @@ gdk_selection_owner_set (GdkWindow *owner,
  *
  * Determines the owner of the given selection.
  *
- * Returns: if there is a selection owner for this window,
- *   and it is a window known to the current process,
- *   the #GdkWindow that owns the selection, otherwise
+ * Returns: (transfer none): if there is a selection owner for
+ *   this window, and it is a window known to the current
+ *   process, the #GdkWindow that owns the selection, otherwise
  *   %NULL. Note that the return value may be owned
  *   by a different process if a foreign window
  *   was previously created for that window, but
index c2485980f5fc3173a3057133090e57664ed3e173..dca9df1fd32597e508c215a62d658058b9e820e6 100644 (file)
@@ -2212,7 +2212,7 @@ gdk_window_get_window_type (GdkWindow *window)
  * 
  * Gets the #GdkVisual describing the pixel format of @window.
  * 
- * Return value: a #GdkVisual
+ * Return value: (transfer none): a #GdkVisual
  *
  * Since: 2.24
  **/
@@ -2234,7 +2234,7 @@ gdk_window_get_visual (GdkWindow *window)
  * 
  * Gets the #GdkScreen associated with a #GdkWindow.
  * 
- * Return value: the #GdkScreen associated with @window
+ * Return value: (transfer none): the #GdkScreen associated with @window
  *
  * Since: 2.24
  **/
@@ -2256,7 +2256,7 @@ gdk_window_get_screen (GdkWindow *window)
  * 
  * Gets the #GdkDisplay associated with a #GdkWindow.
  * 
- * Return value: the #GdkDisplay associated with @window
+ * Return value: (transfer none): the #GdkDisplay associated with @window
  *
  * Since: 2.24
  **/
@@ -2577,13 +2577,18 @@ gdk_window_add_filter (GdkWindow     *window,
     {
       filter = (GdkEventFilter *)tmp_list->data;
       if ((filter->function == function) && (filter->data == data))
-       return;
+        {
+          filter->ref_count++;
+          return;
+        }
       tmp_list = tmp_list->next;
     }
 
   filter = g_new (GdkEventFilter, 1);
   filter->function = function;
   filter->data = data;
+  filter->ref_count = 1;
+  filter->flags = 0;
 
   if (private)
     private->filters = g_list_append (private->filters, filter);
@@ -2626,6 +2631,11 @@ gdk_window_remove_filter (GdkWindow     *window,
 
       if ((filter->function == function) && (filter->data == data))
        {
+          filter->flags |= GDK_EVENT_FILTER_REMOVED;
+          filter->ref_count--;
+          if (filter->ref_count != 0)
+            return;
+
          if (private)
            private->filters = g_list_remove_link (private->filters, node);
          else
@@ -5120,7 +5130,7 @@ gdk_window_at_pointer (gint *win_x,
  * Obtains the root window (parent all other windows are inside)
  * for the default display and screen.
  *
- * Return value: the default root window
+ * Return value: (transfer none): the default root window
  **/
 GdkWindow *
 gdk_get_default_root_window (void)
@@ -5138,8 +5148,8 @@ gdk_get_default_root_window (void)
  * For example in the X backend, a native window handle is an Xlib
  * <type>XID</type>.
  *
- * Return value: the newly-created #GdkWindow wrapper for the
- *    native window or %NULL if the window has been destroyed.
+ * Return value: (transfer full): the newly-created #GdkWindow wrapper
+ *    for the native window, or %NULL if the window has been destroyed.
  **/
 GdkWindow *
 gdk_window_foreign_new (GdkNativeWindow anid)
@@ -8579,7 +8589,7 @@ send_crossing_event (GdkDisplay                 *display,
         }
 
       if (gdk_device_get_device_type (device) == GDK_DEVICE_TYPE_MASTER &&
-          device->mode != GDK_MODE_DISABLED &&
+          gdk_device_get_mode (device) != GDK_MODE_DISABLED &&
           !g_list_find (window->devices_inside, device))
         window->devices_inside = g_list_prepend (window->devices_inside, device);
     }
@@ -8945,7 +8955,7 @@ gdk_pointer_grab (GdkWindow *       window,
     {
       device = dev->data;
 
-      if (device->source != GDK_SOURCE_MOUSE)
+      if (gdk_device_get_source (device) != GDK_SOURCE_MOUSE)
         continue;
 
       res = _gdk_windowing_device_grab (device,
@@ -9050,7 +9060,7 @@ gdk_keyboard_grab (GdkWindow *window,
     {
       device = dev->data;
 
-      if (device->source != GDK_SOURCE_KEYBOARD)
+      if (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD)
         continue;
 
       res = _gdk_windowing_device_grab (device,
@@ -9438,7 +9448,7 @@ proxy_pointer_event (GdkDisplay                 *display,
          event->motion.is_hint = is_hint;
          event->motion.device = source_event->motion.device;
           event->motion.axes = g_memdup (source_event->motion.axes,
-                                         sizeof (gdouble) * source_event->motion.device->num_axes);
+                                         sizeof (gdouble) * gdk_device_get_n_axes (source_event->motion.device));
        }
     }
 
@@ -9547,7 +9557,7 @@ proxy_button_event (GdkEvent *source_event,
       event->button.state = state;
       event->button.device = source_event->button.device;
       event->button.axes = g_memdup (source_event->button.axes,
-                                     sizeof (gdouble) * source_event->button.device->num_axes);
+                                     sizeof (gdouble) * gdk_device_get_n_axes (source_event->button.device));
 
       if (type == GDK_BUTTON_PRESS)
        _gdk_event_button_generate (display, event);
index 648427c822932ae9f3f81c8b8276b66cb2414ab8..49c597861030a633e0db577bdd0684cf31d139b3 100644 (file)
@@ -132,7 +132,7 @@ gdkconfig.h : gdkconfig.h.win32
 
 gdk.def: gdk.symbols
        echo EXPORTS > gdk.def
-       cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DGDK_WINDOWING_WIN32 -DALL_FILES \
+       cl /EP -DG_OS_WIN32 -DGDK_WINDOWING_WIN32 \
                -DG_GNUC_CONST= \
                gdk.symbols >> gdk.def
 
index 2f8b0c8c1bc4b25b221e6bf03235f95990c96b46..44f10cbbf407fb2409b83823e2a773e37e6753e9 100644 (file)
@@ -171,19 +171,40 @@ append_event (GdkEvent *event,
 static gint
 gdk_event_apply_filters (NSEvent *nsevent,
                         GdkEvent *event,
-                        GList *filters)
+                        GList **filters)
 {
   GList *tmp_list;
   GdkFilterReturn result;
   
-  tmp_list = filters;
+  tmp_list = *filters;
 
   while (tmp_list)
     {
       GdkEventFilter *filter = (GdkEventFilter*) tmp_list->data;
-      
-      tmp_list = tmp_list->next;
+      GList *node;
+
+      if ((filter->flags & GDK_EVENT_FILTER_REMOVED) != 0)
+        {
+          tmp_list = tmp_list->next;
+          continue;
+        }
+
+      filter->ref_count++;
       result = filter->function (nsevent, event, filter->data);
+
+      /* get the next node after running the function since the
+         function may add or remove a next node */
+      node = tmp_list;
+      tmp_list = tmp_list->next;
+
+      filter->ref_count--;
+      if (filter->ref_count == 0)
+        {
+          *filters = g_list_remove_link (*filters, node);
+          g_list_free_1 (node);
+          g_free (filter);
+        }
+
       if (result !=  GDK_FILTER_CONTINUE)
        return result;
     }
@@ -550,7 +571,7 @@ find_toplevel_for_keyboard_event (NSEvent *nsevent)
       GdkDeviceGrabInfo *grab;
       GdkDevice *device = l->data;
 
-      if (device->source != GDK_SOURCE_KEYBOARD)
+      if (gdk_device_get_source(device) != GDK_SOURCE_KEYBOARD)
         continue;
 
       grab = _gdk_display_get_last_device_grab (display, device);
@@ -1165,7 +1186,7 @@ gdk_event_translate (GdkEvent *event,
       /* Apply global filters */
       GdkFilterReturn result;
 
-      result = gdk_event_apply_filters (nsevent, event, _gdk_default_filters);
+      result = gdk_event_apply_filters (nsevent, event, &_gdk_default_filters);
       if (result != GDK_FILTER_CONTINUE)
         {
           return_val = (result == GDK_FILTER_TRANSLATE) ? TRUE : FALSE;
@@ -1206,7 +1227,7 @@ gdk_event_translate (GdkEvent *event,
        {
          g_object_ref (window);
 
-         result = gdk_event_apply_filters (nsevent, event, filter_private->filters);
+         result = gdk_event_apply_filters (nsevent, event, &filter_private->filters);
 
          g_object_unref (window);
 
index c431fc47afaf913fcf8aae1ae742aaebbe8bf670..31d1bd2c1854048b286ff8b12e430b0d10cdfc75 100644 (file)
@@ -228,7 +228,7 @@ _gdk_input_init (void)
     {
       GdkDevice *device = l->data;
 
-      if (device->source == GDK_SOURCE_KEYBOARD)
+      if (gdk_device_get_source(device) == GDK_SOURCE_KEYBOARD)
         continue;
 
       _gdk_input_devices = g_list_prepend (_gdk_input_devices, l->data);
@@ -245,7 +245,7 @@ _gdk_input_init (void)
     {
       GdkDevice *device = list->data;
 
-      if (device->source != GDK_SOURCE_MOUSE)
+      if (gdk_device_get_source(device) != GDK_SOURCE_MOUSE)
         continue;
 
       _gdk_display->core_pointer = device;
@@ -273,11 +273,7 @@ _gdk_input_exit (void)
       if (gdkdev != (GdkDevicePrivate *)_gdk_core_pointer)
        {
          gdk_device_set_mode ((GdkDevice *)gdkdev, GDK_MODE_DISABLED);
-
-         g_free (gdkdev->info.name);
-         g_free (gdkdev->info.axes);
-         g_free (gdkdev->info.keys);
-         g_free (gdkdev);
+         g_object_unref(gdkdev);
        }
     }
 
index af461c7a05025c6b0ab9947625349f1c51e08ea1..54f1f0b6c860857b6a4186bf912337f6f8d24231 100644 (file)
@@ -319,7 +319,7 @@ gdk_device_win32_grab (GdkDevice    *device,
                        GdkCursor    *cursor,
                        guint32       time_)
 {
-  if (device->source != GDK_SOURCE_KEYBOARD)
+  if (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD)
     SetCapture (GDK_WINDOW_HWND (window));
 
   return GDK_GRAB_SUCCESS;
@@ -333,7 +333,7 @@ gdk_device_win32_ungrab (GdkDevice *device,
 
   display = gdk_device_get_display (device);
 
-  if (device->source != GDK_SOURCE_KEYBOARD)
+  if (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD)
     ReleaseCapture ();
 }
 
index 9b3b15a4ab6121b0084cdc66ea29c015d6edf3cc..9d5ed79ef64d11dfc7e5a3dd89c04356a00c8c94 100644 (file)
@@ -322,7 +322,7 @@ _gdk_device_wintab_translate_axes (GdkDeviceWintab *device_wintab,
   if (!_gdk_device_wintab_get_window_coords (impl_window, &root_x, &root_y))
     return;
 
-  for (i = 0; i < device->num_axes; i++)
+  for (i = 0; i < gdk_device_get_n_axes (device); i++)
     {
       GdkAxisUse use;
 
index fb8a7d04c715f326903d80bda89f24be40de3c48..bea28a8b7e3e36a0a8ec6be3f7a100ee53dbdd74 100644 (file)
@@ -1025,7 +1025,7 @@ fill_key_event_string (GdkEvent *event)
 static GdkFilterReturn
 apply_event_filters (GdkWindow  *window,
                     MSG        *msg,
-                    GList      *filters)
+                    GList     **filters)
 {
   GdkFilterReturn result = GDK_FILTER_CONTINUE;
   GdkEvent *event;
@@ -1043,13 +1043,34 @@ apply_event_filters (GdkWindow  *window,
    */
   node = _gdk_event_queue_append (_gdk_display, event);
   
-  tmp_list = filters;
+  tmp_list = *filters;
   while (tmp_list)
     {
       GdkEventFilter *filter = (GdkEventFilter *) tmp_list->data;
-      
-      tmp_list = tmp_list->next;
+      GList *node;
+
+      if ((filter->flags & GDK_EVENT_FILTER_REMOVED) != 0)
+        {
+          tmp_list = tmp_list->next;
+          continue;
+        }
+
+      filter->ref_count++;
       result = filter->function (msg, event, filter->data);
+
+      /* get the next node after running the function since the
+         function may add or remove a next node */
+      node = tmp_list;
+      tmp_list = tmp_list->next;
+
+      filter->ref_count--;
+      if (filter->ref_count == 0)
+        {
+          *filters = g_list_remove_link (*filters, node);
+          g_list_free_1 (node);
+          g_free (filter);
+        }
+
       if (result !=  GDK_FILTER_CONTINUE)
        break;
     }
@@ -1756,7 +1777,7 @@ gdk_event_translate (MSG  *msg,
     {
       /* Apply global filters */
 
-      GdkFilterReturn result = apply_event_filters (NULL, msg, _gdk_default_filters);
+      GdkFilterReturn result = apply_event_filters (NULL, msg, &_gdk_default_filters);
       
       /* If result is GDK_FILTER_CONTINUE, we continue as if nothing
        * happened. If it is GDK_FILTER_REMOVE or GDK_FILTER_TRANSLATE,
@@ -1822,7 +1843,7 @@ gdk_event_translate (MSG  *msg,
     {
       /* Apply per-window filters */
 
-      GdkFilterReturn result = apply_event_filters (window, msg, ((GdkWindowObject *) window)->filters);
+      GdkFilterReturn result = apply_event_filters (window, msg, &((GdkWindowObject *) window)->filters);
 
       if (result == GDK_FILTER_REMOVE || result == GDK_FILTER_TRANSLATE)
        {
index b01325b2329a7aac3f51be39b349a1066718f7f8..60380672c2c415401a14b62116f612e88797bf73 100644 (file)
@@ -362,7 +362,7 @@ gdk_x11_cursor_get_xcursor (GdkCursor *cursor)
  *
  * Returns the display on which the #GdkCursor is defined.
  *
- * Returns: the #GdkDisplay associated to @cursor
+ * Returns: (transfer none): the #GdkDisplay associated to @cursor
  *
  * Since: 2.2
  */
@@ -387,7 +387,7 @@ gdk_cursor_get_display (GdkCursor *cursor)
  * on the cursor, GDK may not be able to obtain the image data. In this 
  * case, %NULL is returned.
  *
- * Returns: a #GdkPixbuf representing @cursor, or %NULL
+ * Returns: (transfer full): a #GdkPixbuf representing @cursor, or %NULL
  *
  * Since: 2.8
  */
index 1620bde488811d2183ba83758da3ceaa658c1683..a399713b55c4b2066cfc8795ee10f4f15ab1c89f 100644 (file)
@@ -313,7 +313,7 @@ gdk_device_core_grab (GdkDevice    *device,
   else
     xconfine_to = GDK_WINDOW_XID (confine_to);
 
-  if (device->source == GDK_SOURCE_KEYBOARD)
+  if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD)
     {
       /* Device is a keyboard */
       status = XGrabKeyboard (GDK_DISPLAY_XDISPLAY (display),
@@ -371,7 +371,7 @@ gdk_device_core_ungrab (GdkDevice *device,
 
   display = gdk_device_get_display (device);
 
-  if (device->source == GDK_SOURCE_KEYBOARD)
+  if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD)
     XUngrabKeyboard (GDK_DISPLAY_XDISPLAY (display), time_);
   else
     XUngrabPointer (GDK_DISPLAY_XDISPLAY (display), time_);
index a1e850ec909574d88a6432a253e930b6e213d5f4..8bebf075d36293c8dc961f010a31cfaea98e976a 100644 (file)
@@ -155,7 +155,8 @@ gdk_device_xi_constructed (GObject *object)
                                  device->device_id);
 
   if (gdk_error_trap_pop ())
-    g_warning ("Device %s can't be opened", GDK_DEVICE (device)->name);
+    g_warning ("Device %s can't be opened",
+               gdk_device_get_name (GDK_DEVICE (device)));
 
   if (G_OBJECT_CLASS (gdk_device_xi_parent_class)->constructed)
     G_OBJECT_CLASS (gdk_device_xi_parent_class)->constructed (object);
@@ -556,10 +557,11 @@ gdk_device_xi_update_axes (GdkDevice *device,
   int i;
 
   device_xi = GDK_DEVICE_XI (device);
-  g_return_if_fail (first_axis >= 0 && first_axis + axes_count <= device->num_axes);
+  g_return_if_fail (first_axis >= 0 &&
+                    first_axis + axes_count <= gdk_device_get_n_axes (device));
 
   if (!device_xi->axis_data)
-    device_xi->axis_data = g_new0 (gint, device->num_axes);
+    device_xi->axis_data = g_new0 (gint, gdk_device_get_n_axes (device));
 
   for (i = 0; i < axes_count; i++)
     device_xi->axis_data[first_axis + i] = axis_data[i];
@@ -577,6 +579,7 @@ gdk_device_xi_translate_axes (GdkDevice *device,
   GdkWindow *impl_window;
   gdouble root_x, root_y;
   gdouble temp_x, temp_y;
+  gint n_axes;
   gint i;
 
   device_xi = GDK_DEVICE_XI (device);
@@ -586,7 +589,9 @@ gdk_device_xi_translate_axes (GdkDevice *device,
   if (!gdk_device_xi_get_window_info (impl_window, &root_x, &root_y))
     return;
 
-  for (i = 0; i < device->num_axes; i++)
+  n_axes = gdk_device_get_n_axes (device);
+
+  for (i = 0; i < n_axes; i++)
     {
       GdkAxisUse use;
 
@@ -596,7 +601,7 @@ gdk_device_xi_translate_axes (GdkDevice *device,
         {
         case GDK_AXIS_X:
         case GDK_AXIS_Y:
-          if (device->mode == GDK_MODE_WINDOW)
+          if (gdk_device_get_mode (device) == GDK_MODE_WINDOW)
             _gdk_device_translate_window_coord (device, window,
                                                 i, axis_data[i],
                                                 &axes[i]);
index 648923a7436099af8c6ab1f05b73d4037f56589f..41142e2097ef1ef7357f9d94b183aca56c3eedfe 100644 (file)
@@ -205,7 +205,7 @@ gdk_device_xi2_get_state (GdkDevice       *device,
             case GDK_AXIS_X:
             case GDK_AXIS_Y:
             case GDK_AXIS_IGNORE:
-              if (device->mode == GDK_MODE_WINDOW)
+              if (gdk_device_get_mode (device) == GDK_MODE_WINDOW)
                 _gdk_device_translate_window_coord (device, window, j, value, &axes[j]);
               else
                 {
index 52cea6549765a8e2e94fcbab5ba75580adae17aa..6d65725fad68f1b3d684555fc4d8176c4770346c 100644 (file)
@@ -441,7 +441,7 @@ gdk_device_manager_xi_translate_event (GdkEventTranslator *translator,
       event->button.x_root = (gdouble) xdbe->x_root;
       event->button.y_root = (gdouble) xdbe->y_root;
 
-      event->button.axes = g_new0 (gdouble, device->num_axes);
+      event->button.axes = g_new0 (gdouble, gdk_device_get_n_axes (device));
       gdk_device_xi_update_axes (device, xdbe->axes_count,
                                  xdbe->first_axis, xdbe->axis_data);
       gdk_device_xi_translate_axes (device, window,
@@ -487,13 +487,15 @@ gdk_device_manager_xi_translate_event (GdkEventTranslator *translator,
                 xdke->keycode));
 
       if (xdke->keycode < device_xi->min_keycode ||
-         xdke->keycode >= device_xi->min_keycode + device->num_keys)
+         xdke->keycode >= device_xi->min_keycode + gdk_device_get_n_keys (device))
        {
          g_warning ("Invalid device key code received");
          return FALSE;
        }
 
-      event->key.keyval = device->keys[xdke->keycode - device_xi->min_keycode].keyval;
+      gdk_device_get_key (device, xdke->keycode - device_xi->min_keycode,
+                          &event->key.keyval,
+                          &event->key.state);
 
       if (event->key.keyval == 0)
        {
@@ -509,8 +511,7 @@ gdk_device_manager_xi_translate_event (GdkEventTranslator *translator,
       event->key.window = g_object_ref (window);
       event->key.time = xdke->time;
 
-      event->key.state = translate_state (xdke->state, xdke->device_state)
-       | device->keys[xdke->keycode - device_xi->min_keycode].modifiers;
+      event->key.state |= translate_state (xdke->state, xdke->device_state);
 
       /* Add a string translation for the key event */
       if ((event->key.keyval >= 0x20) && (event->key.keyval <= 0xFF))
@@ -552,7 +553,7 @@ gdk_device_manager_xi_translate_event (GdkEventTranslator *translator,
       event->motion.x_root = (gdouble) xdme->x_root;
       event->motion.y_root = (gdouble) xdme->y_root;
 
-      event->motion.axes = g_new0 (gdouble, device->num_axes);
+      event->motion.axes = g_new0 (gdouble, gdk_device_get_n_axes (device));
       gdk_device_xi_update_axes (device, xdme->axes_count,
                                  xdme->first_axis, xdme->axis_data);
       gdk_device_xi_translate_axes (device, window,
@@ -626,7 +627,7 @@ gdk_device_manager_xi_translate_event (GdkEventTranslator *translator,
       for (i = 0; i < xdse->num_classes; i++)
         {
           if (input_class->class == ValuatorClass)
-            gdk_device_xi_update_axes (device, device->num_axes, 0,
+            gdk_device_xi_update_axes (device, gdk_device_get_n_axes (device), 0,
                                        ((XValuatorState *)input_class)->valuators);
 
           input_class = (XInputClass *)(((char *)input_class)+input_class->length);
index fd4207419d299cbf4f1e6832017d87278093fb84..f97717d522a8cc561030e5677970cc9afde7ed89 100644 (file)
@@ -268,7 +268,7 @@ add_device (GdkDeviceManagerXI2 *device_manager,
   else if (dev->use == XIFloatingSlave)
     device_manager->floating_devices = g_list_append (device_manager->floating_devices, device);
   else
-    g_warning ("Unhandled device: %s\n", device->name);
+    g_warning ("Unhandled device: %s\n", gdk_device_get_name (device));
 
   if (emit_signal)
     g_signal_emit_by_name (device_manager, "device-added", device);
@@ -755,7 +755,7 @@ translate_axes (GdkDevice       *device,
         {
         case GDK_AXIS_X:
         case GDK_AXIS_Y:
-          if (device->mode == GDK_MODE_WINDOW)
+          if (gdk_device_get_mode (device) == GDK_MODE_WINDOW)
             _gdk_device_translate_window_coord (device, window, i, val, &axes[i]);
           else
             {
@@ -1010,7 +1010,7 @@ gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator,
                                                  event->button.window,
                                                  &xev->valuators);
 
-            if (event->button.device->mode == GDK_MODE_WINDOW)
+            if (gdk_device_get_mode (event->button.device) == GDK_MODE_WINDOW)
               {
                 GdkDevice *device = event->button.device;
 
@@ -1061,7 +1061,7 @@ gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator,
                                              event->motion.window,
                                              &xev->valuators);
 
-        if (event->motion.device->mode == GDK_MODE_WINDOW)
+        if (gdk_device_get_mode (event->motion.device) == GDK_MODE_WINDOW)
           {
             GdkDevice *device = event->motion.device;
 
index 2bdfd454020194dc5c4f402a9fe3312eedd4d737..0ced13753b22d6484e67ca4a0864ac0c813ea73c 100644 (file)
@@ -1152,7 +1152,7 @@ _gdk_input_init (GdkDisplay *display)
     {
       device = l->data;
 
-      if (device->source == GDK_SOURCE_KEYBOARD)
+      if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD)
         continue;
 
       display_x11->input_devices = g_list_prepend (display_x11->input_devices,
@@ -1170,7 +1170,7 @@ _gdk_input_init (GdkDisplay *display)
     {
       device = list->data;
 
-      if (device->source != GDK_SOURCE_MOUSE)
+      if (gdk_device_get_source (device) != GDK_SOURCE_MOUSE)
         continue;
 
       display->core_pointer = device;
@@ -1187,11 +1187,12 @@ _gdk_input_init (GdkDisplay *display)
 /**
  * gdk_display_open:
  * @display_name: the name of the display to open
- * @returns: a #GdkDisplay, or %NULL if the display
- *  could not be opened.
  *
  * Opens a display.
  *
+ * Return value: (transfer none): a #GdkDisplay, or %NULL if the display
+ *               could not be opened.
+ *
  * Since: 2.2
  */
 GdkDisplay *
@@ -1581,7 +1582,7 @@ gdk_display_get_n_screens (GdkDisplay *display)
  *
  * Returns a screen object for one of the screens of the display.
  *
- * Returns: the #GdkScreen object
+ * Returns: (transfer none): the #GdkScreen object
  *
  * Since: 2.2
  */
@@ -1601,7 +1602,7 @@ gdk_display_get_screen (GdkDisplay *display,
  *
  * Get the default #GdkScreen for @display.
  * 
- * Returns: the default #GdkScreen object for @display
+ * Returns: (transfer none): the default #GdkScreen object for @display
  *
  * Since: 2.2
  */
@@ -1771,7 +1772,8 @@ gdk_display_flush (GdkDisplay *display)
  * on @display. This window is implicitly created by GDK. 
  * See gdk_window_set_group().
  * 
- * Return value: The default group leader window for @display
+ * Return value: (transfer none): The default group leader window
+ * for @display
  *
  * Since: 2.4
  **/
@@ -1935,7 +1937,7 @@ gdk_display_x11_finalize (GObject *object)
  * 
  * Find the #GdkDisplay corresponding to @display, if any exists.
  * 
- * Return value: the #GdkDisplay, if found, otherwise %NULL.
+ * Return value: (transfer none): the #GdkDisplay, if found, otherwise %NULL.
  *
  * Since: 2.2
  **/
index 74e874b078f9b56bbf2187ce6f3b252e762392fb..e4d8cffc914819d4d8138459ccdf1bbd1a10e58e 100644 (file)
@@ -257,7 +257,7 @@ gdk_drag_context_set_device (GdkDragContext *context,
  *
  * Returns the #GdkDevice associated to the drag context.
  *
- * Returns: The #GdkDevice associated to @context.
+ * Returns: (transfer none): The #GdkDevice associated to @context.
  **/
 GdkDevice *
 gdk_drag_context_get_device (GdkDragContext *context)
@@ -3162,7 +3162,7 @@ gdk_drag_do_leave (GdkDragContext *context, guint32 time)
  *
  * This function is called by the drag source.
  * 
- * Return value: a newly created #GdkDragContext.
+ * Return value: (transfer full): a newly created #GdkDragContext.
  **/
 GdkDragContext * 
 gdk_drag_begin (GdkWindow     *window,
index f3b850e417388db09d63a99b201923e636669679..7a23b59b2c3722357b5e01d98a5f54b2f02cce99 100644 (file)
@@ -57,20 +57,40 @@ static GList *event_sources = NULL;
 static gint
 gdk_event_apply_filters (XEvent   *xevent,
                         GdkEvent *event,
-                        GList    *filters)
+                        GList   **filters)
 {
   GList *tmp_list;
   GdkFilterReturn result;
 
-  tmp_list = filters;
+  tmp_list = *filters;
 
   while (tmp_list)
     {
       GdkEventFilter *filter = (GdkEventFilter*) tmp_list->data;
+      GList *node;
 
-      tmp_list = tmp_list->next;
+      if ((filter->flags & GDK_EVENT_FILTER_REMOVED) != 0)
+        {
+          tmp_list = tmp_list->next;
+          continue;
+        }
+
+      filter->ref_count++;
       result = filter->function (xevent, event, filter->data);
 
+      /* get the next node after running the function since the
+         function may add or remove a next node */
+      node = tmp_list;
+      tmp_list = tmp_list->next;
+
+      filter->ref_count--;
+      if (filter->ref_count == 0)
+        {
+          *filters = g_list_remove_link (*filters, node);
+          g_list_free_1 (node);
+          g_free (filter);
+        }
+
       if (result != GDK_FILTER_CONTINUE)
        return result;
     }
@@ -143,7 +163,7 @@ gdk_event_source_translate_event (GdkEventSource *event_source,
       /* Apply global filters */
 
       result = gdk_event_apply_filters (xevent, event,
-                                        _gdk_default_filters);
+                                        &_gdk_default_filters);
 
       if (result == GDK_FILTER_REMOVE)
         {
@@ -167,7 +187,7 @@ gdk_event_source_translate_event (GdkEventSource *event_source,
       if (filter_private->filters)
        {
          result = gdk_event_apply_filters (xevent, event,
-                                           filter_private->filters);
+                                           &filter_private->filters);
 
           if (result == GDK_FILTER_REMOVE)
             {
index cb09d1f32891457f9497844dfe8531675a2f81d0..20bb6ee4ef48a89c90c4aabc17eda33fab1fd4c0 100644 (file)
@@ -289,10 +289,11 @@ get_xkb (GdkKeymapX11 *keymap_x11)
 /** 
  * gdk_keymap_get_for_display:
  * @display: the #GdkDisplay.
- * @returns: the #GdkKeymap attached to @display.
  *
  * Returns the #GdkKeymap attached to @display.
  *
+ * Return value: (transfer none): the #GdkKeymap attached to @display.
+ *
  * Since: 2.2
  **/
 GdkKeymap*
index 8fb9ffc333b9b6c89ace57788d4e2997bd1b6f99..90d35dc5d82dbabae2172e94a0dc18ee1468216b 100644 (file)
@@ -117,7 +117,7 @@ _gdk_screen_x11_init (GdkScreenX11 *screen)
  *
  * Gets the display to which the @screen belongs.
  * 
- * Returns: the display to which @screen belongs
+ * Returns: (transfer none): the display to which @screen belongs
  *
  * Since: 2.2
  **/
@@ -1229,7 +1229,7 @@ gdk_screen_make_display_name (GdkScreen *screen)
 }
 
 /**
- * gdk_screen_get_active_window
+ * gdk_screen_get_active_window:
  * @screen: a #GdkScreen
  *
  * Returns the screen's currently active window.
@@ -1247,7 +1247,7 @@ gdk_screen_make_display_name (GdkScreen *screen)
  * The returned window should be unrefed using g_object_unref() when
  * no longer needed.
  *
- * Return value: the currently active window, or %NULL.
+ * Return value: (transfer full): the currently active window, or %NULL.
  *
  * Since: 2.10
  **/
index 03ec39670ecece04ba300f6c096aa54f669c7123..41be49ed93c5ec53e5170ccd266d0ce82da0d18b 100644 (file)
@@ -197,9 +197,9 @@ gdk_selection_owner_set_for_display (GdkDisplay *display,
  * process if a foreign window was previously created for that
  * window, but a new foreign window will never be created by this call. 
  *
- * Returns: if there is a selection owner for this window, and it is a 
- *    window known to the current process, the #GdkWindow that owns the 
- *    selection, otherwise %NULL.
+ * Returns: (transfer none): if there is a selection owner for this window,
+ *    and it is a window known to the current process, the #GdkWindow that
+ *    owns the selection, otherwise %NULL.
  *
  * Since: 2.2
  */ 
index 88d85101aeaaafc471946aba7a22235b3612ce73..ec9071077e94524cb95458202e5c92033aa4ed36 100644 (file)
@@ -271,16 +271,17 @@ _gdk_x11_window_create_bitmap_surface (GdkWindow *window,
   return surface;
 }
 
+/* Create a surface backed with a pixmap without alpha on the same screen as window */
 static cairo_surface_t *
 gdk_x11_window_create_pixmap_surface (GdkWindow *window,
                                       int        width,
                                       int        height)
 {
+  GdkScreen *screen = gdk_window_get_screen (window);
+  GdkVisual *visual = gdk_screen_get_system_visual (screen);
   cairo_surface_t *surface;
   Pixmap pixmap;
-  GdkVisual *visual;
 
-  visual = gdk_window_get_visual (window);
   pixmap = XCreatePixmap (GDK_WINDOW_XDISPLAY (window),
                           GDK_WINDOW_XID (window),
                           width, height,
@@ -840,9 +841,9 @@ x_event_mask_to_gdk_event_mask (long mask)
  * For example in the X backend, a native window handle is an Xlib
  * <type>XID</type>.
  * 
- * Return value: a #GdkWindow wrapper for the native window or 
- *   %NULL if the window has been destroyed. The wrapper will be
- *   newly created, if one doesn't exist already.
+ * Return value: (transfer full): a #GdkWindow wrapper for the native
+ *   window, or %NULL if the window has been destroyed. The wrapper
+ *   will be newly created, if one doesn't exist already.
  *
  * Since: 2.2
  **/
@@ -944,8 +945,8 @@ gdk_window_foreign_new_for_display (GdkDisplay     *display,
  * For example in the X backend, a native window handle is an Xlib
  * <type>XID</type>.
  *
- * Return value: the #GdkWindow wrapper for the native window, 
- *    or %NULL if there is none.
+ * Return value: (transfer none): the #GdkWindow wrapper for the native
+ *    window, or %NULL if there is none.
  *
  * Since: 2.2
  **/
@@ -964,8 +965,8 @@ gdk_window_lookup_for_display (GdkDisplay *display, GdkNativeWindow anid)
  * For example in the X backend, a native window handle is an Xlib
  * <type>XID</type>.
  *
- * Return value: the #GdkWindow wrapper for the native window, 
- *    or %NULL if there is none.
+ * Return value: (transfer none): the #GdkWindow wrapper for the native
+ *    window, or %NULL if there is none.
  **/
 GdkWindow *
 gdk_window_lookup (GdkNativeWindow anid)
index 94649b9ae1a755682d1f4b235074e8128711b27d..52b86c9e64fa90628d08b6f5138e610434e2e8c7 100644 (file)
@@ -80,8 +80,8 @@ _gdk_xid_table_remove (GdkDisplay *display,
  *
  * Returns the GDK object associated with the given X id.
  *
- * Return value: the associated #GdkWindow or %NULL if no
- *     object is associated with the X id.
+ * Return value: (transfer none): the associated #GdkWindow, or %NULL
+ *     of no object is associated with the X id.
  *
  * Since: 2.2
  */
@@ -110,8 +110,8 @@ gdk_xid_table_lookup_for_display (GdkDisplay  *display,
  * Returns the Gdk object associated with the given X id for the default
  * display.
  *
- * Return value: the associated #GdkWindow or %NULL if no
- *     object is associated with the X id.
+ * Return value: (transfer none): the associated #GdkWindow, or %NULL
+ *     if no object is associated with the X id.
  */
 gpointer
 gdk_xid_table_lookup (XID xid)
index 2340e5cb69a90d755561e1d681692da3a25111d4..6d3edd8a7af4eee9419776a341b47a50aee38611 100644 (file)
@@ -101,7 +101,7 @@ endif
 # This places the generated .def file in srcdir, since it is expected to be there.
 # (The one from a tarball is)
 gtk.def: gtk.symbols
-       (echo -e EXPORTS; $(CPP) -P -DINCLUDE_VARIABLES -DG_OS_WIN32 -DALL_FILES - <$(srcdir)/gtk.symbols | $(SED) -e '/^$$/d' -e 's/^/ /' -e 's/G_GNUC_[^ ]*//g') > $(srcdir)/gtk.def
+       (echo -e EXPORTS; $(CPP) -P -DG_OS_WIN32 - <$(srcdir)/gtk.symbols | $(SED) -e '/^$$/d' -e 's/^/ /' -e 's/G_GNUC_[^ ]*//g') > $(srcdir)/gtk.def
 
 TESTS_ENVIRONMENT = srcdir="$(srcdir)" gtk_all_c_sources="$(gtk_all_c_sources)"
 if OS_LINUX
@@ -218,7 +218,6 @@ gtk_public_h_sources =          \
        gtkhbbox.h              \
        gtkhbox.h               \
        gtkhpaned.h             \
-       gtkhruler.h             \
        gtkhscale.h             \
        gtkhscrollbar.h         \
        gtkhseparator.h         \
@@ -273,7 +272,6 @@ gtk_public_h_sources =          \
        gtkrecentchooserwidget.h \
        gtkrecentfilter.h       \
        gtkrecentmanager.h      \
-       gtkruler.h              \
        gtkscale.h              \
        gtkscalebutton.h        \
        gtkscrollable.h         \
@@ -332,7 +330,6 @@ gtk_public_h_sources =          \
        gtkviewport.h           \
        gtkvolumebutton.h       \
        gtkvpaned.h             \
-       gtkvruler.h             \
        gtkvscale.h             \
        gtkvscrollbar.h         \
        gtkvseparator.h         \
@@ -355,6 +352,7 @@ gtk_semi_private_h_sources =    \
 
 # GTK+ header files that don't get installed
 gtk_private_h_sources =                \
+       gtkbuttonprivate.h      \
        gtkquery.h              \
        gtksearchengine.h       \
        gtksearchenginesimple.h \
@@ -486,7 +484,6 @@ gtk_base_c_sources =            \
        gtkhbbox.c              \
        gtkhbox.c               \
        gtkhpaned.c             \
-       gtkhruler.c             \
        gtkhscale.c             \
        gtkhscrollbar.c         \
        gtkhseparator.c         \
@@ -552,7 +549,6 @@ gtk_base_c_sources =            \
        gtkrecentchooser.c      \
        gtkrecentfilter.c       \
        gtkrecentmanager.c      \
-       gtkruler.c              \
        gtkscale.c              \
        gtkscalebutton.c        \
        gtkscrollable.c         \
@@ -620,7 +616,6 @@ gtk_base_c_sources =            \
        gtkvolumebutton.c       \
        gtkviewport.c           \
        gtkvpaned.c             \
-       gtkvruler.c             \
        gtkvscale.c             \
        gtkvscrollbar.c         \
        gtkvseparator.c         \
index da4663c5de9fecfe5d47719ad6a8fcd8dfff9be7..a48597c178d3caf1fbaba83d28799389a50a51b5 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/sh
 
-cpp -DINCLUDE_VARIABLES -P -DG_OS_UNIX -DGTK_WINDOWING_X11 -DALL_FILES ${srcdir:-.}/gtk.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' -e 's/ PRIVATE//' | sort > expected-abi
+cpp -P -DG_OS_UNIX -DGTK_WINDOWING_X11 ${srcdir:-.}/gtk.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' -e 's/ PRIVATE//' | sort > expected-abi
 nm -D -g --defined-only .libs/libgtk-x11-3.0.so | cut -d ' ' -f 3 | egrep -v '^(__bss_start|_edata|_end)' | sort > actual-abi
 diff -u expected-abi actual-abi && rm -f expected-abi actual-abi
index b9d93db12a0cde0445f1a9e13c5ad2214ddc7f30..4646fa5deb03c888c9bf44164850c4f27ff8291d 100644 (file)
--- a/gtk/gtk.h
+++ b/gtk/gtk.h
 #include <gtk/gtkhbbox.h>
 #include <gtk/gtkhbox.h>
 #include <gtk/gtkhpaned.h>
-#include <gtk/gtkhruler.h>
 #include <gtk/gtkhscale.h>
 #include <gtk/gtkhscrollbar.h>
 #include <gtk/gtkhseparator.h>
 #include <gtk/gtkrecentchooserwidget.h>
 #include <gtk/gtkrecentfilter.h>
 #include <gtk/gtkrecentmanager.h>
-#include <gtk/gtkruler.h>
 #include <gtk/gtkscale.h>
 #include <gtk/gtkscalebutton.h>
 #include <gtk/gtkscrollable.h>
 #include <gtk/gtkviewport.h>
 #include <gtk/gtkvolumebutton.h>
 #include <gtk/gtkvpaned.h>
-#include <gtk/gtkvruler.h>
 #include <gtk/gtkvscale.h>
 #include <gtk/gtkvscrollbar.h>
 #include <gtk/gtkvseparator.h>
index d81a8abb06fdb003ab7e7c79a07074e245047e77..8188e30e02c0f8fc338a966fa248b724b660c2ef 100644 (file)
@@ -1,30 +1,6 @@
 /* This list defines the GTK+ ABI. It is used to generate the gtk.def
- * file and the gtkalias.h header.
- *
- * Variables must be put into ifdef INCLUDE_VARIABLES ... endif sections.
- *
- * Internal symbols must be protected by ifdef INCLUDE_INTERNAL_SYMBOLS.
- *
- * Symbols which occur only on Windows, or only on Unix, or only with
- * the X11 backend must be included in similar ifdefs, using the
- * symbols G_OS_WIN32, G_OS_UNIX and GTK_WINDOWING_X11.
- *
- * Every symbol must be included in the right
- * #ifdef IN_HEADER(sym) #endif and
- * #ifdef IN_FILE(sym) #endif sections.
- *
- * gdkalias.h must be included *after* all other gdk headers
- * in each source file, gdkaliasdef.c must be included at the
- * very bottom, after a line defining the right symbol.
+ * file.
  */
-#ifdef ALL_FILES
-#define IN_FILE(x) 1
-#define IN_HEADER(x) 1
-#endif
-
-#if IN_HEADER(__GTK_ABOUT_DIALOG_H__)
-#if IN_FILE(__GTK_ABOUT_DIALOG_C__)
-gtk_show_about_dialog G_GNUC_NULL_TERMINATED
 gtk_about_dialog_get_artists
 gtk_about_dialog_get_authors
 gtk_about_dialog_get_comments
@@ -35,7 +11,6 @@ gtk_about_dialog_get_license_type
 gtk_about_dialog_get_logo
 gtk_about_dialog_get_logo_icon_name
 gtk_about_dialog_get_program_name
-gtk_about_dialog_set_program_name
 gtk_about_dialog_get_translator_credits
 gtk_about_dialog_get_type G_GNUC_CONST
 gtk_about_dialog_get_version
@@ -52,23 +27,19 @@ gtk_about_dialog_set_license
 gtk_about_dialog_set_license_type
 gtk_about_dialog_set_logo
 gtk_about_dialog_set_logo_icon_name
+gtk_about_dialog_set_program_name
 gtk_about_dialog_set_translator_credits
 gtk_about_dialog_set_version
 gtk_about_dialog_set_website
 gtk_about_dialog_set_website_label
 gtk_about_dialog_set_wrap_license
-#endif
-#endif
-
-#if IN_HEADER(__GTK_ACCEL_GROUP_H__)
-#if IN_FILE(__GTK_ACCEL_GROUP_C__)
 gtk_accelerator_get_default_mod_mask
 gtk_accelerator_get_label
 gtk_accelerator_name
 gtk_accelerator_parse
 gtk_accelerator_set_default_mod_mask
 gtk_accelerator_valid G_GNUC_CONST
-
+gtk_accel_flags_get_type G_GNUC_CONST
 gtk_accel_group_activate
 gtk_accel_group_connect
 gtk_accel_group_connect_by_path
@@ -76,20 +47,15 @@ gtk_accel_group_disconnect
 gtk_accel_group_disconnect_key
 gtk_accel_group_find
 gtk_accel_group_from_accel_closure
-gtk_accel_group_get_type G_GNUC_CONST
 gtk_accel_group_get_is_locked
 gtk_accel_group_get_modifier_mask
+gtk_accel_group_get_type G_GNUC_CONST
 gtk_accel_group_lock
 gtk_accel_group_new
 gtk_accel_group_query
 gtk_accel_groups_activate
 gtk_accel_groups_from_object
 gtk_accel_group_unlock
-#endif
-#endif
-
-#if IN_HEADER(__GTK_ACCEL_LABEL_H__)
-#if IN_FILE(__GTK_ACCEL_LABEL_C__)
 gtk_accel_label_get_accel_widget
 gtk_accel_label_get_accel_width
 gtk_accel_label_get_type G_GNUC_CONST
@@ -97,11 +63,6 @@ gtk_accel_label_new
 gtk_accel_label_refetch
 gtk_accel_label_set_accel_closure
 gtk_accel_label_set_accel_widget
-#endif
-#endif
-
-#if IN_HEADER(__GTK_ACCEL_MAP_H__)
-#if IN_FILE(__GTK_ACCEL_MAP_C__)
 gtk_accel_map_add_entry
 gtk_accel_map_add_filter
 gtk_accel_map_change_entry
@@ -117,37 +78,27 @@ gtk_accel_map_lookup_entry
 gtk_accel_map_save
 gtk_accel_map_save_fd
 gtk_accel_map_unlock_path
-#endif
-#endif
-
-#if IN_HEADER(__GTK_ACCESSIBLE_H__)
-#if IN_FILE(__GTK_ACCESSIBLE_C__)
 gtk_accessible_connect_widget_destroyed
 gtk_accessible_get_type G_GNUC_CONST
 gtk_accessible_get_widget
 gtk_accessible_set_widget
-#endif
-#endif
-
-#if IN_HEADER(__GTK_ACTION_H__)
-#if IN_FILE(__GTK_ACTION_C__)
 gtk_action_activate
 gtk_action_block_activate
 gtk_action_connect_accelerator
 gtk_action_create_icon
+gtk_action_create_menu
 gtk_action_create_menu_item
 gtk_action_create_tool_item
-gtk_action_create_menu
 gtk_action_disconnect_accelerator
-gtk_action_get_always_show_image
 gtk_action_get_accel_closure
 gtk_action_get_accel_path
+gtk_action_get_always_show_image
 gtk_action_get_gicon
+gtk_action_get_icon_name
+gtk_action_get_is_important
 gtk_action_get_label
 gtk_action_get_name
 gtk_action_get_proxies
-gtk_action_get_icon_name
-gtk_action_get_is_important
 gtk_action_get_sensitive
 gtk_action_get_short_label
 gtk_action_get_stock_id
@@ -156,29 +107,6 @@ gtk_action_get_type G_GNUC_CONST
 gtk_action_get_visible
 gtk_action_get_visible_horizontal
 gtk_action_get_visible_vertical
-gtk_action_is_sensitive
-gtk_action_is_visible
-gtk_action_new
-gtk_action_set_accel_group
-gtk_action_set_accel_path
-gtk_action_set_always_show_image
-gtk_action_set_gicon
-gtk_action_set_icon_name
-gtk_action_set_is_important
-gtk_action_set_label
-gtk_action_set_sensitive
-gtk_action_set_short_label
-gtk_action_set_stock_id
-gtk_action_set_tooltip
-gtk_action_set_visible
-gtk_action_set_visible_horizontal
-gtk_action_set_visible_vertical
-gtk_action_unblock_activate
-#endif
-#endif
-
-#if IN_HEADER(__GTK_ACTION_GROUP_H__)
-#if IN_FILE(__GTK_ACTION_GROUP_C__)
 gtk_action_group_add_action
 gtk_action_group_add_actions
 gtk_action_group_add_actions_full
@@ -200,218 +128,101 @@ gtk_action_group_set_translate_func
 gtk_action_group_set_translation_domain
 gtk_action_group_set_visible
 gtk_action_group_translate_string
-#endif
-#endif
-
-#if IN_HEADER(__GTK_ACTIVATABLE_H__)
-#if IN_FILE(__GTK_ACTIVATABLE_C__)
+gtk_action_is_sensitive
+gtk_action_is_visible
+gtk_action_new
+gtk_action_set_accel_group
+gtk_action_set_accel_path
+gtk_action_set_always_show_image
+gtk_action_set_gicon
+gtk_action_set_icon_name
+gtk_action_set_is_important
+gtk_action_set_label
+gtk_action_set_sensitive
+gtk_action_set_short_label
+gtk_action_set_stock_id
+gtk_action_set_tooltip
+gtk_action_set_visible
+gtk_action_set_visible_horizontal
+gtk_action_set_visible_vertical
+gtk_action_unblock_activate
 gtk_activatable_do_set_related_action
 gtk_activatable_get_related_action
 gtk_activatable_get_type G_GNUC_CONST
 gtk_activatable_get_use_action_appearance
-gtk_activatable_sync_action_properties
 gtk_activatable_set_related_action
 gtk_activatable_set_use_action_appearance
-#endif
-#endif
-
-#if IN_HEADER(__GTK_ADJUSTMENT_H__)
-#if IN_FILE(__GTK_ADJUSTMENT_C__)
+gtk_activatable_sync_action_properties
 gtk_adjustment_changed
 gtk_adjustment_clamp_page
 gtk_adjustment_configure
-gtk_adjustment_get_type G_GNUC_CONST
-gtk_adjustment_get_value
 gtk_adjustment_get_lower
-gtk_adjustment_get_upper
-gtk_adjustment_get_step_increment
 gtk_adjustment_get_page_increment
 gtk_adjustment_get_page_size
+gtk_adjustment_get_step_increment
+gtk_adjustment_get_type G_GNUC_CONST
+gtk_adjustment_get_upper
+gtk_adjustment_get_value
 gtk_adjustment_new
-gtk_adjustment_set_value
 gtk_adjustment_set_lower
-gtk_adjustment_set_upper
-gtk_adjustment_set_step_increment
 gtk_adjustment_set_page_increment
 gtk_adjustment_set_page_size
+gtk_adjustment_set_step_increment
+gtk_adjustment_set_upper
+gtk_adjustment_set_value
 gtk_adjustment_value_changed
-#endif
-#endif
-
-#if IN_HEADER(__GTK_ALIGNMENT_H__)
-#if IN_FILE(__GTK_ALIGNMENT_C__)
+gtk_align_get_type G_GNUC_CONST
 gtk_alignment_get_padding
 gtk_alignment_get_type G_GNUC_CONST
 gtk_alignment_new
 gtk_alignment_set
 gtk_alignment_set_padding
-#endif
-#endif
-
-#if IN_HEADER(__GTK_APPLICATION_H__)
-#if IN_FILE(__GTK_APPLICATION_C__)
-gtk_application_get_type G_GNUC_CONST
+gtk_alternative_dialog_button_order
 gtk_application_add_window
-gtk_application_new
+gtk_application_get_type G_GNUC_CONST
 gtk_application_get_windows
+gtk_application_new
 gtk_application_remove_window
-#endif
-#endif
-
-#if IN_HEADER(__GTK_ASSISTANT_H__)
-#if IN_FILE(__GTK_ASSISTANT_C__)
+gtk_arrow_get_type G_GNUC_CONST
+gtk_arrow_new
+gtk_arrow_placement_get_type G_GNUC_CONST
+gtk_arrow_set
+gtk_arrow_type_get_type G_GNUC_CONST
+gtk_aspect_frame_get_type G_GNUC_CONST
+gtk_aspect_frame_new
+gtk_aspect_frame_set
+gtk_assistant_add_action_widget
+gtk_assistant_append_page
+gtk_assistant_commit
+gtk_assistant_get_current_page
+gtk_assistant_get_n_pages
+gtk_assistant_get_nth_page
+gtk_assistant_get_page_complete
+gtk_assistant_get_page_header_image
+gtk_assistant_get_page_side_image
+gtk_assistant_get_page_title
+gtk_assistant_get_page_type
 gtk_assistant_get_type G_GNUC_CONST
+gtk_assistant_insert_page
 gtk_assistant_new
 gtk_assistant_next_page
+gtk_assistant_page_type_get_type G_GNUC_CONST
+gtk_assistant_prepend_page
 gtk_assistant_previous_page
-gtk_assistant_get_current_page
+gtk_assistant_remove_action_widget
 gtk_assistant_set_current_page
-gtk_assistant_get_n_pages
-gtk_assistant_get_nth_page
-gtk_assistant_prepend_page
-gtk_assistant_append_page
-gtk_assistant_insert_page
 gtk_assistant_set_forward_page_func
-gtk_assistant_set_page_type
-gtk_assistant_get_page_type
-gtk_assistant_set_page_title
-gtk_assistant_get_page_title
+gtk_assistant_set_page_complete
 gtk_assistant_set_page_header_image
-gtk_assistant_get_page_header_image
 gtk_assistant_set_page_side_image
-gtk_assistant_get_page_side_image
-gtk_assistant_set_page_complete
-gtk_assistant_get_page_complete
-gtk_assistant_add_action_widget
-gtk_assistant_remove_action_widget
+gtk_assistant_set_page_title
+gtk_assistant_set_page_type
 gtk_assistant_update_buttons_state
-gtk_assistant_commit
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TYPE_BUILTINS_H__)
-#if IN_FILE(__GTK_TYPE_BUILTINS_C__)
-gtk_align_get_type G_GNUC_CONST
-gtk_pack_direction_get_type G_GNUC_CONST
-gtk_ui_manager_item_type_get_type G_GNUC_CONST
-gtk_spin_button_update_policy_get_type G_GNUC_CONST
-gtk_notebook_tab_get_type G_GNUC_CONST
-gtk_number_up_layout_get_type G_GNUC_CONST
-gtk_arrow_type_get_type G_GNUC_CONST
-gtk_arrow_placement_get_type G_GNUC_CONST
-gtk_assistant_page_type_get_type G_GNUC_CONST
 gtk_attach_options_get_type G_GNUC_CONST
-gtk_builder_error_get_type G_GNUC_CONST
-gtk_buttons_type_get_type G_GNUC_CONST
-gtk_calendar_display_options_get_type G_GNUC_CONST
-gtk_cell_renderer_mode_get_type G_GNUC_CONST
-gtk_cell_renderer_state_get_type G_GNUC_CONST
-gtk_cell_renderer_accel_mode_get_type
-gtk_corner_type_get_type G_GNUC_CONST
-gtk_debug_flag_get_type G_GNUC_CONST
-gtk_delete_type_get_type G_GNUC_CONST
-gtk_dest_defaults_get_type G_GNUC_CONST
-gtk_drag_result_get_type G_GNUC_CONST
-gtk_dialog_flags_get_type G_GNUC_CONST
-gtk_direction_type_get_type G_GNUC_CONST
-gtk_entry_icon_position_get_type G_GNUC_CONST
-gtk_expander_style_get_type G_GNUC_CONST
-gtk_file_chooser_action_get_type G_GNUC_CONST
-gtk_file_chooser_confirmation_get_type G_GNUC_CONST
-gtk_file_filter_flags_get_type G_GNUC_CONST
-gtk_icon_view_drop_position_get_type G_GNUC_CONST
-gtk_sensitivity_type_get_type G_GNUC_CONST
-gtk_window_type_get_type G_GNUC_CONST
-gtk_wrap_mode_get_type G_GNUC_CONST
-gtk_widget_help_type_get_type G_GNUC_CONST
-gtk_window_position_get_type G_GNUC_CONST
-gtk_tree_view_column_sizing_get_type G_GNUC_CONST
-gtk_tree_view_drop_position_get_type G_GNUC_CONST
-gtk_button_box_style_get_type G_GNUC_CONST
-gtk_icon_lookup_flags_get_type G_GNUC_CONST
-gtk_image_type_get_type G_GNUC_CONST
-gtk_im_preedit_style_get_type G_GNUC_CONST
-gtk_im_status_style_get_type G_GNUC_CONST
-gtk_justification_get_type G_GNUC_CONST
-gtk_license_get_type G_GNUC_CONST
-gtk_menu_direction_type_get_type G_GNUC_CONST
-gtk_message_type_get_type G_GNUC_CONST
-gtk_metric_type_get_type G_GNUC_CONST
-gtk_movement_step_get_type G_GNUC_CONST
-gtk_orientation_get_type G_GNUC_CONST
-gtk_pack_type_get_type G_GNUC_CONST
-gtk_page_orientation_get_type G_GNUC_CONST
-gtk_print_operation_result_get_type G_GNUC_CONST
-gtk_print_pages_get_type G_GNUC_CONST
-gtk_print_quality_get_type G_GNUC_CONST
-gtk_print_status_get_type G_GNUC_CONST
-gtk_page_set_get_type G_GNUC_CONST
-gtk_path_priority_type_get_type G_GNUC_CONST
-gtk_path_type_get_type G_GNUC_CONST
-gtk_policy_type_get_type G_GNUC_CONST
-gtk_position_type_get_type G_GNUC_CONST
-gtk_print_duplex_get_type G_GNUC_CONST
-gtk_print_error_get_type G_GNUC_CONST
-gtk_recent_filter_flags_get_type G_GNUC_CONST
-gtk_print_operation_action_get_type G_GNUC_CONST
-gtk_rc_flags_get_type G_GNUC_CONST
-gtk_rc_token_type_get_type G_GNUC_CONST
-gtk_recent_chooser_error_get_type G_GNUC_CONST
-gtk_recent_manager_error_get_type G_GNUC_CONST
-gtk_recent_sort_type_get_type G_GNUC_CONST
-gtk_unit_get_type G_GNUC_CONST
-gtk_relief_style_get_type G_GNUC_CONST
-gtk_resize_mode_get_type G_GNUC_CONST
-gtk_response_type_get_type G_GNUC_CONST
-gtk_scroll_step_get_type G_GNUC_CONST
-gtk_scroll_type_get_type G_GNUC_CONST
-gtk_selection_mode_get_type G_GNUC_CONST
-gtk_shadow_type_get_type G_GNUC_CONST
-gtk_size_group_mode_get_type G_GNUC_CONST
-gtk_size_request_mode_get_type G_GNUC_CONST
-gtk_sort_type_get_type G_GNUC_CONST
-gtk_spin_type_get_type G_GNUC_CONST
-gtk_state_type_get_type G_GNUC_CONST
-gtk_target_flags_get_type G_GNUC_CONST
-gtk_text_direction_get_type G_GNUC_CONST
-gtk_text_buffer_target_info_get_type G_GNUC_CONST
-gtk_text_search_flags_get_type G_GNUC_CONST
-gtk_text_window_type_get_type G_GNUC_CONST
-gtk_tool_palette_drag_targets_get_type G_GNUC_CONST
-gtk_tree_model_flags_get_type G_GNUC_CONST
-gtk_tree_view_grid_lines_get_type G_GNUC_CONST
-gtk_update_type_get_type G_GNUC_CONST
-gtk_accel_flags_get_type G_GNUC_CONST
-gtk_icon_size_get_type G_GNUC_CONST
-gtk_file_chooser_error_get_type G_GNUC_CONST
-gtk_icon_theme_error_get_type G_GNUC_CONST
-gtk_toolbar_space_style_get_type G_GNUC_CONST
-gtk_toolbar_style_get_type G_GNUC_CONST
-#endif
-#endif
-
-#if IN_HEADER(__GTK_ARROW_H__)
-#if IN_FILE(__GTK_ARROW_C__)
-gtk_arrow_get_type G_GNUC_CONST
-gtk_arrow_new
-gtk_arrow_set
-#endif
-#endif
-
-#if IN_HEADER(__GTK_ASPECT_FRAME_H__)
-#if IN_FILE(__GTK_ASPECT_FRAME_C__)
-gtk_aspect_frame_get_type G_GNUC_CONST
-gtk_aspect_frame_new
-gtk_aspect_frame_set
-#endif
-#endif
-
-#if IN_HEADER(__GTK_BINDINGS_H__)
-#if IN_FILE(__GTK_BINDINGS_C__)
-gtk_binding_entry_skip
 gtk_binding_entry_add_signal
 gtk_binding_entry_add_signall
 gtk_binding_entry_remove
+gtk_binding_entry_skip
 gtk_bindings_activate
 gtk_bindings_activate_event
 gtk_binding_set_activate
@@ -419,22 +230,16 @@ gtk_binding_set_add_path
 gtk_binding_set_by_class
 gtk_binding_set_find
 gtk_binding_set_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_BIN_H__)
-#if IN_FILE(__GTK_BIN_C__)
 gtk_bin_get_child
 gtk_bin_get_type G_GNUC_CONST
-#endif
-#endif
-
-#if IN_HEADER(__GTK_BOX_H__)
-#if IN_FILE(__GTK_BOX_C__)
-gtk_box_new
+gtk_border_copy
+gtk_border_free
+gtk_border_get_type G_GNUC_CONST
+gtk_border_new G_GNUC_MALLOC
 gtk_box_get_homogeneous
 gtk_box_get_spacing
 gtk_box_get_type G_GNUC_CONST
+gtk_box_new
 gtk_box_pack_end
 gtk_box_pack_start
 gtk_box_query_child_packing
@@ -442,63 +247,43 @@ gtk_box_reorder_child
 gtk_box_set_child_packing
 gtk_box_set_homogeneous
 gtk_box_set_spacing
-#endif
-#endif
-
-#if IN_HEADER(__GTK_BUILDABLE_H__)
-#if IN_FILE(__GTK_BUILDABLE_C__)
 gtk_buildable_add_child
 gtk_buildable_construct_child
-gtk_buildable_custom_tag_start
-gtk_buildable_custom_tag_end
 gtk_buildable_custom_finished
+gtk_buildable_custom_tag_end
+gtk_buildable_custom_tag_start
 gtk_buildable_get_internal_child
 gtk_buildable_get_name
 gtk_buildable_get_type G_GNUC_CONST
 gtk_buildable_parser_finished
-gtk_buildable_set_name
 gtk_buildable_set_buildable_property
-#endif
-#endif
-
-#if IN_HEADER(__GTK_BUILDER_H__)
-#if IN_FILE(__GTK_BUILDER_C__)
+gtk_buildable_set_name
 gtk_builder_add_from_file
 gtk_builder_add_from_string
 gtk_builder_add_objects_from_file
 gtk_builder_add_objects_from_string
+gtk_builder_connect_signals
+gtk_builder_connect_signals_full
+gtk_builder_error_get_type G_GNUC_CONST
 gtk_builder_error_quark
 gtk_builder_get_object
 gtk_builder_get_objects
 gtk_builder_get_translation_domain
-gtk_builder_get_type G_GNUC_CONST
 gtk_builder_get_type_from_name
+gtk_builder_get_type G_GNUC_CONST
 gtk_builder_new
 gtk_builder_set_translation_domain
-gtk_builder_connect_signals
-gtk_builder_connect_signals_full
 gtk_builder_value_from_string
 gtk_builder_value_from_string_type
-#endif
-#endif
-
-#if IN_HEADER(__GTK_BUTTON_BOX_H__)
-#if IN_FILE(__GTK_BUTTON_BOX_C__)
-gtk_button_box_new
 gtk_button_box_get_child_secondary
 gtk_button_box_get_layout
 gtk_button_box_get_type G_GNUC_CONST
+gtk_button_box_new
 gtk_button_box_set_child_secondary
 gtk_button_box_set_layout
-#endif
-#endif
-
-#if IN_HEADER(__GTK_BUTTON_H__)
-#if IN_FILE(__GTK_BUTTON_C__)
+gtk_button_box_style_get_type G_GNUC_CONST
 gtk_button_clicked
-#ifndef GTK_DISABLE_DEPRECATED
 gtk_button_enter
-#endif
 gtk_button_get_alignment
 gtk_button_get_event_window
 gtk_button_get_focus_on_click
@@ -509,17 +294,13 @@ gtk_button_get_relief
 gtk_button_get_type G_GNUC_CONST
 gtk_button_get_use_stock
 gtk_button_get_use_underline
-#ifndef GTK_DISABLE_DEPRECATED
 gtk_button_leave
-#endif
 gtk_button_new
 gtk_button_new_from_stock
 gtk_button_new_with_label
 gtk_button_new_with_mnemonic
-#ifndef GTK_DISABLE_DEPRECATED
 gtk_button_pressed
 gtk_button_released
-#endif
 gtk_button_set_alignment
 gtk_button_set_focus_on_click
 gtk_button_set_image
@@ -528,12 +309,11 @@ gtk_button_set_label
 gtk_button_set_relief
 gtk_button_set_use_stock
 gtk_button_set_use_underline
-#endif
-#endif
-
-#if IN_HEADER(__GTK_CALENDAR_H__)
-#if IN_FILE(__GTK_CALENDAR_C__)
+gtk_buttons_type_get_type G_GNUC_CONST
+gtk_cairo_should_draw_window
+gtk_cairo_transform_to_window
 gtk_calendar_clear_marks
+gtk_calendar_display_options_get_type G_GNUC_CONST
 gtk_calendar_get_date
 gtk_calendar_get_day_is_marked
 gtk_calendar_get_detail_height_rows
@@ -549,36 +329,26 @@ gtk_calendar_set_detail_height_rows
 gtk_calendar_set_detail_width_chars
 gtk_calendar_set_display_options
 gtk_calendar_unmark_day
-#endif
-#endif
-
-#if IN_HEADER(__GTK_CELL_EDITABLE_H__)
-#if IN_FILE(__GTK_CELL_EDITABLE_C__)
 gtk_cell_editable_editing_done
 gtk_cell_editable_get_type G_GNUC_CONST
 gtk_cell_editable_remove_widget
 gtk_cell_editable_start_editing
-#endif
-#endif
-
-#if IN_HEADER(__GTK_CELL_LAYOUT_H__)
-#if IN_FILE(__GTK_CELL_LAYOUT_C__)
 gtk_cell_layout_add_attribute
 gtk_cell_layout_clear
 gtk_cell_layout_clear_attributes
+gtk_cell_layout_get_cells
 gtk_cell_layout_get_type G_GNUC_CONST
 gtk_cell_layout_pack_end
 gtk_cell_layout_pack_start
-gtk_cell_layout_get_cells
 gtk_cell_layout_reorder
 gtk_cell_layout_set_attributes G_GNUC_NULL_TERMINATED
 gtk_cell_layout_set_cell_data_func
-#endif
-#endif
-
-#if IN_HEADER(__GTK_CELL_RENDERER_H__)
-#if IN_FILE(__GTK_CELL_RENDERER_C__)
+gtk_cell_renderer_accel_get_type G_GNUC_CONST
+gtk_cell_renderer_accel_mode_get_type
+gtk_cell_renderer_accel_new
 gtk_cell_renderer_activate
+gtk_cell_renderer_combo_get_type G_GNUC_CONST
+gtk_cell_renderer_combo_new
 gtk_cell_renderer_get_alignment
 gtk_cell_renderer_get_fixed_size
 gtk_cell_renderer_get_padding
@@ -589,74 +359,30 @@ gtk_cell_renderer_get_preferred_width
 gtk_cell_renderer_get_preferred_width_for_height
 gtk_cell_renderer_get_request_mode
 gtk_cell_renderer_get_sensitive
-#ifndef GTK_DISABLE_DEPRECATED
 gtk_cell_renderer_get_size
-#endif
 gtk_cell_renderer_get_type G_GNUC_CONST
 gtk_cell_renderer_get_visible
+gtk_cell_renderer_mode_get_type G_GNUC_CONST
+gtk_cell_renderer_pixbuf_get_type G_GNUC_CONST
+gtk_cell_renderer_pixbuf_new
+gtk_cell_renderer_progress_get_type G_GNUC_CONST
+gtk_cell_renderer_progress_new
 gtk_cell_renderer_render
 gtk_cell_renderer_set_alignment
 gtk_cell_renderer_set_fixed_size
 gtk_cell_renderer_set_padding
 gtk_cell_renderer_set_sensitive
 gtk_cell_renderer_set_visible
-gtk_cell_renderer_start_editing
-gtk_cell_renderer_stop_editing
-#endif
-#endif
-
-#if IN_HEADER(__GTK_CELL_RENDERER_ACCEL_H__)
-#if IN_FILE(__GTK_CELL_RENDERER_ACCEL_C__)
-gtk_cell_renderer_accel_get_type G_GNUC_CONST
-gtk_cell_renderer_accel_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_CELL_RENDERER_COMBO_H__)
-#if IN_FILE(__GTK_CELL_RENDERER_COMBO_C__)
-gtk_cell_renderer_combo_get_type G_GNUC_CONST
-gtk_cell_renderer_combo_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_CELL_RENDERER_PIXBUF_H__)
-#if IN_FILE(__GTK_CELL_RENDERER_PIXBUF_C__)
-gtk_cell_renderer_pixbuf_get_type G_GNUC_CONST
-gtk_cell_renderer_pixbuf_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_CELL_RENDERER_SPIN_H__)
-#if IN_FILE(__GTK_CELL_RENDERER_SPIN_C__)
 gtk_cell_renderer_spin_get_type G_GNUC_CONST
-gtk_cell_renderer_spin_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_CELL_RENDERER_SPINNER_H__)
-#if IN_FILE(__GTK_CELL_RENDERER_SPINNER_C__)
 gtk_cell_renderer_spinner_get_type G_GNUC_CONST
 gtk_cell_renderer_spinner_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_CELL_RENDERER_PROGRESS_H__)
-#if IN_FILE(__GTK_CELL_RENDERER_PROGRESS_C__)
-gtk_cell_renderer_progress_get_type G_GNUC_CONST
-gtk_cell_renderer_progress_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_CELL_RENDERER_TEXT_H__)
-#if IN_FILE(__GTK_CELL_RENDERER_TEXT_C__)
+gtk_cell_renderer_spin_new
+gtk_cell_renderer_start_editing
+gtk_cell_renderer_state_get_type G_GNUC_CONST
+gtk_cell_renderer_stop_editing
 gtk_cell_renderer_text_get_type G_GNUC_CONST
 gtk_cell_renderer_text_new
 gtk_cell_renderer_text_set_fixed_height_from_font
-#endif
-#endif
-
-#if IN_HEADER(__GTK_CELL_RENDERER_TOGGLE_H__)
-#if IN_FILE(__GTK_CELL_RENDERER_TOGGLE_C__)
 gtk_cell_renderer_toggle_get_activatable
 gtk_cell_renderer_toggle_get_active
 gtk_cell_renderer_toggle_get_radio
@@ -665,18 +391,11 @@ gtk_cell_renderer_toggle_new
 gtk_cell_renderer_toggle_set_activatable
 gtk_cell_renderer_toggle_set_active
 gtk_cell_renderer_toggle_set_radio
-#endif
-#endif
-
-#if IN_HEADER(__GTK_CELL_VIEW_H__)
-#if IN_FILE(__GTK_CELL_VIEW_C__)
 gtk_cell_view_get_desired_height_for_width_of_row
 gtk_cell_view_get_desired_width_of_row
 gtk_cell_view_get_displayed_row
 gtk_cell_view_get_model
-#ifndef GTK_DISABLE_DEPRECATED
 gtk_cell_view_get_size_of_row
-#endif
 gtk_cell_view_get_type G_GNUC_CONST
 gtk_cell_view_new
 gtk_cell_view_new_with_markup
@@ -686,20 +405,10 @@ gtk_cell_view_set_background_color
 gtk_cell_view_set_background_rgba
 gtk_cell_view_set_displayed_row
 gtk_cell_view_set_model
-#endif
-#endif
-
-#if IN_HEADER(__GTK_CHECK_BUTTON_H__)
-#if IN_FILE(__GTK_CHECK_BUTTON_C__)
 gtk_check_button_get_type G_GNUC_CONST
 gtk_check_button_new
 gtk_check_button_new_with_label
 gtk_check_button_new_with_mnemonic
-#endif
-#endif
-
-#if IN_HEADER(__GTK_CHECK_MENU_ITEM_H__)
-#if IN_FILE(__GTK_CHECK_MENU_ITEM_C__)
 gtk_check_menu_item_get_active
 gtk_check_menu_item_get_draw_as_radio
 gtk_check_menu_item_get_inconsistent
@@ -711,11 +420,7 @@ gtk_check_menu_item_set_active
 gtk_check_menu_item_set_draw_as_radio
 gtk_check_menu_item_set_inconsistent
 gtk_check_menu_item_toggled
-#endif
-#endif
-
-#if IN_HEADER(__GTK_CLIPBOARD_H__)
-#if IN_FILE(__GTK_CLIPBOARD_C__)
+gtk_check_version
 gtk_clipboard_clear
 gtk_clipboard_get
 gtk_clipboard_get_display
@@ -737,19 +442,14 @@ gtk_clipboard_store
 gtk_clipboard_wait_for_contents
 gtk_clipboard_wait_for_image
 gtk_clipboard_wait_for_rich_text
-gtk_clipboard_wait_for_uris
 gtk_clipboard_wait_for_targets
 gtk_clipboard_wait_for_text
+gtk_clipboard_wait_for_uris
 gtk_clipboard_wait_is_image_available
 gtk_clipboard_wait_is_rich_text_available
+gtk_clipboard_wait_is_target_available
 gtk_clipboard_wait_is_text_available
 gtk_clipboard_wait_is_uris_available
-gtk_clipboard_wait_is_target_available
-#endif
-#endif
-
-#if IN_HEADER(__GTK_COLOR_BUTTON_H__)
-#if IN_FILE(__GTK_COLOR_BUTTON_C__)
 gtk_color_button_get_alpha
 gtk_color_button_get_color
 gtk_color_button_get_rgba
@@ -764,11 +464,9 @@ gtk_color_button_set_color
 gtk_color_button_set_rgba
 gtk_color_button_set_title
 gtk_color_button_set_use_alpha
-#endif
-#endif
-
-#if IN_HEADER(__GTK_COLOR_SELECTION_H__)
-#if IN_FILE(__GTK_COLOR_SELECTION_C__)
+gtk_color_selection_dialog_get_color_selection
+gtk_color_selection_dialog_get_type G_GNUC_CONST
+gtk_color_selection_dialog_new
 gtk_color_selection_get_current_alpha
 gtk_color_selection_get_current_color
 gtk_color_selection_get_current_rgba
@@ -791,22 +489,10 @@ gtk_color_selection_set_has_palette
 gtk_color_selection_set_previous_alpha
 gtk_color_selection_set_previous_color
 gtk_color_selection_set_previous_rgba
-#endif
-#endif
-
-#if IN_HEADER(__GTK_COLOR_SELECTION_DIALOG_H__)
-#if IN_FILE(__GTK_COLOR_SELECTION_DIALOG_C__)
-gtk_color_selection_dialog_get_type G_GNUC_CONST
-gtk_color_selection_dialog_new
-gtk_color_selection_dialog_get_color_selection
-#endif
-#endif
-
-#if IN_HEADER(__GTK_COMBO_BOX_H__)
-#if IN_FILE(__GTK_COMBO_BOX_C__)
 gtk_combo_box_get_active
 gtk_combo_box_get_active_iter
 gtk_combo_box_get_add_tearoffs
+gtk_combo_box_get_button_sensitivity
 gtk_combo_box_get_column_span_column
 gtk_combo_box_get_entry_text_column
 gtk_combo_box_get_focus_on_click
@@ -816,7 +502,6 @@ gtk_combo_box_get_popup_accessible
 gtk_combo_box_get_popup_fixed_width
 gtk_combo_box_get_row_separator_func
 gtk_combo_box_get_row_span_column
-gtk_combo_box_get_button_sensitivity
 gtk_combo_box_get_title
 gtk_combo_box_get_type G_GNUC_CONST
 gtk_combo_box_get_wrap_width
@@ -830,6 +515,7 @@ gtk_combo_box_popup_for_device
 gtk_combo_box_set_active
 gtk_combo_box_set_active_iter
 gtk_combo_box_set_add_tearoffs
+gtk_combo_box_set_button_sensitivity
 gtk_combo_box_set_column_span_column
 gtk_combo_box_set_entry_text_column
 gtk_combo_box_set_focus_on_click
@@ -837,14 +523,8 @@ gtk_combo_box_set_model
 gtk_combo_box_set_popup_fixed_width
 gtk_combo_box_set_row_separator_func
 gtk_combo_box_set_row_span_column
-gtk_combo_box_set_button_sensitivity
 gtk_combo_box_set_title
 gtk_combo_box_set_wrap_width
-#endif
-#endif
-
-#if IN_HEADER(__GTK_COMBO_BOX_TEXT_H__)
-#if IN_FILE(__GTK_COMBO_BOX_TEXT_C__)
 gtk_combo_box_text_append_text
 gtk_combo_box_text_get_active_text
 gtk_combo_box_text_get_type G_GNUC_CONST
@@ -854,11 +534,6 @@ gtk_combo_box_text_new_with_entry
 gtk_combo_box_text_prepend_text
 gtk_combo_box_text_remove
 gtk_combo_box_text_remove_all
-#endif
-#endif
-
-#if IN_HEADER(__GTK_CONTAINER_H__)
-#if IN_FILE(__GTK_CONTAINER_C__)
 gtk_container_add
 gtk_container_add_with_properties G_GNUC_NULL_TERMINATED
 gtk_container_check_resize
@@ -870,9 +545,9 @@ gtk_container_child_set_property
 gtk_container_child_set_valist
 gtk_container_child_type
 gtk_container_class_find_child_property
+gtk_container_class_handle_border_width
 gtk_container_class_install_child_property
 gtk_container_class_list_child_properties
-gtk_container_class_handle_border_width
 gtk_container_forall
 gtk_container_foreach
 gtk_container_get_border_width
@@ -894,42 +569,37 @@ gtk_container_set_focus_vadjustment
 gtk_container_set_reallocate_redraws
 gtk_container_set_resize_mode
 gtk_container_unset_focus_chain
-#endif
-#endif
-
-#if IN_HEADER(__GTK_WINDOW_DECORATE_H__)
-#if IN_FILE(__GTK_WINDOW_DECORATE_C__)
+gtk_corner_type_get_type G_GNUC_CONST
+gtk_custom_paper_unix_dialog_get_type G_GNUC_CONST
+gtk_debug_flag_get_type G_GNUC_CONST
 gtk_decorated_window_calculate_frame_size
 gtk_decorated_window_init
 gtk_decorated_window_move_resize_window
 gtk_decorated_window_set_title
-#endif
-#endif
-
-#if IN_HEADER(__GTK_DIALOG_H__)
-#if IN_FILE(__GTK_DIALOG_C__)
+gtk_delete_type_get_type G_GNUC_CONST
+gtk_dest_defaults_get_type G_GNUC_CONST
+gtk_device_grab_add
+gtk_device_grab_remove
 gtk_dialog_add_action_widget
 gtk_dialog_add_button
 gtk_dialog_add_buttons G_GNUC_NULL_TERMINATED
+gtk_dialog_flags_get_type G_GNUC_CONST
 gtk_dialog_get_action_area
 gtk_dialog_get_content_area
-gtk_dialog_get_widget_for_response
 gtk_dialog_get_response_for_widget
 gtk_dialog_get_type G_GNUC_CONST
+gtk_dialog_get_widget_for_response
 gtk_dialog_new
 gtk_dialog_new_with_buttons
 gtk_dialog_response
 gtk_dialog_run
-gtk_alternative_dialog_button_order
 gtk_dialog_set_alternative_button_order
 gtk_dialog_set_alternative_button_order_from_array
 gtk_dialog_set_default_response
 gtk_dialog_set_response_sensitive
-#endif
-#endif
-
-#if IN_HEADER(__GTK_DND_H__)
-#if IN_FILE(__GTK_DND_C__)
+gtk_direction_type_get_type G_GNUC_CONST
+gtk_disable_setlocale
+gtk_distribute_natural_allocation
 gtk_drag_begin
 gtk_drag_check_threshold
 gtk_drag_dest_add_image_targets
@@ -937,16 +607,17 @@ gtk_drag_dest_add_text_targets
 gtk_drag_dest_add_uri_targets
 gtk_drag_dest_find_target
 gtk_drag_dest_get_target_list
+gtk_drag_dest_get_track_motion
 gtk_drag_dest_set
 gtk_drag_dest_set_proxy
 gtk_drag_dest_set_target_list
 gtk_drag_dest_set_track_motion
-gtk_drag_dest_get_track_motion
 gtk_drag_dest_unset
 gtk_drag_finish
 gtk_drag_get_data
 gtk_drag_get_source_widget
 gtk_drag_highlight
+gtk_drag_result_get_type G_GNUC_CONST
 gtk_drag_set_icon_default
 gtk_drag_set_icon_name
 gtk_drag_set_icon_pixbuf
@@ -964,101 +635,9 @@ gtk_drag_source_set_icon_stock
 gtk_drag_source_set_target_list
 gtk_drag_source_unset
 gtk_drag_unhighlight
-#endif
-#endif
-
-#if IN_HEADER(__GTK_STATUS_ICON_H__)
-#if IN_FILE(__GTK_STATUS_ICON_C__)
-gtk_status_icon_get_type G_GNUC_CONST
-gtk_status_icon_new
-gtk_status_icon_new_from_pixbuf
-gtk_status_icon_new_from_file
-gtk_status_icon_new_from_stock
-gtk_status_icon_new_from_icon_name
-gtk_status_icon_new_from_gicon
-gtk_status_icon_set_from_pixbuf
-gtk_status_icon_set_from_file
-gtk_status_icon_set_from_stock
-gtk_status_icon_set_from_icon_name
-gtk_status_icon_set_from_gicon
-gtk_status_icon_get_storage_type
-gtk_status_icon_get_pixbuf
-gtk_status_icon_get_screen
-gtk_status_icon_get_stock
-gtk_status_icon_get_icon_name
-gtk_status_icon_get_gicon
-gtk_status_icon_get_size
-gtk_status_icon_set_screen
-gtk_status_icon_set_tooltip_text
-gtk_status_icon_get_tooltip_text
-gtk_status_icon_set_tooltip_markup
-gtk_status_icon_get_tooltip_markup
-gtk_status_icon_set_has_tooltip
-gtk_status_icon_get_has_tooltip
-gtk_status_icon_set_visible
-gtk_status_icon_get_visible
-gtk_status_icon_is_embedded
-gtk_status_icon_position_menu
-gtk_status_icon_get_geometry
-gtk_status_icon_get_x11_window_id
-gtk_status_icon_get_title
-gtk_status_icon_set_title
-gtk_status_icon_set_name
-#endif
-#endif
-
-#if IN_HEADER(__GTK_STYLE_H__)
-#if IN_FILE(__GTK_STYLE_C__)
-gtk_paint_arrow
-gtk_paint_box
-gtk_paint_box_gap
-gtk_paint_check
-gtk_paint_diamond
-gtk_paint_expander
-gtk_paint_extension
-gtk_paint_flat_box
-gtk_paint_focus
-gtk_paint_handle
-gtk_paint_hline
-gtk_paint_layout
-gtk_paint_option
-gtk_paint_resize_grip
-gtk_paint_shadow
-gtk_paint_shadow_gap
-gtk_paint_slider
-gtk_paint_spinner
-gtk_paint_tab
-gtk_paint_vline
-gtk_border_new G_GNUC_MALLOC
-gtk_border_copy
-gtk_border_free
-gtk_border_get_type G_GNUC_CONST
-gtk_style_apply_default_background
-gtk_style_attach
-gtk_style_copy
-gtk_style_detach
-gtk_style_get_type G_GNUC_CONST
-gtk_style_lookup_icon_set
-gtk_style_lookup_color
-gtk_style_new
-gtk_style_render_icon
-gtk_style_set_background
-gtk_draw_insertion_cursor
-gtk_style_get_style_property
-gtk_style_get_valist
-gtk_style_get
-#endif
-#endif
-
-#if IN_HEADER(__GTK_DRAWING_AREA_H__)
-#if IN_FILE(__GTK_DRAWING_AREA_C__)
 gtk_drawing_area_get_type G_GNUC_CONST
 gtk_drawing_area_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_EDITABLE_H__)
-#if IN_FILE(__GTK_EDITABLE_C__)
+gtk_draw_insertion_cursor
 gtk_editable_copy_clipboard
 gtk_editable_cut_clipboard
 gtk_editable_delete_selection
@@ -1073,11 +652,44 @@ gtk_editable_paste_clipboard
 gtk_editable_select_region
 gtk_editable_set_editable
 gtk_editable_set_position
-#endif
-#endif
-
-#if IN_HEADER(__GTK_ENTRY_H__)
-#if IN_FILE(__GTK_ENTRY_C__)
+gtk_entry_buffer_delete_text
+gtk_entry_buffer_emit_deleted_text
+gtk_entry_buffer_emit_inserted_text
+gtk_entry_buffer_get_bytes
+gtk_entry_buffer_get_length
+gtk_entry_buffer_get_max_length
+gtk_entry_buffer_get_text
+gtk_entry_buffer_get_type G_GNUC_CONST
+gtk_entry_buffer_insert_text
+gtk_entry_buffer_new
+gtk_entry_buffer_set_max_length
+gtk_entry_buffer_set_text
+gtk_entry_completion_complete
+gtk_entry_completion_delete_action
+gtk_entry_completion_get_completion_prefix
+gtk_entry_completion_get_entry
+gtk_entry_completion_get_inline_completion
+gtk_entry_completion_get_inline_selection
+gtk_entry_completion_get_minimum_key_length
+gtk_entry_completion_get_model
+gtk_entry_completion_get_popup_completion
+gtk_entry_completion_get_popup_set_width
+gtk_entry_completion_get_popup_single_match
+gtk_entry_completion_get_text_column
+gtk_entry_completion_get_type G_GNUC_CONST
+gtk_entry_completion_insert_action_markup
+gtk_entry_completion_insert_action_text
+gtk_entry_completion_insert_prefix
+gtk_entry_completion_new
+gtk_entry_completion_set_inline_completion
+gtk_entry_completion_set_inline_selection
+gtk_entry_completion_set_match_func
+gtk_entry_completion_set_minimum_key_length
+gtk_entry_completion_set_model
+gtk_entry_completion_set_popup_completion
+gtk_entry_completion_set_popup_set_width
+gtk_entry_completion_set_popup_single_match
+gtk_entry_completion_set_text_column
 gtk_entry_get_activates_default
 gtk_entry_get_alignment
 gtk_entry_get_buffer
@@ -1110,6 +722,7 @@ gtk_entry_get_text_length
 gtk_entry_get_type G_GNUC_CONST
 gtk_entry_get_visibility
 gtk_entry_get_width_chars
+gtk_entry_icon_position_get_type G_GNUC_CONST
 gtk_entry_im_context_filter_keypress
 gtk_entry_layout_index_to_text_index
 gtk_entry_new
@@ -1142,70 +755,14 @@ gtk_entry_set_visibility
 gtk_entry_set_width_chars
 gtk_entry_text_index_to_layout_index
 gtk_entry_unset_invisible_char
-#endif
-#endif
-
-#if IN_HEADER(__GTK_ENTRY_COMPLETION_H__)
-#if IN_FILE(__GTK_ENTRY_COMPLETION_C__)
-gtk_entry_completion_complete
-gtk_entry_completion_delete_action
-gtk_entry_completion_get_entry
-gtk_entry_completion_get_inline_completion
-gtk_entry_completion_get_inline_selection
-gtk_entry_completion_get_minimum_key_length
-gtk_entry_completion_get_completion_prefix
-gtk_entry_completion_get_model
-gtk_entry_completion_get_popup_completion
-gtk_entry_completion_get_popup_set_width
-gtk_entry_completion_get_popup_single_match
-gtk_entry_completion_get_text_column
-gtk_entry_completion_get_type G_GNUC_CONST
-gtk_entry_completion_insert_action_markup
-gtk_entry_completion_insert_action_text
-gtk_entry_completion_insert_prefix
-gtk_entry_completion_new
-gtk_entry_completion_set_inline_completion
-gtk_entry_completion_set_inline_selection
-gtk_entry_completion_set_match_func
-gtk_entry_completion_set_minimum_key_length
-gtk_entry_completion_set_model
-gtk_entry_completion_set_popup_completion
-gtk_entry_completion_set_popup_set_width
-gtk_entry_completion_set_popup_single_match
-gtk_entry_completion_set_text_column
-#endif
-#endif
-
-#if IN_HEADER(__GTK_ENTRY_BUFFER_H__)
-#if IN_FILE(__GTK_ENTRY_BUFFER_C__)
-gtk_entry_buffer_get_type G_GNUC_CONST
-gtk_entry_buffer_new
-gtk_entry_buffer_get_bytes
-gtk_entry_buffer_get_length
-gtk_entry_buffer_get_text
-gtk_entry_buffer_set_text
-gtk_entry_buffer_set_max_length
-gtk_entry_buffer_get_max_length
-gtk_entry_buffer_insert_text
-gtk_entry_buffer_delete_text
-gtk_entry_buffer_emit_inserted_text
-gtk_entry_buffer_emit_deleted_text
-#endif
-#endif
-
-#if IN_HEADER(__GTK_EVENT_BOX_H__)
-#if IN_FILE(__GTK_EVENT_BOX_C__)
+gtk_enumerate_printers
 gtk_event_box_get_above_child
 gtk_event_box_get_type G_GNUC_CONST
 gtk_event_box_get_visible_window
 gtk_event_box_new
 gtk_event_box_set_above_child
 gtk_event_box_set_visible_window
-#endif
-#endif
-
-#if IN_HEADER(__GTK_EXPANDER_H__)
-#if IN_FILE(__GTK_EXPANDER_C__)
+gtk_events_pending
 gtk_expander_get_expanded
 gtk_expander_get_label
 gtk_expander_get_label_fill
@@ -1223,19 +780,32 @@ gtk_expander_set_label_widget
 gtk_expander_set_spacing
 gtk_expander_set_use_markup
 gtk_expander_set_use_underline
-#endif
-#endif
-
-#if IN_HEADER(__GTK_FILE_CHOOSER_H__)
-#if IN_FILE(__GTK_FILE_CHOOSER_C__)
+gtk_expander_style_get_type G_GNUC_CONST
+gtk_false G_GNUC_CONST
+gtk_file_chooser_action_get_type G_GNUC_CONST
 gtk_file_chooser_add_filter
 gtk_file_chooser_add_shortcut_folder
 gtk_file_chooser_add_shortcut_folder_uri
+gtk_file_chooser_button_get_focus_on_click
+gtk_file_chooser_button_get_title
+gtk_file_chooser_button_get_type G_GNUC_CONST
+gtk_file_chooser_button_get_width_chars
+gtk_file_chooser_button_new
+gtk_file_chooser_button_new_with_dialog
+gtk_file_chooser_button_set_focus_on_click
+gtk_file_chooser_button_set_title
+gtk_file_chooser_button_set_width_chars
+gtk_file_chooser_confirmation_get_type G_GNUC_CONST
+gtk_file_chooser_dialog_get_type G_GNUC_CONST
+gtk_file_chooser_dialog_new
+gtk_file_chooser_error_get_type G_GNUC_CONST
 gtk_file_chooser_error_quark
 gtk_file_chooser_get_action
+gtk_file_chooser_get_create_folders
 gtk_file_chooser_get_current_folder
 gtk_file_chooser_get_current_folder_file
 gtk_file_chooser_get_current_folder_uri
+gtk_file_chooser_get_do_overwrite_confirmation
 gtk_file_chooser_get_extra_widget
 gtk_file_chooser_get_file
 gtk_file_chooser_get_filename
@@ -1250,10 +820,6 @@ gtk_file_chooser_get_preview_widget
 gtk_file_chooser_get_preview_widget_active
 gtk_file_chooser_get_select_multiple
 gtk_file_chooser_get_show_hidden
-gtk_file_chooser_set_do_overwrite_confirmation
-gtk_file_chooser_get_do_overwrite_confirmation
-gtk_file_chooser_set_create_folders
-gtk_file_chooser_get_create_folders
 gtk_file_chooser_get_type G_GNUC_CONST
 gtk_file_chooser_get_uri
 gtk_file_chooser_get_uris
@@ -1269,10 +835,12 @@ gtk_file_chooser_select_file
 gtk_file_chooser_select_filename
 gtk_file_chooser_select_uri
 gtk_file_chooser_set_action
+gtk_file_chooser_set_create_folders
 gtk_file_chooser_set_current_folder
 gtk_file_chooser_set_current_folder_file
 gtk_file_chooser_set_current_folder_uri
 gtk_file_chooser_set_current_name
+gtk_file_chooser_set_do_overwrite_confirmation
 gtk_file_chooser_set_extra_widget
 gtk_file_chooser_set_file
 gtk_file_chooser_set_filename
@@ -1288,63 +856,23 @@ gtk_file_chooser_unselect_all
 gtk_file_chooser_unselect_file
 gtk_file_chooser_unselect_filename
 gtk_file_chooser_unselect_uri
-#endif
-#endif
-
-#if IN_HEADER(__GTK_FILE_CHOOSER_DIALOG_H__)
-#if IN_FILE(__GTK_FILE_CHOOSER_DIALOG_C__)
-gtk_file_chooser_dialog_get_type G_GNUC_CONST
-gtk_file_chooser_dialog_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_FILE_CHOOSER_WIDGET_H__)
-#if IN_FILE(__GTK_FILE_CHOOSER_WIDGET_C__)
 gtk_file_chooser_widget_get_type G_GNUC_CONST
 gtk_file_chooser_widget_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_FILE_CHOOSER_BUTTON_H__)
-#if IN_FILE(__GTK_FILE_CHOOSER_BUTTON_C__)
-gtk_file_chooser_button_get_title
-gtk_file_chooser_button_get_type G_GNUC_CONST
-gtk_file_chooser_button_get_width_chars
-gtk_file_chooser_button_new
-gtk_file_chooser_button_new_with_dialog
-gtk_file_chooser_button_set_title
-gtk_file_chooser_button_set_width_chars
-gtk_file_chooser_button_get_focus_on_click
-gtk_file_chooser_button_set_focus_on_click
-#endif
-#endif
-
-#if IN_HEADER(__GTK_FILE_FILTER_H__)
-#if IN_FILE(__GTK_FILE_FILTER_C__)
 gtk_file_filter_add_custom
 gtk_file_filter_add_mime_type
 gtk_file_filter_add_pattern
 gtk_file_filter_add_pixbuf_formats
 gtk_file_filter_filter
+gtk_file_filter_flags_get_type G_GNUC_CONST
 gtk_file_filter_get_name
 gtk_file_filter_get_needed
 gtk_file_filter_get_type G_GNUC_CONST
 gtk_file_filter_new
 gtk_file_filter_set_name
-#endif
-#endif
-
-#if IN_HEADER(__GTK_FIXED_H__)
-#if IN_FILE(__GTK_FIXED_C__)
 gtk_fixed_get_type G_GNUC_CONST
 gtk_fixed_move
 gtk_fixed_new
 gtk_fixed_put
-#endif
-#endif
-
-#if IN_HEADER(__GTK_FONT_BUTTON_H__)
-#if IN_FILE(__GTK_FONT_BUTTON_C__)
 gtk_font_button_get_font_name
 gtk_font_button_get_show_size
 gtk_font_button_get_show_style
@@ -1360,11 +888,6 @@ gtk_font_button_set_show_style
 gtk_font_button_set_title
 gtk_font_button_set_use_font
 gtk_font_button_set_use_size
-#endif
-#endif
-
-#if IN_HEADER(__GTK_FONTSEL_H__)
-#if IN_FILE(__GTK_FONTSEL_C__)
 gtk_font_selection_dialog_get_cancel_button
 gtk_font_selection_dialog_get_font_name
 gtk_font_selection_dialog_get_font_selection
@@ -1388,11 +911,6 @@ gtk_font_selection_get_type G_GNUC_CONST
 gtk_font_selection_new
 gtk_font_selection_set_font_name
 gtk_font_selection_set_preview_text
-#endif
-#endif
-
-#if IN_HEADER(__GTK_FRAME_H__)
-#if IN_FILE(__GTK_FRAME_C__)
 gtk_frame_get_label
 gtk_frame_get_label_align
 gtk_frame_get_label_widget
@@ -1403,75 +921,56 @@ gtk_frame_set_label
 gtk_frame_set_label_align
 gtk_frame_set_label_widget
 gtk_frame_set_shadow_type
-#endif
-#endif
-
-#if IN_HEADER(__GTK_HANDLE_BOX_H__)
-#if IN_FILE(__GTK_HANDLE_BOX_C__)
-gtk_handle_box_get_handle_position
-gtk_handle_box_get_shadow_type
-gtk_handle_box_get_snap_edge
-gtk_handle_box_get_child_detached
-gtk_handle_box_get_type G_GNUC_CONST
-gtk_handle_box_new
-gtk_handle_box_set_handle_position
-gtk_handle_box_set_shadow_type
-gtk_handle_box_set_snap_edge
-#endif
-#endif
-
-#if IN_HEADER(__GTK_HBOX_H__)
-#if IN_FILE(__GTK_HBOX_C__)
-gtk_hbox_get_type G_GNUC_CONST
-gtk_hbox_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_HBUTTON_BOX_H__)
-#if IN_FILE(__GTK_HBUTTON_BOX_C__)
-gtk_hbutton_box_new
-gtk_hbutton_box_get_type G_GNUC_CONST
-#endif
-#endif
-
-#if IN_HEADER(__GTK_HPANED_H__)
-#if IN_FILE(__GTK_HPANED_C__)
-gtk_hpaned_get_type G_GNUC_CONST
-gtk_hpaned_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_HRULER_H__)
-#if IN_FILE(__GTK_HRULER_C__)
-gtk_hruler_get_type G_GNUC_CONST
-gtk_hruler_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_HSCALE_H__)
-#if IN_FILE(__GTK_HSCALE_C__)
-gtk_hscale_get_type G_GNUC_CONST
-gtk_hscale_new
-gtk_hscale_new_with_range
-#endif
-#endif
-
-#if IN_HEADER(__GTK_HSCROLLBAR_H__)
-#if IN_FILE(__GTK_HSCROLLBAR_C__)
+gtk_get_binary_age
+gtk_get_current_event
+gtk_get_current_event_device
+gtk_get_current_event_state
+gtk_get_current_event_time
+gtk_get_debug_flags
+gtk_get_default_language
+gtk_get_event_widget
+gtk_get_interface_age
+gtk_get_major_version
+gtk_get_micro_version
+gtk_get_minor_version
+gtk_get_option_group
+gtk_grab_add
+gtk_grab_get_current
+gtk_grab_remove
+gtk_grid_attach
+gtk_grid_attach_next_to
+gtk_grid_get_column_homogeneous
+gtk_grid_get_column_spacing
+gtk_grid_get_row_homogeneous
+gtk_grid_get_row_spacing
+gtk_grid_get_type G_GNUC_CONST
+gtk_grid_new
+gtk_grid_set_column_homogeneous
+gtk_grid_set_column_spacing
+gtk_grid_set_row_homogeneous
+gtk_grid_set_row_spacing
+gtk_handle_box_get_child_detached
+gtk_handle_box_get_handle_position
+gtk_handle_box_get_shadow_type
+gtk_handle_box_get_snap_edge
+gtk_handle_box_get_type G_GNUC_CONST
+gtk_handle_box_new
+gtk_handle_box_set_handle_position
+gtk_handle_box_set_shadow_type
+gtk_handle_box_set_snap_edge
+gtk_hbox_get_type G_GNUC_CONST
+gtk_hbox_new
+gtk_hbutton_box_get_type G_GNUC_CONST
+gtk_hbutton_box_new
+gtk_hpaned_get_type G_GNUC_CONST
+gtk_hpaned_new
+gtk_hscale_get_type G_GNUC_CONST
+gtk_hscale_new
+gtk_hscale_new_with_range
 gtk_hscrollbar_get_type G_GNUC_CONST
 gtk_hscrollbar_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_HSEPARATOR_H__)
-#if IN_FILE(__GTK_HSEPARATOR_C__)
 gtk_hseparator_get_type G_GNUC_CONST
 gtk_hseparator_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_HSV_H__)
-#if IN_FILE(__GTK_HSV_C__)
 gtk_hsv_get_color
 gtk_hsv_get_metrics
 gtk_hsv_get_type G_GNUC_CONST
@@ -1480,12 +979,6 @@ gtk_hsv_new
 gtk_hsv_set_color
 gtk_hsv_set_metrics
 gtk_hsv_to_rgb
-gtk_rgb_to_hsv
-#endif
-#endif
-
-#if IN_HEADER(__GTK_ICON_FACTORY_H__)
-#if IN_FILE(__GTK_ICON_FACTORY_C__)
 gtk_icon_factory_add
 gtk_icon_factory_add_default
 gtk_icon_factory_get_type G_GNUC_CONST
@@ -1493,12 +986,21 @@ gtk_icon_factory_lookup
 gtk_icon_factory_lookup_default
 gtk_icon_factory_new
 gtk_icon_factory_remove_default
-gtk_icon_size_from_name
-gtk_icon_size_get_name
-gtk_icon_size_lookup
-gtk_icon_size_lookup_for_settings
-gtk_icon_size_register
-gtk_icon_size_register_alias
+gtk_icon_info_copy
+gtk_icon_info_free
+gtk_icon_info_get_attach_points
+gtk_icon_info_get_base_size
+gtk_icon_info_get_builtin_pixbuf
+gtk_icon_info_get_display_name
+gtk_icon_info_get_embedded_rect
+gtk_icon_info_get_filename
+gtk_icon_info_get_type G_GNUC_CONST
+gtk_icon_info_load_icon
+gtk_icon_info_load_symbolic
+gtk_icon_info_load_symbolic_for_style
+gtk_icon_info_new_for_pixbuf
+gtk_icon_info_set_raw_coordinates
+gtk_icon_lookup_flags_get_type G_GNUC_CONST
 gtk_icon_set_add_source
 gtk_icon_set_copy
 gtk_icon_set_get_sizes
@@ -1508,6 +1010,13 @@ gtk_icon_set_new_from_pixbuf
 gtk_icon_set_ref
 gtk_icon_set_render_icon
 gtk_icon_set_unref
+gtk_icon_size_from_name
+gtk_icon_size_get_name
+gtk_icon_size_get_type G_GNUC_CONST
+gtk_icon_size_lookup
+gtk_icon_size_lookup_for_settings
+gtk_icon_size_register
+gtk_icon_size_register_alias
 gtk_icon_source_copy
 gtk_icon_source_free
 gtk_icon_source_get_direction
@@ -1530,27 +1039,10 @@ gtk_icon_source_set_size
 gtk_icon_source_set_size_wildcarded
 gtk_icon_source_set_state
 gtk_icon_source_set_state_wildcarded
-#endif
-#endif
-
-#if IN_HEADER(__GTK_ICON_THEME_H__)
-#if IN_FILE(__GTK_ICON_THEME_C__)
-gtk_icon_info_copy
-gtk_icon_info_free
-gtk_icon_info_new_for_pixbuf
-gtk_icon_info_get_attach_points
-gtk_icon_info_get_base_size
-gtk_icon_info_get_builtin_pixbuf
-gtk_icon_info_get_display_name
-gtk_icon_info_get_embedded_rect
-gtk_icon_info_get_filename
-gtk_icon_info_get_type G_GNUC_CONST
-gtk_icon_info_load_icon
-gtk_icon_info_load_symbolic
-gtk_icon_info_load_symbolic_for_style
-gtk_icon_info_set_raw_coordinates
 gtk_icon_theme_add_builtin_icon
 gtk_icon_theme_append_search_path
+gtk_icon_theme_choose_icon
+gtk_icon_theme_error_get_type G_GNUC_CONST
 gtk_icon_theme_error_quark
 gtk_icon_theme_get_default
 gtk_icon_theme_get_example_icon_name
@@ -1562,38 +1054,43 @@ gtk_icon_theme_has_icon
 gtk_icon_theme_list_contexts
 gtk_icon_theme_list_icons
 gtk_icon_theme_load_icon
-gtk_icon_theme_lookup_icon
 gtk_icon_theme_lookup_by_gicon
-gtk_icon_theme_choose_icon
+gtk_icon_theme_lookup_icon
 gtk_icon_theme_new
 gtk_icon_theme_prepend_search_path
 gtk_icon_theme_rescan_if_needed
 gtk_icon_theme_set_custom_theme
 gtk_icon_theme_set_screen
 gtk_icon_theme_set_search_path
-#endif
-#endif
-
-#if IN_HEADER(__GTK_ICON_VIEW_H__)
-#if IN_FILE(__GTK_ICON_VIEW_C__)
-gtk_icon_view_get_column_spacing
+gtk_icon_view_convert_widget_to_bin_window_coords
+gtk_icon_view_create_drag_icon
+gtk_icon_view_drop_position_get_type G_GNUC_CONST
+gtk_icon_view_enable_model_drag_dest
+gtk_icon_view_enable_model_drag_source
 gtk_icon_view_get_columns
+gtk_icon_view_get_column_spacing
 gtk_icon_view_get_cursor
+gtk_icon_view_get_dest_item_at_pos
+gtk_icon_view_get_drag_dest_item
+gtk_icon_view_get_item_at_pos
+gtk_icon_view_get_item_column
+gtk_icon_view_get_item_orientation
 gtk_icon_view_get_item_padding
+gtk_icon_view_get_item_row
 gtk_icon_view_get_item_width
 gtk_icon_view_get_margin
 gtk_icon_view_get_markup_column
 gtk_icon_view_get_model
-gtk_icon_view_get_item_orientation
 gtk_icon_view_get_path_at_pos
-gtk_icon_view_get_item_at_pos
-gtk_icon_view_convert_widget_to_bin_window_coords
 gtk_icon_view_get_pixbuf_column
+gtk_icon_view_get_reorderable
 gtk_icon_view_get_row_spacing
 gtk_icon_view_get_selected_items
 gtk_icon_view_get_selection_mode
 gtk_icon_view_get_spacing
 gtk_icon_view_get_text_column
+gtk_icon_view_get_tooltip_column
+gtk_icon_view_get_tooltip_context
 gtk_icon_view_get_type G_GNUC_CONST
 gtk_icon_view_get_visible_range
 gtk_icon_view_item_activated
@@ -1604,92 +1101,69 @@ gtk_icon_view_scroll_to_path
 gtk_icon_view_select_all
 gtk_icon_view_selected_foreach
 gtk_icon_view_select_path
-gtk_icon_view_set_column_spacing
 gtk_icon_view_set_columns
+gtk_icon_view_set_column_spacing
 gtk_icon_view_set_cursor
+gtk_icon_view_set_drag_dest_item
+gtk_icon_view_set_item_orientation
 gtk_icon_view_set_item_padding
 gtk_icon_view_set_item_width
 gtk_icon_view_set_margin
 gtk_icon_view_set_markup_column
 gtk_icon_view_set_model
-gtk_icon_view_set_item_orientation
 gtk_icon_view_set_pixbuf_column
+gtk_icon_view_set_reorderable
 gtk_icon_view_set_row_spacing
 gtk_icon_view_set_selection_mode
 gtk_icon_view_set_spacing
 gtk_icon_view_set_text_column
+gtk_icon_view_set_tooltip_cell
+gtk_icon_view_set_tooltip_column
+gtk_icon_view_set_tooltip_item
 gtk_icon_view_unselect_all
 gtk_icon_view_unselect_path
-gtk_icon_view_enable_model_drag_source
-gtk_icon_view_enable_model_drag_dest
-gtk_icon_view_unset_model_drag_source
 gtk_icon_view_unset_model_drag_dest
-gtk_icon_view_set_reorderable
-gtk_icon_view_get_reorderable
-gtk_icon_view_set_drag_dest_item
-gtk_icon_view_get_drag_dest_item
-gtk_icon_view_get_dest_item_at_pos
-gtk_icon_view_create_drag_icon
-gtk_icon_view_set_tooltip_item
-gtk_icon_view_set_tooltip_cell
-gtk_icon_view_get_tooltip_context
-gtk_icon_view_set_tooltip_column
-gtk_icon_view_get_tooltip_column
-gtk_icon_view_get_item_row
-gtk_icon_view_get_item_column
-#endif
-#endif
-
-#if IN_HEADER(__GTK_IMAGE_H__)
-#if IN_FILE(__GTK_IMAGE_C__)
+gtk_icon_view_unset_model_drag_source
+gtk_identifier_get_type G_GNUC_CONST
 gtk_image_clear
 gtk_image_get_animation
+gtk_image_get_gicon
 gtk_image_get_icon_name
 gtk_image_get_icon_set
 gtk_image_get_pixbuf
 gtk_image_get_pixel_size
 gtk_image_get_stock
-gtk_image_get_gicon
 gtk_image_get_storage_type
 gtk_image_get_type G_GNUC_CONST
+gtk_image_menu_item_get_always_show_image
+gtk_image_menu_item_get_image
+gtk_image_menu_item_get_type G_GNUC_CONST
+gtk_image_menu_item_get_use_stock
+gtk_image_menu_item_new
+gtk_image_menu_item_new_from_stock
+gtk_image_menu_item_new_with_label
+gtk_image_menu_item_new_with_mnemonic
+gtk_image_menu_item_set_accel_group
+gtk_image_menu_item_set_always_show_image
+gtk_image_menu_item_set_image
+gtk_image_menu_item_set_use_stock
 gtk_image_new
 gtk_image_new_from_animation
 gtk_image_new_from_file
+gtk_image_new_from_gicon
 gtk_image_new_from_icon_name
 gtk_image_new_from_icon_set
 gtk_image_new_from_pixbuf
 gtk_image_new_from_stock
-gtk_image_new_from_gicon
 gtk_image_set_from_animation
 gtk_image_set_from_file
+gtk_image_set_from_gicon
 gtk_image_set_from_icon_name
 gtk_image_set_from_icon_set
 gtk_image_set_from_pixbuf
 gtk_image_set_from_stock
-gtk_image_set_from_gicon
 gtk_image_set_pixel_size
-#endif
-#endif
-
-#if IN_HEADER(__GTK_IMAGE_MENU_ITEM_H__)
-#if IN_FILE(__GTK_IMAGE_MENU_ITEM_C__)
-gtk_image_menu_item_get_always_show_image
-gtk_image_menu_item_get_image
-gtk_image_menu_item_get_type G_GNUC_CONST
-gtk_image_menu_item_get_use_stock
-gtk_image_menu_item_new
-gtk_image_menu_item_new_from_stock
-gtk_image_menu_item_new_with_label
-gtk_image_menu_item_new_with_mnemonic
-gtk_image_menu_item_set_accel_group
-gtk_image_menu_item_set_always_show_image
-gtk_image_menu_item_set_image
-gtk_image_menu_item_set_use_stock
-#endif
-#endif
-
-#if IN_HEADER(__GTK_IM_CONTEXT_H__)
-#if IN_FILE(__GTK_IM_CONTEXT_C__)
+gtk_image_type_get_type G_GNUC_CONST
 gtk_im_context_delete_surrounding
 gtk_im_context_filter_keypress
 gtk_im_context_focus_in
@@ -1702,41 +1176,45 @@ gtk_im_context_set_client_window
 gtk_im_context_set_cursor_location
 gtk_im_context_set_surrounding
 gtk_im_context_set_use_preedit
-#endif
-#endif
-
-#if IN_HEADER(__GTK_IM_CONTEXT_SIMPLE_H__)
-#if IN_FILE(__GTK_IM_CONTEXT_SIMPLE_C__)
 gtk_im_context_simple_add_table
 gtk_im_context_simple_get_type G_GNUC_CONST
 gtk_im_context_simple_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_IM_MULTICONTEXT_H__)
-#if IN_FILE(__GTK_IM_MULTICONTEXT_C__)
 gtk_im_multicontext_append_menuitems
 gtk_im_multicontext_get_context_id
-gtk_im_multicontext_set_context_id
 gtk_im_multicontext_get_type G_GNUC_CONST
 gtk_im_multicontext_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_INVISIBLE_H__)
-#if IN_FILE(__GTK_INVISIBLE_C__)
+gtk_im_multicontext_set_context_id
+gtk_im_preedit_style_get_type G_GNUC_CONST
+gtk_im_status_style_get_type G_GNUC_CONST
+gtk_info_bar_add_action_widget
+gtk_info_bar_add_button
+gtk_info_bar_add_buttons
+gtk_info_bar_get_action_area
+gtk_info_bar_get_content_area
+gtk_info_bar_get_message_type
+gtk_info_bar_get_type G_GNUC_CONST
+gtk_info_bar_new
+gtk_info_bar_new_with_buttons
+gtk_info_bar_response
+gtk_info_bar_set_default_response
+gtk_info_bar_set_message_type
+gtk_info_bar_set_response_sensitive
+gtk_init
+gtk_init_abi_check
+gtk_init_check
+gtk_init_check_abi_check
+gtk_init_with_args
 gtk_invisible_get_screen
 gtk_invisible_get_type G_GNUC_CONST
 gtk_invisible_new
 gtk_invisible_new_for_screen
 gtk_invisible_set_screen
-#endif
-#endif
-
-#if IN_HEADER(__GTK_LABEL_H__)
-#if IN_FILE(__GTK_LABEL_C__)
+gtk_justification_get_type G_GNUC_CONST
+gtk_key_snooper_install
+gtk_key_snooper_remove
 gtk_label_get_angle
 gtk_label_get_attributes
+gtk_label_get_current_uri
 gtk_label_get_ellipsize
 gtk_label_get_justify
 gtk_label_get_label
@@ -1751,6 +1229,7 @@ gtk_label_get_selectable
 gtk_label_get_selection_bounds
 gtk_label_get_single_line_mode
 gtk_label_get_text
+gtk_label_get_track_visited_links
 gtk_label_get_type G_GNUC_CONST
 gtk_label_get_use_markup
 gtk_label_get_use_underline
@@ -1774,17 +1253,10 @@ gtk_label_set_selectable
 gtk_label_set_single_line_mode
 gtk_label_set_text
 gtk_label_set_text_with_mnemonic
+gtk_label_set_track_visited_links
 gtk_label_set_use_markup
 gtk_label_set_use_underline
 gtk_label_set_width_chars
-gtk_label_get_current_uri
-gtk_label_set_track_visited_links
-gtk_label_get_track_visited_links
-#endif
-#endif
-
-#if IN_HEADER(__GTK_LAYOUT_H__)
-#if IN_FILE(__GTK_LAYOUT_C__)
 gtk_layout_get_bin_window
 gtk_layout_get_hadjustment
 gtk_layout_get_size
@@ -1796,23 +1268,14 @@ gtk_layout_put
 gtk_layout_set_hadjustment
 gtk_layout_set_size
 gtk_layout_set_vadjustment
-#endif
-#endif
-
-#if IN_HEADER(__GTK_LINK_BUTTON_H__)
-#if IN_FILE(__GTK_LINK_BUTTON_C__)
+gtk_license_get_type G_GNUC_CONST
 gtk_link_button_get_type G_GNUC_CONST
+gtk_link_button_get_uri
+gtk_link_button_get_visited
 gtk_link_button_new
 gtk_link_button_new_with_label
-gtk_link_button_get_uri
 gtk_link_button_set_uri
-gtk_link_button_get_visited
 gtk_link_button_set_visited
-#endif
-#endif
-
-#if IN_HEADER(__GTK_LIST_STORE_H__)
-#if IN_FILE(__GTK_LIST_STORE_C__)
 gtk_list_store_append
 gtk_list_store_clear
 gtk_list_store_get_type G_GNUC_CONST
@@ -1835,109 +1298,32 @@ gtk_list_store_set_valist
 gtk_list_store_set_value
 gtk_list_store_set_valuesv
 gtk_list_store_swap
-#endif
-#endif
-
-#if IN_HEADER(__GTK_MAIN_H__)
-#if IN_FILE(__GTK_MAIN_C__)
-gtk_get_debug_flags
-gtk_set_debug_flags
-gtk_get_option_group
-gtk_get_current_event
-gtk_get_current_event_device
-gtk_get_current_event_state
-gtk_get_current_event_time
-gtk_false G_GNUC_CONST
-gtk_true G_GNUC_CONST
-gtk_events_pending
-gtk_disable_setlocale
-gtk_distribute_natural_allocation
-gtk_set_locale
-gtk_get_major_version
-gtk_get_minor_version
-gtk_get_micro_version
-gtk_get_binary_age
-gtk_get_interface_age
-gtk_check_version
-gtk_get_default_language
-gtk_get_event_widget
-gtk_grab_add
-gtk_grab_get_current
-gtk_grab_remove
-gtk_device_grab_add
-gtk_device_grab_remove
-gtk_propagate_event
-gtk_quit_add
-gtk_quit_add_destroy
-gtk_quit_add_full
-gtk_quit_remove
-gtk_quit_remove_by_data
-gtk_key_snooper_install
-gtk_key_snooper_remove
-gtk_init
-#ifdef G_OS_WIN32
-gtk_init_abi_check
-#endif
-gtk_init_check
-#ifdef G_OS_WIN32
-gtk_init_check_abi_check
-#endif
-gtk_init_with_args
-gtk_parse_args
 gtk_main
 gtk_main_do_event
 gtk_main_iteration
 gtk_main_iteration_do
 gtk_main_level
 gtk_main_quit
-#endif
-#endif
-
-#if IN_HEADER(__GTK_MENU_BAR_H__)
-#if IN_FILE(__GTK_MENU_BAR_C__)
+gtk_menu_attach
+gtk_menu_attach_to_widget
+gtk_menu_bar_get_child_pack_direction
+gtk_menu_bar_get_pack_direction
 gtk_menu_bar_get_type G_GNUC_CONST
 gtk_menu_bar_new
-gtk_menu_bar_get_child_pack_direction
 gtk_menu_bar_set_child_pack_direction
-gtk_menu_bar_get_pack_direction
 gtk_menu_bar_set_pack_direction
-#endif
-#endif
-
-#if IN_HEADER(__GTK_MENU_H__)
-#if IN_FILE(__GTK_MENU_C__)
-gtk_menu_attach
-gtk_menu_attach_to_widget
 gtk_menu_detach
+gtk_menu_direction_type_get_type G_GNUC_CONST
 gtk_menu_get_accel_group
 gtk_menu_get_accel_path
 gtk_menu_get_active
-gtk_menu_get_monitor
 gtk_menu_get_attach_widget
 gtk_menu_get_for_attach_widget
+gtk_menu_get_monitor
 gtk_menu_get_reserve_toggle_size
 gtk_menu_get_tearoff_state
 gtk_menu_get_title
 gtk_menu_get_type G_GNUC_CONST
-gtk_menu_new
-gtk_menu_popdown
-gtk_menu_popup
-gtk_menu_popup_for_device
-gtk_menu_reorder_child
-gtk_menu_reposition
-gtk_menu_set_accel_group
-gtk_menu_set_accel_path
-gtk_menu_set_active
-gtk_menu_set_monitor
-gtk_menu_set_reserve_toggle_size
-gtk_menu_set_screen
-gtk_menu_set_tearoff_state
-gtk_menu_set_title
-#endif
-#endif
-
-#if IN_HEADER(__GTK_MENU_ITEM_H__)
-#if IN_FILE(__GTK_MENU_ITEM_C__)
 gtk_menu_item_activate
 gtk_menu_item_deselect
 gtk_menu_item_get_accel_path
@@ -1957,28 +1343,32 @@ gtk_menu_item_set_submenu
 gtk_menu_item_set_use_underline
 gtk_menu_item_toggle_size_allocate
 gtk_menu_item_toggle_size_request
-#endif
-#endif
-
-#if IN_HEADER(__GTK_MENU_SHELL_H__)
-#if IN_FILE(__GTK_MENU_SHELL_C__)
+gtk_menu_new
+gtk_menu_popdown
+gtk_menu_popup
+gtk_menu_popup_for_device
+gtk_menu_reorder_child
+gtk_menu_reposition
+gtk_menu_set_accel_group
+gtk_menu_set_accel_path
+gtk_menu_set_active
+gtk_menu_set_monitor
+gtk_menu_set_reserve_toggle_size
+gtk_menu_set_screen
+gtk_menu_set_tearoff_state
+gtk_menu_set_title
 gtk_menu_shell_activate_item
 gtk_menu_shell_append
 gtk_menu_shell_cancel
 gtk_menu_shell_deactivate
 gtk_menu_shell_deselect
+gtk_menu_shell_get_take_focus
 gtk_menu_shell_get_type G_GNUC_CONST
 gtk_menu_shell_insert
 gtk_menu_shell_prepend
 gtk_menu_shell_select_first
 gtk_menu_shell_select_item
 gtk_menu_shell_set_take_focus
-gtk_menu_shell_get_take_focus
-#endif
-#endif
-
-#if IN_HEADER(__GTK_MENU_TOOL_BUTTON_H__)
-#if IN_FILE(__GTK_MENU_TOOL_BUTTON_C__)
 gtk_menu_tool_button_get_menu
 gtk_menu_tool_button_get_type G_GNUC_CONST
 gtk_menu_tool_button_new
@@ -1986,50 +1376,35 @@ gtk_menu_tool_button_new_from_stock
 gtk_menu_tool_button_set_arrow_tooltip_markup
 gtk_menu_tool_button_set_arrow_tooltip_text
 gtk_menu_tool_button_set_menu
-#endif
-#endif
-
-#if IN_HEADER(__GTK_MESSAGE_DIALOG_H__)
-#if IN_FILE(__GTK_MESSAGE_DIALOG_C__)
 gtk_message_dialog_format_secondary_markup G_GNUC_PRINTF(2,3)
 gtk_message_dialog_format_secondary_text G_GNUC_PRINTF(2,3)
+gtk_message_dialog_get_image
 gtk_message_dialog_get_message_area
 gtk_message_dialog_get_type G_GNUC_CONST
 gtk_message_dialog_new G_GNUC_PRINTF(5,6)
 gtk_message_dialog_new_with_markup G_GNUC_PRINTF(5,6)
-gtk_message_dialog_set_markup
 gtk_message_dialog_set_image
-gtk_message_dialog_get_image
-#endif
-#endif
-
-#if IN_HEADER(__GTK_MISC_H__)
-#if IN_FILE(__GTK_MISC_C__)
+gtk_message_dialog_set_markup
+gtk_message_type_get_type G_GNUC_CONST
+gtk_metric_type_get_type G_GNUC_CONST
 gtk_misc_get_alignment
 gtk_misc_get_padding
 gtk_misc_get_type G_GNUC_CONST
 gtk_misc_set_alignment
 gtk_misc_set_padding
-#endif
-#endif
-
-#if IN_HEADER(__GTK_MOUNT_OPERATION_H__)
-#if IN_FILE(__GTK_MOUNT_OPERATION_C__)
+gtk_mount_operation_get_parent
+gtk_mount_operation_get_screen
 gtk_mount_operation_get_type G_GNUC_CONST
-gtk_mount_operation_new
 gtk_mount_operation_is_showing
+gtk_mount_operation_new
 gtk_mount_operation_set_parent
-gtk_mount_operation_get_parent
 gtk_mount_operation_set_screen
-gtk_mount_operation_get_screen
-#endif
-#endif
-
-#if IN_HEADER(__GTK_NOTEBOOK_H__)
-#if IN_FILE(__GTK_NOTEBOOK_C__)
+gtk_movement_step_get_type G_GNUC_CONST
 gtk_notebook_append_page
 gtk_notebook_append_page_menu
+gtk_notebook_get_action_widget
 gtk_notebook_get_current_page
+gtk_notebook_get_group_name
 gtk_notebook_get_menu_label
 gtk_notebook_get_menu_label_text
 gtk_notebook_get_n_pages
@@ -2037,9 +1412,13 @@ gtk_notebook_get_nth_page
 gtk_notebook_get_scrollable
 gtk_notebook_get_show_border
 gtk_notebook_get_show_tabs
+gtk_notebook_get_tab_detachable
+gtk_notebook_get_tab_hborder
 gtk_notebook_get_tab_label
 gtk_notebook_get_tab_label_text
 gtk_notebook_get_tab_pos
+gtk_notebook_get_tab_reorderable
+gtk_notebook_get_tab_vborder
 gtk_notebook_get_type G_GNUC_CONST
 gtk_notebook_insert_page
 gtk_notebook_insert_page_menu
@@ -2053,535 +1432,403 @@ gtk_notebook_prepend_page_menu
 gtk_notebook_prev_page
 gtk_notebook_remove_page
 gtk_notebook_reorder_child
+gtk_notebook_set_action_widget
 gtk_notebook_set_current_page
+gtk_notebook_set_group_name
 gtk_notebook_set_menu_label
 gtk_notebook_set_menu_label_text
 gtk_notebook_set_scrollable
 gtk_notebook_set_show_border
 gtk_notebook_set_show_tabs
+gtk_notebook_set_tab_detachable
 gtk_notebook_set_tab_label
 gtk_notebook_set_tab_label_text
 gtk_notebook_set_tab_pos
-gtk_notebook_get_tab_hborder
-gtk_notebook_get_tab_vborder
-gtk_notebook_get_group_name
-gtk_notebook_set_group_name
-gtk_notebook_get_tab_reorderable
 gtk_notebook_set_tab_reorderable
-gtk_notebook_get_tab_detachable
-gtk_notebook_set_tab_detachable
-gtk_notebook_get_action_widget
-gtk_notebook_set_action_widget
-#endif
-#endif
-
-#if IN_HEADER(__GTK_OFFSCREEN_WINDOW_H__)
-#if IN_FILE(__GTK_OFFSCREEN_WINDOW_C__)
+gtk_notebook_tab_get_type G_GNUC_CONST
+gtk_number_up_layout_get_type G_GNUC_CONST
+gtk_offscreen_window_get_pixbuf
+gtk_offscreen_window_get_surface
 gtk_offscreen_window_get_type G_GNUC_CONST
 gtk_offscreen_window_new
-gtk_offscreen_window_get_surface
-gtk_offscreen_window_get_pixbuf
-#endif
-#endif
-
-#if IN_HEADER(__GTK_ORIENTABLE_H__)
-#if IN_FILE(__GTK_ORIENTABLE_C__)
 gtk_orientable_get_orientation
 gtk_orientable_get_type G_GNUC_CONST
 gtk_orientable_set_orientation
-#endif
-#endif
-
-#if IN_HEADER(__GTK_PANED_H__)
-#if IN_FILE(__GTK_PANED_C__)
-gtk_paned_new
-gtk_paned_add1
-gtk_paned_add2
-gtk_paned_get_child1
-gtk_paned_get_child2
-gtk_paned_get_handle_window
-gtk_paned_get_position
-gtk_paned_get_type G_GNUC_CONST
-gtk_paned_pack1
-gtk_paned_pack2
-gtk_paned_set_position
-#endif
-#endif
-
-#if IN_HEADER(__GTK_PATH_BAR_H__)
-#if IN_FILE(__GTK_PATH_BAR_C__)
-gtk_path_bar_get_type G_GNUC_CONST
-#endif
-#endif
-
-#if IN_HEADER(__GTK_PLUG_H__)
-#if IN_FILE(__GTK_PLUG_C__)
-gtk_plug_construct
-gtk_plug_construct_for_display
-gtk_plug_get_id
-gtk_plug_get_embedded
-gtk_plug_get_socket_window
-gtk_plug_get_type G_GNUC_CONST
-gtk_plug_new
-gtk_plug_new_for_display
-#endif
-#endif
-
-#if IN_HEADER(__GTK_PAGE_SETUP_H__)
-#if IN_FILE(__GTK_PAGE_SETUP_C__)
-gtk_page_setup_get_type G_GNUC_CONST
-gtk_page_setup_new
-gtk_page_setup_new_from_file
-gtk_page_setup_new_from_key_file
-gtk_page_setup_load_file
-gtk_page_setup_load_key_file
-gtk_page_setup_to_file
-gtk_page_setup_to_key_file
+gtk_orientation_get_type G_GNUC_CONST
+gtk_pack_direction_get_type G_GNUC_CONST
+gtk_pack_type_get_type G_GNUC_CONST
+gtk_page_orientation_get_type G_GNUC_CONST
+gtk_page_set_get_type G_GNUC_CONST
 gtk_page_setup_copy
+gtk_page_setup_get_bottom_margin
+gtk_page_setup_get_left_margin
 gtk_page_setup_get_orientation
-gtk_page_setup_set_orientation
+gtk_page_setup_get_page_height
+gtk_page_setup_get_page_width
+gtk_page_setup_get_paper_height
 gtk_page_setup_get_paper_size
-gtk_page_setup_set_paper_size
+gtk_page_setup_get_paper_width
+gtk_page_setup_get_right_margin
 gtk_page_setup_get_top_margin
-gtk_page_setup_set_top_margin
-gtk_page_setup_get_bottom_margin
+gtk_page_setup_get_type G_GNUC_CONST
+gtk_page_setup_load_file
+gtk_page_setup_load_key_file
+gtk_page_setup_new
+gtk_page_setup_new_from_file
+gtk_page_setup_new_from_key_file
 gtk_page_setup_set_bottom_margin
-gtk_page_setup_get_left_margin
 gtk_page_setup_set_left_margin
-gtk_page_setup_get_right_margin
-gtk_page_setup_set_right_margin
+gtk_page_setup_set_orientation
+gtk_page_setup_set_paper_size
 gtk_page_setup_set_paper_size_and_default_margins
-gtk_page_setup_get_paper_width
-gtk_page_setup_get_paper_height
-gtk_page_setup_get_page_width
-gtk_page_setup_get_page_height
-#endif
-#endif
-
-#if IN_HEADER(__GTK_PAGE_SETUP_UNIX_DIALOG_H__)
-#if IN_FILE(__GTK_PAGE_SETUP_UNIX_DIALOG_C__)
-#ifdef G_OS_UNIX
+gtk_page_setup_set_right_margin
+gtk_page_setup_set_top_margin
+gtk_page_setup_to_file
+gtk_page_setup_to_key_file
+gtk_page_setup_unix_dialog_get_page_setup
+gtk_page_setup_unix_dialog_get_print_settings
 gtk_page_setup_unix_dialog_get_type G_GNUC_CONST
 gtk_page_setup_unix_dialog_new
 gtk_page_setup_unix_dialog_set_page_setup
-gtk_page_setup_unix_dialog_get_page_setup
 gtk_page_setup_unix_dialog_set_print_settings
-gtk_page_setup_unix_dialog_get_print_settings
-#endif
-#endif
-#endif
-
-#if IN_HEADER(__GTK_PAPER_SIZE_H__)
-#if IN_FILE(__GTK_PAPER_SIZE_C__)
-gtk_paper_size_get_type G_GNUC_CONST
-gtk_paper_size_new
-gtk_paper_size_new_from_ppd
-gtk_paper_size_new_custom
-gtk_paper_size_new_from_key_file
-gtk_paper_size_to_key_file
+gtk_paint_arrow
+gtk_paint_box
+gtk_paint_box_gap
+gtk_paint_check
+gtk_paint_diamond
+gtk_paint_expander
+gtk_paint_extension
+gtk_paint_flat_box
+gtk_paint_focus
+gtk_paint_handle
+gtk_paint_hline
+gtk_paint_layout
+gtk_paint_option
+gtk_paint_resize_grip
+gtk_paint_shadow
+gtk_paint_shadow_gap
+gtk_paint_slider
+gtk_paint_spinner
+gtk_paint_tab
+gtk_paint_vline
+gtk_paned_add1
+gtk_paned_add2
+gtk_paned_get_child1
+gtk_paned_get_child2
+gtk_paned_get_handle_window
+gtk_paned_get_position
+gtk_paned_get_type G_GNUC_CONST
+gtk_paned_new
+gtk_paned_pack1
+gtk_paned_pack2
+gtk_paned_set_position
 gtk_paper_size_copy
 gtk_paper_size_free
-gtk_paper_size_is_equal
-gtk_paper_size_get_paper_sizes
-gtk_paper_size_get_name
+gtk_paper_size_get_default
+gtk_paper_size_get_default_bottom_margin
+gtk_paper_size_get_default_left_margin
+gtk_paper_size_get_default_right_margin
+gtk_paper_size_get_default_top_margin
 gtk_paper_size_get_display_name
+gtk_paper_size_get_height
+gtk_paper_size_get_name
+gtk_paper_size_get_paper_sizes
 gtk_paper_size_get_ppd_name
+gtk_paper_size_get_type G_GNUC_CONST
 gtk_paper_size_get_width
-gtk_paper_size_get_height
 gtk_paper_size_is_custom
+gtk_paper_size_is_equal
+gtk_paper_size_new
+gtk_paper_size_new_custom
+gtk_paper_size_new_from_key_file
+gtk_paper_size_new_from_ppd
 gtk_paper_size_set_size
-gtk_paper_size_get_default_top_margin
-gtk_paper_size_get_default_bottom_margin
-gtk_paper_size_get_default_left_margin
-gtk_paper_size_get_default_right_margin
-gtk_paper_size_get_default
-#endif
-#endif
-
-#if IN_HEADER(__GTK_CUSTOM_PAPER_UNIX_DIALOG_H__)
-#if IN_FILE(__GTK_CUSTOM_PAPER_UNIX_DIALOG_C__)
-#ifdef G_OS_UNIX
-gtk_custom_paper_unix_dialog_get_type G_GNUC_CONST
-#endif
-#endif
-#endif
-
-#if IN_HEADER(__GTK_PRINT_BACKEND_H__)
-#if IN_FILE(__GTK_PRINT_BACKEND_C__)
-#ifdef G_OS_UNIX
-gtk_print_backend_error_quark
-gtk_print_backend_get_type G_GNUC_CONST
+gtk_paper_size_to_key_file
+gtk_parse_args
+gtk_path_bar_get_type G_GNUC_CONST
+gtk_path_priority_type_get_type G_GNUC_CONST
+gtk_path_type_get_type G_GNUC_CONST
+gtk_plug_construct
+gtk_plug_construct_for_display
+gtk_plug_get_embedded
+gtk_plug_get_id
+gtk_plug_get_socket_window
+gtk_plug_get_type G_GNUC_CONST
+gtk_plug_new
+gtk_plug_new_for_display
+gtk_policy_type_get_type G_GNUC_CONST
+gtk_position_type_get_type G_GNUC_CONST
 gtk_print_backend_add_printer
-gtk_print_backend_remove_printer
-gtk_print_backend_set_list_done
 gtk_print_backend_destroy
+gtk_print_backend_error_quark
+gtk_print_backend_find_printer
 gtk_print_backend_get_printer_list
+gtk_print_backend_get_type G_GNUC_CONST
+gtk_print_backend_load_modules
 gtk_print_backend_printer_list_is_done
-gtk_print_backend_find_printer
 gtk_print_backend_print_stream
-gtk_print_backend_load_modules
+gtk_print_backend_remove_printer
+gtk_print_backend_set_list_done
 gtk_print_backend_set_password
-#endif
-#endif
-#endif
-
-#if IN_HEADER(__GTK_PRINT_CONTEXT_H__)
-#if IN_FILE(__GTK_PRINT_CONTEXT_C__)
-gtk_print_context_get_type G_GNUC_CONST
+gtk_print_capabilities_get_type G_GNUC_CONST
+gtk_print_context_create_pango_context
+gtk_print_context_create_pango_layout
 gtk_print_context_get_cairo_context
-gtk_print_context_get_page_setup
-gtk_print_context_get_width
-gtk_print_context_get_height
 gtk_print_context_get_dpi_x
 gtk_print_context_get_dpi_y
 gtk_print_context_get_hard_margins
+gtk_print_context_get_height
+gtk_print_context_get_page_setup
 gtk_print_context_get_pango_fontmap
-gtk_print_context_create_pango_context
-gtk_print_context_create_pango_layout
+gtk_print_context_get_type G_GNUC_CONST
+gtk_print_context_get_width
 gtk_print_context_set_cairo_context
-#endif
-#endif
-
-#if IN_HEADER(__GTK_PRINTER_H__)
-#if IN_FILE(__GTK_PRINTER_C__)
-#ifdef G_OS_UNIX
-gtk_printer_get_type G_GNUC_CONST
-gtk_printer_get_backend
-gtk_printer_get_name
-gtk_printer_get_description
-gtk_printer_get_default_page_size
-gtk_printer_get_state_message
-gtk_printer_get_location
-gtk_printer_get_icon_name
-gtk_printer_get_job_count
-gtk_printer_is_virtual
-gtk_printer_list_papers
+gtk_print_duplex_get_type G_GNUC_CONST
 gtk_printer_accepts_pdf
 gtk_printer_accepts_ps
 gtk_printer_compare
-gtk_printer_has_details
-gtk_printer_request_details
+gtk_printer_get_backend
 gtk_printer_get_capabilities
+gtk_printer_get_default_page_size
+gtk_printer_get_description
 gtk_printer_get_hard_margins
-gtk_enumerate_printers
-gtk_print_capabilities_get_type G_GNUC_CONST
-#endif
-#endif
-#endif
-
-#if IN_HEADER(__GTK_PRINT_BACKEND_H__)
-#if IN_FILE(__GTK_PRINTER_C__)
-#ifdef G_OS_UNIX
-gtk_printer_new
-gtk_printer_set_description
-gtk_printer_set_has_details
-gtk_printer_set_icon_name
-gtk_printer_set_is_active
-gtk_printer_set_is_paused
-gtk_printer_set_is_accepting_jobs
-gtk_printer_set_is_default
-gtk_printer_set_is_new
-gtk_printer_set_job_count
-gtk_printer_set_location
-gtk_printer_set_state_message
-gtk_printer_is_active
-gtk_printer_is_paused
+gtk_printer_get_icon_name
+gtk_printer_get_job_count
+gtk_printer_get_location
+gtk_printer_get_name
+gtk_printer_get_state_message
+gtk_printer_get_type G_GNUC_CONST
+gtk_printer_has_details
 gtk_printer_is_accepting_jobs
-gtk_printer_is_new
+gtk_printer_is_active
 gtk_printer_is_default
-#endif
-#endif
-#endif
-
-#if IN_HEADER(__GTK_PRINTER_OPTION_H__)
-#if IN_FILE(__GTK_PRINTER_OPTION_C__)
-#ifdef G_OS_UNIX
+gtk_printer_is_new
+gtk_printer_is_paused
+gtk_printer_is_virtual
+gtk_printer_list_papers
+gtk_printer_new
+gtk_printer_option_allocate_choices
+gtk_printer_option_choices_from_array
+gtk_printer_option_clear_has_conflict
+gtk_printer_option_get_activates_default
 gtk_printer_option_get_type
 gtk_printer_option_has_choice
 gtk_printer_option_new
 gtk_printer_option_set
-gtk_printer_option_set_has_conflict
-gtk_printer_option_clear_has_conflict
-gtk_printer_option_set_boolean
-gtk_printer_option_allocate_choices
-gtk_printer_option_choices_from_array
 gtk_printer_option_set_activates_default
-gtk_printer_option_get_activates_default
-#endif
-#endif
-#endif
-
-#if IN_HEADER(__GTK_PRINTER_OPTION_SET_H__)
-#if IN_FILE(__GTK_PRINTER_OPTION_SET_C__)
-#ifdef G_OS_UNIX
-gtk_printer_option_set_get_type G_GNUC_CONST
-gtk_printer_option_set_new
 gtk_printer_option_set_add
-gtk_printer_option_set_lookup
-gtk_printer_option_set_remove
-gtk_printer_option_set_foreach
+gtk_printer_option_set_boolean
 gtk_printer_option_set_clear_conflicts
-gtk_printer_option_set_get_groups
+gtk_printer_option_set_foreach
 gtk_printer_option_set_foreach_in_group
-#endif
-#endif
-#endif
-
-#if IN_HEADER(__GTK_PRINTER_OPTION_WIDGET_H__)
-#if IN_FILE(__GTK_PRINTER_OPTION_WIDGET_C__)
-#ifdef G_OS_UNIX
+gtk_printer_option_set_get_groups
+gtk_printer_option_set_get_type G_GNUC_CONST
+gtk_printer_option_set_has_conflict
+gtk_printer_option_set_lookup
+gtk_printer_option_set_new
+gtk_printer_option_set_remove
+gtk_printer_option_widget_get_external_label
 gtk_printer_option_widget_get_type G_GNUC_CONST
+gtk_printer_option_widget_get_value
+gtk_printer_option_widget_has_external_label
 gtk_printer_option_widget_new
 gtk_printer_option_widget_set_source
-gtk_printer_option_widget_has_external_label
-gtk_printer_option_widget_get_external_label
-gtk_printer_option_widget_get_value
-#endif
-#endif
-#endif
-
-#if IN_HEADER(__GTK_PRINT_JOB_H__)
-#if IN_FILE(__GTK_PRINT_JOB_C__)
-#ifdef G_OS_UNIX
-gtk_print_job_get_type G_GNUC_CONST
-gtk_print_job_new
-gtk_print_job_get_settings
+gtk_printer_request_details
+gtk_print_error_get_type G_GNUC_CONST
+gtk_print_error_quark
+gtk_printer_set_description
+gtk_printer_set_has_details
+gtk_printer_set_icon_name
+gtk_printer_set_is_accepting_jobs
+gtk_printer_set_is_active
+gtk_printer_set_is_default
+gtk_printer_set_is_new
+gtk_printer_set_is_paused
+gtk_printer_set_job_count
+gtk_printer_set_location
+gtk_printer_set_state_message
 gtk_print_job_get_printer
-gtk_print_job_get_title
+gtk_print_job_get_settings
 gtk_print_job_get_status
-gtk_print_job_set_source_file
 gtk_print_job_get_surface
-gtk_print_job_send
-gtk_print_job_set_track_print_status
+gtk_print_job_get_title
 gtk_print_job_get_track_print_status
-#endif
-#endif
-#endif
-
-#if IN_HEADER(__GTK_PRINTER_PRIVATE_H__)
-#if IN_FILE(__GTK_PRINT_JOB_C__)
-#ifdef G_OS_UNIX
+gtk_print_job_get_type G_GNUC_CONST
+gtk_print_job_new
+gtk_print_job_send
+gtk_print_job_set_source_file
 gtk_print_job_set_status
-#endif
-#endif
-#endif
-
-#if IN_HEADER(__GTK_PRINT_OPERATION_H__)
-#if IN_FILE(__GTK_PRINT_OPERATION_C__)
-gtk_print_error_quark
-gtk_print_operation_get_type G_GNUC_CONST
-gtk_print_operation_new
-gtk_print_operation_set_allow_async
-gtk_print_operation_set_default_page_setup
+gtk_print_job_set_track_print_status
+gtk_print_operation_action_get_type G_GNUC_CONST
+gtk_print_operation_cancel
+gtk_print_operation_draw_page_finish
 gtk_print_operation_get_default_page_setup
-gtk_print_operation_set_print_settings
+gtk_print_operation_get_embed_page_setup
+gtk_print_operation_get_error
+gtk_print_operation_get_has_selection
 gtk_print_operation_get_n_pages_to_print
 gtk_print_operation_get_print_settings
-gtk_print_operation_set_job_name
-gtk_print_operation_set_n_pages
-gtk_print_operation_set_current_page
-gtk_print_operation_set_use_full_page
-gtk_print_operation_set_unit
-gtk_print_operation_set_export_filename
-gtk_print_operation_set_track_print_status
-gtk_print_operation_set_show_progress
-gtk_print_operation_set_custom_tab_label
-gtk_print_operation_get_error
-gtk_print_operation_run
 gtk_print_operation_get_status
 gtk_print_operation_get_status_string
-gtk_print_operation_is_finished
-gtk_print_operation_cancel
-gtk_print_operation_draw_page_finish
-gtk_print_operation_set_defer_drawing
-gtk_print_operation_set_support_selection
 gtk_print_operation_get_support_selection
-gtk_print_operation_set_has_selection
-gtk_print_operation_get_has_selection
-gtk_print_operation_set_embed_page_setup
-gtk_print_operation_get_embed_page_setup
-#endif
-#endif
-
-#if IN_HEADER(__GTK_PRINT_OPERATION_PREVIEW_H__)
-#if IN_FILE(__GTK_PRINT_OPERATION_PREVIEW_C__)
+gtk_print_operation_get_type G_GNUC_CONST
+gtk_print_operation_is_finished
+gtk_print_operation_new
 gtk_print_operation_preview_end_preview
 gtk_print_operation_preview_get_type
 gtk_print_operation_preview_is_selected
 gtk_print_operation_preview_render_page
-#endif
-#endif
-
-#if IN_HEADER(__GTK_PRINT_OPERATION_H__)
-#if IN_FILE(__GTK_PRINT_OPERATION_UNIX_C__)
-#ifdef G_OS_UNIX
+gtk_print_operation_result_get_type G_GNUC_CONST
+gtk_print_operation_run
+gtk_print_operation_set_allow_async
+gtk_print_operation_set_current_page
+gtk_print_operation_set_custom_tab_label
+gtk_print_operation_set_default_page_setup
+gtk_print_operation_set_defer_drawing
+gtk_print_operation_set_embed_page_setup
+gtk_print_operation_set_export_filename
+gtk_print_operation_set_has_selection
+gtk_print_operation_set_job_name
+gtk_print_operation_set_n_pages
+gtk_print_operation_set_print_settings
+gtk_print_operation_set_show_progress
+gtk_print_operation_set_support_selection
+gtk_print_operation_set_track_print_status
+gtk_print_operation_set_unit
+gtk_print_operation_set_use_full_page
+gtk_print_pages_get_type G_GNUC_CONST
+gtk_print_quality_get_type G_GNUC_CONST
 gtk_print_run_page_setup_dialog
-gtk_print_run_page_setup_dialog_async
-#endif
-#endif
-#endif
-
-#if IN_HEADER(__GTK_PRINT_OPERATION_H__)
-#if IN_FILE(__GTK_PRINT_OPERATION_WIN32_C__)
-#ifdef G_OS_WIN32
 gtk_print_run_page_setup_dialog
 gtk_print_run_page_setup_dialog_async
-#endif
-#endif
-#endif
-
-#if IN_HEADER(__GTK_PRINT_SETTINGS_H__)
-#if IN_FILE(__GTK_PRINT_SETTINGS_C__)
-gtk_print_settings_get_type G_GNUC_CONST
-gtk_print_settings_new
-gtk_print_settings_new_from_file
-gtk_print_settings_new_from_key_file
-gtk_print_settings_load_file
-gtk_print_settings_load_key_file
-gtk_print_settings_to_file
-gtk_print_settings_to_key_file
+gtk_print_run_page_setup_dialog_async
 gtk_print_settings_copy
-gtk_print_settings_has_key
-gtk_print_settings_get
-gtk_print_settings_set
-gtk_print_settings_unset
 gtk_print_settings_foreach
+gtk_print_settings_get
 gtk_print_settings_get_bool
-gtk_print_settings_set_bool
+gtk_print_settings_get_collate
+gtk_print_settings_get_default_source
+gtk_print_settings_get_dither
 gtk_print_settings_get_double
 gtk_print_settings_get_double_with_default
-gtk_print_settings_set_double
-gtk_print_settings_get_length
-gtk_print_settings_set_length
+gtk_print_settings_get_duplex
+gtk_print_settings_get_finishings
 gtk_print_settings_get_int
 gtk_print_settings_get_int_with_default
-gtk_print_settings_set_int
-gtk_print_settings_get_printer
-gtk_print_settings_set_printer
+gtk_print_settings_get_length
+gtk_print_settings_get_media_type
+gtk_print_settings_get_n_copies
+gtk_print_settings_get_number_up
+gtk_print_settings_get_number_up_layout
 gtk_print_settings_get_orientation
-gtk_print_settings_set_orientation
+gtk_print_settings_get_output_bin
+gtk_print_settings_get_page_ranges
+gtk_print_settings_get_page_set
+gtk_print_settings_get_paper_height
 gtk_print_settings_get_paper_size
-gtk_print_settings_set_paper_size
 gtk_print_settings_get_paper_width
-gtk_print_settings_set_paper_width
-gtk_print_settings_get_paper_height
-gtk_print_settings_set_paper_height
-gtk_print_settings_get_use_color
-gtk_print_settings_set_use_color
-gtk_print_settings_get_collate
-gtk_print_settings_set_collate
-gtk_print_settings_get_reverse
-gtk_print_settings_set_reverse
-gtk_print_settings_get_duplex
-gtk_print_settings_set_duplex
+gtk_print_settings_get_printer
+gtk_print_settings_get_printer_lpi
+gtk_print_settings_get_print_pages
 gtk_print_settings_get_quality
-gtk_print_settings_set_quality
-gtk_print_settings_get_n_copies
-gtk_print_settings_set_n_copies
-gtk_print_settings_get_number_up
-gtk_print_settings_set_number_up
-gtk_print_settings_get_number_up_layout
-gtk_print_settings_set_number_up_layout
 gtk_print_settings_get_resolution
-gtk_print_settings_set_resolution
 gtk_print_settings_get_resolution_x
 gtk_print_settings_get_resolution_y
-gtk_print_settings_set_resolution_xy
-gtk_print_settings_get_printer_lpi
-gtk_print_settings_set_printer_lpi
+gtk_print_settings_get_reverse
 gtk_print_settings_get_scale
-gtk_print_settings_set_scale
-gtk_print_settings_get_print_pages
-gtk_print_settings_set_print_pages
-gtk_print_settings_get_page_ranges
-gtk_print_settings_set_page_ranges
-gtk_print_settings_get_page_set
-gtk_print_settings_set_page_set
-gtk_print_settings_get_default_source
+gtk_print_settings_get_type G_GNUC_CONST
+gtk_print_settings_get_use_color
+gtk_print_settings_has_key
+gtk_print_settings_load_file
+gtk_print_settings_load_key_file
+gtk_print_settings_new
+gtk_print_settings_new_from_file
+gtk_print_settings_new_from_key_file
+gtk_print_settings_set
+gtk_print_settings_set_bool
+gtk_print_settings_set_collate
 gtk_print_settings_set_default_source
-gtk_print_settings_get_media_type
-gtk_print_settings_set_media_type
-gtk_print_settings_get_dither
 gtk_print_settings_set_dither
-gtk_print_settings_get_finishings
+gtk_print_settings_set_double
+gtk_print_settings_set_duplex
 gtk_print_settings_set_finishings
-gtk_print_settings_get_output_bin
+gtk_print_settings_set_int
+gtk_print_settings_set_length
+gtk_print_settings_set_media_type
+gtk_print_settings_set_n_copies
+gtk_print_settings_set_number_up
+gtk_print_settings_set_number_up_layout
+gtk_print_settings_set_orientation
 gtk_print_settings_set_output_bin
-#endif
-#endif
-
-#if IN_HEADER(__GTK_PRINT_UNIX_DIALOG_H__)
-#if IN_FILE(__GTK_PRINT_UNIX_DIALOG_C__)
-#ifdef G_OS_UNIX
+gtk_print_settings_set_page_ranges
+gtk_print_settings_set_page_set
+gtk_print_settings_set_paper_height
+gtk_print_settings_set_paper_size
+gtk_print_settings_set_paper_width
+gtk_print_settings_set_printer
+gtk_print_settings_set_printer_lpi
+gtk_print_settings_set_print_pages
+gtk_print_settings_set_quality
+gtk_print_settings_set_resolution
+gtk_print_settings_set_resolution_xy
+gtk_print_settings_set_reverse
+gtk_print_settings_set_scale
+gtk_print_settings_set_use_color
+gtk_print_settings_to_file
+gtk_print_settings_to_key_file
+gtk_print_settings_unset
+gtk_print_status_get_type G_GNUC_CONST
+gtk_print_unix_dialog_add_custom_tab
+gtk_print_unix_dialog_get_current_page
+gtk_print_unix_dialog_get_embed_page_setup
+gtk_print_unix_dialog_get_has_selection
+gtk_print_unix_dialog_get_manual_capabilities
+gtk_print_unix_dialog_get_page_setup
+gtk_print_unix_dialog_get_page_setup_set
+gtk_print_unix_dialog_get_selected_printer
+gtk_print_unix_dialog_get_settings
+gtk_print_unix_dialog_get_support_selection
 gtk_print_unix_dialog_get_type G_GNUC_CONST
 gtk_print_unix_dialog_new
-gtk_print_unix_dialog_set_page_setup
-gtk_print_unix_dialog_get_page_setup
 gtk_print_unix_dialog_set_current_page
-gtk_print_unix_dialog_get_current_page
-gtk_print_unix_dialog_set_settings
-gtk_print_unix_dialog_get_settings
-gtk_print_unix_dialog_get_selected_printer
-gtk_print_unix_dialog_add_custom_tab
+gtk_print_unix_dialog_set_embed_page_setup
+gtk_print_unix_dialog_set_has_selection
 gtk_print_unix_dialog_set_manual_capabilities
-gtk_print_unix_dialog_get_manual_capabilities
+gtk_print_unix_dialog_set_page_setup
+gtk_print_unix_dialog_set_settings
 gtk_print_unix_dialog_set_support_selection
-gtk_print_unix_dialog_get_support_selection
-gtk_print_unix_dialog_set_has_selection
-gtk_print_unix_dialog_get_has_selection
-gtk_print_unix_dialog_set_embed_page_setup
-gtk_print_unix_dialog_get_embed_page_setup
-gtk_print_unix_dialog_get_page_setup_set
-#endif
-#endif
-#endif
-
-#if IN_HEADER(__GTK_PRINT_WIN32_H__)
-#if IN_FILE(__GTK_PRINT_WIN32_C__)
-#ifdef G_OS_WIN32
 gtk_print_win32_devnames_free
+gtk_print_win32_devnames_from_printer_name
 gtk_print_win32_devnames_from_win32
 gtk_print_win32_devnames_to_win32
-gtk_print_win32_devnames_from_printer_name
-#endif
-#endif
-#endif
-
-
-#if IN_HEADER(__GTK_PROGRESS_BAR_H__)
-#if IN_FILE(__GTK_PROGRESS_BAR_C__)
+gtk_progress_bar_get_ellipsize
 gtk_progress_bar_get_fraction
 gtk_progress_bar_get_inverted
 gtk_progress_bar_get_pulse_step
+gtk_progress_bar_get_show_text
 gtk_progress_bar_get_text
-gtk_progress_bar_get_ellipsize
 gtk_progress_bar_get_type G_GNUC_CONST
 gtk_progress_bar_new
 gtk_progress_bar_pulse
+gtk_progress_bar_set_ellipsize
 gtk_progress_bar_set_fraction
 gtk_progress_bar_set_inverted
 gtk_progress_bar_set_pulse_step
-gtk_progress_bar_set_text
-gtk_progress_bar_set_ellipsize
 gtk_progress_bar_set_show_text
-gtk_progress_bar_get_show_text
-#endif
-#endif
-
-#if IN_HEADER(__GTK_RADIO_ACTION_H__)
-#if IN_FILE(__GTK_RADIO_ACTION_C__)
+gtk_progress_bar_set_text
+gtk_propagate_event
+gtk_quit_add
+gtk_quit_add_destroy
+gtk_quit_add_full
+gtk_quit_remove
+gtk_quit_remove_by_data
 gtk_radio_action_get_current_value
 gtk_radio_action_get_group
 gtk_radio_action_get_type G_GNUC_CONST
+gtk_radio_action_join_group
 gtk_radio_action_new
 gtk_radio_action_set_current_value
 gtk_radio_action_set_group
-gtk_radio_action_join_group
-#endif
-#endif
-
-#if IN_HEADER(__GTK_RADIO_BUTTON_H__)
-#if IN_FILE(__GTK_RADIO_BUTTON_C__)
 gtk_radio_button_get_group
 gtk_radio_button_get_type G_GNUC_CONST
 gtk_radio_button_join_group
@@ -2592,11 +1839,6 @@ gtk_radio_button_new_with_label_from_widget
 gtk_radio_button_new_with_mnemonic
 gtk_radio_button_new_with_mnemonic_from_widget
 gtk_radio_button_set_group
-#endif
-#endif
-
-#if IN_HEADER(__GTK_RADIO_MENU_ITEM_H__)
-#if IN_FILE(__GTK_RADIO_MENU_ITEM_C__)
 gtk_radio_menu_item_get_group
 gtk_radio_menu_item_get_type G_GNUC_CONST
 gtk_radio_menu_item_new
@@ -2606,11 +1848,6 @@ gtk_radio_menu_item_new_with_label_from_widget
 gtk_radio_menu_item_new_with_mnemonic
 gtk_radio_menu_item_new_with_mnemonic_from_widget
 gtk_radio_menu_item_set_group
-#endif
-#endif
-
-#if IN_HEADER(__GTK_RADIO_TOOL_BUTTON_H__)
-#if IN_FILE(__GTK_RADIO_TOOL_BUTTON_C__)
 gtk_radio_tool_button_get_group
 gtk_radio_tool_button_get_type G_GNUC_CONST
 gtk_radio_tool_button_new
@@ -2618,11 +1855,6 @@ gtk_radio_tool_button_new_from_stock
 gtk_radio_tool_button_new_from_widget
 gtk_radio_tool_button_new_with_stock_from_widget
 gtk_radio_tool_button_set_group
-#endif
-#endif
-
-#if IN_HEADER(__GTK_RANGE_H__)
-#if IN_FILE(__GTK_RANGE_C__)
 gtk_range_get_adjustment
 gtk_range_get_fill_level
 gtk_range_get_flippable
@@ -2652,14 +1884,10 @@ gtk_range_set_slider_size_fixed
 gtk_range_set_update_policy
 gtk_range_set_upper_stepper_sensitivity
 gtk_range_set_value
-#endif
-#endif
-
-#if IN_HEADER(__GTK_RC_H__)
-#if IN_FILE(__GTK_RC_C__)
 gtk_rc_add_default_file
 gtk_rc_find_module_in_path
 gtk_rc_find_pixmap_in_path
+gtk_rc_flags_get_type G_GNUC_CONST
 gtk_rc_get_default_files
 gtk_rc_get_im_module_file
 gtk_rc_get_im_module_path
@@ -2673,6 +1901,11 @@ gtk_rc_parse_color_full
 gtk_rc_parse_priority
 gtk_rc_parse_state
 gtk_rc_parse_string
+gtk_rc_property_parse_border
+gtk_rc_property_parse_color
+gtk_rc_property_parse_enum
+gtk_rc_property_parse_flags
+gtk_rc_property_parse_requisition
 gtk_rc_reparse_all
 gtk_rc_reparse_all_for_settings
 gtk_rc_reset_styles
@@ -2681,231 +1914,145 @@ gtk_rc_set_default_files
 gtk_rc_style_copy
 gtk_rc_style_get_type G_GNUC_CONST
 gtk_rc_style_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_RECENT_ACTION_H__)
-#if IN_FILE(__GTK_RECENT_ACTION_C__)
+gtk_rc_token_type_get_type G_GNUC_CONST
+gtk_recent_action_get_show_numbers
 gtk_recent_action_get_type G_GNUC_CONST
 gtk_recent_action_new
 gtk_recent_action_new_for_manager
 gtk_recent_action_set_show_numbers
-gtk_recent_action_get_show_numbers
-#endif
-#endif
-
-#if IN_HEADER(__GTK_RECENT_CHOOSER_H__)
-#if IN_FILE(__GTK_RECENT_CHOOSER_C__)
-gtk_recent_chooser_set_show_private
-gtk_recent_chooser_get_show_private
-gtk_recent_chooser_set_show_not_found
-gtk_recent_chooser_get_show_not_found
-gtk_recent_chooser_set_show_icons
-gtk_recent_chooser_get_show_icons
-gtk_recent_chooser_set_select_multiple
-gtk_recent_chooser_get_select_multiple
-gtk_recent_chooser_set_local_only
-gtk_recent_chooser_get_local_only
-gtk_recent_chooser_set_limit
+gtk_recent_chooser_add_filter
+gtk_recent_chooser_dialog_get_type G_GNUC_CONST
+gtk_recent_chooser_dialog_new_for_manager G_GNUC_NULL_TERMINATED
+gtk_recent_chooser_dialog_new G_GNUC_NULL_TERMINATED
+gtk_recent_chooser_error_get_type G_GNUC_CONST
+gtk_recent_chooser_error_quark
+gtk_recent_chooser_get_current_item
+gtk_recent_chooser_get_current_uri
+gtk_recent_chooser_get_filter
+gtk_recent_chooser_get_items
 gtk_recent_chooser_get_limit
-gtk_recent_chooser_set_show_tips
+gtk_recent_chooser_get_local_only
+gtk_recent_chooser_get_select_multiple
+gtk_recent_chooser_get_show_icons
+gtk_recent_chooser_get_show_not_found
+gtk_recent_chooser_get_show_private
 gtk_recent_chooser_get_show_tips
-gtk_recent_chooser_set_sort_type
 gtk_recent_chooser_get_sort_type
-gtk_recent_chooser_set_sort_func
-gtk_recent_chooser_set_current_uri
-gtk_recent_chooser_get_current_uri
-gtk_recent_chooser_get_current_item
-gtk_recent_chooser_select_uri
-gtk_recent_chooser_unselect_uri
-gtk_recent_chooser_select_all
-gtk_recent_chooser_unselect_all
-gtk_recent_chooser_get_items
+gtk_recent_chooser_get_type G_GNUC_CONST
 gtk_recent_chooser_get_uris
-gtk_recent_chooser_add_filter
-gtk_recent_chooser_remove_filter
 gtk_recent_chooser_list_filters
-gtk_recent_chooser_set_filter
-gtk_recent_chooser_get_filter
-gtk_recent_chooser_get_type G_GNUC_CONST
-gtk_recent_chooser_error_quark
-#endif
-#endif
-
-#if IN_HEADER(__GTK_RECENT_CHOOSER_DIALOG_H__)
-#if IN_FILE(__GTK_RECENT_CHOOSER_DIALOG_C__)
-gtk_recent_chooser_dialog_get_type G_GNUC_CONST
-gtk_recent_chooser_dialog_new G_GNUC_NULL_TERMINATED
-gtk_recent_chooser_dialog_new_for_manager G_GNUC_NULL_TERMINATED
-#endif
-#endif
-
-#if IN_HEADER(__GTK_RECENT_CHOOSER_MENU_H__)
-#if IN_FILE(__GTK_RECENT_CHOOSER_MENU_C__)
+gtk_recent_chooser_menu_get_show_numbers
 gtk_recent_chooser_menu_get_type G_GNUC_CONST
 gtk_recent_chooser_menu_new
 gtk_recent_chooser_menu_new_for_manager
-gtk_recent_chooser_menu_get_show_numbers
 gtk_recent_chooser_menu_set_show_numbers
-#endif
-#endif
-
-#if IN_HEADER(__GTK_RECENT_CHOOSER_WIDGET_H__)
-#if IN_FILE(__GTK_RECENT_CHOOSER_WIDGET_C__)
+gtk_recent_chooser_remove_filter
+gtk_recent_chooser_select_all
+gtk_recent_chooser_select_uri
+gtk_recent_chooser_set_current_uri
+gtk_recent_chooser_set_filter
+gtk_recent_chooser_set_limit
+gtk_recent_chooser_set_local_only
+gtk_recent_chooser_set_select_multiple
+gtk_recent_chooser_set_show_icons
+gtk_recent_chooser_set_show_not_found
+gtk_recent_chooser_set_show_private
+gtk_recent_chooser_set_show_tips
+gtk_recent_chooser_set_sort_func
+gtk_recent_chooser_set_sort_type
+gtk_recent_chooser_unselect_all
+gtk_recent_chooser_unselect_uri
 gtk_recent_chooser_widget_get_type G_GNUC_CONST
 gtk_recent_chooser_widget_new
 gtk_recent_chooser_widget_new_for_manager
-#endif
-#endif
-
-#if IN_HEADER(__GTK_RECENT_FILTER_H__)
-#if IN_FILE(__GTK_RECENT_FILTER_C__)
-gtk_recent_filter_get_type G_GNUC_CONST
-gtk_recent_filter_new
-gtk_recent_filter_set_name
-gtk_recent_filter_get_name
+gtk_recent_filter_add_age
+gtk_recent_filter_add_application
+gtk_recent_filter_add_custom
+gtk_recent_filter_add_group
 gtk_recent_filter_add_mime_type
 gtk_recent_filter_add_pattern
 gtk_recent_filter_add_pixbuf_formats
-gtk_recent_filter_add_application
-gtk_recent_filter_add_group
-gtk_recent_filter_add_age
-gtk_recent_filter_add_custom
-gtk_recent_filter_get_needed
 gtk_recent_filter_filter
-#endif
-#endif
-
-#if IN_HEADER(__GTK_RECENT_MANAGER_H__)
-#if IN_FILE(__GTK_RECENT_MANAGER_C__)
-gtk_recent_manager_error_quark
-gtk_recent_manager_get_type G_GNUC_CONST
-gtk_recent_manager_new
-gtk_recent_manager_get_items
-gtk_recent_manager_get_default
-gtk_recent_manager_add_item
-gtk_recent_manager_add_full
-gtk_recent_manager_remove_item
-gtk_recent_manager_lookup_item
-gtk_recent_manager_has_item
-gtk_recent_manager_move_item
-gtk_recent_manager_purge_items
-gtk_recent_info_get_type G_GNUC_CONST
-gtk_recent_info_ref
-gtk_recent_info_unref
-gtk_recent_info_get_uri
-gtk_recent_info_get_display_name
-gtk_recent_info_get_description
-gtk_recent_info_get_mime_type
+gtk_recent_filter_flags_get_type G_GNUC_CONST
+gtk_recent_filter_get_name
+gtk_recent_filter_get_needed
+gtk_recent_filter_get_type G_GNUC_CONST
+gtk_recent_filter_new
+gtk_recent_filter_set_name
+gtk_recent_info_create_app_info
+gtk_recent_info_exists
 gtk_recent_info_get_added
-gtk_recent_info_get_modified
-gtk_recent_info_get_visited
-gtk_recent_info_get_private_hint
+gtk_recent_info_get_age
 gtk_recent_info_get_application_info
 gtk_recent_info_get_applications G_GNUC_MALLOC
-gtk_recent_info_last_application G_GNUC_MALLOC
-gtk_recent_info_has_application
-gtk_recent_info_create_app_info
+gtk_recent_info_get_description
+gtk_recent_info_get_display_name
+gtk_recent_info_get_gicon
 gtk_recent_info_get_groups G_GNUC_MALLOC
-gtk_recent_info_has_group
 gtk_recent_info_get_icon
-gtk_recent_info_get_gicon
+gtk_recent_info_get_mime_type
+gtk_recent_info_get_modified
+gtk_recent_info_get_private_hint
 gtk_recent_info_get_short_name G_GNUC_MALLOC
+gtk_recent_info_get_type G_GNUC_CONST
+gtk_recent_info_get_uri
 gtk_recent_info_get_uri_display G_GNUC_MALLOC
-gtk_recent_info_get_age
+gtk_recent_info_get_visited
+gtk_recent_info_has_application
+gtk_recent_info_has_group
 gtk_recent_info_is_local
-gtk_recent_info_exists
+gtk_recent_info_last_application G_GNUC_MALLOC
 gtk_recent_info_match
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TEST_UTILS_H__)
-#if IN_FILE(__GTK_TEST_UTILS_C__)
-gtk_test_create_simple_window
-gtk_test_create_widget
-gtk_test_display_button_window
-gtk_test_find_label
-gtk_test_find_sibling
-gtk_test_find_widget
-gtk_test_init
-gtk_test_register_all_types
-gtk_test_list_all_types
-gtk_test_slider_get_value
-gtk_test_slider_set_perc
-gtk_test_spin_button_click
-gtk_test_text_get
-gtk_test_text_set
-gtk_test_widget_click
-gtk_test_widget_send_key
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TEXT_BUFFER_RICH_TEXT_H__)
-#if IN_FILE(__GTK_TEXT_BUFFER_RICH_TEXT_C__)
-gtk_text_buffer_deserialize
-gtk_text_buffer_deserialize_get_can_create_tags
-gtk_text_buffer_deserialize_set_can_create_tags
-gtk_text_buffer_get_deserialize_formats
-gtk_text_buffer_get_serialize_formats
-gtk_text_buffer_register_deserialize_format
-gtk_text_buffer_register_deserialize_tagset
-gtk_text_buffer_register_serialize_format
-gtk_text_buffer_register_serialize_tagset
-gtk_text_buffer_serialize
-gtk_text_buffer_unregister_deserialize_format
-gtk_text_buffer_unregister_serialize_format
-#endif
-#endif
-
-#if IN_HEADER(__GTK_RULER_H__)
-#if IN_FILE(__GTK_RULER_C__)
-gtk_ruler_new
-gtk_ruler_get_metric
-gtk_ruler_get_range
-gtk_ruler_get_type G_GNUC_CONST
-gtk_ruler_set_metric
-gtk_ruler_set_range
-#endif
-#endif
-
-#if IN_HEADER(__GTK_SCALE_H__)
-#if IN_FILE(__GTK_SCALE_C__)
-gtk_scale_new
-gtk_scale_new_with_range
+gtk_recent_info_ref
+gtk_recent_info_unref
+gtk_recent_manager_add_full
+gtk_recent_manager_add_item
+gtk_recent_manager_error_get_type G_GNUC_CONST
+gtk_recent_manager_error_quark
+gtk_recent_manager_get_default
+gtk_recent_manager_get_items
+gtk_recent_manager_get_type G_GNUC_CONST
+gtk_recent_manager_has_item
+gtk_recent_manager_lookup_item
+gtk_recent_manager_move_item
+gtk_recent_manager_new
+gtk_recent_manager_purge_items
+gtk_recent_manager_remove_item
+gtk_recent_sort_type_get_type G_GNUC_CONST
+gtk_relief_style_get_type G_GNUC_CONST
+gtk_requisition_copy
+gtk_requisition_free
+gtk_requisition_get_type G_GNUC_CONST
+gtk_requisition_new G_GNUC_MALLOC
+gtk_resize_mode_get_type G_GNUC_CONST
+gtk_response_type_get_type G_GNUC_CONST
+gtk_rgb_to_hsv
+gtk_scale_add_mark
+gtk_scale_button_get_adjustment
+gtk_scale_button_get_minus_button
+gtk_scale_button_get_plus_button
+gtk_scale_button_get_popup
+gtk_scale_button_get_type G_GNUC_CONST
+gtk_scale_button_get_value
+gtk_scale_button_new
+gtk_scale_button_set_adjustment
+gtk_scale_button_set_icons
+gtk_scale_button_set_value
+gtk_scale_clear_marks
 gtk_scale_get_digits
 gtk_scale_get_draw_value
 gtk_scale_get_layout
 gtk_scale_get_layout_offsets
 gtk_scale_get_type G_GNUC_CONST
 gtk_scale_get_value_pos
+gtk_scale_new
+gtk_scale_new_with_range
 gtk_scale_set_digits
 gtk_scale_set_draw_value
 gtk_scale_set_value_pos
-gtk_scale_add_mark
-gtk_scale_clear_marks
-#endif
-#endif
-
-#if IN_HEADER(__GTK_SCALE_BUTTON_H__)
-#if IN_FILE(__GTK_SCALE_BUTTON_C__)
-gtk_scale_button_get_type G_GNUC_CONST
-gtk_scale_button_get_value
-gtk_scale_button_new
-gtk_scale_button_set_icons
-gtk_scale_button_set_value
-gtk_scale_button_get_adjustment
-gtk_scale_button_set_adjustment
-gtk_scale_button_get_plus_button
-gtk_scale_button_get_minus_button
-gtk_scale_button_get_popup
-#endif
-#endif
-
-#if IN_HEADER(__GTK_SCROLLABLE_H__)
-#if IN_FILE(__GTK_SCROLLABLE_C__)
-gtk_scrollable_get_type G_GNUC_CONST
 gtk_scrollable_get_hadjustment
 gtk_scrollable_get_hscroll_policy
+gtk_scrollable_get_type G_GNUC_CONST
 gtk_scrollable_get_vadjustment
 gtk_scrollable_get_vscroll_policy
 gtk_scrollable_policy_get_type G_GNUC_CONST
@@ -2913,21 +2060,13 @@ gtk_scrollable_set_hadjustment
 gtk_scrollable_set_hscroll_policy
 gtk_scrollable_set_vadjustment
 gtk_scrollable_set_vscroll_policy
-#endif
-#endif
-
-#if IN_HEADER(__GTK_SCROLLBAR_H__)
-#if IN_FILE(__GTK_SCROLLBAR_C__)
 gtk_scrollbar_get_type G_GNUC_CONST
 gtk_scrollbar_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_SCROLLED_WINDOW_H__)
-#if IN_FILE(__GTK_SCROLLED_WINDOW_C__)
 gtk_scrolled_window_add_with_viewport
 gtk_scrolled_window_get_hadjustment
 gtk_scrolled_window_get_hscrollbar
+gtk_scrolled_window_get_min_content_height
+gtk_scrolled_window_get_min_content_width
 gtk_scrolled_window_get_placement
 gtk_scrolled_window_get_policy
 gtk_scrolled_window_get_shadow_type
@@ -2936,34 +2075,29 @@ gtk_scrolled_window_get_vadjustment
 gtk_scrolled_window_get_vscrollbar
 gtk_scrolled_window_new
 gtk_scrolled_window_set_hadjustment
+gtk_scrolled_window_set_min_content_height
+gtk_scrolled_window_set_min_content_width
 gtk_scrolled_window_set_placement
 gtk_scrolled_window_set_policy
 gtk_scrolled_window_set_shadow_type
 gtk_scrolled_window_set_vadjustment
 gtk_scrolled_window_unset_placement
-gtk_scrolled_window_get_min_content_width
-gtk_scrolled_window_set_min_content_width
-gtk_scrolled_window_get_min_content_height
-gtk_scrolled_window_set_min_content_height
-#endif
-#endif
-
-#if IN_HEADER(__GTK_SELECTION_H__)
-#if IN_FILE(__GTK_SELECTION_C__)
+gtk_scroll_step_get_type G_GNUC_CONST
+gtk_scroll_type_get_type G_GNUC_CONST
 gtk_selection_add_target
 gtk_selection_add_targets
 gtk_selection_clear_targets
 gtk_selection_convert
 gtk_selection_data_copy
 gtk_selection_data_free
-gtk_selection_data_get_selection
-gtk_selection_data_get_target
+gtk_selection_data_get_data
 gtk_selection_data_get_data_type
 gtk_selection_data_get_display
 gtk_selection_data_get_format
-gtk_selection_data_get_data
 gtk_selection_data_get_length
 gtk_selection_data_get_pixbuf
+gtk_selection_data_get_selection
+gtk_selection_data_get_target
 gtk_selection_data_get_targets
 gtk_selection_data_get_text
 gtk_selection_data_get_type G_GNUC_CONST
@@ -2976,59 +2110,21 @@ gtk_selection_data_targets_include_image
 gtk_selection_data_targets_include_rich_text
 gtk_selection_data_targets_include_text
 gtk_selection_data_targets_include_uri
-gtk_targets_include_image
-gtk_targets_include_rich_text
-gtk_targets_include_text
-gtk_targets_include_uri
+gtk_selection_mode_get_type G_GNUC_CONST
 gtk_selection_owner_set
-gtk_selection_owner_set_for_display
-gtk_selection_remove_all
-gtk_target_list_add
-gtk_target_list_add_image_targets
-gtk_target_list_add_rich_text_targets
-gtk_target_list_add_table
-gtk_target_list_add_text_targets
-gtk_target_list_add_uri_targets
-gtk_target_list_find
-gtk_target_list_get_type G_GNUC_CONST
-gtk_target_list_new
-gtk_target_list_ref
-gtk_target_list_remove
-gtk_target_list_unref
-gtk_target_table_new_from_list
-gtk_target_table_free
-gtk_target_entry_get_type G_GNUC_CONST
-gtk_target_entry_new
-gtk_target_entry_copy
-gtk_target_entry_free
-#endif
-#endif
-
-#if IN_HEADER(__GTK_SEPARATOR_H__)
-#if IN_FILE(__GTK_SEPARATOR_C__)
+gtk_selection_owner_set_for_display
+gtk_selection_remove_all
+gtk_sensitivity_type_get_type G_GNUC_CONST
 gtk_separator_get_type G_GNUC_CONST
-gtk_separator_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_SEPARATOR_MENU_ITEM_H__)
-#if IN_FILE(__GTK_SEPARATOR_MENU_ITEM_C__)
 gtk_separator_menu_item_get_type G_GNUC_CONST
 gtk_separator_menu_item_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_SEPARATOR_TOOL_ITEM_H__)
-#if IN_FILE(__GTK_SEPARATOR_TOOL_ITEM_C__)
+gtk_separator_new
 gtk_separator_tool_item_get_draw
 gtk_separator_tool_item_get_type G_GNUC_CONST
 gtk_separator_tool_item_new
 gtk_separator_tool_item_set_draw
-#endif
-#endif
-
-#if IN_HEADER(__GTK_SETTINGS_H__)
-#if IN_FILE(__GTK_SETTINGS_C__)
+gtk_set_debug_flags
+gtk_set_locale
 gtk_settings_get_default
 gtk_settings_get_for_screen
 gtk_settings_get_type G_GNUC_CONST
@@ -3038,46 +2134,26 @@ gtk_settings_set_double_property
 gtk_settings_set_long_property
 gtk_settings_set_property_value
 gtk_settings_set_string_property
-gtk_rc_property_parse_border
-gtk_rc_property_parse_color
-gtk_rc_property_parse_enum
-gtk_rc_property_parse_flags
-gtk_rc_property_parse_requisition
-#endif
-#endif
-
-#if IN_HEADER(__GTK_SIZE_GROUP_H__)
-#if IN_FILE(__GTK_SIZE_GROUP_C__)
+gtk_shadow_type_get_type G_GNUC_CONST
+gtk_show_about_dialog G_GNUC_NULL_TERMINATED
+gtk_show_uri
 gtk_size_group_add_widget
 gtk_size_group_get_ignore_hidden
 gtk_size_group_get_mode
 gtk_size_group_get_type G_GNUC_CONST
 gtk_size_group_get_widgets
+gtk_size_group_mode_get_type G_GNUC_CONST
 gtk_size_group_new
 gtk_size_group_remove_widget
 gtk_size_group_set_ignore_hidden
 gtk_size_group_set_mode
-#endif
-#endif
-
-#if IN_HEADER(__GTK_SHOW_H__)
-#if IN_FILE(__GTK_SHOW_C__)
-gtk_show_uri
-#endif
-#endif
-
-#if IN_HEADER(__GTK_SOCKET_H__)
-#if IN_FILE(__GTK_SOCKET_C__)
+gtk_size_request_mode_get_type G_GNUC_CONST
 gtk_socket_add_id
 gtk_socket_get_id
 gtk_socket_get_plug_window
 gtk_socket_get_type G_GNUC_CONST
 gtk_socket_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_SPIN_BUTTON_H__)
-#if IN_FILE(__GTK_SPIN_BUTTON_C__)
+gtk_sort_type_get_type G_GNUC_CONST
 gtk_spin_button_configure
 gtk_spin_button_get_adjustment
 gtk_spin_button_get_digits
@@ -3103,20 +2179,13 @@ gtk_spin_button_set_value
 gtk_spin_button_set_wrap
 gtk_spin_button_spin
 gtk_spin_button_update
-#endif
-#endif
-
-#if IN_HEADER(__GTK_SPINNER_H__)
-#if IN_FILE(__GTK_SPINNER_C__)
+gtk_spin_button_update_policy_get_type G_GNUC_CONST
 gtk_spinner_get_type G_GNUC_CONST
 gtk_spinner_new
 gtk_spinner_start
 gtk_spinner_stop
-#endif
-#endif
-
-#if IN_HEADER(__GTK_STATUSBAR_H__)
-#if IN_FILE(__GTK_STATUSBAR_C__)
+gtk_spin_type_get_type G_GNUC_CONST
+gtk_state_type_get_type G_GNUC_CONST
 gtk_statusbar_get_context_id
 gtk_statusbar_get_message_area
 gtk_statusbar_get_type G_GNUC_CONST
@@ -3125,11 +2194,41 @@ gtk_statusbar_pop
 gtk_statusbar_push
 gtk_statusbar_remove
 gtk_statusbar_remove_all
-#endif
-#endif
-
-#if IN_HEADER(__GTK_STOCK_H__)
-#if IN_FILE(__GTK_STOCK_C__)
+gtk_status_icon_get_geometry
+gtk_status_icon_get_gicon
+gtk_status_icon_get_has_tooltip
+gtk_status_icon_get_icon_name
+gtk_status_icon_get_pixbuf
+gtk_status_icon_get_screen
+gtk_status_icon_get_size
+gtk_status_icon_get_stock
+gtk_status_icon_get_storage_type
+gtk_status_icon_get_title
+gtk_status_icon_get_tooltip_markup
+gtk_status_icon_get_tooltip_text
+gtk_status_icon_get_type G_GNUC_CONST
+gtk_status_icon_get_visible
+gtk_status_icon_get_x11_window_id
+gtk_status_icon_is_embedded
+gtk_status_icon_new
+gtk_status_icon_new_from_file
+gtk_status_icon_new_from_gicon
+gtk_status_icon_new_from_icon_name
+gtk_status_icon_new_from_pixbuf
+gtk_status_icon_new_from_stock
+gtk_status_icon_position_menu
+gtk_status_icon_set_from_file
+gtk_status_icon_set_from_gicon
+gtk_status_icon_set_from_icon_name
+gtk_status_icon_set_from_pixbuf
+gtk_status_icon_set_from_stock
+gtk_status_icon_set_has_tooltip
+gtk_status_icon_set_name
+gtk_status_icon_set_screen
+gtk_status_icon_set_title
+gtk_status_icon_set_tooltip_markup
+gtk_status_icon_set_tooltip_text
+gtk_status_icon_set_visible
 gtk_stock_add
 gtk_stock_add_static
 gtk_stock_item_copy
@@ -3137,11 +2236,19 @@ gtk_stock_item_free
 gtk_stock_list_ids
 gtk_stock_lookup
 gtk_stock_set_translate_func
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TABLE_H__)
-#if IN_FILE(__GTK_TABLE_C__)
+gtk_style_apply_default_background
+gtk_style_attach
+gtk_style_copy
+gtk_style_detach
+gtk_style_get
+gtk_style_get_style_property
+gtk_style_get_type G_GNUC_CONST
+gtk_style_get_valist
+gtk_style_lookup_color
+gtk_style_lookup_icon_set
+gtk_style_new
+gtk_style_render_icon
+gtk_style_set_background
 gtk_table_attach
 gtk_table_attach_defaults
 gtk_table_get_col_spacing
@@ -3158,46 +2265,55 @@ gtk_table_set_col_spacings
 gtk_table_set_homogeneous
 gtk_table_set_row_spacing
 gtk_table_set_row_spacings
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TEAROFF_MENU_ITEM_H__)
-#if IN_FILE(__GTK_TEAROFF_MENU_ITEM_C__)
+gtk_target_entry_copy
+gtk_target_entry_free
+gtk_target_entry_get_type G_GNUC_CONST
+gtk_target_entry_new
+gtk_target_flags_get_type G_GNUC_CONST
+gtk_target_list_add
+gtk_target_list_add_image_targets
+gtk_target_list_add_rich_text_targets
+gtk_target_list_add_table
+gtk_target_list_add_text_targets
+gtk_target_list_add_uri_targets
+gtk_target_list_find
+gtk_target_list_get_type G_GNUC_CONST
+gtk_target_list_new
+gtk_target_list_ref
+gtk_target_list_remove
+gtk_target_list_unref
+gtk_targets_include_image
+gtk_targets_include_rich_text
+gtk_targets_include_text
+gtk_targets_include_uri
+gtk_target_table_free
+gtk_target_table_new_from_list
 gtk_tearoff_menu_item_get_type G_GNUC_CONST
 gtk_tearoff_menu_item_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TEXT_TAG_H__)
-#if IN_FILE(__GTK_TEXT_TAG_C__)
+gtk_test_create_simple_window
+gtk_test_create_widget
+gtk_test_display_button_window
+gtk_test_find_label
+gtk_test_find_sibling
+gtk_test_find_widget
+gtk_test_init
+gtk_test_list_all_types
+gtk_test_register_all_types
+gtk_test_slider_get_value
+gtk_test_slider_set_perc
+gtk_test_spin_button_click
+gtk_test_text_get
+gtk_test_text_set
+gtk_test_widget_click
+gtk_test_widget_send_key
+gtk_text_anchored_child_set_layout
 gtk_text_attributes_copy
 gtk_text_attributes_copy_values
 gtk_text_attributes_get_type G_GNUC_CONST
 gtk_text_attributes_new
 gtk_text_attributes_ref
 gtk_text_attributes_unref
-gtk_text_tag_event
-gtk_text_tag_get_priority
-gtk_text_tag_get_type G_GNUC_CONST
-gtk_text_tag_new
-gtk_text_tag_set_priority
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TEXT_TAG_TABLE_H__)
-#if IN_FILE(__GTK_TEXT_TAG_TABLE_C__)
-gtk_text_tag_table_add
-gtk_text_tag_table_foreach
-gtk_text_tag_table_get_size
-gtk_text_tag_table_get_type G_GNUC_CONST
-gtk_text_tag_table_lookup
-gtk_text_tag_table_new
-gtk_text_tag_table_remove
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TEXT_BUFFER_H__)
-#if IN_FILE(__GTK_TEXT_BUFFER_C__)
+gtk_text_buffer_add_mark
 gtk_text_buffer_add_selection_clipboard
 gtk_text_buffer_apply_tag
 gtk_text_buffer_apply_tag_by_name
@@ -3205,7 +2321,6 @@ gtk_text_buffer_backspace
 gtk_text_buffer_begin_user_action
 gtk_text_buffer_copy_clipboard
 gtk_text_buffer_create_child_anchor
-gtk_text_buffer_add_mark
 gtk_text_buffer_create_mark
 gtk_text_buffer_create_tag
 gtk_text_buffer_cut_clipboard
@@ -3214,10 +2329,14 @@ gtk_text_buffer_delete_interactive
 gtk_text_buffer_delete_mark
 gtk_text_buffer_delete_mark_by_name
 gtk_text_buffer_delete_selection
+gtk_text_buffer_deserialize
+gtk_text_buffer_deserialize_get_can_create_tags
+gtk_text_buffer_deserialize_set_can_create_tags
 gtk_text_buffer_end_user_action
 gtk_text_buffer_get_bounds
 gtk_text_buffer_get_char_count
 gtk_text_buffer_get_copy_target_list
+gtk_text_buffer_get_deserialize_formats
 gtk_text_buffer_get_end_iter
 gtk_text_buffer_get_has_selection
 gtk_text_buffer_get_insert
@@ -3233,6 +2352,7 @@ gtk_text_buffer_get_modified
 gtk_text_buffer_get_paste_target_list
 gtk_text_buffer_get_selection_bound
 gtk_text_buffer_get_selection_bounds
+gtk_text_buffer_get_serialize_formats
 gtk_text_buffer_get_slice
 gtk_text_buffer_get_start_iter
 gtk_text_buffer_get_tag_table
@@ -3246,32 +2366,37 @@ gtk_text_buffer_insert_interactive_at_cursor
 gtk_text_buffer_insert_pixbuf
 gtk_text_buffer_insert_range
 gtk_text_buffer_insert_range_interactive
-gtk_text_buffer_insert_with_tags G_GNUC_NULL_TERMINATED
 gtk_text_buffer_insert_with_tags_by_name G_GNUC_NULL_TERMINATED
+gtk_text_buffer_insert_with_tags G_GNUC_NULL_TERMINATED
 gtk_text_buffer_move_mark
 gtk_text_buffer_move_mark_by_name
 gtk_text_buffer_new
 gtk_text_buffer_paste_clipboard
 gtk_text_buffer_place_cursor
+gtk_text_buffer_register_deserialize_format
+gtk_text_buffer_register_deserialize_tagset
+gtk_text_buffer_register_serialize_format
+gtk_text_buffer_register_serialize_tagset
 gtk_text_buffer_remove_all_tags
 gtk_text_buffer_remove_selection_clipboard
 gtk_text_buffer_remove_tag
 gtk_text_buffer_remove_tag_by_name
 gtk_text_buffer_select_range
+gtk_text_buffer_serialize
 gtk_text_buffer_set_modified
 gtk_text_buffer_set_text
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TEXT_TYPES_H__)
-#if IN_FILE(__GTK_TEXT_TYPES_C__)
-gtk_text_unknown_char_utf8_gtk_tests_only
+gtk_text_buffer_target_info_get_type G_GNUC_CONST
+gtk_text_buffer_unregister_deserialize_format
+gtk_text_buffer_unregister_serialize_format
 gtk_text_byte_begins_utf8_char
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TEXT_ITER_H__)
-#if IN_FILE(__GTK_TEXT_ITER_C__)
+gtk_text_child_anchor_get_deleted
+gtk_text_child_anchor_get_type G_GNUC_CONST
+gtk_text_child_anchor_get_widgets
+gtk_text_child_anchor_new
+gtk_text_child_anchor_queue_resize
+gtk_text_child_anchor_register_child
+gtk_text_child_anchor_unregister_child
+gtk_text_direction_get_type G_GNUC_CONST
 gtk_text_iter_backward_char
 gtk_text_iter_backward_chars
 gtk_text_iter_backward_cursor_position
@@ -3363,15 +2488,11 @@ gtk_text_iter_starts_line
 gtk_text_iter_starts_sentence
 gtk_text_iter_starts_word
 gtk_text_iter_toggles_tag
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TEXT_LAYOUT_H__)
-#if IN_FILE(__GTK_TEXT_LAYOUT_C__)
 gtk_text_layout_changed
-gtk_text_layout_cursors_changed
 gtk_text_layout_clamp_iter_to_vrange
+gtk_text_layout_cursors_changed
 gtk_text_layout_default_style_changed
+gtk_text_layout_draw
 gtk_text_layout_free_line_data
 gtk_text_layout_free_line_display
 gtk_text_layout_get_buffer
@@ -3412,59 +2533,29 @@ gtk_text_layout_validate_yrange
 gtk_text_layout_wrap
 gtk_text_layout_wrap_loop_end
 gtk_text_layout_wrap_loop_start
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TEXT_CHILD_H__)
-#if IN_FILE(__GTK_TEXT_CHILD_C__)
-gtk_text_child_anchor_get_deleted
-gtk_text_child_anchor_get_type G_GNUC_CONST
-gtk_text_child_anchor_get_widgets
-gtk_text_child_anchor_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TEXT_LAYOUT_H__)
-#if IN_FILE(__GTK_TEXT_CHILD_C__)
-gtk_text_child_anchor_queue_resize
-gtk_text_child_anchor_register_child
-gtk_text_child_anchor_unregister_child
-gtk_text_anchored_child_set_layout
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TEXT_DISPLAY_H__)
-#if IN_FILE(__GTK_TEXT_DISPLAY_C__)
-gtk_text_layout_draw
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TEXT_SEGMENT_H__)
-#if IN_FILE(__GTK_TEXT_SEGMENT_C__)
 gtk_text_line_segment_split
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TEXT_MARK_H__)
-#if IN_FILE(__GTK_TEXT_MARK_C__)
-gtk_text_mark_new
 gtk_text_mark_get_buffer
 gtk_text_mark_get_deleted
 gtk_text_mark_get_left_gravity
 gtk_text_mark_get_name
 gtk_text_mark_get_type G_GNUC_CONST
 gtk_text_mark_get_visible
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TEXT_MARK_H__)
-#if IN_FILE(__GTK_TEXT_BTREE_C__)
+gtk_text_mark_new
 gtk_text_mark_set_visible
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TEXT_VIEW_H__)
-#if IN_FILE(__GTK_TEXT_VIEW_C__)
+gtk_text_search_flags_get_type G_GNUC_CONST
+gtk_text_tag_event
+gtk_text_tag_get_priority
+gtk_text_tag_get_type G_GNUC_CONST
+gtk_text_tag_new
+gtk_text_tag_set_priority
+gtk_text_tag_table_add
+gtk_text_tag_table_foreach
+gtk_text_tag_table_get_size
+gtk_text_tag_table_get_type G_GNUC_CONST
+gtk_text_tag_table_lookup
+gtk_text_tag_table_new
+gtk_text_tag_table_remove
+gtk_text_unknown_char_utf8_gtk_tests_only
 gtk_text_view_add_child_at_anchor
 gtk_text_view_add_child_in_window
 gtk_text_view_backward_display_line
@@ -3527,19 +2618,10 @@ gtk_text_view_set_tabs
 gtk_text_view_set_wrap_mode
 gtk_text_view_starts_display_line
 gtk_text_view_window_to_buffer_coords
-#endif
-#endif
-
-#if IN_HEADER(__GTK_THEMES_H__)
-#if IN_FILE(__GTK_THEMES_C__)
+gtk_text_window_type_get_type G_GNUC_CONST
 gtk_theme_engine_create_rc_style
 gtk_theme_engine_get
 gtk_theme_engine_get_type G_GNUC_CONST
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TOGGLE_ACTION_H__)
-#if IN_FILE(__GTK_TOGGLE_ACTION_C__)
 gtk_toggle_action_get_active
 gtk_toggle_action_get_draw_as_radio
 gtk_toggle_action_get_type G_GNUC_CONST
@@ -3547,11 +2629,6 @@ gtk_toggle_action_new
 gtk_toggle_action_set_active
 gtk_toggle_action_set_draw_as_radio
 gtk_toggle_action_toggled
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TOGGLE_BUTTON_H__)
-#if IN_FILE(__GTK_TOGGLE_BUTTON_C__)
 gtk_toggle_button_get_active
 gtk_toggle_button_get_inconsistent
 gtk_toggle_button_get_mode
@@ -3563,21 +2640,11 @@ gtk_toggle_button_set_active
 gtk_toggle_button_set_inconsistent
 gtk_toggle_button_set_mode
 gtk_toggle_button_toggled
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TOGGLE_TOOL_BUTTON_H__)
-#if IN_FILE(__GTK_TOGGLE_TOOL_BUTTON_C__)
 gtk_toggle_tool_button_get_active
 gtk_toggle_tool_button_get_type G_GNUC_CONST
 gtk_toggle_tool_button_new
 gtk_toggle_tool_button_new_from_stock
 gtk_toggle_tool_button_set_active
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TOOLBAR_H__)
-#if IN_FILE(__GTK_TOOLBAR_C__)
 gtk_toolbar_get_drop_index
 gtk_toolbar_get_icon_size
 gtk_toolbar_get_item_index
@@ -3593,28 +2660,10 @@ gtk_toolbar_set_drop_highlight_item
 gtk_toolbar_set_icon_size
 gtk_toolbar_set_show_arrow
 gtk_toolbar_set_style
+gtk_toolbar_space_style_get_type G_GNUC_CONST
+gtk_toolbar_style_get_type G_GNUC_CONST
 gtk_toolbar_unset_icon_size
 gtk_toolbar_unset_style
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TOOL_SHELL_H__)
-#if IN_FILE(__GTK_TOOL_SHELL_C__)
-gtk_tool_shell_get_type G_GNUC_CONST
-gtk_tool_shell_get_ellipsize_mode
-gtk_tool_shell_get_icon_size
-gtk_tool_shell_get_orientation
-gtk_tool_shell_get_style
-gtk_tool_shell_get_relief_style
-gtk_tool_shell_get_text_alignment
-gtk_tool_shell_get_text_orientation
-gtk_tool_shell_get_text_size_group
-gtk_tool_shell_rebuild_menu
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TOOL_BUTTON_H__)
-#if IN_FILE(__GTK_TOOL_BUTTON_C__)
 gtk_tool_button_get_icon_name
 gtk_tool_button_get_icon_widget
 gtk_tool_button_get_label
@@ -3630,11 +2679,6 @@ gtk_tool_button_set_label
 gtk_tool_button_set_label_widget
 gtk_tool_button_set_stock_id
 gtk_tool_button_set_use_underline
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TOOL_ITEM_H__)
-#if IN_FILE(__GTK_TOOL_ITEM_C__)
 gtk_tool_item_get_ellipsize_mode
 gtk_tool_item_get_expand
 gtk_tool_item_get_homogeneous
@@ -3651,6 +2695,24 @@ gtk_tool_item_get_type G_GNUC_CONST
 gtk_tool_item_get_use_drag_window
 gtk_tool_item_get_visible_horizontal
 gtk_tool_item_get_visible_vertical
+gtk_tool_item_group_get_collapsed
+gtk_tool_item_group_get_drop_item
+gtk_tool_item_group_get_ellipsize
+gtk_tool_item_group_get_header_relief
+gtk_tool_item_group_get_item_position
+gtk_tool_item_group_get_label
+gtk_tool_item_group_get_label_widget
+gtk_tool_item_group_get_n_items
+gtk_tool_item_group_get_nth_item
+gtk_tool_item_group_get_type G_GNUC_CONST
+gtk_tool_item_group_insert
+gtk_tool_item_group_new
+gtk_tool_item_group_set_collapsed
+gtk_tool_item_group_set_ellipsize
+gtk_tool_item_group_set_header_relief
+gtk_tool_item_group_set_item_position
+gtk_tool_item_group_set_label
+gtk_tool_item_group_set_label_widget
 gtk_tool_item_new
 gtk_tool_item_rebuild_menu
 gtk_tool_item_retrieve_proxy_menu_item
@@ -3664,85 +2726,51 @@ gtk_tool_item_set_use_drag_window
 gtk_tool_item_set_visible_horizontal
 gtk_tool_item_set_visible_vertical
 gtk_tool_item_toolbar_reconfigured
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TOOL_ITEM_GROUP_H__)
-#if IN_FILE(__GTK_TOOL_ITEM_GROUP_C__)
-gtk_tool_item_group_get_type G_GNUC_CONST
-gtk_tool_item_group_new
-gtk_tool_item_group_set_label
-gtk_tool_item_group_set_label_widget
-gtk_tool_item_group_set_collapsed
-gtk_tool_item_group_set_ellipsize
-gtk_tool_item_group_set_header_relief
-gtk_tool_item_group_get_label
-gtk_tool_item_group_get_label_widget
-gtk_tool_item_group_get_ellipsize
-gtk_tool_item_group_get_header_relief
-gtk_tool_item_group_insert
-gtk_tool_item_group_set_item_position
-gtk_tool_item_group_get_item_position
-gtk_tool_item_group_get_n_items
-gtk_tool_item_group_get_nth_item
-gtk_tool_item_group_get_drop_item
-gtk_tool_item_group_get_collapsed
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TOOL_PALETTE_H__)
-#if IN_FILE(__GTK_TOOL_PALETTE_C__)
-gtk_tool_palette_get_type G_GNUC_CONST
-gtk_tool_palette_new
-gtk_tool_palette_set_group_position
-gtk_tool_palette_set_exclusive
-gtk_tool_palette_set_expand
-gtk_tool_palette_get_group_position
+gtk_tool_palette_add_drag_dest
+gtk_tool_palette_drag_targets_get_type G_GNUC_CONST
+gtk_tool_palette_get_drag_item
+gtk_tool_palette_get_drag_target_group G_GNUC_CONST
+gtk_tool_palette_get_drag_target_item G_GNUC_CONST
+gtk_tool_palette_get_drop_group
+gtk_tool_palette_get_drop_item
 gtk_tool_palette_get_exclusive
 gtk_tool_palette_get_expand
-gtk_tool_palette_set_icon_size
-gtk_tool_palette_unset_icon_size
-gtk_tool_palette_set_style
-gtk_tool_palette_unset_style
+gtk_tool_palette_get_group_position
+gtk_tool_palette_get_hadjustment
 gtk_tool_palette_get_icon_size
 gtk_tool_palette_get_style
-gtk_tool_palette_get_drop_item
-gtk_tool_palette_get_drop_group
-gtk_tool_palette_get_drag_item
-gtk_tool_palette_set_drag_source
-gtk_tool_palette_add_drag_dest
-gtk_tool_palette_get_hadjustment
+gtk_tool_palette_get_type G_GNUC_CONST
 gtk_tool_palette_get_vadjustment
-gtk_tool_palette_get_drag_target_item G_GNUC_CONST
-gtk_tool_palette_get_drag_target_group G_GNUC_CONST
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TOOLTIP_H__)
-#if IN_FILE(__GTK_TOOLTIP_C__)
+gtk_tool_palette_new
+gtk_tool_palette_set_drag_source
+gtk_tool_palette_set_exclusive
+gtk_tool_palette_set_expand
+gtk_tool_palette_set_group_position
+gtk_tool_palette_set_icon_size
+gtk_tool_palette_set_style
+gtk_tool_palette_unset_icon_size
+gtk_tool_palette_unset_style
+gtk_tool_shell_get_ellipsize_mode
+gtk_tool_shell_get_icon_size
+gtk_tool_shell_get_orientation
+gtk_tool_shell_get_relief_style
+gtk_tool_shell_get_style
+gtk_tool_shell_get_text_alignment
+gtk_tool_shell_get_text_orientation
+gtk_tool_shell_get_text_size_group
+gtk_tool_shell_get_type G_GNUC_CONST
+gtk_tool_shell_rebuild_menu
 gtk_tooltip_get_type G_GNUC_CONST
 gtk_tooltip_set_custom
 gtk_tooltip_set_icon
-gtk_tooltip_set_icon_from_stock
-gtk_tooltip_set_icon_from_icon_name
 gtk_tooltip_set_icon_from_gicon
+gtk_tooltip_set_icon_from_icon_name
+gtk_tooltip_set_icon_from_stock
 gtk_tooltip_set_markup
 gtk_tooltip_set_text
 gtk_tooltip_set_tip_area
 gtk_tooltip_trigger_tooltip_query
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TRAY_ICON_H__)
-#if IN_FILE(__GTK_TRAY_ICON_X11_C__)
-#ifndef G_OS_WIN32
 gtk_tray_icon_get_type G_GNUC_CONST
-#endif
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TREE_DND_H__)
-#if IN_FILE(__GTK_TREE_DND_C__)
 gtk_tree_drag_dest_drag_data_received
 gtk_tree_drag_dest_get_type G_GNUC_CONST
 gtk_tree_drag_dest_row_drop_possible
@@ -3751,15 +2779,22 @@ gtk_tree_drag_source_drag_data_get
 gtk_tree_drag_source_get_type G_GNUC_CONST
 gtk_tree_drag_source_row_draggable
 gtk_tree_get_row_drag_data
-gtk_tree_set_row_drag_data
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TREE_MODEL_H__)
-#if IN_FILE(__GTK_TREE_MODEL_C__)
 gtk_tree_iter_copy
 gtk_tree_iter_free
 gtk_tree_iter_get_type G_GNUC_CONST
+gtk_tree_model_filter_clear_cache
+gtk_tree_model_filter_convert_child_iter_to_iter
+gtk_tree_model_filter_convert_child_path_to_path
+gtk_tree_model_filter_convert_iter_to_child_iter
+gtk_tree_model_filter_convert_path_to_child_path
+gtk_tree_model_filter_get_model
+gtk_tree_model_filter_get_type G_GNUC_CONST
+gtk_tree_model_filter_new
+gtk_tree_model_filter_refilter
+gtk_tree_model_filter_set_modify_func
+gtk_tree_model_filter_set_visible_column
+gtk_tree_model_filter_set_visible_func
+gtk_tree_model_flags_get_type G_GNUC_CONST
 gtk_tree_model_foreach
 gtk_tree_model_get
 gtk_tree_model_get_column_type
@@ -3785,6 +2820,16 @@ gtk_tree_model_row_deleted
 gtk_tree_model_row_has_child_toggled
 gtk_tree_model_row_inserted
 gtk_tree_model_rows_reordered
+gtk_tree_model_sort_clear_cache
+gtk_tree_model_sort_convert_child_iter_to_iter
+gtk_tree_model_sort_convert_child_path_to_path
+gtk_tree_model_sort_convert_iter_to_child_iter
+gtk_tree_model_sort_convert_path_to_child_path
+gtk_tree_model_sort_get_model
+gtk_tree_model_sort_get_type G_GNUC_CONST
+gtk_tree_model_sort_iter_is_valid
+gtk_tree_model_sort_new_with_model
+gtk_tree_model_sort_reset_default_sort_func
 gtk_tree_model_unref_node
 gtk_tree_path_append_index
 gtk_tree_path_compare
@@ -3817,48 +2862,11 @@ gtk_tree_row_reference_new
 gtk_tree_row_reference_new_proxy
 gtk_tree_row_reference_reordered
 gtk_tree_row_reference_valid
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TREE_MODEL_SORT_H__)
-#if IN_FILE(__GTK_TREE_MODEL_SORT_C__)
-gtk_tree_model_sort_clear_cache
-gtk_tree_model_sort_convert_child_iter_to_iter
-gtk_tree_model_sort_convert_child_path_to_path
-gtk_tree_model_sort_convert_iter_to_child_iter
-gtk_tree_model_sort_convert_path_to_child_path
-gtk_tree_model_sort_get_model
-gtk_tree_model_sort_get_type G_GNUC_CONST
-gtk_tree_model_sort_iter_is_valid
-gtk_tree_model_sort_new_with_model
-gtk_tree_model_sort_reset_default_sort_func
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TREE_MODEL_FILTER_H__)
-#if IN_FILE(__GTK_TREE_MODEL_FILTER_C__)
-gtk_tree_model_filter_clear_cache
-gtk_tree_model_filter_convert_child_iter_to_iter
-gtk_tree_model_filter_convert_child_path_to_path
-gtk_tree_model_filter_convert_iter_to_child_iter
-gtk_tree_model_filter_convert_path_to_child_path
-gtk_tree_model_filter_get_model
-gtk_tree_model_filter_get_type G_GNUC_CONST
-gtk_tree_model_filter_new
-gtk_tree_model_filter_refilter
-gtk_tree_model_filter_set_modify_func
-gtk_tree_model_filter_set_visible_column
-gtk_tree_model_filter_set_visible_func
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TREE_SELECTION_H__)
-#if IN_FILE(__GTK_TREE_SELECTION_C__)
 gtk_tree_selection_count_selected_rows
 gtk_tree_selection_get_mode
-gtk_tree_selection_get_select_function
 gtk_tree_selection_get_selected
 gtk_tree_selection_get_selected_rows
+gtk_tree_selection_get_select_function
 gtk_tree_selection_get_tree_view
 gtk_tree_selection_get_type G_GNUC_CONST
 gtk_tree_selection_get_user_data
@@ -3875,11 +2883,7 @@ gtk_tree_selection_unselect_all
 gtk_tree_selection_unselect_iter
 gtk_tree_selection_unselect_path
 gtk_tree_selection_unselect_range
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TREE_SORTABLE_H__)
-#if IN_FILE(__GTK_TREE_SORTABLE_C__)
+gtk_tree_set_row_drag_data
 gtk_tree_sortable_get_sort_column_id
 gtk_tree_sortable_get_type G_GNUC_CONST
 gtk_tree_sortable_has_default_sort_func
@@ -3887,11 +2891,6 @@ gtk_tree_sortable_set_default_sort_func
 gtk_tree_sortable_set_sort_column_id
 gtk_tree_sortable_set_sort_func
 gtk_tree_sortable_sort_column_changed
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TREE_STORE_H__)
-#if IN_FILE(__GTK_TREE_STORE_C__)
 gtk_tree_store_append
 gtk_tree_store_clear
 gtk_tree_store_get_type G_GNUC_CONST
@@ -3916,11 +2915,9 @@ gtk_tree_store_set_valist
 gtk_tree_store_set_value
 gtk_tree_store_set_valuesv
 gtk_tree_store_swap
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TREE_VIEW_COLUMN_H__)
-#if IN_FILE(__GTK_TREE_VIEW_COLUMN_C__)
+gtk_tree_view_append_column
+gtk_tree_view_collapse_all
+gtk_tree_view_collapse_row
 gtk_tree_view_column_add_attribute
 gtk_tree_view_column_cell_get_position
 gtk_tree_view_column_cell_get_size
@@ -3952,8 +2949,9 @@ gtk_tree_view_column_get_width
 gtk_tree_view_column_new
 gtk_tree_view_column_new_with_attributes G_GNUC_NULL_TERMINATED
 gtk_tree_view_column_pack_end
-gtk_tree_view_column_queue_resize
 gtk_tree_view_column_pack_start
+gtk_tree_view_column_queue_resize
+gtk_tree_view_columns_autosize
 gtk_tree_view_column_set_alignment
 gtk_tree_view_column_set_attributes
 gtk_tree_view_column_set_cell_data_func
@@ -3972,14 +2970,7 @@ gtk_tree_view_column_set_spacing
 gtk_tree_view_column_set_title
 gtk_tree_view_column_set_visible
 gtk_tree_view_column_set_widget
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TREE_VIEW_H__)
-#if IN_FILE(__GTK_TREE_VIEW_C__)
-gtk_tree_view_append_column
-gtk_tree_view_collapse_all
-gtk_tree_view_collapse_row
+gtk_tree_view_column_sizing_get_type G_GNUC_CONST
 gtk_tree_view_convert_bin_window_to_tree_coords
 gtk_tree_view_convert_bin_window_to_widget_coords
 gtk_tree_view_convert_tree_to_bin_window_coords
@@ -3987,6 +2978,7 @@ gtk_tree_view_convert_tree_to_widget_coords
 gtk_tree_view_convert_widget_to_bin_window_coords
 gtk_tree_view_convert_widget_to_tree_coords
 gtk_tree_view_create_row_drag_icon
+gtk_tree_view_drop_position_get_type G_GNUC_CONST
 gtk_tree_view_enable_model_drag_dest
 gtk_tree_view_enable_model_drag_source
 gtk_tree_view_expand_all
@@ -4029,6 +3021,7 @@ gtk_tree_view_get_type G_GNUC_CONST
 gtk_tree_view_get_vadjustment
 gtk_tree_view_get_visible_range
 gtk_tree_view_get_visible_rect
+gtk_tree_view_grid_lines_get_type G_GNUC_CONST
 gtk_tree_view_insert_column
 gtk_tree_view_insert_column_with_attributes G_GNUC_NULL_TERMINATED
 gtk_tree_view_insert_column_with_data_func
@@ -4067,23 +3060,12 @@ gtk_tree_view_set_search_entry
 gtk_tree_view_set_search_equal_func
 gtk_tree_view_set_search_position_func
 gtk_tree_view_set_show_expanders
-gtk_tree_view_set_tooltip_row
 gtk_tree_view_set_tooltip_cell
 gtk_tree_view_set_tooltip_column
+gtk_tree_view_set_tooltip_row
 gtk_tree_view_unset_rows_drag_dest
 gtk_tree_view_unset_rows_drag_source
-gtk_tree_view_columns_autosize
-#endif
-#endif
-
-#if IN_HEADER(__GTK_TYPE_UTILS_H__)
-#if IN_FILE(__GTK_TYPE_UTILS_C__)
-gtk_identifier_get_type G_GNUC_CONST
-#endif
-#endif
-
-#if IN_HEADER(__GTK_UI_MANAGER_H__)
-#if IN_FILE(__GTK_UI_MANAGER_C__)
+gtk_true G_GNUC_CONST
 gtk_ui_manager_add_ui
 gtk_ui_manager_add_ui_from_file
 gtk_ui_manager_add_ui_from_string
@@ -4097,98 +3079,43 @@ gtk_ui_manager_get_type G_GNUC_CONST
 gtk_ui_manager_get_ui
 gtk_ui_manager_get_widget
 gtk_ui_manager_insert_action_group
+gtk_ui_manager_item_type_get_type G_GNUC_CONST
 gtk_ui_manager_new
 gtk_ui_manager_new_merge_id
 gtk_ui_manager_remove_action_group
 gtk_ui_manager_remove_ui
 gtk_ui_manager_set_add_tearoffs
-#endif
-#endif
-
-#if IN_HEADER(__GTK_VBOX_H__)
-#if IN_FILE(__GTK_VBOX_C__)
+gtk_unit_get_type G_GNUC_CONST
+gtk_update_type_get_type G_GNUC_CONST
 gtk_vbox_get_type G_GNUC_CONST
 gtk_vbox_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_VBBOX_H__)
-#if IN_FILE(__GTK_VBBOX_C__)
 gtk_vbutton_box_get_type G_GNUC_CONST
 gtk_vbutton_box_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_VIEWPORT_H__)
-#if IN_FILE(__GTK_VIEWPORT_C__)
+gtk_viewport_get_bin_window
 gtk_viewport_get_hadjustment
 gtk_viewport_get_shadow_type
 gtk_viewport_get_type G_GNUC_CONST
 gtk_viewport_get_vadjustment
-gtk_viewport_get_bin_window
 gtk_viewport_get_view_window
 gtk_viewport_new
 gtk_viewport_set_hadjustment
 gtk_viewport_set_shadow_type
 gtk_viewport_set_vadjustment
-#endif
-#endif
-
-#if IN_HEADER(__GTK_VOLUME_BUTTON_H__)
-#if IN_FILE(__GTK_VOLUME_BUTTON_C__)
 gtk_volume_button_get_type G_GNUC_CONST
 gtk_volume_button_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_VPANED_H__)
-#if IN_FILE(__GTK_VPANED_C__)
 gtk_vpaned_get_type G_GNUC_CONST
 gtk_vpaned_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_VRULER_H__)
-#if IN_FILE(__GTK_VRULER_C__)
-gtk_vruler_get_type G_GNUC_CONST
-gtk_vruler_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_VSCALE_H__)
-#if IN_FILE(__GTK_VSCALE_C__)
 gtk_vscale_get_type G_GNUC_CONST
 gtk_vscale_new
 gtk_vscale_new_with_range
-#endif
-#endif
-
-#if IN_HEADER(__GTK_VSCROLLBAR_H__)
-#if IN_FILE(__GTK_VSCROLLBAR_C__)
 gtk_vscrollbar_get_type G_GNUC_CONST
 gtk_vscrollbar_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_VSEPARATOR_H__)
-#if IN_FILE(__GTK_VSEPARATOR_C__)
 gtk_vseparator_get_type G_GNUC_CONST
 gtk_vseparator_new
-#endif
-#endif
-
-#if IN_HEADER(__GTK_WIDGET_H__)
-#if IN_FILE(__GTK_WIDGET_C__)
-gtk_cairo_should_draw_window
-gtk_requisition_copy
-gtk_requisition_free
-gtk_requisition_get_type G_GNUC_CONST
-gtk_requisition_new G_GNUC_MALLOC
 gtk_widget_activate
-gtk_widget_is_composited
 gtk_widget_add_accelerator
-gtk_widget_add_events
 gtk_widget_add_device_events
+gtk_widget_add_events
 gtk_widget_add_mnemonic_label
 gtk_widget_can_activate_accel
 gtk_widget_child_focus
@@ -4198,36 +3125,47 @@ gtk_widget_class_install_style_property
 gtk_widget_class_install_style_property_parser
 gtk_widget_class_list_style_properties
 gtk_widget_class_path
+gtk_widget_compute_expand
 gtk_widget_create_pango_context
 gtk_widget_create_pango_layout
 gtk_widget_destroy
 gtk_widget_destroyed
+gtk_widget_device_is_shadowed
 gtk_widget_draw
 gtk_widget_ensure_style
 gtk_widget_error_bell
 gtk_widget_event
 gtk_widget_freeze_child_notify
 gtk_widget_get_accessible
-gtk_widget_get_allocation
-gtk_widget_get_allocated_width
 gtk_widget_get_allocated_height
+gtk_widget_get_allocated_width
+gtk_widget_get_allocation
 gtk_widget_get_ancestor
 gtk_widget_get_app_paintable
-#ifndef GTK_DISABLE_DEPRECATED
+gtk_widget_get_can_default
+gtk_widget_get_can_focus
 gtk_widget_get_child_requisition
-#endif
 gtk_widget_get_child_visible
 gtk_widget_get_clipboard
 gtk_widget_get_composite_name
 gtk_widget_get_default_direction
 gtk_widget_get_default_style
+gtk_widget_get_device_events
 gtk_widget_get_direction
 gtk_widget_get_display
 gtk_widget_get_double_buffered
 gtk_widget_get_events
-gtk_widget_get_device_events
 gtk_widget_get_extension_events
+gtk_widget_get_halign
 gtk_widget_get_has_tooltip
+gtk_widget_get_has_window
+gtk_widget_get_hexpand
+gtk_widget_get_hexpand_set
+gtk_widget_get_mapped
+gtk_widget_get_margin_bottom
+gtk_widget_get_margin_left
+gtk_widget_get_margin_right
+gtk_widget_get_margin_top
 gtk_widget_get_modifier_style
 gtk_widget_get_name
 gtk_widget_get_no_show_all
@@ -4235,24 +3173,34 @@ gtk_widget_get_pango_context
 gtk_widget_get_parent
 gtk_widget_get_parent_window
 gtk_widget_get_pointer
+gtk_widget_get_preferred_height
+gtk_widget_get_preferred_height_for_width
+gtk_widget_get_preferred_size
+gtk_widget_get_preferred_width
+gtk_widget_get_preferred_width_for_height
+gtk_widget_get_realized
 gtk_widget_get_receives_default
-gtk_widget_get_root_window
+gtk_widget_get_request_mode
 gtk_widget_get_requisition
+gtk_widget_get_root_window
 gtk_widget_get_screen
 gtk_widget_get_sensitive
 gtk_widget_get_settings
 gtk_widget_get_size_request
 gtk_widget_get_state
 gtk_widget_get_style
+gtk_widget_get_support_multidevice
 gtk_widget_get_tooltip_markup
 gtk_widget_get_tooltip_text
 gtk_widget_get_tooltip_window
 gtk_widget_get_toplevel
-gtk_cairo_transform_to_window
 gtk_widget_get_type G_GNUC_CONST
+gtk_widget_get_valign
+gtk_widget_get_vexpand
+gtk_widget_get_vexpand_set
 gtk_widget_get_visible
 gtk_widget_get_visual
-gtk_widget_get_request_mode
+gtk_widget_get_window
 gtk_widget_grab_default
 gtk_widget_grab_focus
 gtk_widget_has_default
@@ -4260,14 +3208,18 @@ gtk_widget_has_focus
 gtk_widget_has_grab
 gtk_widget_has_rc_style
 gtk_widget_has_screen
+gtk_widget_help_type_get_type G_GNUC_CONST
 gtk_widget_hide
 gtk_widget_hide_on_delete
+gtk_widget_in_destruction
+gtk_widget_input_shape_combine_region
 gtk_widget_intersect
 gtk_widget_is_ancestor
+gtk_widget_is_composited
+gtk_widget_is_drawable
 gtk_widget_is_focus
 gtk_widget_is_sensitive
 gtk_widget_is_toplevel
-gtk_widget_is_drawable
 gtk_widget_keynav_failed
 gtk_widget_list_accel_closures
 gtk_widget_list_mnemonic_labels
@@ -4275,16 +3227,17 @@ gtk_widget_map
 gtk_widget_mnemonic_activate
 gtk_widget_modify_base
 gtk_widget_modify_bg
-gtk_widget_modify_fg
 gtk_widget_modify_cursor
+gtk_widget_modify_fg
 gtk_widget_modify_font
 gtk_widget_modify_style
-gtk_widget_modify_text
 gtk_widget_modify_symbolic_color
+gtk_widget_modify_text
 gtk_widget_new
 gtk_widget_path
 gtk_widget_pop_composite_child
 gtk_widget_push_composite_child
+gtk_widget_queue_compute_expand
 gtk_widget_queue_draw
 gtk_widget_queue_draw_area
 gtk_widget_queue_draw_region
@@ -4303,40 +3256,53 @@ gtk_widget_send_focus_change
 gtk_widget_set_accel_path
 gtk_widget_set_allocation
 gtk_widget_set_app_paintable
+gtk_widget_set_can_default
+gtk_widget_set_can_focus
 gtk_widget_set_child_visible
 gtk_widget_set_composite_name
 gtk_widget_set_default_direction
+gtk_widget_set_device_events
 gtk_widget_set_direction
 gtk_widget_set_double_buffered
 gtk_widget_set_events
-gtk_widget_set_device_events
 gtk_widget_set_extension_events
+gtk_widget_set_halign
 gtk_widget_set_has_tooltip
+gtk_widget_set_has_window
+gtk_widget_set_hexpand
+gtk_widget_set_hexpand_set
+gtk_widget_set_mapped
+gtk_widget_set_margin_bottom
+gtk_widget_set_margin_left
+gtk_widget_set_margin_right
+gtk_widget_set_margin_top
 gtk_widget_set_name
 gtk_widget_set_no_show_all
 gtk_widget_set_parent
 gtk_widget_set_parent_window
+gtk_widget_set_realized
 gtk_widget_set_receives_default
 gtk_widget_set_redraw_on_allocate
 gtk_widget_set_sensitive
 gtk_widget_set_size_request
 gtk_widget_set_state
 gtk_widget_set_style
+gtk_widget_set_support_multidevice
 gtk_widget_set_tooltip_markup
 gtk_widget_set_tooltip_text
 gtk_widget_set_tooltip_window
+gtk_widget_set_valign
+gtk_widget_set_vexpand
+gtk_widget_set_vexpand_set
 gtk_widget_set_visible
 gtk_widget_set_visual
 gtk_widget_set_window
 gtk_widget_shape_combine_region
-gtk_widget_input_shape_combine_region
 gtk_widget_show
 gtk_widget_show_all
 gtk_widget_show_now
 gtk_widget_size_allocate
-#ifndef GTK_DISABLE_DEPRECATED
 gtk_widget_size_request
-#endif
 gtk_widget_style_attach
 gtk_widget_style_get G_GNUC_NULL_TERMINATED
 gtk_widget_style_get_property
@@ -4347,53 +3313,7 @@ gtk_widget_trigger_tooltip_query
 gtk_widget_unmap
 gtk_widget_unparent
 gtk_widget_unrealize
-gtk_widget_get_window
-gtk_widget_set_has_window
-gtk_widget_get_has_window
-gtk_widget_set_can_default
-gtk_widget_get_can_default
-gtk_widget_set_can_focus
-gtk_widget_get_can_focus
-gtk_widget_set_realized
-gtk_widget_get_realized
-gtk_widget_set_mapped
-gtk_widget_get_mapped
-gtk_widget_get_support_multidevice
-gtk_widget_set_support_multidevice
-gtk_widget_device_is_shadowed
-gtk_widget_get_halign
-gtk_widget_set_halign
-gtk_widget_get_valign
-gtk_widget_set_valign
-gtk_widget_get_margin_left
-gtk_widget_set_margin_left
-gtk_widget_get_margin_right
-gtk_widget_set_margin_right
-gtk_widget_get_margin_top
-gtk_widget_set_margin_top
-gtk_widget_get_margin_bottom
-gtk_widget_set_margin_bottom
-gtk_widget_in_destruction
-gtk_widget_get_preferred_height
-gtk_widget_get_preferred_height_for_width
-gtk_widget_get_preferred_size
-gtk_widget_get_preferred_width
-gtk_widget_get_preferred_width_for_height
-gtk_widget_get_hexpand
-gtk_widget_set_hexpand
-gtk_widget_get_hexpand_set
-gtk_widget_set_hexpand_set
-gtk_widget_get_vexpand
-gtk_widget_set_vexpand
-gtk_widget_get_vexpand_set
-gtk_widget_set_vexpand_set
-gtk_widget_queue_compute_expand
-gtk_widget_compute_expand
-#endif
-#endif
-
-#if IN_HEADER(__GTK_WINDOW_H__)
-#if IN_FILE(__GTK_WINDOW_C__)
+gtk_win32_embed_widget_get_type G_GNUC_CONST
 gtk_window_activate_default
 gtk_window_activate_focus
 gtk_window_activate_key
@@ -4407,11 +3327,11 @@ gtk_window_fullscreen
 gtk_window_get_accept_focus
 gtk_window_get_application
 gtk_window_get_decorated
-gtk_window_get_deletable
-gtk_window_get_default_widget
 gtk_window_get_default_icon_list
 gtk_window_get_default_icon_name
 gtk_window_get_default_size
+gtk_window_get_default_widget
+gtk_window_get_deletable
 gtk_window_get_destroy_with_parent
 gtk_window_get_focus
 gtk_window_get_focus_on_map
@@ -4426,6 +3346,7 @@ gtk_window_get_icon_name
 gtk_window_get_mnemonic_modifier
 gtk_window_get_mnemonics_visible
 gtk_window_get_modal
+gtk_window_get_opacity
 gtk_window_get_position
 gtk_window_get_resizable
 gtk_window_get_resize_grip_area
@@ -4434,19 +3355,19 @@ gtk_window_get_screen
 gtk_window_get_size
 gtk_window_get_skip_pager_hint
 gtk_window_get_skip_taskbar_hint
-gtk_window_get_urgency_hint
 gtk_window_get_title
 gtk_window_get_transient_for
 gtk_window_get_type G_GNUC_CONST
 gtk_window_get_type_hint
+gtk_window_get_urgency_hint
 gtk_window_get_window_type
 gtk_window_group_add_window
+gtk_window_group_get_current_device_grab
+gtk_window_group_get_current_grab
 gtk_window_group_get_type G_GNUC_CONST
+gtk_window_group_list_windows
 gtk_window_group_new
 gtk_window_group_remove_window
-gtk_window_group_list_windows
-gtk_window_group_get_current_grab
-gtk_window_group_get_current_device_grab
 gtk_window_has_group
 gtk_window_has_toplevel_focus
 gtk_window_iconify
@@ -4457,6 +3378,7 @@ gtk_window_mnemonic_activate
 gtk_window_move
 gtk_window_new
 gtk_window_parse_geometry
+gtk_window_position_get_type G_GNUC_CONST
 gtk_window_present
 gtk_window_present_with_time
 gtk_window_propagate_key_event
@@ -4471,7 +3393,6 @@ gtk_window_set_accept_focus
 gtk_window_set_application
 gtk_window_set_auto_startup_notification
 gtk_window_set_decorated
-gtk_window_set_deletable
 gtk_window_set_default
 gtk_window_set_default_geometry
 gtk_window_set_default_icon
@@ -4479,10 +3400,10 @@ gtk_window_set_default_icon_from_file
 gtk_window_set_default_icon_list
 gtk_window_set_default_icon_name
 gtk_window_set_default_size
+gtk_window_set_deletable
 gtk_window_set_destroy_with_parent
 gtk_window_set_focus
 gtk_window_set_focus_on_map
-gtk_window_set_startup_id
 gtk_window_set_frame_dimensions
 gtk_window_set_geometry_hints
 gtk_window_set_gravity
@@ -4498,65 +3419,21 @@ gtk_window_set_mnemonic_modifier
 gtk_window_set_mnemonics_visible
 gtk_window_set_modal
 gtk_window_set_opacity
-gtk_window_get_opacity
 gtk_window_set_position
 gtk_window_set_resizable
 gtk_window_set_role
 gtk_window_set_screen
 gtk_window_set_skip_pager_hint
 gtk_window_set_skip_taskbar_hint
-gtk_window_set_urgency_hint
+gtk_window_set_startup_id
 gtk_window_set_title
 gtk_window_set_transient_for
 gtk_window_set_type_hint
+gtk_window_set_urgency_hint
 gtk_window_set_wmclass
 gtk_window_stick
+gtk_window_type_get_type G_GNUC_CONST
 gtk_window_unfullscreen
 gtk_window_unmaximize
 gtk_window_unstick
-#endif
-#endif
-
-
-#if IN_HEADER(__GTK_WIN32_EMBED_WIDGET_H__)
-#if IN_FILE(__GTK_WIN32_EMBED_WIDGET_C__)
-#ifdef G_OS_WIN32
-gtk_win32_embed_widget_get_type G_GNUC_CONST
-#endif
-#endif
-#endif
-
-#if IN_HEADER(__GTK_INFO_BAR_H__)
-#if IN_FILE(__GTK_INFO_BAR_C__)
-gtk_info_bar_get_type G_GNUC_CONST
-gtk_info_bar_new
-gtk_info_bar_new_with_buttons
-gtk_info_bar_get_action_area
-gtk_info_bar_get_content_area
-gtk_info_bar_add_action_widget
-gtk_info_bar_add_button
-gtk_info_bar_add_buttons
-gtk_info_bar_set_response_sensitive
-gtk_info_bar_set_default_response
-gtk_info_bar_response
-gtk_info_bar_set_message_type
-gtk_info_bar_get_message_type
-#endif
-#endif
-
-#if IN_HEADER(__GTK_GRID_H__)
-#if IN_FILE(__GTK_GRID_c__)
-gtk_grid_get_type G_GNUC_CONST
-gtk_grid_new
-gtk_grid_attach
-gtk_grid_attach_next_to
-gtk_grid_set_row_homogeneous
-gtk_grid_get_row_homogeneous
-gtk_grid_set_row_spacing
-gtk_grid_get_row_spacing
-gtk_grid_set_column_homogeneous
-gtk_grid_get_column_homogeneous
-gtk_grid_set_column_spacing
-gtk_grid_get_column_spacing
-#endif
-#endif
+gtk_wrap_mode_get_type G_GNUC_CONST
index 633a3c7dc806564925842b3e36c945fe8cc9ff71..677f16acb9e35ca4f52d61fdb5a9688048ccca13 100644 (file)
@@ -1401,7 +1401,7 @@ update_credits_button_visibility (GtkAboutDialog *about)
 /**
  * gtk_about_dialog_set_authors:
  * @about: a #GtkAboutDialog
- * @authors: a %NULL-terminated array of strings
+ * @authors: (array zero-terminated=1): a %NULL-terminated array of strings
  *
  * Sets the strings which are displayed in the authors tab
  * of the secondary credits dialog.
@@ -1456,7 +1456,7 @@ gtk_about_dialog_get_documenters (GtkAboutDialog *about)
 /**
  * gtk_about_dialog_set_documenters:
  * @about: a #GtkAboutDialog
- * @documenters: a %NULL-terminated array of strings
+ * @documenters: (array zero-terminated=1): a %NULL-terminated array of strings
  *
  * Sets the strings which are displayed in the documenters tab
  * of the secondary credits dialog.
@@ -1511,7 +1511,7 @@ gtk_about_dialog_get_artists (GtkAboutDialog *about)
 /**
  * gtk_about_dialog_set_artists:
  * @about: a #GtkAboutDialog
- * @artists: a %NULL-terminated array of strings
+ * @artists: (array zero-terminated=1): a %NULL-terminated array of strings
  *
  * Sets the strings which are displayed in the artists tab
  * of the secondary credits dialog.
index 9786b3b4126463793d61904594aff8a7a1e1b000..e3c4b42e83e181e4b5b094286492d924d5ca377a 100644 (file)
@@ -274,17 +274,13 @@ gtk_box_class_init (GtkBoxClass *class)
    * GtkBox:fill:
    *
    * Whether the child should receive extra space when the parent grows.
-   *
-   * Note that the default value for this property is %FALSE for GtkBox,
-   * but #GtkHBox, #GtkVBox and other subclasses use the old default
-   * of %TRUE.
    */
   gtk_container_class_install_child_property (container_class,
                                              CHILD_PROP_FILL,
                                              g_param_spec_boolean ("fill",
                                                                    P_("Fill"),
                                                                    P_("Whether extra space given to the child should be allocated to the child or used as padding"),
-                                                                   FALSE,
+                                                                   TRUE,
                                                                    GTK_PARAM_READWRITE));
 
   gtk_container_class_install_child_property (container_class,
@@ -1648,7 +1644,7 @@ gtk_box_add (GtkContainer *container,
 
   gtk_box_pack_start (GTK_BOX (container), widget,
                       priv->default_expand,
-                      priv->default_expand,
+                      TRUE,
                       0);
 }
 
index 5a37262acef08b04d123ff2c2a929c3946801301..71fb865f437f11c3dff75b2c7bc0df9a789a588f 100644 (file)
  */
 
 #include "config.h"
+
+#include "gtkbutton.h"
+#include "gtkbuttonprivate.h"
+
 #include <string.h>
 #include "gtkalignment.h"
-#include "gtkbutton.h"
 #include "gtklabel.h"
 #include "gtkmain.h"
 #include "gtkmarshalers.h"
@@ -65,6 +68,7 @@ static const GtkBorder default_inner_border = { 1, 1, 1, 1 };
  */
 #define ACTIVATE_TIMEOUT 250
 
+
 enum {
   PRESSED,
   RELEASED,
@@ -92,22 +96,6 @@ enum {
   PROP_ACTIVATABLE_USE_ACTION_APPEARANCE
 };
 
-#define GTK_BUTTON_GET_PRIVATE(o)       (G_TYPE_INSTANCE_GET_PRIVATE ((o), GTK_TYPE_BUTTON, GtkButtonPrivate))
-typedef struct _GtkButtonPrivate GtkButtonPrivate;
-
-struct _GtkButtonPrivate
-{
-  gfloat          xalign;
-  gfloat          yalign;
-  GtkWidget      *image;
-  guint           align_set             : 1;
-  guint           image_is_stock        : 1;
-  guint           use_action_appearance : 1;
-  guint32         grab_time;
-  GdkDevice      *grab_keyboard;
-  GtkPositionType image_position;
-  GtkAction      *action;
-};
 
 static void gtk_button_destroy        (GtkWidget          *widget);
 static void gtk_button_dispose        (GObject            *object);
@@ -544,23 +532,28 @@ gtk_button_class_init (GtkButtonClass *klass)
 static void
 gtk_button_init (GtkButton *button)
 {
-  GtkButtonPrivate *priv = GTK_BUTTON_GET_PRIVATE (button);
+  GtkButtonPrivate *priv;
+
+  button->priv = G_TYPE_INSTANCE_GET_PRIVATE (button,
+                                              GTK_TYPE_BUTTON,
+                                              GtkButtonPrivate);
+  priv = button->priv;
 
   gtk_widget_set_can_focus (GTK_WIDGET (button), TRUE);
   gtk_widget_set_receives_default (GTK_WIDGET (button), TRUE);
   gtk_widget_set_has_window (GTK_WIDGET (button), FALSE);
 
-  button->label_text = NULL;
-  
-  button->constructed = FALSE;
-  button->in_button = FALSE;
-  button->button_down = FALSE;
-  button->relief = GTK_RELIEF_NORMAL;
-  button->use_stock = FALSE;
-  button->use_underline = FALSE;
-  button->depressed = FALSE;
-  button->depress_on_activate = TRUE;
-  button->focus_on_click = TRUE;
+  priv->label_text = NULL;
+
+  priv->constructed = FALSE;
+  priv->in_button = FALSE;
+  priv->button_down = FALSE;
+  priv->relief = GTK_RELIEF_NORMAL;
+  priv->use_stock = FALSE;
+  priv->use_underline = FALSE;
+  priv->depressed = FALSE;
+  priv->depress_on_activate = TRUE;
+  priv->focus_on_click = TRUE;
 
   priv->xalign = 0.5;
   priv->yalign = 0.5;
@@ -574,11 +567,12 @@ static void
 gtk_button_destroy (GtkWidget *widget)
 {
   GtkButton *button = GTK_BUTTON (widget);
+  GtkButtonPrivate *priv = button->priv;
 
-  if (button->label_text)
+  if (priv->label_text)
     {
-      g_free (button->label_text);
-      button->label_text = NULL;
+      g_free (priv->label_text);
+      priv->label_text = NULL;
     }
 
   GTK_WIDGET_CLASS (gtk_button_parent_class)->destroy (widget);
@@ -591,15 +585,18 @@ gtk_button_constructor (GType                  type,
 {
   GObject *object;
   GtkButton *button;
+  GtkButtonPrivate *priv;
 
   object = G_OBJECT_CLASS (gtk_button_parent_class)->constructor (type,
                                                                   n_construct_properties,
                                                                   construct_params);
 
   button = GTK_BUTTON (object);
-  button->constructed = TRUE;
+  priv = button->priv;
+
+  priv->constructed = TRUE;
 
-  if (button->label_text != NULL)
+  if (priv->label_text != NULL)
     gtk_button_construct_child (button);
   
   return object;
@@ -619,7 +616,7 @@ static void
 maybe_set_alignment (GtkButton *button,
                     GtkWidget *widget)
 {
-  GtkButtonPrivate *priv = GTK_BUTTON_GET_PRIVATE (button);
+  GtkButtonPrivate *priv = button->priv;
 
   if (GTK_IS_MISC (widget))
     {
@@ -658,7 +655,7 @@ static void
 gtk_button_dispose (GObject *object)
 {
   GtkButton *button = GTK_BUTTON (object);
-  GtkButtonPrivate *priv = GTK_BUTTON_GET_PRIVATE (button);
+  GtkButtonPrivate *priv = button->priv;
 
   if (priv->action)
     {
@@ -675,7 +672,7 @@ gtk_button_set_property (GObject         *object,
                          GParamSpec      *pspec)
 {
   GtkButton *button = GTK_BUTTON (object);
-  GtkButtonPrivate *priv = GTK_BUTTON_GET_PRIVATE (button);
+  GtkButtonPrivate *priv = button->priv;
 
   switch (prop_id)
     {
@@ -725,27 +722,27 @@ gtk_button_get_property (GObject         *object,
                          GParamSpec      *pspec)
 {
   GtkButton *button = GTK_BUTTON (object);
-  GtkButtonPrivate *priv = GTK_BUTTON_GET_PRIVATE (button);
+  GtkButtonPrivate *priv = button->priv;
 
   switch (prop_id)
     {
     case PROP_LABEL:
-      g_value_set_string (value, button->label_text);
+      g_value_set_string (value, priv->label_text);
       break;
     case PROP_IMAGE:
       g_value_set_object (value, (GObject *)priv->image);
       break;
     case PROP_RELIEF:
-      g_value_set_enum (value, gtk_button_get_relief (button));
+      g_value_set_enum (value, priv->relief);
       break;
     case PROP_USE_UNDERLINE:
-      g_value_set_boolean (value, button->use_underline);
+      g_value_set_boolean (value, priv->use_underline);
       break;
     case PROP_USE_STOCK:
-      g_value_set_boolean (value, button->use_stock);
+      g_value_set_boolean (value, priv->use_stock);
       break;
     case PROP_FOCUS_ON_CLICK:
-      g_value_set_boolean (value, button->focus_on_click);
+      g_value_set_boolean (value, priv->focus_on_click);
       break;
     case PROP_XALIGN:
       g_value_set_float (value, priv->xalign);
@@ -844,7 +841,8 @@ gtk_button_update (GtkActivatable *activatable,
                   GtkAction      *action,
                   const gchar    *property_name)
 {
-  GtkButtonPrivate *priv = GTK_BUTTON_GET_PRIVATE (activatable);
+  GtkButton *button = GTK_BUTTON (activatable);
+  GtkButtonPrivate *priv = button->priv;
 
   if (strcmp (property_name, "visible") == 0)
     {
@@ -873,7 +871,8 @@ static void
 gtk_button_sync_action_properties (GtkActivatable *activatable,
                                   GtkAction      *action)
 {
-  GtkButtonPrivate *priv = GTK_BUTTON_GET_PRIVATE (activatable);
+  GtkButton *button = GTK_BUTTON (activatable);
+  GtkButtonPrivate *priv = button->priv;
 
   if (!action)
     return;
@@ -898,7 +897,7 @@ static void
 gtk_button_set_related_action (GtkButton *button,
                               GtkAction *action)
 {
-  GtkButtonPrivate *priv = GTK_BUTTON_GET_PRIVATE (button);
+  GtkButtonPrivate *priv = button->priv;
 
   if (priv->action == action)
     return;
@@ -921,7 +920,7 @@ static void
 gtk_button_set_use_action_appearance (GtkButton *button,
                                      gboolean   use_appearance)
 {
-  GtkButtonPrivate *priv = GTK_BUTTON_GET_PRIVATE (button);
+  GtkButtonPrivate *priv = button->priv;
 
   if (priv->use_action_appearance != use_appearance)
     {
@@ -948,9 +947,10 @@ gtk_button_new (void)
 static gboolean
 show_image (GtkButton *button)
 {
+  GtkButtonPrivate *priv = button->priv;
   gboolean show;
-  
-  if (button->label_text)
+
+  if (priv->label_text)
     {
       GtkSettings *settings;
 
@@ -966,7 +966,7 @@ show_image (GtkButton *button)
 static void
 gtk_button_construct_child (GtkButton *button)
 {
-  GtkButtonPrivate *priv = GTK_BUTTON_GET_PRIVATE (button);
+  GtkButtonPrivate *priv = button->priv;
   GtkStockItem item;
   GtkWidget *child;
   GtkWidget *label;
@@ -976,10 +976,10 @@ gtk_button_construct_child (GtkButton *button)
   gchar *label_text = NULL;
   gint image_spacing;
 
-  if (!button->constructed)
+  if (!priv->constructed)
     return;
 
-  if (!button->label_text && !priv->image)
+  if (!priv->label_text && !priv->image)
     return;
 
   gtk_widget_style_get (GTK_WIDGET (button),
@@ -1003,17 +1003,17 @@ gtk_button_construct_child (GtkButton *button)
   if (child)
     gtk_container_remove (GTK_CONTAINER (button), child);
 
-  if (button->use_stock &&
-      button->label_text &&
-      gtk_stock_lookup (button->label_text, &item))
+  if (priv->use_stock &&
+      priv->label_text &&
+      gtk_stock_lookup (priv->label_text, &item))
     {
       if (!image)
-       image = g_object_ref (gtk_image_new_from_stock (button->label_text, GTK_ICON_SIZE_BUTTON));
+       image = g_object_ref (gtk_image_new_from_stock (priv->label_text, GTK_ICON_SIZE_BUTTON));
 
       label_text = item.label;
     }
   else
-    label_text = button->label_text;
+    label_text = priv->label_text;
 
   if (image)
     {
@@ -1042,7 +1042,7 @@ gtk_button_construct_child (GtkButton *button)
 
       if (label_text)
        {
-          if (button->use_underline || button->use_stock)
+          if (priv->use_underline || priv->use_stock)
             {
              label = gtk_label_new_with_mnemonic (label_text);
              gtk_label_set_mnemonic_widget (GTK_LABEL (label),
@@ -1067,13 +1067,13 @@ gtk_button_construct_child (GtkButton *button)
       return;
     }
 
-  if (button->use_underline || button->use_stock)
+  if (priv->use_underline || priv->use_stock)
     {
-      label = gtk_label_new_with_mnemonic (button->label_text);
+      label = gtk_label_new_with_mnemonic (priv->label_text);
       gtk_label_set_mnemonic_widget (GTK_LABEL (label), GTK_WIDGET (button));
     }
   else
-    label = gtk_label_new (button->label_text);
+    label = gtk_label_new (priv->label_text);
 
   if (priv->align_set)
     gtk_misc_set_alignment (GTK_MISC (label), priv->xalign, priv->yalign);
@@ -1153,7 +1153,6 @@ gtk_button_pressed (GtkButton *button)
 {
   g_return_if_fail (GTK_IS_BUTTON (button));
 
-  
   g_signal_emit (button, button_signals[PRESSED], 0);
 }
 
@@ -1234,11 +1233,15 @@ void
 gtk_button_set_relief (GtkButton *button,
                       GtkReliefStyle newrelief)
 {
+  GtkButtonPrivate *priv;
+
   g_return_if_fail (GTK_IS_BUTTON (button));
 
-  if (newrelief != button->relief) 
+  priv = button->priv;
+
+  if (newrelief != priv->relief)
     {
-       button->relief = newrelief;
+       priv->relief = newrelief;
        g_object_notify (G_OBJECT (button), "relief");
        gtk_widget_queue_draw (GTK_WIDGET (button));
     }
@@ -1257,13 +1260,14 @@ gtk_button_get_relief (GtkButton *button)
 {
   g_return_val_if_fail (GTK_IS_BUTTON (button), GTK_RELIEF_NORMAL);
 
-  return button->relief;
+  return button->priv->relief;
 }
 
 static void
 gtk_button_realize (GtkWidget *widget)
 {
   GtkButton *button = GTK_BUTTON (widget);
+  GtkButtonPrivate *priv = button->priv;
   GtkAllocation allocation;
   GdkWindow *window;
   GdkWindowAttr attributes;
@@ -1291,9 +1295,9 @@ gtk_button_realize (GtkWidget *widget)
   gtk_widget_set_window (widget, window);
   g_object_ref (window);
 
-  button->event_window = gdk_window_new (window,
-                                        &attributes, attributes_mask);
-  gdk_window_set_user_data (button->event_window, button);
+  priv->event_window = gdk_window_new (window,
+                                       &attributes, attributes_mask);
+  gdk_window_set_user_data (priv->event_window, button);
 
   gtk_widget_style_attach (widget);
 }
@@ -1302,17 +1306,18 @@ static void
 gtk_button_unrealize (GtkWidget *widget)
 {
   GtkButton *button = GTK_BUTTON (widget);
+  GtkButtonPrivate *priv = button->priv;
 
-  if (button->activate_timeout)
+  if (priv->activate_timeout)
     gtk_button_finish_activate (button, FALSE);
 
-  if (button->event_window)
+  if (priv->event_window)
     {
-      gdk_window_set_user_data (button->event_window, NULL);
-      gdk_window_destroy (button->event_window);
-      button->event_window = NULL;
+      gdk_window_set_user_data (priv->event_window, NULL);
+      gdk_window_destroy (priv->event_window);
+      priv->event_window = NULL;
     }
-  
+
   GTK_WIDGET_CLASS (gtk_button_parent_class)->unrealize (widget);
 }
 
@@ -1320,20 +1325,22 @@ static void
 gtk_button_map (GtkWidget *widget)
 {
   GtkButton *button = GTK_BUTTON (widget);
-  
+  GtkButtonPrivate *priv = button->priv;
+
   GTK_WIDGET_CLASS (gtk_button_parent_class)->map (widget);
 
-  if (button->event_window)
-    gdk_window_show (button->event_window);
+  if (priv->event_window)
+    gdk_window_show (priv->event_window);
 }
 
 static void
 gtk_button_unmap (GtkWidget *widget)
 {
   GtkButton *button = GTK_BUTTON (widget);
-    
-  if (button->event_window)
-    gdk_window_hide (button->event_window);
+  GtkButtonPrivate *priv = button->priv;
+
+  if (priv->event_window)
+    gdk_window_hide (priv->event_window);
 
   GTK_WIDGET_CLASS (gtk_button_parent_class)->unmap (widget);
 }
@@ -1341,7 +1348,7 @@ gtk_button_unmap (GtkWidget *widget)
 static void
 gtk_button_update_image_spacing (GtkButton *button)
 {
-  GtkButtonPrivate *priv = GTK_BUTTON_GET_PRIVATE (button);
+  GtkButtonPrivate *priv = button->priv;
   GtkWidget *child; 
   gint spacing;
 
@@ -1349,7 +1356,7 @@ gtk_button_update_image_spacing (GtkButton *button)
    * we only want to update the spacing if the box 
    * was constructed there.
    */
-  if (!button->constructed || !priv->image)
+  if (!priv->constructed || !priv->image)
     return;
 
   child = gtk_bin_get_child (GTK_BIN (button));
@@ -1432,6 +1439,7 @@ gtk_button_size_allocate (GtkWidget     *widget,
                          GtkAllocation *allocation)
 {
   GtkButton *button = GTK_BUTTON (widget);
+  GtkButtonPrivate *priv = button->priv;
   GtkAllocation child_allocation;
   GtkStyle *style;
   GtkWidget *child;
@@ -1455,7 +1463,7 @@ gtk_button_size_allocate (GtkWidget     *widget,
   gtk_widget_set_allocation (widget, allocation);
 
   if (gtk_widget_get_realized (widget))
-    gdk_window_move_resize (button->event_window,
+    gdk_window_move_resize (priv->event_window,
                             allocation->x,
                             allocation->y,
                             allocation->width,
@@ -1495,7 +1503,7 @@ gtk_button_size_allocate (GtkWidget     *widget,
          child_allocation.height = child_allocation.height - (focus_width + focus_pad) * 2;
        }
 
-      if (button->depressed)
+      if (priv->depressed)
        {
          gint child_displacement_x;
          gint child_displacement_y;
@@ -1525,6 +1533,7 @@ _gtk_button_paint (GtkButton          *button,
                   const gchar        *main_detail,
                   const gchar        *default_detail)
 {
+  GtkButtonPrivate *priv = button->priv;
   GtkWidget *widget;
   gint x, y;
   GtkBorder default_border;
@@ -1552,7 +1561,7 @@ _gtk_button_paint (GtkButton          *button,
   y = 0;
 
   if (gtk_widget_has_default (widget) &&
-      GTK_BUTTON (widget)->relief == GTK_RELIEF_NORMAL)
+      priv->relief == GTK_RELIEF_NORMAL)
     {
       gtk_paint_box (style, cr,
                      GTK_STATE_NORMAL, GTK_SHADOW_IN,
@@ -1580,7 +1589,7 @@ _gtk_button_paint (GtkButton          *button,
       height -= 2 * (focus_width + focus_pad);
     }
 
-  if (button->relief != GTK_RELIEF_NONE || button->depressed ||
+  if (priv->relief != GTK_RELIEF_NONE || priv->depressed ||
       gtk_widget_get_state(widget) == GTK_STATE_PRELIGHT)
     gtk_paint_box (style, cr,
                    state_type,
@@ -1614,7 +1623,7 @@ _gtk_button_paint (GtkButton          *button,
           height += 2 * (focus_width + focus_pad);
         }
 
-      if (button->depressed && displace_focus)
+      if (priv->depressed && displace_focus)
         {
           x += child_displacement_x;
           y += child_displacement_y;
@@ -1632,12 +1641,13 @@ gtk_button_draw (GtkWidget *widget,
                 cairo_t   *cr)
 {
   GtkButton *button = GTK_BUTTON (widget);
-  
+  GtkButtonPrivate *priv = button->priv;
+
   _gtk_button_paint (button, cr, 
                      gtk_widget_get_allocated_width (widget),
                      gtk_widget_get_allocated_height (widget),
                      gtk_widget_get_state (widget),
-                     button->depressed ? GTK_SHADOW_IN : GTK_SHADOW_OUT,
+                     priv->depressed ? GTK_SHADOW_IN : GTK_SHADOW_OUT,
                      "button", "buttondefault");
 
   GTK_WIDGET_CLASS (gtk_button_parent_class)->draw (widget, cr);
@@ -1650,12 +1660,14 @@ gtk_button_button_press (GtkWidget      *widget,
                         GdkEventButton *event)
 {
   GtkButton *button;
+  GtkButtonPrivate *priv;
 
   if (event->type == GDK_BUTTON_PRESS)
     {
       button = GTK_BUTTON (widget);
+      priv = button->priv;
 
-      if (button->focus_on_click && !gtk_widget_has_focus (widget))
+      if (priv->focus_on_click && !gtk_widget_has_focus (widget))
        gtk_widget_grab_focus (widget);
 
       if (event->button == 1)
@@ -1685,17 +1697,18 @@ gtk_button_grab_broken (GtkWidget          *widget,
                        GdkEventGrabBroken *event)
 {
   GtkButton *button = GTK_BUTTON (widget);
+  GtkButtonPrivate *priv = button->priv;
   gboolean save_in;
   
   /* Simulate a button release without the pointer in the button */
-  if (button->button_down)
+  if (priv->button_down)
     {
-      save_in = button->in_button;
-      button->in_button = FALSE;
+      save_in = priv->in_button;
+      priv->in_button = FALSE;
       gtk_button_released (button);
-      if (save_in != button->in_button)
+      if (save_in != priv->in_button)
        {
-         button->in_button = save_in;
+         priv->in_button = save_in;
          gtk_button_update_state (button);
        }
     }
@@ -1708,8 +1721,9 @@ gtk_button_key_release (GtkWidget   *widget,
                        GdkEventKey *event)
 {
   GtkButton *button = GTK_BUTTON (widget);
+  GtkButtonPrivate *priv = button->priv;
 
-  if (button->activate_timeout)
+  if (priv->activate_timeout)
     {
       gtk_button_finish_activate (button, TRUE);
       return TRUE;
@@ -1724,14 +1738,13 @@ static gboolean
 gtk_button_enter_notify (GtkWidget        *widget,
                         GdkEventCrossing *event)
 {
-  GtkButton *button;
-
-  button = GTK_BUTTON (widget);
+  GtkButton *button = GTK_BUTTON (widget);
+  GtkButtonPrivate *priv = button->priv;
 
-  if ((event->window == button->event_window) &&
+  if ((event->window == button->priv->event_window) &&
       (event->detail != GDK_NOTIFY_INFERIOR))
     {
-      button->in_button = TRUE;
+      priv->in_button = TRUE;
       gtk_button_enter (button);
     }
 
@@ -1742,15 +1755,14 @@ static gboolean
 gtk_button_leave_notify (GtkWidget        *widget,
                         GdkEventCrossing *event)
 {
-  GtkButton *button;
-
-  button = GTK_BUTTON (widget);
+  GtkButton *button = GTK_BUTTON (widget);
+  GtkButtonPrivate *priv = button->priv;
 
-  if ((event->window == button->event_window) &&
+  if ((event->window == button->priv->event_window) &&
       (event->detail != GDK_NOTIFY_INFERIOR) &&
       (gtk_widget_get_sensitive (widget)))
     {
-      button->in_button = FALSE;
+      priv->in_button = FALSE;
       gtk_button_leave (button);
     }
 
@@ -1760,24 +1772,28 @@ gtk_button_leave_notify (GtkWidget        *widget,
 static void
 gtk_real_button_pressed (GtkButton *button)
 {
-  if (button->activate_timeout)
+  GtkButtonPrivate *priv = button->priv;
+
+  if (priv->activate_timeout)
     return;
-  
-  button->button_down = TRUE;
+
+  priv->button_down = TRUE;
   gtk_button_update_state (button);
 }
 
 static void
 gtk_real_button_released (GtkButton *button)
 {
-  if (button->button_down)
+  GtkButtonPrivate *priv = button->priv;
+
+  if (priv->button_down)
     {
-      button->button_down = FALSE;
+      priv->button_down = FALSE;
 
-      if (button->activate_timeout)
+      if (priv->activate_timeout)
        return;
-      
-      if (button->in_button)
+
+      if (priv->in_button)
        gtk_button_clicked (button);
 
       gtk_button_update_state (button);
@@ -1787,7 +1803,7 @@ gtk_real_button_released (GtkButton *button)
 static void 
 gtk_real_button_clicked (GtkButton *button)
 {
-  GtkButtonPrivate *priv = GTK_BUTTON_GET_PRIVATE (button);
+  GtkButtonPrivate *priv = button->priv;
 
   if (priv->action)
     gtk_action_activate (priv->action);
@@ -1805,23 +1821,22 @@ static void
 gtk_real_button_activate (GtkButton *button)
 {
   GtkWidget *widget = GTK_WIDGET (button);
-  GtkButtonPrivate *priv;
+  GtkButtonPrivate *priv = button->priv;
   GdkDevice *device;
   guint32 time;
 
-  priv = GTK_BUTTON_GET_PRIVATE (button);
   device = gtk_get_current_event_device ();
 
-  if (device && device->source != GDK_SOURCE_KEYBOARD)
+  if (device && gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD)
     device = gdk_device_get_associated_device (device);
 
-  g_return_if_fail (device && device->source == GDK_SOURCE_KEYBOARD);
+  g_return_if_fail (device && gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD);
 
-  if (gtk_widget_get_realized (widget) && !button->activate_timeout)
+  if (gtk_widget_get_realized (widget) && !priv->activate_timeout)
     {
       time = gtk_get_current_event_time ();
 
-      if (gdk_device_grab (device, button->event_window,
+      if (gdk_device_grab (device, priv->event_window,
                            GDK_OWNERSHIP_WINDOW, TRUE,
                            GDK_KEY_PRESS | GDK_KEY_RELEASE,
                            NULL, time) == GDK_GRAB_SUCCESS)
@@ -1831,10 +1846,10 @@ gtk_real_button_activate (GtkButton *button)
          priv->grab_time = time;
        }
 
-      button->activate_timeout = gdk_threads_add_timeout (ACTIVATE_TIMEOUT,
+      priv->activate_timeout = gdk_threads_add_timeout (ACTIVATE_TIMEOUT,
                                                button_activate_timeout,
                                                button);
-      button->button_down = TRUE;
+      priv->button_down = TRUE;
       gtk_button_update_state (button);
       gtk_widget_queue_draw (GTK_WIDGET (button));
     }
@@ -1845,12 +1860,10 @@ gtk_button_finish_activate (GtkButton *button,
                            gboolean   do_it)
 {
   GtkWidget *widget = GTK_WIDGET (button);
-  GtkButtonPrivate *priv;
-  
-  priv = GTK_BUTTON_GET_PRIVATE (button);
+  GtkButtonPrivate *priv = button->priv;
 
-  g_source_remove (button->activate_timeout);
-  button->activate_timeout = 0;
+  g_source_remove (priv->activate_timeout);
+  priv->activate_timeout = 0;
 
   if (priv->grab_keyboard)
     {
@@ -1859,7 +1872,7 @@ gtk_button_finish_activate (GtkButton *button,
       priv->grab_keyboard = NULL;
     }
 
-  button->button_down = FALSE;
+  priv->button_down = FALSE;
 
   gtk_button_update_state (button);
   gtk_widget_queue_draw (GTK_WIDGET (button));
@@ -1964,14 +1977,17 @@ void
 gtk_button_set_label (GtkButton   *button,
                      const gchar *label)
 {
+  GtkButtonPrivate *priv;
   gchar *new_label;
-  
+
   g_return_if_fail (GTK_IS_BUTTON (button));
 
+  priv = button->priv;
+
   new_label = g_strdup (label);
-  g_free (button->label_text);
-  button->label_text = new_label;
-  
+  g_free (priv->label_text);
+  priv->label_text = new_label;
+
   gtk_button_construct_child (button);
   
   g_object_notify (G_OBJECT (button), "label");
@@ -1994,8 +2010,8 @@ G_CONST_RETURN gchar *
 gtk_button_get_label (GtkButton *button)
 {
   g_return_val_if_fail (GTK_IS_BUTTON (button), NULL);
-  
-  return button->label_text;
+
+  return button->priv->label_text;
 }
 
 /**
@@ -2010,14 +2026,18 @@ void
 gtk_button_set_use_underline (GtkButton *button,
                              gboolean   use_underline)
 {
+  GtkButtonPrivate *priv;
+
   g_return_if_fail (GTK_IS_BUTTON (button));
 
+  priv = button->priv;
+
   use_underline = use_underline != FALSE;
 
-  if (use_underline != button->use_underline)
+  if (use_underline != priv->use_underline)
     {
-      button->use_underline = use_underline;
-  
+      priv->use_underline = use_underline;
+
       gtk_button_construct_child (button);
       
       g_object_notify (G_OBJECT (button), "use-underline");
@@ -2038,8 +2058,8 @@ gboolean
 gtk_button_get_use_underline (GtkButton *button)
 {
   g_return_val_if_fail (GTK_IS_BUTTON (button), FALSE);
-  
-  return button->use_underline;
+
+  return button->priv->use_underline;
 }
 
 /**
@@ -2054,14 +2074,18 @@ void
 gtk_button_set_use_stock (GtkButton *button,
                          gboolean   use_stock)
 {
+  GtkButtonPrivate *priv;
+
   g_return_if_fail (GTK_IS_BUTTON (button));
 
+  priv = button->priv;
+
   use_stock = use_stock != FALSE;
 
-  if (use_stock != button->use_stock)
+  if (use_stock != priv->use_stock)
     {
-      button->use_stock = use_stock;
-  
+      priv->use_stock = use_stock;
+
       gtk_button_construct_child (button);
       
       g_object_notify (G_OBJECT (button), "use-stock");
@@ -2082,8 +2106,8 @@ gboolean
 gtk_button_get_use_stock (GtkButton *button)
 {
   g_return_val_if_fail (GTK_IS_BUTTON (button), FALSE);
-  
-  return button->use_stock;
+
+  return button->priv->use_stock;
 }
 
 /**
@@ -2102,13 +2126,17 @@ void
 gtk_button_set_focus_on_click (GtkButton *button,
                               gboolean   focus_on_click)
 {
+  GtkButtonPrivate *priv;
+
   g_return_if_fail (GTK_IS_BUTTON (button));
-  
+
+  priv = button->priv;
+
   focus_on_click = focus_on_click != FALSE;
 
-  if (button->focus_on_click != focus_on_click)
+  if (priv->focus_on_click != focus_on_click)
     {
-      button->focus_on_click = focus_on_click;
+      priv->focus_on_click = focus_on_click;
       
       g_object_notify (G_OBJECT (button), "focus-on-click");
     }
@@ -2131,7 +2159,7 @@ gtk_button_get_focus_on_click (GtkButton *button)
 {
   g_return_val_if_fail (GTK_IS_BUTTON (button), FALSE);
   
-  return button->focus_on_click;
+  return button->priv->focus_on_click;
 }
 
 /**
@@ -2156,7 +2184,7 @@ gtk_button_set_alignment (GtkButton *button,
 
   g_return_if_fail (GTK_IS_BUTTON (button));
   
-  priv = GTK_BUTTON_GET_PRIVATE (button);
+  priv = button->priv;
 
   priv->xalign = xalign;
   priv->yalign = yalign;
@@ -2189,7 +2217,7 @@ gtk_button_get_alignment (GtkButton *button,
 
   g_return_if_fail (GTK_IS_BUTTON (button));
   
-  priv = GTK_BUTTON_GET_PRIVATE (button);
+  priv = button->priv;
  
   if (xalign) 
     *xalign = priv->xalign;
@@ -2212,12 +2240,13 @@ _gtk_button_set_depressed (GtkButton *button,
                           gboolean   depressed)
 {
   GtkWidget *widget = GTK_WIDGET (button);
+  GtkButtonPrivate *priv = button->priv;
 
   depressed = depressed != FALSE;
 
-  if (depressed != button->depressed)
+  if (depressed != priv->depressed)
     {
-      button->depressed = depressed;
+      priv->depressed = depressed;
       gtk_widget_queue_resize (widget);
     }
 }
@@ -2225,15 +2254,16 @@ _gtk_button_set_depressed (GtkButton *button,
 static void
 gtk_button_update_state (GtkButton *button)
 {
-  gboolean depressed;
+  GtkButtonPrivate *priv = button->priv;
   GtkStateType new_state;
+  gboolean depressed;
 
-  if (button->activate_timeout)
-    depressed = button->depress_on_activate;
+  if (priv->activate_timeout)
+    depressed = priv->depress_on_activate;
   else
-    depressed = button->in_button && button->button_down;
+    depressed = priv->in_button && priv->button_down;
 
-  if (button->in_button && (!button->button_down || !depressed))
+  if (priv->in_button && (!priv->button_down || !depressed))
     new_state = GTK_STATE_PRELIGHT;
   else
     new_state = depressed ? GTK_STATE_ACTIVE : GTK_STATE_NORMAL;
@@ -2245,7 +2275,7 @@ gtk_button_update_state (GtkButton *button)
 static void 
 show_image_change_notify (GtkButton *button)
 {
-  GtkButtonPrivate *priv = GTK_BUTTON_GET_PRIVATE (button);
+  GtkButtonPrivate *priv = button->priv;
 
   if (priv->image) 
     {
@@ -2286,6 +2316,7 @@ gtk_button_screen_changed (GtkWidget *widget,
                           GdkScreen *previous_screen)
 {
   GtkButton *button;
+  GtkButtonPrivate *priv;
   GtkSettings *settings;
   gulong show_image_connection;
 
@@ -2293,12 +2324,13 @@ gtk_button_screen_changed (GtkWidget *widget,
     return;
 
   button = GTK_BUTTON (widget);
+  priv = button->priv;
 
   /* If the button is being pressed while the screen changes the
     release might never occur, so we reset the state. */
-  if (button->button_down)
+  if (priv->button_down)
     {
-      button->button_down = FALSE;
+      priv->button_down = FALSE;
       gtk_button_update_state (button);
     }
 
@@ -2322,10 +2354,11 @@ gtk_button_state_changed (GtkWidget    *widget,
                           GtkStateType  previous_state)
 {
   GtkButton *button = GTK_BUTTON (widget);
+  GtkButtonPrivate *priv = button->priv;
 
   if (!gtk_widget_is_sensitive (widget))
     {
-      button->in_button = FALSE;
+      priv->in_button = FALSE;
       gtk_real_button_released (button);
     }
 }
@@ -2335,22 +2368,22 @@ gtk_button_grab_notify (GtkWidget *widget,
                        gboolean   was_grabbed)
 {
   GtkButton *button = GTK_BUTTON (widget);
-  GtkButtonPrivate *priv = GTK_BUTTON_GET_PRIVATE (button);
+  GtkButtonPrivate *priv = button->priv;
   gboolean save_in;
 
-  if (button->activate_timeout &&
+  if (priv->activate_timeout &&
       priv->grab_keyboard &&
       gtk_widget_device_is_shadowed (widget, priv->grab_keyboard))
     gtk_button_finish_activate (button, FALSE);
 
   if (!was_grabbed)
     {
-      save_in = button->in_button;
-      button->in_button = FALSE; 
+      save_in = priv->in_button;
+      priv->in_button = FALSE;
       gtk_real_button_released (button);
-      if (save_in != button->in_button)
+      if (save_in != priv->in_button)
         {
-          button->in_button = save_in;
+          priv->in_button = save_in;
           gtk_button_update_state (button);
         }
     }
@@ -2378,7 +2411,7 @@ gtk_button_set_image (GtkButton *button,
   g_return_if_fail (GTK_IS_BUTTON (button));
   g_return_if_fail (image == NULL || GTK_IS_WIDGET (image));
 
-  priv = GTK_BUTTON_GET_PRIVATE (button);
+  priv = button->priv;
 
   if (priv->image)
     {
@@ -2410,13 +2443,9 @@ gtk_button_set_image (GtkButton *button,
 GtkWidget *
 gtk_button_get_image (GtkButton *button)
 {
-  GtkButtonPrivate *priv;
-
   g_return_val_if_fail (GTK_IS_BUTTON (button), NULL);
-
-  priv = GTK_BUTTON_GET_PRIVATE (button);
   
-  return priv->image;
+  return button->priv->image;
 }
 
 /**
@@ -2433,13 +2462,12 @@ void
 gtk_button_set_image_position (GtkButton       *button,
                               GtkPositionType  position)
 {
-
   GtkButtonPrivate *priv;
 
   g_return_if_fail (GTK_IS_BUTTON (button));
   g_return_if_fail (position >= GTK_POS_LEFT && position <= GTK_POS_BOTTOM);
   
-  priv = GTK_BUTTON_GET_PRIVATE (button);
+  priv = button->priv;
 
   if (priv->image_position != position)
     {
@@ -2465,13 +2493,9 @@ gtk_button_set_image_position (GtkButton       *button,
 GtkPositionType
 gtk_button_get_image_position (GtkButton *button)
 {
-  GtkButtonPrivate *priv;
-
   g_return_val_if_fail (GTK_IS_BUTTON (button), GTK_POS_LEFT);
-
-  priv = GTK_BUTTON_GET_PRIVATE (button);
   
-  return priv->image_position;
+  return button->priv->image_position;
 }
 
 
@@ -2491,5 +2515,5 @@ gtk_button_get_event_window (GtkButton *button)
 {
   g_return_val_if_fail (GTK_IS_BUTTON (button), NULL);
 
-  return button->event_window;
+  return button->priv->event_window;
 }
index dabb64b800b5439cf009a7e28bd211b58ce915c6..0bab7e6ae37f65fe9cb855a2dc9355a8bebc01d8 100644 (file)
@@ -45,28 +45,16 @@ G_BEGIN_DECLS
 #define GTK_IS_BUTTON_CLASS(klass)      (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_BUTTON))
 #define GTK_BUTTON_GET_CLASS(obj)       (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_BUTTON, GtkButtonClass))
 
-typedef struct _GtkButton        GtkButton;
-typedef struct _GtkButtonClass   GtkButtonClass;
+typedef struct _GtkButton             GtkButton;
+typedef struct _GtkButtonPrivate      GtkButtonPrivate;
+typedef struct _GtkButtonClass        GtkButtonClass;
 
 struct _GtkButton
 {
+  /*< private >*/
   GtkBin bin;
 
-  GdkWindow *GSEAL (event_window);
-
-  gchar *GSEAL (label_text);
-
-  guint GSEAL (activate_timeout);
-
-  guint GSEAL (constructed) : 1;
-  guint GSEAL (in_button) : 1;
-  guint GSEAL (button_down) : 1;
-  guint GSEAL (relief) : 2;
-  guint GSEAL (use_underline) : 1;
-  guint GSEAL (use_stock) : 1;
-  guint GSEAL (depressed) : 1;
-  guint GSEAL (depress_on_activate) : 1;
-  guint GSEAL (focus_on_click) : 1;
+  GtkButtonPrivate *priv;
 };
 
 struct _GtkButtonClass
diff --git a/gtk/gtkbuttonprivate.h b/gtk/gtkbuttonprivate.h
new file mode 100644 (file)
index 0000000..b6007cd
--- /dev/null
@@ -0,0 +1,55 @@
+/* GTK - The GIMP Toolkit
+ *
+ * Copyright (C) 2010 Javier Jardón
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __GTK_BUTTON_PRIVATE_H__
+#define __GTK_BUTTON_PRIVATE_H__
+
+#include "gtkaction.h"
+
+struct _GtkButtonPrivate
+{
+  GtkAction             *action;
+  GtkPositionType        image_position;
+  GtkWidget             *image;
+
+  GdkDevice             *grab_keyboard;
+  GdkWindow             *event_window;
+
+  gchar         *label_text;
+
+  gfloat         xalign;
+  gfloat         yalign;
+
+  guint          activate_timeout;
+  guint32        grab_time;
+
+  guint          align_set             : 1;
+  guint          button_down           : 1;
+  guint          constructed           : 1;
+  guint          depressed             : 1;
+  guint          depress_on_activate   : 1;
+  guint          focus_on_click        : 1;
+  guint          image_is_stock        : 1;
+  guint          in_button             : 1;
+  guint          relief                : 2;
+  guint          use_action_appearance : 1;
+  guint          use_stock             : 1;
+  guint          use_underline         : 1;
+};
+
+#endif /* __GTK_BUTTON_PRIVATE_H__ */
index f18ce56d5169ff9a181f02395e0dd9bf2bec439f..b0a42dbc36446b6fd9a30823444452c2474fa969 100644 (file)
@@ -616,7 +616,7 @@ gtk_cell_renderer_accel_start_editing (GtkCellRenderer      *cell,
   if (!device)
     return NULL;
 
-  if (device->source == GDK_SOURCE_KEYBOARD)
+  if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD)
     {
       keyb = device;
       pointer = gdk_device_get_associated_device (device);
index 9a9b3441f91b86283b15ead3e9e9c7cea2e89118..f07ecf1282eeb78d9f3fa4a2ba3250a230d53b97 100644 (file)
@@ -28,6 +28,7 @@
 
 #include "gtkcheckbutton.h"
 
+#include "gtkbuttonprivate.h"
 #include "gtklabel.h"
 
 #include "gtkprivate.h"
@@ -452,9 +453,9 @@ gtk_real_check_button_draw_indicator (GtkCheckButton *check_button,
   else
     shadow_type = GTK_SHADOW_OUT;
 
-  if (button->activate_timeout || (button->button_down && button->in_button))
+  if (button->priv->activate_timeout || (button->priv->button_down && button->priv->in_button))
     state_type = GTK_STATE_ACTIVE;
-  else if (button->in_button)
+  else if (button->priv->in_button)
     state_type = GTK_STATE_PRELIGHT;
   else if (!gtk_widget_is_sensitive (widget))
     state_type = GTK_STATE_INSENSITIVE;
index c294266d329d90f18308e3a970fb87d0f9fe860a..2ed64827afdb56e700031a097a73fcba8c7bfc14 100644 (file)
@@ -1912,7 +1912,7 @@ get_screen_color (GtkWidget *button)
 
   device = gtk_get_current_event_device ();
 
-  if (device->source == GDK_SOURCE_KEYBOARD)
+  if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD)
     {
       keyb_device = device;
       pointer_device = gdk_device_get_associated_device (device);
index 16a4f4a57807bce61a40283da0aa0653089f8ae2..0a922fa0235ee6e46501bb351bf606d711942a9e 100644 (file)
@@ -1420,10 +1420,6 @@ gtk_combo_box_add (GtkContainer *container,
 
   if (priv->has_entry)
     {
-      /* this flag is a hack to tell the entry to fill its allocation.
-       */
-      GTK_ENTRY (widget)->is_cell_renderer = TRUE;
-
       g_signal_connect (widget, "changed",
                        G_CALLBACK (gtk_combo_box_entry_contents_changed),
                        combo_box);
@@ -1451,7 +1447,6 @@ gtk_combo_box_remove (GtkContainer *container,
          g_signal_handlers_disconnect_by_func (widget,
                                                gtk_combo_box_entry_contents_changed,
                                                container);
-         GTK_ENTRY (widget)->is_cell_renderer = FALSE;
        }
     }
 
@@ -2204,7 +2199,7 @@ gtk_combo_box_popup_for_device (GtkComboBox *combo_box,
 
   time = gtk_get_current_event_time ();
 
-  if (device->source == GDK_SOURCE_KEYBOARD)
+  if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD)
     {
       keyboard = device;
       pointer = gdk_device_get_associated_device (device);
@@ -4332,7 +4327,7 @@ gtk_combo_box_list_select_func (GtkTreeSelection *selection,
       GtkTreeIter iter;
       GtkTreeViewColumn *column = GTK_TREE_VIEW_COLUMN (list->data);
 
-      if (!column->visible)
+      if (!gtk_tree_view_column_get_visible (column))
        continue;
 
       gtk_tree_model_get_iter (model, &iter, path);
index d95118163224e5e4e606d4be91785ea9bbf67988..08496d5761dfd69687fff5dbf1f688b026de046d 100644 (file)
@@ -2329,7 +2329,7 @@ gtk_drag_begin_internal (GtkWidget         *widget,
 
       pointer = gdk_event_get_device (event);
 
-      if (pointer->source == GDK_SOURCE_KEYBOARD)
+      if (gdk_device_get_source (pointer) == GDK_SOURCE_KEYBOARD)
         {
           keyboard = pointer;
           pointer = gdk_device_get_associated_device (keyboard);
index 8c39e113fd610593e4d49743bafe1f66459abd32..cd70918e1eba4b952dc8de2377d8e3f794fec047 100644 (file)
@@ -130,11 +130,89 @@ static GQuark          quark_password_hint  = 0;
 static GQuark          quark_cursor_hadjustment = 0;
 static GQuark          quark_capslock_feedback = 0;
 
-typedef struct _GtkEntryPrivate GtkEntryPrivate;
+typedef struct _EntryIconInfo EntryIconInfo;
+typedef struct _GtkEntryPasswordHint GtkEntryPasswordHint;
+typedef struct _GtkEntryCapslockFeedback GtkEntryCapslockFeedback;
 
-#define GTK_ENTRY_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GTK_TYPE_ENTRY, GtkEntryPrivate))
+struct _GtkEntryPrivate
+{
+  EntryIconInfo         *icons[MAX_ICONS];
+
+  GtkEntryBuffer        *buffer;
+  GtkIMContext          *im_context;
+  GtkShadowType          shadow_type;
+  GtkWidget             *popup_menu;
+
+  GdkDevice             *completion_device;
+  GdkWindow             *text_area;
+
+  PangoLayout           *cached_layout;
+
+  gchar        *im_module;
+
+  gdouble       progress_fraction;
+  gdouble       progress_pulse_fraction;
+  gdouble       progress_pulse_current;
+
+  gfloat        xalign;
+
+  gint          ascent;                     /* font ascent in pango units  */
+  gint          current_pos;
+  gint          descent;                    /* font descent in pango units */
+  gint          dnd_position;               /* In chars, -1 == no DND cursor */
+  gint          drag_start_x;
+  gint          drag_start_y;
+  gint          focus_width;
+  gint          icon_margin;
+  gint          insert_pos;
+  gint          selection_bound;
+  gint          scroll_offset;
+  gint          start_x;
+  gint          start_y;
+  gint          width_chars;
+
+  gunichar      invisible_char;
+
+  guint         button;
+  guint         blink_time;                  /* time in msec the cursor has blinked since last user event */
+  guint         blink_timeout;
+  guint         recompute_idle;
+
+  guint16       x_text_size;                 /* allocated size, in bytes */
+  guint16       x_n_bytes;                   /* length in use, in bytes */
+
+  guint16       preedit_length;              /* length of preedit string, in bytes */
+  guint16      preedit_cursor;              /* offset of cursor within preedit string, in chars */
+
+  guint         editable                : 1;
+  guint         in_drag                 : 1;
+  guint         overwrite_mode          : 1;
+  guint         visible                 : 1;
+
+  guint         activates_default       : 1;
+  guint         cache_includes_preedit  : 1;
+  guint         caps_lock_warning       : 1;
+  guint         caps_lock_warning_shown : 1;
+  guint         change_count            : 8;
+  guint         cursor_visible          : 1;
+  guint         editing_canceled        : 1; /* Only used by GtkCellRendererText */
+  guint         has_frame               : 1;
+  guint         in_click                : 1; /* Flag so we don't select all when clicking in entry to focus in */
+  guint         is_cell_renderer        : 1;
+  guint         invisible_char_set      : 1;
+  guint         interior_focus          : 1;
+  guint         mouse_cursor_obscured   : 1;
+  guint         need_im_reset           : 1;
+  guint         progress_pulse_mode     : 1;
+  guint         progress_pulse_way_back : 1;
+  guint         real_changed            : 1;
+  guint         resolved_dir            : 4; /* PangoDirection */
+  guint         select_words            : 1;
+  guint         select_lines            : 1;
+  guint         truncate_multiline      : 1;
+};
 
-typedef struct
+struct _EntryIconInfo
 {
   GdkWindow *window;
   gchar *tooltip;
@@ -152,51 +230,14 @@ typedef struct
 
   GtkTargetList *target_list;
   GdkDragAction actions;
-} EntryIconInfo;
-
-struct _GtkEntryPrivate 
-{
-  GtkEntryBuffer* buffer;
-
-  gfloat xalign;
-  gint insert_pos;
-  guint blink_time;  /* time in msec the cursor has blinked since last user event */
-  guint interior_focus          : 1;
-  guint real_changed            : 1;
-  guint invisible_char_set      : 1;
-  guint caps_lock_warning       : 1;
-  guint caps_lock_warning_shown : 1;
-  guint change_count            : 8;
-  guint progress_pulse_mode     : 1;
-  guint progress_pulse_way_back : 1;
-
-  gint focus_width;
-  GtkShadowType shadow_type;
-
-  gdouble progress_fraction;
-  gdouble progress_pulse_fraction;
-  gdouble progress_pulse_current;
-
-  EntryIconInfo *icons[MAX_ICONS];
-  gint icon_margin;
-  gint start_x;
-  gint start_y;
-
-  gchar *im_module;
-
-  GdkDevice *completion_device;
 };
 
-typedef struct _GtkEntryPasswordHint GtkEntryPasswordHint;
-
 struct _GtkEntryPasswordHint
 {
   gint position;      /* Position (in text) of the last password hint */
   guint source_id;    /* Timeout source id */
 };
 
-typedef struct _GtkEntryCapslockFeedback GtkEntryCapslockFeedback;
-
 struct _GtkEntryCapslockFeedback
 {
   GtkWidget *entry;
@@ -1821,8 +1862,8 @@ gtk_entry_set_property (GObject         *object,
                         const GValue    *value,
                         GParamSpec      *pspec)
 {
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (object);
   GtkEntry *entry = GTK_ENTRY (object);
+  GtkEntryPrivate *priv = entry->priv;
   GtkWidget *widget;
 
   switch (prop_id)
@@ -1835,24 +1876,24 @@ gtk_entry_set_property (GObject         *object,
       {
         gboolean new_value = g_value_get_boolean (value);
 
-       if (new_value != entry->editable)
+        if (new_value != priv->editable)
          {
             widget = GTK_WIDGET (entry);
            if (!new_value)
              {
                _gtk_entry_reset_im_context (entry);
                if (gtk_widget_has_focus (widget))
-                 gtk_im_context_focus_out (entry->im_context);
+                 gtk_im_context_focus_out (priv->im_context);
 
-               entry->preedit_length = 0;
-               entry->preedit_cursor = 0;
+               priv->preedit_length = 0;
+               priv->preedit_cursor = 0;
              }
 
-           entry->editable = new_value;
+           priv->editable = new_value;
 
            if (new_value && gtk_widget_has_focus (widget))
-             gtk_im_context_focus_in (entry->im_context);
-           
+             gtk_im_context_focus_in (priv->im_context);
+
            gtk_entry_queue_draw (entry);
          }
       }
@@ -1895,7 +1936,7 @@ gtk_entry_set_property (GObject         *object,
       break;
 
     case PROP_TRUNCATE_MULTILINE:
-      entry->truncate_multiline = g_value_get_boolean (value);
+      priv->truncate_multiline = g_value_get_boolean (value);
       break;
 
     case PROP_SHADOW_TYPE:
@@ -2024,12 +2065,12 @@ gtk_entry_set_property (GObject         *object,
     case PROP_IM_MODULE:
       g_free (priv->im_module);
       priv->im_module = g_value_dup_string (value);
-      if (GTK_IS_IM_MULTICONTEXT (entry->im_context))
-        gtk_im_multicontext_set_context_id (GTK_IM_MULTICONTEXT (entry->im_context), priv->im_module);
+      if (GTK_IS_IM_MULTICONTEXT (priv->im_context))
+        gtk_im_multicontext_set_context_id (GTK_IM_MULTICONTEXT (priv->im_context), priv->im_module);
       break;
 
     case PROP_EDITING_CANCELED:
-      entry->editing_canceled = g_value_get_boolean (value);
+      priv->editing_canceled = g_value_get_boolean (value);
       break;
 
     case PROP_SCROLL_OFFSET:
@@ -2046,8 +2087,8 @@ gtk_entry_get_property (GObject         *object,
                         GValue          *value,
                         GParamSpec      *pspec)
 {
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (object);
   GtkEntry *entry = GTK_ENTRY (object);
+  GtkEntryPrivate *priv = entry->priv;
 
   switch (prop_id)
     {
@@ -2056,15 +2097,15 @@ gtk_entry_get_property (GObject         *object,
       break;
 
     case PROP_CURSOR_POSITION:
-      g_value_set_int (value, entry->current_pos);
+      g_value_set_int (value, priv->current_pos);
       break;
 
     case PROP_SELECTION_BOUND:
-      g_value_set_int (value, entry->selection_bound);
+      g_value_set_int (value, priv->selection_bound);
       break;
 
     case PROP_EDITABLE:
-      g_value_set_boolean (value, entry->editable);
+      g_value_set_boolean (value, priv->editable);
       break;
 
     case PROP_MAX_LENGTH:
@@ -2072,11 +2113,11 @@ gtk_entry_get_property (GObject         *object,
       break;
 
     case PROP_VISIBILITY:
-      g_value_set_boolean (value, entry->visible);
+      g_value_set_boolean (value, priv->visible);
       break;
 
     case PROP_HAS_FRAME:
-      g_value_set_boolean (value, entry->has_frame);
+      g_value_set_boolean (value, priv->has_frame);
       break;
 
     case PROP_INNER_BORDER:
@@ -2084,19 +2125,19 @@ gtk_entry_get_property (GObject         *object,
       break;
 
     case PROP_INVISIBLE_CHAR:
-      g_value_set_uint (value, entry->invisible_char);
+      g_value_set_uint (value, priv->invisible_char);
       break;
 
     case PROP_ACTIVATES_DEFAULT:
-      g_value_set_boolean (value, entry->activates_default);
+      g_value_set_boolean (value, priv->activates_default);
       break;
 
     case PROP_WIDTH_CHARS:
-      g_value_set_int (value, entry->width_chars);
+      g_value_set_int (value, priv->width_chars);
       break;
 
     case PROP_SCROLL_OFFSET:
-      g_value_set_int (value, entry->scroll_offset);
+      g_value_set_int (value, priv->scroll_offset);
       break;
 
     case PROP_TEXT:
@@ -2108,7 +2149,7 @@ gtk_entry_get_property (GObject         *object,
       break;
 
     case PROP_TRUNCATE_MULTILINE:
-      g_value_set_boolean (value, entry->truncate_multiline);
+      g_value_set_boolean (value, priv->truncate_multiline);
       break;
 
     case PROP_SHADOW_TYPE:
@@ -2116,7 +2157,7 @@ gtk_entry_get_property (GObject         *object,
       break;
 
     case PROP_OVERWRITE_MODE:
-      g_value_set_boolean (value, entry->overwrite_mode);
+      g_value_set_boolean (value, priv->overwrite_mode);
       break;
 
     case PROP_TEXT_LENGTH:
@@ -2245,7 +2286,7 @@ gtk_entry_get_property (GObject         *object,
 
     case PROP_EDITING_CANCELED:
       g_value_set_boolean (value,
-                           entry->editing_canceled);
+                           priv->editing_canceled);
       break;
 
     default:
@@ -2306,20 +2347,25 @@ find_invisible_char (GtkWidget *widget)
 static void
 gtk_entry_init (GtkEntry *entry)
 {
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv;
+
+  entry->priv = G_TYPE_INSTANCE_GET_PRIVATE (entry,
+                                             GTK_TYPE_ENTRY,
+                                             GtkEntryPrivate);
+  priv = entry->priv;
 
   gtk_widget_set_can_focus (GTK_WIDGET (entry), TRUE);
   gtk_widget_set_has_window (GTK_WIDGET (entry), FALSE);
 
-  entry->editable = TRUE;
-  entry->visible = TRUE;
-  entry->invisible_char = find_invisible_char (GTK_WIDGET (entry));
-  entry->dnd_position = -1;
-  entry->width_chars = -1;
-  entry->is_cell_renderer = FALSE;
-  entry->editing_canceled = FALSE;
-  entry->has_frame = TRUE;
-  entry->truncate_multiline = FALSE;
+  priv->editable = TRUE;
+  priv->visible = TRUE;
+  priv->invisible_char = find_invisible_char (GTK_WIDGET (entry));
+  priv->dnd_position = -1;
+  priv->width_chars = -1;
+  priv->is_cell_renderer = FALSE;
+  priv->editing_canceled = FALSE;
+  priv->has_frame = TRUE;
+  priv->truncate_multiline = FALSE;
   priv->shadow_type = GTK_SHADOW_IN;
   priv->xalign = 0.0;
   priv->caps_lock_warning = TRUE;
@@ -2336,15 +2382,15 @@ gtk_entry_init (GtkEntry *entry)
   /* This object is completely private. No external entity can gain a reference
    * to it; so we create it here and destroy it in finalize().
    */
-  entry->im_context = gtk_im_multicontext_new ();
-  
-  g_signal_connect (entry->im_context, "commit",
+  priv->im_context = gtk_im_multicontext_new ();
+
+  g_signal_connect (priv->im_context, "commit",
                    G_CALLBACK (gtk_entry_commit_cb), entry);
-  g_signal_connect (entry->im_context, "preedit-changed",
+  g_signal_connect (priv->im_context, "preedit-changed",
                    G_CALLBACK (gtk_entry_preedit_changed_cb), entry);
-  g_signal_connect (entry->im_context, "retrieve-surrounding",
+  g_signal_connect (priv->im_context, "retrieve-surrounding",
                    G_CALLBACK (gtk_entry_retrieve_surrounding_cb), entry);
-  g_signal_connect (entry->im_context, "delete-surrounding",
+  g_signal_connect (priv->im_context, "delete-surrounding",
                    G_CALLBACK (gtk_entry_delete_surrounding_cb), entry);
 
 }
@@ -2353,7 +2399,7 @@ static gint
 get_icon_width (GtkEntry             *entry,
                 GtkEntryIconPosition  icon_pos)
 {
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
   EntryIconInfo *icon_info = priv->icons[icon_pos];
   GdkScreen *screen;
   GtkSettings *settings;
@@ -2377,7 +2423,7 @@ get_icon_allocations (GtkEntry      *entry,
                       GtkAllocation *secondary)
 
 {
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
   gint x, y, width, height;
 
   get_text_area_size (entry, &x, &y, &width, &height);
@@ -2413,7 +2459,7 @@ get_icon_allocations (GtkEntry      *entry,
 static void
 begin_change (GtkEntry *entry)
 {
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
 
   priv->change_count++;
 }
@@ -2422,31 +2468,31 @@ static void
 end_change (GtkEntry *entry)
 {
   GtkEditable *editable = GTK_EDITABLE (entry);
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
+
   g_return_if_fail (priv->change_count > 0);
 
   priv->change_count--;
 
   if (priv->change_count == 0)
     {
-       if (priv->real_changed) 
+       if (priv->real_changed)
          {
            g_signal_emit_by_name (editable, "changed");
            priv->real_changed = FALSE;
          }
-    } 
+    }
 }
 
 static void
 emit_changed (GtkEntry *entry)
 {
   GtkEditable *editable = GTK_EDITABLE (entry);
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
 
   if (priv->change_count == 0)
     g_signal_emit_by_name (editable, "changed");
-  else 
+  else
     priv->real_changed = TRUE;
 }
 
@@ -2454,21 +2500,22 @@ static void
 gtk_entry_destroy (GtkWidget *widget)
 {
   GtkEntry *entry = GTK_ENTRY (widget);
+  GtkEntryPrivate *priv = entry->priv;
 
-  entry->current_pos = entry->selection_bound = 0;
+  priv->current_pos = priv->selection_bound = 0;
   _gtk_entry_reset_im_context (entry);
   gtk_entry_reset_layout (entry);
 
-  if (entry->blink_timeout)
+  if (priv->blink_timeout)
     {
-      g_source_remove (entry->blink_timeout);
-      entry->blink_timeout = 0;
+      g_source_remove (priv->blink_timeout);
+      priv->blink_timeout = 0;
     }
 
-  if (entry->recompute_idle)
+  if (priv->recompute_idle)
     {
-      g_source_remove (entry->recompute_idle);
-      entry->recompute_idle = 0;
+      g_source_remove (priv->recompute_idle);
+      priv->recompute_idle = 0;
     }
 
   GTK_WIDGET_CLASS (gtk_entry_parent_class)->destroy (widget);
@@ -2478,7 +2525,7 @@ static void
 gtk_entry_dispose (GObject *object)
 {
   GtkEntry *entry = GTK_ENTRY (object);
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
 
   gtk_entry_set_icon_from_pixbuf (entry, GTK_ENTRY_ICON_PRIMARY, NULL);
   gtk_entry_set_icon_tooltip_markup (entry, GTK_ENTRY_ICON_PRIMARY, NULL);
@@ -2499,7 +2546,7 @@ static void
 gtk_entry_finalize (GObject *object)
 {
   GtkEntry *entry = GTK_ENTRY (object);
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
   EntryIconInfo *icon_info = NULL;
   gint i;
 
@@ -2520,16 +2567,16 @@ gtk_entry_finalize (GObject *object)
 
   gtk_entry_set_completion (entry, NULL);
 
-  if (entry->cached_layout)
-    g_object_unref (entry->cached_layout);
+  if (priv->cached_layout)
+    g_object_unref (priv->cached_layout);
 
-  g_object_unref (entry->im_context);
+  g_object_unref (priv->im_context);
 
-  if (entry->blink_timeout)
-    g_source_remove (entry->blink_timeout);
+  if (priv->blink_timeout)
+    g_source_remove (priv->blink_timeout);
 
-  if (entry->recompute_idle)
-    g_source_remove (entry->recompute_idle);
+  if (priv->recompute_idle)
+    g_source_remove (priv->recompute_idle);
 
   g_free (priv->im_module);
 
@@ -2539,12 +2586,14 @@ gtk_entry_finalize (GObject *object)
 static DisplayMode
 gtk_entry_get_display_mode (GtkEntry *entry)
 {
-  GtkEntryPrivate *priv;
-  if (entry->visible)
+  GtkEntryPrivate *priv = entry->priv;
+
+  if (priv->visible)
     return DISPLAY_NORMAL;
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
-  if (entry->invisible_char == 0 && priv->invisible_char_set)
+
+  if (priv->invisible_char == 0 && priv->invisible_char_set)
     return DISPLAY_BLANK;
+
   return DISPLAY_INVISIBLE;
 }
 
@@ -2565,7 +2614,7 @@ gtk_entry_get_display_text (GtkEntry *entry,
   guint length;
   gint i;
 
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
   text = gtk_entry_buffer_get_text (get_buffer (entry));
   length = gtk_entry_buffer_get_length (get_buffer (entry));
 
@@ -2576,7 +2625,7 @@ gtk_entry_get_display_text (GtkEntry *entry,
 
   if (end_pos <= start_pos)
       return g_strdup ("");
-  else if (entry->visible)
+  else if (priv->visible)
     {
       start = g_utf8_offset_to_pointer (text, start_pos);
       end = g_utf8_offset_to_pointer (start, end_pos - start_pos);
@@ -2587,10 +2636,10 @@ gtk_entry_get_display_text (GtkEntry *entry,
       str = g_string_sized_new (length * 2);
 
       /* Figure out what our invisible char is and encode it */
-      if (!entry->invisible_char)
+      if (!priv->invisible_char)
           invisible_char = priv->invisible_char_set ? ' ' : '*';
       else
-          invisible_char = entry->invisible_char;
+          invisible_char = priv->invisible_char;
       char_len = g_unichar_to_utf8 (invisible_char, char_str);
 
       /*
@@ -2621,7 +2670,8 @@ gtk_entry_get_display_text (GtkEntry *entry,
 static void
 update_cursors (GtkWidget *widget)
 {
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (widget);
+  GtkEntry *entry = GTK_ENTRY (widget);
+  GtkEntryPrivate *priv = entry->priv;
   EntryIconInfo *icon_info = NULL;
   GdkDisplay *display;
   GdkCursor *cursor;
@@ -2660,7 +2710,8 @@ static void
 realize_icon_info (GtkWidget            *widget, 
                    GtkEntryIconPosition  icon_pos)
 {
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (widget);
+  GtkEntry *entry = GTK_ENTRY (widget);
+  GtkEntryPrivate *priv = entry->priv;
   EntryIconInfo *icon_info = priv->icons[icon_pos];
   GdkWindowAttr attributes;
   gint attributes_mask;
@@ -2696,7 +2747,8 @@ static EntryIconInfo*
 construct_icon_info (GtkWidget            *widget, 
                      GtkEntryIconPosition  icon_pos)
 {
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (widget);
+  GtkEntry *entry = GTK_ENTRY (widget);
+  GtkEntryPrivate *priv = entry->priv;
   EntryIconInfo *icon_info;
 
   g_return_val_if_fail (priv->icons[icon_pos] == NULL, NULL);
@@ -2713,7 +2765,8 @@ construct_icon_info (GtkWidget            *widget,
 static void
 gtk_entry_map (GtkWidget *widget)
 {
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (widget);
+  GtkEntry *entry = GTK_ENTRY (widget);
+  GtkEntryPrivate *priv = entry->priv;
   EntryIconInfo *icon_info = NULL;
   gint i;
 
@@ -2734,7 +2787,8 @@ gtk_entry_map (GtkWidget *widget)
 static void
 gtk_entry_unmap (GtkWidget *widget)
 {
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (widget);
+  GtkEntry *entry = GTK_ENTRY (widget);
+  GtkEntryPrivate *priv = entry->priv;
   EntryIconInfo *icon_info = NULL;
   gint i;
 
@@ -2768,7 +2822,7 @@ gtk_entry_realize (GtkWidget *widget)
   g_object_ref (window);
 
   entry = GTK_ENTRY (widget);
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
 
   attributes.window_type = GDK_WINDOW_CHILD;
   attributes.wclass = GDK_INPUT_ONLY;
@@ -2795,20 +2849,20 @@ gtk_entry_realize (GtkWidget *widget)
       attributes_mask |= GDK_WA_CURSOR;
     }
 
-  entry->text_area = gdk_window_new (gtk_widget_get_window (widget),
-                                     &attributes,
-                                     attributes_mask);
+  priv->text_area = gdk_window_new (gtk_widget_get_window (widget),
+                                    &attributes,
+                                    attributes_mask);
 
-  gdk_window_set_user_data (entry->text_area, entry);
+  gdk_window_set_user_data (priv->text_area, entry);
 
   if (attributes_mask & GDK_WA_CURSOR)
     gdk_cursor_unref (attributes.cursor);
 
   gtk_widget_style_attach (widget);
 
-  gdk_window_show (entry->text_area);
+  gdk_window_show (priv->text_area);
 
-  gtk_im_context_set_client_window (entry->im_context, entry->text_area);
+  gtk_im_context_set_client_window (priv->im_context, priv->text_area);
 
   gtk_entry_adjust_scroll (entry);
   gtk_entry_update_primary_selection (entry);
@@ -2832,30 +2886,30 @@ static void
 gtk_entry_unrealize (GtkWidget *widget)
 {
   GtkEntry *entry = GTK_ENTRY (widget);
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
   GtkClipboard *clipboard;
   EntryIconInfo *icon_info;
   gint i;
 
   gtk_entry_reset_layout (entry);
   
-  gtk_im_context_set_client_window (entry->im_context, NULL);
+  gtk_im_context_set_client_window (priv->im_context, NULL);
 
   clipboard = gtk_widget_get_clipboard (widget, GDK_SELECTION_PRIMARY);
   if (gtk_clipboard_get_owner (clipboard) == G_OBJECT (entry))
     gtk_clipboard_clear (clipboard);
   
-  if (entry->text_area)
+  if (priv->text_area)
     {
-      gdk_window_set_user_data (entry->text_area, NULL);
-      gdk_window_destroy (entry->text_area);
-      entry->text_area = NULL;
+      gdk_window_set_user_data (priv->text_area, NULL);
+      gdk_window_destroy (priv->text_area);
+      priv->text_area = NULL;
     }
 
-  if (entry->popup_menu)
+  if (priv->popup_menu)
     {
-      gtk_widget_destroy (entry->popup_menu);
-      entry->popup_menu = NULL;
+      gtk_widget_destroy (priv->popup_menu);
+      priv->popup_menu = NULL;
     }
 
   GTK_WIDGET_CLASS (gtk_entry_parent_class)->unrealize (widget);
@@ -2878,11 +2932,11 @@ _gtk_entry_get_borders (GtkEntry *entry,
                        gint     *xborder,
                        gint     *yborder)
 {
+  GtkEntryPrivate *priv = entry->priv;
   GtkWidget *widget = GTK_WIDGET (entry);
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (widget);
   GtkStyle *style;
 
-  if (entry->has_frame)
+  if (priv->has_frame)
     {
       style = gtk_widget_get_style (widget);
 
@@ -2908,7 +2962,7 @@ gtk_entry_get_preferred_width (GtkWidget *widget,
                                gint      *natural)
 {
   GtkEntry *entry = GTK_ENTRY (widget);
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
   PangoFontMetrics *metrics;
   gint xborder, yborder;
   GtkBorder inner_border;
@@ -2926,7 +2980,7 @@ gtk_entry_get_preferred_width (GtkWidget *widget,
   _gtk_entry_get_borders (entry, &xborder, &yborder);
   _gtk_entry_effective_inner_border (entry, &inner_border);
 
-  if (entry->width_chars < 0)
+  if (priv->width_chars < 0)
     width = MIN_ENTRY_WIDTH + xborder * 2 + inner_border.left + inner_border.right;
   else
     {
@@ -2934,7 +2988,7 @@ gtk_entry_get_preferred_width (GtkWidget *widget,
       gint digit_width = pango_font_metrics_get_approximate_digit_width (metrics);
       gint char_pixels = (MAX (char_width, digit_width) + PANGO_SCALE - 1) / PANGO_SCALE;
 
-      width = char_pixels * entry->width_chars + xborder * 2 + inner_border.left + inner_border.right;
+      width = char_pixels * priv->width_chars + xborder * 2 + inner_border.left + inner_border.right;
     }
 
   for (i = 0; i < MAX_ICONS; i++)
@@ -2959,6 +3013,7 @@ gtk_entry_get_preferred_height (GtkWidget *widget,
                                 gint      *natural)
 {
   GtkEntry *entry = GTK_ENTRY (widget);
+  GtkEntryPrivate *priv = entry->priv;
   PangoFontMetrics *metrics;
   gint xborder, yborder;
   GtkBorder inner_border;
@@ -2971,13 +3026,13 @@ gtk_entry_get_preferred_height (GtkWidget *widget,
                                       gtk_widget_get_style (widget)->font_desc,
                                       pango_context_get_language (context));
 
-  entry->ascent = pango_font_metrics_get_ascent (metrics);
-  entry->descent = pango_font_metrics_get_descent (metrics);
+  priv->ascent = pango_font_metrics_get_ascent (metrics);
+  priv->descent = pango_font_metrics_get_descent (metrics);
 
   _gtk_entry_get_borders (entry, &xborder, &yborder);
   _gtk_entry_effective_inner_border (entry, &inner_border);
 
-  height = PANGO_PIXELS (entry->ascent + entry->descent) + yborder * 2 + inner_border.top + inner_border.bottom;
+  height = PANGO_PIXELS (priv->ascent + priv->descent) + yborder * 2 + inner_border.top + inner_border.bottom;
 
   pango_font_metrics_unref (metrics);
 
@@ -2989,7 +3044,7 @@ static void
 place_windows (GtkEntry *entry)
 {
   GtkWidget *widget = GTK_WIDGET (entry);
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
   gint x, y, width, height;
   gint frame_x, frame_y;
   GtkAllocation primary;
@@ -3026,7 +3081,7 @@ place_windows (GtkEntry *entry)
                             secondary.x, secondary.y,
                             secondary.width, secondary.height);
 
-  gdk_window_move_resize (entry->text_area, x, y, width, height);
+  gdk_window_move_resize (priv->text_area, x, y, width, height);
 }
 
 static void
@@ -3036,8 +3091,8 @@ gtk_entry_get_text_area_size (GtkEntry *entry,
                              gint     *width,
                              gint     *height)
 {
+  GtkEntryPrivate *priv = entry->priv;
   GtkWidget *widget = GTK_WIDGET (entry);
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (widget);
   GtkAllocation allocation;
   GtkRequisition requisition;
   gint frame_height;
@@ -3093,6 +3148,7 @@ get_frame_size (GtkEntry *entry,
                 gint     *width,
                 gint     *height)
 {
+  GtkEntryPrivate *priv = entry->priv;
   GtkAllocation allocation;
   GtkRequisition requisition;
   GtkWidget *widget = GTK_WIDGET (entry);
@@ -3105,7 +3161,7 @@ get_frame_size (GtkEntry *entry,
 
   if (y)
     {
-      if (entry->is_cell_renderer)
+      if (priv->is_cell_renderer)
        *y = allocation.y;
       else
        *y = allocation.y + (allocation.height - requisition.height) / 2;
@@ -3116,7 +3172,7 @@ get_frame_size (GtkEntry *entry,
 
   if (height)
     {
-      if (entry->is_cell_renderer)
+      if (priv->is_cell_renderer)
        *height = allocation.height;
       else
        *height = requisition.height;
@@ -3223,7 +3279,7 @@ static gboolean
 should_prelight (GtkEntry             *entry,
                  GtkEntryIconPosition  icon_pos)
 {
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
   EntryIconInfo *icon_info = priv->icons[icon_pos];
   gboolean prelight;
 
@@ -3249,7 +3305,7 @@ draw_icon (GtkWidget            *widget,
            GtkEntryIconPosition  icon_pos)
 {
   GtkEntry *entry = GTK_ENTRY (widget);
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
   EntryIconInfo *icon_info = priv->icons[icon_pos];
   GdkPixbuf *pixbuf;
   gint x, y, width, height;
@@ -3322,7 +3378,8 @@ static void
 gtk_entry_draw_frame (GtkWidget      *widget,
                       cairo_t        *cr)
 {
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (widget);
+  GtkEntry *entry = GTK_ENTRY (widget);
+  GtkEntryPrivate *priv = entry->priv;
   GtkStyle *style;
   GdkWindow *window;
   gint x = 0, y = 0, width, height;
@@ -3370,10 +3427,10 @@ gtk_entry_draw_frame (GtkWidget      *widget,
                       widget, "entry_bg",
                       x, y, width, height);
 
-  gtk_paint_shadow (style, cr,
-                    state, priv->shadow_type,
-                    widget, "entry", x, y, width, height);
-
+  if (priv->has_frame)
+    gtk_paint_shadow (style, cr,
+                      state, priv->shadow_type,
+                      widget, "entry", x, y, width, height);
 
   gtk_entry_draw_progress (widget, cr);
 
@@ -3393,59 +3450,37 @@ gtk_entry_draw_frame (GtkWidget      *widget,
   cairo_restore (cr);
 }
 
-static void
-gtk_entry_get_progress_border (GtkWidget *widget,
-                               GtkBorder *progress_border)
-{
-  GtkBorder *tmp_border;
-  GtkStyle *style;
-
-  gtk_widget_style_get (widget, "progress-border", &tmp_border, NULL);
-  if (tmp_border)
-    {
-      *progress_border = *tmp_border;
-      gtk_border_free (tmp_border);
-    }
-  else
-    {
-      style = gtk_widget_get_style (widget);
-
-      progress_border->left = style->xthickness;
-      progress_border->right = style->xthickness;
-      progress_border->top = style->ythickness;
-      progress_border->bottom = style->ythickness;
-    }
-}
-
 static void
 get_progress_area (GtkWidget *widget,
-                  gint       *x,
-                  gint       *y,
-                  gint       *width,
-                  gint       *height)
+                   gint       *x,
+                   gint       *y,
+                   gint       *width,
+                   gint       *height)
 {
-  GtkEntryPrivate *private = GTK_ENTRY_GET_PRIVATE (widget);
   GtkEntry *entry = GTK_ENTRY (widget);
-  GtkBorder progress_border;
-  gint frame_width, frame_height;
+  GtkEntryPrivate *private = entry->priv;
+  GtkBorder *progress_border;
 
-  get_frame_size (entry, NULL, NULL, &frame_width, &frame_height);
-  gtk_entry_get_progress_border (widget, &progress_border);
+  get_text_area_size (entry, x, y, width, height);
 
-  *x = progress_border.left;
-  *y = progress_border.top;
+  if (!private->interior_focus)
+    {
+      *x -= private->focus_width;
+      *y -= private->focus_width;
+      *width += 2 * private->focus_width;
+      *height += 2 * private->focus_width;
+    }
 
-  *width = frame_width
-           - progress_border.left - progress_border.right;
-  *height = frame_height
-            - progress_border.top - progress_border.bottom;
+  gtk_widget_style_get (widget, "progress-border", &progress_border, NULL);
 
-  if (gtk_widget_has_focus (widget) && !private->interior_focus)
+  if (progress_border)
     {
-      *x += private->focus_width;
-      *y += private->focus_width;
-      *width -= 2 * private->focus_width;
-      *height -= 2 * private->focus_width;
+      *x += progress_border->left;
+      *y += progress_border->top;
+      *width -= progress_border->left + progress_border->right;
+      *height -= progress_border->top + progress_border->bottom;
+
+      gtk_border_free (progress_border);
     }
 
   if (private->progress_pulse_mode)
@@ -3509,7 +3544,7 @@ gtk_entry_draw (GtkWidget *widget,
   GtkEntry *entry = GTK_ENTRY (widget);
   GtkStyle *style;
   GtkStateType state;
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
   int i;
 
   style = gtk_widget_get_style (widget);
@@ -3525,9 +3560,9 @@ gtk_entry_draw (GtkWidget *widget,
       /* Draw text and cursor */
       cairo_save (cr);
 
-      gtk_cairo_transform_to_window (cr, widget, entry->text_area);
+      gtk_cairo_transform_to_window (cr, widget, priv->text_area);
 
-      if (entry->dnd_position != -1)
+      if (priv->dnd_position != -1)
        gtk_entry_draw_cursor (GTK_ENTRY (widget), cr, CURSOR_DND);
       
       gtk_entry_draw_text (GTK_ENTRY (widget), cr);
@@ -3535,7 +3570,7 @@ gtk_entry_draw (GtkWidget *widget,
       /* When no text is being displayed at all, don't show the cursor */
       if (gtk_entry_get_display_mode (entry) != DISPLAY_BLANK &&
          gtk_widget_has_focus (widget) &&
-         entry->selection_bound == entry->current_pos && entry->cursor_visible)
+         priv->selection_bound == priv->current_pos && priv->cursor_visible)
         gtk_entry_draw_cursor (GTK_ENTRY (widget), cr, CURSOR_STANDARD);
 
       cairo_restore (cr);
@@ -3566,7 +3601,7 @@ gtk_entry_enter_notify (GtkWidget *widget,
                         GdkEventCrossing *event)
 {
   GtkEntry *entry = GTK_ENTRY (widget);
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
   gint i;
 
   for (i = 0; i < MAX_ICONS; i++)
@@ -3593,7 +3628,7 @@ gtk_entry_leave_notify (GtkWidget        *widget,
                         GdkEventCrossing *event)
 {
   GtkEntry *entry = GTK_ENTRY (widget);
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
   gint i;
 
   for (i = 0; i < MAX_ICONS; i++)
@@ -3689,7 +3724,7 @@ gtk_entry_button_press (GtkWidget      *widget,
 {
   GtkEntry *entry = GTK_ENTRY (widget);
   GtkEditable *editable = GTK_EDITABLE (widget);
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
   EntryIconInfo *icon_info = NULL;
   gint tmp_pos;
   gint sel_start, sel_end;
@@ -3721,36 +3756,36 @@ gtk_entry_button_press (GtkWidget      *widget,
         }
     }
 
-  if (event->window != entry->text_area ||
-      (entry->button && event->button != entry->button))
+  if (event->window != priv->text_area ||
+      (priv->button && event->button != priv->button))
     return FALSE;
 
   gtk_entry_reset_blink_time (entry);
 
-  entry->button = event->button;
+  priv->button = event->button;
   
   if (!gtk_widget_has_focus (widget))
     {
-      entry->in_click = TRUE;
+      priv->in_click = TRUE;
       gtk_widget_grab_focus (widget);
-      entry->in_click = FALSE;
+      priv->in_click = FALSE;
     }
   
-  tmp_pos = gtk_entry_find_position (entry, event->x + entry->scroll_offset);
+  tmp_pos = gtk_entry_find_position (entry, event->x + priv->scroll_offset);
     
   if (event->button == 1)
     {
       gboolean have_selection = gtk_editable_get_selection_bounds (editable, &sel_start, &sel_end);
       
-      entry->select_words = FALSE;
-      entry->select_lines = FALSE;
+      priv->select_words = FALSE;
+      priv->select_lines = FALSE;
 
       if (event->state & GDK_SHIFT_MASK)
        {
          _gtk_entry_reset_im_context (entry);
          
          if (!have_selection) /* select from the current position to the clicked position */
-           sel_start = sel_end = entry->current_pos;
+           sel_start = sel_end = priv->current_pos;
          
          if (tmp_pos > sel_start && tmp_pos < sel_end)
            {
@@ -3773,12 +3808,12 @@ gtk_entry_button_press (GtkWidget      *widget,
                  break;
                  
                case GDK_2BUTTON_PRESS:
-                 entry->select_words = TRUE;
+                 priv->select_words = TRUE;
                  gtk_entry_select_word (entry);
                  break;
                  
                case GDK_3BUTTON_PRESS:
-                 entry->select_lines = TRUE;
+                 priv->select_lines = TRUE;
                  gtk_entry_select_line (entry);
                  break;
 
@@ -3786,10 +3821,10 @@ gtk_entry_button_press (GtkWidget      *widget,
                  break;
                }
 
-             start = MIN (entry->current_pos, entry->selection_bound);
+             start = MIN (priv->current_pos, priv->selection_bound);
              start = MIN (sel_start, start);
              
-             end = MAX (entry->current_pos, entry->selection_bound);
+             end = MAX (priv->current_pos, priv->selection_bound);
              end = MAX (sel_end, end);
 
              if (tmp_pos == sel_start || tmp_pos == sel_end)
@@ -3807,14 +3842,14 @@ gtk_entry_button_press (GtkWidget      *widget,
        switch (event->type)
        {
        case GDK_BUTTON_PRESS:
-         if (in_selection (entry, event->x + entry->scroll_offset))
+         if (in_selection (entry, event->x + priv->scroll_offset))
            {
              /* Click inside the selection - we'll either start a drag, or
               * clear the selection
               */
-             entry->in_drag = TRUE;
-             entry->drag_start_x = event->x + entry->scroll_offset;
-             entry->drag_start_y = event->y;
+             priv->in_drag = TRUE;
+             priv->drag_start_x = event->x + priv->scroll_offset;
+             priv->drag_start_y = event->y;
            }
          else
             gtk_editable_set_position (editable, tmp_pos);
@@ -3823,20 +3858,20 @@ gtk_entry_button_press (GtkWidget      *widget,
        case GDK_2BUTTON_PRESS:
          /* We ALWAYS receive a GDK_BUTTON_PRESS immediately before 
           * receiving a GDK_2BUTTON_PRESS so we need to reset
-          * entry->in_drag which may have been set above
+           * priv->in_drag which may have been set above
            */
-         entry->in_drag = FALSE;
-         entry->select_words = TRUE;
+         priv->in_drag = FALSE;
+         priv->select_words = TRUE;
          gtk_entry_select_word (entry);
          break;
        
        case GDK_3BUTTON_PRESS:
          /* We ALWAYS receive a GDK_BUTTON_PRESS immediately before
           * receiving a GDK_3BUTTON_PRESS so we need to reset
-          * entry->in_drag which may have been set above
+          * priv->in_drag which may have been set above
           */
-         entry->in_drag = FALSE;
-         entry->select_lines = TRUE;
+         priv->in_drag = FALSE;
+         priv->select_lines = TRUE;
          gtk_entry_select_line (entry);
          break;
 
@@ -3848,7 +3883,7 @@ gtk_entry_button_press (GtkWidget      *widget,
     }
   else if (event->button == 2 && event->type == GDK_BUTTON_PRESS)
     {
-      if (entry->editable)
+      if (priv->editable)
         {
           priv->insert_pos = tmp_pos;
           gtk_entry_paste (entry, GDK_SELECTION_PRIMARY);
@@ -3862,7 +3897,7 @@ gtk_entry_button_press (GtkWidget      *widget,
   else if (event->button == 3 && event->type == GDK_BUTTON_PRESS)
     {
       gtk_entry_do_popup (entry, event);
-      entry->button = 0;       /* Don't wait for release, since the menu will gtk_grab_add */
+      priv->button = 0;        /* Don't wait for release, since the menu will gtk_grab_add */
 
       return TRUE;
     }
@@ -3875,7 +3910,7 @@ gtk_entry_button_release (GtkWidget      *widget,
                          GdkEventButton *event)
 {
   GtkEntry *entry = GTK_ENTRY (widget);
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (widget);
+  GtkEntryPrivate *priv = entry->priv;
   EntryIconInfo *icon_info = NULL;
   gint i;
 
@@ -3906,19 +3941,19 @@ gtk_entry_button_release (GtkWidget      *widget,
         }
     }
 
-  if (event->window != entry->text_area || entry->button != event->button)
+  if (event->window != priv->text_area || priv->button != event->button)
     return FALSE;
 
-  if (entry->in_drag)
+  if (priv->in_drag)
     {
-      gint tmp_pos = gtk_entry_find_position (entry, entry->drag_start_x);
+      gint tmp_pos = gtk_entry_find_position (entry, priv->drag_start_x);
 
       gtk_editable_set_position (GTK_EDITABLE (entry), tmp_pos);
 
-      entry->in_drag = 0;
+      priv->in_drag = 0;
     }
   
-  entry->button = 0;
+  priv->button = 0;
   
   gtk_entry_update_primary_selection (entry);
              
@@ -3943,7 +3978,7 @@ gtk_entry_motion_notify (GtkWidget      *widget,
                         GdkEventMotion *event)
 {
   GtkEntry *entry = GTK_ENTRY (widget);
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
   EntryIconInfo *icon_info = NULL;
   GdkDragContext *context;
   gint tmp_pos;
@@ -3979,34 +4014,34 @@ gtk_entry_motion_notify (GtkWidget      *widget,
         }
     }
 
-  if (entry->mouse_cursor_obscured)
+  if (priv->mouse_cursor_obscured)
     {
       GdkCursor *cursor;
       
       cursor = gdk_cursor_new_for_display (gtk_widget_get_display (widget), GDK_XTERM);
-      gdk_window_set_cursor (entry->text_area, cursor);
+      gdk_window_set_cursor (priv->text_area, cursor);
       gdk_cursor_unref (cursor);
-      entry->mouse_cursor_obscured = FALSE;
+      priv->mouse_cursor_obscured = FALSE;
     }
 
-  if (event->window != entry->text_area || entry->button != 1)
+  if (event->window != priv->text_area || priv->button != 1)
     return FALSE;
 
-  if (entry->select_lines)
+  if (priv->select_lines)
     return TRUE;
 
   gdk_event_request_motions (event);
 
-  if (entry->in_drag)
+  if (priv->in_drag)
     {
       if (gtk_entry_get_display_mode (entry) == DISPLAY_NORMAL &&
           gtk_drag_check_threshold (widget,
-                                    entry->drag_start_x, entry->drag_start_y,
-                                    event->x + entry->scroll_offset, event->y))
+                                    priv->drag_start_x, priv->drag_start_y,
+                                    event->x + priv->scroll_offset, event->y))
         {
           GdkDragContext *context;
           GtkTargetList  *target_list = gtk_target_list_new (NULL, 0);
-          guint actions = entry->editable ? GDK_ACTION_COPY | GDK_ACTION_MOVE : GDK_ACTION_COPY;
+          guint actions = priv->editable ? GDK_ACTION_COPY | GDK_ACTION_MOVE : GDK_ACTION_COPY;
           gchar *text = NULL;
           cairo_surface_t *surface;
 
@@ -4016,7 +4051,7 @@ gtk_entry_motion_notify (GtkWidget      *widget,
           surface = _gtk_text_util_create_drag_icon (widget, text, -1);
 
           context = gtk_drag_begin (widget, target_list, actions,
-                                    entry->button, (GdkEvent *)event);
+                                    priv->button, (GdkEvent *)event);
           
           if (surface)
             gtk_drag_set_icon_surface (context, surface);
@@ -4027,8 +4062,8 @@ gtk_entry_motion_notify (GtkWidget      *widget,
             cairo_surface_destroy (surface);
           g_free (text);
 
-          entry->in_drag = FALSE;
-          entry->button = 0;
+          priv->in_drag = FALSE;
+          priv->button = 0;
          
           gtk_target_list_unref (target_list);
         }
@@ -4037,12 +4072,12 @@ gtk_entry_motion_notify (GtkWidget      *widget,
     {
       if (event->y < 0)
        tmp_pos = 0;
-      else if (event->y >= gdk_window_get_height (entry->text_area))
+      else if (event->y >= gdk_window_get_height (priv->text_area))
        tmp_pos = gtk_entry_buffer_get_length (get_buffer (entry));
       else
-       tmp_pos = gtk_entry_find_position (entry, event->x + entry->scroll_offset);
-      
-      if (entry->select_words) 
+       tmp_pos = gtk_entry_find_position (entry, event->x + priv->scroll_offset);
+
+      if (priv->select_words)
        {
          gint min, max;
          gint old_min, old_max;
@@ -4050,12 +4085,12 @@ gtk_entry_motion_notify (GtkWidget      *widget,
          
          min = gtk_entry_move_backward_word (entry, tmp_pos, TRUE);
          max = gtk_entry_move_forward_word (entry, tmp_pos, TRUE);
-         
-         pos = entry->current_pos;
-         bound = entry->selection_bound;
 
-         old_min = MIN(entry->current_pos, entry->selection_bound);
-         old_max = MAX(entry->current_pos, entry->selection_bound);
+         pos = priv->current_pos;
+         bound = priv->selection_bound;
+
+         old_min = MIN(priv->current_pos, priv->selection_bound);
+         old_max = MAX(priv->current_pos, priv->selection_bound);
          
          if (min < old_min)
            {
@@ -4069,12 +4104,12 @@ gtk_entry_motion_notify (GtkWidget      *widget,
            }
          else if (pos == old_min) 
            {
-             if (entry->current_pos != min)
+             if (priv->current_pos != min)
                pos = max;
            }
          else 
            {
-             if (entry->current_pos != max)
+             if (priv->current_pos != max)
                pos = min;
            }
        
@@ -4104,12 +4139,14 @@ set_invisible_cursor (GdkWindow *window)
 static void
 gtk_entry_obscure_mouse_cursor (GtkEntry *entry)
 {
-  if (entry->mouse_cursor_obscured)
+  GtkEntryPrivate *priv = entry->priv;
+
+  if (priv->mouse_cursor_obscured)
     return;
 
-  set_invisible_cursor (entry->text_area);
-  
-  entry->mouse_cursor_obscured = TRUE;  
+  set_invisible_cursor (priv->text_area);
+
+  priv->mouse_cursor_obscured = TRUE;
 }
 
 static gint
@@ -4117,16 +4154,17 @@ gtk_entry_key_press (GtkWidget   *widget,
                     GdkEventKey *event)
 {
   GtkEntry *entry = GTK_ENTRY (widget);
+  GtkEntryPrivate *priv = entry->priv;
 
   gtk_entry_reset_blink_time (entry);
   gtk_entry_pend_cursor_blink (entry);
 
-  if (entry->editable)
+  if (priv->editable)
     {
-      if (gtk_im_context_filter_keypress (entry->im_context, event))
+      if (gtk_im_context_filter_keypress (priv->im_context, event))
        {
          gtk_entry_obscure_mouse_cursor (entry);
-         entry->need_im_reset = TRUE;
+         priv->need_im_reset = TRUE;
          return TRUE;
        }
     }
@@ -4137,7 +4175,7 @@ gtk_entry_key_press (GtkWidget   *widget,
       event->keyval == GDK_KEY_Escape)
     {
       GtkEntryCompletion *completion = gtk_entry_get_completion (entry);
-      
+
       if (completion && completion->priv->completion_timeout)
         {
           g_source_remove (completion->priv->completion_timeout);
@@ -4152,7 +4190,7 @@ gtk_entry_key_press (GtkWidget   *widget,
      */
     return TRUE;
 
-  if (!entry->editable && event->length)
+  if (!priv->editable && event->length)
     gtk_widget_error_bell (widget);
 
   return FALSE;
@@ -4163,12 +4201,13 @@ gtk_entry_key_release (GtkWidget   *widget,
                       GdkEventKey *event)
 {
   GtkEntry *entry = GTK_ENTRY (widget);
+  GtkEntryPrivate *priv = entry->priv;
 
-  if (entry->editable)
+  if (priv->editable)
     {
-      if (gtk_im_context_filter_keypress (entry->im_context, event))
+      if (gtk_im_context_filter_keypress (priv->im_context, event))
        {
-         entry->need_im_reset = TRUE;
+         priv->need_im_reset = TRUE;
          return TRUE;
        }
     }
@@ -4181,16 +4220,17 @@ gtk_entry_focus_in (GtkWidget     *widget,
                    GdkEventFocus *event)
 {
   GtkEntry *entry = GTK_ENTRY (widget);
+  GtkEntryPrivate *priv = entry->priv;
   GdkKeymap *keymap;
 
   gtk_widget_queue_draw (widget);
 
   keymap = gdk_keymap_get_for_display (gtk_widget_get_display (widget));
 
-  if (entry->editable)
+  if (priv->editable)
     {
-      entry->need_im_reset = TRUE;
-      gtk_im_context_focus_in (entry->im_context);
+      priv->need_im_reset = TRUE;
+      gtk_im_context_focus_in (priv->im_context);
       keymap_state_changed (keymap, entry);
       g_signal_connect (keymap, "state-changed", 
                         G_CALLBACK (keymap_state_changed), entry);
@@ -4210,6 +4250,7 @@ gtk_entry_focus_out (GtkWidget     *widget,
                     GdkEventFocus *event)
 {
   GtkEntry *entry = GTK_ENTRY (widget);
+  GtkEntryPrivate *priv = entry->priv;
   GtkEntryCompletion *completion;
   GdkKeymap *keymap;
 
@@ -4217,10 +4258,10 @@ gtk_entry_focus_out (GtkWidget     *widget,
 
   keymap = gdk_keymap_get_for_display (gtk_widget_get_display (widget));
 
-  if (entry->editable)
+  if (priv->editable)
     {
-      entry->need_im_reset = TRUE;
-      gtk_im_context_focus_out (entry->im_context);
+      priv->need_im_reset = TRUE;
+      gtk_im_context_focus_out (priv->im_context);
       remove_capslock_feedback (entry);
     }
 
@@ -4240,11 +4281,12 @@ static void
 gtk_entry_grab_focus (GtkWidget        *widget)
 {
   GtkEntry *entry = GTK_ENTRY (widget);
+  GtkEntryPrivate *priv = entry->priv;
   gboolean select_on_focus;
   
   GTK_WIDGET_CLASS (gtk_entry_parent_class)->grab_focus (widget);
 
-  if (entry->editable && !entry->in_click)
+  if (priv->editable && !priv->in_click)
     {
       g_object_get (gtk_widget_get_settings (widget),
                     "gtk-entry-select-on-focus",
@@ -4272,6 +4314,7 @@ gtk_entry_state_changed (GtkWidget      *widget,
                         GtkStateType    previous_state)
 {
   GtkEntry *entry = GTK_ENTRY (widget);
+  GtkEntryPrivate *priv = entry->priv;
   GdkCursor *cursor;
   
   if (gtk_widget_get_realized (widget))
@@ -4280,13 +4323,13 @@ gtk_entry_state_changed (GtkWidget      *widget,
         cursor = gdk_cursor_new_for_display (gtk_widget_get_display (widget), GDK_XTERM);
       else 
         cursor = NULL;
-      
-      gdk_window_set_cursor (entry->text_area, cursor);
+
+      gdk_window_set_cursor (priv->text_area, cursor);
 
       if (cursor)
         gdk_cursor_unref (cursor);
 
-      entry->mouse_cursor_obscured = FALSE;
+      priv->mouse_cursor_obscured = FALSE;
 
       update_cursors (widget);
     }
@@ -4294,7 +4337,7 @@ gtk_entry_state_changed (GtkWidget      *widget,
   if (!gtk_widget_is_sensitive (widget))
     {
       /* Clear any selection */
-      gtk_editable_select_region (GTK_EDITABLE (entry), entry->current_pos, entry->current_pos);      
+      gtk_editable_select_region (GTK_EDITABLE (entry), priv->current_pos, priv->current_pos);
     }
   
   gtk_widget_queue_draw (widget);
@@ -4369,6 +4412,7 @@ gtk_entry_real_set_position (GtkEditable *editable,
                             gint         position)
 {
   GtkEntry *entry = GTK_ENTRY (editable);
+  GtkEntryPrivate *priv = entry->priv;
 
   guint length;
 
@@ -4376,8 +4420,8 @@ gtk_entry_real_set_position (GtkEditable *editable,
   if (position < 0 || position > length)
     position = length;
 
-  if (position != entry->current_pos ||
-      position != entry->selection_bound)
+  if (position != priv->current_pos ||
+      position != priv->selection_bound)
     {
       _gtk_entry_reset_im_context (entry);
       gtk_entry_set_positions (entry, position, position);
@@ -4387,7 +4431,10 @@ gtk_entry_real_set_position (GtkEditable *editable,
 static gint
 gtk_entry_get_position (GtkEditable *editable)
 {
-  return GTK_ENTRY (editable)->current_pos;
+  GtkEntry *entry = GTK_ENTRY (editable);
+  GtkEntryPrivate *priv = entry->priv;
+
+  return priv->current_pos;
 }
 
 static void
@@ -4419,17 +4466,18 @@ gtk_entry_get_selection_bounds (GtkEditable *editable,
                                gint        *end)
 {
   GtkEntry *entry = GTK_ENTRY (editable);
+  GtkEntryPrivate *priv = entry->priv;
 
-  *start = entry->selection_bound;
-  *end = entry->current_pos;
+  *start = priv->selection_bound;
+  *end = priv->current_pos;
 
-  return (entry->selection_bound != entry->current_pos);
+  return (priv->selection_bound != priv->current_pos);
 }
 
 static void
 icon_theme_changed (GtkEntry *entry)
 {
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
   gint i;
 
   for (i = 0; i < MAX_ICONS; i++)
@@ -4452,7 +4500,7 @@ icon_theme_changed (GtkEntry *entry)
 static void
 icon_margin_changed (GtkEntry *entry)
 {
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
   GtkBorder border;
 
   _gtk_entry_effective_inner_border (GTK_ENTRY (entry), &border);
@@ -4465,7 +4513,7 @@ gtk_entry_style_set (GtkWidget *widget,
                      GtkStyle  *previous_style)
 {
   GtkEntry *entry = GTK_ENTRY (widget);
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
   gint focus_width;
   gboolean interior_focus;
 
@@ -4478,7 +4526,7 @@ gtk_entry_style_set (GtkWidget *widget,
   priv->interior_focus = interior_focus;
 
   if (!priv->invisible_char_set)
-    entry->invisible_char = find_invisible_char (GTK_WIDGET (entry));
+    priv->invisible_char = find_invisible_char (GTK_WIDGET (entry));
 
   gtk_entry_recompute (entry);
 
@@ -4500,9 +4548,11 @@ gtk_cell_editable_key_press_event (GtkEntry    *entry,
                                   GdkEventKey *key_event,
                                   gpointer     data)
 {
+  GtkEntryPrivate *priv = entry->priv;
+
   if (key_event->keyval == GDK_KEY_Escape)
     {
-      entry->editing_canceled = TRUE;
+      priv->editing_canceled = TRUE;
       gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (entry));
       gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE (entry));
 
@@ -4525,7 +4575,10 @@ static void
 gtk_entry_start_editing (GtkCellEditable *cell_editable,
                         GdkEvent        *event)
 {
-  GTK_ENTRY (cell_editable)->is_cell_renderer = TRUE;
+  GtkEntry *entry = GTK_ENTRY (cell_editable);
+  GtkEntryPrivate *priv = entry->priv;
+
+  priv->is_cell_renderer = TRUE;
 
   g_signal_connect (cell_editable, "activate",
                    G_CALLBACK (gtk_cell_editable_entry_activated), NULL);
@@ -4603,16 +4656,17 @@ buffer_inserted_text (GtkEntryBuffer *buffer,
                       guint           n_chars,
                       GtkEntry       *entry)
 {
+  GtkEntryPrivate *priv = entry->priv;
   guint password_hint_timeout;
 
-  if (entry->current_pos > position)
-    entry->current_pos += n_chars;
+  if (priv->current_pos > position)
+    priv->current_pos += n_chars;
 
-  if (entry->selection_bound > position)
-    entry->selection_bound += n_chars;
+  if (priv->selection_bound > position)
+    priv->selection_bound += n_chars;
 
   /* Calculate the password hint if it needs to be displayed. */
-  if (n_chars == 1 && !entry->visible)
+  if (n_chars == 1 && !priv->visible)
     {
       g_object_get (gtk_widget_get_settings (GTK_WIDGET (entry)),
                     "gtk-entry-password-hint-timeout", &password_hint_timeout,
@@ -4644,15 +4698,16 @@ buffer_deleted_text (GtkEntryBuffer *buffer,
                      guint           n_chars,
                      GtkEntry       *entry)
 {
+  GtkEntryPrivate *priv = entry->priv;
   guint end_pos = position + n_chars;
   gint selection_bound;
   guint current_pos;
 
-  current_pos = entry->current_pos;
+  current_pos = priv->current_pos;
   if (current_pos > position)
     current_pos -= MIN (current_pos, end_pos) - position;
 
-  selection_bound = entry->selection_bound;
+  selection_bound = priv->selection_bound;
   if (selection_bound > position)
     selection_bound -= MIN (selection_bound, end_pos) - position;
 
@@ -4662,7 +4717,7 @@ buffer_deleted_text (GtkEntryBuffer *buffer,
   gtk_entry_update_primary_selection (entry);
 
   /* Disable the password hint if one exists. */
-  if (!entry->visible)
+  if (!priv->visible)
     {
       GtkEntryPasswordHint *password_hint = g_object_get_qdata (G_OBJECT (entry),
                                                                 quark_password_hint);
@@ -4731,6 +4786,7 @@ static gint
 get_better_cursor_x (GtkEntry *entry,
                     gint      offset)
 {
+  GtkEntryPrivate *priv = entry->priv;
   GdkKeymap *keymap = gdk_keymap_get_for_display (gtk_widget_get_display (GTK_WIDGET (entry)));
   PangoDirection keymap_direction = gdk_keymap_get_direction (keymap);
   gboolean split_cursor;
@@ -4750,7 +4806,7 @@ get_better_cursor_x (GtkEntry *entry,
   if (split_cursor)
     return strong_pos.x / PANGO_SCALE;
   else
-    return (keymap_direction == entry->resolved_dir) ? strong_pos.x / PANGO_SCALE : weak_pos.x / PANGO_SCALE;
+    return (keymap_direction == priv->resolved_dir) ? strong_pos.x / PANGO_SCALE : weak_pos.x / PANGO_SCALE;
 }
 
 static void
@@ -4759,12 +4815,12 @@ gtk_entry_move_cursor (GtkEntry       *entry,
                       gint            count,
                       gboolean        extend_selection)
 {
-  gint new_pos = entry->current_pos;
-  GtkEntryPrivate *priv;
+  GtkEntryPrivate *priv = entry->priv;
+  gint new_pos = priv->current_pos;
 
   _gtk_entry_reset_im_context (entry);
 
-  if (entry->current_pos != entry->selection_bound && !extend_selection)
+  if (priv->current_pos != priv->selection_bound && !extend_selection)
     {
       /* If we have a current selection and aren't extending it, move to the
        * start/or end of the selection as appropriate
@@ -4773,26 +4829,25 @@ gtk_entry_move_cursor (GtkEntry       *entry,
        {
        case GTK_MOVEMENT_VISUAL_POSITIONS:
          {
-           gint current_x = get_better_cursor_x (entry, entry->current_pos);
-           gint bound_x = get_better_cursor_x (entry, entry->selection_bound);
+           gint current_x = get_better_cursor_x (entry, priv->current_pos);
+           gint bound_x = get_better_cursor_x (entry, priv->selection_bound);
 
            if (count <= 0)
-             new_pos = current_x < bound_x ? entry->current_pos : entry->selection_bound;
+             new_pos = current_x < bound_x ? priv->current_pos : priv->selection_bound;
            else 
-             new_pos = current_x > bound_x ? entry->current_pos : entry->selection_bound;
+             new_pos = current_x > bound_x ? priv->current_pos : priv->selection_bound;
            break;
          }
        case GTK_MOVEMENT_LOGICAL_POSITIONS:
        case GTK_MOVEMENT_WORDS:
          if (count < 0)
-           new_pos = MIN (entry->current_pos, entry->selection_bound);
+           new_pos = MIN (priv->current_pos, priv->selection_bound);
          else
-           new_pos = MAX (entry->current_pos, entry->selection_bound);
+           new_pos = MAX (priv->current_pos, priv->selection_bound);
          break;
        case GTK_MOVEMENT_DISPLAY_LINE_ENDS:
        case GTK_MOVEMENT_PARAGRAPH_ENDS:
        case GTK_MOVEMENT_BUFFER_ENDS:
-         priv = GTK_ENTRY_GET_PRIVATE (entry);
          new_pos = count < 0 ? 0 : gtk_entry_buffer_get_length (get_buffer (entry));
          break;
        case GTK_MOVEMENT_DISPLAY_LINES:
@@ -4811,7 +4866,7 @@ gtk_entry_move_cursor (GtkEntry       *entry,
          break;
        case GTK_MOVEMENT_VISUAL_POSITIONS:
          new_pos = gtk_entry_move_visually (entry, new_pos, count);
-          if (entry->current_pos == new_pos)
+          if (priv->current_pos == new_pos)
             {
               if (!extend_selection)
                 {
@@ -4844,15 +4899,14 @@ gtk_entry_move_cursor (GtkEntry       *entry,
              new_pos = gtk_entry_move_backward_word (entry, new_pos, FALSE);
              count++;
            }
-          if (entry->current_pos == new_pos)
+          if (priv->current_pos == new_pos)
             gtk_widget_error_bell (GTK_WIDGET (entry));
          break;
        case GTK_MOVEMENT_DISPLAY_LINE_ENDS:
        case GTK_MOVEMENT_PARAGRAPH_ENDS:
        case GTK_MOVEMENT_BUFFER_ENDS:
-         priv = GTK_ENTRY_GET_PRIVATE (entry);
          new_pos = count < 0 ? 0 : gtk_entry_buffer_get_length (get_buffer (entry));
-          if (entry->current_pos == new_pos)
+          if (priv->current_pos == new_pos)
             gtk_widget_error_bell (GTK_WIDGET (entry));
          break;
        case GTK_MOVEMENT_DISPLAY_LINES:
@@ -4864,7 +4918,7 @@ gtk_entry_move_cursor (GtkEntry       *entry,
     }
 
   if (extend_selection)
-    gtk_editable_select_region (GTK_EDITABLE (entry), entry->selection_bound, new_pos);
+    gtk_editable_select_region (GTK_EDITABLE (entry), priv->selection_bound, new_pos);
   else
     gtk_editable_set_position (GTK_EDITABLE (entry), new_pos);
   
@@ -4875,10 +4929,11 @@ static void
 gtk_entry_insert_at_cursor (GtkEntry    *entry,
                            const gchar *str)
 {
+  GtkEntryPrivate *priv = entry->priv;
   GtkEditable *editable = GTK_EDITABLE (entry);
-  gint pos = entry->current_pos;
+  gint pos = priv->current_pos;
 
-  if (entry->editable)
+  if (priv->editable)
     {
       _gtk_entry_reset_im_context (entry);
 
@@ -4892,20 +4947,21 @@ gtk_entry_delete_from_cursor (GtkEntry       *entry,
                              GtkDeleteType   type,
                              gint            count)
 {
+  GtkEntryPrivate *priv = entry->priv;
   GtkEditable *editable = GTK_EDITABLE (entry);
-  gint start_pos = entry->current_pos;
-  gint end_pos = entry->current_pos;
+  gint start_pos = priv->current_pos;
+  gint end_pos = priv->current_pos;
   gint old_n_bytes = gtk_entry_buffer_get_bytes (get_buffer (entry));
   
   _gtk_entry_reset_im_context (entry);
 
-  if (!entry->editable)
+  if (!priv->editable)
     {
       gtk_widget_error_bell (GTK_WIDGET (entry));
       return;
     }
 
-  if (entry->selection_bound != entry->current_pos)
+  if (priv->selection_bound != priv->current_pos)
     {
       gtk_editable_delete_selection (editable);
       return;
@@ -4914,7 +4970,7 @@ gtk_entry_delete_from_cursor (GtkEntry       *entry,
   switch (type)
     {
     case GTK_DELETE_CHARS:
-      end_pos = gtk_entry_move_logically (entry, entry->current_pos, count);
+      end_pos = gtk_entry_move_logically (entry, priv->current_pos, count);
       gtk_editable_delete_text (editable, MIN (start_pos, end_pos), MAX (start_pos, end_pos));
       break;
     case GTK_DELETE_WORDS:
@@ -4948,9 +5004,9 @@ gtk_entry_delete_from_cursor (GtkEntry       *entry,
     case GTK_DELETE_DISPLAY_LINE_ENDS:
     case GTK_DELETE_PARAGRAPH_ENDS:
       if (count < 0)
-       gtk_editable_delete_text (editable, 0, entry->current_pos);
+       gtk_editable_delete_text (editable, 0, priv->current_pos);
       else
-       gtk_editable_delete_text (editable, entry->current_pos, -1);
+       gtk_editable_delete_text (editable, priv->current_pos, -1);
       break;
     case GTK_DELETE_DISPLAY_LINES:
     case GTK_DELETE_PARAGRAPHS:
@@ -4970,26 +5026,27 @@ gtk_entry_delete_from_cursor (GtkEntry       *entry,
 static void
 gtk_entry_backspace (GtkEntry *entry)
 {
+  GtkEntryPrivate *priv = entry->priv;
   GtkEditable *editable = GTK_EDITABLE (entry);
   gint prev_pos;
 
   _gtk_entry_reset_im_context (entry);
 
-  if (!entry->editable)
+  if (!priv->editable)
     {
       gtk_widget_error_bell (GTK_WIDGET (entry));
       return;
     }
 
-  if (entry->selection_bound != entry->current_pos)
+  if (priv->selection_bound != priv->current_pos)
     {
       gtk_editable_delete_selection (editable);
       return;
     }
 
-  prev_pos = gtk_entry_move_logically (entry, entry->current_pos, -1);
+  prev_pos = gtk_entry_move_logically (entry, priv->current_pos, -1);
 
-  if (prev_pos < entry->current_pos)
+  if (prev_pos < priv->current_pos)
     {
       PangoLayout *layout = gtk_entry_ensure_layout (entry, FALSE);
       PangoLogAttr *log_attrs;
@@ -4998,23 +5055,23 @@ gtk_entry_backspace (GtkEntry *entry)
       pango_layout_get_log_attrs (layout, &log_attrs, &n_attrs);
 
       /* Deleting parts of characters */
-      if (log_attrs[entry->current_pos].backspace_deletes_character)
+      if (log_attrs[priv->current_pos].backspace_deletes_character)
        {
          gchar *cluster_text;
          gchar *normalized_text;
           glong  len;
 
          cluster_text = gtk_entry_get_display_text (entry, prev_pos,
-                                                    entry->current_pos);
+                                                    priv->current_pos);
          normalized_text = g_utf8_normalize (cluster_text,
                                              strlen (cluster_text),
                                              G_NORMALIZE_NFD);
           len = g_utf8_strlen (normalized_text, -1);
 
-          gtk_editable_delete_text (editable, prev_pos, entry->current_pos);
+          gtk_editable_delete_text (editable, prev_pos, priv->current_pos);
          if (len > 1)
            {
-             gint pos = entry->current_pos;
+             gint pos = priv->current_pos;
 
              gtk_editable_insert_text (editable, normalized_text,
                                        g_utf8_offset_to_pointer (normalized_text, len - 1) - normalized_text,
@@ -5027,7 +5084,7 @@ gtk_entry_backspace (GtkEntry *entry)
        }
       else
        {
-          gtk_editable_delete_text (editable, prev_pos, entry->current_pos);
+          gtk_editable_delete_text (editable, prev_pos, priv->current_pos);
        }
       
       g_free (log_attrs);
@@ -5043,13 +5100,14 @@ gtk_entry_backspace (GtkEntry *entry)
 static void
 gtk_entry_copy_clipboard (GtkEntry *entry)
 {
+  GtkEntryPrivate *priv = entry->priv;
   GtkEditable *editable = GTK_EDITABLE (entry);
   gint start, end;
   gchar *str;
 
   if (gtk_editable_get_selection_bounds (editable, &start, &end))
     {
-      if (!entry->visible)
+      if (!priv->visible)
         {
           gtk_widget_error_bell (GTK_WIDGET (entry));
           return;
@@ -5066,10 +5124,11 @@ gtk_entry_copy_clipboard (GtkEntry *entry)
 static void
 gtk_entry_cut_clipboard (GtkEntry *entry)
 {
+  GtkEntryPrivate *priv = entry->priv;
   GtkEditable *editable = GTK_EDITABLE (entry);
   gint start, end;
 
-  if (!entry->visible)
+  if (!priv->visible)
     {
       gtk_widget_error_bell (GTK_WIDGET (entry));
       return;
@@ -5077,7 +5136,7 @@ gtk_entry_cut_clipboard (GtkEntry *entry)
 
   gtk_entry_copy_clipboard (entry);
 
-  if (entry->editable)
+  if (priv->editable)
     {
       if (gtk_editable_get_selection_bounds (editable, &start, &end))
        gtk_editable_delete_text (editable, start, end);
@@ -5091,7 +5150,9 @@ gtk_entry_cut_clipboard (GtkEntry *entry)
 static void
 gtk_entry_paste_clipboard (GtkEntry *entry)
 {
-  if (entry->editable)
+  GtkEntryPrivate *priv = entry->priv;
+
+  if (priv->editable)
     gtk_entry_paste (entry, GDK_NONE);
   else
     gtk_widget_error_bell (GTK_WIDGET (entry));
@@ -5100,10 +5161,11 @@ gtk_entry_paste_clipboard (GtkEntry *entry)
 static void
 gtk_entry_delete_cb (GtkEntry *entry)
 {
+  GtkEntryPrivate *priv = entry->priv;
   GtkEditable *editable = GTK_EDITABLE (entry);
   gint start, end;
 
-  if (entry->editable)
+  if (priv->editable)
     {
       if (gtk_editable_get_selection_bounds (editable, &start, &end))
        gtk_editable_delete_text (editable, start, end);
@@ -5113,7 +5175,9 @@ gtk_entry_delete_cb (GtkEntry *entry)
 static void
 gtk_entry_toggle_overwrite (GtkEntry *entry)
 {
-  entry->overwrite_mode = !entry->overwrite_mode;
+  GtkEntryPrivate *priv = entry->priv;
+
+  priv->overwrite_mode = !priv->overwrite_mode;
   gtk_entry_pend_cursor_blink (entry);
   gtk_widget_queue_draw (GTK_WIDGET (entry));
 }
@@ -5127,6 +5191,7 @@ gtk_entry_select_all (GtkEntry *entry)
 static void
 gtk_entry_real_activate (GtkEntry *entry)
 {
+  GtkEntryPrivate *priv = entry->priv;
   GtkWindow *window;
   GtkWidget *default_widget, *focus_widget;
   GtkWidget *toplevel;
@@ -5134,7 +5199,7 @@ gtk_entry_real_activate (GtkEntry *entry)
 
   widget = GTK_WIDGET (entry);
 
-  if (entry->activates_default)
+  if (priv->activates_default)
     {
       toplevel = gtk_widget_get_toplevel (widget);
       if (GTK_IS_WINDOW (toplevel))
@@ -5168,7 +5233,9 @@ gtk_entry_commit_cb (GtkIMContext *context,
                     const gchar  *str,
                     GtkEntry     *entry)
 {
-  if (entry->editable)
+  GtkEntryPrivate *priv = entry->priv;
+
+  if (priv->editable)
     gtk_entry_enter_text (entry, str);
 }
 
@@ -5176,18 +5243,20 @@ static void
 gtk_entry_preedit_changed_cb (GtkIMContext *context,
                              GtkEntry     *entry)
 {
-  if (entry->editable)
+  GtkEntryPrivate *priv = entry->priv;
+
+  if (priv->editable)
     {
       gchar *preedit_string;
       gint cursor_pos;
-      
-      gtk_im_context_get_preedit_string (entry->im_context,
+
+      gtk_im_context_get_preedit_string (priv->im_context,
                                          &preedit_string, NULL,
                                          &cursor_pos);
       g_signal_emit (entry, signals[PREEDIT_CHANGED], 0, preedit_string);
-      entry->preedit_length = strlen (preedit_string);
+      priv->preedit_length = strlen (preedit_string);
       cursor_pos = CLAMP (cursor_pos, 0, g_utf8_strlen (preedit_string, -1));
-      entry->preedit_cursor = cursor_pos;
+      priv->preedit_cursor = cursor_pos;
       g_free (preedit_string);
     
       gtk_entry_recompute (entry);
@@ -5196,14 +5265,15 @@ gtk_entry_preedit_changed_cb (GtkIMContext *context,
 
 static gboolean
 gtk_entry_retrieve_surrounding_cb (GtkIMContext *context,
-                              GtkEntry         *entry)
+                                   GtkEntry     *entry)
 {
+  GtkEntryPrivate *priv = entry->priv;
   gchar *text;
 
   /* XXXX ??? does this even make sense when text is not visible? Should we return FALSE? */
   text = gtk_entry_get_display_text (entry, 0, -1);
   gtk_im_context_set_surrounding (context, text, strlen (text), /* Length in bytes */
-                                 g_utf8_offset_to_pointer (text, entry->current_pos) - text);
+                                 g_utf8_offset_to_pointer (text, priv->current_pos) - text);
   g_free (text);
 
   return TRUE;
@@ -5215,10 +5285,12 @@ gtk_entry_delete_surrounding_cb (GtkIMContext *slave,
                                 gint          n_chars,
                                 GtkEntry     *entry)
 {
-  if (entry->editable)
+  GtkEntryPrivate *priv = entry->priv;
+
+  if (priv->editable)
     gtk_editable_delete_text (GTK_EDITABLE (entry),
-                              entry->current_pos + offset,
-                              entry->current_pos + offset + n_chars);
+                              priv->current_pos + offset,
+                              priv->current_pos + offset + n_chars);
 
   return TRUE;
 }
@@ -5231,29 +5303,30 @@ static void
 gtk_entry_enter_text (GtkEntry       *entry,
                       const gchar    *str)
 {
+  GtkEntryPrivate *priv = entry->priv;
   GtkEditable *editable = GTK_EDITABLE (entry);
   gint tmp_pos;
   gboolean old_need_im_reset;
 
-  old_need_im_reset = entry->need_im_reset;
-  entry->need_im_reset = FALSE;
+  old_need_im_reset = priv->need_im_reset;
+  priv->need_im_reset = FALSE;
 
   if (gtk_editable_get_selection_bounds (editable, NULL, NULL))
     gtk_editable_delete_selection (editable);
   else
     {
-      if (entry->overwrite_mode)
+      if (priv->overwrite_mode)
         gtk_entry_delete_from_cursor (entry, GTK_DELETE_CHARS, 1);
     }
 
-  tmp_pos = entry->current_pos;
+  tmp_pos = priv->current_pos;
   gtk_editable_insert_text (editable, str, strlen (str), &tmp_pos);
   gtk_editable_set_position (editable, tmp_pos);
 
-  entry->need_im_reset = old_need_im_reset;
+  priv->need_im_reset = old_need_im_reset;
 }
 
-/* All changes to entry->current_pos and entry->selection_bound
+/* All changes to priv->current_pos and priv->selection_bound
  * should go through this function.
  */
 static void
@@ -5261,23 +5334,24 @@ gtk_entry_set_positions (GtkEntry *entry,
                         gint      current_pos,
                         gint      selection_bound)
 {
+  GtkEntryPrivate *priv = entry->priv;
   gboolean changed = FALSE;
 
   g_object_freeze_notify (G_OBJECT (entry));
   
   if (current_pos != -1 &&
-      entry->current_pos != current_pos)
+      priv->current_pos != current_pos)
     {
-      entry->current_pos = current_pos;
+      priv->current_pos = current_pos;
       changed = TRUE;
 
       g_object_notify (G_OBJECT (entry), "cursor-position");
     }
 
   if (selection_bound != -1 &&
-      entry->selection_bound != selection_bound)
+      priv->selection_bound != selection_bound)
     {
-      entry->selection_bound = selection_bound;
+      priv->selection_bound = selection_bound;
       changed = TRUE;
       
       g_object_notify (G_OBJECT (entry), "selection-bound");
@@ -5295,16 +5369,19 @@ gtk_entry_set_positions (GtkEntry *entry,
 static void
 gtk_entry_reset_layout (GtkEntry *entry)
 {
-  if (entry->cached_layout)
+  GtkEntryPrivate *priv = entry->priv;
+
+  if (priv->cached_layout)
     {
-      g_object_unref (entry->cached_layout);
-      entry->cached_layout = NULL;
+      g_object_unref (priv->cached_layout);
+      priv->cached_layout = NULL;
     }
 }
 
 static void
 update_im_cursor_location (GtkEntry *entry)
 {
+  GtkEntryPrivate *priv = entry->priv;
   GdkRectangle area;
   gint strong_x;
   gint strong_xoffset;
@@ -5313,7 +5390,7 @@ update_im_cursor_location (GtkEntry *entry)
   gtk_entry_get_cursor_locations (entry, CURSOR_STANDARD, &strong_x, NULL);
   gtk_entry_get_text_area_size (entry, NULL, NULL, &area_width, &area_height);
 
-  strong_xoffset = strong_x - entry->scroll_offset;
+  strong_xoffset = strong_x - priv->scroll_offset;
   if (strong_xoffset < 0)
     {
       strong_xoffset = 0;
@@ -5327,18 +5404,17 @@ update_im_cursor_location (GtkEntry *entry)
   area.width = 0;
   area.height = area_height;
 
-  gtk_im_context_set_cursor_location (entry->im_context, &area);
+  gtk_im_context_set_cursor_location (priv->im_context, &area);
 }
 
 static gboolean
 recompute_idle_func (gpointer data)
 {
-  GtkEntry *entry;
+  GtkEntry *entry = GTK_ENTRY (data);
+  GtkEntryPrivate *priv = entry->priv;
 
-  entry = GTK_ENTRY (data);
+  priv->recompute_idle = 0;
 
-  entry->recompute_idle = 0;
-  
   if (gtk_widget_has_screen (GTK_WIDGET (entry)))
     {
       gtk_entry_adjust_scroll (entry);
@@ -5353,12 +5429,14 @@ recompute_idle_func (gpointer data)
 static void
 gtk_entry_recompute (GtkEntry *entry)
 {
+  GtkEntryPrivate *priv = entry->priv;
+
   gtk_entry_reset_layout (entry);
   gtk_entry_check_cursor_blink (entry);
-  
-  if (!entry->recompute_idle)
+
+  if (!priv->recompute_idle)
     {
-      entry->recompute_idle = gdk_threads_add_idle_full (G_PRIORITY_HIGH_IDLE + 15, /* between resize and redraw */
+      priv->recompute_idle = gdk_threads_add_idle_full (G_PRIORITY_HIGH_IDLE + 15, /* between resize and redraw */
                                               recompute_idle_func, entry, NULL); 
     }
 }
@@ -5367,6 +5445,7 @@ static PangoLayout *
 gtk_entry_create_layout (GtkEntry *entry,
                         gboolean  include_preedit)
 {
+  GtkEntryPrivate *priv = entry->priv;
   GtkWidget *widget = GTK_WIDGET (entry);
   PangoLayout *layout = gtk_widget_create_pango_layout (widget, NULL);
   PangoAttrList *tmp_attrs = pango_attr_list_new ();
@@ -5385,16 +5464,16 @@ gtk_entry_create_layout (GtkEntry *entry,
 
   if (include_preedit)
     {
-      gtk_im_context_get_preedit_string (entry->im_context,
+      gtk_im_context_get_preedit_string (priv->im_context,
                                         &preedit_string, &preedit_attrs, NULL);
-      preedit_length = entry->preedit_length;
+      preedit_length = priv->preedit_length;
     }
 
   if (preedit_length)
     {
       GString *tmp_string = g_string_new (display);
-      gint cursor_index = g_utf8_offset_to_pointer (display, entry->current_pos) - display;
-      
+      gint cursor_index = g_utf8_offset_to_pointer (display, priv->current_pos) - display;
+
       g_string_insert (tmp_string, cursor_index, preedit_string);
       
       pango_layout_set_text (layout, tmp_string->str, tmp_string->len);
@@ -5436,7 +5515,7 @@ gtk_entry_create_layout (GtkEntry *entry,
       pango_context_set_base_dir (gtk_widget_get_pango_context (widget),
                                  pango_dir);
 
-      entry->resolved_dir = pango_dir;
+      priv->resolved_dir = pango_dir;
 
       pango_layout_set_text (layout, display, n_bytes);
     }
@@ -5458,17 +5537,19 @@ static PangoLayout *
 gtk_entry_ensure_layout (GtkEntry *entry,
                          gboolean  include_preedit)
 {
-  if (entry->preedit_length > 0 &&
-      !include_preedit != !entry->cache_includes_preedit)
+  GtkEntryPrivate *priv = entry->priv;
+
+  if (priv->preedit_length > 0 &&
+      !include_preedit != !priv->cache_includes_preedit)
     gtk_entry_reset_layout (entry);
 
-  if (!entry->cached_layout)
+  if (!priv->cached_layout)
     {
-      entry->cached_layout = gtk_entry_create_layout (entry, include_preedit);
-      entry->cache_includes_preedit = include_preedit;
+      priv->cached_layout = gtk_entry_create_layout (entry, include_preedit);
+      priv->cache_includes_preedit = include_preedit;
     }
-  
-  return entry->cached_layout;
+
+  return priv->cached_layout;
 }
 
 static void
@@ -5476,6 +5557,7 @@ get_layout_position (GtkEntry *entry,
                      gint     *x,
                      gint     *y)
 {
+  GtkEntryPrivate *priv = entry->priv;
   PangoLayout *layout;
   PangoRectangle logical_rect;
   gint area_width, area_height;
@@ -5494,9 +5576,9 @@ get_layout_position (GtkEntry *entry,
   pango_layout_line_get_extents (line, NULL, &logical_rect);
   
   /* Align primarily for locale's ascent/descent */
-  y_pos = ((area_height - entry->ascent - entry->descent) / 2 + 
-           entry->ascent + logical_rect.y);
-  
+  y_pos = ((area_height - priv->ascent - priv->descent) / 2 +
+           priv->ascent + logical_rect.y);
+
   /* Now see if we need to adjust to fit in actual drawn string */
   if (logical_rect.height > area_height)
     y_pos = (area_height - logical_rect.height) / 2;
@@ -5508,7 +5590,7 @@ get_layout_position (GtkEntry *entry,
   y_pos = inner_border.top + y_pos / PANGO_SCALE;
 
   if (x)
-    *x = inner_border.left - entry->scroll_offset;
+    *x = inner_border.left - priv->scroll_offset;
 
   if (y)
     *y = y_pos;
@@ -5517,6 +5599,7 @@ get_layout_position (GtkEntry *entry,
 static void
 draw_text_with_color (GtkEntry *entry, cairo_t *cr, GdkColor *default_color)
 {
+  GtkEntryPrivate *priv = entry->priv;
   PangoLayout *layout = gtk_entry_ensure_layout (entry, TRUE);
   GtkWidget *widget;
   gint x, y;
@@ -5561,7 +5644,7 @@ draw_text_with_color (GtkEntry *entry, cairo_t *cr, GdkColor *default_color)
 
       for (i = 0; i < n_ranges; ++i)
         cairo_rectangle (cr,
-                        inner_border.left - entry->scroll_offset + ranges[2 * i],
+                         inner_border.left - priv->scroll_offset + ranges[2 * i],
                         y,
                         ranges[2 * i + 1],
                         logical_rect.height);
@@ -5584,6 +5667,7 @@ static void
 gtk_entry_draw_text (GtkEntry *entry,
                      cairo_t  *cr)
 {
+  GtkEntryPrivate *priv = entry->priv;
   GtkWidget *widget = GTK_WIDGET (entry);
   GtkStateType state;
   GtkStyle *style;
@@ -5608,8 +5692,8 @@ gtk_entry_draw_text (GtkEntry *entry,
                      &progress_x, &progress_y,
                      &progress_width, &progress_height);
 
-  clip_width = gdk_window_get_width (entry->text_area);
-  clip_height = gdk_window_get_height (entry->text_area);
+  clip_width = gdk_window_get_width (priv->text_area);
+  clip_height = gdk_window_get_height (priv->text_area);
   cairo_rectangle (cr, 0, 0, clip_width, clip_height);
   cairo_clip (cr);
 
@@ -5622,8 +5706,8 @@ gtk_entry_draw_text (GtkEntry *entry,
     }
   else
     {
-      width = gdk_window_get_width (entry->text_area);
-      height = gdk_window_get_height (entry->text_area);
+      width = gdk_window_get_width (priv->text_area);
+      height = gdk_window_get_height (priv->text_area);
 
       cairo_save (cr);
 
@@ -5634,7 +5718,7 @@ gtk_entry_draw_text (GtkEntry *entry,
       cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD);
       cairo_rectangle (cr, 0, 0, width, height);
 
-      gdk_window_get_position (entry->text_area, &pos_x, &pos_y);
+      gdk_window_get_position (priv->text_area, &pos_x, &pos_y);
       progress_x -= pos_x;
       progress_y -= pos_y;
 
@@ -5682,6 +5766,7 @@ gtk_entry_draw_cursor (GtkEntry  *entry,
                        cairo_t   *cr,
                       CursorType type)
 {
+  GtkEntryPrivate *priv = entry->priv;
   GtkWidget *widget = GTK_WIDGET (entry);
   GdkKeymap *keymap = gdk_keymap_get_for_display (gtk_widget_get_display (GTK_WIDGET (entry)));
   PangoDirection keymap_direction = gdk_keymap_get_direction (keymap);
@@ -5699,14 +5784,14 @@ gtk_entry_draw_cursor (GtkEntry  *entry,
 
   _gtk_entry_effective_inner_border (entry, &inner_border);
 
-  xoffset = inner_border.left - entry->scroll_offset;
+  xoffset = inner_border.left - priv->scroll_offset;
 
-  text_area_height = gdk_window_get_height (entry->text_area);
+  text_area_height = gdk_window_get_height (priv->text_area);
 
   layout = gtk_entry_ensure_layout (entry, TRUE);
   text = pango_layout_get_text (layout);
-  cursor_index = g_utf8_offset_to_pointer (text, entry->current_pos + entry->preedit_cursor) - text;
-  if (!entry->overwrite_mode)
+  cursor_index = g_utf8_offset_to_pointer (text, priv->current_pos + priv->preedit_cursor) - text;
+  if (!priv->overwrite_mode)
     block = FALSE;
   else
     block = _gtk_text_util_get_block_cursor_location (layout,
@@ -5726,7 +5811,7 @@ gtk_entry_draw_cursor (GtkEntry  *entry,
                     "gtk-split-cursor", &split_cursor,
                     NULL);
 
-      dir1 = entry->resolved_dir;
+      dir1 = priv->resolved_dir;
   
       if (split_cursor)
         {
@@ -5734,13 +5819,13 @@ gtk_entry_draw_cursor (GtkEntry  *entry,
 
           if (weak_x != strong_x)
             {
-              dir2 = (entry->resolved_dir == PANGO_DIRECTION_LTR) ? PANGO_DIRECTION_RTL : PANGO_DIRECTION_LTR;
+              dir2 = (priv->resolved_dir == PANGO_DIRECTION_LTR) ? PANGO_DIRECTION_RTL : PANGO_DIRECTION_LTR;
               x2 = weak_x;
             }
         }
       else
         {
-          if (keymap_direction == entry->resolved_dir)
+          if (keymap_direction == priv->resolved_dir)
             x1 = strong_x;
           else
             x1 = weak_x;
@@ -5807,10 +5892,12 @@ gtk_entry_queue_draw (GtkEntry *entry)
 void
 _gtk_entry_reset_im_context (GtkEntry *entry)
 {
-  if (entry->need_im_reset)
+  GtkEntryPrivate *priv = entry->priv;
+
+  if (priv->need_im_reset)
     {
-      entry->need_im_reset = FALSE;
-      gtk_im_context_reset (entry->im_context);
+      priv->need_im_reset = FALSE;
+      gtk_im_context_reset (priv->im_context);
     }
 }
 
@@ -5857,16 +5944,26 @@ gboolean
 gtk_entry_im_context_filter_keypress (GtkEntry    *entry,
                                       GdkEventKey *event)
 {
+  GtkEntryPrivate *priv;
+
   g_return_val_if_fail (GTK_IS_ENTRY (entry), FALSE);
 
-  return gtk_im_context_filter_keypress (entry->im_context, event);
+  priv = entry->priv;
+
+  return gtk_im_context_filter_keypress (priv->im_context, event);
 }
 
+GtkIMContext*
+_gtk_entry_get_im_context (GtkEntry *entry)
+{
+  return entry->priv->im_context;
+}
 
 static gint
 gtk_entry_find_position (GtkEntry *entry,
                         gint      x)
 {
+  GtkEntryPrivate *priv = entry->priv;
   PangoLayout *layout;
   PangoLayoutLine *line;
   gint index;
@@ -5877,15 +5974,15 @@ gtk_entry_find_position (GtkEntry *entry,
   
   layout = gtk_entry_ensure_layout (entry, TRUE);
   text = pango_layout_get_text (layout);
-  cursor_index = g_utf8_offset_to_pointer (text, entry->current_pos) - text;
-  
+  cursor_index = g_utf8_offset_to_pointer (text, priv->current_pos) - text;
+
   line = pango_layout_get_lines_readonly (layout)->data;
   pango_layout_line_x_to_index (line, x * PANGO_SCALE, &index, &trailing);
 
-  if (index >= cursor_index && entry->preedit_length)
+  if (index >= cursor_index && priv->preedit_length)
     {
-      if (index >= cursor_index + entry->preedit_length)
-       index -= entry->preedit_length;
+      if (index >= cursor_index + priv->preedit_length)
+       index -= priv->preedit_length;
       else
        {
          index = cursor_index;
@@ -5905,6 +6002,7 @@ gtk_entry_get_cursor_locations (GtkEntry   *entry,
                                gint       *strong_x,
                                gint       *weak_x)
 {
+  GtkEntryPrivate *priv = entry->priv;
   DisplayMode mode = gtk_entry_get_display_mode (entry);
 
   /* Nothing to display at all, so no cursor is relevant */
@@ -5925,20 +6023,20 @@ gtk_entry_get_cursor_locations (GtkEntry   *entry,
   
       if (type == CURSOR_STANDARD)
        {
-         index = g_utf8_offset_to_pointer (text, entry->current_pos + entry->preedit_cursor) - text;
+         index = g_utf8_offset_to_pointer (text, priv->current_pos + priv->preedit_cursor) - text;
        }
       else /* type == CURSOR_DND */
        {
-         index = g_utf8_offset_to_pointer (text, entry->dnd_position) - text;
+         index = g_utf8_offset_to_pointer (text, priv->dnd_position) - text;
 
-         if (entry->dnd_position > entry->current_pos)
+         if (priv->dnd_position > priv->current_pos)
            {
              if (mode == DISPLAY_NORMAL)
-               index += entry->preedit_length;
+               index += priv->preedit_length;
              else
                {
                  gint preedit_len_chars = g_utf8_strlen (text, -1) - gtk_entry_buffer_get_length (get_buffer (entry));
-                 index += preedit_len_chars * g_unichar_to_utf8 (entry->invisible_char, NULL);
+                 index += preedit_len_chars * g_unichar_to_utf8 (priv->invisible_char, NULL);
                }
            }
        }
@@ -5956,7 +6054,7 @@ gtk_entry_get_cursor_locations (GtkEntry   *entry,
 static void
 gtk_entry_adjust_scroll (GtkEntry *entry)
 {
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
   gint min_offset, max_offset;
   gint text_area_width, text_width;
   GtkBorder inner_border;
@@ -5972,7 +6070,7 @@ gtk_entry_adjust_scroll (GtkEntry *entry)
 
   _gtk_entry_effective_inner_border (entry, &inner_border);
 
-  text_area_width = gdk_window_get_width (entry->text_area);
+  text_area_width = gdk_window_get_width (priv->text_area);
   text_area_width -= inner_border.left + inner_border.right;
   if (text_area_width < 0)
     text_area_width = 0;
@@ -5984,7 +6082,7 @@ gtk_entry_adjust_scroll (GtkEntry *entry)
 
   /* Display as much text as we can */
 
-  if (entry->resolved_dir == PANGO_DIRECTION_LTR)
+  if (priv->resolved_dir == PANGO_DIRECTION_LTR)
       xalign = priv->xalign;
   else
       xalign = 1.0 - priv->xalign;
@@ -6002,7 +6100,7 @@ gtk_entry_adjust_scroll (GtkEntry *entry)
       max_offset = min_offset;
     }
 
-  entry->scroll_offset = CLAMP (entry->scroll_offset, min_offset, max_offset);
+  priv->scroll_offset = CLAMP (priv->scroll_offset, min_offset, max_offset);
 
   /* And make sure cursors are on screen. Note that the cursor is
    * actually drawn one pixel into the INNER_BORDER space on
@@ -6020,29 +6118,29 @@ gtk_entry_adjust_scroll (GtkEntry *entry)
 
   gtk_entry_get_cursor_locations (entry, CURSOR_STANDARD, &strong_x, &weak_x);
   
-  strong_xoffset = strong_x - entry->scroll_offset;
+  strong_xoffset = strong_x - priv->scroll_offset;
 
   if (strong_xoffset < 0)
     {
-      entry->scroll_offset += strong_xoffset;
+      priv->scroll_offset += strong_xoffset;
       strong_xoffset = 0;
     }
   else if (strong_xoffset > text_area_width)
     {
-      entry->scroll_offset += strong_xoffset - text_area_width;
+      priv->scroll_offset += strong_xoffset - text_area_width;
       strong_xoffset = text_area_width;
     }
 
-  weak_xoffset = weak_x - entry->scroll_offset;
+  weak_xoffset = weak_x - priv->scroll_offset;
 
   if (weak_xoffset < 0 && strong_xoffset - weak_xoffset <= text_area_width)
     {
-      entry->scroll_offset += weak_xoffset;
+      priv->scroll_offset += weak_xoffset;
     }
   else if (weak_xoffset > text_area_width &&
           strong_xoffset - (weak_xoffset - text_area_width) >= 0)
     {
-      entry->scroll_offset += weak_xoffset - text_area_width;
+      priv->scroll_offset += weak_xoffset - text_area_width;
     }
 
   g_object_notify (G_OBJECT (entry), "scroll-offset");
@@ -6051,6 +6149,7 @@ gtk_entry_adjust_scroll (GtkEntry *entry)
 static void
 gtk_entry_move_adjustments (GtkEntry *entry)
 {
+  GtkWidget *widget = GTK_WIDGET (entry);
   GtkAllocation allocation;
   GtkAdjustment *adjustment;
   PangoContext *context;
@@ -6062,7 +6161,7 @@ gtk_entry_move_adjustments (GtkEntry *entry)
   if (!adjustment)
     return;
 
-  gtk_widget_get_allocation (&(entry->widget), &allocation);
+  gtk_widget_get_allocation (widget, &allocation);
 
   /* Cursor position, layout offset, border width, and widget allocation */
   gtk_entry_get_cursor_locations (entry, CURSOR_STANDARD, &x, NULL);
@@ -6071,9 +6170,9 @@ gtk_entry_move_adjustments (GtkEntry *entry)
   x += allocation.x + layout_x + border_x;
 
   /* Approximate width of a char, so user can see what is ahead/behind */
-  context = gtk_widget_get_pango_context (GTK_WIDGET (entry));
+  context = gtk_widget_get_pango_context (widget);
   metrics = pango_context_get_metrics (context, 
-                                       gtk_widget_get_style (&(entry->widget))->font_desc,
+                                       gtk_widget_get_style (widget)->font_desc,
                                       pango_context_get_language (context));
   char_width = pango_font_metrics_get_approximate_char_width (metrics) / PANGO_SCALE;
 
@@ -6088,6 +6187,7 @@ gtk_entry_move_visually (GtkEntry *entry,
                         gint      start,
                         gint      count)
 {
+  GtkEntryPrivate *priv = entry->priv;
   gint index;
   PangoLayout *layout = gtk_entry_ensure_layout (entry, FALSE);
   const gchar *text;
@@ -6113,7 +6213,7 @@ gtk_entry_move_visually (GtkEntry *entry,
          GdkKeymap *keymap = gdk_keymap_get_for_display (gtk_widget_get_display (GTK_WIDGET (entry)));
          PangoDirection keymap_direction = gdk_keymap_get_direction (keymap);
 
-         strong = keymap_direction == entry->resolved_dir;
+         strong = keymap_direction == priv->resolved_dir;
        }
       
       if (count > 0)
@@ -6257,6 +6357,7 @@ gtk_entry_move_backward_word (GtkEntry *entry,
 static void
 gtk_entry_delete_whitespace (GtkEntry *entry)
 {
+  GtkEntryPrivate *priv = entry->priv;
   PangoLayout *layout = gtk_entry_ensure_layout (entry, FALSE);
   PangoLogAttr *log_attrs;
   gint n_attrs;
@@ -6264,7 +6365,7 @@ gtk_entry_delete_whitespace (GtkEntry *entry)
 
   pango_layout_get_log_attrs (layout, &log_attrs, &n_attrs);
 
-  start = end = entry->current_pos;
+  start = end = priv->current_pos;
   
   while (start > 0 && log_attrs[start-1].is_white)
     start--;
@@ -6282,8 +6383,9 @@ gtk_entry_delete_whitespace (GtkEntry *entry)
 static void
 gtk_entry_select_word (GtkEntry *entry)
 {
-  gint start_pos = gtk_entry_move_backward_word (entry, entry->current_pos, TRUE);
-  gint end_pos = gtk_entry_move_forward_word (entry, entry->current_pos, TRUE);
+  GtkEntryPrivate *priv = entry->priv;
+  gint start_pos = gtk_entry_move_backward_word (entry, priv->current_pos, TRUE);
+  gint end_pos = gtk_entry_move_forward_word (entry, priv->current_pos, TRUE);
 
   gtk_editable_select_region (GTK_EDITABLE (entry), start_pos, end_pos);
 }
@@ -6313,9 +6415,9 @@ paste_received (GtkClipboard *clipboard,
 {
   GtkEntry *entry = GTK_ENTRY (data);
   GtkEditable *editable = GTK_EDITABLE (entry);
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
-      
-  if (entry->button == 2)
+  GtkEntryPrivate *priv = entry->priv;
+
+  if (priv->button == 2)
     {
       gint pos, start, end;
       pos = priv->insert_pos;
@@ -6333,12 +6435,12 @@ paste_received (GtkClipboard *clipboard,
 
       completion = gtk_entry_get_completion (entry);
 
-      if (entry->truncate_multiline)
+      if (priv->truncate_multiline)
         length = truncate_multiline (text);
 
       /* only complete if the selection is at the end */
       popup_completion = (gtk_entry_buffer_get_length (get_buffer (entry)) ==
-                          MAX (entry->current_pos, entry->selection_bound));
+                          MAX (priv->current_pos, priv->selection_bound));
 
       if (completion)
        {
@@ -6354,7 +6456,7 @@ paste_received (GtkClipboard *clipboard,
       if (gtk_editable_get_selection_bounds (editable, &start, &end))
         gtk_editable_delete_text (editable, start, end);
 
-      pos = entry->current_pos;
+      pos = priv->current_pos;
       gtk_editable_insert_text (editable, text, length, &pos);
       gtk_editable_set_position (editable, pos);
       g_object_thaw_notify (G_OBJECT (entry));
@@ -6399,8 +6501,9 @@ primary_clear_cb (GtkClipboard *clipboard,
                  gpointer      data)
 {
   GtkEntry *entry = GTK_ENTRY (data);
+  GtkEntryPrivate *priv = entry->priv;
 
-  gtk_editable_select_region (GTK_EDITABLE (entry), entry->current_pos, entry->current_pos);
+  gtk_editable_select_region (GTK_EDITABLE (entry), priv->current_pos, priv->current_pos);
 }
 
 static void
@@ -6442,7 +6545,7 @@ static void
 gtk_entry_clear (GtkEntry             *entry,
                  GtkEntryIconPosition  icon_pos)
 {
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
   EntryIconInfo *icon_info = priv->icons[icon_pos];
 
   if (!icon_info || icon_info->storage_type == GTK_IMAGE_EMPTY)
@@ -6509,7 +6612,7 @@ static void
 gtk_entry_ensure_pixbuf (GtkEntry             *entry,
                          GtkEntryIconPosition  icon_pos)
 {
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
   EntryIconInfo *icon_info = priv->icons[icon_pos];
   GtkIconInfo *info;
   GtkIconTheme *icon_theme;
@@ -6653,7 +6756,7 @@ gtk_entry_new_with_buffer (GtkEntryBuffer *buffer)
 static GtkEntryBuffer*
 get_buffer (GtkEntry *entry)
 {
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
 
   if (priv->buffer == NULL)
     {
@@ -6703,7 +6806,8 @@ gtk_entry_set_buffer (GtkEntry       *entry,
   GObject *obj;
 
   g_return_if_fail (GTK_IS_ENTRY (entry));
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+
+  priv = entry->priv;
 
   if (buffer)
     {
@@ -6755,21 +6859,25 @@ void
 gtk_entry_get_text_area (GtkEntry     *entry,
                          GdkRectangle *text_area)
 {
+  GtkEntryPrivate *priv;
+
   g_return_if_fail (GTK_IS_ENTRY (entry));
   g_return_if_fail (text_area != NULL);
 
-  if (entry->text_area)
+  priv = entry->priv;
+
+  if (priv->text_area)
     {
       GtkAllocation allocation;
       gint x, y;
 
       gtk_widget_get_allocation (GTK_WIDGET (entry), &allocation);
-      gdk_window_get_position (entry->text_area, &x, &y);
+      gdk_window_get_position (priv->text_area, &x, &y);
 
       text_area->x = x - allocation.x;
       text_area->y = y - allocation.y;
-      text_area->width = gdk_window_get_width (entry->text_area);
-      text_area->height = gdk_window_get_height (entry->text_area);
+      text_area->width = gdk_window_get_width (priv->text_area);
+      text_area->height = gdk_window_get_height (priv->text_area);
     }
   else
     {
@@ -6796,11 +6904,9 @@ gtk_entry_set_text (GtkEntry    *entry,
 {
   gint tmp_pos;
   GtkEntryCompletion *completion;
-  GtkEntryPrivate *priv;
 
   g_return_if_fail (GTK_IS_ENTRY (entry));
   g_return_if_fail (text != NULL);
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
 
   /* Actually setting the text will affect the cursor and selection;
    * if the contents don't actually change, this will look odd to the user.
@@ -6843,13 +6949,17 @@ void
 gtk_entry_set_visibility (GtkEntry *entry,
                          gboolean visible)
 {
+  GtkEntryPrivate *priv;
+
   g_return_if_fail (GTK_IS_ENTRY (entry));
 
+  priv = entry->priv;
+
   visible = visible != FALSE;
 
-  if (entry->visible != visible)
+  if (priv->visible != visible)
     {
-      entry->visible = visible;
+      priv->visible = visible;
 
       g_object_notify (G_OBJECT (entry), "visibility");
       gtk_entry_recompute (entry);
@@ -6870,7 +6980,7 @@ gtk_entry_get_visibility (GtkEntry *entry)
 {
   g_return_val_if_fail (GTK_IS_ENTRY (entry), FALSE);
 
-  return entry->visible;
+  return entry->priv->visible;
 }
 
 /**
@@ -6894,7 +7004,7 @@ gtk_entry_set_invisible_char (GtkEntry *entry,
 
   g_return_if_fail (GTK_IS_ENTRY (entry));
 
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
 
   if (!priv->invisible_char_set)
     {
@@ -6902,10 +7012,10 @@ gtk_entry_set_invisible_char (GtkEntry *entry,
       g_object_notify (G_OBJECT (entry), "invisible-char-set");
     }
 
-  if (ch == entry->invisible_char)
+  if (ch == priv->invisible_char)
     return;
 
-  entry->invisible_char = ch;
+  priv->invisible_char = ch;
   g_object_notify (G_OBJECT (entry), "invisible-char");
   gtk_entry_recompute (entry);  
 }
@@ -6925,7 +7035,7 @@ gtk_entry_get_invisible_char (GtkEntry *entry)
 {
   g_return_val_if_fail (GTK_IS_ENTRY (entry), 0);
 
-  return entry->invisible_char;
+  return entry->priv->invisible_char;
 }
 
 /**
@@ -6946,7 +7056,7 @@ gtk_entry_unset_invisible_char (GtkEntry *entry)
 
   g_return_if_fail (GTK_IS_ENTRY (entry));
 
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
 
   if (!priv->invisible_char_set)
     return;
@@ -6954,9 +7064,9 @@ gtk_entry_unset_invisible_char (GtkEntry *entry)
   priv->invisible_char_set = FALSE;
   ch = find_invisible_char (GTK_WIDGET (entry));
 
-  if (entry->invisible_char != ch)
+  if (priv->invisible_char != ch)
     {
-      entry->invisible_char = ch;
+      priv->invisible_char = ch;
       g_object_notify (G_OBJECT (entry), "invisible-char");
     }
 
@@ -6977,9 +7087,11 @@ void
 gtk_entry_set_overwrite_mode (GtkEntry *entry,
                               gboolean  overwrite)
 {
+  GtkEntryPrivate *priv = entry->priv;
+
   g_return_if_fail (GTK_IS_ENTRY (entry));
-  
-  if (entry->overwrite_mode == overwrite) 
+
+  if (priv->overwrite_mode == overwrite)
     return;
   
   gtk_entry_toggle_overwrite (entry);
@@ -7002,7 +7114,7 @@ gtk_entry_get_overwrite_mode (GtkEntry *entry)
 {
   g_return_val_if_fail (GTK_IS_ENTRY (entry), FALSE);
 
-  return entry->overwrite_mode;
+  return entry->priv->overwrite_mode;
 }
 
 /**
@@ -7027,6 +7139,7 @@ G_CONST_RETURN gchar*
 gtk_entry_get_text (GtkEntry *entry)
 {
   g_return_val_if_fail (GTK_IS_ENTRY (entry), NULL);
+
   return gtk_entry_buffer_get_text (get_buffer (entry));
 }
 
@@ -7075,6 +7188,7 @@ gint
 gtk_entry_get_max_length (GtkEntry *entry)
 {
   g_return_val_if_fail (GTK_IS_ENTRY (entry), 0);
+
   return gtk_entry_buffer_get_max_length (get_buffer (entry));
 }
 
@@ -7100,6 +7214,7 @@ guint16
 gtk_entry_get_text_length (GtkEntry *entry)
 {
   g_return_val_if_fail (GTK_IS_ENTRY (entry), 0);
+
   return gtk_entry_buffer_get_length (get_buffer (entry));
 }
 
@@ -7121,12 +7236,17 @@ void
 gtk_entry_set_activates_default (GtkEntry *entry,
                                  gboolean  setting)
 {
+  GtkEntryPrivate *priv;
+
   g_return_if_fail (GTK_IS_ENTRY (entry));
+
+  priv = entry->priv;
+
   setting = setting != FALSE;
 
-  if (setting != entry->activates_default)
+  if (setting != priv->activates_default)
     {
-      entry->activates_default = setting;
+      priv->activates_default = setting;
       g_object_notify (G_OBJECT (entry), "activates-default");
     }
 }
@@ -7144,7 +7264,7 @@ gtk_entry_get_activates_default (GtkEntry *entry)
 {
   g_return_val_if_fail (GTK_IS_ENTRY (entry), FALSE);
 
-  return entry->activates_default;
+  return entry->priv->activates_default;
 }
 
 /**
@@ -7162,11 +7282,15 @@ void
 gtk_entry_set_width_chars (GtkEntry *entry,
                            gint      n_chars)
 {
+  GtkEntryPrivate *priv;
+
   g_return_if_fail (GTK_IS_ENTRY (entry));
 
-  if (entry->width_chars != n_chars)
+  priv = entry->priv;
+
+  if (priv->width_chars != n_chars)
     {
-      entry->width_chars = n_chars;
+      priv->width_chars = n_chars;
       g_object_notify (G_OBJECT (entry), "width-chars");
       gtk_widget_queue_resize (GTK_WIDGET (entry));
     }
@@ -7185,7 +7309,7 @@ gtk_entry_get_width_chars (GtkEntry *entry)
 {
   g_return_val_if_fail (GTK_IS_ENTRY (entry), 0);
 
-  return entry->width_chars;
+  return entry->priv->width_chars;
 }
 
 /**
@@ -7199,15 +7323,19 @@ void
 gtk_entry_set_has_frame (GtkEntry *entry,
                          gboolean  setting)
 {
+  GtkEntryPrivate *priv;
+
   g_return_if_fail (GTK_IS_ENTRY (entry));
 
+  priv = entry->priv;
+
   setting = (setting != FALSE);
 
-  if (entry->has_frame == setting)
+  if (priv->has_frame == setting)
     return;
 
   gtk_widget_queue_resize (GTK_WIDGET (entry));
-  entry->has_frame = setting;
+  priv->has_frame = setting;
   g_object_notify (G_OBJECT (entry), "has-frame");
 }
 
@@ -7224,7 +7352,7 @@ gtk_entry_get_has_frame (GtkEntry *entry)
 {
   g_return_val_if_fail (GTK_IS_ENTRY (entry), FALSE);
 
-  return entry->has_frame;
+  return entry->priv->has_frame;
 }
 
 /**
@@ -7326,20 +7454,23 @@ gint
 gtk_entry_layout_index_to_text_index (GtkEntry *entry,
                                       gint      layout_index)
 {
+  GtkEntryPrivate *priv;
   PangoLayout *layout;
   const gchar *text;
   gint cursor_index;
   
   g_return_val_if_fail (GTK_IS_ENTRY (entry), 0);
 
+  priv = entry->priv;
+
   layout = gtk_entry_ensure_layout (entry, TRUE);
   text = pango_layout_get_text (layout);
-  cursor_index = g_utf8_offset_to_pointer (text, entry->current_pos) - text;
-  
-  if (layout_index >= cursor_index && entry->preedit_length)
+  cursor_index = g_utf8_offset_to_pointer (text, priv->current_pos) - text;
+
+  if (layout_index >= cursor_index && priv->preedit_length)
     {
-      if (layout_index >= cursor_index + entry->preedit_length)
-       layout_index -= entry->preedit_length;
+      if (layout_index >= cursor_index + priv->preedit_length)
+       layout_index -= priv->preedit_length;
       else
         layout_index = cursor_index;
     }
@@ -7362,17 +7493,21 @@ gint
 gtk_entry_text_index_to_layout_index (GtkEntry *entry,
                                       gint      text_index)
 {
+  GtkEntryPrivate *priv;
   PangoLayout *layout;
   const gchar *text;
   gint cursor_index;
+
   g_return_val_if_fail (GTK_IS_ENTRY (entry), 0);
 
+  priv = entry->priv;
+
   layout = gtk_entry_ensure_layout (entry, TRUE);
   text = pango_layout_get_text (layout);
-  cursor_index = g_utf8_offset_to_pointer (text, entry->current_pos) - text;
-  
+  cursor_index = g_utf8_offset_to_pointer (text, priv->current_pos) - text;
+
   if (text_index > cursor_index)
-    text_index += entry->preedit_length;
+    text_index += priv->preedit_length;
 
   return text_index;
 }
@@ -7443,10 +7578,10 @@ void
 gtk_entry_set_alignment (GtkEntry *entry, gfloat xalign)
 {
   GtkEntryPrivate *priv;
-  
+
   g_return_if_fail (GTK_IS_ENTRY (entry));
 
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
 
   if (xalign < 0.0)
     xalign = 0.0;
@@ -7476,13 +7611,9 @@ gtk_entry_set_alignment (GtkEntry *entry, gfloat xalign)
 gfloat
 gtk_entry_get_alignment (GtkEntry *entry)
 {
-  GtkEntryPrivate *priv;
-  
   g_return_val_if_fail (GTK_IS_ENTRY (entry), 0.0);
 
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
-
-  return priv->xalign;
+  return entry->priv->xalign;
 }
 
 /**
@@ -7508,7 +7639,7 @@ gtk_entry_set_icon_from_pixbuf (GtkEntry             *entry,
   g_return_if_fail (GTK_IS_ENTRY (entry));
   g_return_if_fail (IS_VALID_ICON_POSITION (icon_pos));
 
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
 
   if ((icon_info = priv->icons[icon_pos]) == NULL)
     icon_info = construct_icon_info (GTK_WIDGET (entry), icon_pos);
@@ -7573,7 +7704,7 @@ gtk_entry_set_icon_from_stock (GtkEntry             *entry,
   g_return_if_fail (GTK_IS_ENTRY (entry));
   g_return_if_fail (IS_VALID_ICON_POSITION (icon_pos));
 
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
 
   if ((icon_info = priv->icons[icon_pos]) == NULL)
     icon_info = construct_icon_info (GTK_WIDGET (entry), icon_pos);
@@ -7643,7 +7774,7 @@ gtk_entry_set_icon_from_icon_name (GtkEntry             *entry,
   g_return_if_fail (GTK_IS_ENTRY (entry));
   g_return_if_fail (IS_VALID_ICON_POSITION (icon_pos));
 
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
 
   if ((icon_info = priv->icons[icon_pos]) == NULL)
     icon_info = construct_icon_info (GTK_WIDGET (entry), icon_pos);
@@ -7711,7 +7842,7 @@ gtk_entry_set_icon_from_gicon (GtkEntry             *entry,
   g_return_if_fail (GTK_IS_ENTRY (entry));
   g_return_if_fail (IS_VALID_ICON_POSITION (icon_pos));
 
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
 
   if ((icon_info = priv->icons[icon_pos]) == NULL)
     icon_info = construct_icon_info (GTK_WIDGET (entry), icon_pos);
@@ -7773,7 +7904,7 @@ gtk_entry_set_icon_activatable (GtkEntry             *entry,
   g_return_if_fail (GTK_IS_ENTRY (entry));
   g_return_if_fail (IS_VALID_ICON_POSITION (icon_pos));
 
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
 
   if ((icon_info = priv->icons[icon_pos]) == NULL)
     icon_info = construct_icon_info (GTK_WIDGET (entry), icon_pos);
@@ -7813,7 +7944,7 @@ gtk_entry_get_icon_activatable (GtkEntry             *entry,
   g_return_val_if_fail (GTK_IS_ENTRY (entry), FALSE);
   g_return_val_if_fail (IS_VALID_ICON_POSITION (icon_pos), FALSE);
 
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
   icon_info = priv->icons[icon_pos];
 
   return (icon_info != NULL && !icon_info->nonactivatable);
@@ -7845,7 +7976,8 @@ gtk_entry_get_icon_pixbuf (GtkEntry             *entry,
   g_return_val_if_fail (GTK_IS_ENTRY (entry), NULL);
   g_return_val_if_fail (IS_VALID_ICON_POSITION (icon_pos), NULL);
 
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
+
   icon_info = priv->icons[icon_pos];
 
   if (!icon_info)
@@ -7880,7 +8012,7 @@ gtk_entry_get_icon_gicon (GtkEntry             *entry,
   g_return_val_if_fail (GTK_IS_ENTRY (entry), NULL);
   g_return_val_if_fail (IS_VALID_ICON_POSITION (icon_pos), NULL);
 
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
   icon_info = priv->icons[icon_pos];
 
   if (!icon_info)
@@ -7913,7 +8045,7 @@ gtk_entry_get_icon_stock (GtkEntry             *entry,
   g_return_val_if_fail (GTK_IS_ENTRY (entry), NULL);
   g_return_val_if_fail (IS_VALID_ICON_POSITION (icon_pos), NULL);
 
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
   icon_info = priv->icons[icon_pos];
 
   if (!icon_info)
@@ -7946,7 +8078,7 @@ gtk_entry_get_icon_name (GtkEntry             *entry,
   g_return_val_if_fail (GTK_IS_ENTRY (entry), NULL);
   g_return_val_if_fail (IS_VALID_ICON_POSITION (icon_pos), NULL);
 
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
   icon_info = priv->icons[icon_pos];
 
   if (!icon_info)
@@ -7977,7 +8109,7 @@ gtk_entry_set_icon_sensitive (GtkEntry             *entry,
   g_return_if_fail (GTK_IS_ENTRY (entry));
   g_return_if_fail (IS_VALID_ICON_POSITION (icon_pos));
 
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
 
   if ((icon_info = priv->icons[icon_pos]) == NULL)
     icon_info = construct_icon_info (GTK_WIDGET (entry), icon_pos);
@@ -8020,7 +8152,8 @@ gtk_entry_get_icon_sensitive (GtkEntry             *entry,
   g_return_val_if_fail (GTK_IS_ENTRY (entry), TRUE);
   g_return_val_if_fail (IS_VALID_ICON_POSITION (icon_pos), TRUE);
 
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
+
   icon_info = priv->icons[icon_pos];
 
   return (!icon_info || !icon_info->insensitive);
@@ -8050,7 +8183,8 @@ gtk_entry_get_icon_storage_type (GtkEntry             *entry,
   g_return_val_if_fail (GTK_IS_ENTRY (entry), GTK_IMAGE_EMPTY);
   g_return_val_if_fail (IS_VALID_ICON_POSITION (icon_pos), GTK_IMAGE_EMPTY);
 
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
+
   icon_info = priv->icons[icon_pos];
 
   if (!icon_info)
@@ -8137,7 +8271,7 @@ gtk_entry_set_icon_drag_source (GtkEntry             *entry,
   g_return_if_fail (GTK_IS_ENTRY (entry));
   g_return_if_fail (IS_VALID_ICON_POSITION (icon_pos));
 
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
 
   if ((icon_info = priv->icons[icon_pos]) == NULL)
     icon_info = construct_icon_info (GTK_WIDGET (entry), icon_pos);
@@ -8175,7 +8309,7 @@ gtk_entry_get_current_icon_drag_source (GtkEntry *entry)
 
   g_return_val_if_fail (GTK_IS_ENTRY (entry), -1);
 
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
 
   for (i = 0; i < MAX_ICONS; i++)
     {
@@ -8217,7 +8351,7 @@ gtk_entry_get_icon_area (GtkEntry             *entry,
   g_return_if_fail (GTK_IS_ENTRY (entry));
   g_return_if_fail (icon_area != NULL);
 
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
 
   icon_info = priv->icons[icon_pos];
 
@@ -8250,7 +8384,7 @@ ensure_has_tooltip (GtkEntry *entry)
   int i;
   gboolean has_tooltip = FALSE;
 
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
 
   for (i = 0; i < MAX_ICONS; i++)
     {
@@ -8291,7 +8425,8 @@ gtk_entry_get_icon_tooltip_text (GtkEntry             *entry,
   g_return_val_if_fail (GTK_IS_ENTRY (entry), NULL);
   g_return_val_if_fail (IS_VALID_ICON_POSITION (icon_pos), NULL);
 
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
+
   icon_info = priv->icons[icon_pos];
 
   if (!icon_info)
@@ -8331,7 +8466,7 @@ gtk_entry_set_icon_tooltip_text (GtkEntry             *entry,
   g_return_if_fail (GTK_IS_ENTRY (entry));
   g_return_if_fail (IS_VALID_ICON_POSITION (icon_pos));
 
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
 
   if (!(icon_info = priv->icons[icon_pos]))
     icon_info = priv->icons[icon_pos];
@@ -8373,7 +8508,8 @@ gtk_entry_get_icon_tooltip_markup (GtkEntry             *entry,
   g_return_val_if_fail (GTK_IS_ENTRY (entry), NULL);
   g_return_val_if_fail (IS_VALID_ICON_POSITION (icon_pos), NULL);
 
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
+
   icon_info = priv->icons[icon_pos];
 
   if (!icon_info)
@@ -8410,7 +8546,7 @@ gtk_entry_set_icon_tooltip_markup (GtkEntry             *entry,
   g_return_if_fail (GTK_IS_ENTRY (entry));
   g_return_if_fail (IS_VALID_ICON_POSITION (icon_pos));
 
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
 
   if (!(icon_info = priv->icons[icon_pos]))
     icon_info = priv->icons[icon_pos];
@@ -8442,7 +8578,7 @@ gtk_entry_query_tooltip (GtkWidget  *widget,
   gint icon_pos;
 
   entry = GTK_ENTRY (widget);
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
 
   if (!keyboard_tip)
     {
@@ -8511,7 +8647,10 @@ static void
 popup_menu_detach (GtkWidget *attach_widget,
                   GtkMenu   *menu)
 {
-  GTK_ENTRY (attach_widget)->popup_menu = NULL;
+  GtkEntry *entry_attach = GTK_ENTRY (attach_widget);
+  GtkEntryPrivate *priv_attach = entry_attach->priv;
+
+  priv_attach->popup_menu = NULL;
 }
 
 static void
@@ -8522,6 +8661,7 @@ popup_position_func (GtkMenu   *menu,
                      gpointer  user_data)
 {
   GtkEntry *entry = GTK_ENTRY (user_data);
+  GtkEntryPrivate *priv = entry->priv;
   GtkWidget *widget = GTK_WIDGET (entry);
   GdkScreen *screen;
   GtkRequisition menu_req;
@@ -8531,22 +8671,22 @@ popup_position_func (GtkMenu   *menu,
  
   g_return_if_fail (gtk_widget_get_realized (widget));
 
-  gdk_window_get_origin (entry->text_area, x, y);
+  gdk_window_get_origin (priv->text_area, x, y);
 
   screen = gtk_widget_get_screen (widget);
-  monitor_num = gdk_screen_get_monitor_at_window (screen, entry->text_area);
+  monitor_num = gdk_screen_get_monitor_at_window (screen, priv->text_area);
   if (monitor_num < 0)
     monitor_num = 0;
   gtk_menu_set_monitor (menu, monitor_num);
 
   gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor);
-  gtk_widget_get_preferred_size (entry->popup_menu,
+  gtk_widget_get_preferred_size (priv->popup_menu,
                                  &menu_req, NULL);
-  height = gdk_window_get_height (entry->text_area);
+  height = gdk_window_get_height (priv->text_area);
   gtk_entry_get_cursor_locations (entry, CURSOR_STANDARD, &strong_x, NULL);
   _gtk_entry_effective_inner_border (entry, &inner_border);
 
-  *x += inner_border.left + strong_x - entry->scroll_offset;
+  *x += inner_border.left + strong_x - priv->scroll_offset;
   if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
     *x -= menu_req.width;
 
@@ -8567,8 +8707,9 @@ unichar_chosen_func (const char *text,
                      gpointer    data)
 {
   GtkEntry *entry = GTK_ENTRY (data);
+  GtkEntryPrivate *priv = entry->priv;
 
-  if (entry->editable)
+  if (priv->editable)
     gtk_entry_enter_text (entry, text);
 }
 
@@ -8586,7 +8727,8 @@ popup_targets_received (GtkClipboard     *clipboard,
 {
   PopupInfo *info = user_data;
   GtkEntry *entry = info->entry;
-  
+  GtkEntryPrivate *info_entry_priv = entry->priv;
+
   if (gtk_widget_get_realized (GTK_WIDGET (entry)))
     {
       DisplayMode mode;
@@ -8597,43 +8739,43 @@ popup_targets_received (GtkClipboard     *clipboard,
       gboolean show_unicode_menu;
       
       clipboard_contains_text = gtk_selection_data_targets_include_text (data);
-      if (entry->popup_menu)
-       gtk_widget_destroy (entry->popup_menu);
-      
-      entry->popup_menu = gtk_menu_new ();
-      
-      gtk_menu_attach_to_widget (GTK_MENU (entry->popup_menu),
+      if (info_entry_priv->popup_menu)
+       gtk_widget_destroy (info_entry_priv->popup_menu);
+
+      info_entry_priv->popup_menu = gtk_menu_new ();
+
+      gtk_menu_attach_to_widget (GTK_MENU (info_entry_priv->popup_menu),
                                 GTK_WIDGET (entry),
                                 popup_menu_detach);
       
       mode = gtk_entry_get_display_mode (entry);
-      append_action_signal (entry, entry->popup_menu, GTK_STOCK_CUT, "cut-clipboard",
-                           entry->editable && mode == DISPLAY_NORMAL &&
-                           entry->current_pos != entry->selection_bound);
+      append_action_signal (entry, info_entry_priv->popup_menu, GTK_STOCK_CUT, "cut-clipboard",
+                            info_entry_priv->editable && mode == DISPLAY_NORMAL &&
+                            info_entry_priv->current_pos != info_entry_priv->selection_bound);
 
-      append_action_signal (entry, entry->popup_menu, GTK_STOCK_COPY, "copy-clipboard",
+      append_action_signal (entry, info_entry_priv->popup_menu, GTK_STOCK_COPY, "copy-clipboard",
                             mode == DISPLAY_NORMAL &&
-                            entry->current_pos != entry->selection_bound);
+                            info_entry_priv->current_pos != info_entry_priv->selection_bound);
 
-      append_action_signal (entry, entry->popup_menu, GTK_STOCK_PASTE, "paste-clipboard",
-                           entry->editable && clipboard_contains_text);
+      append_action_signal (entry, info_entry_priv->popup_menu, GTK_STOCK_PASTE, "paste-clipboard",
+                            info_entry_priv->editable && clipboard_contains_text);
 
       menuitem = gtk_image_menu_item_new_from_stock (GTK_STOCK_DELETE, NULL);
-      gtk_widget_set_sensitive (menuitem, entry->editable && entry->current_pos != entry->selection_bound);
+      gtk_widget_set_sensitive (menuitem, info_entry_priv->editable && info_entry_priv->current_pos != info_entry_priv->selection_bound);
       g_signal_connect_swapped (menuitem, "activate",
                                G_CALLBACK (gtk_entry_delete_cb), entry);
       gtk_widget_show (menuitem);
-      gtk_menu_shell_append (GTK_MENU_SHELL (entry->popup_menu), menuitem);
+      gtk_menu_shell_append (GTK_MENU_SHELL (info_entry_priv->popup_menu), menuitem);
 
       menuitem = gtk_separator_menu_item_new ();
       gtk_widget_show (menuitem);
-      gtk_menu_shell_append (GTK_MENU_SHELL (entry->popup_menu), menuitem);
+      gtk_menu_shell_append (GTK_MENU_SHELL (info_entry_priv->popup_menu), menuitem);
       
       menuitem = gtk_image_menu_item_new_from_stock (GTK_STOCK_SELECT_ALL, NULL);
       g_signal_connect_swapped (menuitem, "activate",
                                G_CALLBACK (gtk_entry_select_all), entry);
       gtk_widget_show (menuitem);
-      gtk_menu_shell_append (GTK_MENU_SHELL (entry->popup_menu), menuitem);
+      gtk_menu_shell_append (GTK_MENU_SHELL (info_entry_priv->popup_menu), menuitem);
       
       g_object_get (gtk_widget_get_settings (GTK_WIDGET (entry)),
                     "gtk-show-input-method-menu", &show_input_method_menu,
@@ -8644,33 +8786,33 @@ popup_targets_received (GtkClipboard     *clipboard,
         {
           menuitem = gtk_separator_menu_item_new ();
           gtk_widget_show (menuitem);
-          gtk_menu_shell_append (GTK_MENU_SHELL (entry->popup_menu), menuitem);
+          gtk_menu_shell_append (GTK_MENU_SHELL (info_entry_priv->popup_menu), menuitem);
         }
       
       if (show_input_method_menu)
         {
           menuitem = gtk_menu_item_new_with_mnemonic (_("Input _Methods"));
-          gtk_widget_set_sensitive (menuitem, entry->editable);      
+          gtk_widget_set_sensitive (menuitem, info_entry_priv->editable);
           gtk_widget_show (menuitem);
           submenu = gtk_menu_new ();
           gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), submenu);
-          
-          gtk_menu_shell_append (GTK_MENU_SHELL (entry->popup_menu), menuitem);
-      
-          gtk_im_multicontext_append_menuitems (GTK_IM_MULTICONTEXT (entry->im_context),
+
+          gtk_menu_shell_append (GTK_MENU_SHELL (info_entry_priv->popup_menu), menuitem);
+
+          gtk_im_multicontext_append_menuitems (GTK_IM_MULTICONTEXT (info_entry_priv->im_context),
                                                 GTK_MENU_SHELL (submenu));
         }
       
       if (show_unicode_menu)
         {
           menuitem = gtk_menu_item_new_with_mnemonic (_("_Insert Unicode Control Character"));
-          gtk_widget_set_sensitive (menuitem, entry->editable);      
+          gtk_widget_set_sensitive (menuitem, info_entry_priv->editable);
           gtk_widget_show (menuitem);
           
           submenu = gtk_menu_new ();
           gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), submenu);
-          gtk_menu_shell_append (GTK_MENU_SHELL (entry->popup_menu), menuitem);      
-          
+          gtk_menu_shell_append (GTK_MENU_SHELL (info_entry_priv->popup_menu), menuitem);
+
           _gtk_text_util_append_special_char_menuitems (GTK_MENU_SHELL (submenu),
                                                         unichar_chosen_func,
                                                         entry);
@@ -8679,19 +8821,19 @@ popup_targets_received (GtkClipboard     *clipboard,
       g_signal_emit (entry,
                     signals[POPULATE_POPUP],
                     0,
-                    entry->popup_menu);
-  
+                    info_entry_priv->popup_menu);
+
 
       if (info->button)
-       gtk_menu_popup (GTK_MENU (entry->popup_menu), NULL, NULL,
+       gtk_menu_popup (GTK_MENU (info_entry_priv->popup_menu), NULL, NULL,
                        NULL, NULL,
                        info->button, info->time);
       else
        {
-         gtk_menu_popup (GTK_MENU (entry->popup_menu), NULL, NULL,
+         gtk_menu_popup (GTK_MENU (info_entry_priv->popup_menu), NULL, NULL,
                          popup_position_func, entry,
                          info->button, info->time);
-         gtk_menu_shell_select_first (GTK_MENU_SHELL (entry->popup_menu), FALSE);
+         gtk_menu_shell_select_first (GTK_MENU_SHELL (info_entry_priv->popup_menu), FALSE);
        }
     }
 
@@ -8739,7 +8881,8 @@ static void
 gtk_entry_drag_begin (GtkWidget      *widget,
                       GdkDragContext *context)
 {
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (widget);
+  GtkEntry *entry = GTK_ENTRY (widget);
+  GtkEntryPrivate *priv = entry->priv;
   gint i;
 
   for (i = 0; i < MAX_ICONS; i++)
@@ -8777,7 +8920,8 @@ static void
 gtk_entry_drag_end (GtkWidget      *widget,
                     GdkDragContext *context)
 {
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (widget);
+  GtkEntry *entry = GTK_ENTRY (widget);
+  GtkEntryPrivate *priv = entry->priv;
   gint i;
 
   for (i = 0; i < MAX_ICONS; i++)
@@ -8795,8 +8939,9 @@ gtk_entry_drag_leave (GtkWidget        *widget,
                      guint             time)
 {
   GtkEntry *entry = GTK_ENTRY (widget);
+  GtkEntryPrivate *priv = entry->priv;
 
-  entry->dnd_position = -1;
+  priv->dnd_position = -1;
   gtk_widget_queue_draw (widget);
 }
 
@@ -8808,9 +8953,10 @@ gtk_entry_drag_drop  (GtkWidget        *widget,
                      guint             time)
 {
   GtkEntry *entry = GTK_ENTRY (widget);
+  GtkEntryPrivate *priv = entry->priv;
   GdkAtom target = GDK_NONE;
-  
-  if (entry->editable)
+
+  if (priv->editable)
     target = gtk_drag_dest_find_target (widget, context, NULL);
 
   if (target != GDK_NONE)
@@ -8829,6 +8975,7 @@ gtk_entry_drag_motion (GtkWidget        *widget,
                       guint             time)
 {
   GtkEntry *entry = GTK_ENTRY (widget);
+  GtkEntryPrivate *priv = entry->priv;
   GtkStyle *style;
   GtkWidget *source_widget;
   GdkDragAction suggested_action;
@@ -8839,10 +8986,10 @@ gtk_entry_drag_motion (GtkWidget        *widget,
   x -= style->xthickness;
   y -= style->ythickness;
 
-  old_position = entry->dnd_position;
-  new_position = gtk_entry_find_position (entry, x + entry->scroll_offset);
+  old_position = priv->dnd_position;
+  new_position = gtk_entry_find_position (entry, x + priv->scroll_offset);
 
-  if (entry->editable &&
+  if (priv->editable &&
       gtk_drag_dest_find_target (widget, context, NULL) != GDK_NONE)
     {
       source_widget = gtk_drag_get_source_widget (context);
@@ -8859,27 +9006,27 @@ gtk_entry_drag_motion (GtkWidget        *widget,
              if ((context->actions & GDK_ACTION_MOVE) != 0)
                suggested_action = GDK_ACTION_MOVE;
            }
-              
-          entry->dnd_position = new_position;
+
+          priv->dnd_position = new_position;
         }
       else
         {
           if (source_widget == widget)
            suggested_action = 0;       /* Can't drop in selection where drag started */
-          
-          entry->dnd_position = -1;
+
+          priv->dnd_position = -1;
         }
     }
   else
     {
       /* Entry not editable, or no text */
       suggested_action = 0;
-      entry->dnd_position = -1;
+      priv->dnd_position = -1;
     }
   
   gdk_drag_status (context, suggested_action, time);
-  
-  if (entry->dnd_position != old_position)
+
+  if (priv->dnd_position != old_position)
     gtk_widget_queue_draw (widget);
 
   return TRUE;
@@ -8895,6 +9042,7 @@ gtk_entry_drag_data_received (GtkWidget        *widget,
                              guint             time)
 {
   GtkEntry *entry = GTK_ENTRY (widget);
+  GtkEntryPrivate *priv = entry->priv;
   GtkEditable *editable = GTK_EDITABLE (widget);
   GtkStyle *style;
   gchar *str;
@@ -8905,16 +9053,16 @@ gtk_entry_drag_data_received (GtkWidget        *widget,
   x -= style->xthickness;
   y -= style->ythickness;
 
-  if (str && entry->editable)
+  if (str && priv->editable)
     {
       gint new_position;
       gint sel1, sel2;
       gint length = -1;
 
-      if (entry->truncate_multiline)
+      if (priv->truncate_multiline)
         length = truncate_multiline (str);
 
-      new_position = gtk_entry_find_position (entry, x + entry->scroll_offset);
+      new_position = gtk_entry_find_position (entry, x + priv->scroll_offset);
 
       if (!gtk_editable_get_selection_bounds (editable, &sel1, &sel2) ||
          new_position < sel1 || new_position > sel2)
@@ -8950,12 +9098,12 @@ gtk_entry_drag_data_get (GtkWidget        *widget,
                         guint             info,
                         guint             time)
 {
+  GtkEntry *entry = GTK_ENTRY (widget);
+  GtkEntryPrivate *priv = entry->priv;
+  GtkEditable *editable = GTK_EDITABLE (widget);
   gint sel_start, sel_end;
   gint i;
 
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (widget);
-  GtkEditable *editable = GTK_EDITABLE (widget);
-
   /* If there is an icon drag going on, exit early. */
   for (i = 0; i < MAX_ICONS; i++)
     {
@@ -8983,12 +9131,12 @@ static void
 gtk_entry_drag_data_delete (GtkWidget      *widget,
                            GdkDragContext *context)
 {
+  GtkEntry *entry = GTK_ENTRY (widget);
+  GtkEntryPrivate *priv = entry->priv;
+  GtkEditable *editable = GTK_EDITABLE (widget);
   gint sel_start, sel_end;
   gint i;
 
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (widget);
-  GtkEditable *editable = GTK_EDITABLE (widget);
-
   /* If there is an icon drag going on, exit early. */
   for (i = 0; i < MAX_ICONS; i++)
     {
@@ -9000,8 +9148,8 @@ gtk_entry_drag_data_delete (GtkWidget      *widget,
             return;
         }
     }
-  
-  if (GTK_ENTRY (widget)->editable &&
+
+  if (priv->editable &&
       gtk_editable_get_selection_bounds (editable, &sel_start, &sel_end))
     gtk_editable_delete_text (editable, sel_start, sel_end);
 }
@@ -9020,9 +9168,11 @@ gtk_entry_drag_data_delete (GtkWidget      *widget,
 static gboolean
 cursor_blinks (GtkEntry *entry)
 {
+  GtkEntryPrivate *priv = entry->priv;
+
   if (gtk_widget_has_focus (GTK_WIDGET (entry)) &&
-      entry->editable &&
-      entry->selection_bound == entry->current_pos)
+      priv->editable &&
+      priv->selection_bound == priv->current_pos)
     {
       GtkSettings *settings;
       gboolean blink;
@@ -9061,14 +9211,15 @@ get_cursor_blink_timeout (GtkEntry *entry)
 static void
 show_cursor (GtkEntry *entry)
 {
+  GtkEntryPrivate *priv = entry->priv;
   GtkWidget *widget;
 
-  if (!entry->cursor_visible)
+  if (!priv->cursor_visible)
     {
-      entry->cursor_visible = TRUE;
+      priv->cursor_visible = TRUE;
 
       widget = GTK_WIDGET (entry);
-      if (gtk_widget_has_focus (widget) && entry->selection_bound == entry->current_pos)
+      if (gtk_widget_has_focus (widget) && priv->selection_bound == priv->current_pos)
        gtk_widget_queue_draw (widget);
     }
 }
@@ -9076,14 +9227,15 @@ show_cursor (GtkEntry *entry)
 static void
 hide_cursor (GtkEntry *entry)
 {
+  GtkEntryPrivate *priv = entry->priv;
   GtkWidget *widget;
 
-  if (entry->cursor_visible)
+  if (priv->cursor_visible)
     {
-      entry->cursor_visible = FALSE;
+      priv->cursor_visible = FALSE;
 
       widget = GTK_WIDGET (entry);
-      if (gtk_widget_has_focus (widget) && entry->selection_bound == entry->current_pos)
+      if (gtk_widget_has_focus (widget) && priv->selection_bound == priv->current_pos)
        gtk_widget_queue_draw (widget);
     }
 }
@@ -9099,7 +9251,7 @@ blink_cb (gpointer data)
   gint blink_timeout;
 
   entry = GTK_ENTRY (data);
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  priv = entry->priv;
  
   if (!gtk_widget_has_focus (GTK_WIDGET (entry)))
     {
@@ -9112,7 +9264,7 @@ blink_cb (gpointer data)
       return FALSE;
     }
   
-  g_assert (entry->selection_bound == entry->current_pos);
+  g_assert (priv->selection_bound == priv->current_pos);
   
   blink_timeout = get_cursor_blink_timeout (entry);
   if (priv->blink_time > 1000 * blink_timeout && 
@@ -9120,12 +9272,12 @@ blink_cb (gpointer data)
     {
       /* we've blinked enough without the user doing anything, stop blinking */
       show_cursor (entry);
-      entry->blink_timeout = 0;
+      priv->blink_timeout = 0;
     } 
-  else if (entry->cursor_visible)
+  else if (priv->cursor_visible)
     {
       hide_cursor (entry);
-      entry->blink_timeout = gdk_threads_add_timeout (get_cursor_time (entry) * CURSOR_OFF_MULTIPLIER / CURSOR_DIVIDER,
+      priv->blink_timeout = gdk_threads_add_timeout (get_cursor_time (entry) * CURSOR_OFF_MULTIPLIER / CURSOR_DIVIDER,
                                            blink_cb,
                                            entry);
     }
@@ -9133,7 +9285,7 @@ blink_cb (gpointer data)
     {
       show_cursor (entry);
       priv->blink_time += get_cursor_time (entry);
-      entry->blink_timeout = gdk_threads_add_timeout (get_cursor_time (entry) * CURSOR_ON_MULTIPLIER / CURSOR_DIVIDER,
+      priv->blink_timeout = gdk_threads_add_timeout (get_cursor_time (entry) * CURSOR_ON_MULTIPLIER / CURSOR_DIVIDER,
                                            blink_cb,
                                            entry);
     }
@@ -9145,44 +9297,43 @@ blink_cb (gpointer data)
 static void
 gtk_entry_check_cursor_blink (GtkEntry *entry)
 {
-  GtkEntryPrivate *priv; 
-  
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
 
   if (cursor_blinks (entry))
     {
-      if (!entry->blink_timeout)
+      if (!priv->blink_timeout)
        {
          show_cursor (entry);
-         entry->blink_timeout = gdk_threads_add_timeout (get_cursor_time (entry) * CURSOR_ON_MULTIPLIER / CURSOR_DIVIDER,
+         priv->blink_timeout = gdk_threads_add_timeout (get_cursor_time (entry) * CURSOR_ON_MULTIPLIER / CURSOR_DIVIDER,
                                                blink_cb,
                                                entry);
        }
     }
   else
     {
-      if (entry->blink_timeout)  
-       { 
-         g_source_remove (entry->blink_timeout);
-         entry->blink_timeout = 0;
+      if (priv->blink_timeout)
+       {
+         g_source_remove (priv->blink_timeout);
+         priv->blink_timeout = 0;
        }
-      
-      entry->cursor_visible = TRUE;
+
+      priv->cursor_visible = TRUE;
     }
-  
 }
 
 static void
 gtk_entry_pend_cursor_blink (GtkEntry *entry)
 {
+  GtkEntryPrivate *priv = entry->priv;
+
   if (cursor_blinks (entry))
     {
-      if (entry->blink_timeout != 0)
-       g_source_remove (entry->blink_timeout);
-      
-      entry->blink_timeout = gdk_threads_add_timeout (get_cursor_time (entry) * CURSOR_PEND_MULTIPLIER / CURSOR_DIVIDER,
-                                           blink_cb,
-                                           entry);
+      if (priv->blink_timeout != 0)
+       g_source_remove (priv->blink_timeout);
+
+      priv->blink_timeout = gdk_threads_add_timeout (get_cursor_time (entry) * CURSOR_PEND_MULTIPLIER / CURSOR_DIVIDER,
+                                                     blink_cb,
+                                                     entry);
       show_cursor (entry);
     }
 }
@@ -9190,10 +9341,8 @@ gtk_entry_pend_cursor_blink (GtkEntry *entry)
 static void
 gtk_entry_reset_blink_time (GtkEntry *entry)
 {
-  GtkEntryPrivate *priv; 
-  
-  priv = GTK_ENTRY_GET_PRIVATE (entry);
-  
+  GtkEntryPrivate *priv = entry->priv;
+
   priv->blink_time = 0;
 }
 
@@ -9203,7 +9352,7 @@ static gint
 gtk_entry_completion_timeout (gpointer data)
 {
   GtkEntryCompletion *completion = GTK_ENTRY_COMPLETION (data);
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (completion->priv->entry);
+  GtkEntryPrivate *completion_entry_priv = GTK_ENTRY (completion->priv->entry)->priv;
 
   completion->priv->completion_timeout = 0;
 
@@ -9233,7 +9382,7 @@ gtk_entry_completion_timeout (gpointer data)
          if (gtk_widget_get_visible (completion->priv->popup_window))
            _gtk_entry_completion_resize_popup (completion);
           else
-           _gtk_entry_completion_popup (completion, priv->completion_device);
+           _gtk_entry_completion_popup (completion, completion_entry_priv->completion_device);
        }
       else 
        _gtk_entry_completion_popdown (completion);
@@ -9535,23 +9684,24 @@ keypress_completion_out:
 }
 
 static void
-gtk_entry_completion_changed (GtkWidget *entry,
+gtk_entry_completion_changed (GtkWidget *widget,
                               gpointer   user_data)
 {
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
   GtkEntryCompletion *completion = GTK_ENTRY_COMPLETION (user_data);
+  GtkEntry *entry = GTK_ENTRY (widget);
+  GtkEntryPrivate *priv = entry->priv;
   GdkDevice *device;
 
   /* (re)install completion timeout */
   if (completion->priv->completion_timeout)
     g_source_remove (completion->priv->completion_timeout);
 
-  if (!gtk_entry_get_text (GTK_ENTRY (entry)))
+  if (!gtk_entry_get_text (entry))
     return;
 
   /* no need to normalize for this test */
   if (completion->priv->minimum_key_length > 0 &&
-      strcmp ("", gtk_entry_get_text (GTK_ENTRY (entry))) == 0)
+      strcmp ("", gtk_entry_get_text (entry)) == 0)
     {
       if (gtk_widget_get_visible (completion->priv->popup_window))
         _gtk_entry_completion_popdown (completion);
@@ -9560,7 +9710,7 @@ gtk_entry_completion_changed (GtkWidget *entry,
 
   device = gtk_get_current_event_device ();
 
-  if (device && device->source == GDK_SOURCE_KEYBOARD)
+  if (device && gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD)
     device = gdk_device_get_associated_device (device);
 
   if (device)
@@ -9858,7 +10008,7 @@ gtk_entry_set_progress_fraction (GtkEntry *entry,
   g_return_if_fail (GTK_IS_ENTRY (entry));
 
   widget = GTK_WIDGET (entry);
-  private = GTK_ENTRY_GET_PRIVATE (entry);
+  private = entry->priv;
 
   if (private->progress_pulse_mode)
     old_fraction = -1;
@@ -9900,13 +10050,9 @@ gtk_entry_set_progress_fraction (GtkEntry *entry,
 gdouble
 gtk_entry_get_progress_fraction (GtkEntry *entry)
 {
-  GtkEntryPrivate *private;
-
   g_return_val_if_fail (GTK_IS_ENTRY (entry), 0.0);
 
-  private = GTK_ENTRY_GET_PRIVATE (entry);
-
-  return private->progress_fraction;
+  return entry->priv->progress_fraction;
 }
 
 /**
@@ -9927,7 +10073,7 @@ gtk_entry_set_progress_pulse_step (GtkEntry *entry,
 
   g_return_if_fail (GTK_IS_ENTRY (entry));
 
-  private = GTK_ENTRY_GET_PRIVATE (entry);
+  private = entry->priv;
 
   fraction = CLAMP (fraction, 0.0, 1.0);
 
@@ -9954,13 +10100,9 @@ gtk_entry_set_progress_pulse_step (GtkEntry *entry,
 gdouble
 gtk_entry_get_progress_pulse_step (GtkEntry *entry)
 {
-  GtkEntryPrivate *private;
-
   g_return_val_if_fail (GTK_IS_ENTRY (entry), 0.0);
 
-  private = GTK_ENTRY_GET_PRIVATE (entry);
-
-  return private->progress_pulse_fraction;
+  return entry->priv->progress_pulse_fraction;
 }
 
 /**
@@ -9983,7 +10125,7 @@ gtk_entry_progress_pulse (GtkEntry *entry)
 
   g_return_if_fail (GTK_IS_ENTRY (entry));
 
-  private = GTK_ENTRY_GET_PRIVATE (entry);
+  private = entry->priv;
 
   if (private->progress_pulse_mode)
     {
@@ -10025,7 +10167,7 @@ static void
 show_capslock_feedback (GtkEntry    *entry,
                         const gchar *text)
 {
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
 
   if (gtk_entry_get_icon_storage_type (entry, GTK_ENTRY_ICON_SECONDARY) == GTK_IMAGE_EMPTY)
     {
@@ -10043,7 +10185,7 @@ show_capslock_feedback (GtkEntry    *entry,
 static void
 remove_capslock_feedback (GtkEntry *entry)
 {
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
 
   if (priv->caps_lock_warning_shown)
     {
@@ -10056,7 +10198,7 @@ static void
 keymap_state_changed (GdkKeymap *keymap, 
                       GtkEntry  *entry)
 {
-  GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry);
+  GtkEntryPrivate *priv = entry->priv;
   char *text = NULL;
 
   if (gtk_entry_get_display_mode (entry) != DISPLAY_NORMAL && priv->caps_lock_warning)
index b540aed3d29fe11be31c17df28330147d93d94f3..3bd37d35f75bf4d5d545901175195522611772cb 100644 (file)
@@ -69,64 +69,16 @@ typedef enum
   GTK_ENTRY_ICON_SECONDARY
 } GtkEntryIconPosition;
 
-typedef struct _GtkEntry       GtkEntry;
-typedef struct _GtkEntryClass  GtkEntryClass;
+typedef struct _GtkEntry              GtkEntry;
+typedef struct _GtkEntryPrivate       GtkEntryPrivate;
+typedef struct _GtkEntryClass         GtkEntryClass;
 
 struct _GtkEntry
 {
-  GtkWidget  widget;
-
-  guint        GSEAL (editable) : 1;
-  guint        GSEAL (visible)  : 1;
-  guint        GSEAL (overwrite_mode) : 1;
-  guint        GSEAL (in_drag) : 1;                /* FIXME: Should be private?
-                                                       Dragging within the selection */
-
   /*< private >*/
-  GdkWindow    *GSEAL (text_area);
-  GtkIMContext *GSEAL (im_context);
-  GtkWidget    *GSEAL (popup_menu);
-
-  gint          GSEAL (current_pos);
-  gint          GSEAL (selection_bound);
-
-  PangoLayout  *GSEAL (cached_layout);
-
-  guint         GSEAL (cache_includes_preedit) : 1;
-  guint         GSEAL (need_im_reset)          : 1;
-  guint         GSEAL (has_frame)              : 1;
-  guint         GSEAL (activates_default)      : 1;
-  guint         GSEAL (cursor_visible)         : 1;
-  guint         GSEAL (in_click)               : 1; /* Flag so we don't select all when clicking in entry to focus in */
-  guint         GSEAL (is_cell_renderer)       : 1;
-  guint         GSEAL (editing_canceled)       : 1; /* Only used by GtkCellRendererText */ 
-  guint         GSEAL (mouse_cursor_obscured)  : 1;
-  guint         GSEAL (select_words)           : 1;
-  guint         GSEAL (select_lines)           : 1;
-  guint         GSEAL (resolved_dir)           : 4; /* PangoDirection */
-  guint         GSEAL (truncate_multiline)     : 1;
-
-  guint         GSEAL (button);
-  guint         GSEAL (blink_timeout);
-  guint         GSEAL (recompute_idle);
-  gint          GSEAL (scroll_offset);
-  gint          GSEAL (ascent);                            /* font ascent in pango units  */
-  gint          GSEAL (descent);                   /* font descent in pango units */
-
-  guint16       GSEAL (x_text_size);               /* allocated size, in bytes */
-  guint16       GSEAL (x_n_bytes);                 /* length in use, in bytes */
-
-  guint16       GSEAL (preedit_length);                    /* length of preedit string, in bytes */
-  guint16       GSEAL (preedit_cursor);                    /* offset of cursor within preedit string, in chars */
-
-  gint          GSEAL (dnd_position);              /* In chars, -1 == no DND cursor */
-
-  gint          GSEAL (drag_start_x);
-  gint          GSEAL (drag_start_y);
-
-  gunichar      GSEAL (invisible_char);
-
-  gint          GSEAL (width_chars);
+  GtkWidget  parent_instance;
+
+  GtkEntryPrivate *priv;
 };
 
 struct _GtkEntryClass
index baf0b9fe1fc7c0fb76b3cee79968e3b6ee8c9b39..63a5cd02c248c7ce1b7ac6aad4beda3323ac145e 100644 (file)
@@ -84,6 +84,7 @@ void      _gtk_entry_get_borders            (GtkEntry  *entry,
 void     _gtk_entry_effective_inner_border (GtkEntry  *entry,
                                            GtkBorder *border);
 void     _gtk_entry_reset_im_context       (GtkEntry  *entry);
+GtkIMContext* _gtk_entry_get_im_context    (GtkEntry  *entry);
 G_END_DECLS
 
 #endif /* __GTK_ENTRY_PRIVATE_H__ */
index 9fd47d7052995d41889e270b72e2c103b2fbbff0..9dbab6dff1be1342454a4020d88264e7908f75e9 100644 (file)
@@ -208,13 +208,6 @@ typedef enum
   GTK_MESSAGE_OTHER
 } GtkMessageType;
 
-typedef enum
-{
-  GTK_PIXELS,
-  GTK_INCHES,
-  GTK_CENTIMETERS
-} GtkMetricType;
-
 /**
  * GtkMovementStep:
  * @GTK_MOVEMENT_LOGICAL_POSITIONS: Move forward or back by graphemes
index 2f11068e947d1b2bb95240a1ae359677227997d9..1ae575880e9d92e9e9d9e0c77dd6162c49f0232f 100644 (file)
@@ -2306,6 +2306,19 @@ new_folder_button_clicked (GtkButton             *button,
   gtk_tree_path_free (path);
 }
 
+static GSource *
+add_idle_while_impl_is_alive (GtkFileChooserDefault *impl, GCallback callback)
+{
+  GSource *source;
+
+  source = g_idle_source_new ();
+  g_source_set_closure (source,
+                       g_cclosure_new_object (callback, G_OBJECT (impl)));
+  g_source_attach (source, NULL);
+
+  return source;
+}
+
 /* Idle handler for creating a new folder after editing its name cell, or for
  * canceling the editing.
  */
@@ -2364,13 +2377,7 @@ queue_edited_idle (GtkFileChooserDefault *impl,
    */
 
   if (!impl->edited_idle)
-    {
-      impl->edited_idle = g_idle_source_new ();
-      g_source_set_closure (impl->edited_idle,
-                           g_cclosure_new_object (G_CALLBACK (edited_idle_cb),
-                                                  G_OBJECT (impl)));
-      g_source_attach (impl->edited_idle, NULL);
-    }
+    impl->edited_idle = add_idle_while_impl_is_alive (impl, G_CALLBACK (edited_idle_cb));
 
   g_free (impl->edited_new_text);
   impl->edited_new_text = g_strdup (new_text);
@@ -2966,11 +2973,7 @@ shortcuts_drag_leave_cb (GtkWidget             *widget,
 #if 0
   if (gtk_drag_get_source_widget (context) == widget && !impl->shortcuts_drag_outside_idle)
     {
-      impl->shortcuts_drag_outside_idle = g_idle_source_new ();
-      g_source_set_closure (impl->shortcuts_drag_outside_idle,
-                           g_cclosure_new_object (G_CALLBACK (shortcuts_drag_outside_idle_cb),
-                                                  G_OBJECT (impl)));
-      g_source_attach (impl->shortcuts_drag_outside_idle, NULL);
+      impl->shortcuts_drag_outside_idle = add_idle_while_impl_is_alive (impl, G_CALLBACK (shortcuts_drag_outside_idle_cb));
     }
 #endif
 
@@ -8934,6 +8937,37 @@ search_entry_activate_cb (GtkEntry *entry,
   search_start_query (impl, text);
 }
 
+static gboolean
+focus_entry_idle_cb (GtkFileChooserDefault *impl)
+{
+  GDK_THREADS_ENTER ();
+  
+  g_source_destroy (impl->focus_entry_idle);
+  impl->focus_entry_idle = NULL;
+
+  if (impl->search_entry)
+    gtk_widget_grab_focus (impl->search_entry);
+
+  GDK_THREADS_LEAVE ();
+
+  return FALSE;
+}
+
+static void
+focus_search_entry_in_idle (GtkFileChooserDefault *impl)
+{
+  /* bgo#634558 - When the user clicks on the Search entry in the shortcuts
+   * pane, we get a selection-changed signal and we set up the search widgets.
+   * However, gtk_tree_view_button_press() focuses the treeview *after* making
+   * the change to the selection.  So, we need to re-focus the search entry
+   * after the treeview has finished doing its work; we'll do that in an idle
+   * handler.
+   */
+
+  if (!impl->focus_entry_idle)
+    impl->focus_entry_idle = add_idle_while_impl_is_alive (impl, G_CALLBACK (focus_entry_idle_cb));
+}
+
 /* Hides the path bar and creates the search entry */
 static void
 search_setup_widgets (GtkFileChooserDefault *impl)
@@ -9002,7 +9036,7 @@ search_setup_widgets (GtkFileChooserDefault *impl)
       gtk_widget_hide (impl->location_entry_box);
     }
 
-  gtk_widget_grab_focus (impl->search_entry);
+  focus_search_entry_in_idle (impl);
 
   /* FMQ: hide the filter combo? */
 }
@@ -9046,7 +9080,7 @@ search_activate (GtkFileChooserDefault *impl)
   
   if (impl->operation_mode == OPERATION_MODE_SEARCH)
     {
-      gtk_widget_grab_focus (impl->search_entry);
+      focus_search_entry_in_idle (impl);
       return;
     }
 
index 7fc8ec7f060df10a9fb7da4d9f77b7c31c21587c..e414e43d2dc22d7bb146620bd5471926703f1e50 100644 (file)
@@ -272,6 +272,8 @@ struct _GtkFileChooserDefault
   gulong settings_signal_id;
   int icon_size;
 
+  GSource *focus_entry_idle;
+
   gulong toplevel_set_focus_id;
   GtkWidget *toplevel_last_focus_widget;
 
diff --git a/gtk/gtkhruler.c b/gtk/gtkhruler.c
deleted file mode 100644 (file)
index c8893b1..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
- * file for a list of people on the GTK+ Team.  See the ChangeLog
- * files for a list of changes.  These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#include "config.h"
-
-#include "gtkhruler.h"
-#include "gtkorientable.h"
-
-
-G_DEFINE_TYPE (GtkHRuler, gtk_hruler, GTK_TYPE_RULER)
-
-static void
-gtk_hruler_class_init (GtkHRulerClass *klass)
-{
-}
-
-static void
-gtk_hruler_init (GtkHRuler *hruler)
-{
-  gtk_orientable_set_orientation (GTK_ORIENTABLE (hruler),
-                                  GTK_ORIENTATION_HORIZONTAL);
-}
-
-GtkWidget *
-gtk_hruler_new (void)
-{
-  return g_object_new (GTK_TYPE_HRULER, NULL);
-}
diff --git a/gtk/gtkhruler.h b/gtk/gtkhruler.h
deleted file mode 100644 (file)
index d2c876e..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
- * file for a list of people on the GTK+ Team.  See the ChangeLog
- * files for a list of changes.  These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-/*
- * NOTE this widget is considered too specialized/little-used for
- * GTK+, and will in the future be moved to some other package.  If
- * your application needs this widget, feel free to use it, as the
- * widget does work and is useful in some applications; it's just not
- * of general interest. However, we are not accepting new features for
- * the widget, and it will eventually move out of the GTK+
- * distribution.
- */
-
-#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
-#error "Only <gtk/gtk.h> can be included directly."
-#endif
-
-#ifndef __GTK_HRULER_H__
-#define __GTK_HRULER_H__
-
-
-#include <gtk/gtkruler.h>
-
-
-G_BEGIN_DECLS
-
-
-#define GTK_TYPE_HRULER                   (gtk_hruler_get_type ())
-#define GTK_HRULER(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_HRULER, GtkHRuler))
-#define GTK_HRULER_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_HRULER, GtkHRulerClass))
-#define GTK_IS_HRULER(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_HRULER))
-#define GTK_IS_HRULER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_HRULER))
-#define GTK_HRULER_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_HRULER, GtkHRulerClass))
-
-
-typedef struct _GtkHRuler       GtkHRuler;
-typedef struct _GtkHRulerClass  GtkHRulerClass;
-
-struct _GtkHRuler
-{
-  GtkRuler ruler;
-};
-
-struct _GtkHRulerClass
-{
-  GtkRulerClass parent_class;
-};
-
-
-GType      gtk_hruler_get_type (void) G_GNUC_CONST;
-GtkWidget* gtk_hruler_new      (void);
-
-
-G_END_DECLS
-
-
-#endif /* __GTK_HRULER_H__ */
index 743ad5a63d52afe8bed812748b216e03e9cc8581..13998ee1b9c3ab7414c3d4023f3b2d0db4201c5d 100644 (file)
@@ -1469,7 +1469,7 @@ gtk_menu_popup_for_device (GtkMenu             *menu,
   menu_shell = GTK_MENU_SHELL (menu);
   priv = gtk_menu_get_private (menu);
 
-  if (device->source == GDK_SOURCE_KEYBOARD)
+  if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD)
     {
       keyboard = device;
       pointer = gdk_device_get_associated_device (device);
@@ -1760,8 +1760,11 @@ gtk_menu_popdown (GtkMenu *menu)
   
   /* The X Grab, if present, will automatically be removed when we hide
    * the window */
-  gtk_widget_hide (menu->toplevel);
-  gtk_window_set_transient_for (GTK_WINDOW (menu->toplevel), NULL);
+  if (menu->toplevel)
+    {
+      gtk_widget_hide (menu->toplevel);
+      gtk_window_set_transient_for (GTK_WINDOW (menu->toplevel), NULL);
+    }
 
   pointer = _gtk_menu_shell_get_grab_device (menu_shell);
 
index e531de1c13d90c99f58bfd0cafc7e3686f60c589..7b94ce9b25d11b914d95d17cc7c35f2f3352faac 100644 (file)
@@ -153,6 +153,7 @@ static void gtk_menu_shell_get_property      (GObject           *object,
                                               GParamSpec        *pspec);
 static void gtk_menu_shell_realize           (GtkWidget         *widget);
 static void gtk_menu_shell_finalize          (GObject           *object);
+static void gtk_menu_shell_dispose           (GObject           *object);
 static gint gtk_menu_shell_button_press      (GtkWidget         *widget,
                                              GdkEventButton    *event);
 static gint gtk_menu_shell_button_release    (GtkWidget         *widget,
@@ -222,6 +223,7 @@ gtk_menu_shell_class_init (GtkMenuShellClass *klass)
   object_class->set_property = gtk_menu_shell_set_property;
   object_class->get_property = gtk_menu_shell_get_property;
   object_class->finalize = gtk_menu_shell_finalize;
+  object_class->dispose = gtk_menu_shell_dispose;
 
   widget_class->realize = gtk_menu_shell_realize;
   widget_class->button_press_event = gtk_menu_shell_button_press;
@@ -463,6 +465,16 @@ gtk_menu_shell_finalize (GObject *object)
 }
 
 
+static void 
+gtk_menu_shell_dispose (GObject           *object)
+{
+  GtkMenuShell *menu_shell = GTK_MENU_SHELL (object);
+
+  gtk_menu_shell_deactivate (menu_shell);
+
+  G_OBJECT_CLASS (gtk_menu_shell_parent_class)->dispose (object);
+}
+
 void
 gtk_menu_shell_append (GtkMenuShell *menu_shell,
                       GtkWidget    *child)
@@ -1807,7 +1819,7 @@ _gtk_menu_shell_set_grab_device (GtkMenuShell *menu_shell,
 
   if (!device)
     priv->grab_pointer = NULL;
-  else if (device->source == GDK_SOURCE_KEYBOARD)
+  else if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD)
     priv->grab_pointer = gdk_device_get_associated_device (device);
   else
     priv->grab_pointer = device;
index ca7e3e085724c56e8a62d404ef32e2bf222c8913..ca3af73c270ba02a8683ea5dc3f2dd89c1d9f296 100644 (file)
@@ -378,7 +378,7 @@ _gtk_plug_windowing_filter_func (GdkXEvent *gdk_xevent,
           {
             GdkDevice *device = d->data;
 
-            if (device->source == GDK_SOURCE_KEYBOARD)
+            if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD)
               keyboard = device;
           }
 
index f8a19ffe3a4beb0435f3790b430ae68cc4cec170..d3aacabcecdd5141684b55bcc3a832b1eae0b22d 100644 (file)
@@ -663,7 +663,7 @@ gtk_plug_realize (GtkWidget *widget)
 
   attributes_mask = GDK_WA_VISUAL;
   attributes_mask |= (title ? GDK_WA_TITLE : 0);
-  attributes_mask |= (g_strdup (g_get_prgname ()) ? GDK_WA_WMCLASS : 0);
+  attributes_mask |= (wmclass_name ? GDK_WA_WMCLASS : 0);
 
   if (gtk_widget_is_toplevel (widget))
     {
index b412044eb225e5f8fa0b7d44b058f5a0d05c4743..ff607cea56d1c9c4aadd69f8d67423d91177e496 100644 (file)
  */
 
 #include "config.h"
+
+#include "gtkradiobutton.h"
+
+#include "gtkbuttonprivate.h"
 #include "gtklabel.h"
 #include "gtkmarshalers.h"
-#include "gtkradiobutton.h"
 #include "gtkprivate.h"
 #include "gtkintl.h"
 
@@ -209,7 +212,7 @@ gtk_radio_button_init (GtkRadioButton *radio_button)
 
   _gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio_button), TRUE);
 
-  GTK_BUTTON (radio_button)->depress_on_activate = FALSE;
+  GTK_BUTTON (radio_button)->priv->depress_on_activate = FALSE;
 
   priv->group = g_slist_prepend (NULL, radio_button);
 
@@ -400,7 +403,8 @@ gtk_radio_button_join_group (GtkRadioButton *radio_button,
 
 /**
  * gtk_radio_button_new:
- * @group: an existing radio button group, or %NULL if you are creating a new group.
+ * @group: (allow-none): an existing radio button group, or %NULL if you are
+ *  creating a new group.
  *
  * Creates a new #GtkRadioButton. To be of any practical value, a widget should
  * then be packed into the radio button.
@@ -422,8 +426,8 @@ gtk_radio_button_new (GSList *group)
 
 /**
  * gtk_radio_button_new_with_label:
- * @group: an existing radio button group, or %NULL if you are creating a new
- *  group.
+ * @group: (allow-none): an existing radio button group, or %NULL if you are
+ *  creating a new group.
  * @label: the text label to display next to the radio button.
  *
  * Creates a new #GtkRadioButton with a text label.
@@ -447,7 +451,7 @@ gtk_radio_button_new_with_label (GSList      *group,
 
 /**
  * gtk_radio_button_new_with_mnemonic:
- * @group: the radio button group
+ * @group: (allow-none): the radio button group
  * @label: the text of the button, with an underscore in front of the
  *         mnemonic character
  *
@@ -477,7 +481,7 @@ gtk_radio_button_new_with_mnemonic (GSList      *group,
 
 /**
  * gtk_radio_button_new_from_widget:
- * @radio_group_member: an existing #GtkRadioButton.
+ * @radio_group_member: (allow-none): an existing #GtkRadioButton.
  *
  * Creates a new #GtkRadioButton, adding it to the same group as
  * @radio_group_member. As with gtk_radio_button_new(), a widget
@@ -496,7 +500,7 @@ gtk_radio_button_new_from_widget (GtkRadioButton *radio_group_member)
 
 /**
  * gtk_radio_button_new_with_label_from_widget:
- * @radio_group_member: widget to get radio group from or %NULL
+ * @radio_group_member: (allow-none): widget to get radio group from or %NULL
  * @label: a text string to display next to the radio button.
  *
  * Creates a new #GtkRadioButton with a text label, adding it to
@@ -814,14 +818,14 @@ gtk_radio_button_clicked (GtkButton *button)
 
       if (!tmp_button)
        {
-         new_state = (button->in_button ? GTK_STATE_PRELIGHT : GTK_STATE_ACTIVE);
+         new_state = (button->priv->in_button ? GTK_STATE_PRELIGHT : GTK_STATE_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);
+         new_state = (button->priv->in_button ? GTK_STATE_PRELIGHT : GTK_STATE_NORMAL);
        }
     }
   else
@@ -843,12 +847,12 @@ gtk_radio_button_clicked (GtkButton *button)
            }
        }
 
-      new_state = (button->in_button ? GTK_STATE_PRELIGHT : GTK_STATE_ACTIVE);
+      new_state = (button->priv->in_button ? GTK_STATE_PRELIGHT : GTK_STATE_ACTIVE);
     }
 
   if (gtk_toggle_button_get_inconsistent (toggle_button))
     depressed = FALSE;
-  else if (button->in_button && button->button_down)
+  else if (button->priv->in_button && button->priv->button_down)
     depressed = !gtk_toggle_button_get_active (toggle_button);
   else
     depressed = gtk_toggle_button_get_active (toggle_button);
@@ -923,9 +927,9 @@ gtk_radio_button_draw_indicator (GtkCheckButton *check_button,
   else
     shadow_type = GTK_SHADOW_OUT;
 
-  if (button->activate_timeout || (button->button_down && button->in_button))
+  if (button->priv->activate_timeout || (button->priv->button_down && button->priv->in_button))
     state_type = GTK_STATE_ACTIVE;
-  else if (button->in_button)
+  else if (button->priv->in_button)
     state_type = GTK_STATE_PRELIGHT;
   else if (!gtk_widget_is_sensitive (widget))
     state_type = GTK_STATE_INSENSITIVE;
diff --git a/gtk/gtkruler.c b/gtk/gtkruler.c
deleted file mode 100644 (file)
index a0c5dfe..0000000
+++ /dev/null
@@ -1,959 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
- * file for a list of people on the GTK+ Team.  See the ChangeLog
- * files for a list of changes.  These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#include "config.h"
-
-#include <math.h>
-#include <string.h>
-
-#include "gtkorientable.h"
-#include "gtkruler.h"
-#include "gtktypeutils.h"
-#include "gtkprivate.h"
-#include "gtkintl.h"
-
-#define RULER_WIDTH           14
-#define MINIMUM_INCR          5
-#define MAXIMUM_SUBDIVIDE     5
-#define MAXIMUM_SCALES        10
-
-#define ROUND(x) ((int) ((x) + 0.5))
-
-struct _GtkRulerPrivate
-{
-  GtkOrientation        orientation;
-  GtkRulerMetric       *metric;
-
-  cairo_surface_t      *backing_store;
-
-  gint                  slider_size;
-  gint                  xsrc;
-  gint                  ysrc;
-
-  gdouble               lower;          /* The upper limit of the ruler (in points) */
-  gdouble               max_size;       /* The maximum size of the ruler */
-  gdouble               position;       /* The position of the mark on the ruler */
-  gdouble               upper;          /* The lower limit of the ruler */
-};
-
-enum {
-  PROP_0,
-  PROP_ORIENTATION,
-  PROP_LOWER,
-  PROP_UPPER,
-  PROP_POSITION,
-  PROP_MAX_SIZE,
-  PROP_METRIC
-};
-
-
-static void     gtk_ruler_set_property    (GObject        *object,
-                                           guint            prop_id,
-                                           const GValue   *value,
-                                           GParamSpec     *pspec);
-static void     gtk_ruler_get_property    (GObject        *object,
-                                           guint           prop_id,
-                                           GValue         *value,
-                                           GParamSpec     *pspec);
-static void     gtk_ruler_realize         (GtkWidget      *widget);
-static void     gtk_ruler_unrealize       (GtkWidget      *widget);
-static void     gtk_ruler_get_preferred_width
-                                          (GtkWidget      *widget,
-                                           gint           *minimum,
-                                           gint           *natural);
-static void     gtk_ruler_get_preferred_height
-                                          (GtkWidget        *widget,
-                                           gint             *minimum,
-                                           gint             *natural);
-static void     gtk_ruler_size_allocate   (GtkWidget      *widget,
-                                           GtkAllocation  *allocation);
-static gboolean gtk_ruler_motion_notify   (GtkWidget      *widget,
-                                           GdkEventMotion *event);
-static gboolean gtk_ruler_draw            (GtkWidget      *widget,
-                                           cairo_t        *cr);
-static void     gtk_ruler_make_pixmap     (GtkRuler       *ruler);
-static void     gtk_ruler_draw_ticks      (GtkRuler       *ruler);
-static void     gtk_ruler_real_draw_ticks (GtkRuler       *ruler,
-                                           cairo_t        *cr);
-static void     gtk_ruler_real_draw_pos   (GtkRuler       *ruler,
-                                           cairo_t        *cr);
-
-
-static const GtkRulerMetric ruler_metrics[] =
-{
-  { "Pixel", "Pi", 1.0, { 1, 2, 5, 10, 25, 50, 100, 250, 500, 1000 }, { 1, 5, 10, 50, 100 }},
-  { "Inches", "In", 72.0, { 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 }, { 1, 2, 4, 8, 16 }},
-  { "Centimeters", "Cn", 28.35, { 1, 2, 5, 10, 25, 50, 100, 250, 500, 1000 }, { 1, 5, 10, 50, 100 }},
-};
-
-
-G_DEFINE_TYPE_WITH_CODE (GtkRuler, gtk_ruler, GTK_TYPE_WIDGET,
-                         G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE,
-                                                NULL))
-
-
-static void
-gtk_ruler_class_init (GtkRulerClass *class)
-{
-  GObjectClass   *gobject_class = G_OBJECT_CLASS (class);
-  GtkWidgetClass *widget_class  = GTK_WIDGET_CLASS (class);
-
-  gobject_class->set_property = gtk_ruler_set_property;
-  gobject_class->get_property = gtk_ruler_get_property;
-
-  widget_class->realize = gtk_ruler_realize;
-  widget_class->unrealize = gtk_ruler_unrealize;
-  widget_class->get_preferred_width = gtk_ruler_get_preferred_width;
-  widget_class->get_preferred_height = gtk_ruler_get_preferred_height;
-  widget_class->size_allocate = gtk_ruler_size_allocate;
-  widget_class->motion_notify_event = gtk_ruler_motion_notify;
-  widget_class->draw = gtk_ruler_draw;
-
-  class->draw_ticks = gtk_ruler_real_draw_ticks;
-  class->draw_pos = gtk_ruler_real_draw_pos;
-
-  g_object_class_override_property (gobject_class, PROP_ORIENTATION, "orientation");
-
-  g_object_class_install_property (gobject_class,
-                                   PROP_LOWER,
-                                   g_param_spec_double ("lower",
-                                                       P_("Lower"),
-                                                       P_("Lower limit of ruler"),
-                                                       -G_MAXDOUBLE,
-                                                       G_MAXDOUBLE,
-                                                       0.0,
-                                                       GTK_PARAM_READWRITE));  
-
-  g_object_class_install_property (gobject_class,
-                                   PROP_UPPER,
-                                   g_param_spec_double ("upper",
-                                                       P_("Upper"),
-                                                       P_("Upper limit of ruler"),
-                                                       -G_MAXDOUBLE,
-                                                       G_MAXDOUBLE,
-                                                       0.0,
-                                                       GTK_PARAM_READWRITE));  
-
-  g_object_class_install_property (gobject_class,
-                                   PROP_POSITION,
-                                   g_param_spec_double ("position",
-                                                       P_("Position"),
-                                                       P_("Position of mark on the ruler"),
-                                                       -G_MAXDOUBLE,
-                                                       G_MAXDOUBLE,
-                                                       0.0,
-                                                       GTK_PARAM_READWRITE));  
-
-  g_object_class_install_property (gobject_class,
-                                   PROP_MAX_SIZE,
-                                   g_param_spec_double ("max-size",
-                                                       P_("Max Size"),
-                                                       P_("Maximum size of the ruler"),
-                                                       -G_MAXDOUBLE,
-                                                       G_MAXDOUBLE,
-                                                       0.0,
-                                                       GTK_PARAM_READWRITE));  
-  /**
-   * GtkRuler:metric:
-   *
-   * The metric used for the ruler.
-   *
-   * Since: 2.8
-   */
-  g_object_class_install_property (gobject_class,
-                                   PROP_METRIC,
-                                   g_param_spec_enum ("metric",
-                                                     P_("Metric"),
-                                                     P_("The metric used for the ruler"),
-                                                     GTK_TYPE_METRIC_TYPE, 
-                                                     GTK_PIXELS,
-                                                     GTK_PARAM_READWRITE));  
-
-  g_type_class_add_private (gobject_class, sizeof (GtkRulerPrivate));
-}
-
-static void
-gtk_ruler_init (GtkRuler *ruler)
-{
-  GtkRulerPrivate *priv;
-
-  ruler->priv = G_TYPE_INSTANCE_GET_PRIVATE (ruler,
-                                             GTK_TYPE_RULER,
-                                             GtkRulerPrivate);
-  priv = ruler->priv;
-
-  priv->orientation = GTK_ORIENTATION_HORIZONTAL;
-
-  priv->backing_store = NULL;
-  priv->xsrc = 0;
-  priv->ysrc = 0;
-  priv->slider_size = 0;
-  priv->lower = 0;
-  priv->upper = 0;
-  priv->position = 0;
-  priv->max_size = 0;
-
-  gtk_ruler_set_metric (ruler, GTK_PIXELS);
-}
-
-static void
-gtk_ruler_set_property (GObject      *object,
-                       guint         prop_id,
-                       const GValue *value,
-                       GParamSpec   *pspec)
-{
-  GtkRuler *ruler = GTK_RULER (object);
-  GtkRulerPrivate *priv = ruler->priv;
-
-  switch (prop_id)
-    {
-    case PROP_ORIENTATION:
-      priv->orientation = g_value_get_enum (value);
-      gtk_widget_queue_resize (GTK_WIDGET (ruler));
-      break;
-    case PROP_LOWER:
-      gtk_ruler_set_range (ruler, g_value_get_double (value), priv->upper,
-                           priv->position, priv->max_size);
-      break;
-    case PROP_UPPER:
-      gtk_ruler_set_range (ruler, priv->lower, g_value_get_double (value),
-                           priv->position, priv->max_size);
-      break;
-    case PROP_POSITION:
-      gtk_ruler_set_range (ruler, priv->lower, priv->upper,
-                           g_value_get_double (value), priv->max_size);
-      break;
-    case PROP_MAX_SIZE:
-      gtk_ruler_set_range (ruler, priv->lower, priv->upper,
-                           priv->position,  g_value_get_double (value));
-      break;
-    case PROP_METRIC:
-      gtk_ruler_set_metric (ruler, g_value_get_enum (value));
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-    }
-}
-
-static void
-gtk_ruler_get_property (GObject      *object,
-                       guint         prop_id,
-                       GValue       *value,
-                       GParamSpec   *pspec)
-{
-  GtkRuler *ruler = GTK_RULER (object);
-  GtkRulerPrivate *priv = ruler->priv;
-
-  switch (prop_id)
-    {
-    case PROP_ORIENTATION:
-      g_value_set_enum (value, priv->orientation);
-      break;
-    case PROP_LOWER:
-      g_value_set_double (value, priv->lower);
-      break;
-    case PROP_UPPER:
-      g_value_set_double (value, priv->upper);
-      break;
-    case PROP_POSITION:
-      g_value_set_double (value, priv->position);
-      break;
-    case PROP_MAX_SIZE:
-      g_value_set_double (value, priv->max_size);
-      break;
-    case PROP_METRIC:
-      g_value_set_enum (value, gtk_ruler_get_metric (ruler));
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-    }
-}
-
-/**
- * gtk_ruler_new:
- * @orientation: the ruler's orientation.
- *
- * Creates a new #GtkRuler with the given orientation.
- *
- * Return value: a new #GtkRuler.
- *
- * Since: 3.0
- **/
-GtkWidget *
-gtk_ruler_new (GtkOrientation orientation)
-{
-  return g_object_new (GTK_TYPE_RULER,
-                       "orientation", orientation,
-                       NULL);
-}
-
-/**
- * gtk_ruler_invalidate_ticks:
- * @ruler: the ruler to invalidate
- *
- * For performance reasons, #GtkRuler keeps a backbuffer containing the
- * prerendered contents of the ticks. To cause a repaint this buffer,
- * call this function instead of gtk_widget_queue_draw().
- **/
-static void
-gtk_ruler_invalidate_ticks (GtkRuler *ruler)
-{
-  g_return_if_fail (GTK_IS_RULER (ruler));
-
-  if (ruler->priv->backing_store == NULL)
-    return;
-
-  gtk_ruler_draw_ticks (ruler);
-  gtk_widget_queue_draw (GTK_WIDGET (ruler));
-}
-
-void
-gtk_ruler_set_metric (GtkRuler      *ruler,
-                     GtkMetricType  metric)
-{
-  GtkRulerPrivate *priv;
-
-  g_return_if_fail (GTK_IS_RULER (ruler));
-
-  priv = ruler->priv;
-
-  priv->metric = (GtkRulerMetric *) &ruler_metrics[metric];
-
-  g_object_notify (G_OBJECT (ruler), "metric");
-
-  gtk_ruler_invalidate_ticks (ruler);
-}
-
-/**
- * gtk_ruler_get_metric:
- * @ruler: a #GtkRuler
- *
- * Gets the units used for a #GtkRuler. See gtk_ruler_set_metric().
- *
- * Return value: the units currently used for @ruler
- **/
-GtkMetricType
-gtk_ruler_get_metric (GtkRuler *ruler)
-{
-  GtkRulerPrivate *priv;
-  gint i;
-
-  g_return_val_if_fail (GTK_IS_RULER (ruler), 0);
-
-  priv = ruler->priv;
-
-  for (i = 0; i < G_N_ELEMENTS (ruler_metrics); i++)
-    if (priv->metric == &ruler_metrics[i])
-      return i;
-
-  g_assert_not_reached ();
-
-  return 0;
-}
-
-/**
- * gtk_ruler_set_range:
- * @ruler: the gtkruler
- * @lower: the lower limit of the ruler
- * @upper: the upper limit of the ruler
- * @position: the mark on the ruler
- * @max_size: the maximum size of the ruler used when calculating the space to
- * leave for the text
- *
- * This sets the range of the ruler. 
- */
-void
-gtk_ruler_set_range (GtkRuler *ruler,
-                    gdouble   lower,
-                    gdouble   upper,
-                    gdouble   position,
-                    gdouble   max_size)
-{
-  GtkRulerPrivate *priv;
-
-  g_return_if_fail (GTK_IS_RULER (ruler));
-
-  priv = ruler->priv;
-
-  g_object_freeze_notify (G_OBJECT (ruler));
-  if (priv->lower != lower)
-    {
-      priv->lower = lower;
-      g_object_notify (G_OBJECT (ruler), "lower");
-    }
-  if (priv->upper != upper)
-    {
-      priv->upper = upper;
-      g_object_notify (G_OBJECT (ruler), "upper");
-    }
-  if (priv->position != position)
-    {
-      priv->position = position;
-      g_object_notify (G_OBJECT (ruler), "position");
-    }
-  if (priv->max_size != max_size)
-    {
-      priv->max_size = max_size;
-      g_object_notify (G_OBJECT (ruler), "max-size");
-    }
-  g_object_thaw_notify (G_OBJECT (ruler));
-
-  gtk_ruler_invalidate_ticks (ruler);
-}
-
-/**
- * gtk_ruler_get_range:
- * @ruler: a #GtkRuler
- * @lower: (allow-none): location to store lower limit of the ruler, or %NULL
- * @upper: (allow-none): location to store upper limit of the ruler, or %NULL
- * @position: (allow-none): location to store the current position of the mark on the ruler, or %NULL
- * @max_size: location to store the maximum size of the ruler used when calculating
- *            the space to leave for the text, or %NULL.
- *
- * Retrieves values indicating the range and current position of a #GtkRuler.
- * See gtk_ruler_set_range().
- **/
-void
-gtk_ruler_get_range (GtkRuler *ruler,
-                    gdouble  *lower,
-                    gdouble  *upper,
-                    gdouble  *position,
-                    gdouble  *max_size)
-{
-  GtkRulerPrivate *priv;
-
-  g_return_if_fail (GTK_IS_RULER (ruler));
-
-  priv = ruler->priv;
-
-  if (lower)
-    *lower = priv->lower;
-  if (upper)
-    *upper = priv->upper;
-  if (position)
-    *position = priv->position;
-  if (max_size)
-    *max_size = priv->max_size;
-}
-
-static void
-gtk_ruler_draw_ticks (GtkRuler *ruler)
-{
-  GtkRulerPrivate *priv = ruler->priv;
-  cairo_t *cr;
-
-  g_return_if_fail (GTK_IS_RULER (ruler));
-
-  if (priv->backing_store == NULL)
-    return;
-  
-  cr = cairo_create (priv->backing_store);
-
-  if (GTK_RULER_GET_CLASS (ruler)->draw_ticks)
-    GTK_RULER_GET_CLASS (ruler)->draw_ticks (ruler, cr);
-
-  cairo_destroy (cr);
-}
-
-static void
-gtk_ruler_realize (GtkWidget *widget)
-{
-  GtkAllocation allocation;
-  GtkRuler *ruler;
-  GdkWindow *window;
-  GdkWindowAttr attributes;
-  gint attributes_mask;
-
-  ruler = GTK_RULER (widget);
-
-  gtk_widget_set_realized (widget, TRUE);
-
-  gtk_widget_get_allocation (widget, &allocation);
-
-  attributes.window_type = GDK_WINDOW_CHILD;
-  attributes.x = allocation.x;
-  attributes.y = allocation.y;
-  attributes.width = allocation.width;
-  attributes.height = allocation.height;
-  attributes.wclass = GDK_INPUT_OUTPUT;
-  attributes.visual = gtk_widget_get_visual (widget);
-  attributes.event_mask = gtk_widget_get_events (widget);
-  attributes.event_mask |= (GDK_EXPOSURE_MASK |
-                           GDK_POINTER_MOTION_MASK |
-                           GDK_POINTER_MOTION_HINT_MASK);
-
-  attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL;
-
-  window = gdk_window_new (gtk_widget_get_parent_window (widget),
-                           &attributes, attributes_mask);
-  gtk_widget_set_window (widget, window);
-  gdk_window_set_user_data (window, ruler);
-
-  gtk_widget_style_attach (widget);
-  gtk_style_set_background (gtk_widget_get_style (widget),
-                            window, GTK_STATE_ACTIVE);
-
-  gtk_ruler_make_pixmap (ruler);
-}
-
-static void
-gtk_ruler_unrealize (GtkWidget *widget)
-{
-  GtkRuler *ruler = GTK_RULER (widget);
-  GtkRulerPrivate *priv = ruler->priv;
-
-  if (priv->backing_store)
-    {
-      cairo_surface_destroy (priv->backing_store);
-      priv->backing_store = NULL;
-    }
-
-  GTK_WIDGET_CLASS (gtk_ruler_parent_class)->unrealize (widget);
-}
-
-static void
-gtk_ruler_get_preferred_size (GtkWidget      *widget,
-                              GtkOrientation  orientation,
-                              gint           *minimum,
-                              gint           *natural)
-{
-  GtkRuler *ruler = GTK_RULER (widget);
-  GtkRulerPrivate *priv = ruler->priv;
-  GtkStyle *style;
-  gint thickness;
-
-  style = gtk_widget_get_style (widget);
-
-  if (orientation == GTK_ORIENTATION_HORIZONTAL)
-    thickness = style->xthickness;
-  else
-    thickness = style->ythickness;
-
-  if (priv->orientation == orientation)
-    *minimum = *natural = thickness * 2 + 1;
-  else
-    *minimum = *natural = thickness * 2 + RULER_WIDTH;
-}
-
-static void
-gtk_ruler_get_preferred_width (GtkWidget *widget,
-                               gint      *minimum,
-                               gint      *natural)
-{
-  gtk_ruler_get_preferred_size (widget, GTK_ORIENTATION_HORIZONTAL, minimum, natural);
-}
-
-static void
-gtk_ruler_get_preferred_height (GtkWidget *widget,
-                               gint      *minimum,
-                               gint      *natural)
-{
-  gtk_ruler_get_preferred_size (widget, GTK_ORIENTATION_VERTICAL, minimum, natural);
-}
-
-static void
-gtk_ruler_size_allocate (GtkWidget     *widget,
-                        GtkAllocation *allocation)
-{
-  GtkRuler *ruler = GTK_RULER (widget);
-  GtkAllocation old_allocation;
-  gboolean resized;
-
-  gtk_widget_get_allocation (widget, &old_allocation);
-  resized = (old_allocation.width != allocation->width ||
-             old_allocation.height != allocation->height);
-
-  gtk_widget_set_allocation (widget, allocation);
-
-  if (gtk_widget_get_realized (widget))
-    {
-      gdk_window_move_resize (gtk_widget_get_window (widget),
-                             allocation->x, allocation->y,
-                             allocation->width, allocation->height);
-
-      if (resized)
-        gtk_ruler_make_pixmap (ruler);
-    }
-}
-
-static gboolean
-gtk_ruler_motion_notify (GtkWidget      *widget,
-                         GdkEventMotion *event)
-{
-  GtkAllocation allocation;
-  GtkRuler *ruler = GTK_RULER (widget);
-  GtkRulerPrivate *priv = ruler->priv;
-  gint x;
-  gint y;
-
-  gdk_event_request_motions (event);
-  x = event->x;
-  y = event->y;
-
-  gtk_widget_get_allocation (widget, &allocation);
-  if (priv->orientation == GTK_ORIENTATION_HORIZONTAL)
-    priv->position = priv->lower + ((priv->upper - priv->lower) * x) / allocation.width;
-  else
-    priv->position = priv->lower + ((priv->upper - priv->lower) * y) / allocation.height;
-
-  g_object_notify (G_OBJECT (ruler), "position");
-
-  gtk_widget_queue_draw (widget);
-
-  return FALSE;
-}
-
-static gboolean
-gtk_ruler_draw (GtkWidget *widget,
-                cairo_t   *cr)
-{
-  GtkRuler *ruler = GTK_RULER (widget);
-  GtkRulerPrivate *priv = ruler->priv;
-
-  cairo_set_source_surface (cr, priv->backing_store, 0, 0);
-  cairo_paint (cr);
-  
-  if (GTK_RULER_GET_CLASS (ruler)->draw_pos)
-     GTK_RULER_GET_CLASS (ruler)->draw_pos (ruler, cr);
-
-  return FALSE;
-}
-
-static void
-gtk_ruler_make_pixmap (GtkRuler *ruler)
-{
-  GtkRulerPrivate *priv = ruler->priv;
-  GtkAllocation allocation;
-  GtkWidget *widget;
-
-  widget = GTK_WIDGET (ruler);
-
-  gtk_widget_get_allocation (widget, &allocation);
-
-  if (priv->backing_store)
-    cairo_surface_destroy (priv->backing_store);
-
-  priv->backing_store = gdk_window_create_similar_surface (gtk_widget_get_window (widget),
-                                                           CAIRO_CONTENT_COLOR,
-                                                           allocation.width,
-                                                           allocation.height);
-
-  priv->xsrc = 0;
-  priv->ysrc = 0;
-
-  gtk_ruler_draw_ticks (ruler);
-}
-
-static void
-gtk_ruler_real_draw_ticks (GtkRuler *ruler,
-                           cairo_t  *cr)
-{
-  GtkWidget *widget = GTK_WIDGET (ruler);
-  GtkRulerPrivate *priv = ruler->priv;
-  GtkStyle *style;
-  gint i, j;
-  gint w, h;
-  gint width, height;
-  gint xthickness;
-  gint ythickness;
-  gint length, ideal_length;
-  gdouble lower, upper;                /* Upper and lower limits, in ruler units */
-  gdouble increment;           /* Number of pixels per unit */
-  gint scale;                  /* Number of units per major unit */
-  gdouble subd_incr;
-  gdouble start, end, cur;
-  gchar unit_str[32];
-  gint digit_height;
-  gint digit_offset;
-  gint text_width;
-  gint text_height;
-  gint pos;
-  PangoLayout *layout;
-  PangoRectangle logical_rect, ink_rect;
-
-  style = gtk_widget_get_style (widget);
-
-  xthickness = style->xthickness;
-  ythickness = style->ythickness;
-
-  layout = gtk_widget_create_pango_layout (widget, "012456789");
-  pango_layout_get_extents (layout, &ink_rect, &logical_rect);
-
-  digit_height = PANGO_PIXELS (ink_rect.height) + 2;
-  digit_offset = ink_rect.y;
-
-  w = gtk_widget_get_allocated_width (widget);
-  h = gtk_widget_get_allocated_height (widget);
-
-  if (priv->orientation == GTK_ORIENTATION_HORIZONTAL)
-    {
-      width = w;
-      height = h - ythickness * 2;
-    }
-  else
-    {
-      width = h;
-      height = w - ythickness * 2;
-    }
-
-#define DETAILE(private) (priv->orientation == GTK_ORIENTATION_HORIZONTAL ? "hruler" : "vruler");
-
-  gdk_cairo_set_source_color (cr, &style->fg[gtk_widget_get_state (widget)]);
-
-  gtk_paint_box (style, cr,
-                       GTK_STATE_NORMAL, GTK_SHADOW_OUT,
-                       widget,
-                       priv->orientation == GTK_ORIENTATION_HORIZONTAL ?
-                       "hruler" : "vruler",
-                       0, 0,
-                       w, h);
-
-  if (priv->orientation == GTK_ORIENTATION_HORIZONTAL)
-    {
-      cairo_rectangle (cr,
-                       xthickness,
-                       height + ythickness,
-                       w - 2 * xthickness,
-                       1);
-    }
-  else
-    {
-      cairo_rectangle (cr,
-                       height + xthickness,
-                       ythickness,
-                       1,
-                       h - 2 * ythickness);
-    }
-
-  upper = priv->upper / priv->metric->pixels_per_unit;
-  lower = priv->lower / priv->metric->pixels_per_unit;
-
-  if ((upper - lower) == 0)
-    goto out;
-
-  increment = (gdouble) width / (upper - lower);
-
-  /* determine the scale H
-   *  We calculate the text size as for the vruler, so that the result
-   *  for the scale looks consistent with an accompanying vruler
-   */
-  /* determine the scale V
-   *   use the maximum extents of the ruler to determine the largest
-   *   possible number to be displayed.  Calculate the height in pixels
-   *   of this displayed text. Use this height to find a scale which
-   *   leaves sufficient room for drawing the ruler.
-   */
-  scale = ceil (priv->max_size / priv->metric->pixels_per_unit);
-  g_snprintf (unit_str, sizeof (unit_str), "%d", scale);
-
-  if (priv->orientation == GTK_ORIENTATION_HORIZONTAL)
-    {
-      text_width = strlen (unit_str) * digit_height + 1;
-
-      for (scale = 0; scale < MAXIMUM_SCALES; scale++)
-        if (priv->metric->ruler_scale[scale] * fabs(increment) > 2 * text_width)
-          break;
-    }
-  else
-    {
-      text_height = strlen (unit_str) * digit_height + 1;
-
-      for (scale = 0; scale < MAXIMUM_SCALES; scale++)
-        if (priv->metric->ruler_scale[scale] * fabs(increment) > 2 * text_height)
-          break;
-    }
-
-  if (scale == MAXIMUM_SCALES)
-    scale = MAXIMUM_SCALES - 1;
-
-  /* drawing starts here */
-  length = 0;
-  for (i = MAXIMUM_SUBDIVIDE - 1; i >= 0; i--)
-    {
-      subd_incr = (gdouble) priv->metric->ruler_scale[scale] /
-                 (gdouble) priv->metric->subdivide[i];
-      if (subd_incr * fabs(increment) <= MINIMUM_INCR)
-       continue;
-
-      /* Calculate the length of the tickmarks. Make sure that
-       * this length increases for each set of ticks
-       */
-      ideal_length = height / (i + 1) - 1;
-      if (ideal_length > ++length)
-       length = ideal_length;
-
-      if (lower < upper)
-       {
-         start = floor (lower / subd_incr) * subd_incr;
-         end   = ceil  (upper / subd_incr) * subd_incr;
-       }
-      else
-       {
-         start = floor (upper / subd_incr) * subd_incr;
-         end   = ceil  (lower / subd_incr) * subd_incr;
-       }
-
-      for (cur = start; cur <= end; cur += subd_incr)
-       {
-         pos = ROUND ((cur - lower) * increment);
-
-          if (priv->orientation == GTK_ORIENTATION_HORIZONTAL)
-            {
-              cairo_rectangle (cr,
-                               pos, height + ythickness - length,
-                               1,   length);
-            }
-          else
-            {
-              cairo_rectangle (cr,
-                               height + xthickness - length, pos,
-                               length,                       1);
-            }
-          cairo_fill (cr);
-
-         /* draw label */
-         if (i == 0)
-           {
-             g_snprintf (unit_str, sizeof (unit_str), "%d", (int) cur);
-
-              if (priv->orientation == GTK_ORIENTATION_HORIZONTAL)
-                {
-                  pango_layout_set_text (layout, unit_str, -1);
-                  pango_layout_get_extents (layout, &logical_rect, NULL);
-
-                  gtk_paint_layout (style,
-                                          cr,
-                                          gtk_widget_get_state (widget),
-                                          FALSE,
-                                          widget,
-                                          "hruler",
-                                          pos + 2, ythickness + PANGO_PIXELS (logical_rect.y - digit_offset),
-                                          layout);
-                }
-              else
-                {
-                  for (j = 0; j < (int) strlen (unit_str); j++)
-                    {
-                      pango_layout_set_text (layout, unit_str + j, 1);
-                      pango_layout_get_extents (layout, NULL, &logical_rect);
-
-                      gtk_paint_layout (style,
-                                              cr,
-                                              gtk_widget_get_state (widget),
-                                              FALSE,
-                                              widget,
-                                              "vruler",
-                                              xthickness + 1,
-                                              pos + digit_height * j + 2 + PANGO_PIXELS (logical_rect.y - digit_offset),
-                                              layout);
-                    }
-                }
-           }
-       }
-    }
-
-  cairo_fill (cr);
-
-out:
-  g_object_unref (layout);
-}
-
-static void
-gtk_ruler_real_draw_pos (GtkRuler *ruler,
-                         cairo_t  *cr)
-{
-  GtkWidget *widget = GTK_WIDGET (ruler);
-  GtkRulerPrivate *priv = ruler->priv;
-  GtkStyle *style;
-  gint x, y, width, height;
-  gint bs_width, bs_height;
-  gint xthickness;
-  gint ythickness;
-  gdouble increment;
-
-  style = gtk_widget_get_style (widget);
-  xthickness = style->xthickness;
-  ythickness = style->ythickness;
-  width = gtk_widget_get_allocated_width (widget);
-  height = gtk_widget_get_allocated_height (widget);
-
-  if (priv->orientation == GTK_ORIENTATION_HORIZONTAL)
-    {
-      height -= ythickness * 2;
-
-      bs_width = height / 2 + 2;
-      bs_width |= 1;  /* make sure it's odd */
-      bs_height = bs_width / 2 + 1;
-    }
-  else
-    {
-      width -= xthickness * 2;
-
-      bs_height = width / 2 + 2;
-      bs_height |= 1;  /* make sure it's odd */
-      bs_width = bs_height / 2 + 1;
-    }
-
-  if ((bs_width > 0) && (bs_height > 0))
-    {
-      if (priv->orientation == GTK_ORIENTATION_HORIZONTAL)
-        {
-          increment = (gdouble) width / (priv->upper - priv->lower);
-
-          x = ROUND ((priv->position - priv->lower) * increment) + (xthickness - bs_width) / 2 - 1;
-          y = (height + bs_height) / 2 + ythickness;
-        }
-      else
-        {
-          increment = (gdouble) height / (priv->upper - priv->lower);
-
-          x = (width + bs_width) / 2 + xthickness;
-          y = ROUND ((priv->position - priv->lower) * increment) + (ythickness - bs_height) / 2 - 1;
-        }
-
-      gdk_cairo_set_source_color (cr, &style->fg[gtk_widget_get_state (widget)]);
-
-      cairo_move_to (cr, x, y);
-
-      if (priv->orientation == GTK_ORIENTATION_HORIZONTAL)
-        {
-          cairo_line_to (cr, x + bs_width / 2.0, y + bs_height);
-          cairo_line_to (cr, x + bs_width,       y);
-        }
-      else
-        {
-          cairo_line_to (cr, x + bs_width, y + bs_height / 2.0);
-          cairo_line_to (cr, x,            y + bs_height);
-        }
-
-      cairo_fill (cr);
-
-      priv->xsrc = x;
-      priv->ysrc = y;
-    }
-}
diff --git a/gtk/gtkruler.h b/gtk/gtkruler.h
deleted file mode 100644 (file)
index 491748c..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
- * file for a list of people on the GTK+ Team.  See the ChangeLog
- * files for a list of changes.  These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-/*
- * NOTE this widget is considered too specialized/little-used for
- * GTK+, and will in the future be moved to some other package.  If
- * your application needs this widget, feel free to use it, as the
- * widget does work and is useful in some applications; it's just not
- * of general interest. However, we are not accepting new features for
- * the widget, and it will eventually move out of the GTK+
- * distribution.
- */
-
-#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
-#error "Only <gtk/gtk.h> can be included directly."
-#endif
-
-#ifndef __GTK_RULER_H__
-#define __GTK_RULER_H__
-
-
-#include <gtk/gtkwidget.h>
-
-
-G_BEGIN_DECLS
-
-#define GTK_TYPE_RULER            (gtk_ruler_get_type ())
-#define GTK_RULER(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_RULER, GtkRuler))
-#define GTK_RULER_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_RULER, GtkRulerClass))
-#define GTK_IS_RULER(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_RULER))
-#define GTK_IS_RULER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_RULER))
-#define GTK_RULER_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_RULER, GtkRulerClass))
-
-
-typedef struct _GtkRuler              GtkRuler;
-typedef struct _GtkRulerPrivate       GtkRulerPrivate;
-typedef struct _GtkRulerClass         GtkRulerClass;
-typedef struct _GtkRulerMetric        GtkRulerMetric;
-
-/* All distances below are in 1/72nd's of an inch. (According to
- * Adobe that's a point, but points are really 1/72.27 in.)
- */
-struct _GtkRuler
-{
-  GtkWidget widget;
-
-  /*< private >*/
-  GtkRulerPrivate *priv;
-};
-
-struct _GtkRulerClass
-{
-  GtkWidgetClass parent_class;
-
-  void (* draw_ticks) (GtkRuler *ruler,
-                       cairo_t  *cr);
-  void (* draw_pos)   (GtkRuler *ruler,
-                       cairo_t  *cr);
-
-  /* Padding for future expansion */
-  void (*_gtk_reserved1) (void);
-  void (*_gtk_reserved2) (void);
-  void (*_gtk_reserved3) (void);
-  void (*_gtk_reserved4) (void);
-};
-
-struct _GtkRulerMetric
-{
-  gchar *metric_name;
-  gchar *abbrev;
-  /* This should be points_per_unit. This is the size of the unit
-   * in 1/72nd's of an inch and has nothing to do with screen pixels */
-  gdouble pixels_per_unit;
-  gdouble ruler_scale[10];
-  gint subdivide[5];        /* five possible modes of subdivision */
-};
-
-
-GType           gtk_ruler_get_type   (void) G_GNUC_CONST;
-GtkWidget     * gtk_ruler_new        (GtkOrientation  orientation);
-void            gtk_ruler_set_metric (GtkRuler       *ruler,
-                                      GtkMetricType   metric);
-GtkMetricType   gtk_ruler_get_metric (GtkRuler       *ruler);
-void            gtk_ruler_set_range  (GtkRuler       *ruler,
-                                      gdouble         lower,
-                                      gdouble         upper,
-                                      gdouble         position,
-                                      gdouble         max_size);
-void            gtk_ruler_get_range  (GtkRuler       *ruler,
-                                      gdouble        *lower,
-                                      gdouble        *upper,
-                                      gdouble        *position,
-                                      gdouble        *max_size);
-
-G_END_DECLS
-
-#endif /* __GTK_RULER_H__ */
index fb2624e53edb94fc771a4db07d3d5e5ec720e975..f3894ff84b698fbfc0488b3a560ccb51f80c9445 100644 (file)
@@ -1027,7 +1027,7 @@ gtk_scale_popup (GtkWidget *widget,
 
   device = gdk_event_get_device (event);
 
-  if (device->source == GDK_SOURCE_KEYBOARD)
+  if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD)
     {
       keyboard = device;
       pointer = gdk_device_get_associated_device (device);
index bf2065ae5230e0541670c2594f74d458e56436a0..5df752fcc4eab6545ec6dc07f8a2ed193da43de8 100644 (file)
@@ -134,7 +134,6 @@ struct _GtkScrolledWindowPrivate
   guint    vscrollbar_visible     : 1;
   guint    window_placement       : 2;
   guint    focus_out              : 1;   /* Flag used by ::move-focus-out implementation */
-  guint    inside_allocate        : 1;
 
   gint     min_content_width;
   gint     min_content_height;
@@ -1449,10 +1448,9 @@ static void
 gtk_scrolled_window_allocate_child (GtkScrolledWindow *swindow,
                                    GtkAllocation     *relative_allocation)
 {
-  GtkScrolledWindowPrivate *priv = swindow->priv;
-  GtkWidget                *widget = GTK_WIDGET (swindow), *child;
-  GtkAllocation             allocation;
-  GtkAllocation             child_allocation;
+  GtkWidget     *widget = GTK_WIDGET (swindow), *child;
+  GtkAllocation  allocation;
+  GtkAllocation  child_allocation;
 
   child = gtk_bin_get_child (GTK_BIN (widget));
 
@@ -1464,9 +1462,7 @@ gtk_scrolled_window_allocate_child (GtkScrolledWindow *swindow,
   child_allocation.width = relative_allocation->width;
   child_allocation.height = relative_allocation->height;
 
-  priv->inside_allocate = TRUE;
   gtk_widget_size_allocate (child, &child_allocation);
-  priv->inside_allocate = FALSE;
 }
 
 static void
@@ -1654,12 +1650,27 @@ gtk_scrolled_window_size_allocate (GtkWidget     *widget,
          previous_vvis = priv->vscrollbar_visible;
          gtk_scrolled_window_allocate_child (scrolled_window, &relative_allocation);
 
+         /* Explicitly force scrollbar visibility checks.
+          *
+          * Since we make a guess above, the child might not decide to update the adjustments 
+          * if they logically did not change since the last configuration
+          */
+         if (priv->hscrollbar)
+           gtk_scrolled_window_adjustment_changed 
+             (gtk_range_get_adjustment (GTK_RANGE (priv->hscrollbar)), scrolled_window);
+
+         if (priv->vscrollbar)
+           gtk_scrolled_window_adjustment_changed 
+             (gtk_range_get_adjustment (GTK_RANGE (priv->vscrollbar)), scrolled_window);
+
          /* If, after the first iteration, the hscrollbar and the
-          * vscrollbar flip visiblity, then we need both.
+          * vscrollbar flip visiblity... or if one of the scrollbars flip
+          * on each itteration indefinitly/infinitely, then we just need both 
+          * at this size.
           */
-         if (count &&
-             previous_hvis != priv->hscrollbar_visible &&
-             previous_vvis != priv->vscrollbar_visible)
+         if ((count &&
+              previous_hvis != priv->hscrollbar_visible &&
+              previous_vvis != priv->vscrollbar_visible) || count > 3)
            {
              priv->hscrollbar_visible = TRUE;
              priv->vscrollbar_visible = TRUE;
@@ -1870,7 +1881,8 @@ gtk_scrolled_window_adjustment_changed (GtkAdjustment *adjustment,
          visible = priv->hscrollbar_visible;
          priv->hscrollbar_visible = (adjustment->upper - adjustment->lower >
                                              adjustment->page_size);
-         if (!priv->inside_allocate && priv->hscrollbar_visible != visible)
+
+         if (priv->hscrollbar_visible != visible)
            gtk_widget_queue_resize (GTK_WIDGET (scrolled_window));
        }
     }
@@ -1884,7 +1896,8 @@ gtk_scrolled_window_adjustment_changed (GtkAdjustment *adjustment,
          visible = priv->vscrollbar_visible;
          priv->vscrollbar_visible = (adjustment->upper - adjustment->lower >
                                              adjustment->page_size);
-         if (!priv->inside_allocate && priv->vscrollbar_visible != visible)
+
+         if (priv->vscrollbar_visible != visible)
            gtk_widget_queue_resize (GTK_WIDGET (scrolled_window));
        }
     }
index 999652c724623bda10e25db1f618d1a0c96b2ebd..70b3c055c897430cd88e720e8d7339807f9a487f 100644 (file)
@@ -1242,7 +1242,7 @@ gtk_selection_data_get_display (GtkSelectionData *selection_data)
  * @selection_data: a pointer to a #GtkSelectionData structure.
  * @type: the type of selection data
  * @format: format (number of bits in a unit)
- * @data: pointer to the data (will be copied)
+ * @data: (array) (element-type guchar): pointer to the data (will be copied)
  * @length: length of the data
  * 
  * Stores new data into a #GtkSelectionData object. Should
index ac9b082fdbfeded98204f7c561181bb446b986f3..4fa30a37d961a4a5df03562496213d892017a20d 100644 (file)
@@ -66,10 +66,11 @@ struct _GtkSelectionData
   GdkDisplay   *GSEAL (display);
 };
 
-struct _GtkTargetEntry {
-  gchar *target;
-  guint  flags;
-  guint  info;
+struct _GtkTargetEntry
+{
+  const gchar *target;
+  guint        flags;
+  guint        info;
 };
 
 /* These structures not public, and are here only for the convenience of
index b20f03d29f8990cc022ba4c069467ad46190c7bd..ab249484ea7f8190bd54d57a4a4d7be53ab26ec4 100644 (file)
@@ -105,29 +105,6 @@ get_cached_size (SizeRequestCache  *cache,
 }
 
 
-extern guint _size_request_signal_id;
-static void
-do_size_request (GtkWidget      *widget,
-                GtkRequisition *requisition)
-{
-  GtkWidgetClass *widget_class = g_type_class_peek (GTK_TYPE_WIDGET);
-
-  if (GTK_WIDGET_GET_CLASS (widget)->size_request != widget_class->size_request)
-    g_warning ("%s implements GtkWidgetClass::size_request which is deprecated and "
-              "will be removed in the next release",
-              G_OBJECT_TYPE_NAME (widget));
-
-  if (g_signal_has_handler_pending (widget, _size_request_signal_id, 0, TRUE))
-    g_warning ("A %s (%p) has handler(s) connected to the GtkWidgetClass::size-request signal which is "
-              "deprecated and will be removed in the next release",
-              G_OBJECT_TYPE_NAME (widget), widget);
-
-  /* Now we dont bother caching the deprecated "size-request" returns,
-   * just unconditionally invoke here just in case we run into legacy stuff */
-  gtk_widget_ensure_style (widget);
-  g_signal_emit_by_name (widget, "size-request", requisition);
-}
-
 #ifndef G_DISABLE_CHECKS
 static GQuark recursion_check_quark = 0;
 #endif /* G_DISABLE_CHECKS */
@@ -225,17 +202,13 @@ compute_size_for_orientation (GtkWidget         *widget,
 
   if (!found_in_cache)
     {
-      GtkRequisition requisition = { 0, 0 };
-      gint min_size = 0, nat_size = 0;
-      gint requisition_size;
+      gint min_size = 0;
+      gint nat_size = 0;
 
-      /* Unconditional size request runs but is often unhandled. */
-      do_size_request (widget, &requisition);
+      gtk_widget_ensure_style (widget);
 
       if (orientation == GTK_SIZE_GROUP_HORIZONTAL)
         {
-          requisition_size = requisition.width;
-
           if (for_size < 0)
             {
              push_recursion_check (widget, orientation, for_size);
@@ -266,8 +239,6 @@ compute_size_for_orientation (GtkWidget         *widget,
         }
       else
         {
-          requisition_size = requisition.height;
-
           if (for_size < 0)
             {
              push_recursion_check (widget, orientation, for_size);
@@ -303,12 +274,6 @@ compute_size_for_orientation (GtkWidget         *widget,
                      G_OBJECT_TYPE_NAME (widget), widget, min_size, nat_size);
         }
 
-      /* Support for dangling "size-request" signal implementations on
-       * legacy widgets
-       */
-      min_size = MAX (min_size, requisition_size);
-      nat_size = MAX (nat_size, requisition_size);
-
       cached_size->minimum_size = min_size;
       cached_size->natural_size = nat_size;
       cached_size->for_size     = for_size;
index e791d79928224c852c9cd5a6d153548d736227d9..a8e0f0833c79a8311ac83adee77672f401875d2b 100644 (file)
@@ -801,12 +801,13 @@ gtk_spin_button_draw (GtkWidget      *widget,
 
   gtk_cairo_transform_to_window (cr, widget, priv->panel);
 
-  gtk_paint_box (gtk_widget_get_style (widget), cr,
-                 state, shadow_type,
-                 widget, "spinbutton",
-                 0, 0,
-                 gdk_window_get_width (priv->panel),
-                 gdk_window_get_height (priv->panel));
+  if (gtk_entry_get_has_frame (GTK_ENTRY (widget)))
+    gtk_paint_box (gtk_widget_get_style (widget), cr,
+                   state, shadow_type,
+                   widget, "spinbutton",
+                   0, 0,
+                   gdk_window_get_width (priv->panel),
+                   gdk_window_get_height (priv->panel));
 
   gtk_spin_button_draw_arrow (spin, cr, GTK_ARROW_UP);
   gtk_spin_button_draw_arrow (spin, cr, GTK_ARROW_DOWN);
index a60ffebae3fd789a13ec6d821d3fa84edbad2e32..a4979b3fa47bf3ae6ea96dff44c2c0f0092e7f17 100644 (file)
  */
 
 #include "config.h"
+
+#include "gtktogglebutton.h"
+
+#include "gtkbuttonprivate.h"
 #include "gtklabel.h"
 #include "gtkmain.h"
 #include "gtkmarshalers.h"
-#include "gtktogglebutton.h"
 #include "gtktoggleaction.h"
 #include "gtkactivatable.h"
 #include "gtkprivate.h"
@@ -164,7 +167,7 @@ gtk_toggle_button_init (GtkToggleButton *toggle_button)
 
   priv->active = FALSE;
   priv->draw_indicator = FALSE;
-  GTK_BUTTON (toggle_button)->depress_on_activate = TRUE;
+  GTK_BUTTON (toggle_button)->priv->depress_on_activate = TRUE;
 }
 
 static void
@@ -327,8 +330,8 @@ gtk_toggle_button_set_mode (GtkToggleButton *toggle_button,
   if (priv->draw_indicator != draw_indicator)
     {
       priv->draw_indicator = draw_indicator;
-      GTK_BUTTON (toggle_button)->depress_on_activate = !draw_indicator;
-      
+      GTK_BUTTON (toggle_button)->priv->depress_on_activate = !draw_indicator;
+
       if (gtk_widget_get_visible (GTK_WIDGET (toggle_button)))
        gtk_widget_queue_resize (GTK_WIDGET (toggle_button));
 
@@ -468,7 +471,7 @@ gtk_toggle_button_draw (GtkWidget *widget,
       shadow_type = GTK_SHADOW_ETCHED_IN;
     }
   else
-    shadow_type = button->depressed ? GTK_SHADOW_IN : GTK_SHADOW_OUT;
+    shadow_type = button->priv->depressed ? GTK_SHADOW_IN : GTK_SHADOW_OUT;
 
   _gtk_button_paint (button, cr,
                      gtk_widget_get_allocated_width (widget),
@@ -503,7 +506,7 @@ gtk_toggle_button_mnemonic_activate (GtkWidget *widget,
 static void
 gtk_toggle_button_pressed (GtkButton *button)
 {
-  button->button_down = TRUE;
+  button->priv->button_down = TRUE;
 
   gtk_toggle_button_update_state (button);
   gtk_widget_queue_draw (GTK_WIDGET (button));
@@ -512,11 +515,11 @@ gtk_toggle_button_pressed (GtkButton *button)
 static void
 gtk_toggle_button_released (GtkButton *button)
 {
-  if (button->button_down)
+  if (button->priv->button_down)
     {
-      button->button_down = FALSE;
+      button->priv->button_down = FALSE;
 
-      if (button->in_button)
+      if (button->priv->in_button)
        gtk_button_clicked (button);
 
       gtk_toggle_button_update_state (button);
@@ -556,12 +559,12 @@ gtk_toggle_button_update_state (GtkButton *button)
 
   if (priv->inconsistent)
     depressed = FALSE;
-  else if (button->in_button && button->button_down)
+  else if (button->priv->in_button && button->priv->button_down)
     depressed = TRUE;
   else
     depressed = priv->active;
 
-  if (!touchscreen && button->in_button && (!button->button_down || priv->draw_indicator))
+  if (!touchscreen && button->priv->in_button && (!button->priv->button_down || priv->draw_indicator))
     new_state = GTK_STATE_PRELIGHT;
   else
     new_state = depressed ? GTK_STATE_ACTIVE : GTK_STATE_NORMAL;
index 309013f8470464f1d9312c72bccf26c230713f51..16018b609d8730e43241b10e078bedef7e367928 100644 (file)
@@ -1350,7 +1350,7 @@ _gtk_tooltip_focus_in (GtkWidget *widget)
 
   device = gtk_get_current_event_device ();
 
-  if (device && device->source == GDK_SOURCE_KEYBOARD)
+  if (device && gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD)
     device = gdk_device_get_associated_device (device);
 
   /* This function should be called by either a focus in event,
index f45c0a18d7aaf746303f454013cff6d7c998a853..85280038a8d0cb9e8e30ac7c6ded9f5ed07ad6af 100644 (file)
@@ -47,6 +47,7 @@
 #include "gtkscrollable.h"
 #include "gtkprivate.h"
 #include "gtkwidgetprivate.h"
+#include "gtkentryprivate.h"
 
 
 /**
@@ -1803,9 +1804,9 @@ gtk_tree_view_map_buttons (GtkTreeView *tree_view)
       for (list = tree_view->priv->columns; list; list = list->next)
        {
          column = list->data;
-         if (column->visible == FALSE)
+         if (gtk_tree_view_column_get_visible (column) == FALSE)
            continue;
-         if (column->resizable)
+         if (gtk_tree_view_column_get_resizable (column))
            {
              gdk_window_raise (column->window);
              gdk_window_show (column->window);
@@ -2072,18 +2073,20 @@ gtk_tree_view_update_size (GtkTreeView *tree_view)
   /* keep this in sync with size_allocate below */
   for (list = tree_view->priv->columns, i = 0; list; list = list->next, i++)
     {
+      gint max_width, min_width;
       gint real_requested_width = 0;
+
       column = list->data;
-      if (!column->visible)
+      if (!gtk_tree_view_column_get_visible (column))
        continue;
 
       if (column->use_resized_width)
        {
          real_requested_width = column->resized_width;
        }
-      else if (column->column_type == GTK_TREE_VIEW_COLUMN_FIXED)
+      else if (gtk_tree_view_column_get_sizing (column) == GTK_TREE_VIEW_COLUMN_FIXED)
        {
-         real_requested_width = column->fixed_width;
+         real_requested_width = gtk_tree_view_column_get_fixed_width (column);
        }
       else if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_HEADERS_VISIBLE))
        {
@@ -2094,10 +2097,13 @@ gtk_tree_view_update_size (GtkTreeView *tree_view)
          real_requested_width = column->requested_width;
        }
 
-      if (column->min_width != -1)
-       real_requested_width = MAX (real_requested_width, column->min_width);
-      if (column->max_width != -1)
-       real_requested_width = MIN (real_requested_width, column->max_width);
+      min_width = gtk_tree_view_column_get_min_width (column);
+      if (min_width != -1)
+       real_requested_width = MAX (real_requested_width, min_width);
+
+      max_width = gtk_tree_view_column_get_max_width (column);
+      if (max_width != -1)
+       real_requested_width = MIN (real_requested_width, max_width);
 
       tree_view->priv->width += real_requested_width;
     }
@@ -2166,7 +2172,7 @@ gtk_tree_view_calculate_width_before_expander (GtkTreeView *tree_view)
     {
       GtkTreeViewColumn *column = list->data;
 
-      width += column->width;
+      width += gtk_tree_view_column_get_width (column);
     }
 
   return width;
@@ -2198,14 +2204,14 @@ invalidate_column (GtkTreeView       *tree_view,
           gtk_widget_get_allocation (widget, &allocation);
          invalid_rect.x = column_offset;
          invalid_rect.y = 0;
-         invalid_rect.width = column->width;
+         invalid_rect.width = gtk_tree_view_column_get_width (column);
          invalid_rect.height = allocation.height;
 
          gdk_window_invalidate_rect (gtk_widget_get_window (widget), &invalid_rect, TRUE);
          break;
        }
-      
-      column_offset += tmpcolumn->width;
+
+      column_offset += gtk_tree_view_column_get_width (tmpcolumn);
     }
 }
 
@@ -2221,7 +2227,7 @@ invalidate_last_column (GtkTreeView *tree_view)
        last_column;
        last_column = (rtl ? last_column->next : last_column->prev))
     {
-      if (GTK_TREE_VIEW_COLUMN (last_column->data)->visible)
+      if (gtk_tree_view_column_get_visible (GTK_TREE_VIEW_COLUMN (last_column->data)))
         {
           invalidate_column (tree_view, last_column->data);
           return;
@@ -2233,15 +2239,16 @@ static gint
 gtk_tree_view_get_real_requested_width_from_column (GtkTreeView       *tree_view,
                                                     GtkTreeViewColumn *column)
 {
+  gint max_width, min_width;
   gint real_requested_width;
 
   if (column->use_resized_width)
     {
       real_requested_width = column->resized_width;
     }
-  else if (column->column_type == GTK_TREE_VIEW_COLUMN_FIXED)
+  else if (gtk_tree_view_column_get_sizing (column) == GTK_TREE_VIEW_COLUMN_FIXED)
     {
-      real_requested_width = column->fixed_width;
+      real_requested_width = gtk_tree_view_column_get_fixed_width (column);
     }
   else if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_HEADERS_VISIBLE))
     {
@@ -2254,10 +2261,13 @@ gtk_tree_view_get_real_requested_width_from_column (GtkTreeView       *tree_view
         real_requested_width = 0;
     }
 
-  if (column->min_width != -1)
-    real_requested_width = MAX (real_requested_width, column->min_width);
-  if (column->max_width != -1)
-    real_requested_width = MIN (real_requested_width, column->max_width);
+  min_width = gtk_tree_view_column_get_min_width (column);
+  if (min_width != -1)
+    real_requested_width = MAX (real_requested_width, min_width);
+
+  max_width = gtk_tree_view_column_get_max_width (column);
+  if (max_width != -1)
+    real_requested_width = MIN (real_requested_width, max_width);
 
   return real_requested_width;
 }
@@ -2283,14 +2293,16 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget,
   tree_view = GTK_TREE_VIEW (widget);
 
   for (last_column = g_list_last (tree_view->priv->columns);
-       last_column && !(GTK_TREE_VIEW_COLUMN (last_column->data)->visible);
+       last_column &&
+       !(gtk_tree_view_column_get_visible (GTK_TREE_VIEW_COLUMN (last_column->data)));
        last_column = last_column->prev)
     ;
   if (last_column == NULL)
     return;
 
   for (first_column = g_list_first (tree_view->priv->columns);
-       first_column && !(GTK_TREE_VIEW_COLUMN (first_column->data)->visible);
+       first_column &&
+       !(gtk_tree_view_column_get_visible (GTK_TREE_VIEW_COLUMN (first_column->data)));
        first_column = first_column->next)
     ;
 
@@ -2304,12 +2316,12 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget,
     {
       column = (GtkTreeViewColumn *)list->data;
 
-      if (!column->visible)
+      if (!gtk_tree_view_column_get_visible (column))
        continue;
 
       full_requested_width += gtk_tree_view_get_real_requested_width_from_column (tree_view, column);
 
-      if (column->expand)
+      if (gtk_tree_view_column_get_expand (column))
        number_of_expand_columns++;
     }
 
@@ -2355,12 +2367,12 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget,
        list = (rtl ? list->prev : list->next)) 
     {
       gint real_requested_width = 0;
-      gint old_width;
+      gint old_width, column_width;
 
       column = list->data;
-      old_width = column->width;
+      old_width = gtk_tree_view_column_get_width (column);
 
-      if (!column->visible)
+      if (!gtk_tree_view_column_get_visible (column))
        continue;
 
       /* We need to handle the dragged button specially.
@@ -2384,7 +2396,7 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget,
       allocation.x = width;
       column->width = real_requested_width;
 
-      if (column->expand)
+      if (gtk_tree_view_column_get_expand (column))
        {
          if (number_of_expand_columns == 1)
            {
@@ -2413,10 +2425,11 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget,
 
       g_object_notify (G_OBJECT (column), "width");
 
-      allocation.width = column->width;
-      width += column->width;
+      column_width = gtk_tree_view_column_get_width (column);
+      allocation.width = column_width;
+      width += column_width;
 
-      if (column->width > old_width)
+      if (column_width > old_width)
         column_changed = TRUE;
 
       gtk_widget_size_allocate (column->button, &allocation);
@@ -2761,7 +2774,7 @@ gtk_tree_view_button_press (GtkWidget      *widget,
        {
          GtkTreeViewColumn *candidate = list->data;
 
-         if (!candidate->visible)
+         if (!gtk_tree_view_column_get_visible (candidate))
            continue;
 
          background_area.width = candidate->width;
@@ -3004,7 +3017,7 @@ gtk_tree_view_button_press (GtkWidget      *widget,
     {
       column = list->data;
       if (event->window == column->window &&
-         column->resizable &&
+         gtk_tree_view_column_get_resizable (column) &&
          column->window)
        {
           GtkAllocation button_allocation;
@@ -3027,7 +3040,8 @@ gtk_tree_view_button_press (GtkWidget      *widget,
 
          gtk_grab_add (widget);
          GTK_TREE_VIEW_SET_FLAG (tree_view, GTK_TREE_VIEW_IN_COLUMN_RESIZE);
-         column->resized_width = column->width - tree_view->priv->last_extra_space_per_column;
+         column->resized_width = gtk_tree_view_column_get_width (column) -
+                                  tree_view->priv->last_extra_space_per_column;
 
          /* block attached dnd signal handler */
          drag_data = g_object_get_data (G_OBJECT (widget), "gtk-site-data");
@@ -3072,7 +3086,7 @@ gtk_tree_view_button_release_drag_column (GtkWidget      *widget,
   gtk_widget_set_parent (tree_view->priv->drag_column->button, GTK_WIDGET (tree_view));
   g_object_unref (tree_view->priv->drag_column->button);
   gtk_widget_queue_resize (widget);
-  if (tree_view->priv->drag_column->resizable)
+  if (gtk_tree_view_column_get_resizable (tree_view->priv->drag_column))
     {
       gdk_window_raise (tree_view->priv->drag_column->window);
       gdk_window_show (tree_view->priv->drag_column->window);
@@ -3764,11 +3778,11 @@ gtk_tree_view_motion_resize_column (GtkWidget      *widget,
   new_width = gtk_tree_view_new_column_width (tree_view,
                                              tree_view->priv->drag_pos, &x);
   if (x != tree_view->priv->x_drag &&
-      (new_width != column->fixed_width))
+      (new_width != gtk_tree_view_column_get_fixed_width (column)))
     {
       column->use_resized_width = TRUE;
       column->resized_width = new_width;
-      if (column->expand)
+      if (gtk_tree_view_column_get_expand (column))
        column->resized_width -= tree_view->priv->last_extra_space_per_column;
       gtk_widget_queue_resize (widget);
     }
@@ -4410,10 +4424,10 @@ gtk_tree_view_draw_grid_lines (GtkTreeView    *tree_view,
       if (i == n_visible_columns - 1)
        break;
 
-      if (! column->visible)
+      if (!gtk_tree_view_column_get_visible (column))
        continue;
 
-      current_x += column->width;
+      current_x += gtk_tree_view_column_get_width (column);
 
       gtk_tree_view_draw_line (tree_view, cr,
                                GTK_TREE_VIEW_GRID_LINE,
@@ -4556,20 +4570,22 @@ gtk_tree_view_bin_draw (GtkWidget      *widget,
   n_visible_columns = 0;
   for (list = tree_view->priv->columns; list; list = list->next)
     {
-      if (! GTK_TREE_VIEW_COLUMN (list->data)->visible)
+      if (!gtk_tree_view_column_get_visible (GTK_TREE_VIEW_COLUMN (list->data)))
        continue;
       n_visible_columns ++;
     }
 
   /* Find the last column */
   for (last_column = g_list_last (tree_view->priv->columns);
-       last_column && !(GTK_TREE_VIEW_COLUMN (last_column->data)->visible);
+       last_column &&
+       !(gtk_tree_view_column_get_visible (GTK_TREE_VIEW_COLUMN (last_column->data)));
        last_column = last_column->prev)
     ;
 
   /* and the first */
   for (first_column = g_list_first (tree_view->priv->columns);
-       first_column && !(GTK_TREE_VIEW_COLUMN (first_column->data)->visible);
+       first_column &&
+       !(gtk_tree_view_column_get_visible (GTK_TREE_VIEW_COLUMN (first_column->data)));
        first_column = first_column->next)
     ;
 
@@ -4631,19 +4647,22 @@ gtk_tree_view_bin_draw (GtkWidget      *widget,
          GtkTreeViewColumn *column = list->data;
          const gchar *detail = NULL;
          gchar new_detail[128];
+          gint width;
          GtkStateType state;
 
-         if (!column->visible)
+         if (!gtk_tree_view_column_get_visible (column))
             continue;
 
+          width = gtk_tree_view_column_get_width (column);
+
          if (cell_offset > clip.x + clip.width ||
-             cell_offset + column->width < clip.x)
+             cell_offset + width < clip.x)
            {
-             cell_offset += column->width;
+             cell_offset += width;
              continue;
            }
 
-          if (column->show_sort_indicator)
+          if (gtk_tree_view_column_get_sort_indicator (column))
            flags |= GTK_CELL_RENDERER_SORTED;
           else
             flags &= ~GTK_CELL_RENDERER_SORTED;
@@ -4654,7 +4673,7 @@ gtk_tree_view_bin_draw (GtkWidget      *widget,
             flags &= ~GTK_CELL_RENDERER_FOCUSED;
 
          background_area.x = cell_offset;
-         background_area.width = column->width;
+         background_area.width = width;
 
           cell_area = background_area;
           cell_area.y += vertical_separator / 2;
@@ -4688,7 +4707,7 @@ gtk_tree_view_bin_draw (GtkWidget      *widget,
 
          if (!gdk_rectangle_intersect (&clip, &background_area, NULL))
            {
-             cell_offset += column->width;
+             cell_offset += gtk_tree_view_column_get_width (column);
              continue;
            }
 
@@ -4948,7 +4967,7 @@ gtk_tree_view_bin_draw (GtkWidget      *widget,
                                                     flags);
            }
 
-         cell_offset += column->width;
+         cell_offset += gtk_tree_view_column_get_width (column);
        }
 
       if (node == drag_highlight)
@@ -5159,7 +5178,7 @@ gtk_tree_view_draw (GtkWidget *widget,
          if (column == tree_view->priv->drag_column)
            continue;
 
-         if (column->visible)
+         if (gtk_tree_view_column_get_visible (column))
            gtk_container_propagate_draw (GTK_CONTAINER (tree_view),
                                          column->button,
                                          cr);
@@ -5195,7 +5214,7 @@ gtk_tree_view_get_drop_column (GtkTreeView       *tree_view,
   GtkTreeViewColumn *cur_column = NULL;
   GList *tmp_list;
 
-  if (!column->reorderable)
+  if (!gtk_tree_view_column_get_reorderable (column))
     return (GtkTreeViewColumn *)0x1;
 
   switch (drop_position)
@@ -5213,7 +5232,8 @@ gtk_tree_view_get_drop_column (GtkTreeView       *tree_view,
            cur_column = GTK_TREE_VIEW_COLUMN (tmp_list->data);
            tmp_list = tmp_list->next;
 
-           if (left_column && left_column->visible == FALSE)
+           if (left_column &&
+                gtk_tree_view_column_get_visible (left_column) == FALSE)
              continue;
 
            if (!tree_view->priv->column_drop_func)
@@ -5259,7 +5279,8 @@ gtk_tree_view_get_drop_column (GtkTreeView       *tree_view,
            cur_column = GTK_TREE_VIEW_COLUMN (tmp_list->data);
            tmp_list = tmp_list->next;
 
-           if (left_column && left_column->visible == FALSE)
+           if (left_column &&
+                gtk_tree_view_column_get_visible (left_column) == FALSE)
              {
                left_column = cur_column;
                if (tmp_list)
@@ -5309,7 +5330,8 @@ gtk_tree_view_get_drop_column (GtkTreeView       *tree_view,
 
            left_column = GTK_TREE_VIEW_COLUMN (tmp_list->data);
 
-           if (left_column && !left_column->visible)
+           if (left_column &&
+                gtk_tree_view_column_get_visible (left_column) == FALSE)
              {
                /*if (!tmp_list->prev)
                  return (GtkTreeViewColumn *)0x1;
@@ -5358,7 +5380,8 @@ gtk_tree_view_get_drop_column (GtkTreeView       *tree_view,
 
            left_column = GTK_TREE_VIEW_COLUMN (tmp_list->data);
 
-           if (left_column && !left_column->visible)
+           if (left_column &&
+                gtk_tree_view_column_get_visible (left_column) == FALSE)
              {
                cur_column = left_column;
                tmp_list = tmp_list->prev;
@@ -5434,8 +5457,9 @@ gtk_tree_view_key_press (GtkWidget   *widget,
            || event->keyval == GDK_KEY_Right || event->keyval == GDK_KEY_KP_Right))
         {
           GtkTreeViewColumn *column = GTK_TREE_VIEW_COLUMN (focus_column->data);
+          gint max_width, min_width;
 
-          if (!column->resizable)
+          if (!gtk_tree_view_column_get_resizable (column))
             {
               gtk_widget_error_bell (widget);
               return TRUE;
@@ -5450,23 +5474,24 @@ gtk_tree_view_key_press (GtkWidget   *widget,
              gtk_widget_get_preferred_size (column->button, &button_req, NULL);
 
               column->resized_width = MAX (column->resized_width,
-                                           column->width);
+                                           gtk_tree_view_column_get_width (column));
               column->resized_width -= 2;
               if (column->resized_width < 0)
                 column->resized_width = 0;
 
-              if (column->min_width == -1)
+              min_width = gtk_tree_view_column_get_min_width (column);
+              if (min_width == -1)
                 column->resized_width = MAX (button_req.width,
                                              column->resized_width);
               else
                 {
-                  column->resized_width = MAX (column->min_width,
+                  column->resized_width = MAX (min_width,
                                                column->resized_width);
                 }
 
-              if (column->max_width != -1)
-                column->resized_width = MIN (column->resized_width,
-                                             column->max_width);
+              max_width = gtk_tree_view_column_get_max_width (column);
+              if (max_width != -1)
+                column->resized_width = MIN (column->resized_width, max_width);
 
               column->use_resized_width = TRUE;
 
@@ -5481,12 +5506,12 @@ gtk_tree_view_key_press (GtkWidget   *widget,
               gint old_width = column->resized_width;
 
               column->resized_width = MAX (column->resized_width,
-                                           column->width);
+                                           gtk_tree_view_column_get_width (column));
               column->resized_width += 2;
 
-              if (column->max_width != -1)
-                column->resized_width = MIN (column->resized_width,
-                                             column->max_width);
+              max_width = gtk_tree_view_column_get_max_width (column);
+              if (max_width != -1)
+                column->resized_width = MIN (column->resized_width, max_width);
 
               column->use_resized_width = TRUE;
 
@@ -5822,12 +5847,14 @@ validate_row (GtkTreeView *tree_view,
     || tree_view->priv->grid_lines == GTK_TREE_VIEW_GRID_LINES_BOTH;
 
   for (last_column = g_list_last (tree_view->priv->columns);
-       last_column && !(GTK_TREE_VIEW_COLUMN (last_column->data)->visible);
+       last_column &&
+       !(gtk_tree_view_column_get_visible (GTK_TREE_VIEW_COLUMN (last_column->data)));
        last_column = last_column->prev)
     ;
 
   for (first_column = g_list_first (tree_view->priv->columns);
-       first_column && !(GTK_TREE_VIEW_COLUMN (first_column->data)->visible);
+       first_column &&
+       !(gtk_tree_view_column_get_visible (GTK_TREE_VIEW_COLUMN (first_column->data)));
        first_column = first_column->next)
     ;
 
@@ -5838,7 +5865,7 @@ validate_row (GtkTreeView *tree_view,
 
       column = list->data;
 
-      if (! column->visible)
+      if (!gtk_tree_view_column_get_visible (column))
        continue;
 
       if (GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_COLUMN_INVALID) && !column->dirty)
@@ -7806,7 +7833,7 @@ gtk_tree_view_has_special_cell (GtkTreeView *tree_view)
 
   for (list = tree_view->priv->columns; list; list = list->next)
     {
-      if (!((GtkTreeViewColumn *)list->data)->visible)
+      if (!gtk_tree_view_column_get_visible (GTK_TREE_VIEW_COLUMN (list->data)))
        continue;
       if (_gtk_tree_view_column_count_special_cells (list->data))
        return TRUE;
@@ -7908,6 +7935,7 @@ gtk_tree_view_header_focus (GtkTreeView      *tree_view,
                            GtkDirectionType  dir,
                            gboolean          clamp_column_visible)
 {
+  GtkTreeViewColumn *column;
   GtkWidget *focus_child;
 
   GList *last_column, *first_column;
@@ -7922,10 +7950,12 @@ gtk_tree_view_header_focus (GtkTreeView      *tree_view,
   first_column = tree_view->priv->columns;
   while (first_column)
     {
-      if (gtk_widget_get_can_focus (GTK_TREE_VIEW_COLUMN (first_column->data)->button) &&
-         GTK_TREE_VIEW_COLUMN (first_column->data)->visible &&
-         (GTK_TREE_VIEW_COLUMN (first_column->data)->clickable ||
-          GTK_TREE_VIEW_COLUMN (first_column->data)->reorderable))
+      column = GTK_TREE_VIEW_COLUMN (first_column->data);
+
+      if (gtk_widget_get_can_focus (column->button) &&
+          gtk_tree_view_column_get_visible (column) &&
+          (gtk_tree_view_column_get_clickable (column) ||
+           gtk_tree_view_column_get_reorderable (column)))
        break;
       first_column = first_column->next;
     }
@@ -7938,10 +7968,12 @@ gtk_tree_view_header_focus (GtkTreeView      *tree_view,
   last_column = g_list_last (tree_view->priv->columns);
   while (last_column)
     {
-      if (gtk_widget_get_can_focus (GTK_TREE_VIEW_COLUMN (last_column->data)->button) &&
-         GTK_TREE_VIEW_COLUMN (last_column->data)->visible &&
-         (GTK_TREE_VIEW_COLUMN (last_column->data)->clickable ||
-          GTK_TREE_VIEW_COLUMN (last_column->data)->reorderable))
+      column = GTK_TREE_VIEW_COLUMN (last_column->data);
+
+      if (gtk_widget_get_can_focus (column->button) &&
+          gtk_tree_view_column_get_visible (column) &&
+          (gtk_tree_view_column_get_clickable (column) ||
+           gtk_tree_view_column_get_reorderable (column)))
        break;
       last_column = last_column->prev;
     }
@@ -8016,7 +8048,7 @@ gtk_tree_view_header_focus (GtkTreeView      *tree_view,
            }
          column = tmp_list->data;
          if (column->button &&
-             column->visible &&
+             gtk_tree_view_column_get_visible (column) &&
              gtk_widget_get_can_focus (column->button))
            {
              focus_child = column->button;
@@ -8405,10 +8437,10 @@ gtk_tree_view_row_changed (GtkTreeModel *model,
           GtkTreeViewColumn *column;
 
           column = list->data;
-          if (! column->visible)
+          if (!gtk_tree_view_column_get_visible (column))
             continue;
 
-          if (column->column_type == GTK_TREE_VIEW_COLUMN_AUTOSIZE)
+          if (gtk_tree_view_column_get_sizing (column) == GTK_TREE_VIEW_COLUMN_AUTOSIZE)
             {
               _gtk_tree_view_column_cell_set_dirty (column, TRUE);
             }
@@ -8593,7 +8625,7 @@ gtk_tree_view_row_has_child_toggled (GtkTreeModel *model,
          GList *list;
 
          for (list = tree_view->priv->columns; list; list = list->next)
-           if (GTK_TREE_VIEW_COLUMN (list->data)->visible)
+           if (gtk_tree_view_column_get_visible (GTK_TREE_VIEW_COLUMN (list->data)))
              {
                GTK_TREE_VIEW_COLUMN (list->data)->dirty = TRUE;
                _gtk_tree_view_column_cell_set_dirty (GTK_TREE_VIEW_COLUMN (list->data), TRUE);
@@ -8661,8 +8693,8 @@ gtk_tree_view_row_deleted (GtkTreeModel *model,
                         check_selection_helper, &selection_changed);
 
   for (list = tree_view->priv->columns; list; list = list->next)
-    if (((GtkTreeViewColumn *)list->data)->visible &&
-       ((GtkTreeViewColumn *)list->data)->column_type == GTK_TREE_VIEW_COLUMN_AUTOSIZE)
+    if (gtk_tree_view_column_get_visible (GTK_TREE_VIEW_COLUMN (list->data)) &&
+       gtk_tree_view_column_get_sizing (GTK_TREE_VIEW_COLUMN (list->data)) == GTK_TREE_VIEW_COLUMN_AUTOSIZE)
       _gtk_tree_view_column_cell_set_dirty ((GtkTreeViewColumn *)list->data, TRUE);
 
   /* Ensure we don't have a dangling pointer to a dead node */
@@ -8796,8 +8828,8 @@ gtk_tree_view_get_background_xrange (GtkTreeView       *tree_view,
       if (tmp_column == column)
         break;
 
-      if (tmp_column->visible)
-        total_width += tmp_column->width;
+      if (gtk_tree_view_column_get_visible (tmp_column))
+        total_width += gtk_tree_view_column_get_width (tmp_column);
     }
 
   if (tmp_column != column)
@@ -8811,8 +8843,8 @@ gtk_tree_view_get_background_xrange (GtkTreeView       *tree_view,
 
   if (x2)
     {
-      if (column->visible)
-        *x2 = total_width + column->width;
+      if (gtk_tree_view_column_get_visible (column))
+        *x2 = total_width + gtk_tree_view_column_get_width (column);
       else
         *x2 = total_width; /* width of 0 */
     }
@@ -8842,14 +8874,14 @@ gtk_tree_view_get_arrow_xrange (GtkTreeView *tree_view,
       if (gtk_tree_view_is_expander_column (tree_view, tmp_column))
         {
          if (rtl)
-           x_offset = total_width + tmp_column->width - tree_view->priv->expander_size;
+           x_offset = total_width + gtk_tree_view_column_get_width (tmp_column) - tree_view->priv->expander_size;
          else
            x_offset = total_width;
           break;
         }
 
-      if (tmp_column->visible)
-        total_width += tmp_column->width;
+      if (gtk_tree_view_column_get_visible (tmp_column))
+        total_width += gtk_tree_view_column_get_width (tmp_column);
     }
 
   gtk_widget_style_get (GTK_WIDGET (tree_view),
@@ -8865,8 +8897,9 @@ gtk_tree_view_get_arrow_xrange (GtkTreeView *tree_view,
     }
 
   *x1 = x_offset;
-  
-  if (tmp_column && tmp_column->visible)
+
+  if (tmp_column &&
+      gtk_tree_view_column_get_visible (tmp_column))
     /* +1 because x2 isn't included in the range. */
     *x2 = *x1 + tree_view->priv->expander_size + 1;
   else
@@ -9153,7 +9186,7 @@ gtk_tree_view_is_expander_column (GtkTreeView       *tree_view,
       for (list = tree_view->priv->columns;
           list;
           list = list->next)
-       if (((GtkTreeViewColumn *)list->data)->visible)
+       if (gtk_tree_view_column_get_visible (GTK_TREE_VIEW_COLUMN (list->data)))
          break;
       if (list && list->data == column)
        return TRUE;
@@ -9288,7 +9321,7 @@ gtk_tree_view_set_column_drag_info (GtkTreeView       *tree_view,
       cur_column = GTK_TREE_VIEW_COLUMN (tmp_list->data);
       tmp_list = rtl?g_list_previous (tmp_list):g_list_next (tmp_list);
 
-      if (cur_column->visible == FALSE)
+      if (gtk_tree_view_column_get_visible (cur_column) == FALSE)
        continue;
 
       /* If it's not the column moving and func tells us to skip over the column, we continue. */
@@ -9675,7 +9708,7 @@ gtk_tree_view_focus_to_cursor (GtkTreeView *tree_view)
          GList *list;
          for (list = tree_view->priv->columns; list; list = list->next)
            {
-             if (GTK_TREE_VIEW_COLUMN (list->data)->visible)
+             if (gtk_tree_view_column_get_visible (GTK_TREE_VIEW_COLUMN (list->data)))
                {
                  tree_view->priv->focus_column = GTK_TREE_VIEW_COLUMN (list->data);
                  break;
@@ -9973,7 +10006,7 @@ gtk_tree_view_move_cursor_left_right (GtkTreeView *tree_view,
       gboolean left, right;
 
       column = list->data;
-      if (column->visible == FALSE)
+      if (gtk_tree_view_column_get_visible (column) == FALSE)
        goto loop_end;
 
       gtk_tree_view_column_cell_set_cell_data (column,
@@ -10374,7 +10407,7 @@ send_focus_change (GtkWidget *widget,
       GdkEvent *fevent;
       GdkWindow *window;
 
-      if (dev->source != GDK_SOURCE_KEYBOARD)
+      if (gdk_device_get_source (dev) != GDK_SOURCE_KEYBOARD)
         continue;
 
       window = gtk_widget_get_window (widget);
@@ -10467,10 +10500,12 @@ gtk_tree_view_ensure_interactive_directory (GtkTreeView *tree_view)
   g_signal_connect (tree_view->priv->search_entry,
                    "activate", G_CALLBACK (gtk_tree_view_search_activate),
                    tree_view);
-  g_signal_connect (GTK_ENTRY (tree_view->priv->search_entry)->im_context,
+
+  g_signal_connect (_gtk_entry_get_im_context (GTK_ENTRY (tree_view->priv->search_entry)),
                    "preedit-changed",
                    G_CALLBACK (gtk_tree_view_search_preedit_changed),
                    tree_view);
+
   gtk_container_add (GTK_CONTAINER (vbox),
                     tree_view->priv->search_entry);
 
@@ -10508,7 +10543,7 @@ gtk_tree_view_real_start_interactive_search (GtkTreeView *tree_view,
       GtkTreeViewColumn *column;
 
       column = list->data;
-      if (! column->visible)
+      if (!gtk_tree_view_column_get_visible (column))
        continue;
 
       if (gtk_widget_has_focus (column->button))
@@ -10583,6 +10618,7 @@ gtk_tree_view_new_column_width (GtkTreeView *tree_view,
   GtkAllocation allocation;
   GtkTreeViewColumn *column;
   GtkRequisition button_req;
+  gint max_width, min_width;
   gint width;
   gboolean rtl;
 
@@ -10595,16 +10631,18 @@ gtk_tree_view_new_column_width (GtkTreeView *tree_view,
   width = rtl ? (allocation.x + allocation.width - *x) : (*x - allocation.x);
 
   /* Clamp down the value */
-  if (column->min_width == -1)
+  min_width = gtk_tree_view_column_get_min_width (column);
+  if (min_width == -1)
     {
       gtk_widget_get_preferred_size (column->button, &button_req, NULL);
       width = MAX (button_req.width, width);
     }
   else
-    width = MAX (column->min_width,
-                width);
-  if (column->max_width != -1)
-    width = MIN (width, column->max_width);
+    width = MAX (min_width, width);
+
+  max_width = gtk_tree_view_column_get_max_width (column);
+  if (max_width != -1)
+    width = MIN (width, max_width);
 
   *x = rtl ? (allocation.x + allocation.width - width) : (allocation.x + width);
 
@@ -11193,7 +11231,7 @@ gtk_tree_view_columns_autosize (GtkTreeView *tree_view)
   for (list = tree_view->priv->columns; list; list = list->next)
     {
       column = list->data;
-      if (column->column_type == GTK_TREE_VIEW_COLUMN_AUTOSIZE)
+      if (gtk_tree_view_column_get_sizing (column) == GTK_TREE_VIEW_COLUMN_AUTOSIZE)
        continue;
       _gtk_tree_view_column_cell_set_dirty (column, TRUE);
       dirty = TRUE;
@@ -11243,7 +11281,7 @@ gtk_tree_view_get_headers_clickable (GtkTreeView *tree_view)
   g_return_val_if_fail (GTK_IS_TREE_VIEW (tree_view), FALSE);
 
   for (list = tree_view->priv->columns; list; list = list->next)
-    if (!GTK_TREE_VIEW_COLUMN (list->data)->clickable)
+    if (!gtk_tree_view_column_get_clickable (GTK_TREE_VIEW_COLUMN (list->data)))
       return FALSE;
 
   return TRUE;
@@ -11377,7 +11415,7 @@ gtk_tree_view_remove_column (GtkTreeView       *tree_view,
          GtkTreeViewColumn *tmp_column;
 
          tmp_column = GTK_TREE_VIEW_COLUMN (list->data);
-         if (tmp_column->visible)
+         if (gtk_tree_view_column_get_visible (tmp_column))
            _gtk_tree_view_column_cell_set_dirty (tmp_column, TRUE);
        }
 
@@ -11447,7 +11485,7 @@ gtk_tree_view_insert_column (GtkTreeView       *tree_view,
       for (list = tree_view->priv->columns; list; list = list->next)
        {
          column = GTK_TREE_VIEW_COLUMN (list->data);
-         if (column->visible)
+         if (gtk_tree_view_column_get_visible (column))
            _gtk_tree_view_column_cell_set_dirty (column, TRUE);
        }
       gtk_widget_queue_resize (GTK_WIDGET (tree_view));
@@ -12377,7 +12415,7 @@ gtk_tree_view_real_collapse_row (GtkTreeView *tree_view,
     {
       GtkTreeViewColumn *column = list->data;
 
-      if (column->visible == FALSE)
+      if (gtk_tree_view_column_get_visible (column) == FALSE)
        continue;
       if (gtk_tree_view_column_get_sizing (column) == GTK_TREE_VIEW_COLUMN_AUTOSIZE)
        _gtk_tree_view_column_cell_set_dirty (column, TRUE);
@@ -12857,7 +12895,8 @@ gtk_tree_view_set_cursor_on_cell (GtkTreeView       *tree_view,
 
   gtk_tree_view_real_set_cursor (tree_view, path, TRUE, TRUE);
 
-  if (focus_column && focus_column->visible)
+  if (focus_column &&
+      gtk_tree_view_column_get_visible (focus_column))
     {
       GList *list;
       gboolean column_in_tree = FALSE;
@@ -12966,6 +13005,7 @@ gtk_tree_view_get_path_at_pos (GtkTreeView        *tree_view,
       gint remaining_x = x;
       gboolean found = FALSE;
       gboolean rtl;
+      gint width;
 
       rtl = (gtk_widget_get_direction (GTK_WIDGET (tree_view)) == GTK_TEXT_DIR_RTL);
       for (list = (rtl ? g_list_last (tree_view->priv->columns) : g_list_first (tree_view->priv->columns));
@@ -12974,11 +13014,12 @@ gtk_tree_view_get_path_at_pos (GtkTreeView        *tree_view,
        {
          tmp_column = list->data;
 
-         if (tmp_column->visible == FALSE)
+         if (gtk_tree_view_column_get_visible (tmp_column) == FALSE)
            continue;
 
          last_column = tmp_column;
-         if (remaining_x <= tmp_column->width)
+          width = gtk_tree_view_column_get_width (tmp_column);
+         if (remaining_x <= width)
            {
               found = TRUE;
 
@@ -12990,7 +13031,7 @@ gtk_tree_view_get_path_at_pos (GtkTreeView        *tree_view,
 
              break;
            }
-         remaining_x -= tmp_column->width;
+         remaining_x -= width;
        }
 
       /* If found is FALSE and there is a last_column, then it the remainder
@@ -13004,7 +13045,7 @@ gtk_tree_view_get_path_at_pos (GtkTreeView        *tree_view,
                *column = last_column;
              
              if (cell_x)
-               *cell_x = last_column->width + remaining_x;
+               *cell_x = gtk_tree_view_column_get_width (last_column) + remaining_x;
            }
          else
            {
@@ -13460,7 +13501,7 @@ unset_reorderable (GtkTreeView *tree_view)
  * gtk_tree_view_enable_model_drag_source:
  * @tree_view: a #GtkTreeView
  * @start_button_mask: Mask of allowed buttons to start drag
- * @targets: the table of targets that the drag will support
+ * @targets: (array): the table of targets that the drag will support
  * @n_targets: the number of items in @targets
  * @actions: the bitmask of possible actions for a drag from this
  *    widget
@@ -13497,7 +13538,7 @@ gtk_tree_view_enable_model_drag_source (GtkTreeView              *tree_view,
 /**
  * gtk_tree_view_enable_model_drag_dest:
  * @tree_view: a #GtkTreeView
- * @targets: the table of targets that the drag will support
+ * @targets: (array): the table of targets that the drag will support
  * @n_targets: the number of items in @targets
  * @actions: the bitmask of possible actions for a drag from this
  *    widget
@@ -13889,7 +13930,7 @@ gtk_tree_view_create_row_drag_icon (GtkTreeView  *tree_view,
       GdkRectangle cell_area;
       gint vertical_separator;
 
-      if (!column->visible)
+      if (!gtk_tree_view_column_get_visible (column))
         continue;
 
       gtk_tree_view_column_cell_set_cell_data (column, tree_view->priv->model, &iter,
@@ -13897,7 +13938,7 @@ gtk_tree_view_create_row_drag_icon (GtkTreeView  *tree_view,
                                               node->children?TRUE:FALSE);
 
       background_area.x = cell_offset;
-      background_area.width = column->width;
+      background_area.width = gtk_tree_view_column_get_width (column);
 
       gtk_widget_style_get (widget,
                            "vertical-separator", &vertical_separator,
@@ -13940,7 +13981,7 @@ gtk_tree_view_create_row_drag_icon (GtkTreeView  *tree_view,
                                               &cell_area,
                                               0);
        }
-      cell_offset += column->width;
+      cell_offset += gtk_tree_view_column_get_width (column);
     }
 
   cairo_set_source_rgb (cr, 0, 0, 0);
diff --git a/gtk/gtkvruler.c b/gtk/gtkvruler.c
deleted file mode 100644 (file)
index 61156a0..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
- * file for a list of people on the GTK+ Team.  See the ChangeLog
- * files for a list of changes.  These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#include "config.h"
-
-#include "gtkorientable.h"
-#include "gtkvruler.h"
-
-
-/**
- * SECTION:gtkvruler
- * @Short_description: A vertical ruler
- * @Title: GtkVRuler
- *
- * <note>
- *  This widget is considered too specialized/little-used for
- *  GTK+, and will in the future be moved to some other package.  If
- *  your application needs this widget, feel free to use it, as the
- *  widget does work and is useful in some applications; it's just not
- *  of general interest. However, we are not accepting new features for
- *  the widget, and it will eventually move out of the GTK+
- *  distribution.
- * </note>
- *
- * The VRuler widget is a widget arranged vertically creating a ruler that is
- * utilized around other widgets such as a text widget. The ruler is used to show
- * the location of the mouse on the window and to show the size of the window in
- * specified units. The available units of measurement are GTK_PIXELS, GTK_INCHES
- * and GTK_CENTIMETERS. GTK_PIXELS is the default unit of measurement.
- */
-
-G_DEFINE_TYPE (GtkVRuler, gtk_vruler, GTK_TYPE_RULER)
-
-static void
-gtk_vruler_class_init (GtkVRulerClass *klass)
-{
-}
-
-static void
-gtk_vruler_init (GtkVRuler *vruler)
-{
-  gtk_orientable_set_orientation (GTK_ORIENTABLE (vruler),
-                                  GTK_ORIENTATION_VERTICAL);
-}
-
-/**
- * gtk_vruler_new:
- *
- * Creates a new vertical ruler
- *
- * Returns: a new #GtkVRuler.
- */
-GtkWidget *
-gtk_vruler_new (void)
-{
-  return g_object_new (GTK_TYPE_VRULER, NULL);
-}
diff --git a/gtk/gtkvruler.h b/gtk/gtkvruler.h
deleted file mode 100644 (file)
index b9c7829..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
- * file for a list of people on the GTK+ Team.  See the ChangeLog
- * files for a list of changes.  These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-/*
- * NOTE this widget is considered too specialized/little-used for
- * GTK+, and will in the future be moved to some other package.  If
- * your application needs this widget, feel free to use it, as the
- * widget does work and is useful in some applications; it's just not
- * of general interest. However, we are not accepting new features for
- * the widget, and it will eventually move out of the GTK+
- * distribution.
- */
-
-#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
-#error "Only <gtk/gtk.h> can be included directly."
-#endif
-
-#ifndef __GTK_VRULER_H__
-#define __GTK_VRULER_H__
-
-
-#include <gtk/gtkruler.h>
-
-
-G_BEGIN_DECLS
-
-
-#define GTK_TYPE_VRULER            (gtk_vruler_get_type ())
-#define GTK_VRULER(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_VRULER, GtkVRuler))
-#define GTK_VRULER_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_VRULER, GtkVRulerClass))
-#define GTK_IS_VRULER(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_VRULER))
-#define GTK_IS_VRULER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_VRULER))
-#define GTK_VRULER_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_VRULER, GtkVRulerClass))
-
-
-typedef struct _GtkVRuler       GtkVRuler;
-typedef struct _GtkVRulerClass  GtkVRulerClass;
-
-struct _GtkVRuler
-{
-  GtkRuler ruler;
-};
-
-struct _GtkVRulerClass
-{
-  GtkRulerClass parent_class;
-};
-
-
-GType      gtk_vruler_get_type (void) G_GNUC_CONST;
-GtkWidget* gtk_vruler_new      (void);
-
-
-G_END_DECLS
-
-
-#endif /* __GTK_VRULER_H__ */
index 9eec35ce4beb691b23c8cf2231dd9ba5eb908e83..aca9989d16f2da2bb03430df84d5f13edfcc70f2 100644 (file)
  *
  * Height-for-width geometry management is implemented in GTK+ by way
  * of five virtual methods:
- * <variablelist>
- *    <varlistentry>
- *       <term>#GtkWidgetClass.get_request_mode()</term>
- *       <listitem>
- *          This allows a widget to tell its parent container whether
- *          it prefers to be allocated in %GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH
- *          or %GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT mode.
- *          %GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH means the widget prefers to
- *          have #GtkWidgetClass.get_preferred_width() called and then
- *          #GtkWidgetClass.get_preferred_height_for_width() and is the
- *          default return for unimplemented cases.
- *          However it's important to note (as described below) that any
- *          widget which trades height-for-width must respond properly to
- *          both #GtkSizeRequestModes since it might be queried in either
- *          orientation by its parent container.
- *       </listitem>
- *    </varlistentry>
- *    <varlistentry>
- *       <term>#GtkWidgetClass.get_preferred_width()</term>
- *       <listitem>
- *          This is called by containers to obtain the minimum and
- *          natural width of a widget. A widget will never be allocated
- *          a width less than its minimum and will only ever be allocated
- *          a width greater than the natural width once all of the said
- *          widget's siblings have received their natural widths.
- *          Furthermore, a widget will only ever be allocated a width greater
- *          than its natural width if it was configured to receive extra
- *          expand space from its parent container.
- *       </listitem>
- *    </varlistentry>
- *    <varlistentry>
- *       <term>#GtkWidgetClass.get_preferred_height()</term>
- *       <listitem>
- *          This is called by containers to obtain the minimum and
- *          natural height of a widget.
- *          A widget that does not actually trade any height for width
- *          or width for height only has to implement these two virtual
- *          methods (#GtkWidgetClass.get_preferred_width() and
- *          #GtkWidgetClass.get_preferred_height()).
- *       </listitem>
- *    </varlistentry>
- *    <varlistentry>
- *       <term>#GtkWidgetClass.get_preferred_height_for_width()</term>
- *       <listitem>
- *          This is similar to #GtkWidgetClass.get_preferred_height() except
- *          that it is passed a contextual width to request height for. By
- *          implementing this virtual method it is possible for a #GtkLabel
- *          to tell its parent how much height would be required if the
- *          label were to be allocated a said width.
- *       </listitem>
- *    </varlistentry>
- *    <varlistentry>
- *       <term>#GtkWidgetClass.get_preferred_width_for_height()</term>
- *       <listitem>
- *          This is analogous to #GtkWidgetClass.get_preferred_height_for_width()
- *          except that it operates in the oposite orientation. It's rare that
- *          a widget actually does %GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT requests
- *          but this can happen when, for example, a widget or container gets
- *          additional columns to compensate for a smaller allocated height.
- *       </listitem>
- *    </varlistentry>
- * </variablelist>
+ * <itemizedlist>
+ *   <listitem>#GtkWidgetClass.get_request_mode()</listitem>
+ *   <listitem>#GtkWidgetClass.get_preferred_width()</listitem>
+ *   <listitem>#GtkWidgetClass.get_preferred_height()</listitem>
+ *   <listitem>#GtkWidgetClass.get_preferred_height_for_width()</listitem>
+ *   <listitem>#GtkWidgetClass.get_preferred_width_for_height()</listitem>
+ * </itemizedlist>
  *
  * There are some important things to keep in mind when implementing
  * height-for-width and when using it in container implementations.
@@ -436,7 +381,6 @@ enum {
   UNMAP,
   REALIZE,
   UNREALIZE,
-  SIZE_REQUEST,
   SIZE_ALLOCATE,
   STATE_CHANGED,
   PARENT_SET,
@@ -572,8 +516,6 @@ static void gtk_widget_real_map              (GtkWidget         *widget);
 static void    gtk_widget_real_unmap            (GtkWidget         *widget);
 static void    gtk_widget_real_realize          (GtkWidget         *widget);
 static void    gtk_widget_real_unrealize        (GtkWidget         *widget);
-static void    gtk_widget_real_size_request     (GtkWidget         *widget,
-                                                 GtkRequisition    *requisition);
 static void    gtk_widget_real_size_allocate    (GtkWidget         *widget,
                                                   GtkAllocation            *allocation);
 static void    gtk_widget_real_style_set        (GtkWidget         *widget,
@@ -710,9 +652,6 @@ static guint            composite_child_stack = 0;
 static GtkTextDirection gtk_default_direction = GTK_TEXT_DIR_LTR;
 static GParamSpecPool  *style_property_spec_pool = NULL;
 
-/* XXX Temporarily here to fire warnings from gtksizerequest.c */
-guint _size_request_signal_id = 0;
-
 static GQuark          quark_property_parser = 0;
 static GQuark          quark_aux_info = 0;
 static GQuark          quark_accel_path = 0;
@@ -868,7 +807,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
   klass->unmap = gtk_widget_real_unmap;
   klass->realize = gtk_widget_real_realize;
   klass->unrealize = gtk_widget_real_unrealize;
-  klass->size_request = gtk_widget_real_size_request;
   klass->size_allocate = gtk_widget_real_size_allocate;
   klass->get_preferred_width = gtk_widget_real_get_width;
   klass->get_preferred_height = gtk_widget_real_get_height;
@@ -1465,25 +1403,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
                  _gtk_marshal_VOID__VOID,
                  G_TYPE_NONE, 0);
 
-  /**
-   * GtkWidget::size-request:
-   * @widget: the object which received the signal.
-   * @requisition:
-   *
-   * Deprecated: 3.0: Either implement
-   * <link linkend="geometry-management">height-for-width geometry management</link> or
-   * use gtk_widget_set_size_request() instead of handling this signal.
-   */
-  _size_request_signal_id = widget_signals[SIZE_REQUEST] =
-    g_signal_new (I_("size-request"),
-                 G_TYPE_FROM_CLASS (gobject_class),
-                 G_SIGNAL_RUN_FIRST,
-                 G_STRUCT_OFFSET (GtkWidgetClass, size_request),
-                 NULL, NULL,
-                 _gtk_marshal_VOID__BOXED,
-                 G_TYPE_NONE, 1,
-                 GTK_TYPE_REQUISITION | G_SIGNAL_TYPE_STATIC_SCOPE);
-
   /**
    * GtkWidget::size-allocate:
    * @widget: the object which received the signal.
@@ -4441,6 +4360,11 @@ gtk_widget_queue_draw (GtkWidget *widget)
  * be called when a widget for some reason has a new size request.
  * For example, when you change the text in a #GtkLabel, #GtkLabel
  * queues a resize to ensure there's enough space for the new text.
+ *
+ * <note><para>You cannot call gtk_widget_queue_resize() on a widget
+ * from inside it's implementation of the GtkWidgetClass::size_allocate 
+ * virtual method. Calls to gtk_widget_queue_resize() from inside
+ * GtkWidgetClass::size_allocate will be silently ignored.</para></note>
  **/
 void
 gtk_widget_queue_resize (GtkWidget *widget)
@@ -4726,6 +4650,11 @@ gtk_widget_size_allocate (GtkWidget      *widget,
 
   g_signal_emit (widget, widget_signals[SIZE_ALLOCATE], 0, &real_allocation);
 
+  /* Size allocation is god... after consulting god, no further requests or allocations are needed */
+  priv->width_request_needed  = FALSE;
+  priv->height_request_needed = FALSE;
+  priv->alloc_needed          = FALSE;
+
   if (gtk_widget_get_mapped (widget))
     {
       if (!gtk_widget_get_has_window (widget) && priv->redraw_on_alloc && position_changed)
@@ -9926,14 +9855,6 @@ gtk_widget_real_unrealize (GtkWidget *widget)
   gtk_widget_set_realized (widget, FALSE);
 }
 
-static void
-gtk_widget_real_size_request (GtkWidget         *widget,
-                             GtkRequisition    *requisition)
-{
-  requisition->width  = 0;
-  requisition->height = 0;
-}
-
 static void
 gtk_widget_real_adjust_size_request (GtkWidget         *widget,
                                      GtkOrientation     orientation,
index 6e5b020d371556b082f8f206a713dfc279460d14..8a566df12b76e8683afd8c9bbf354729ee779ade 100644 (file)
@@ -131,6 +131,41 @@ struct _GtkWidget
  * @activate_signal: The signal to emit when a widget of this class is
  *   activated, gtk_widget_activate() handles the emission.
  *   Implementation of this signal is optional.
+ * @get_request_mode: This allows a widget to tell its parent container whether
+ *   it prefers to be allocated in %GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH or
+ *   %GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT mode.
+ *   %GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH means the widget prefers to have
+ *   #GtkWidgetClass.get_preferred_width() called and then
+ *   #GtkWidgetClass.get_preferred_height_for_width() and is the default
+ *   return for unimplemented cases.
+ *   However it's important to note (as described below) that any widget
+ *   which trades height-for-width must respond properly to both
+ *   #GtkSizeRequestModes since it might be queried in either orientation
+ *   by its parent container.
+ * @get_preferred_height: This is called by containers to obtain the minimum
+ *   and natural height of a widget. A widget that does not actually trade
+ *   any height for width or width for height only has to implement these
+ *   two virtual methods (#GtkWidgetClass.get_preferred_width() and
+ *   #GtkWidgetClass.get_preferred_height()).
+ * @get_preferred_width_for_height: This is analogous to
+ *   #GtkWidgetClass.get_preferred_height_for_width() except that it
+ *   operates in the oposite orientation. It's rare that a widget actually
+ *   does %GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT requests but this can happen
+ *   when, for example, a widget or container gets additional columns to
+ *   compensate for a smaller allocated height.
+ * @get_preferred_width: This is called by containers to obtain the minimum
+ *   and natural width of a widget. A widget will never be allocated a width
+ *   less than its minimum and will only ever be allocated a width greater
+ *   than the natural width once all of the said widget's siblings have
+ *   received their natural widths.
+ *   Furthermore, a widget will only ever be allocated a width greater than
+ *   its natural width if it was configured to receive extra expand space
+ *   from its parent container.
+ * @get_preferred_height_for_width: This is similar to
+ *   #GtkWidgetClass.get_preferred_height() except that it is passed a
+ *   contextual width to request height for. By implementing this virtual
+ *   method it is possible for a #GtkLabel to tell its parent how much height
+ *   would be required if the label were to be allocated a said width.
  * @adjust_size_request: Convert an initial size request from a widget's
  *   #GtkSizeRequest virtual method implementations into a size request to
  *   be used by parent containers in laying out the widget.
@@ -184,8 +219,6 @@ struct _GtkWidgetClass
   void (* unmap)              (GtkWidget        *widget);
   void (* realize)            (GtkWidget        *widget);
   void (* unrealize)          (GtkWidget        *widget);
-  void (* size_request)               (GtkWidget        *widget,
-                               GtkRequisition   *requisition);
   void (* size_allocate)       (GtkWidget        *widget,
                                GtkAllocation    *allocation);
   void (* state_changed)       (GtkWidget        *widget,
index 0621701be9a619385bd299f6699c3d8bd7a73179..1f7134e646852351ceacdf416c788a059c2bec84 100644 (file)
@@ -5923,7 +5923,7 @@ do_focus_change (GtkWidget *widget,
       GdkDevice *dev = d->data;
       GdkEvent *fevent;
 
-      if (dev->source != GDK_SOURCE_KEYBOARD)
+      if (gdk_device_get_source (dev) != GDK_SOURCE_KEYBOARD)
         continue;
 
       /* Skip non-master keyboards that haven't
index e891c1f0858b3b2c4b8cee87fe2a718d743291e5..bdb138ac472e0c2d12f4a923a2d6fd67956ef695 100644 (file)
@@ -248,7 +248,6 @@ gtk_OBJECTS = \
        gtkhbbox.obj \
        gtkhbox.obj \
        gtkhpaned.obj \
-       gtkhruler.obj \
        gtkhscale.obj \
        gtkhscrollbar.obj \
        gtkhseparator.obj \
@@ -305,7 +304,6 @@ gtk_OBJECTS = \
        gtkrange.obj \
        gtkrbtree.obj \
        gtkrc.obj \
-       gtkruler.obj \
        gtkscale.obj \
        gtkscalebutton.obj \
        gtkscrollbar.obj \
@@ -347,7 +345,6 @@ gtk_OBJECTS = \
        gtkviewport.obj \
        gtkvolumebutton.obj \
        gtkvpaned.obj \
-       gtkvruler.obj \
        gtkvscale.obj \
        gtkvscrollbar.obj \
        gtkvseparator.obj \
@@ -433,7 +430,6 @@ gtk_public_h_sources =              \
        gtkhbbox.h              \
        gtkhbox.h               \
        gtkhpaned.h             \
-       gtkhruler.h             \
        gtkhscale.h             \
        gtkhscrollbar.h         \
        gtkhseparator.h         \
@@ -496,7 +492,6 @@ gtk_public_h_sources =              \
        gtkrecentchooserwidget.h \
        gtkrecentfilter.h       \
        gtkrecentmanager.h      \
-       gtkruler.h              \
        gtkscale.h              \
        gtkscalebutton.h        \
        gtkscrollbar.h          \
@@ -555,7 +550,6 @@ gtk_public_h_sources =              \
        gtkviewport.h           \
        gtkvolumebutton.h       \
        gtkvpaned.h             \
-       gtkvruler.h             \
        gtkvscale.h             \
        gtkvscrollbar.h         \
        gtkvseparator.h         \
@@ -573,7 +567,7 @@ gtk_extra_sources = \
 
 gtk.def: gtk.symbols makefile.msc
        echo EXPORTS > gtk.def
-       cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DALL_FILES \
+       cl /EP -DG_OS_WIN32 \
                -DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_NORETURN= \
                -DG_GNUC_PRINTF=;G_GNUC_PRINTF gtk.symbols >> gtk.def
 
index 5c68525fbc956fc2c9c99d1b9db78b49a974e58f..00420af57b9497f8e51cb71196b001120672a891 100644 (file)
@@ -722,7 +722,6 @@ test_types (void)
     "  <object class=\"GtkHButtonBox\" id=\"hbuttonbox\"/>"
     "  <object class=\"GtkHBox\" id=\"hbox\"/>"
     "  <object class=\"GtkHPaned\" id=\"hpaned\"/>"
-    "  <object class=\"GtkHRuler\" id=\"hruler\"/>"
     "  <object class=\"GtkHScale\" id=\"hscale\"/>"
     "  <object class=\"GtkHScrollbar\" id=\"hscrollbar\"/>"
     "  <object class=\"GtkHSeparator\" id=\"hseparator\"/>"
@@ -749,7 +748,6 @@ test_types (void)
     "  <object class=\"GtkVScrollbar\" id=\"vscrollbar\"/>"
     "  <object class=\"GtkVSeparator\" id=\"vseparator\"/>"
     "  <object class=\"GtkViewport\" id=\"viewport\"/>"
-    "  <object class=\"GtkVRuler\" id=\"vruler\"/>"
     "  <object class=\"GtkVPaned\" id=\"vpaned\"/>"
     "  <object class=\"GtkVScale\" id=\"vscale\"/>"
     "  <object class=\"GtkWindow\" id=\"window\"/>"
index 3b927011cccccc142363f35df8883ab0b1966dd9..338c98c78cf26417a0de88008d42b130173618fe 100644 (file)
@@ -1424,6 +1424,32 @@ validate_file (const gchar *file)
   return TRUE;
 }
 
+/**
+ * safe_fclose:
+ * @f: A FILE* stream, must have underlying fd
+ *
+ * Unix defaults for data preservation after system crash
+ * are unspecified, and many systems will eat your data
+ * in this situation unless you explicitly fsync().
+ *
+ * Returns: %TRUE on success, %FALSE on failure, and will set errno()
+ */
+static gboolean
+safe_fclose (FILE *f)
+{
+  int fd = fileno (f);
+  g_assert (fd >= 0);
+  if (fflush (f) == EOF)
+    return FALSE;
+#ifndef G_OS_WIN32
+  if (fsync (fd) < 0)
+    return FALSE;
+#endif
+  if (fclose (f) == EOF)
+    return FALSE;
+  return TRUE;
+}
+
 static void
 build_cache (const gchar *path)
 {
@@ -1432,7 +1458,6 @@ build_cache (const gchar *path)
   gchar *bak_cache_path = NULL;
 #endif
   GHashTable *files;
-  gboolean retval;
   FILE *cache;
   struct stat path_stat, cache_stat;
   struct utimbuf utime_buf;
@@ -1490,17 +1515,22 @@ opentmp:
     }
     
   /* FIXME: Handle failure */
-  retval = write_file (cache, files, directories);
-  fclose (cache);
+  if (!write_file (cache, files, directories))
+    {
+      g_unlink (tmp_cache_path);
+      exit (1);
+    }
 
-  g_list_foreach (directories, (GFunc)g_free, NULL);
-  g_list_free (directories);
-  
-  if (!retval)
+  if (!safe_fclose (cache))
     {
+      g_printerr (_("Failed to write cache file: %s\n"), g_strerror (errno));
       g_unlink (tmp_cache_path);
       exit (1);
     }
+  cache = NULL;
+
+  g_list_foreach (directories, (GFunc)g_free, NULL);
+  g_list_free (directories);
 
   if (!validate_file (tmp_cache_path))
     {
index 8e0fee49117ac97fa560dda874732dcb944d9393..8a187261c3a09ab515e29cf82e298a7162954d2e 100644 (file)
@@ -539,7 +539,9 @@ idle_do_action (gpointer data)
        case 0:
          /* first a press */ 
 
+          /* FIXME: Do not access public member
          button->in_button = TRUE;
+          */
          g_signal_emit_by_name (button, "enter");
          /*
           * Simulate a button press event. calling gtk_button_pressed() does
@@ -557,11 +559,15 @@ idle_do_action (gpointer data)
          /* then a release */
          tmp_event.button.type = GDK_BUTTON_RELEASE;
          gtk_widget_event (widget, &tmp_event);
+          /* FIXME: Do not access public member
          button->in_button = FALSE;
+          */
          g_signal_emit_by_name (button, "leave");
          break;
        case 1:
+          /* FIXME: Do not access public member
          button->in_button = TRUE;
+          */
          g_signal_emit_by_name (button, "enter");
          /*
           * Simulate a button press event. calling gtk_button_pressed() does
@@ -577,7 +583,9 @@ idle_do_action (gpointer data)
          gtk_widget_event (widget, &tmp_event);
          break;
        case 2:
+          /* FIXME: Do not access public member
          button->in_button = FALSE;
+          */
          g_signal_emit_by_name (button, "leave");
          break;
        default:
index df65324463044178884b453354fb957672bab01e..9aa9e5f1db1a9bb190ae1b1d675e1310f1c2a4d1 100644 (file)
@@ -209,6 +209,7 @@ gail_entry_real_initialize (AtkObject *obj,
 {
   GtkEntry *entry;
   GailEntry *gail_entry;
+  gint start_pos, end_pos;
 
   ATK_OBJECT_CLASS (gail_entry_parent_class)->initialize (obj, data);
 
@@ -219,8 +220,10 @@ gail_entry_real_initialize (AtkObject *obj,
 
   entry = GTK_ENTRY (data);
   text_setup (gail_entry, entry);
-  gail_entry->cursor_position = entry->current_pos;
-  gail_entry->selection_bound = entry->selection_bound;
+  gtk_editable_get_selection_bounds (GTK_EDITABLE (entry),
+                                     &start_pos, &end_pos);
+  gail_entry->cursor_position = end_pos;
+  gail_entry->selection_bound = start_pos;
 
   /* Set up signal callbacks */
   g_signal_connect (data, "insert-text",
@@ -617,6 +620,7 @@ gail_entry_get_character_extents (AtkText *text,
   PangoRectangle char_rect;
   gint index, cursor_index, x_layout, y_layout;
   const gchar *entry_text;
+  gint start_pos, end_pos;
 
   widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text));
   if (widget == NULL)
@@ -625,12 +629,17 @@ gail_entry_get_character_extents (AtkText *text,
 
   entry = GTK_ENTRY (widget);
 
+  gtk_editable_get_selection_bounds (GTK_EDITABLE (entry),
+                                     &start_pos, &end_pos);
   gtk_entry_get_layout_offsets (entry, &x_layout, &y_layout);
   entry_text = gtk_entry_get_text (entry);
+
   index = g_utf8_offset_to_pointer (entry_text, offset) - entry_text;
-  cursor_index = g_utf8_offset_to_pointer (entry_text, entry->current_pos) - entry_text;
+  cursor_index = g_utf8_offset_to_pointer (entry_text, end_pos) - entry_text;
+  /* FIXME: entry->preedit cannot be accessed directly
   if (index > cursor_index)
     index += entry->preedit_length;
+  */
   pango_layout_index_to_pos (gtk_entry_get_layout(entry), index, &char_rect);
  
   gail_misc_get_extents_from_pango_rectangle (widget, &char_rect, 
@@ -669,7 +678,12 @@ gail_entry_get_offset_at_point (AtkText *text,
     }
   else
     {
-      cursor_index = g_utf8_offset_to_pointer (entry_text, entry->current_pos) - entry_text;
+      gint start_pos, end_pos;
+
+      gtk_editable_get_selection_bounds (GTK_EDITABLE (entry),
+                                         &start_pos, &end_pos);
+      cursor_index = g_utf8_offset_to_pointer (entry_text, end_pos) - entry_text;
+      /* FIXME: entry->preedit_length cannot be accessed directly
       if (index >= cursor_index && entry->preedit_length)
         {
           if (index >= cursor_index + entry->preedit_length)
@@ -677,6 +691,7 @@ gail_entry_get_offset_at_point (AtkText *text,
           else
             index = cursor_index;
         }
+      */
       return g_utf8_pointer_to_offset (entry_text, entry_text + index);
     }
 }
@@ -1158,12 +1173,15 @@ static gboolean
 check_for_selection_change (GailEntry   *entry,
                             GtkEntry    *gtk_entry)
 {
-  gboolean ret_val = FALSE;
-  if (gtk_entry->current_pos != gtk_entry->selection_bound)
+  gboolean selected, ret_val = FALSE;
+  gint start_pos, end_pos;
+
+  selected = gtk_editable_get_selection_bounds (GTK_EDITABLE (gtk_entry),
+                                                &start_pos, &end_pos);
+  if (selected)
     {
-      if (gtk_entry->current_pos != entry->cursor_position ||
-          gtk_entry->selection_bound != entry->selection_bound)
+      if (end_pos != entry->cursor_position ||
+          start_pos != entry->selection_bound)
         /*
          * This check is here as this function can be called
          * for notification of selection_bound and current_pos.
@@ -1178,8 +1196,8 @@ check_for_selection_change (GailEntry   *entry,
       /* We had a selection */
       ret_val = (entry->cursor_position != entry->selection_bound);
     }
-  entry->cursor_position = gtk_entry->current_pos;
-  entry->selection_bound = gtk_entry->selection_bound;
+  entry->cursor_position = end_pos;
+  entry->selection_bound = start_pos;
 
   return ret_val;
 }
index 71410b162a9273c7df531e4d9bbab81d06c78be5..71503b6f4f6fe73248e010e8efb9c93b3eec4462 100644 (file)
@@ -7323,7 +7323,7 @@ msgstr "Si el focus d'entrada és en aquest GtkWindow"
 
 #: ../gtk/gtkwindow.c:752
 msgid "Type hint"
-msgstr "Tecleja pista"
+msgstr "Pista de tipus"
 
 #: ../gtk/gtkwindow.c:753
 msgid ""
index 167b722d56584b7ba765875801ec6e68b773b0d1..90b6d200b3d5da7b83f23824771a40a1d004edeb 100644 (file)
--- a/po/de.po
+++ b/po/de.po
 # Hendrik Brandt <heb@gnome-de.org>, 2004-2005.
 # Andre Klapper <ak-47@gmx.net>, 2008.
 # Mario Blättermann <mariobl@gnome.org>, 2009, 2010.
-# Christian Kirbach <Christian.Kirbach@googlemail.com>, 2009, 2010.
+# Christian Kirbach  <Christian.Kirbach@googlemail.com>, 2009, 2010.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: GTK+ master\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-01 15:41-0400\n"
-"PO-Revision-Date: 2010-07-18 20:34+0100\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk"
+"%2b&component=general\n"
+"POT-Creation-Date: 2010-11-15 19:11+0000\n"
+"PO-Revision-Date: 2010-11-23 20:48+0100\n"
 "Last-Translator: Mario Blättermann <mariobl@gnome.org>\n"
 "Language-Team: Deutsch <gnome-de@gnome.org>\n"
-"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Poedit-Language: German\n"
 "X-Poedit-Country: GERMANY\n"
 
-#: gdk/gdk.c:103
+#: ../gdk/gdk.c:103
 #, c-format
 msgid "Error parsing option --gdk-debug"
 msgstr "Fehler beim Verarbeiten der Option --gdk-debug"
 
-#: gdk/gdk.c:123
+#: ../gdk/gdk.c:123
 #, c-format
 msgid "Error parsing option --gdk-no-debug"
 msgstr "Fehler beim Verarbeiten der Option --gdk-no-debug"
 
 #. Description of --class=CLASS in --help output
-#: gdk/gdk.c:151
+#: ../gdk/gdk.c:151
 msgid "Program class as used by the window manager"
 msgstr "Programmklasse, die vom Fenstermanager benutzt wird"
 
 #. Placeholder in --class=CLASS in --help output
-#: gdk/gdk.c:152
+#: ../gdk/gdk.c:152
 msgid "CLASS"
 msgstr "KLASSE"
 
 #. Description of --name=NAME in --help output
-#: gdk/gdk.c:154
+#: ../gdk/gdk.c:154
 msgid "Program name as used by the window manager"
 msgstr "Programmname, der vom Fenstermanager benutzt wird"
 
 #. Placeholder in --name=NAME in --help output
-#: gdk/gdk.c:155
+#: ../gdk/gdk.c:155
 msgid "NAME"
 msgstr "NAME"
 
 #. Description of --display=DISPLAY in --help output
-#: gdk/gdk.c:157
+#: ../gdk/gdk.c:157
 msgid "X display to use"
 msgstr "X-Anzeige, die verwendet werden soll"
 
 #. Placeholder in --display=DISPLAY in --help output
-#: gdk/gdk.c:158
+#: ../gdk/gdk.c:158
 msgid "DISPLAY"
 msgstr "ANZEIGE"
 
 #. Description of --screen=SCREEN in --help output
-#: gdk/gdk.c:160
+#: ../gdk/gdk.c:160
 msgid "X screen to use"
 msgstr "X-Bildschirm, der verwendet werden soll"
 
 #. Placeholder in --screen=SCREEN in --help output
-#: gdk/gdk.c:161
+#: ../gdk/gdk.c:161
 msgid "SCREEN"
 msgstr "BILDSCHIRM"
 
 #. Description of --gdk-debug=FLAGS in --help output
-#: gdk/gdk.c:164
-#, fuzzy
+#: ../gdk/gdk.c:164
 msgid "GDK debugging flags to set"
-msgstr "Zu übergebende GTK+-Fehlerdiagnoseoptionen"
+msgstr "Zu übergebende GDK-Fehlerdiagnoseoptionen"
 
 #. Placeholder in --gdk-debug=FLAGS in --help output
 #. Placeholder in --gdk-no-debug=FLAGS in --help output
 #. Placeholder in --gtk-debug=FLAGS in --help output
 #. Placeholder in --gtk-no-debug=FLAGS in --help output
-#: gdk/gdk.c:165 gdk/gdk.c:168 gtk/gtkmain.c:533 gtk/gtkmain.c:536
+#: ../gdk/gdk.c:165 ../gdk/gdk.c:168 ../gtk/gtkmain.c:459 ../gtk/gtkmain.c:462
 msgid "FLAGS"
 msgstr "OPTIONEN"
 
 #. Description of --gdk-no-debug=FLAGS in --help output
-#: gdk/gdk.c:167
-#, fuzzy
+#: ../gdk/gdk.c:167
 msgid "GDK debugging flags to unset"
-msgstr "Nicht zu übergebende GTK+-Fehlerdiagnoseoptionen"
+msgstr "Nicht zu übergebende GDK-Fehlerdiagnoseoptionen"
 
-#: gdk/keyname-table.h:3940
+#: ../gdk/keyname-table.h:3940
 msgctxt "keyboard label"
 msgid "BackSpace"
 msgstr "Löschen"
 
-#: gdk/keyname-table.h:3941
+#: ../gdk/keyname-table.h:3941
 msgctxt "keyboard label"
 msgid "Tab"
 msgstr "Tabulator"
 
-#: gdk/keyname-table.h:3942
+#: ../gdk/keyname-table.h:3942
 msgctxt "keyboard label"
 msgid "Return"
 msgstr "Eingabe"
 
-#: gdk/keyname-table.h:3943
+#: ../gdk/keyname-table.h:3943
 msgctxt "keyboard label"
 msgid "Pause"
 msgstr "Pause"
 
-#: gdk/keyname-table.h:3944
+#: ../gdk/keyname-table.h:3944
 msgctxt "keyboard label"
 msgid "Scroll_Lock"
 msgstr "Rollen"
 
-#: gdk/keyname-table.h:3945
+#: ../gdk/keyname-table.h:3945
 msgctxt "keyboard label"
 msgid "Sys_Req"
 msgstr "S_Abf"
 
-#: gdk/keyname-table.h:3946
+#: ../gdk/keyname-table.h:3946
 msgctxt "keyboard label"
 msgid "Escape"
 msgstr "Esc"
 
-#: gdk/keyname-table.h:3947
+#: ../gdk/keyname-table.h:3947
 msgctxt "keyboard label"
 msgid "Multi_key"
 msgstr "Multifunktionstaste"
 
-#: gdk/keyname-table.h:3948
+#: ../gdk/keyname-table.h:3948
 msgctxt "keyboard label"
 msgid "Home"
 msgstr "Pos1"
 
-#: gdk/keyname-table.h:3949
+#: ../gdk/keyname-table.h:3949
 msgctxt "keyboard label"
 msgid "Left"
 msgstr "Links"
 
-#: gdk/keyname-table.h:3950
+#: ../gdk/keyname-table.h:3950
 msgctxt "keyboard label"
 msgid "Up"
 msgstr "Hoch"
 
-#: gdk/keyname-table.h:3951
+#: ../gdk/keyname-table.h:3951
 msgctxt "keyboard label"
 msgid "Right"
 msgstr "Rechts"
 
-#: gdk/keyname-table.h:3952
+#: ../gdk/keyname-table.h:3952
 msgctxt "keyboard label"
 msgid "Down"
 msgstr "Runter"
 
-#: gdk/keyname-table.h:3953
+#: ../gdk/keyname-table.h:3953
 msgctxt "keyboard label"
 msgid "Page_Up"
 msgstr "Bild_auf"
 
-#: gdk/keyname-table.h:3954
+#: ../gdk/keyname-table.h:3954
 msgctxt "keyboard label"
 msgid "Page_Down"
 msgstr "Bild_ab"
 
-#: gdk/keyname-table.h:3955
+#: ../gdk/keyname-table.h:3955
 msgctxt "keyboard label"
 msgid "End"
 msgstr "Ende"
 
-#: gdk/keyname-table.h:3956
+#: ../gdk/keyname-table.h:3956
 msgctxt "keyboard label"
 msgid "Begin"
 msgstr "Pos1"
 
-#: gdk/keyname-table.h:3957
+#: ../gdk/keyname-table.h:3957
 msgctxt "keyboard label"
 msgid "Print"
 msgstr "Drucken"
 
-#: gdk/keyname-table.h:3958
+#: ../gdk/keyname-table.h:3958
 msgctxt "keyboard label"
 msgid "Insert"
 msgstr "Einfg"
 
-#: gdk/keyname-table.h:3959
+#: ../gdk/keyname-table.h:3959
 msgctxt "keyboard label"
 msgid "Num_Lock"
 msgstr "Num_Lock"
 
-#: gdk/keyname-table.h:3960
+#: ../gdk/keyname-table.h:3960
 msgctxt "keyboard label"
 msgid "KP_Space"
 msgstr "NB_Leertaste"
 
-#: gdk/keyname-table.h:3961
+#: ../gdk/keyname-table.h:3961
 msgctxt "keyboard label"
 msgid "KP_Tab"
 msgstr "NB_Tab"
 
-#: gdk/keyname-table.h:3962
+#: ../gdk/keyname-table.h:3962
 msgctxt "keyboard label"
 msgid "KP_Enter"
 msgstr "NB_Eingabe"
 
-#: gdk/keyname-table.h:3963
+#: ../gdk/keyname-table.h:3963
 msgctxt "keyboard label"
 msgid "KP_Home"
 msgstr "NB_Pos1"
 
-#: gdk/keyname-table.h:3964
+#: ../gdk/keyname-table.h:3964
 msgctxt "keyboard label"
 msgid "KP_Left"
 msgstr "NB_Links"
 
-#: gdk/keyname-table.h:3965
+#: ../gdk/keyname-table.h:3965
 msgctxt "keyboard label"
 msgid "KP_Up"
 msgstr "NB_Hoch"
 
-#: gdk/keyname-table.h:3966
+#: ../gdk/keyname-table.h:3966
 msgctxt "keyboard label"
 msgid "KP_Right"
 msgstr "NB_Rechts"
 
-#: gdk/keyname-table.h:3967
+#: ../gdk/keyname-table.h:3967
 msgctxt "keyboard label"
 msgid "KP_Down"
 msgstr "NB_Runter"
 
-#: gdk/keyname-table.h:3968
+#: ../gdk/keyname-table.h:3968
 msgctxt "keyboard label"
 msgid "KP_Page_Up"
 msgstr "NB_Bild_auf"
 
-#: gdk/keyname-table.h:3969
+#: ../gdk/keyname-table.h:3969
 msgctxt "keyboard label"
 msgid "KP_Prior"
 msgstr "NB_Zurück"
 
-#: gdk/keyname-table.h:3970
+#: ../gdk/keyname-table.h:3970
 msgctxt "keyboard label"
 msgid "KP_Page_Down"
 msgstr "NB_Bild_ab"
 
-#: gdk/keyname-table.h:3971
+#: ../gdk/keyname-table.h:3971
 msgctxt "keyboard label"
 msgid "KP_Next"
 msgstr "NB_Vor"
 
-#: gdk/keyname-table.h:3972
+#: ../gdk/keyname-table.h:3972
 msgctxt "keyboard label"
 msgid "KP_End"
 msgstr "NB_Ende"
 
-#: gdk/keyname-table.h:3973
+#: ../gdk/keyname-table.h:3973
 msgctxt "keyboard label"
 msgid "KP_Begin"
 msgstr "NB_Pos1"
 
-#: gdk/keyname-table.h:3974
+#: ../gdk/keyname-table.h:3974
 msgctxt "keyboard label"
 msgid "KP_Insert"
 msgstr "NB_Einf"
 
-#: gdk/keyname-table.h:3975
+#: ../gdk/keyname-table.h:3975
 msgctxt "keyboard label"
 msgid "KP_Delete"
 msgstr "NB_Entf"
 
-#: gdk/keyname-table.h:3976
+#: ../gdk/keyname-table.h:3976
 msgctxt "keyboard label"
 msgid "Delete"
 msgstr "Entf"
 
 #. Description of --sync in --help output
-#: gdk/win32/gdkmain-win32.c:54
+#: ../gdk/win32/gdkmain-win32.c:54
 msgid "Don't batch GDI requests"
 msgstr "GDI-Anfragen nicht stapelweise verarbeiten"
 
 #. Description of --no-wintab in --help output
-#: gdk/win32/gdkmain-win32.c:56
+#: ../gdk/win32/gdkmain-win32.c:56
 msgid "Don't use the Wintab API for tablet support"
 msgstr "Wintab-API nicht für Tablettunterstützung benutzen"
 
 #. Description of --ignore-wintab in --help output
-#: gdk/win32/gdkmain-win32.c:58
+#: ../gdk/win32/gdkmain-win32.c:58
 msgid "Same as --no-wintab"
 msgstr "Entspricht --no-wintab"
 
 #. Description of --use-wintab in --help output
-#: gdk/win32/gdkmain-win32.c:60
+#: ../gdk/win32/gdkmain-win32.c:60
 msgid "Do use the Wintab API [default]"
 msgstr "Wintap-API benutzen [Standard]"
 
 #. Description of --max-colors=COLORS in --help output
-#: gdk/win32/gdkmain-win32.c:62
+#: ../gdk/win32/gdkmain-win32.c:62
 msgid "Size of the palette in 8 bit mode"
 msgstr "Größe der Palette im 8 Bit-Modus"
 
 #. Placeholder in --max-colors=COLORS in --help output
-#: gdk/win32/gdkmain-win32.c:63
+#: ../gdk/win32/gdkmain-win32.c:63
 msgid "COLORS"
 msgstr "FARBEN"
 
-#: gdk/x11/gdkapplaunchcontext-x11.c:312
+#. Description of --sync in --help output
+#: ../gdk/x11/gdkmain-x11.c:93
+msgid "Make X calls synchronous"
+msgstr "X-Aufrufe synchron verarbeiten"
+
+#: ../gdk/x11/gdkapplaunchcontext-x11.c:313
 #, c-format
 msgid "Starting %s"
 msgstr "%s wird gestartet"
 
-#: gdk/x11/gdkapplaunchcontext-x11.c:316
+#: ../gdk/x11/gdkapplaunchcontext-x11.c:317
 #, c-format
 msgid "Opening %s"
 msgstr "%s wird geöffnet"
 
-#: gdk/x11/gdkapplaunchcontext-x11.c:321
+#: ../gdk/x11/gdkapplaunchcontext-x11.c:322
 #, c-format
 msgid "Opening %d Item"
 msgid_plural "Opening %d Items"
 msgstr[0] "%d Objekt wird geöffnet"
 msgstr[1] "%d Objekte werden geöffnet"
 
-#. Description of --sync in --help output
-#: gdk/x11/gdkmain-x11.c:96
-msgid "Make X calls synchronous"
-msgstr "X-Aufrufe synchron verarbeiten"
-
-#. Translators: this is the license preamble; the string at the end
-#. * contains the URL of the license.
-#.
-#: gtk/gtkaboutdialog.c:101
-#, c-format
-msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s"
-msgstr ""
+#: ../gtk/gtkaboutdialog.c:242
+msgid "Could not show link"
+msgstr "Link konnte nicht angezeigt werden"
 
-#: gtk/gtkaboutdialog.c:339 gtk/gtkaboutdialog.c:2235
+#: ../gtk/gtkaboutdialog.c:365 ../gtk/gtkaboutdialog.c:2263
 msgid "License"
 msgstr "Lizenz"
 
-#: gtk/gtkaboutdialog.c:340
+#: ../gtk/gtkaboutdialog.c:366
 msgid "The license of the program"
 msgstr "Die Lizenz des Programms"
 
 #. Add the credits button
-#: gtk/gtkaboutdialog.c:621
+#: ../gtk/gtkaboutdialog.c:625
 msgid "C_redits"
 msgstr "_Mitwirkende"
 
 #. Add the license button
-#: gtk/gtkaboutdialog.c:635
+#: ../gtk/gtkaboutdialog.c:639
 msgid "_License"
 msgstr "_Lizenz"
 
-#: gtk/gtkaboutdialog.c:839
-msgid "Could not show link"
-msgstr "Link konnte nicht angezeigt werden"
-
-#: gtk/gtkaboutdialog.c:932
+#: ../gtk/gtkaboutdialog.c:917
 #, c-format
 msgid "About %s"
 msgstr "Info zu %s"
 
-#: gtk/gtkaboutdialog.c:2153
+#: ../gtk/gtkaboutdialog.c:2186
 msgid "Credits"
 msgstr "Mitwirkende"
 
-#: gtk/gtkaboutdialog.c:2185
+#: ../gtk/gtkaboutdialog.c:2215
 msgid "Written by"
 msgstr "Programm von"
 
-#: gtk/gtkaboutdialog.c:2188
+#: ../gtk/gtkaboutdialog.c:2218
 msgid "Documented by"
 msgstr "Dokumentation von"
 
-#: gtk/gtkaboutdialog.c:2200
+#: ../gtk/gtkaboutdialog.c:2230
 msgid "Translated by"
 msgstr "Übersetzung von"
 
-#: gtk/gtkaboutdialog.c:2204
+#: ../gtk/gtkaboutdialog.c:2234
 msgid "Artwork by"
 msgstr "Grafiken von"
 
@@ -396,7 +386,7 @@ msgstr "Grafiken von"
 #. * translated on keyboards used for your language, don't translate
 #. * this.
 #.
-#: gtk/gtkaccellabel.c:160
+#: ../gtk/gtkaccellabel.c:146
 msgctxt "keyboard label"
 msgid "Shift"
 msgstr "Umschalt"
@@ -406,7 +396,7 @@ msgstr "Umschalt"
 #. * translated on keyboards used for your language, don't translate
 #. * this.
 #.
-#: gtk/gtkaccellabel.c:166
+#: ../gtk/gtkaccellabel.c:152
 msgctxt "keyboard label"
 msgid "Ctrl"
 msgstr "Strg"
@@ -416,7 +406,7 @@ msgstr "Strg"
 #. * translated on keyboards used for your language, don't translate
 #. * this.
 #.
-#: gtk/gtkaccellabel.c:172
+#: ../gtk/gtkaccellabel.c:158
 msgctxt "keyboard label"
 msgid "Alt"
 msgstr "Alt"
@@ -426,7 +416,7 @@ msgstr "Alt"
 #. * translated on keyboards used for your language, don't translate
 #. * this.
 #.
-#: gtk/gtkaccellabel.c:770
+#: ../gtk/gtkaccellabel.c:743
 msgctxt "keyboard label"
 msgid "Super"
 msgstr "Super"
@@ -436,7 +426,7 @@ msgstr "Super"
 #. * translated on keyboards used for your language, don't translate
 #. * this.
 #.
-#: gtk/gtkaccellabel.c:783
+#: ../gtk/gtkaccellabel.c:756
 msgctxt "keyboard label"
 msgid "Hyper"
 msgstr "Hyper"
@@ -446,37 +436,37 @@ msgstr "Hyper"
 #. * translated on keyboards used for your language, don't translate
 #. * this.
 #.
-#: gtk/gtkaccellabel.c:797
+#: ../gtk/gtkaccellabel.c:770
 msgctxt "keyboard label"
 msgid "Meta"
 msgstr "Meta"
 
-#: gtk/gtkaccellabel.c:813
+#: ../gtk/gtkaccellabel.c:787
 msgctxt "keyboard label"
 msgid "Space"
 msgstr "Leertaste"
 
-#: gtk/gtkaccellabel.c:816
+#: ../gtk/gtkaccellabel.c:790
 msgctxt "keyboard label"
 msgid "Backslash"
 msgstr "Backslash"
 
-#: gtk/gtkbuilderparser.c:343
+#: ../gtk/gtkbuilderparser.c:343
 #, c-format
 msgid "Invalid type function on line %d: '%s'"
 msgstr "Ungültige Typfunktion in Zeile %d: »%s«"
 
-#: gtk/gtkbuilderparser.c:407
-#, fuzzy, c-format
+#: ../gtk/gtkbuilderparser.c:407
+#, c-format
 msgid "Duplicate object ID '%s' on line %d (previously on line %d)"
 msgstr "Doppelte Objektkennung »%s« in Zeile %d (zuvor in Zeile %d)"
 
-#: gtk/gtkbuilderparser.c:859
+#: ../gtk/gtkbuilderparser.c:859
 #, c-format
 msgid "Invalid root element: '%s'"
 msgstr "Ungültiges Wurzelelement: »%s«"
 
-#: gtk/gtkbuilderparser.c:898
+#: ../gtk/gtkbuilderparser.c:898
 #, c-format
 msgid "Unhandled tag: '%s'"
 msgstr "Unverwalteter Tag: »%s«"
@@ -491,7 +481,7 @@ msgstr "Unverwalteter Tag: »%s«"
 #. * text direction of RTL and specify "calendar:YM", then the year
 #. * will appear to the right of the month.
 #.
-#: gtk/gtkcalendar.c:883
+#: ../gtk/gtkcalendar.c:799
 msgid "calendar:MY"
 msgstr "calendar:MY"
 
@@ -499,7 +489,7 @@ msgstr "calendar:MY"
 #. * first day of the week to calendar:week_start:1 if you want Monday
 #. * to be the first day of the week, and so on.
 #.
-#: gtk/gtkcalendar.c:921
+#: ../gtk/gtkcalendar.c:837
 msgid "calendar:week_start:0"
 msgstr "calendar:week_start:1"
 
@@ -508,7 +498,7 @@ msgstr "calendar:week_start:1"
 #. *
 #. * If you don't understand this, leave it as "2000"
 #.
-#: gtk/gtkcalendar.c:2006
+#: ../gtk/gtkcalendar.c:1890
 msgctxt "year measurement template"
 msgid "2000"
 msgstr "2000"
@@ -523,7 +513,7 @@ msgstr "2000"
 #. * digits. That needs support from your system and locale definition
 #. * too.
 #.
-#: gtk/gtkcalendar.c:2037 gtk/gtkcalendar.c:2719
+#: ../gtk/gtkcalendar.c:1921 ../gtk/gtkcalendar.c:2584
 #, c-format
 msgctxt "calendar:day:digits"
 msgid "%d"
@@ -539,7 +529,7 @@ msgstr "%d"
 #. * digits. That needs support from your system and locale definition
 #. * too.
 #.
-#: gtk/gtkcalendar.c:2069 gtk/gtkcalendar.c:2579
+#: ../gtk/gtkcalendar.c:1953 ../gtk/gtkcalendar.c:2447
 #, c-format
 msgctxt "calendar:week:digits"
 msgid "%d"
@@ -555,7 +545,7 @@ msgstr "%d"
 #. *
 #. * "%Y" is appropriate for most locales.
 #.
-#: gtk/gtkcalendar.c:2361
+#: ../gtk/gtkcalendar.c:2235
 msgctxt "calendar year format"
 msgid "%Y"
 msgstr "%Y"
@@ -563,7 +553,7 @@ msgstr "%Y"
 #. This label is displayed in a treeview cell displaying
 #. * a disabled accelerator key combination.
 #.
-#: gtk/gtkcellrendereraccel.c:272
+#: ../gtk/gtkcellrendereraccel.c:244
 msgctxt "Accelerator"
 msgid "Disabled"
 msgstr "Deaktiviert"
@@ -572,7 +562,7 @@ msgstr "Deaktiviert"
 #. * an accelerator key combination that is not valid according
 #. * to gtk_accelerator_valid().
 #.
-#: gtk/gtkcellrendereraccel.c:282
+#: ../gtk/gtkcellrendereraccel.c:254
 msgctxt "Accelerator"
 msgid "Invalid"
 msgstr "Ungültig"
@@ -581,25 +571,25 @@ msgstr "Ungültig"
 #. * an accelerator when the cell is clicked to change the
 #. * acelerator.
 #.
-#: gtk/gtkcellrendereraccel.c:418 gtk/gtkcellrendereraccel.c:675
+#: ../gtk/gtkcellrendereraccel.c:389 ../gtk/gtkcellrendereraccel.c:603
 msgid "New accelerator..."
 msgstr "Neue Tastenkombination …"
 
-#: gtk/gtkcellrendererprogress.c:362 gtk/gtkcellrendererprogress.c:452
+#: ../gtk/gtkcellrendererprogress.c:361 ../gtk/gtkcellrendererprogress.c:448
 #, c-format
 msgctxt "progress bar label"
 msgid "%d %%"
 msgstr "%d %%"
 
-#: gtk/gtkcolorbutton.c:176 gtk/gtkcolorbutton.c:445
+#: ../gtk/gtkcolorbutton.c:178 ../gtk/gtkcolorbutton.c:457
 msgid "Pick a Color"
 msgstr "Wählen Sie eine Farbe"
 
-#: gtk/gtkcolorbutton.c:336
+#: ../gtk/gtkcolorbutton.c:350
 msgid "Received invalid color data\n"
 msgstr "Ungültige Farbdaten erhalten\n"
 
-#: gtk/gtkcolorsel.c:384
+#: ../gtk/gtkcolorsel.c:363
 msgid ""
 "Select the color you want from the outer ring. Select the darkness or "
 "lightness of that color using the inner triangle."
@@ -608,7 +598,7 @@ msgstr ""
 "Helligkeit dieser Farbe mit dem inneren Dreieck."
 
 # gtk/gtkcolor
-#: gtk/gtkcolorsel.c:408
+#: ../gtk/gtkcolorsel.c:387
 msgid ""
 "Click the eyedropper, then click a color anywhere on your screen to select "
 "that color."
@@ -616,67 +606,67 @@ msgstr ""
 "Klicken Sie auf die Pipette und dann Sie auf eine Farbe irgendwo auf Ihrem "
 "Bildschirm, um sie auszuwählen"
 
-#: gtk/gtkcolorsel.c:417
+#: ../gtk/gtkcolorsel.c:396
 msgid "_Hue:"
 msgstr "_Ton:"
 
-#: gtk/gtkcolorsel.c:418
+#: ../gtk/gtkcolorsel.c:397
 msgid "Position on the color wheel."
 msgstr "Die Position auf dem Farbrad."
 
-#: gtk/gtkcolorsel.c:420
+#: ../gtk/gtkcolorsel.c:399
 msgid "_Saturation:"
 msgstr "_Sättigung:"
 
-#: gtk/gtkcolorsel.c:421
-msgid "Intensity of the color."
-msgstr "Intensität der Farbe."
+#: ../gtk/gtkcolorsel.c:400
+msgid "\"Deepness\" of the color."
+msgstr "Die »Tiefe« der Farbe."
 
-#: gtk/gtkcolorsel.c:422
+#: ../gtk/gtkcolorsel.c:401
 msgid "_Value:"
 msgstr "_Wert:"
 
-#: gtk/gtkcolorsel.c:423
+#: ../gtk/gtkcolorsel.c:402
 msgid "Brightness of the color."
 msgstr "Die Helligkeit der Farbe."
 
-#: gtk/gtkcolorsel.c:424
+#: ../gtk/gtkcolorsel.c:403
 msgid "_Red:"
 msgstr "_Rot:"
 
-#: gtk/gtkcolorsel.c:425
+#: ../gtk/gtkcolorsel.c:404
 msgid "Amount of red light in the color."
 msgstr "Der Rotanteil der Farbe."
 
-#: gtk/gtkcolorsel.c:426
+#: ../gtk/gtkcolorsel.c:405
 msgid "_Green:"
 msgstr "_Grün:"
 
-#: gtk/gtkcolorsel.c:427
+#: ../gtk/gtkcolorsel.c:406
 msgid "Amount of green light in the color."
 msgstr "Der Grünanteil der Farbe."
 
-#: gtk/gtkcolorsel.c:428
+#: ../gtk/gtkcolorsel.c:407
 msgid "_Blue:"
 msgstr "_Blau:"
 
-#: gtk/gtkcolorsel.c:429
+#: ../gtk/gtkcolorsel.c:408
 msgid "Amount of blue light in the color."
 msgstr "Der Blauanteil der Farbe."
 
-#: gtk/gtkcolorsel.c:432
+#: ../gtk/gtkcolorsel.c:411
 msgid "Op_acity:"
 msgstr "_Deckkraft:"
 
-#: gtk/gtkcolorsel.c:439 gtk/gtkcolorsel.c:449
+#: ../gtk/gtkcolorsel.c:418 ../gtk/gtkcolorsel.c:428
 msgid "Transparency of the color."
 msgstr "Transparenz der Farbe."
 
-#: gtk/gtkcolorsel.c:456
+#: ../gtk/gtkcolorsel.c:435
 msgid "Color _name:"
 msgstr "Farb_name:"
 
-#: gtk/gtkcolorsel.c:470
+#: ../gtk/gtkcolorsel.c:449
 msgid ""
 "You can enter an HTML-style hexadecimal color value, or simply a color name "
 "such as 'orange' in this entry."
@@ -684,25 +674,25 @@ msgstr ""
 "Sie können in diesem Feld einen hexadezimalen Farbwert wie bei HTML oder "
 "einen Farbnamen wie »orange« eingeben."
 
-#: gtk/gtkcolorsel.c:500
+#: ../gtk/gtkcolorsel.c:479
 msgid "_Palette:"
 msgstr "_Palette:"
 
-#: gtk/gtkcolorsel.c:529
+#: ../gtk/gtkcolorsel.c:508
 msgid "Color Wheel"
 msgstr "Farbrad"
 
-#: gtk/gtkcolorsel.c:988
+#: ../gtk/gtkcolorsel.c:967
 msgid ""
 "The previously-selected color, for comparison to the color you're selecting "
 "now. You can drag this color to a palette entry, or select this color as "
 "current by dragging it to the other color swatch alongside."
 msgstr ""
 "Die zuvor gewählte Farbe im Vergleich mit der Farbe, die Sie nun auswählen. "
-"Sie können diese Farbe auf einen Paletteneintrag ziehen, oder sie als "
-"aktuell auswählen, indem Sie sie auf den anderen Farbfleck daneben ziehen."
+"Sie können diese Farbe auf einen Paletteneintrag ziehen, oder sie als aktuell "
+"auswählen, indem Sie sie auf den anderen Farbfleck daneben ziehen."
 
-#: gtk/gtkcolorsel.c:991
+#: ../gtk/gtkcolorsel.c:970
 msgid ""
 "The color you've chosen. You can drag this color to a palette entry to save "
 "it for use in the future."
@@ -710,31 +700,31 @@ msgstr ""
 "Die von Ihnen gewählte Farbe. Sie können diese Farbe auf einen "
 "Paletteneintrag ziehen, um sie für späteren Gebrauch zu speichern."
 
-#: gtk/gtkcolorsel.c:996
+#: ../gtk/gtkcolorsel.c:975
 msgid ""
 "The previously-selected color, for comparison to the color you're selecting "
 "now."
 msgstr ""
 "Die vorher gewählte Farbe, für Vergleichszwecke zur aktuell gewählten Farbe."
 
-#: gtk/gtkcolorsel.c:999
+#: ../gtk/gtkcolorsel.c:978
 msgid "The color you've chosen."
 msgstr "Die von Ihnen gewählte Farbe."
 
-#: gtk/gtkcolorsel.c:1396
+#: ../gtk/gtkcolorsel.c:1391
 msgid "_Save color here"
 msgstr "Farbe hier _speichern"
 
-#: gtk/gtkcolorsel.c:1601
+#: ../gtk/gtkcolorsel.c:1596
 msgid ""
 "Click this palette entry to make it the current color. To change this entry, "
 "drag a color swatch here or right-click it and select \"Save color here.\""
 msgstr ""
-"Klicken Sie auf diesen Paletteneintrag, um ihn zur aktuellen Farbe zu "
-"machen. Ziehen Sie einen Farbfleck auf diesen Eintrag oder klicken Sie mit "
-"rechts darauf und wählen Sie »Farbe hier speichern«, um ihn zu ändern."
+"Klicken Sie auf diesen Paletteneintrag, um ihn zur aktuellen Farbe zu machen. "
+"Ziehen Sie einen Farbfleck auf diesen Eintrag oder klicken Sie mit rechts "
+"darauf und wählen Sie »Farbe hier speichern«, um ihn zu ändern."
 
-#: gtk/gtkcolorseldialog.c:189
+#: ../gtk/gtkcolorseldialog.c:170
 msgid "Color Selection"
 msgstr "Farbwahl"
 
@@ -744,126 +734,115 @@ msgstr "Farbwahl"
 #. * Do *not* translate it to "predefinito:mm", if it
 #. * it isn't default:mm or default:inch it will not work
 #.
-#: gtk/gtkcustompaperunixdialog.c:116
+#: ../gtk/gtkcustompaperunixdialog.c:118
 msgid "default:mm"
 msgstr "default:mm"
 
 #. And show the custom paper dialog
-#: gtk/gtkcustompaperunixdialog.c:374 gtk/gtkprintunixdialog.c:3233
+#: ../gtk/gtkcustompaperunixdialog.c:373 ../gtk/gtkprintunixdialog.c:3233
 msgid "Manage Custom Sizes"
 msgstr "Benutzerdefinierte Größen verwalten"
 
-#: gtk/gtkcustompaperunixdialog.c:534 gtk/gtkpagesetupunixdialog.c:790
+#: ../gtk/gtkcustompaperunixdialog.c:533 ../gtk/gtkpagesetupunixdialog.c:778
 msgid "inch"
 msgstr "Zoll"
 
-#: gtk/gtkcustompaperunixdialog.c:536 gtk/gtkpagesetupunixdialog.c:788
+#: ../gtk/gtkcustompaperunixdialog.c:535 ../gtk/gtkpagesetupunixdialog.c:776
 msgid "mm"
 msgstr "mm"
 
 # CHECK
-#: gtk/gtkcustompaperunixdialog.c:581
+#: ../gtk/gtkcustompaperunixdialog.c:580
 msgid "Margins from Printer..."
 msgstr "Ränder des Druckers …"
 
-#: gtk/gtkcustompaperunixdialog.c:747
+#: ../gtk/gtkcustompaperunixdialog.c:746
 #, c-format
 msgid "Custom Size %d"
 msgstr "Benutzerdefinierte Größe %d"
 
-#: gtk/gtkcustompaperunixdialog.c:1059
+#: ../gtk/gtkcustompaperunixdialog.c:1054
 msgid "_Width:"
 msgstr "_Breite:"
 
-#: gtk/gtkcustompaperunixdialog.c:1071
+#: ../gtk/gtkcustompaperunixdialog.c:1066
 msgid "_Height:"
 msgstr "_Höhe:"
 
-#: gtk/gtkcustompaperunixdialog.c:1083
+#: ../gtk/gtkcustompaperunixdialog.c:1078
 msgid "Paper Size"
 msgstr "Papiergröße"
 
-#: gtk/gtkcustompaperunixdialog.c:1092
+#: ../gtk/gtkcustompaperunixdialog.c:1087
 msgid "_Top:"
 msgstr "_Oben:"
 
-#: gtk/gtkcustompaperunixdialog.c:1104
+#: ../gtk/gtkcustompaperunixdialog.c:1099
 msgid "_Bottom:"
 msgstr "_Unten:"
 
-#: gtk/gtkcustompaperunixdialog.c:1116
+#: ../gtk/gtkcustompaperunixdialog.c:1111
 msgid "_Left:"
 msgstr "_Links:"
 
-#: gtk/gtkcustompaperunixdialog.c:1128
+#: ../gtk/gtkcustompaperunixdialog.c:1123
 msgid "_Right:"
 msgstr "_Rechts:"
 
-#: gtk/gtkcustompaperunixdialog.c:1169
+#: ../gtk/gtkcustompaperunixdialog.c:1164
 msgid "Paper Margins"
 msgstr "Papierränder"
 
-#: gtk/gtkentry.c:8601 gtk/gtktextview.c:8248
+#: ../gtk/gtkentry.c:8751 ../gtk/gtktextview.c:7974
 msgid "Input _Methods"
 msgstr "Eingabe_methoden"
 
-#: gtk/gtkentry.c:8615 gtk/gtktextview.c:8262
+#: ../gtk/gtkentry.c:8765 ../gtk/gtktextview.c:7988
 msgid "_Insert Unicode Control Character"
 msgstr "_Unicode-Steuerzeichen einfügen"
 
-#: gtk/gtkentry.c:10015
-msgid "Caps Lock and Num Lock are on"
-msgstr "Feststelltaste und Nummernblock-Feststelltaste sind aktiviert"
-
-#: gtk/gtkentry.c:10017
-msgid "Num Lock is on"
-msgstr "Nummernblock-Feststelltaste ist aktiviert"
-
-#: gtk/gtkentry.c:10019
+#: ../gtk/gtkentry.c:10144
 msgid "Caps Lock is on"
 msgstr "Feststelltaste ist aktiviert"
 
-#. **************** *
-#. *  Private Macros  *
-#. * ****************
-#: gtk/gtkfilechooserbutton.c:61
+#: ../gtk/gtkfilechooserbutton.c:64
 msgid "Select A File"
 msgstr "Datei auswählen"
 
-#: gtk/gtkfilechooserbutton.c:62 gtk/gtkfilechooserdefault.c:1812
+#: ../gtk/gtkfilechooserbutton.c:65 ../gtk/gtkfilechooserdefault.c:1852
 msgid "Desktop"
 msgstr "Desktop"
 
-#: gtk/gtkfilechooserbutton.c:63
+#: ../gtk/gtkfilechooserbutton.c:66
 msgid "(None)"
 msgstr "(keine)"
 
-#: gtk/gtkfilechooserbutton.c:2005
+#: ../gtk/gtkfilechooserbutton.c:2024
 msgid "Other..."
 msgstr "Andere …"
 
 # CHECK
-#: gtk/gtkfilechooserdefault.c:148
+#: ../gtk/gtkfilechooserdefault.c:148
 msgid "Type name of new folder"
 msgstr "Geben Sie den neuen Ordnernamen ein"
 
-#: gtk/gtkfilechooserdefault.c:938
+#: ../gtk/gtkfilechooserdefault.c:965
 msgid "Could not retrieve information about the file"
 msgstr "Es konnten keine Informationen zu dieser Datei abgerufen werden"
 
-#: gtk/gtkfilechooserdefault.c:949
+#: ../gtk/gtkfilechooserdefault.c:976
 msgid "Could not add a bookmark"
 msgstr "Lesezeichen konnte nicht hinzugefügt werden"
 
-#: gtk/gtkfilechooserdefault.c:960
+#: ../gtk/gtkfilechooserdefault.c:987
 msgid "Could not remove bookmark"
 msgstr "Das Lesezeichen konnte nicht entfernt werden"
 
-#: gtk/gtkfilechooserdefault.c:971
+#: ../gtk/gtkfilechooserdefault.c:998
 msgid "The folder could not be created"
 msgstr "Der Ordner konnte nicht angelegt werden"
 
-#: gtk/gtkfilechooserdefault.c:984
+#: ../gtk/gtkfilechooserdefault.c:1011
 msgid ""
 "The folder could not be created, as a file with the same name already "
 "exists.  Try using a different name for the folder, or rename the file first."
@@ -872,11 +851,19 @@ msgstr ""
 "Namen gibt. Versuchen Sie einen anderen Namen für den Ordner oder benennen "
 "Sie die Datei erst um."
 
-#: gtk/gtkfilechooserdefault.c:995
+#: ../gtk/gtkfilechooserdefault.c:1025
+msgid ""
+"You may only select folders.  The item that you selected is not a folder; try "
+"using a different item."
+msgstr ""
+"Sie dürfen nur Ordner auswählen. Das von Ihnen ausgewählte Objekt ist kein "
+"Ordner. Versuchen Sie, ein anderes Objekt auszuwählen."
+
+#: ../gtk/gtkfilechooserdefault.c:1035
 msgid "Invalid file name"
 msgstr "Ungültiger Dateiname"
 
-#: gtk/gtkfilechooserdefault.c:1005
+#: ../gtk/gtkfilechooserdefault.c:1045
 msgid "The folder contents could not be displayed"
 msgstr "Der Ordnerinhalt konnte nicht angezeigt werden"
 
@@ -884,189 +871,189 @@ msgstr "Der Ordnerinhalt konnte nicht angezeigt werden"
 #. * is a hostname. Nautilus and the panel contain the same string
 #. * to translate.
 #.
-#: gtk/gtkfilechooserdefault.c:1555
+#: ../gtk/gtkfilechooserdefault.c:1595
 #, c-format
 msgid "%1$s on %2$s"
 msgstr "%1$s, %2$s"
 
-#: gtk/gtkfilechooserdefault.c:1731
+#: ../gtk/gtkfilechooserdefault.c:1771
 msgid "Search"
 msgstr "Suchen"
 
-#: gtk/gtkfilechooserdefault.c:1755 gtk/gtkfilechooserdefault.c:9289
+#: ../gtk/gtkfilechooserdefault.c:1795 ../gtk/gtkfilechooserdefault.c:9533
 msgid "Recently Used"
 msgstr "Zuletzt verwendet"
 
-#: gtk/gtkfilechooserdefault.c:2409
+#: ../gtk/gtkfilechooserdefault.c:2435
 msgid "Select which types of files are shown"
 msgstr "Wählen Sie die anzuzeigenden Dateitypen"
 
-#: gtk/gtkfilechooserdefault.c:2768
+#: ../gtk/gtkfilechooserdefault.c:2794
 #, c-format
 msgid "Add the folder '%s' to the bookmarks"
 msgstr "Ordner »%s« zu den Lesezeichen hinzufügen"
 
-#: gtk/gtkfilechooserdefault.c:2812
+#: ../gtk/gtkfilechooserdefault.c:2838
 #, c-format
 msgid "Add the current folder to the bookmarks"
 msgstr "Aktuellen Ordner zu den Lesezeichen hinzufügen"
 
-#: gtk/gtkfilechooserdefault.c:2814
+#: ../gtk/gtkfilechooserdefault.c:2840
 #, c-format
 msgid "Add the selected folders to the bookmarks"
 msgstr "Ausgewählte Ordner zu den Lesezeichen hinzufügen"
 
-#: gtk/gtkfilechooserdefault.c:2852
+#: ../gtk/gtkfilechooserdefault.c:2878
 #, c-format
 msgid "Remove the bookmark '%s'"
 msgstr "Lesezeichen »%s« entfernen"
 
-#: gtk/gtkfilechooserdefault.c:2854
+#: ../gtk/gtkfilechooserdefault.c:2880
 #, c-format
 msgid "Bookmark '%s' cannot be removed"
 msgstr "Lesezeichen »%s« kann nicht entfernt werden"
 
-#: gtk/gtkfilechooserdefault.c:2861 gtk/gtkfilechooserdefault.c:3725
+#: ../gtk/gtkfilechooserdefault.c:2887 ../gtk/gtkfilechooserdefault.c:3911
 msgid "Remove the selected bookmark"
 msgstr "Ausgewähltes Lesezeichen entfernen"
 
-#: gtk/gtkfilechooserdefault.c:3421
+#: ../gtk/gtkfilechooserdefault.c:3607
 msgid "Remove"
 msgstr "Entfernen"
 
-#: gtk/gtkfilechooserdefault.c:3430
+#: ../gtk/gtkfilechooserdefault.c:3616
 msgid "Rename..."
 msgstr "Umbenennen …"
 
 #. Accessible object name for the file chooser's shortcuts pane
-#: gtk/gtkfilechooserdefault.c:3593
+#: ../gtk/gtkfilechooserdefault.c:3779
 msgid "Places"
 msgstr "Orte"
 
 #. Column header for the file chooser's shortcuts pane
-#: gtk/gtkfilechooserdefault.c:3650
+#: ../gtk/gtkfilechooserdefault.c:3836
 msgid "_Places"
 msgstr "_Orte"
 
-#: gtk/gtkfilechooserdefault.c:3706
+#: ../gtk/gtkfilechooserdefault.c:3892
 msgid "_Add"
 msgstr "_Hinzufügen"
 
-#: gtk/gtkfilechooserdefault.c:3713
+#: ../gtk/gtkfilechooserdefault.c:3899
 msgid "Add the selected folder to the Bookmarks"
 msgstr "Den ausgewählten Ordner zu den Lesezeichen hinzufügen"
 
-#: gtk/gtkfilechooserdefault.c:3718
+#: ../gtk/gtkfilechooserdefault.c:3904
 msgid "_Remove"
 msgstr "_Entfernen"
 
-#: gtk/gtkfilechooserdefault.c:3860
+#: ../gtk/gtkfilechooserdefault.c:4039
 msgid "Could not select file"
 msgstr "Datei konnte nicht ausgewählt werden"
 
-#: gtk/gtkfilechooserdefault.c:4035
+#: ../gtk/gtkfilechooserdefault.c:4214
 msgid "_Add to Bookmarks"
 msgstr "Zu Lesezeichen _hinzufügen"
 
-#: gtk/gtkfilechooserdefault.c:4048
+#: ../gtk/gtkfilechooserdefault.c:4227
 msgid "Show _Hidden Files"
 msgstr "_Verborgene Dateien anzeigen"
 
-#: gtk/gtkfilechooserdefault.c:4055
+#: ../gtk/gtkfilechooserdefault.c:4234
 msgid "Show _Size Column"
 msgstr "Spalte »_Größe« anzeigen"
 
-#: gtk/gtkfilechooserdefault.c:4281
+#: ../gtk/gtkfilechooserdefault.c:4454 ../gtk/gtkfilesel.c:730
 msgid "Files"
 msgstr "Dateien"
 
-#: gtk/gtkfilechooserdefault.c:4332
+#: ../gtk/gtkfilechooserdefault.c:4505
 msgid "Name"
 msgstr "Name"
 
-#: gtk/gtkfilechooserdefault.c:4355
+#: ../gtk/gtkfilechooserdefault.c:4528
 msgid "Size"
 msgstr "Größe"
 
 # CHECK
-#: gtk/gtkfilechooserdefault.c:4369
+#: ../gtk/gtkfilechooserdefault.c:4542
 msgid "Modified"
 msgstr "Letzte Änderung"
 
 #. Label
-#: gtk/gtkfilechooserdefault.c:4624 gtk/gtkprinteroptionwidget.c:801
+#: ../gtk/gtkfilechooserdefault.c:4797 ../gtk/gtkprinteroptionwidget.c:802
 msgid "_Name:"
 msgstr "_Name:"
 
-#: gtk/gtkfilechooserdefault.c:4667
+#: ../gtk/gtkfilechooserdefault.c:4840
 msgid "_Browse for other folders"
 msgstr "Ordner-_Browser"
 
-#: gtk/gtkfilechooserdefault.c:4937
+#: ../gtk/gtkfilechooserdefault.c:5110
 msgid "Type a file name"
 msgstr "Geben Sie einen Dateinamen an"
 
 #. Create Folder
-#: gtk/gtkfilechooserdefault.c:4980
+#: ../gtk/gtkfilechooserdefault.c:5153
 msgid "Create Fo_lder"
 msgstr "Ordner anle_gen"
 
-#: gtk/gtkfilechooserdefault.c:4990
+#: ../gtk/gtkfilechooserdefault.c:5163
 msgid "_Location:"
 msgstr "_Ort:"
 
-#: gtk/gtkfilechooserdefault.c:5194
+#: ../gtk/gtkfilechooserdefault.c:5367
 msgid "Save in _folder:"
 msgstr "In _Ordner speichern:"
 
-#: gtk/gtkfilechooserdefault.c:5196
+#: ../gtk/gtkfilechooserdefault.c:5369
 msgid "Create in _folder:"
 msgstr "In _Ordner anlegen"
 
-#: gtk/gtkfilechooserdefault.c:6248
+#: ../gtk/gtkfilechooserdefault.c:6444
 #, c-format
 msgid "Could not read the contents of %s"
 msgstr "Inhalt von %s konnte nicht gelesen werden"
 
-#: gtk/gtkfilechooserdefault.c:6252
+#: ../gtk/gtkfilechooserdefault.c:6448
 msgid "Could not read the contents of the folder"
 msgstr "Inhalt des Ordners konnte nicht gelesen werden"
 
-#: gtk/gtkfilechooserdefault.c:6345 gtk/gtkfilechooserdefault.c:6413
-#: gtk/gtkfilechooserdefault.c:6558
+#: ../gtk/gtkfilechooserdefault.c:6541 ../gtk/gtkfilechooserdefault.c:6609
+#: ../gtk/gtkfilechooserdefault.c:6754
 msgid "Unknown"
 msgstr "Unbekannt"
 
-#: gtk/gtkfilechooserdefault.c:6360
+#: ../gtk/gtkfilechooserdefault.c:6556
 msgid "%H:%M"
 msgstr "%H:%M"
 
-#: gtk/gtkfilechooserdefault.c:6362
+#: ../gtk/gtkfilechooserdefault.c:6558
 msgid "Yesterday at %H:%M"
 msgstr "Gestern um %H:%M"
 
-#: gtk/gtkfilechooserdefault.c:7028
+#: ../gtk/gtkfilechooserdefault.c:7224
 msgid "Cannot change to folder because it is not local"
 msgstr ""
 "Es konnte nicht in den angegebenen Ordner gewechselt werden, da dieser nicht "
 "lokal ist."
 
-#: gtk/gtkfilechooserdefault.c:7625 gtk/gtkfilechooserdefault.c:7646
+#: ../gtk/gtkfilechooserdefault.c:7821 ../gtk/gtkfilechooserdefault.c:7842
 #, c-format
 msgid "Shortcut %s already exists"
 msgstr "Das Lesezeichen %s existiert bereits"
 
-#: gtk/gtkfilechooserdefault.c:7736
+#: ../gtk/gtkfilechooserdefault.c:7932
 #, c-format
 msgid "Shortcut %s does not exist"
 msgstr "Das Lesezeichen %s existiert nicht"
 
-#: gtk/gtkfilechooserdefault.c:7997 gtk/gtkprintunixdialog.c:480
+#: ../gtk/gtkfilechooserdefault.c:8187 ../gtk/gtkprintunixdialog.c:480
 #, c-format
 msgid "A file named \"%s\" already exists.  Do you want to replace it?"
 msgstr "Eine Datei namens »%s« existiert bereits. Möchten Sie diese ersetzen?"
 
-#: gtk/gtkfilechooserdefault.c:8000 gtk/gtkprintunixdialog.c:484
+#: ../gtk/gtkfilechooserdefault.c:8190 ../gtk/gtkprintunixdialog.c:484
 #, c-format
 msgid ""
 "The file already exists in \"%s\".  Replacing it will overwrite its contents."
@@ -1074,15 +1061,15 @@ msgstr ""
 "Die Datei existiert bereits in »%s«. Durch ihr Ersetzen wird sämtlicher "
 "Inhalt überschrieben."
 
-#: gtk/gtkfilechooserdefault.c:8005 gtk/gtkprintunixdialog.c:491
+#: ../gtk/gtkfilechooserdefault.c:8195 ../gtk/gtkprintunixdialog.c:491
 msgid "_Replace"
 msgstr "_Ersetzen"
 
-#: gtk/gtkfilechooserdefault.c:8658
+#: ../gtk/gtkfilechooserdefault.c:8902
 msgid "Could not start the search process"
 msgstr "Der Suchprozess konnte nicht gestartet werden"
 
-#: gtk/gtkfilechooserdefault.c:8659
+#: ../gtk/gtkfilechooserdefault.c:8903
 msgid ""
 "The program was not able to create a connection to the indexer daemon.  "
 "Please make sure it is running."
@@ -1090,36 +1077,36 @@ msgstr ""
 "Es konnte keine Verbindung zum Indexer-Dienst hergestellt werden. Bitte "
 "stellen Sie sicher, dass er läuft."
 
-#: gtk/gtkfilechooserdefault.c:8673
+#: ../gtk/gtkfilechooserdefault.c:8917
 msgid "Could not send the search request"
 msgstr "Die Suchanfrage konnte nicht gestellt werden"
 
-#: gtk/gtkfilechooserdefault.c:8861
+#: ../gtk/gtkfilechooserdefault.c:9105
 msgid "Search:"
 msgstr "Suchen:"
 
-#: gtk/gtkfilechooserdefault.c:9466
+#: ../gtk/gtkfilechooserdefault.c:9710
 #, c-format
 msgid "Could not mount %s"
 msgstr "%s konnte nicht eingebunden werden"
 
 #. Translators: this is shown in the feedback for Tab-completion in a file
 #. * chooser's text entry, when the user enters an invalid path.
-#: gtk/gtkfilechooserentry.c:702 gtk/gtkfilechooserentry.c:1169
+#: ../gtk/gtkfilechooserentry.c:700 ../gtk/gtkfilechooserentry.c:1166
 msgid "Invalid path"
 msgstr "Ungültiger Pfad"
 
 #. translators: this text is shown when there are no completions
 #. * for something the user typed in a file chooser entry
 #.
-#: gtk/gtkfilechooserentry.c:1101
+#: ../gtk/gtkfilechooserentry.c:1098
 msgid "No match"
 msgstr "Kein Treffer"
 
 #. translators: this text is shown when there is exactly one completion
 #. * for something the user typed in a file chooser entry
 #.
-#: gtk/gtkfilechooserentry.c:1112
+#: ../gtk/gtkfilechooserentry.c:1109
 msgid "Sole completion"
 msgstr "Einzelabschluss"
 
@@ -1127,13 +1114,13 @@ msgstr "Einzelabschluss"
 #. * entry is a complete filename, but could be continued to find
 #. * a longer match
 #.
-#: gtk/gtkfilechooserentry.c:1128
+#: ../gtk/gtkfilechooserentry.c:1125
 msgid "Complete, but not unique"
 msgstr "Komplett, aber nicht eindeutig"
 
 #. Translators: this text is shown while the system is searching
 #. * for possible completions for filenames in a file chooser entry.
-#: gtk/gtkfilechooserentry.c:1160
+#: ../gtk/gtkfilechooserentry.c:1157
 msgid "Completing..."
 msgstr "Aufgabe wird abgeschlossen …"
 
@@ -1141,7 +1128,7 @@ msgstr "Aufgabe wird abgeschlossen …"
 #. Translators: this is shown in the feedback for Tab-completion in a
 #. * file chooser's text entry when the user enters something like
 #. * "sftp://blahblah" in an app that only supports local filenames.
-#: gtk/gtkfilechooserentry.c:1182 gtk/gtkfilechooserentry.c:1207
+#: ../gtk/gtkfilechooserentry.c:1179 ../gtk/gtkfilechooserentry.c:1204
 msgid "Only local files may be selected"
 msgstr "Nur lokale Dateien können ausgewählt werden"
 
@@ -1149,80 +1136,221 @@ msgstr "Nur lokale Dateien können ausgewählt werden"
 #. Translators: this is shown in the feedback for Tab-completion in a
 #. * file chooser's text entry when the user hasn't entered the first '/'
 #. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]")
-#: gtk/gtkfilechooserentry.c:1191
+#: ../gtk/gtkfilechooserentry.c:1188
 msgid "Incomplete hostname; end it with '/'"
 msgstr "Unvollständiger Rechnername; er muss mit »/« enden"
 
 #. Translators: this is shown in the feedback for Tab-completion in a file
 #. * chooser's text entry when the user enters a path that does not exist
 #. * and then hits Tab
-#: gtk/gtkfilechooserentry.c:1202
+#: ../gtk/gtkfilechooserentry.c:1199
 msgid "Path does not exist"
 msgstr "Der Pfad existiert nicht"
 
-#: gtk/gtkfilechoosersettings.c:486
+#: ../gtk/gtkfilechoosersettings.c:487 ../gtk/gtkfilesel.c:1349
+#: ../gtk/gtkfilesel.c:1360
 #, c-format
 msgid "Error creating folder '%s': %s"
 msgstr "Fehler beim Anlegen des Ordners »%s«: %s"
 
+#: ../gtk/gtkfilesel.c:694
+msgid "Folders"
+msgstr "Ordner"
+
+#: ../gtk/gtkfilesel.c:698
+msgid "Fol_ders"
+msgstr "O_rdner"
+
+#: ../gtk/gtkfilesel.c:734
+msgid "_Files"
+msgstr "_Dateien"
+
+#: ../gtk/gtkfilesel.c:821 ../gtk/gtkfilesel.c:2154
+#, c-format
+msgid "Folder unreadable: %s"
+msgstr "Ordner nicht lesbar: %s"
+
+#: ../gtk/gtkfilesel.c:905
+#, c-format
+msgid ""
+"The file \"%s\" resides on another machine (called %s) and may not be "
+"available to this program.\n"
+"Are you sure that you want to select it?"
+msgstr ""
+"Die Datei »%s« liegt auf einer anderen Maschine (namens %s) und könnte für "
+"dieses Programm nicht verfügbar sein.\n"
+"Sind Sie sicher, dass Sie sie markieren wollen?"
+
+#: ../gtk/gtkfilesel.c:1020
+msgid "_New Folder"
+msgstr "Ordner a_nlegen"
+
+#: ../gtk/gtkfilesel.c:1031
+msgid "De_lete File"
+msgstr "Datei _löschen"
+
+#: ../gtk/gtkfilesel.c:1042
+msgid "_Rename File"
+msgstr "Datei _umbenennen"
+
+#: ../gtk/gtkfilesel.c:1347
+#, c-format
+msgid ""
+"The folder name \"%s\" contains symbols that are not allowed in filenames"
+msgstr ""
+"Der Ordnername »%s« enthält Symbole, die in Dateinamen nicht erlaubt sind"
+
+#: ../gtk/gtkfilesel.c:1394
+msgid "New Folder"
+msgstr "Ordner anlegen"
+
+#: ../gtk/gtkfilesel.c:1409
+msgid "_Folder name:"
+msgstr "_Ordnername:"
+
+#: ../gtk/gtkfilesel.c:1433
+msgid "C_reate"
+msgstr "A_nlegen"
+
+#: ../gtk/gtkfilesel.c:1476 ../gtk/gtkfilesel.c:1585 ../gtk/gtkfilesel.c:1598
+#, c-format
+msgid "The filename \"%s\" contains symbols that are not allowed in filenames"
+msgstr ""
+"Der Dateiname »%s« enthält Symbole, die in Dateinamen nicht erlaubt sind"
+
+#: ../gtk/gtkfilesel.c:1479 ../gtk/gtkfilesel.c:1491
+#, c-format
+msgid "Error deleting file '%s': %s"
+msgstr "Fehler beim Löschen der Datei »%s«: %s"
+
+#: ../gtk/gtkfilesel.c:1534
+#, c-format
+msgid "Really delete file \"%s\"?"
+msgstr "Datei »%s« wirklich löschen?"
+
+#: ../gtk/gtkfilesel.c:1539
+msgid "Delete File"
+msgstr "Datei löschen"
+
+#: ../gtk/gtkfilesel.c:1587
+#, c-format
+msgid "Error renaming file to \"%s\": %s"
+msgstr "Fehler beim Umbenennen der Datei in »%s«: %s"
+
+#: ../gtk/gtkfilesel.c:1600
+#, c-format
+msgid "Error renaming file \"%s\": %s"
+msgstr "Fehler beim Umbenennen der Datei »%s«: %s"
+
+#: ../gtk/gtkfilesel.c:1611
+#, c-format
+msgid "Error renaming file \"%s\" to \"%s\": %s"
+msgstr "Fehler beim Umbenennen der Datei »%s« in »%s«: %s"
+
+#: ../gtk/gtkfilesel.c:1658
+msgid "Rename File"
+msgstr "Datei umbenennen"
+
+#: ../gtk/gtkfilesel.c:1673
+#, c-format
+msgid "Rename file \"%s\" to:"
+msgstr "Datei »%s« umbenennen in:"
+
+#: ../gtk/gtkfilesel.c:1702
+msgid "_Rename"
+msgstr "_Umbenennen"
+
+#: ../gtk/gtkfilesel.c:2134
+msgid "_Selection: "
+msgstr "Au_swahl: "
+
+#: ../gtk/gtkfilesel.c:3056
+#, c-format
+msgid ""
+"The filename \"%s\" couldn't be converted to UTF-8. (try setting the "
+"environment variable G_FILENAME_ENCODING): %s"
+msgstr ""
+"Der Dateiname »%s« konnte nicht in UTF-8 umgewandelt werden (versuchen Sie, "
+"die Umgebungsvariable G_BROKEN_FILENAMES zu setzen): %s"
+
+#: ../gtk/gtkfilesel.c:3059
+msgid "Invalid UTF-8"
+msgstr "Ungültiges UTF-8"
+
+#: ../gtk/gtkfilesel.c:3935
+msgid "Name too long"
+msgstr "Name zu lang"
+
+#: ../gtk/gtkfilesel.c:3937
+msgid "Couldn't convert filename"
+msgstr "Dateiname konnte nicht umgewandelt werden"
+
 #. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are
 #. * really pointers to GDrive, GVolume or GMount objects.  We need an extra
 #. * token for the fake "File System" volume.  So, we'll return a pointer to
 #. * this particular string.
 #.
-#: gtk/gtkfilesystem.c:48
+#: ../gtk/gtkfilesystem.c:52
 msgid "File System"
 msgstr "Dateisystem"
 
-#: gtk/gtkfontbutton.c:142 gtk/gtkfontbutton.c:266
+#: ../gtk/gtkfontbutton.c:144 ../gtk/gtkfontbutton.c:266
 msgid "Pick a Font"
 msgstr "Wählen Sie eine Schrift"
 
 #. Initialize fields
-#: gtk/gtkfontbutton.c:260
+#: ../gtk/gtkfontbutton.c:260
 msgid "Sans 12"
 msgstr "Sans 12"
 
-#: gtk/gtkfontbutton.c:785
+#: ../gtk/gtkfontbutton.c:785
 msgid "Font"
 msgstr "Schrift"
 
 #. This is the default text shown in the preview entry, though the user
 #. can set it. Remember that some fonts only have capital letters.
-#: gtk/gtkfontsel.c:103
+#: ../gtk/gtkfontsel.c:75
 msgid "abcdefghijk ABCDEFGHIJK"
 msgstr "abcdefghijk ABCDEFGHIJK"
 
-#: gtk/gtkfontsel.c:370
+#: ../gtk/gtkfontsel.c:343
 msgid "_Family:"
 msgstr "_Familie:"
 
-#: gtk/gtkfontsel.c:376
+#: ../gtk/gtkfontsel.c:349
 msgid "_Style:"
 msgstr "_Stil:"
 
-#: gtk/gtkfontsel.c:382
+#: ../gtk/gtkfontsel.c:355
 msgid "Si_ze:"
 msgstr "_Größe:"
 
 #. create the text entry widget
-#: gtk/gtkfontsel.c:559
+#: ../gtk/gtkfontsel.c:532
 msgid "_Preview:"
 msgstr "_Vorschau:"
 
-#: gtk/gtkfontsel.c:1659
+#: ../gtk/gtkfontsel.c:1649
 msgid "Font Selection"
 msgstr "Schriftwahl"
 
+#: ../gtk/gtkgamma.c:410
+msgid "Gamma"
+msgstr "Gamma"
+
+#: ../gtk/gtkgamma.c:420
+msgid "_Gamma value"
+msgstr "_Gamma-Wert"
+
 #. Remove this icon source so we don't keep trying to
 #. * load it.
 #.
-#: gtk/gtkiconfactory.c:1356
+#: ../gtk/gtkiconfactory.c:1354
 #, c-format
 msgid "Error loading icon: %s"
 msgstr "Fehler beim Laden des Symbols: %s"
 
-#: gtk/gtkicontheme.c:1354
+#: ../gtk/gtkicontheme.c:1363
 #, c-format
 msgid ""
 "Could not find the icon '%s'. The '%s' theme\n"
@@ -1235,75 +1363,155 @@ msgstr ""
 "Sie können sich eine Kopie herunterladen unter:\n"
 "\t%s"
 
-#: gtk/gtkicontheme.c:1535
+#: ../gtk/gtkicontheme.c:1543
 #, c-format
 msgid "Icon '%s' not present in theme"
 msgstr "Symbol »%s« nicht im Thema vorhanden"
 
-#: gtk/gtkicontheme.c:3048
+#: ../gtk/gtkicontheme.c:3074
 msgid "Failed to load icon"
 msgstr "Symbol konnte nicht geladen werden"
 
-#: gtk/gtkimmodule.c:526
+#: ../gtk/gtkimmodule.c:527
 msgid "Simple"
 msgstr "Einfach"
 
-#: gtk/gtkimmulticontext.c:588
+#: ../gtk/gtkimmulticontext.c:563
 msgctxt "input method menu"
 msgid "System"
 msgstr "System"
 
-#: gtk/gtkimmulticontext.c:598
+#: ../gtk/gtkimmulticontext.c:573
 msgctxt "input method menu"
 msgid "None"
 msgstr "Keine"
 
-#: gtk/gtkimmulticontext.c:681
+#: ../gtk/gtkimmulticontext.c:656
 #, c-format
 msgctxt "input method menu"
 msgid "System (%s)"
 msgstr "System (%s)"
 
+#: ../gtk/gtkinputdialog.c:192
+msgid "Input"
+msgstr "Eingabe"
+
+#: ../gtk/gtkinputdialog.c:207
+msgid "No extended input devices"
+msgstr "Keine erweiterten Eingabegeräte"
+
+#: ../gtk/gtkinputdialog.c:220
+msgid "_Device:"
+msgstr "_Gerät:"
+
+#: ../gtk/gtkinputdialog.c:237
+msgid "Disabled"
+msgstr "Deaktiviert"
+
+#: ../gtk/gtkinputdialog.c:244
+msgid "Screen"
+msgstr "Bildschirm"
+
+#: ../gtk/gtkinputdialog.c:251
+msgid "Window"
+msgstr "Fenster"
+
+#: ../gtk/gtkinputdialog.c:258
+msgid "_Mode:"
+msgstr "_Modus: "
+
+#. The axis listbox
+#: ../gtk/gtkinputdialog.c:279
+msgid "Axes"
+msgstr "Achsen"
+
+#. Keys listbox
+#: ../gtk/gtkinputdialog.c:297
+msgid "Keys"
+msgstr "Tasten"
+
+#: ../gtk/gtkinputdialog.c:524
+msgid "_X:"
+msgstr "_X:"
+
+#: ../gtk/gtkinputdialog.c:525
+msgid "_Y:"
+msgstr "_Y:"
+
+#: ../gtk/gtkinputdialog.c:526
+msgid "_Pressure:"
+msgstr "_Druck:"
+
+#: ../gtk/gtkinputdialog.c:527
+msgid "X _tilt:"
+msgstr "X-_Neigun:g"
+
+#: ../gtk/gtkinputdialog.c:528
+msgid "Y t_ilt:"
+msgstr "Y-Ne_igung:"
+
+#: ../gtk/gtkinputdialog.c:529
+msgid "_Wheel:"
+msgstr "_Rad:"
+
+#: ../gtk/gtkinputdialog.c:581
+msgid "none"
+msgstr "keine"
+
+#: ../gtk/gtkinputdialog.c:618 ../gtk/gtkinputdialog.c:654
+msgid "(disabled)"
+msgstr "(ausgeschaltet)"
+
+#: ../gtk/gtkinputdialog.c:647
+msgid "(unknown)"
+msgstr "(unbekannt)"
+
+# CHECK - _Löschen haben wir schon und ist unangebracht
+#. and clear button
+#: ../gtk/gtkinputdialog.c:751
+msgid "Cl_ear"
+msgstr "_Leeren"
+
 #. Open Link
-#: gtk/gtklabel.c:6202
+#: ../gtk/gtklabel.c:5700
 msgid "_Open Link"
 msgstr "Link ö_ffnen"
 
 #. Copy Link Address
-#: gtk/gtklabel.c:6214
+#: ../gtk/gtklabel.c:5712
 msgid "Copy _Link Address"
 msgstr "Link-Adresse _kopieren"
 
-#: gtk/gtklinkbutton.c:449
+#: ../gtk/gtklinkbutton.c:428
 msgid "Copy URL"
 msgstr "URL kopieren"
 
-#: gtk/gtklinkbutton.c:601
+#: ../gtk/gtklinkbutton.c:586
 msgid "Invalid URI"
 msgstr "Ungültige Adresse"
 
 #. Description of --gtk-module=MODULES in --help output
-#: gtk/gtkmain.c:526
+#: ../gtk/gtkmain.c:452
 msgid "Load additional GTK+ modules"
 msgstr "Zusätzliche GTK+-Module laden"
 
 #. Placeholder in --gtk-module=MODULES in --help output
-#: gtk/gtkmain.c:527
+#: ../gtk/gtkmain.c:453
 msgid "MODULES"
 msgstr "MODULE"
 
 #. Description of --g-fatal-warnings in --help output
-#: gtk/gtkmain.c:529
+#: ../gtk/gtkmain.c:455
 msgid "Make all warnings fatal"
 msgstr "Alle Warnungen als fatal betrachten"
 
 #. Description of --gtk-debug=FLAGS in --help output
-#: gtk/gtkmain.c:532
+#: ../gtk/gtkmain.c:458
 msgid "GTK+ debugging flags to set"
 msgstr "Zu übergebende GTK+-Fehlerdiagnoseoptionen"
 
 #. Description of --gtk-no-debug=FLAGS in --help output
-#: gtk/gtkmain.c:535
+#: ../gtk/gtkmain.c:461
 msgid "GTK+ debugging flags to unset"
 msgstr "Nicht zu übergebende GTK+-Fehlerdiagnoseoptionen"
 
@@ -1312,125 +1520,125 @@ msgstr "Nicht zu übergebende GTK+-Fehlerdiagnoseoptionen"
 #. * Do *not* translate it to "predefinito:LTR", if it
 #. * it isn't default:LTR or default:RTL it will not work
 #.
-#: gtk/gtkmain.c:798
+#: ../gtk/gtkmain.c:731
 msgid "default:LTR"
 msgstr "default:LTR"
 
-#: gtk/gtkmain.c:863
+#: ../gtk/gtkmain.c:796
 #, c-format
 msgid "Cannot open display: %s"
 msgstr "Anzeige kann nicht geöffnet werden: %s"
 
-#: gtk/gtkmain.c:922
+#: ../gtk/gtkmain.c:833
 msgid "GTK+ Options"
 msgstr "GTK+-Optionen"
 
-#: gtk/gtkmain.c:922
+#: ../gtk/gtkmain.c:833
 msgid "Show GTK+ Options"
 msgstr "GTK+-Optionen anzeigen"
 
-#: gtk/gtkmountoperation.c:491
+#: ../gtk/gtkmountoperation.c:489
 msgid "Co_nnect"
 msgstr "_Verbinden"
 
-#: gtk/gtkmountoperation.c:558
+#: ../gtk/gtkmountoperation.c:556
 msgid "Connect _anonymously"
 msgstr "_Anonym verbinden"
 
-#: gtk/gtkmountoperation.c:567
+#: ../gtk/gtkmountoperation.c:565
 msgid "Connect as u_ser:"
 msgstr "Als _Benutzer verbinden:"
 
-#: gtk/gtkmountoperation.c:605
+#: ../gtk/gtkmountoperation.c:603
 msgid "_Username:"
 msgstr "_Benutzername:"
 
-#: gtk/gtkmountoperation.c:610
+#: ../gtk/gtkmountoperation.c:608
 msgid "_Domain:"
 msgstr "_Domäne:"
 
-#: gtk/gtkmountoperation.c:616
+#: ../gtk/gtkmountoperation.c:614
 msgid "_Password:"
 msgstr "_Passwort:"
 
-#: gtk/gtkmountoperation.c:634
+#: ../gtk/gtkmountoperation.c:632
 msgid "Forget password _immediately"
 msgstr "Passwort sofort _vergessen"
 
-#: gtk/gtkmountoperation.c:644
+#: ../gtk/gtkmountoperation.c:642
 msgid "Remember password until you _logout"
 msgstr "Passwort erst beim Ab_melden vergessen"
 
-#: gtk/gtkmountoperation.c:654
+#: ../gtk/gtkmountoperation.c:652
 msgid "Remember _forever"
 msgstr "_Nie vergessen"
 
-#: gtk/gtkmountoperation.c:883
-#, fuzzy, c-format
+#: ../gtk/gtkmountoperation.c:881
+#, c-format
 msgid "Unknown Application (PID %d)"
-msgstr "Unbekannte Anwendung (Kennung %d)"
+msgstr "Unbekannte Anwendung (PID %d)"
 
-#: gtk/gtkmountoperation.c:1066
-#, c-format
+#: ../gtk/gtkmountoperation.c:1064
 msgid "Unable to end process"
 msgstr "Prozess kann nicht beendet werden"
 
-#: gtk/gtkmountoperation.c:1103
+#: ../gtk/gtkmountoperation.c:1101
 msgid "_End Process"
 msgstr "Prozess b_eenden"
 
-#: gtk/gtkmountoperation-stub.c:64
-#, fuzzy, c-format
+#: ../gtk/gtkmountoperation-stub.c:64
+#, c-format
 msgid "Cannot kill process with PID %d. Operation is not implemented."
 msgstr ""
-"Prozess mit Kennung %d kann nicht abgewürgt werden. Operation ist nicht "
+"Prozess mit PID %d kann nicht abgewürgt werden. Vorgang ist nicht "
 "implementiert."
 
 #. translators: this string is a name for the 'less' command
-#: gtk/gtkmountoperation-x11.c:862
+#: ../gtk/gtkmountoperation-x11.c:865
 msgid "Terminal Pager"
 msgstr "Terminal-Pager"
 
-#: gtk/gtkmountoperation-x11.c:863
+#: ../gtk/gtkmountoperation-x11.c:866
 msgid "Top Command"
 msgstr "Oberster Befehl"
 
-#: gtk/gtkmountoperation-x11.c:864
+#: ../gtk/gtkmountoperation-x11.c:867
 msgid "Bourne Again Shell"
 msgstr "Bourne-Again-Shell"
 
-#: gtk/gtkmountoperation-x11.c:865
+#: ../gtk/gtkmountoperation-x11.c:868
 msgid "Bourne Shell"
 msgstr "Bourne-Shell"
 
-#: gtk/gtkmountoperation-x11.c:866
+#: ../gtk/gtkmountoperation-x11.c:869
 msgid "Z Shell"
 msgstr "Z-Shell"
 
-#: gtk/gtkmountoperation-x11.c:963
-#, fuzzy, c-format
+#: ../gtk/gtkmountoperation-x11.c:966
+#, c-format
 msgid "Cannot end process with PID %d: %s"
-msgstr "Prozess mit Kennung %d kann nicht abgewürgt werden: %s"
+msgstr "Prozess mit PID %d kann nicht beendet werden: %s"
 
-#: gtk/gtknotebook.c:4619 gtk/gtknotebook.c:7170
+#: ../gtk/gtknotebook.c:4705 ../gtk/gtknotebook.c:7311
 #, c-format
 msgid "Page %u"
 msgstr "Seite %u"
 
-#: gtk/gtkpagesetup.c:596 gtk/gtkpapersize.c:838 gtk/gtkpapersize.c:880
+#: ../gtk/gtkpagesetup.c:597 ../gtk/gtkpapersize.c:826
+#: ../gtk/gtkpapersize.c:868
 msgid "Not a valid page setup file"
 msgstr "Keine gültige Seiteneinstellungs-Datei"
 
-#: gtk/gtkpagesetupunixdialog.c:179
+#: ../gtk/gtkpagesetupunixdialog.c:167
 msgid "Any Printer"
 msgstr "Beliebiger Drucker"
 
 # CHECK
-#: gtk/gtkpagesetupunixdialog.c:179
+#: ../gtk/gtkpagesetupunixdialog.c:167
 msgid "For portable documents"
 msgstr "Für portable Dokumente"
 
-#: gtk/gtkpagesetupunixdialog.c:809
+#: ../gtk/gtkpagesetupunixdialog.c:797
 #, c-format
 msgid ""
 "Margins:\n"
@@ -1445,53 +1653,49 @@ msgstr ""
 " Oben: %s %s\n"
 " Unten: %s %s"
 
-#: gtk/gtkpagesetupunixdialog.c:858 gtk/gtkprintunixdialog.c:3284
+#: ../gtk/gtkpagesetupunixdialog.c:846 ../gtk/gtkprintunixdialog.c:3284
 msgid "Manage Custom Sizes..."
 msgstr "Benutzerdefinierte Größen verwalten …"
 
-#: gtk/gtkpagesetupunixdialog.c:909
+#: ../gtk/gtkpagesetupunixdialog.c:894
 msgid "_Format for:"
 msgstr "_Format für:"
 
 # Auch wenn im Original die Tastenkürzel kollidieren (_Preferences),
 # wir verwenden Ei_genschaften.
-#: gtk/gtkpagesetupunixdialog.c:931 gtk/gtkprintunixdialog.c:3456
+#: ../gtk/gtkpagesetupunixdialog.c:916 ../gtk/gtkprintunixdialog.c:3456
 msgid "_Paper size:"
 msgstr "Ei_genschaften:"
 
-#: gtk/gtkpagesetupunixdialog.c:962
+#: ../gtk/gtkpagesetupunixdialog.c:947
 msgid "_Orientation:"
 msgstr "_Ausrichtung:"
 
-#: gtk/gtkpagesetupunixdialog.c:1026 gtk/gtkprintunixdialog.c:3518
+#: ../gtk/gtkpagesetupunixdialog.c:1011 ../gtk/gtkprintunixdialog.c:3518
 msgid "Page Setup"
 msgstr "Seite einrichten"
 
-#: gtk/gtkpathbar.c:154
+#: ../gtk/gtkpathbar.c:151
 msgid "Up Path"
 msgstr "Pfad aufwärts"
 
-#: gtk/gtkpathbar.c:156
+#: ../gtk/gtkpathbar.c:153
 msgid "Down Path"
 msgstr "Pfad abwärts"
 
-#: gtk/gtkpathbar.c:1497
+#: ../gtk/gtkpathbar.c:1469
 msgid "File System Root"
 msgstr "Dateisystem-Wurzel"
 
-#: gtk/gtkprintbackend.c:749
+#: ../gtk/gtkprintbackend.c:749
 msgid "Authentication"
 msgstr "Legitimation"
 
-#: gtk/gtkprinteroptionwidget.c:694
+#: ../gtk/gtkprinteroptionwidget.c:695
 msgid "Not available"
 msgstr "Nicht verfügbar"
 
-#: gtk/gtkprinteroptionwidget.c:794
-msgid "Select a folder"
-msgstr "Ordner auswählen"
-
-#: gtk/gtkprinteroptionwidget.c:813
+#: ../gtk/gtkprinteroptionwidget.c:814
 msgid "_Save in folder:"
 msgstr "In _Ordner speichern:"
 
@@ -1499,189 +1703,190 @@ msgstr "In _Ordner speichern:"
 #. * jobs. %s gets replaced by the application name, %d gets replaced
 #. * by the job number.
 #.
-#: gtk/gtkprintoperation.c:190
+#: ../gtk/gtkprintoperation.c:190
 #, c-format
 msgid "%s job #%d"
 msgstr "%s-Auftrag #%d"
 
-#: gtk/gtkprintoperation.c:1695
+#: ../gtk/gtkprintoperation.c:1687
 msgctxt "print operation status"
 msgid "Initial state"
 msgstr "Ausgangszustand"
 
-#: gtk/gtkprintoperation.c:1696
+#: ../gtk/gtkprintoperation.c:1688
 msgctxt "print operation status"
 msgid "Preparing to print"
 msgstr "Drucken wird vorbereitet"
 
-#: gtk/gtkprintoperation.c:1697
+#: ../gtk/gtkprintoperation.c:1689
 msgctxt "print operation status"
 msgid "Generating data"
 msgstr "Daten werden erstellt"
 
-#: gtk/gtkprintoperation.c:1698
+#: ../gtk/gtkprintoperation.c:1690
 msgctxt "print operation status"
 msgid "Sending data"
 msgstr "Daten werden gesendet"
 
-#: gtk/gtkprintoperation.c:1699
+#: ../gtk/gtkprintoperation.c:1691
 msgctxt "print operation status"
 msgid "Waiting"
 msgstr "Warten"
 
-#: gtk/gtkprintoperation.c:1700
+#: ../gtk/gtkprintoperation.c:1692
 msgctxt "print operation status"
 msgid "Blocking on issue"
 msgstr "Blockiert wegen Problem"
 
-#: gtk/gtkprintoperation.c:1701
+#: ../gtk/gtkprintoperation.c:1693
 msgctxt "print operation status"
 msgid "Printing"
 msgstr "Drucken"
 
-#: gtk/gtkprintoperation.c:1702
+#: ../gtk/gtkprintoperation.c:1694
 msgctxt "print operation status"
 msgid "Finished"
 msgstr "Abgeschlossen"
 
-#: gtk/gtkprintoperation.c:1703
+#: ../gtk/gtkprintoperation.c:1695
 msgctxt "print operation status"
 msgid "Finished with error"
 msgstr "Abgeschlossen mit Fehler"
 
-#: gtk/gtkprintoperation.c:2270
+#: ../gtk/gtkprintoperation.c:2254
 #, c-format
 msgid "Preparing %d"
 msgstr "%d wird vorbereitet"
 
-#: gtk/gtkprintoperation.c:2272 gtk/gtkprintoperation.c:2902
-#, c-format
+#: ../gtk/gtkprintoperation.c:2256 ../gtk/gtkprintoperation.c:2875
 msgid "Preparing"
 msgstr "Vorbereitung"
 
-#: gtk/gtkprintoperation.c:2275
+#: ../gtk/gtkprintoperation.c:2259
 #, c-format
 msgid "Printing %d"
 msgstr "%d wird gedruckt"
 
-#: gtk/gtkprintoperation.c:2932
-#, c-format
+#: ../gtk/gtkprintoperation.c:2905
 msgid "Error creating print preview"
 msgstr "Fehler beim Erzeugen der Druckvorschau"
 
-#: gtk/gtkprintoperation.c:2935
-#, c-format
+#: ../gtk/gtkprintoperation.c:2908
 msgid "The most probable reason is that a temporary file could not be created."
 msgstr ""
 "Der häufigste Grund hierfür ist, dass keine temporäre Datei erzeugt werden "
 "konnte."
 
-#: gtk/gtkprintoperation-unix.c:297
+#: ../gtk/gtkprintoperation-unix.c:297 ../gtk/gtkprintoperation-unix.c:314
 msgid "Error launching preview"
 msgstr "Fehler beim Aufrufen der Druckvorschau"
 
-#: gtk/gtkprintoperation-unix.c:470 gtk/gtkprintoperation-win32.c:1447
+#: ../gtk/gtkprintoperation-unix.c:358
+msgid "Error printing"
+msgstr "Fehler beim Drucken"
+
+#: ../gtk/gtkprintoperation-unix.c:494 ../gtk/gtkprintoperation-win32.c:1447
 msgid "Application"
 msgstr "Anwendunge"
 
-#: gtk/gtkprintoperation-win32.c:611
+#: ../gtk/gtkprintoperation-win32.c:612
 msgid "Printer offline"
 msgstr "Drucker offline"
 
-#: gtk/gtkprintoperation-win32.c:613
+#: ../gtk/gtkprintoperation-win32.c:614
 msgid "Out of paper"
 msgstr "Kein Papier mehr"
 
 #. Translators: this is a printer status.
-#: gtk/gtkprintoperation-win32.c:615
-#: modules/printbackends/cups/gtkprintbackendcups.c:1998
+#: ../gtk/gtkprintoperation-win32.c:616
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1998
 msgid "Paused"
 msgstr "Pausiert"
 
-#: gtk/gtkprintoperation-win32.c:617
+#: ../gtk/gtkprintoperation-win32.c:618
 msgid "Need user intervention"
 msgstr "Benutzereingriff wird benötigt"
 
-#: gtk/gtkprintoperation-win32.c:717
+#: ../gtk/gtkprintoperation-win32.c:718
 msgid "Custom size"
 msgstr "Benutzerdefinierte Größe"
 
-#: gtk/gtkprintoperation-win32.c:1539
+#: ../gtk/gtkprintoperation-win32.c:1539
 msgid "No printer found"
 msgstr "Keine Drucker gefunden"
 
-#: gtk/gtkprintoperation-win32.c:1566
+#: ../gtk/gtkprintoperation-win32.c:1566
 msgid "Invalid argument to CreateDC"
 msgstr "Ungültiges Argument für CreateDC"
 
-#: gtk/gtkprintoperation-win32.c:1602 gtk/gtkprintoperation-win32.c:1829
+#: ../gtk/gtkprintoperation-win32.c:1602 ../gtk/gtkprintoperation-win32.c:1829
 msgid "Error from StartDoc"
 msgstr "Fehler von StartDoc"
 
-#: gtk/gtkprintoperation-win32.c:1684 gtk/gtkprintoperation-win32.c:1707
-#: gtk/gtkprintoperation-win32.c:1755
+#: ../gtk/gtkprintoperation-win32.c:1684 ../gtk/gtkprintoperation-win32.c:1707
+#: ../gtk/gtkprintoperation-win32.c:1755
 msgid "Not enough free memory"
 msgstr "Nicht genug Speicher"
 
-#: gtk/gtkprintoperation-win32.c:1760
+#: ../gtk/gtkprintoperation-win32.c:1760
 msgid "Invalid argument to PrintDlgEx"
 msgstr "Ungültiges Argument für PrintDlgEx"
 
-#: gtk/gtkprintoperation-win32.c:1765
+#: ../gtk/gtkprintoperation-win32.c:1765
 msgid "Invalid pointer to PrintDlgEx"
 msgstr "Ungültiger Zeiger zu PrintDlgEx"
 
-#: gtk/gtkprintoperation-win32.c:1770
+#: ../gtk/gtkprintoperation-win32.c:1770
 msgid "Invalid handle to PrintDlgEx"
 msgstr "Ungültiger Handle für PrintDlgEx"
 
-#: gtk/gtkprintoperation-win32.c:1775
+#: ../gtk/gtkprintoperation-win32.c:1775
 msgid "Unspecified error"
 msgstr "Unbekannter Fehler"
 
-#: gtk/gtkprintunixdialog.c:618
+#: ../gtk/gtkprintunixdialog.c:614
 msgid "Getting printer information failed"
 msgstr "Holen der Informationen über Drucker ist gescheitert"
 
-#: gtk/gtkprintunixdialog.c:1873
+#: ../gtk/gtkprintunixdialog.c:1862
 msgid "Getting printer information..."
 msgstr "Informationen über Drucker werden geholt …"
 
-#: gtk/gtkprintunixdialog.c:2139
+#: ../gtk/gtkprintunixdialog.c:2132
 msgid "Printer"
 msgstr "Drucker"
 
 #. Translators: this is the header for the location column in the print dialog
-#: gtk/gtkprintunixdialog.c:2149
+#: ../gtk/gtkprintunixdialog.c:2142
 msgid "Location"
 msgstr "Standort"
 
 #. Translators: this is the header for the printer status column in the print dialog
-#: gtk/gtkprintunixdialog.c:2160
+#: ../gtk/gtkprintunixdialog.c:2153
 msgid "Status"
 msgstr "Status"
 
-#: gtk/gtkprintunixdialog.c:2186
+#: ../gtk/gtkprintunixdialog.c:2179
 msgid "Range"
 msgstr "Seiten"
 
-#: gtk/gtkprintunixdialog.c:2190
+#: ../gtk/gtkprintunixdialog.c:2183
 msgid "_All Pages"
 msgstr "_Alle Seiten"
 
-#: gtk/gtkprintunixdialog.c:2197
+#: ../gtk/gtkprintunixdialog.c:2190
 msgid "C_urrent Page"
 msgstr "Aktue_lle Seite"
 
-#: gtk/gtkprintunixdialog.c:2207
+#: ../gtk/gtkprintunixdialog.c:2200
 msgid "Se_lection"
 msgstr "Au_swahl"
 
-#: gtk/gtkprintunixdialog.c:2216
+#: ../gtk/gtkprintunixdialog.c:2209
 msgid "Pag_es:"
 msgstr "_Seiten:"
 
-#: gtk/gtkprintunixdialog.c:2217
+#: ../gtk/gtkprintunixdialog.c:2210
 msgid ""
 "Specify one or more page ranges,\n"
 " e.g. 1-3,7,11"
@@ -1689,28 +1894,28 @@ msgstr ""
 "Geben Sie einen oder mehrere Druckbereiche ein,\n"
 "z.B. 5-11,19,85"
 
-#: gtk/gtkprintunixdialog.c:2227
+#: ../gtk/gtkprintunixdialog.c:2220
 msgid "Pages"
 msgstr "Seiten"
 
-#: gtk/gtkprintunixdialog.c:2240
+#: ../gtk/gtkprintunixdialog.c:2233
 msgid "Copies"
 msgstr "Kopien"
 
 #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns
-#: gtk/gtkprintunixdialog.c:2245
+#: ../gtk/gtkprintunixdialog.c:2238
 msgid "Copie_s:"
 msgstr "_Kopien:"
 
-#: gtk/gtkprintunixdialog.c:2263
+#: ../gtk/gtkprintunixdialog.c:2256
 msgid "C_ollate"
 msgstr "_Zusammentragen"
 
-#: gtk/gtkprintunixdialog.c:2271
+#: ../gtk/gtkprintunixdialog.c:2264
 msgid "_Reverse"
 msgstr "_Rückwärts"
 
-#: gtk/gtkprintunixdialog.c:2291
+#: ../gtk/gtkprintunixdialog.c:2284
 msgid "General"
 msgstr "Allgemein"
 
@@ -1720,170 +1925,170 @@ msgstr "Allgemein"
 #. Translators: These strings name the possible arrangements of
 #. * multiple pages on a sheet when printing
 #.
-#: gtk/gtkprintunixdialog.c:3017
-#: modules/printbackends/cups/gtkprintbackendcups.c:3508
+#: ../gtk/gtkprintunixdialog.c:3017
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534
 msgid "Left to right, top to bottom"
 msgstr "Links nach rechts, oben nach unten"
 
-#: gtk/gtkprintunixdialog.c:3017
-#: modules/printbackends/cups/gtkprintbackendcups.c:3508
+#: ../gtk/gtkprintunixdialog.c:3017
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534
 msgid "Left to right, bottom to top"
 msgstr "Links nach rechts, unten nach oben"
 
-#: gtk/gtkprintunixdialog.c:3018
-#: modules/printbackends/cups/gtkprintbackendcups.c:3509
+#: ../gtk/gtkprintunixdialog.c:3018
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535
 msgid "Right to left, top to bottom"
 msgstr "Rechts nach links, oben nach unten"
 
-#: gtk/gtkprintunixdialog.c:3018
-#: modules/printbackends/cups/gtkprintbackendcups.c:3509
+#: ../gtk/gtkprintunixdialog.c:3018
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535
 msgid "Right to left, bottom to top"
 msgstr "Rechts nach links, unten nach oben"
 
-#: gtk/gtkprintunixdialog.c:3019
-#: modules/printbackends/cups/gtkprintbackendcups.c:3510
+#: ../gtk/gtkprintunixdialog.c:3019
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536
 msgid "Top to bottom, left to right"
 msgstr "Oben nach unten, links nach rechts"
 
-#: gtk/gtkprintunixdialog.c:3019
-#: modules/printbackends/cups/gtkprintbackendcups.c:3510
+#: ../gtk/gtkprintunixdialog.c:3019
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536
 msgid "Top to bottom, right to left"
 msgstr "Oben nach unten, rechts nach links"
 
-#: gtk/gtkprintunixdialog.c:3020
-#: modules/printbackends/cups/gtkprintbackendcups.c:3511
+#: ../gtk/gtkprintunixdialog.c:3020
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537
 msgid "Bottom to top, left to right"
 msgstr "Unten nach oben, links nach rechts"
 
-#: gtk/gtkprintunixdialog.c:3020
-#: modules/printbackends/cups/gtkprintbackendcups.c:3511
+#: ../gtk/gtkprintunixdialog.c:3020
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537
 msgid "Bottom to top, right to left"
 msgstr "Unten nach oben, rechts nach links"
 
 #. Translators, this string is used to label the option in the print
 #. * dialog that controls in what order multiple pages are arranged
 #.
-#: gtk/gtkprintunixdialog.c:3024 gtk/gtkprintunixdialog.c:3037
-#: modules/printbackends/cups/gtkprintbackendcups.c:3543
+#: ../gtk/gtkprintunixdialog.c:3024 ../gtk/gtkprintunixdialog.c:3037
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3569
 msgid "Page Ordering"
 msgstr "Reihenfolge"
 
-#: gtk/gtkprintunixdialog.c:3053
+#: ../gtk/gtkprintunixdialog.c:3053
 msgid "Left to right"
 msgstr "Links nach rechts"
 
-#: gtk/gtkprintunixdialog.c:3054
+#: ../gtk/gtkprintunixdialog.c:3054
 msgid "Right to left"
 msgstr "Rechts nach links"
 
-#: gtk/gtkprintunixdialog.c:3066
+#: ../gtk/gtkprintunixdialog.c:3066
 msgid "Top to bottom"
 msgstr "Oben nach unten"
 
-#: gtk/gtkprintunixdialog.c:3067
+#: ../gtk/gtkprintunixdialog.c:3067
 msgid "Bottom to top"
 msgstr "Unten nach oben"
 
-#: gtk/gtkprintunixdialog.c:3307
+#: ../gtk/gtkprintunixdialog.c:3307
 msgid "Layout"
 msgstr "Layout"
 
-#: gtk/gtkprintunixdialog.c:3311
+#: ../gtk/gtkprintunixdialog.c:3311
 msgid "T_wo-sided:"
 msgstr "_Beidseitig"
 
-#: gtk/gtkprintunixdialog.c:3326
+#: ../gtk/gtkprintunixdialog.c:3326
 msgid "Pages per _side:"
 msgstr "Seiten pro _Blatt:"
 
-#: gtk/gtkprintunixdialog.c:3343
+#: ../gtk/gtkprintunixdialog.c:3343
 msgid "Page or_dering:"
 msgstr "_Reihenfolge:"
 
-#: gtk/gtkprintunixdialog.c:3359
+#: ../gtk/gtkprintunixdialog.c:3359
 msgid "_Only print:"
 msgstr "Be_schränken auf:"
 
 #. In enum order
-#: gtk/gtkprintunixdialog.c:3374
+#: ../gtk/gtkprintunixdialog.c:3374
 msgid "All sheets"
 msgstr "Alle Seiten"
 
-#: gtk/gtkprintunixdialog.c:3375
+#: ../gtk/gtkprintunixdialog.c:3375
 msgid "Even sheets"
 msgstr "Gerade Seiten"
 
-#: gtk/gtkprintunixdialog.c:3376
+#: ../gtk/gtkprintunixdialog.c:3376
 msgid "Odd sheets"
 msgstr "Ungerade Seiten"
 
-#: gtk/gtkprintunixdialog.c:3379
+#: ../gtk/gtkprintunixdialog.c:3379
 msgid "Sc_ale:"
 msgstr "S_kalierung:"
 
-#: gtk/gtkprintunixdialog.c:3406
+#: ../gtk/gtkprintunixdialog.c:3406
 msgid "Paper"
 msgstr "Papier"
 
-#: gtk/gtkprintunixdialog.c:3410
+#: ../gtk/gtkprintunixdialog.c:3410
 msgid "Paper _type:"
 msgstr "Papier_typ:"
 
-#: gtk/gtkprintunixdialog.c:3425
+#: ../gtk/gtkprintunixdialog.c:3425
 msgid "Paper _source:"
 msgstr "Papiere_inzug:"
 
-#: gtk/gtkprintunixdialog.c:3440
+#: ../gtk/gtkprintunixdialog.c:3440
 msgid "Output t_ray:"
 msgstr "Ausgabes_chacht:"
 
-#: gtk/gtkprintunixdialog.c:3480
+#: ../gtk/gtkprintunixdialog.c:3480
 msgid "Or_ientation:"
 msgstr "_Ausrichtung:"
 
 #. In enum order
-#: gtk/gtkprintunixdialog.c:3495
+#: ../gtk/gtkprintunixdialog.c:3495
 msgid "Portrait"
 msgstr "Hochformat"
 
-#: gtk/gtkprintunixdialog.c:3496
+#: ../gtk/gtkprintunixdialog.c:3496
 msgid "Landscape"
 msgstr "Querformat"
 
-#: gtk/gtkprintunixdialog.c:3497
+#: ../gtk/gtkprintunixdialog.c:3497
 msgid "Reverse portrait"
 msgstr "Kopfstehendes Hochformat"
 
-#: gtk/gtkprintunixdialog.c:3498
+#: ../gtk/gtkprintunixdialog.c:3498
 msgid "Reverse landscape"
 msgstr "Kopfstehendes Querformat"
 
-#: gtk/gtkprintunixdialog.c:3543
+#: ../gtk/gtkprintunixdialog.c:3543
 msgid "Job Details"
 msgstr "Druckauftrag"
 
-#: gtk/gtkprintunixdialog.c:3549
+#: ../gtk/gtkprintunixdialog.c:3549
 msgid "Pri_ority:"
 msgstr "_Priorität:"
 
 # CHECK
-#: gtk/gtkprintunixdialog.c:3564
+#: ../gtk/gtkprintunixdialog.c:3564
 msgid "_Billing info:"
 msgstr "_Abrechnungsinfo:"
 
 # CHECK
-#: gtk/gtkprintunixdialog.c:3582
+#: ../gtk/gtkprintunixdialog.c:3582
 msgid "Print Document"
 msgstr "Druckauftrag ausführen"
 
 #. Translators: this is one of the choices for the print at option
 #. * in the print dialog
 #.
-#: gtk/gtkprintunixdialog.c:3591
+#: ../gtk/gtkprintunixdialog.c:3591
 msgid "_Now"
 msgstr "_Jetzt"
 
-#: gtk/gtkprintunixdialog.c:3602
+#: ../gtk/gtkprintunixdialog.c:3602
 msgid "A_t:"
 msgstr "_Um:"
 
@@ -1891,7 +2096,7 @@ msgstr "_Um:"
 #. * You can remove the am/pm values below for your locale if they are not
 #. * supported.
 #.
-#: gtk/gtkprintunixdialog.c:3608
+#: ../gtk/gtkprintunixdialog.c:3608
 msgid ""
 "Specify the time of print,\n"
 " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm"
@@ -1899,123 +2104,123 @@ msgstr ""
 "Geben Sie an, wann der Druckauftrag\n"
 "starten soll, z.B.: 15:30, 14:50:45"
 
-#: gtk/gtkprintunixdialog.c:3618
+#: ../gtk/gtkprintunixdialog.c:3618
 msgid "Time of print"
 msgstr "Uhrzeit des Druckauftrags"
 
-#: gtk/gtkprintunixdialog.c:3634
+#: ../gtk/gtkprintunixdialog.c:3634
 msgid "On _hold"
 msgstr "In _Warteschleife stellen"
 
-#: gtk/gtkprintunixdialog.c:3635
+#: ../gtk/gtkprintunixdialog.c:3635
 msgid "Hold the job until it is explicitly released"
 msgstr "Hält den Druckauftrag an, bis er explizit freigegeben wird"
 
-#: gtk/gtkprintunixdialog.c:3655
+#: ../gtk/gtkprintunixdialog.c:3655
 msgid "Add Cover Page"
 msgstr "Deckblatt hinzufügen"
 
 #. Translators, this is the label used for the option in the print
 #. * dialog that controls the front cover page.
 #.
-#: gtk/gtkprintunixdialog.c:3664
+#: ../gtk/gtkprintunixdialog.c:3664
 msgid "Be_fore:"
 msgstr "Be_vor:"
 
 #. Translators, this is the label used for the option in the print
 #. * dialog that controls the back cover page.
 #.
-#: gtk/gtkprintunixdialog.c:3682
+#: ../gtk/gtkprintunixdialog.c:3682
 msgid "_After:"
 msgstr "_Nach:"
 
 #. Translators: this is the tab label for the notebook tab containing
 #. * job-specific options in the print dialog
 #.
-#: gtk/gtkprintunixdialog.c:3700
+#: ../gtk/gtkprintunixdialog.c:3700
 msgid "Job"
 msgstr "Auftrag"
 
-#: gtk/gtkprintunixdialog.c:3766
+#: ../gtk/gtkprintunixdialog.c:3766
 msgid "Advanced"
 msgstr "Erweitert"
 
 #. Translators: this will appear as tab label in print dialog.
-#: gtk/gtkprintunixdialog.c:3804
+#: ../gtk/gtkprintunixdialog.c:3801
 msgid "Image Quality"
 msgstr "Druckqualität"
 
 #. Translators: this will appear as tab label in print dialog.
-#: gtk/gtkprintunixdialog.c:3808
+#: ../gtk/gtkprintunixdialog.c:3805
 msgid "Color"
 msgstr "Farbe"
 
 # CHECK
 #. Translators: this will appear as tab label in print dialog.
 #. It's a typographical term, as in "Binding and finishing"
-#: gtk/gtkprintunixdialog.c:3813
+#: ../gtk/gtkprintunixdialog.c:3810
 msgid "Finishing"
 msgstr "Nachbearbeitung"
 
-#: gtk/gtkprintunixdialog.c:3823
+#: ../gtk/gtkprintunixdialog.c:3820
 msgid "Some of the settings in the dialog conflict"
 msgstr "Einige Einstellungen in diesem Dialog stehen in Konflikt zueinander"
 
-#: gtk/gtkprintunixdialog.c:3846
+#: ../gtk/gtkprintunixdialog.c:3843
 msgid "Print"
 msgstr "Drucken"
 
-#: gtk/gtkrc.c:2834
+#: ../gtk/gtkrc.c:2878
 #, c-format
 msgid "Unable to find include file: \"%s\""
 msgstr "Include-Datei konnte nicht gefunden werden: »%s«"
 
-#: gtk/gtkrc.c:3470 gtk/gtkrc.c:3473
+#: ../gtk/gtkrc.c:3508 ../gtk/gtkrc.c:3511
 #, c-format
 msgid "Unable to locate image file in pixmap_path: \"%s\""
 msgstr "Bilddatei konnte nicht in pixmap_path gefunden werden: »%s«"
 
-#: gtk/gtkrecentaction.c:165 gtk/gtkrecentaction.c:173
-#: gtk/gtkrecentchoosermenu.c:615 gtk/gtkrecentchoosermenu.c:623
+#: ../gtk/gtkrecentaction.c:154 ../gtk/gtkrecentaction.c:162
+#: ../gtk/gtkrecentchoosermenu.c:588 ../gtk/gtkrecentchoosermenu.c:596
 #, c-format
 msgid "This function is not implemented for widgets of class '%s'"
 msgstr "Diese Funktion ist für Widgets der Klasse »%s« nicht implementiert"
 
-#: gtk/gtkrecentchooserdefault.c:482
+#: ../gtk/gtkrecentchooserdefault.c:481
 msgid "Select which type of documents are shown"
 msgstr "Wählen Sie die anzuzeigenden Dokumententypen"
 
-#: gtk/gtkrecentchooserdefault.c:1138 gtk/gtkrecentchooserdefault.c:1175
+#: ../gtk/gtkrecentchooserdefault.c:1134 ../gtk/gtkrecentchooserdefault.c:1171
 #, c-format
 msgid "No item for URI '%s' found"
 msgstr "Es konnte kein Eintrag für die Adresse »%s« gefunden werden"
 
-#: gtk/gtkrecentchooserdefault.c:1302
+#: ../gtk/gtkrecentchooserdefault.c:1298
 msgid "Untitled filter"
 msgstr "Namenloser Filter"
 
-#: gtk/gtkrecentchooserdefault.c:1655
+#: ../gtk/gtkrecentchooserdefault.c:1651
 msgid "Could not remove item"
 msgstr "Eintrag konnte nicht entfernt werden"
 
-#: gtk/gtkrecentchooserdefault.c:1699
+#: ../gtk/gtkrecentchooserdefault.c:1695
 msgid "Could not clear list"
 msgstr "Liste konnte nicht geleert werden"
 
-#: gtk/gtkrecentchooserdefault.c:1783
+#: ../gtk/gtkrecentchooserdefault.c:1779
 msgid "Copy _Location"
 msgstr "O_rt kopieren"
 
-#: gtk/gtkrecentchooserdefault.c:1796
+#: ../gtk/gtkrecentchooserdefault.c:1792
 msgid "_Remove From List"
 msgstr "Von Liste _entfernen"
 
-#: gtk/gtkrecentchooserdefault.c:1805
+#: ../gtk/gtkrecentchooserdefault.c:1801
 msgid "_Clear List"
 msgstr "_Liste leeren"
 
 # CHECK
-#: gtk/gtkrecentchooserdefault.c:1819
+#: ../gtk/gtkrecentchooserdefault.c:1815
 msgid "Show _Private Resources"
 msgstr "_Private Ressourcen anzeigen"
 
@@ -2029,23 +2234,23 @@ msgstr "_Private Ressourcen anzeigen"
 #. * user appended or prepended custom menu items to the
 #. * recent chooser menu widget.
 #.
-#: gtk/gtkrecentchoosermenu.c:369
+#: ../gtk/gtkrecentchoosermenu.c:342
 msgid "No items found"
 msgstr "Keine Einträge gefunden"
 
-#: gtk/gtkrecentchoosermenu.c:535 gtk/gtkrecentchoosermenu.c:591
+#: ../gtk/gtkrecentchoosermenu.c:508 ../gtk/gtkrecentchoosermenu.c:564
 #, c-format
 msgid "No recently used resource found with URI `%s'"
 msgstr ""
 "Es konnte keine vor kurzem geöffnete Ressource mit der Adresse »%s« gefunden "
 "werden"
 
-#: gtk/gtkrecentchoosermenu.c:802
+#: ../gtk/gtkrecentchoosermenu.c:775
 #, c-format
 msgid "Open '%s'"
 msgstr "»%s« öffnen"
 
-#: gtk/gtkrecentchoosermenu.c:832
+#: ../gtk/gtkrecentchoosermenu.c:805
 msgid "Unknown item"
 msgstr "Unbekannter Eintrag"
 
@@ -2054,7 +2259,7 @@ msgstr "Unbekannter Eintrag"
 #. * the %s is the name of the item. Please keep the _ in front
 #. * of the number to give these menu items a mnemonic.
 #.
-#: gtk/gtkrecentchoosermenu.c:843
+#: ../gtk/gtkrecentchoosermenu.c:816
 #, c-format
 msgctxt "recent menu label"
 msgid "_%d. %s"
@@ -2063,46 +2268,46 @@ msgstr "_%d. %s"
 #. This is the format that is used for items in a recent files menu.
 #. * The %d is the number of the item, the %s is the name of the item.
 #.
-#: gtk/gtkrecentchoosermenu.c:848
+#: ../gtk/gtkrecentchoosermenu.c:821
 #, c-format
 msgctxt "recent menu label"
 msgid "%d. %s"
 msgstr "%d. %s"
 
-#: gtk/gtkrecentmanager.c:980 gtk/gtkrecentmanager.c:993
-#: gtk/gtkrecentmanager.c:1131 gtk/gtkrecentmanager.c:1141
-#: gtk/gtkrecentmanager.c:1194 gtk/gtkrecentmanager.c:1203
-#: gtk/gtkrecentmanager.c:1218
+#: ../gtk/gtkrecentmanager.c:1033 ../gtk/gtkrecentmanager.c:1046
+#: ../gtk/gtkrecentmanager.c:1184 ../gtk/gtkrecentmanager.c:1194
+#: ../gtk/gtkrecentmanager.c:1247 ../gtk/gtkrecentmanager.c:1256
+#: ../gtk/gtkrecentmanager.c:1271
 #, c-format
 msgid "Unable to find an item with URI '%s'"
 msgstr "Es konnte kein Eintrag mit der Adresse »%s« gefunden werden"
 
-#: gtk/gtkspinner.c:456
+#: ../gtk/gtkspinner.c:458
 msgctxt "throbbing progress animation widget"
 msgid "Spinner"
 msgstr "Spinner"
 
-#: gtk/gtkspinner.c:457
+#: ../gtk/gtkspinner.c:459
 msgid "Provides visual indication of progress"
 msgstr "Ermöglicht die visuelle Darstellung des Fortschritts"
 
 #. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate
-#: gtk/gtkstock.c:313
+#: ../gtk/gtkstock.c:314
 msgctxt "Stock label"
 msgid "Information"
 msgstr "Information"
 
-#: gtk/gtkstock.c:314
+#: ../gtk/gtkstock.c:315
 msgctxt "Stock label"
 msgid "Warning"
 msgstr "Warnung"
 
-#: gtk/gtkstock.c:315
+#: ../gtk/gtkstock.c:316
 msgctxt "Stock label"
 msgid "Error"
 msgstr "Fehler"
 
-#: gtk/gtkstock.c:316
+#: ../gtk/gtkstock.c:317
 msgctxt "Stock label"
 msgid "Question"
 msgstr "Frage"
@@ -2110,566 +2315,558 @@ msgstr "Frage"
 #. FIXME these need accelerators when appropriate, and
 #. * need the mnemonics to be rationalized
 #.
-#: gtk/gtkstock.c:321
+#: ../gtk/gtkstock.c:322
 msgctxt "Stock label"
 msgid "_About"
 msgstr "_Info"
 
-#: gtk/gtkstock.c:322
+#: ../gtk/gtkstock.c:323
 msgctxt "Stock label"
 msgid "_Add"
 msgstr "_Hinzufügen"
 
-#: gtk/gtkstock.c:323
+#: ../gtk/gtkstock.c:324
 msgctxt "Stock label"
 msgid "_Apply"
 msgstr "An_wenden"
 
-#: gtk/gtkstock.c:324
+#: ../gtk/gtkstock.c:325
 msgctxt "Stock label"
 msgid "_Bold"
 msgstr "_Fett"
 
-#: gtk/gtkstock.c:325
+#: ../gtk/gtkstock.c:326
 msgctxt "Stock label"
 msgid "_Cancel"
 msgstr "_Abbrechen"
 
-#: gtk/gtkstock.c:326
-#, fuzzy
+#: ../gtk/gtkstock.c:327
 msgctxt "Stock label"
-msgid "_CD-ROM"
+msgid "_CD-Rom"
 msgstr "_CD-ROM"
 
 # _Löschen haben wir schon und ist unangebracht
-#: gtk/gtkstock.c:327
+#: ../gtk/gtkstock.c:328
 msgctxt "Stock label"
 msgid "_Clear"
 msgstr "_Leeren"
 
-#: gtk/gtkstock.c:328
+#: ../gtk/gtkstock.c:329
 msgctxt "Stock label"
 msgid "_Close"
 msgstr "S_chließen"
 
-#: gtk/gtkstock.c:329
+#: ../gtk/gtkstock.c:330
 msgctxt "Stock label"
 msgid "C_onnect"
 msgstr "_Verbinden"
 
-#: gtk/gtkstock.c:330
+#: ../gtk/gtkstock.c:331
 msgctxt "Stock label"
 msgid "_Convert"
 msgstr "_Umwandeln"
 
-#: gtk/gtkstock.c:331
+#: ../gtk/gtkstock.c:332
 msgctxt "Stock label"
 msgid "_Copy"
 msgstr "_Kopieren"
 
-#: gtk/gtkstock.c:332
+#: ../gtk/gtkstock.c:333
 msgctxt "Stock label"
 msgid "Cu_t"
 msgstr "_Ausschneiden"
 
-#: gtk/gtkstock.c:333
+#: ../gtk/gtkstock.c:334
 msgctxt "Stock label"
 msgid "_Delete"
 msgstr "_Löschen"
 
-#: gtk/gtkstock.c:334
+#: ../gtk/gtkstock.c:335
 msgctxt "Stock label"
 msgid "_Discard"
 msgstr "_Verwerfen"
 
-#: gtk/gtkstock.c:335
+#: ../gtk/gtkstock.c:336
 msgctxt "Stock label"
 msgid "_Disconnect"
 msgstr "_Trennen"
 
-#: gtk/gtkstock.c:336
+#: ../gtk/gtkstock.c:337
 msgctxt "Stock label"
 msgid "_Execute"
 msgstr "_Ausführen"
 
-#: gtk/gtkstock.c:337
+#: ../gtk/gtkstock.c:338
 msgctxt "Stock label"
 msgid "_Edit"
 msgstr "_Bearbeiten"
 
-#: gtk/gtkstock.c:338
-#, fuzzy
-msgctxt "Stock label"
-msgid "_File"
-msgstr "_Dateien"
-
-#: gtk/gtkstock.c:339
+#: ../gtk/gtkstock.c:339
 msgctxt "Stock label"
 msgid "_Find"
 msgstr "_Suchen"
 
-#: gtk/gtkstock.c:340
+#: ../gtk/gtkstock.c:340
 msgctxt "Stock label"
 msgid "Find and _Replace"
 msgstr "Suchen und _Ersetzen"
 
-#: gtk/gtkstock.c:341
+#: ../gtk/gtkstock.c:341
 msgctxt "Stock label"
 msgid "_Floppy"
 msgstr "_Diskette"
 
-#: gtk/gtkstock.c:342
+#: ../gtk/gtkstock.c:342
 msgctxt "Stock label"
 msgid "_Fullscreen"
 msgstr "_Vollbild"
 
-#: gtk/gtkstock.c:343
+#: ../gtk/gtkstock.c:343
 msgctxt "Stock label"
 msgid "_Leave Fullscreen"
 msgstr "Vollbild _verlassen"
 
 #. This is a navigation label as in "go to the bottom of the page"
-#: gtk/gtkstock.c:345
+#: ../gtk/gtkstock.c:345
 msgctxt "Stock label, navigation"
 msgid "_Bottom"
 msgstr "_Unten"
 
 #. This is a navigation label as in "go to the first page"
-#: gtk/gtkstock.c:347
+#: ../gtk/gtkstock.c:347
 msgctxt "Stock label, navigation"
 msgid "_First"
 msgstr "_Erster"
 
 #. This is a navigation label as in "go to the last page"
-#: gtk/gtkstock.c:349
+#: ../gtk/gtkstock.c:349
 msgctxt "Stock label, navigation"
 msgid "_Last"
 msgstr "_Letzter"
 
 #. This is a navigation label as in "go to the top of the page"
-#: gtk/gtkstock.c:351
+#: ../gtk/gtkstock.c:351
 msgctxt "Stock label, navigation"
 msgid "_Top"
 msgstr "_Oben"
 
 #. This is a navigation label as in "go back"
-#: gtk/gtkstock.c:353
+#: ../gtk/gtkstock.c:353
 msgctxt "Stock label, navigation"
 msgid "_Back"
 msgstr "_Zurück"
 
 #. This is a navigation label as in "go down"
-#: gtk/gtkstock.c:355
+#: ../gtk/gtkstock.c:355
 msgctxt "Stock label, navigation"
 msgid "_Down"
 msgstr "_Runter"
 
 #. This is a navigation label as in "go forward"
-#: gtk/gtkstock.c:357
+#: ../gtk/gtkstock.c:357
 msgctxt "Stock label, navigation"
 msgid "_Forward"
 msgstr "_Vor"
 
 #. This is a navigation label as in "go up"
-#: gtk/gtkstock.c:359
+#: ../gtk/gtkstock.c:359
 msgctxt "Stock label, navigation"
 msgid "_Up"
 msgstr "_Hoch"
 
-#: gtk/gtkstock.c:360
-#, fuzzy
+#: ../gtk/gtkstock.c:360
 msgctxt "Stock label"
-msgid "_Hard Disk"
+msgid "_Harddisk"
 msgstr "_Festplatte"
 
-#: gtk/gtkstock.c:361
+#: ../gtk/gtkstock.c:361
 msgctxt "Stock label"
 msgid "_Help"
 msgstr "_Hilfe"
 
-#: gtk/gtkstock.c:362
+#: ../gtk/gtkstock.c:362
 msgctxt "Stock label"
 msgid "_Home"
 msgstr "_Persönlicher Ordner"
 
-#: gtk/gtkstock.c:363
+#: ../gtk/gtkstock.c:363
 msgctxt "Stock label"
 msgid "Increase Indent"
 msgstr "Einzug erhöhen"
 
-#: gtk/gtkstock.c:364
+#: ../gtk/gtkstock.c:364
 msgctxt "Stock label"
 msgid "Decrease Indent"
 msgstr "Einzug vermindern"
 
-#: gtk/gtkstock.c:365
+#: ../gtk/gtkstock.c:365
 msgctxt "Stock label"
 msgid "_Index"
 msgstr "_Index"
 
-#: gtk/gtkstock.c:366
+#: ../gtk/gtkstock.c:366
 msgctxt "Stock label"
 msgid "_Information"
 msgstr "_Informationen"
 
-#: gtk/gtkstock.c:367
+#: ../gtk/gtkstock.c:367
 msgctxt "Stock label"
 msgid "_Italic"
 msgstr "_Kursiv"
 
-#: gtk/gtkstock.c:368
+#: ../gtk/gtkstock.c:368
 msgctxt "Stock label"
 msgid "_Jump to"
 msgstr "_Springe zu"
 
 #. This is about text justification, "centered text"
-#: gtk/gtkstock.c:370
+#: ../gtk/gtkstock.c:370
 msgctxt "Stock label"
 msgid "_Center"
 msgstr "_Zentrieren"
 
 #. This is about text justification
-#: gtk/gtkstock.c:372
+#: ../gtk/gtkstock.c:372
 msgctxt "Stock label"
 msgid "_Fill"
 msgstr "_Blocksatz"
 
 #. This is about text justification, "left-justified text"
-#: gtk/gtkstock.c:374
+#: ../gtk/gtkstock.c:374
 msgctxt "Stock label"
 msgid "_Left"
 msgstr "_Links"
 
 #. This is about text justification, "right-justified text"
-#: gtk/gtkstock.c:376
+#: ../gtk/gtkstock.c:376
 msgctxt "Stock label"
 msgid "_Right"
 msgstr "_Rechts"
 
 #. Media label, as in "fast forward"
-#: gtk/gtkstock.c:379
+#: ../gtk/gtkstock.c:379
 msgctxt "Stock label, media"
 msgid "_Forward"
 msgstr "_Vor"
 
 #. Media label, as in "next song"
-#: gtk/gtkstock.c:381
+#: ../gtk/gtkstock.c:381
 msgctxt "Stock label, media"
 msgid "_Next"
 msgstr "_Nächster"
 
 #. Media label, as in "pause music"
-#: gtk/gtkstock.c:383
+#: ../gtk/gtkstock.c:383
 msgctxt "Stock label, media"
 msgid "P_ause"
 msgstr "P_ause"
 
 #. Media label, as in "play music"
-#: gtk/gtkstock.c:385
+#: ../gtk/gtkstock.c:385
 msgctxt "Stock label, media"
 msgid "_Play"
 msgstr "_Wiedergabe"
 
 # CHECK
 #. Media label, as in  "previous song"
-#: gtk/gtkstock.c:387
+#: ../gtk/gtkstock.c:387
 msgctxt "Stock label, media"
 msgid "Pre_vious"
 msgstr "_Vorheriger"
 
 #. Media label
-#: gtk/gtkstock.c:389
+#: ../gtk/gtkstock.c:389
 msgctxt "Stock label, media"
 msgid "_Record"
 msgstr "_Aufnahme"
 
 # CHECK
 #. Media label
-#: gtk/gtkstock.c:391
+#: ../gtk/gtkstock.c:391
 msgctxt "Stock label, media"
 msgid "R_ewind"
 msgstr "_Zurückspulen"
 
 #. Media label
-#: gtk/gtkstock.c:393
+#: ../gtk/gtkstock.c:393
 msgctxt "Stock label, media"
 msgid "_Stop"
 msgstr "_Stopp"
 
-#: gtk/gtkstock.c:394
+#: ../gtk/gtkstock.c:394
 msgctxt "Stock label"
 msgid "_Network"
 msgstr "_Netzwerk"
 
-#: gtk/gtkstock.c:395
+#: ../gtk/gtkstock.c:395
 msgctxt "Stock label"
 msgid "_New"
 msgstr "_Neu"
 
-#: gtk/gtkstock.c:396
+#: ../gtk/gtkstock.c:396
 msgctxt "Stock label"
 msgid "_No"
 msgstr "_Nein"
 
-#: gtk/gtkstock.c:397
+#: ../gtk/gtkstock.c:397
 msgctxt "Stock label"
 msgid "_OK"
 msgstr "_OK"
 
-#: gtk/gtkstock.c:398
+#: ../gtk/gtkstock.c:398
 msgctxt "Stock label"
 msgid "_Open"
 msgstr "Ö_ffnen"
 
 #. Page orientation
-#: gtk/gtkstock.c:400
+#: ../gtk/gtkstock.c:400
 msgctxt "Stock label"
 msgid "Landscape"
 msgstr "Querformat"
 
 #. Page orientation
-#: gtk/gtkstock.c:402
+#: ../gtk/gtkstock.c:402
 msgctxt "Stock label"
 msgid "Portrait"
 msgstr "Hochformat"
 
 #. Page orientation
-#: gtk/gtkstock.c:404
+#: ../gtk/gtkstock.c:404
 msgctxt "Stock label"
 msgid "Reverse landscape"
 msgstr "Kopfstehendes Querformat"
 
 #. Page orientation
-#: gtk/gtkstock.c:406
+#: ../gtk/gtkstock.c:406
 msgctxt "Stock label"
 msgid "Reverse portrait"
 msgstr "Kopfstehendes Hochformat"
 
-#: gtk/gtkstock.c:407
+#: ../gtk/gtkstock.c:407
 msgctxt "Stock label"
 msgid "Page Set_up"
 msgstr "Seite einric_hten"
 
-#: gtk/gtkstock.c:408
+#: ../gtk/gtkstock.c:408
 msgctxt "Stock label"
 msgid "_Paste"
 msgstr "E_infügen"
 
-#: gtk/gtkstock.c:409
+#: ../gtk/gtkstock.c:409
 msgctxt "Stock label"
 msgid "_Preferences"
 msgstr "_Einstellungen"
 
-#: gtk/gtkstock.c:410
+#: ../gtk/gtkstock.c:410
 msgctxt "Stock label"
 msgid "_Print"
 msgstr "_Drucken"
 
-#: gtk/gtkstock.c:411
+#: ../gtk/gtkstock.c:411
 msgctxt "Stock label"
 msgid "Print Pre_view"
 msgstr "Druck_vorschau"
 
 # Auch wenn im Original die Tastenkürzel kollidieren (_Preferences),
 # wir verwenden Ei_genschaften.
-#: gtk/gtkstock.c:412
+#: ../gtk/gtkstock.c:412
 msgctxt "Stock label"
 msgid "_Properties"
 msgstr "Ei_genschaften"
 
-#: gtk/gtkstock.c:413
+#: ../gtk/gtkstock.c:413
 msgctxt "Stock label"
 msgid "_Quit"
 msgstr "_Beenden"
 
-#: gtk/gtkstock.c:414
+#: ../gtk/gtkstock.c:414
 msgctxt "Stock label"
 msgid "_Redo"
 msgstr "_Wiederholen"
 
-#: gtk/gtkstock.c:415
+#: ../gtk/gtkstock.c:415
 msgctxt "Stock label"
 msgid "_Refresh"
 msgstr "_Aktualisieren"
 
-#: gtk/gtkstock.c:416
+#: ../gtk/gtkstock.c:416
 msgctxt "Stock label"
 msgid "_Remove"
 msgstr "_Entfernen"
 
-#: gtk/gtkstock.c:417
+#: ../gtk/gtkstock.c:417
 msgctxt "Stock label"
 msgid "_Revert"
 msgstr "_Zurücksetzen"
 
-#: gtk/gtkstock.c:418
+#: ../gtk/gtkstock.c:418
 msgctxt "Stock label"
 msgid "_Save"
 msgstr "_Speichern"
 
-#: gtk/gtkstock.c:419
+#: ../gtk/gtkstock.c:419
 msgctxt "Stock label"
 msgid "Save _As"
 msgstr "Speichern _unter"
 
-#: gtk/gtkstock.c:420
+#: ../gtk/gtkstock.c:420
 msgctxt "Stock label"
 msgid "Select _All"
 msgstr "A_lles markieren"
 
-#: gtk/gtkstock.c:421
+#: ../gtk/gtkstock.c:421
 msgctxt "Stock label"
 msgid "_Color"
 msgstr "_Farbe"
 
-#: gtk/gtkstock.c:422
+#: ../gtk/gtkstock.c:422
 msgctxt "Stock label"
 msgid "_Font"
 msgstr "_Schrift"
 
 #. Sorting direction
-#: gtk/gtkstock.c:424
+#: ../gtk/gtkstock.c:424
 msgctxt "Stock label"
 msgid "_Ascending"
 msgstr "_Aufsteigend"
 
 #. Sorting direction
-#: gtk/gtkstock.c:426
+#: ../gtk/gtkstock.c:426
 msgctxt "Stock label"
 msgid "_Descending"
 msgstr "_Absteigend"
 
-#: gtk/gtkstock.c:427
+#: ../gtk/gtkstock.c:427
 msgctxt "Stock label"
 msgid "_Spell Check"
 msgstr "_Rechtschreibprüfung"
 
-#: gtk/gtkstock.c:428
+#: ../gtk/gtkstock.c:428
 msgctxt "Stock label"
 msgid "_Stop"
 msgstr "_Stopp"
 
 #. Font variant
-#: gtk/gtkstock.c:430
+#: ../gtk/gtkstock.c:430
 msgctxt "Stock label"
 msgid "_Strikethrough"
 msgstr "_Durchstreichen"
 
-#: gtk/gtkstock.c:431
+#: ../gtk/gtkstock.c:431
 msgctxt "Stock label"
 msgid "_Undelete"
 msgstr "_Löschen rückgängig"
 
 #. Font variant
-#: gtk/gtkstock.c:433
+#: ../gtk/gtkstock.c:433
 msgctxt "Stock label"
 msgid "_Underline"
 msgstr "_Unterstreichen"
 
-#: gtk/gtkstock.c:434
+#: ../gtk/gtkstock.c:434
 msgctxt "Stock label"
 msgid "_Undo"
 msgstr "_Rückgängig"
 
-#: gtk/gtkstock.c:435
+#: ../gtk/gtkstock.c:435
 msgctxt "Stock label"
 msgid "_Yes"
 msgstr "_Ja"
 
 #. Zoom
-#: gtk/gtkstock.c:437
+#: ../gtk/gtkstock.c:437
 msgctxt "Stock label"
 msgid "_Normal Size"
 msgstr "_Normale Größe"
 
 #. Zoom
-#: gtk/gtkstock.c:439
+#: ../gtk/gtkstock.c:439
 msgctxt "Stock label"
 msgid "Best _Fit"
 msgstr "_Einpassen"
 
-#: gtk/gtkstock.c:440
+#: ../gtk/gtkstock.c:440
 msgctxt "Stock label"
 msgid "Zoom _In"
 msgstr "_Heranzoomen"
 
-#: gtk/gtkstock.c:441
+#: ../gtk/gtkstock.c:441
 msgctxt "Stock label"
 msgid "Zoom _Out"
 msgstr "_Wegzoomen"
 
-#: gtk/gtktextbufferrichtext.c:650
+#: ../gtk/gtktextbufferrichtext.c:651
 #, c-format
 msgid "Unknown error when trying to deserialize %s"
 msgstr "Unbekannter Fehler beim Deserialisieren von %s"
 
-#: gtk/gtktextbufferrichtext.c:709
+#: ../gtk/gtktextbufferrichtext.c:710
 #, c-format
 msgid "No deserialize function found for format %s"
 msgstr "Es konnte keine Deserialisierungs-Funktion für %s gefunden werden"
 
-#: gtk/gtktextbufferserialize.c:795 gtk/gtktextbufferserialize.c:821
+#: ../gtk/gtktextbufferserialize.c:796 ../gtk/gtktextbufferserialize.c:822
 #, c-format
 msgid "Both \"id\" and \"name\" were found on the <%s> element"
 msgstr "Es wurde sowohl »id« als auch »name« im <%s>-Element gefunden"
 
-#: gtk/gtktextbufferserialize.c:805 gtk/gtktextbufferserialize.c:831
+#: ../gtk/gtktextbufferserialize.c:806 ../gtk/gtktextbufferserialize.c:832
 #, c-format
 msgid "The attribute \"%s\" was found twice on the <%s> element"
 msgstr "Das Attribut »%s« wurde zwei Mal im <%s>-Element gefunden"
 
-#: gtk/gtktextbufferserialize.c:845
-#, fuzzy, c-format
+#: ../gtk/gtktextbufferserialize.c:846
+#, c-format
 msgid "<%s> element has invalid ID \"%s\""
-msgstr "»%s«-Element hat ungültige Kennung »%s«"
+msgstr "<%s>-Element hat ungültige Kennung »%s«"
 
-#: gtk/gtktextbufferserialize.c:855
+#: ../gtk/gtktextbufferserialize.c:856
 #, c-format
 msgid "<%s> element has neither a \"name\" nor an \"id\" attribute"
 msgstr "<%s>-Element hat weder ein »name«- noch ein »id«-Attribut"
 
-#: gtk/gtktextbufferserialize.c:942
+#: ../gtk/gtktextbufferserialize.c:943
 #, c-format
 msgid "Attribute \"%s\" repeated twice on the same <%s> element"
 msgstr "Attribut »%s« wurde zwei Mal im selben <%s>-Element verwendet"
 
-#: gtk/gtktextbufferserialize.c:960 gtk/gtktextbufferserialize.c:985
+#: ../gtk/gtktextbufferserialize.c:961 ../gtk/gtktextbufferserialize.c:986
 #, c-format
 msgid "Attribute \"%s\" is invalid on <%s> element in this context"
 msgstr "Attribut »%s« ist in diesem Kontext ungültig im <%s>-Element"
 
-#: gtk/gtktextbufferserialize.c:1024
+#: ../gtk/gtktextbufferserialize.c:1022
 #, c-format
 msgid "Tag \"%s\" has not been defined."
 msgstr "Tag »%s« wurde nicht definiert."
 
-#: gtk/gtktextbufferserialize.c:1036
+#: ../gtk/gtktextbufferserialize.c:1034
 msgid "Anonymous tag found and tags can not be created."
 msgstr "Anonymer Tag wurde gefunden und Tags können nicht erstellt werden."
 
-#: gtk/gtktextbufferserialize.c:1047
+#: ../gtk/gtktextbufferserialize.c:1045
 #, c-format
 msgid "Tag \"%s\" does not exist in buffer and tags can not be created."
 msgstr ""
 "Tag »%s« existiert nicht im Puffer und Tags können nicht erstellt werden."
 
-#: gtk/gtktextbufferserialize.c:1146 gtk/gtktextbufferserialize.c:1221
-#: gtk/gtktextbufferserialize.c:1324 gtk/gtktextbufferserialize.c:1398
+#: ../gtk/gtktextbufferserialize.c:1144 ../gtk/gtktextbufferserialize.c:1219
+#: ../gtk/gtktextbufferserialize.c:1320 ../gtk/gtktextbufferserialize.c:1394
 #, c-format
 msgid "Element <%s> is not allowed below <%s>"
 msgstr "Element »%s« ist unterhalb von »%s« nicht erlaubt"
 
-#: gtk/gtktextbufferserialize.c:1177
+#: ../gtk/gtktextbufferserialize.c:1175
 #, c-format
 msgid "\"%s\" is not a valid attribute type"
 msgstr "»%s« ist kein gültiger Attributstyp"
 
-#: gtk/gtktextbufferserialize.c:1185
+#: ../gtk/gtktextbufferserialize.c:1183
 #, c-format
 msgid "\"%s\" is not a valid attribute name"
 msgstr "»%s« ist kein gültiger Attributsname"
 
-#: gtk/gtktextbufferserialize.c:1195
+#: ../gtk/gtktextbufferserialize.c:1193
 #, c-format
 msgid ""
 "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\""
@@ -2677,138 +2874,142 @@ msgstr ""
 "»%s« konnte für das Attribut »%s« nicht in einen Wert vom Typ »%s« "
 "konvertiert werden"
 
-#: gtk/gtktextbufferserialize.c:1204
+#: ../gtk/gtktextbufferserialize.c:1202
 #, c-format
 msgid "\"%s\" is not a valid value for attribute \"%s\""
 msgstr "»%s« ist kein gültiger Wert für das Attribut »%s«"
 
-#: gtk/gtktextbufferserialize.c:1289
+#: ../gtk/gtktextbufferserialize.c:1285
 #, c-format
 msgid "Tag \"%s\" already defined"
 msgstr "Tag »%s« wurde bereits definiert"
 
-#: gtk/gtktextbufferserialize.c:1300
+#: ../gtk/gtktextbufferserialize.c:1296
 #, c-format
 msgid "Tag \"%s\" has invalid priority \"%s\""
 msgstr "Tag »%s« hat ungültige Priorität »%s«"
 
-#: gtk/gtktextbufferserialize.c:1353
+#: ../gtk/gtktextbufferserialize.c:1349
 #, c-format
 msgid "Outermost element in text must be <text_view_markup> not <%s>"
 msgstr "Äußerstes Element im Text muss <text_view_markup> sein, nicht <%s>"
 
-#: gtk/gtktextbufferserialize.c:1362 gtk/gtktextbufferserialize.c:1378
+#: ../gtk/gtktextbufferserialize.c:1358 ../gtk/gtktextbufferserialize.c:1374
 #, c-format
 msgid "A <%s> element has already been specified"
 msgstr "Ein <%s>-Element wurde bereits festgelegt"
 
-#: gtk/gtktextbufferserialize.c:1384
+#: ../gtk/gtktextbufferserialize.c:1380
 msgid "A <text> element can't occur before a <tags> element"
 msgstr "Ein <text>-Element kann nicht für einem <tags>-Element auftreten"
 
-#: gtk/gtktextbufferserialize.c:1784
+#: ../gtk/gtktextbufferserialize.c:1779
 msgid "Serialized data is malformed"
 msgstr "Serialisierte Daten sind fehlerhaft"
 
-#: gtk/gtktextbufferserialize.c:1862
+#: ../gtk/gtktextbufferserialize.c:1857
 msgid ""
 "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001"
 msgstr ""
 "Serialisierte Daten sind fehlerhaft. Erste Sektion ist nicht "
 "GTKTEXTBUFFERCONTENTS-0001"
 
-#: gtk/gtktextutil.c:60
+#: ../gtk/gtktextutil.c:61
 msgid "LRM _Left-to-right mark"
 msgstr "LRM Von-_links-nach-rechts-Marke"
 
-#: gtk/gtktextutil.c:61
+#: ../gtk/gtktextutil.c:62
 msgid "RLM _Right-to-left mark"
 msgstr "RLM Von-_rechts-nach-links-Marke"
 
-#: gtk/gtktextutil.c:62
+#: ../gtk/gtktextutil.c:63
 msgid "LRE Left-to-right _embedding"
 msgstr "LRE Von-links-nach-rechts-_Einbettung"
 
-#: gtk/gtktextutil.c:63
+#: ../gtk/gtktextutil.c:64
 msgid "RLE Right-to-left e_mbedding"
 msgstr "RLE Von-rechts-nach-Links-E_inbettung"
 
-#: gtk/gtktextutil.c:64
+#: ../gtk/gtktextutil.c:65
 msgid "LRO Left-to-right _override"
 msgstr "LRO Von-links-nach-rechts-_Überschreiben"
 
-#: gtk/gtktextutil.c:65
+#: ../gtk/gtktextutil.c:66
 msgid "RLO Right-to-left o_verride"
 msgstr "RLO Von-rechts-nach-links-Ü_berschreiben"
 
-#: gtk/gtktextutil.c:66
+#: ../gtk/gtktextutil.c:67
 msgid "PDF _Pop directional formatting"
 msgstr "PDF Richtungsformatierungs-_Pop"
 
-#: gtk/gtktextutil.c:67
+#: ../gtk/gtktextutil.c:68
 msgid "ZWS _Zero width space"
 msgstr "ZWS-Leerraum mit Breite _null"
 
-#: gtk/gtktextutil.c:68
+#: ../gtk/gtktextutil.c:69
 msgid "ZWJ Zero width _joiner"
 msgstr "ZWJ-_Verbinder mit Breite null"
 
-#: gtk/gtktextutil.c:69
+#: ../gtk/gtktextutil.c:70
 msgid "ZWNJ Zero width _non-joiner"
 msgstr "ZWNJ-_Trenner mit Breite null"
 
-#: gtk/gtkthemes.c:72
+#: ../gtk/gtkthemes.c:71
 #, c-format
 msgid "Unable to locate theme engine in module_path: \"%s\","
 msgstr "Im Modulpfad »%s« konnte keine Themen-Engine gefunden werden,"
 
-#: gtk/gtkuimanager.c:1505
+#: ../gtk/gtktipsquery.c:188
+msgid "--- No Tip ---"
+msgstr "--- Kein Tipp ---"
+
+#: ../gtk/gtkuimanager.c:1505
 #, c-format
 msgid "Unexpected start tag '%s' on line %d char %d"
 msgstr "Unerwarteter, öffnender Tag »%s« in Zeile %d, Zeichen %d"
 
-#: gtk/gtkuimanager.c:1595
+#: ../gtk/gtkuimanager.c:1595
 #, c-format
 msgid "Unexpected character data on line %d char %d"
 msgstr "Unerwartete Zeichendaten in Zeile %d, Zeichen %d"
 
-#: gtk/gtkuimanager.c:2427
+#: ../gtk/gtkuimanager.c:2427
 msgid "Empty"
 msgstr "Leer"
 
-#: gtk/gtkvolumebutton.c:83
+#: ../gtk/gtkvolumebutton.c:83
 msgid "Volume"
 msgstr "Lautstärke"
 
-#: gtk/gtkvolumebutton.c:85
+#: ../gtk/gtkvolumebutton.c:85
 msgid "Turns volume down or up"
 msgstr "Ändert die Lautstärke"
 
-#: gtk/gtkvolumebutton.c:88
+#: ../gtk/gtkvolumebutton.c:88
 msgid "Adjusts the volume"
 msgstr "Passt die Lautstärke an"
 
-#: gtk/gtkvolumebutton.c:94 gtk/gtkvolumebutton.c:97
+#: ../gtk/gtkvolumebutton.c:91 ../gtk/gtkvolumebutton.c:94
 msgid "Volume Down"
 msgstr "Leiser"
 
-#: gtk/gtkvolumebutton.c:96
+#: ../gtk/gtkvolumebutton.c:93
 msgid "Decreases the volume"
 msgstr "Verringert die Lautstärke"
 
-#: gtk/gtkvolumebutton.c:100 gtk/gtkvolumebutton.c:103
+#: ../gtk/gtkvolumebutton.c:97 ../gtk/gtkvolumebutton.c:100
 msgid "Volume Up"
 msgstr "Lauter"
 
-#: gtk/gtkvolumebutton.c:102
+#: ../gtk/gtkvolumebutton.c:99
 msgid "Increases the volume"
 msgstr "Erhöht die Lautstärke"
 
-#: gtk/gtkvolumebutton.c:160
+#: ../gtk/gtkvolumebutton.c:157
 msgid "Muted"
 msgstr "Stumm"
 
-#: gtk/gtkvolumebutton.c:164
+#: ../gtk/gtkvolumebutton.c:161
 msgid "Full Volume"
 msgstr "Volle Lautstärke"
 
@@ -2817,935 +3018,934 @@ msgstr "Volle Lautstärke"
 #. * Translate the "%d" to "%Id" if you want to use localised digits,
 #. * or otherwise translate the "%d" to "%d".
 #.
-#: gtk/gtkvolumebutton.c:177
+#: ../gtk/gtkvolumebutton.c:174
 #, c-format
 msgctxt "volume percentage"
 msgid "%d %%"
 msgstr "%d %%"
 
-#: gtk/paper_names_offsets.c:4
+#: ../gtk/paper_names_offsets.c:4
 msgctxt "paper size"
 msgid "asme_f"
 msgstr "asme_f"
 
-#: gtk/paper_names_offsets.c:5
+#: ../gtk/paper_names_offsets.c:5
 msgctxt "paper size"
 msgid "A0x2"
 msgstr "1/2 A0"
 
-#: gtk/paper_names_offsets.c:6
+#: ../gtk/paper_names_offsets.c:6
 msgctxt "paper size"
 msgid "A0"
 msgstr "A0"
 
-#: gtk/paper_names_offsets.c:7
+#: ../gtk/paper_names_offsets.c:7
 msgctxt "paper size"
 msgid "A0x3"
 msgstr "1/3 A0"
 
-#: gtk/paper_names_offsets.c:8
+#: ../gtk/paper_names_offsets.c:8
 msgctxt "paper size"
 msgid "A1"
 msgstr "A1"
 
-#: gtk/paper_names_offsets.c:9
+#: ../gtk/paper_names_offsets.c:9
 msgctxt "paper size"
 msgid "A10"
 msgstr "A10"
 
-#: gtk/paper_names_offsets.c:10
+#: ../gtk/paper_names_offsets.c:10
 msgctxt "paper size"
 msgid "A1x3"
 msgstr "1/3 A1"
 
-#: gtk/paper_names_offsets.c:11
+#: ../gtk/paper_names_offsets.c:11
 msgctxt "paper size"
 msgid "A1x4"
 msgstr "1/4 A1"
 
-#: gtk/paper_names_offsets.c:12
+#: ../gtk/paper_names_offsets.c:12
 msgctxt "paper size"
 msgid "A2"
 msgstr "A2"
 
-#: gtk/paper_names_offsets.c:13
+#: ../gtk/paper_names_offsets.c:13
 msgctxt "paper size"
 msgid "A2x3"
 msgstr "1/3 A2"
 
-#: gtk/paper_names_offsets.c:14
+#: ../gtk/paper_names_offsets.c:14
 msgctxt "paper size"
 msgid "A2x4"
 msgstr "1/4 A2"
 
-#: gtk/paper_names_offsets.c:15
+#: ../gtk/paper_names_offsets.c:15
 msgctxt "paper size"
 msgid "A2x5"
 msgstr "1/5 A2"
 
-#: gtk/paper_names_offsets.c:16
+#: ../gtk/paper_names_offsets.c:16
 msgctxt "paper size"
 msgid "A3"
 msgstr "A3"
 
-#: gtk/paper_names_offsets.c:17
+#: ../gtk/paper_names_offsets.c:17
 msgctxt "paper size"
 msgid "A3 Extra"
 msgstr "A3 Extra"
 
-#: gtk/paper_names_offsets.c:18
+#: ../gtk/paper_names_offsets.c:18
 msgctxt "paper size"
 msgid "A3x3"
 msgstr "1/3 A3"
 
-#: gtk/paper_names_offsets.c:19
+#: ../gtk/paper_names_offsets.c:19
 msgctxt "paper size"
 msgid "A3x4"
 msgstr "1/4 A3"
 
-#: gtk/paper_names_offsets.c:20
+#: ../gtk/paper_names_offsets.c:20
 msgctxt "paper size"
 msgid "A3x5"
 msgstr "1/5 A3"
 
-#: gtk/paper_names_offsets.c:21
+#: ../gtk/paper_names_offsets.c:21
 msgctxt "paper size"
 msgid "A3x6"
 msgstr "1/6 A3"
 
-#: gtk/paper_names_offsets.c:22
+#: ../gtk/paper_names_offsets.c:22
 msgctxt "paper size"
 msgid "A3x7"
 msgstr "1/7 A3"
 
-#: gtk/paper_names_offsets.c:23
+#: ../gtk/paper_names_offsets.c:23
 msgctxt "paper size"
 msgid "A4"
 msgstr "A4"
 
-#: gtk/paper_names_offsets.c:24
+#: ../gtk/paper_names_offsets.c:24
 msgctxt "paper size"
 msgid "A4 Extra"
 msgstr "A4 Extra"
 
-#: gtk/paper_names_offsets.c:25
+#: ../gtk/paper_names_offsets.c:25
 msgctxt "paper size"
 msgid "A4 Tab"
 msgstr "A4 Tab"
 
-#: gtk/paper_names_offsets.c:26
+#: ../gtk/paper_names_offsets.c:26
 msgctxt "paper size"
 msgid "A4x3"
 msgstr "1/3 A4"
 
-#: gtk/paper_names_offsets.c:27
+#: ../gtk/paper_names_offsets.c:27
 msgctxt "paper size"
 msgid "A4x4"
 msgstr "1/4 A4"
 
-#: gtk/paper_names_offsets.c:28
+#: ../gtk/paper_names_offsets.c:28
 msgctxt "paper size"
 msgid "A4x5"
 msgstr "1/5 A4"
 
-#: gtk/paper_names_offsets.c:29
+#: ../gtk/paper_names_offsets.c:29
 msgctxt "paper size"
 msgid "A4x6"
 msgstr "1/6 A4"
 
-#: gtk/paper_names_offsets.c:30
+#: ../gtk/paper_names_offsets.c:30
 msgctxt "paper size"
 msgid "A4x7"
 msgstr "1/7 A4"
 
-#: gtk/paper_names_offsets.c:31
+#: ../gtk/paper_names_offsets.c:31
 msgctxt "paper size"
 msgid "A4x8"
 msgstr "1/8 A4"
 
-#: gtk/paper_names_offsets.c:32
+#: ../gtk/paper_names_offsets.c:32
 msgctxt "paper size"
 msgid "A4x9"
 msgstr "1/9 A4"
 
-#: gtk/paper_names_offsets.c:33
+#: ../gtk/paper_names_offsets.c:33
 msgctxt "paper size"
 msgid "A5"
 msgstr "A5"
 
-#: gtk/paper_names_offsets.c:34
+#: ../gtk/paper_names_offsets.c:34
 msgctxt "paper size"
 msgid "A5 Extra"
 msgstr "A5 Extra"
 
-#: gtk/paper_names_offsets.c:35
+#: ../gtk/paper_names_offsets.c:35
 msgctxt "paper size"
 msgid "A6"
 msgstr "A6"
 
-#: gtk/paper_names_offsets.c:36
+#: ../gtk/paper_names_offsets.c:36
 msgctxt "paper size"
 msgid "A7"
 msgstr "A7"
 
-#: gtk/paper_names_offsets.c:37
+#: ../gtk/paper_names_offsets.c:37
 msgctxt "paper size"
 msgid "A8"
 msgstr "A8"
 
-#: gtk/paper_names_offsets.c:38
+#: ../gtk/paper_names_offsets.c:38
 msgctxt "paper size"
 msgid "A9"
 msgstr "A9"
 
-#: gtk/paper_names_offsets.c:39
+#: ../gtk/paper_names_offsets.c:39
 msgctxt "paper size"
 msgid "B0"
 msgstr "B0"
 
-#: gtk/paper_names_offsets.c:40
+#: ../gtk/paper_names_offsets.c:40
 msgctxt "paper size"
 msgid "B1"
 msgstr "B1"
 
-#: gtk/paper_names_offsets.c:41
+#: ../gtk/paper_names_offsets.c:41
 msgctxt "paper size"
 msgid "B10"
 msgstr "B10"
 
-#: gtk/paper_names_offsets.c:42
+#: ../gtk/paper_names_offsets.c:42
 msgctxt "paper size"
 msgid "B2"
 msgstr "B2"
 
-#: gtk/paper_names_offsets.c:43
+#: ../gtk/paper_names_offsets.c:43
 msgctxt "paper size"
 msgid "B3"
 msgstr "B3"
 
-#: gtk/paper_names_offsets.c:44
+#: ../gtk/paper_names_offsets.c:44
 msgctxt "paper size"
 msgid "B4"
 msgstr "B4"
 
-#: gtk/paper_names_offsets.c:45
+#: ../gtk/paper_names_offsets.c:45
 msgctxt "paper size"
 msgid "B5"
 msgstr "B5"
 
-#: gtk/paper_names_offsets.c:46
+#: ../gtk/paper_names_offsets.c:46
 msgctxt "paper size"
 msgid "B5 Extra"
 msgstr "B5 Extra"
 
-#: gtk/paper_names_offsets.c:47
+#: ../gtk/paper_names_offsets.c:47
 msgctxt "paper size"
 msgid "B6"
 msgstr "B6"
 
-#: gtk/paper_names_offsets.c:48
+#: ../gtk/paper_names_offsets.c:48
 msgctxt "paper size"
 msgid "B6/C4"
 msgstr "B6/C4"
 
-#: gtk/paper_names_offsets.c:49
+#: ../gtk/paper_names_offsets.c:49
 msgctxt "paper size"
 msgid "B7"
 msgstr "B7"
 
-#: gtk/paper_names_offsets.c:50
+#: ../gtk/paper_names_offsets.c:50
 msgctxt "paper size"
 msgid "B8"
 msgstr "B8"
 
-#: gtk/paper_names_offsets.c:51
+#: ../gtk/paper_names_offsets.c:51
 msgctxt "paper size"
 msgid "B9"
 msgstr "B9"
 
-#: gtk/paper_names_offsets.c:52
+#: ../gtk/paper_names_offsets.c:52
 msgctxt "paper size"
 msgid "C0"
 msgstr "C0"
 
-#: gtk/paper_names_offsets.c:53
+#: ../gtk/paper_names_offsets.c:53
 msgctxt "paper size"
 msgid "C1"
 msgstr "C1"
 
-#: gtk/paper_names_offsets.c:54
+#: ../gtk/paper_names_offsets.c:54
 msgctxt "paper size"
 msgid "C10"
 msgstr "C10"
 
-#: gtk/paper_names_offsets.c:55
+#: ../gtk/paper_names_offsets.c:55
 msgctxt "paper size"
 msgid "C2"
 msgstr "C2"
 
-#: gtk/paper_names_offsets.c:56
+#: ../gtk/paper_names_offsets.c:56
 msgctxt "paper size"
 msgid "C3"
 msgstr "C3"
 
-#: gtk/paper_names_offsets.c:57
+#: ../gtk/paper_names_offsets.c:57
 msgctxt "paper size"
 msgid "C4"
 msgstr "C4"
 
-#: gtk/paper_names_offsets.c:58
+#: ../gtk/paper_names_offsets.c:58
 msgctxt "paper size"
 msgid "C5"
 msgstr "C5"
 
-#: gtk/paper_names_offsets.c:59
+#: ../gtk/paper_names_offsets.c:59
 msgctxt "paper size"
 msgid "C6"
 msgstr "C6"
 
-#: gtk/paper_names_offsets.c:60
+#: ../gtk/paper_names_offsets.c:60
 msgctxt "paper size"
 msgid "C6/C5"
 msgstr "C6/C5"
 
-#: gtk/paper_names_offsets.c:61
+#: ../gtk/paper_names_offsets.c:61
 msgctxt "paper size"
 msgid "C7"
 msgstr "C7"
 
-#: gtk/paper_names_offsets.c:62
+#: ../gtk/paper_names_offsets.c:62
 msgctxt "paper size"
 msgid "C7/C6"
 msgstr "C7/C6"
 
-#: gtk/paper_names_offsets.c:63
+#: ../gtk/paper_names_offsets.c:63
 msgctxt "paper size"
 msgid "C8"
 msgstr "C8"
 
-#: gtk/paper_names_offsets.c:64
+#: ../gtk/paper_names_offsets.c:64
 msgctxt "paper size"
 msgid "C9"
 msgstr "C9"
 
-#: gtk/paper_names_offsets.c:65
+#: ../gtk/paper_names_offsets.c:65
 msgctxt "paper size"
 msgid "DL Envelope"
 msgstr "DL-Umschlag"
 
-#: gtk/paper_names_offsets.c:66
+#: ../gtk/paper_names_offsets.c:66
 msgctxt "paper size"
 msgid "RA0"
 msgstr "RA0"
 
-#: gtk/paper_names_offsets.c:67
+#: ../gtk/paper_names_offsets.c:67
 msgctxt "paper size"
 msgid "RA1"
 msgstr "RA1"
 
-#: gtk/paper_names_offsets.c:68
+#: ../gtk/paper_names_offsets.c:68
 msgctxt "paper size"
 msgid "RA2"
 msgstr "RA2"
 
-#: gtk/paper_names_offsets.c:69
+#: ../gtk/paper_names_offsets.c:69
 msgctxt "paper size"
 msgid "SRA0"
 msgstr "SRA0"
 
-#: gtk/paper_names_offsets.c:70
+#: ../gtk/paper_names_offsets.c:70
 msgctxt "paper size"
 msgid "SRA1"
 msgstr "SRA1"
 
-#: gtk/paper_names_offsets.c:71
+#: ../gtk/paper_names_offsets.c:71
 msgctxt "paper size"
 msgid "SRA2"
 msgstr "SRA2"
 
-#: gtk/paper_names_offsets.c:72
+#: ../gtk/paper_names_offsets.c:72
 msgctxt "paper size"
 msgid "JB0"
 msgstr "JB0"
 
-#: gtk/paper_names_offsets.c:73
+#: ../gtk/paper_names_offsets.c:73
 msgctxt "paper size"
 msgid "JB1"
 msgstr "JB1"
 
-#: gtk/paper_names_offsets.c:74
+#: ../gtk/paper_names_offsets.c:74
 msgctxt "paper size"
 msgid "JB10"
 msgstr "JB10"
 
-#: gtk/paper_names_offsets.c:75
+#: ../gtk/paper_names_offsets.c:75
 msgctxt "paper size"
 msgid "JB2"
 msgstr "JB2"
 
-#: gtk/paper_names_offsets.c:76
+#: ../gtk/paper_names_offsets.c:76
 msgctxt "paper size"
 msgid "JB3"
 msgstr "JB3"
 
-#: gtk/paper_names_offsets.c:77
+#: ../gtk/paper_names_offsets.c:77
 msgctxt "paper size"
 msgid "JB4"
 msgstr "JB4"
 
-#: gtk/paper_names_offsets.c:78
+#: ../gtk/paper_names_offsets.c:78
 msgctxt "paper size"
 msgid "JB5"
 msgstr "JB5"
 
-#: gtk/paper_names_offsets.c:79
+#: ../gtk/paper_names_offsets.c:79
 msgctxt "paper size"
 msgid "JB6"
 msgstr "JB6"
 
-#: gtk/paper_names_offsets.c:80
+#: ../gtk/paper_names_offsets.c:80
 msgctxt "paper size"
 msgid "JB7"
 msgstr "JB7"
 
-#: gtk/paper_names_offsets.c:81
+#: ../gtk/paper_names_offsets.c:81
 msgctxt "paper size"
 msgid "JB8"
 msgstr "JB8"
 
-#: gtk/paper_names_offsets.c:82
+#: ../gtk/paper_names_offsets.c:82
 msgctxt "paper size"
 msgid "JB9"
 msgstr "JB9"
 
-#: gtk/paper_names_offsets.c:83
+#: ../gtk/paper_names_offsets.c:83
 msgctxt "paper size"
 msgid "jis exec"
 msgstr "jis exec"
 
-#: gtk/paper_names_offsets.c:84
+#: ../gtk/paper_names_offsets.c:84
 msgctxt "paper size"
 msgid "Choukei 2 Envelope"
 msgstr "Choukei 2-Umschlag"
 
-#: gtk/paper_names_offsets.c:85
+#: ../gtk/paper_names_offsets.c:85
 msgctxt "paper size"
 msgid "Choukei 3 Envelope"
 msgstr "Choukei 3-Umschlag"
 
-#: gtk/paper_names_offsets.c:86
+#: ../gtk/paper_names_offsets.c:86
 msgctxt "paper size"
 msgid "Choukei 4 Envelope"
 msgstr "Choukei 4-Umschlag"
 
-#: gtk/paper_names_offsets.c:87
+#: ../gtk/paper_names_offsets.c:87
 msgctxt "paper size"
 msgid "hagaki (postcard)"
 msgstr "hagaki (Postkarte)"
 
-#: gtk/paper_names_offsets.c:88
+#: ../gtk/paper_names_offsets.c:88
 msgctxt "paper size"
 msgid "kahu Envelope"
 msgstr "kahu-Umschlag"
 
-#: gtk/paper_names_offsets.c:89
+#: ../gtk/paper_names_offsets.c:89
 msgctxt "paper size"
 msgid "kaku2 Envelope"
 msgstr "kaku2-Umschlag"
 
-#: gtk/paper_names_offsets.c:90
+#: ../gtk/paper_names_offsets.c:90
 msgctxt "paper size"
 msgid "oufuku (reply postcard)"
 msgstr "oufuku (Antwortpostkarte)"
 
-#: gtk/paper_names_offsets.c:91
+#: ../gtk/paper_names_offsets.c:91
 msgctxt "paper size"
 msgid "you4 Envelope"
 msgstr "you4-Umschlag"
 
-#: gtk/paper_names_offsets.c:92
+#: ../gtk/paper_names_offsets.c:92
 msgctxt "paper size"
 msgid "10x11"
 msgstr "10x11"
 
-#: gtk/paper_names_offsets.c:93
+#: ../gtk/paper_names_offsets.c:93
 msgctxt "paper size"
 msgid "10x13"
 msgstr "10x13"
 
-#: gtk/paper_names_offsets.c:94
+#: ../gtk/paper_names_offsets.c:94
 msgctxt "paper size"
 msgid "10x14"
 msgstr "10x14"
 
-#: gtk/paper_names_offsets.c:95 gtk/paper_names_offsets.c:96
+#: ../gtk/paper_names_offsets.c:95 ../gtk/paper_names_offsets.c:96
 msgctxt "paper size"
 msgid "10x15"
 msgstr "10x15"
 
-#: gtk/paper_names_offsets.c:97
+#: ../gtk/paper_names_offsets.c:97
 msgctxt "paper size"
 msgid "11x12"
 msgstr "11x12"
 
-#: gtk/paper_names_offsets.c:98
+#: ../gtk/paper_names_offsets.c:98
 msgctxt "paper size"
 msgid "11x15"
 msgstr "11x15"
 
-#: gtk/paper_names_offsets.c:99
+#: ../gtk/paper_names_offsets.c:99
 msgctxt "paper size"
 msgid "12x19"
 msgstr "12x19"
 
-#: gtk/paper_names_offsets.c:100
+#: ../gtk/paper_names_offsets.c:100
 msgctxt "paper size"
 msgid "5x7"
 msgstr "5x7"
 
-#: gtk/paper_names_offsets.c:101
+#: ../gtk/paper_names_offsets.c:101
 msgctxt "paper size"
 msgid "6x9 Envelope"
 msgstr "6x9-Umschlag"
 
-#: gtk/paper_names_offsets.c:102
+#: ../gtk/paper_names_offsets.c:102
 msgctxt "paper size"
 msgid "7x9 Envelope"
 msgstr "7x9-Umschlag"
 
-#: gtk/paper_names_offsets.c:103
+#: ../gtk/paper_names_offsets.c:103
 msgctxt "paper size"
 msgid "9x11 Envelope"
 msgstr "9x11-Umschlag"
 
-#: gtk/paper_names_offsets.c:104
+#: ../gtk/paper_names_offsets.c:104
 msgctxt "paper size"
 msgid "a2 Envelope"
 msgstr "a2-Umschlag"
 
-#: gtk/paper_names_offsets.c:105
+#: ../gtk/paper_names_offsets.c:105
 msgctxt "paper size"
 msgid "Arch A"
 msgstr "Arch A"
 
-#: gtk/paper_names_offsets.c:106
+#: ../gtk/paper_names_offsets.c:106
 msgctxt "paper size"
 msgid "Arch B"
 msgstr "Arch B"
 
-#: gtk/paper_names_offsets.c:107
+#: ../gtk/paper_names_offsets.c:107
 msgctxt "paper size"
 msgid "Arch C"
 msgstr "Arch C"
 
-#: gtk/paper_names_offsets.c:108
+#: ../gtk/paper_names_offsets.c:108
 msgctxt "paper size"
 msgid "Arch D"
 msgstr "Arch D"
 
-#: gtk/paper_names_offsets.c:109
+#: ../gtk/paper_names_offsets.c:109
 msgctxt "paper size"
 msgid "Arch E"
 msgstr "Arch E"
 
-#: gtk/paper_names_offsets.c:110
+#: ../gtk/paper_names_offsets.c:110
 msgctxt "paper size"
 msgid "b-plus"
 msgstr "b-plus"
 
-#: gtk/paper_names_offsets.c:111
+#: ../gtk/paper_names_offsets.c:111
 msgctxt "paper size"
 msgid "c"
 msgstr "c"
 
-#: gtk/paper_names_offsets.c:112
+#: ../gtk/paper_names_offsets.c:112
 msgctxt "paper size"
 msgid "c5 Envelope"
 msgstr "c5-Umschlag"
 
-#: gtk/paper_names_offsets.c:113
+#: ../gtk/paper_names_offsets.c:113
 msgctxt "paper size"
 msgid "d"
 msgstr "d"
 
-#: gtk/paper_names_offsets.c:114
+#: ../gtk/paper_names_offsets.c:114
 msgctxt "paper size"
 msgid "e"
 msgstr "e"
 
-#: gtk/paper_names_offsets.c:115
+#: ../gtk/paper_names_offsets.c:115
 msgctxt "paper size"
 msgid "edp"
 msgstr "edp"
 
-#: gtk/paper_names_offsets.c:116
+#: ../gtk/paper_names_offsets.c:116
 msgctxt "paper size"
 msgid "European edp"
 msgstr "Europäisches edp"
 
-#: gtk/paper_names_offsets.c:117
+#: ../gtk/paper_names_offsets.c:117
 msgctxt "paper size"
 msgid "Executive"
 msgstr "Executive"
 
-#: gtk/paper_names_offsets.c:118
+#: ../gtk/paper_names_offsets.c:118
 msgctxt "paper size"
 msgid "f"
 msgstr "f"
 
-#: gtk/paper_names_offsets.c:119
+#: ../gtk/paper_names_offsets.c:119
 msgctxt "paper size"
 msgid "FanFold European"
 msgstr "FanFold Europäisch"
 
-#: gtk/paper_names_offsets.c:120
+#: ../gtk/paper_names_offsets.c:120
 msgctxt "paper size"
 msgid "FanFold US"
 msgstr "FanFold US"
 
-#: gtk/paper_names_offsets.c:121
+#: ../gtk/paper_names_offsets.c:121
 msgctxt "paper size"
 msgid "FanFold German Legal"
 msgstr "FanFold Deutsch-Legal"
 
-#: gtk/paper_names_offsets.c:122
+#: ../gtk/paper_names_offsets.c:122
 msgctxt "paper size"
 msgid "Government Legal"
 msgstr "Government-Legal"
 
-#: gtk/paper_names_offsets.c:123
+#: ../gtk/paper_names_offsets.c:123
 msgctxt "paper size"
 msgid "Government Letter"
 msgstr "Government-Letter"
 
-#: gtk/paper_names_offsets.c:124
+#: ../gtk/paper_names_offsets.c:124
 msgctxt "paper size"
 msgid "Index 3x5"
 msgstr "Index 3x5"
 
-#: gtk/paper_names_offsets.c:125
+#: ../gtk/paper_names_offsets.c:125
 msgctxt "paper size"
 msgid "Index 4x6 (postcard)"
 msgstr "Index 4x6 (Postkarte)"
 
-#: gtk/paper_names_offsets.c:126
+#: ../gtk/paper_names_offsets.c:126
 msgctxt "paper size"
 msgid "Index 4x6 ext"
 msgstr "Index 4x6 ext"
 
-#: gtk/paper_names_offsets.c:127
+#: ../gtk/paper_names_offsets.c:127
 msgctxt "paper size"
 msgid "Index 5x8"
 msgstr "Index 5x8"
 
 # CHECK
-#: gtk/paper_names_offsets.c:128
+#: ../gtk/paper_names_offsets.c:128
 msgctxt "paper size"
 msgid "Invoice"
 msgstr "Rechnung"
 
-#: gtk/paper_names_offsets.c:129
+#: ../gtk/paper_names_offsets.c:129
 msgctxt "paper size"
 msgid "Tabloid"
 msgstr "Tabloid"
 
-#: gtk/paper_names_offsets.c:130
+#: ../gtk/paper_names_offsets.c:130
 msgctxt "paper size"
 msgid "US Legal"
 msgstr "US-Legal"
 
-#: gtk/paper_names_offsets.c:131
+#: ../gtk/paper_names_offsets.c:131
 msgctxt "paper size"
 msgid "US Legal Extra"
 msgstr "US-Legal Extra"
 
-#: gtk/paper_names_offsets.c:132
+#: ../gtk/paper_names_offsets.c:132
 msgctxt "paper size"
 msgid "US Letter"
 msgstr "US-Letter"
 
-#: gtk/paper_names_offsets.c:133
+#: ../gtk/paper_names_offsets.c:133
 msgctxt "paper size"
 msgid "US Letter Extra"
 msgstr "US-Letter Extra"
 
-#: gtk/paper_names_offsets.c:134
+#: ../gtk/paper_names_offsets.c:134
 msgctxt "paper size"
 msgid "US Letter Plus"
 msgstr "US-Letter Plus"
 
-#: gtk/paper_names_offsets.c:135
+#: ../gtk/paper_names_offsets.c:135
 msgctxt "paper size"
 msgid "Monarch Envelope"
 msgstr "Monarch-Umschlag"
 
-#: gtk/paper_names_offsets.c:136
+#: ../gtk/paper_names_offsets.c:136
 msgctxt "paper size"
 msgid "#10 Envelope"
 msgstr "#10-Umschlag"
 
-#: gtk/paper_names_offsets.c:137
+#: ../gtk/paper_names_offsets.c:137
 msgctxt "paper size"
 msgid "#11 Envelope"
 msgstr "#11-Umschlag"
 
-#: gtk/paper_names_offsets.c:138
+#: ../gtk/paper_names_offsets.c:138
 msgctxt "paper size"
 msgid "#12 Envelope"
 msgstr "#12-Umschlag"
 
-#: gtk/paper_names_offsets.c:139
+#: ../gtk/paper_names_offsets.c:139
 msgctxt "paper size"
 msgid "#14 Envelope"
 msgstr "#14-Umschlag"
 
-#: gtk/paper_names_offsets.c:140
+#: ../gtk/paper_names_offsets.c:140
 msgctxt "paper size"
 msgid "#9 Envelope"
 msgstr "#9-Umschlag"
 
-#: gtk/paper_names_offsets.c:141
+#: ../gtk/paper_names_offsets.c:141
 msgctxt "paper size"
 msgid "Personal Envelope"
 msgstr "Personal-Umschlag"
 
-#: gtk/paper_names_offsets.c:142
+#: ../gtk/paper_names_offsets.c:142
 msgctxt "paper size"
 msgid "Quarto"
 msgstr "Quarto"
 
-#: gtk/paper_names_offsets.c:143
+#: ../gtk/paper_names_offsets.c:143
 msgctxt "paper size"
 msgid "Super A"
 msgstr "Super B"
 
-#: gtk/paper_names_offsets.c:144
+#: ../gtk/paper_names_offsets.c:144
 msgctxt "paper size"
 msgid "Super B"
 msgstr "Super B"
 
-#: gtk/paper_names_offsets.c:145
+#: ../gtk/paper_names_offsets.c:145
 msgctxt "paper size"
 msgid "Wide Format"
 msgstr "Weites Format"
 
-#: gtk/paper_names_offsets.c:146
+#: ../gtk/paper_names_offsets.c:146
 msgctxt "paper size"
 msgid "Dai-pa-kai"
 msgstr "Dai-pa-kai"
 
-#: gtk/paper_names_offsets.c:147
+#: ../gtk/paper_names_offsets.c:147
 msgctxt "paper size"
 msgid "Folio"
 msgstr "Folio"
 
-#: gtk/paper_names_offsets.c:148
+#: ../gtk/paper_names_offsets.c:148
 msgctxt "paper size"
 msgid "Folio sp"
 msgstr "Folio sp"
 
-#: gtk/paper_names_offsets.c:149
+#: ../gtk/paper_names_offsets.c:149
 msgctxt "paper size"
 msgid "Invite Envelope"
 msgstr "Invite-Umschlag"
 
-#: gtk/paper_names_offsets.c:150
+#: ../gtk/paper_names_offsets.c:150
 msgctxt "paper size"
 msgid "Italian Envelope"
 msgstr "Italien-Umschlag"
 
-#: gtk/paper_names_offsets.c:151
+#: ../gtk/paper_names_offsets.c:151
 msgctxt "paper size"
 msgid "juuro-ku-kai"
 msgstr "juuro-ku-kai"
 
-#: gtk/paper_names_offsets.c:152
+#: ../gtk/paper_names_offsets.c:152
 msgctxt "paper size"
 msgid "pa-kai"
 msgstr "pa-kai"
 
-#: gtk/paper_names_offsets.c:153
+#: ../gtk/paper_names_offsets.c:153
 msgctxt "paper size"
 msgid "Postfix Envelope"
 msgstr "Postfix-Umschlag"
 
-#: gtk/paper_names_offsets.c:154
+#: ../gtk/paper_names_offsets.c:154
 msgctxt "paper size"
 msgid "Small Photo"
 msgstr "Kleines Foto"
 
-#: gtk/paper_names_offsets.c:155
+#: ../gtk/paper_names_offsets.c:155
 msgctxt "paper size"
 msgid "prc1 Envelope"
 msgstr "prc1-Umschlag"
 
-#: gtk/paper_names_offsets.c:156
+#: ../gtk/paper_names_offsets.c:156
 msgctxt "paper size"
 msgid "prc10 Envelope"
 msgstr "prc10-Umschlag"
 
-#: gtk/paper_names_offsets.c:157
+#: ../gtk/paper_names_offsets.c:157
 msgctxt "paper size"
 msgid "prc 16k"
 msgstr "prc 16k"
 
-#: gtk/paper_names_offsets.c:158
+#: ../gtk/paper_names_offsets.c:158
 msgctxt "paper size"
 msgid "prc2 Envelope"
 msgstr "prc2-Umschlag"
 
-#: gtk/paper_names_offsets.c:159
+#: ../gtk/paper_names_offsets.c:159
 msgctxt "paper size"
 msgid "prc3 Envelope"
 msgstr "prc3-Umschlag"
 
-#: gtk/paper_names_offsets.c:160
+#: ../gtk/paper_names_offsets.c:160
 msgctxt "paper size"
 msgid "prc 32k"
 msgstr "prc 32k"
 
-#: gtk/paper_names_offsets.c:161
+#: ../gtk/paper_names_offsets.c:161
 msgctxt "paper size"
 msgid "prc4 Envelope"
 msgstr "prc4-Umschlag"
 
-#: gtk/paper_names_offsets.c:162
+#: ../gtk/paper_names_offsets.c:162
 msgctxt "paper size"
 msgid "prc5 Envelope"
 msgstr "prc5-Umschlag"
 
-#: gtk/paper_names_offsets.c:163
+#: ../gtk/paper_names_offsets.c:163
 msgctxt "paper size"
 msgid "prc6 Envelope"
 msgstr "prc6-Umschlag"
 
-#: gtk/paper_names_offsets.c:164
+#: ../gtk/paper_names_offsets.c:164
 msgctxt "paper size"
 msgid "prc7 Envelope"
 msgstr "prc7-Umschlag"
 
-#: gtk/paper_names_offsets.c:165
+#: ../gtk/paper_names_offsets.c:165
 msgctxt "paper size"
 msgid "prc8 Envelope"
 msgstr "prc8-Umschlag"
 
-#: gtk/paper_names_offsets.c:166
+#: ../gtk/paper_names_offsets.c:166
 msgctxt "paper size"
 msgid "prc9 Envelope"
 msgstr "prc9-Umschlag"
 
-#: gtk/paper_names_offsets.c:167
+#: ../gtk/paper_names_offsets.c:167
 msgctxt "paper size"
 msgid "ROC 16k"
 msgstr "ROC 16k"
 
-#: gtk/paper_names_offsets.c:168
+#: ../gtk/paper_names_offsets.c:168
 msgctxt "paper size"
 msgid "ROC 8k"
 msgstr "ROC 8k"
 
-#: gtk/updateiconcache.c:492 gtk/updateiconcache.c:552
+#: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552
 #, c-format
 msgid "different idatas found for symlinked '%s' and '%s'\n"
 msgstr "Unterschiedliche idatas für Symlinks »%s« und »%s« gefunden\n"
 
-#: gtk/updateiconcache.c:1374
+#: ../gtk/updateiconcache.c:1374
 #, c-format
 msgid "Failed to write header\n"
 msgstr "Header konnte nicht geschrieben werden\n"
 
-#: gtk/updateiconcache.c:1380
+#: ../gtk/updateiconcache.c:1380
 #, c-format
 msgid "Failed to write hash table\n"
 msgstr "Hash-Tabelle konnte nicht geschrieben werden\n"
 
-#: gtk/updateiconcache.c:1386
+#: ../gtk/updateiconcache.c:1386
 #, c-format
 msgid "Failed to write folder index\n"
 msgstr "Ordner-Index konnte nicht geschrieben werden\n"
 
-#: gtk/updateiconcache.c:1394
+#: ../gtk/updateiconcache.c:1394
 #, c-format
 msgid "Failed to rewrite header\n"
 msgstr "Header konnte nicht überschrieben werden\n"
 
-#: gtk/updateiconcache.c:1463
+#: ../gtk/updateiconcache.c:1463
 #, c-format
 msgid "Failed to open file %s : %s\n"
 msgstr "Datei %s konnte nicht geöffnet werden: %s\n"
 
-#: gtk/updateiconcache.c:1471
+#: ../gtk/updateiconcache.c:1471
 #, c-format
 msgid "Failed to write cache file: %s\n"
 msgstr "Cache-Datei konnte nicht gespeichert werden: %s\n"
 
-#: gtk/updateiconcache.c:1507
+#: ../gtk/updateiconcache.c:1507
 #, c-format
 msgid "The generated cache was invalid.\n"
 msgstr "Der erstellte Cache war ungültig.\n"
 
-#: gtk/updateiconcache.c:1521
+#: ../gtk/updateiconcache.c:1521
 #, c-format
 msgid "Could not rename %s to %s: %s, removing %s then.\n"
 msgstr ""
-"»%s« konnte nicht in »%s« umbenannt werden: %s; »%s« wird deswegen "
-"entfernt.\n"
+"»%s« konnte nicht in »%s« umbenannt werden: %s; »%s« wird deswegen entfernt.\n"
 
-#: gtk/updateiconcache.c:1535
+#: ../gtk/updateiconcache.c:1535
 #, c-format
 msgid "Could not rename %s to %s: %s\n"
 msgstr "»%s« konnte nicht in »%s« umbenannt werden: %s\n"
 
-#: gtk/updateiconcache.c:1545
+#: ../gtk/updateiconcache.c:1545
 #, c-format
 msgid "Could not rename %s back to %s: %s.\n"
 msgstr "»%s« konnte nicht zurück in »%s« umbenannt werden: %s.\n"
 
-#: gtk/updateiconcache.c:1572
+#: ../gtk/updateiconcache.c:1572
 #, c-format
 msgid "Cache file created successfully.\n"
 msgstr "Cache-Datei wurde erfolgreich erstellt.\n"
 
-#: gtk/updateiconcache.c:1611
+#: ../gtk/updateiconcache.c:1611
 msgid "Overwrite an existing cache, even if up to date"
 msgstr "Existierenden Cache überschreiben, auch wenn dieser aktuell ist"
 
-#: gtk/updateiconcache.c:1612
+#: ../gtk/updateiconcache.c:1612
 msgid "Don't check for the existence of index.theme"
 msgstr "Nicht auf Existenz von index.theme überprüfen"
 
-#: gtk/updateiconcache.c:1613
+#: ../gtk/updateiconcache.c:1613
 msgid "Don't include image data in the cache"
 msgstr "Bilddaten nicht in Cache einbinden"
 
-#: gtk/updateiconcache.c:1614
+#: ../gtk/updateiconcache.c:1614
 msgid "Output a C header file"
 msgstr "C-Header-Datei ausgeben"
 
-#: gtk/updateiconcache.c:1615
+#: ../gtk/updateiconcache.c:1615
 msgid "Turn off verbose output"
 msgstr "Detaillierte Ausgabe deaktivieren"
 
-#: gtk/updateiconcache.c:1616
+#: ../gtk/updateiconcache.c:1616
 msgid "Validate existing icon cache"
 msgstr "Symbol-Cache wird überprüft"
 
-#: gtk/updateiconcache.c:1683
+#: ../gtk/updateiconcache.c:1683
 #, c-format
 msgid "File not found: %s\n"
 msgstr "Datei nicht gefunden: %s\n"
 
-#: gtk/updateiconcache.c:1689
+#: ../gtk/updateiconcache.c:1689
 #, c-format
 msgid "Not a valid icon cache: %s\n"
 msgstr "Kein gültiger Symbol-Cache: %s\n"
 
-#: gtk/updateiconcache.c:1702
+#: ../gtk/updateiconcache.c:1702
 #, c-format
 msgid "No theme index file.\n"
 msgstr "Keine Thema-Indexdatei.\n"
 
-#: gtk/updateiconcache.c:1706
+#: ../gtk/updateiconcache.c:1706
 #, c-format
 msgid ""
 "No theme index file in '%s'.\n"
@@ -3756,311 +3956,311 @@ msgstr ""
 "bitte --ignore-theme-index.\n"
 
 #. ID
-#: modules/input/imam-et.c:454
+#: ../modules/input/imam-et.c:454
 msgid "Amharic (EZ+)"
 msgstr "Amharisch (EZ+)"
 
 #. ID
-#: modules/input/imcedilla.c:92
+#: ../modules/input/imcedilla.c:92
 msgid "Cedilla"
 msgstr "Cédille"
 
 #. ID
-#: modules/input/imcyrillic-translit.c:217
+#: ../modules/input/imcyrillic-translit.c:217
 msgid "Cyrillic (Transliterated)"
 msgstr "Kyrillisch (transliteriert)"
 
 # CHECK
 #. ID
-#: modules/input/iminuktitut.c:127
+#: ../modules/input/iminuktitut.c:127
 msgid "Inuktitut (Transliterated)"
 msgstr "Inukitut (transliteriert)"
 
 #. ID
-#: modules/input/imipa.c:145
+#: ../modules/input/imipa.c:145
 msgid "IPA"
 msgstr "IPA"
 
 #. ID
-#: modules/input/immultipress.c:31
+#: ../modules/input/immultipress.c:31
 msgid "Multipress"
 msgstr "Multipress"
 
 #. ID
-#: modules/input/imthai.c:35
+#: ../modules/input/imthai.c:35
 msgid "Thai-Lao"
 msgstr "Thai-Lao"
 
 #. ID
-#: modules/input/imti-er.c:453
+#: ../modules/input/imti-er.c:453
 msgid "Tigrigna-Eritrean (EZ+)"
 msgstr "Tigrigna-Eritreisch (EZ+)"
 
 #. ID
-#: modules/input/imti-et.c:453
+#: ../modules/input/imti-et.c:453
 msgid "Tigrigna-Ethiopian (EZ+)"
 msgstr "Tigrigna-Äthiopisch (EZ+)"
 
 #. ID
-#: modules/input/imviqr.c:244
+#: ../modules/input/imviqr.c:244
 msgid "Vietnamese (VIQR)"
 msgstr "Vietnamesisch (VIQR)"
 
 #. ID
-#: modules/input/imxim.c:28
+#: ../modules/input/imxim.c:28
 msgid "X Input Method"
 msgstr "X-Eingabemethode"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:811
-#: modules/printbackends/cups/gtkprintbackendcups.c:1020
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:811
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1020
 msgid "Username:"
 msgstr "Benutzername:"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:812
-#: modules/printbackends/cups/gtkprintbackendcups.c:1029
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:812
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1029
 msgid "Password:"
 msgstr "Passwort:"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:850
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:850
 #, c-format
 msgid "Authentication is required to get a file from %s"
 msgstr "Der Zugriff auf eine Datei von %s erfordert Legitimation"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:854
-#: modules/printbackends/cups/gtkprintbackendcups.c:1042
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:854
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1042
 #, c-format
 msgid "Authentication is required to print document '%s' on printer %s"
 msgstr "Das Drucken von Dokument »%s« auf Drucker %s erfordert Legitimation"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:856
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:856
 #, c-format
 msgid "Authentication is required to print a document on %s"
 msgstr "Das Drucken eines Dokuments auf %s erfordert Legitimation"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:860
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:860
 #, c-format
 msgid "Authentication is required to get attributes of job '%s'"
 msgstr ""
 "Das Auslesen von Attributen des Druckauftrags »%s« erfordert Legitimation"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:862
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:862
 msgid "Authentication is required to get attributes of a job"
 msgstr "Das Auslesen von Attributen eines Druckauftrags erfordert Legitimation"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:866
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:866
 #, c-format
 msgid "Authentication is required to get attributes of printer %s"
 msgstr "Das Auslesen von Attributen des Druckers %s erfordert Legitimation"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:868
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:868
 msgid "Authentication is required to get attributes of a printer"
 msgstr "Das Auslesen von Attributen eines Druckers erfordert Legitimation"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:871
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:871
 #, c-format
 msgid "Authentication is required to get default printer of %s"
 msgstr "Das Feststellen des Vorgabedruckers auf %s erfordert Legitimation"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:874
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:874
 #, c-format
 msgid "Authentication is required to get printers from %s"
 msgstr "Das Auslesen von Druckern auf %s erfordert Legitimation"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:877
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:877
 #, c-format
 msgid "Authentication is required on %s"
 msgstr "Der Zugriff auf %s erfordert Legitimation"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:1014
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1014
 msgid "Domain:"
 msgstr "Domäne:"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:1044
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1044
 #, c-format
 msgid "Authentication is required to print document '%s'"
 msgstr "Das Drucken eines Dokuments »%s« erfordert Legitimation"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:1049
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1049
 #, c-format
 msgid "Authentication is required to print this document on printer %s"
 msgstr "Das Drucken dieses Dokuments auf Drucker %s erfordert Legitimation"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:1051
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1051
 msgid "Authentication is required to print this document"
 msgstr "Das Drucken dieses Dokuments erfordert Legitimation"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:1672
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1672
 #, c-format
 msgid "Printer '%s' is low on toner."
 msgstr "Drucker »%s« hat nur noch wenig Toner."
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:1673
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1673
 #, c-format
 msgid "Printer '%s' has no toner left."
 msgstr "Drucker »%s« hat keinen Toner mehr."
 
 #. Translators: "Developer" like on photo development context
-#: modules/printbackends/cups/gtkprintbackendcups.c:1675
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1675
 #, c-format
 msgid "Printer '%s' is low on developer."
 msgstr "Drucker »%s« hat nur noch wenig Entwickler."
 
 #. Translators: "Developer" like on photo development context
-#: modules/printbackends/cups/gtkprintbackendcups.c:1677
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677
 #, c-format
 msgid "Printer '%s' is out of developer."
 msgstr "Drucker »%s« hat keinen Entwickler mehr."
 
 #. Translators: "marker" is one color bin of the printer
-#: modules/printbackends/cups/gtkprintbackendcups.c:1679
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679
 #, c-format
 msgid "Printer '%s' is low on at least one marker supply."
 msgstr ""
 "Drucker »%s« hat nur noch wenig Farbe für mindestens einen Farbbehälter."
 
 #. Translators: "marker" is one color bin of the printer
-#: modules/printbackends/cups/gtkprintbackendcups.c:1681
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681
 #, c-format
 msgid "Printer '%s' is out of at least one marker supply."
 msgstr "Drucker »%s« hat keine Farbe mehr für mindestens einen Farbbehälter."
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:1682
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1682
 #, c-format
 msgid "The cover is open on printer '%s'."
 msgstr "Die Abdeckung des Druckers »%s« ist geöffnet."
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:1683
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683
 #, c-format
 msgid "The door is open on printer '%s'."
 msgstr "Die Klappe des Druckers »%s« ist geöffnet."
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:1684
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1684
 #, c-format
 msgid "Printer '%s' is low on paper."
 msgstr "Der Drucker »%s« hat nur noch wenig Papier."
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:1685
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685
 #, c-format
 msgid "Printer '%s' is out of paper."
 msgstr "Der Drucker »%s« hat kein Papier mehr."
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:1686
-#, fuzzy, c-format
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686
+#, c-format
 msgid "Printer '%s' is currently offline."
 msgstr "Der Drucker »%s« ist momentan nicht betriebsbereit."
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:1687
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687
 #, c-format
 msgid "There is a problem on printer '%s'."
 msgstr "Es besteht ein Problem mit dem Drucker »%s«."
 
 #. Translators: this is a printer status.
-#: modules/printbackends/cups/gtkprintbackendcups.c:1995
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1995
 msgid "Paused ; Rejecting Jobs"
 msgstr "Pausiert; Aufträge werden abgewiesen"
 
 #. Translators: this is a printer status.
-#: modules/printbackends/cups/gtkprintbackendcups.c:2001
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2001
 msgid "Rejecting Jobs"
 msgstr "Aufträge werden abgewiesen"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:2777
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2777
 msgid "Two Sided"
 msgstr "Beidseitig"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:2778
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778
 msgid "Paper Type"
 msgstr "Papierart"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:2779
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779
 msgid "Paper Source"
 msgstr "Papiereinzug"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:2780
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780
 msgid "Output Tray"
 msgstr "Ausgabeschacht"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:2781
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781
 msgid "Resolution"
 msgstr "Auflösung"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:2782
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782
 msgid "GhostScript pre-filtering"
 msgstr "GhostScript-Vorfilterung"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:2791
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2791
 msgid "One Sided"
 msgstr "Einseitig"
 
 #. Translators: this is an option of "Two Sided"
-#: modules/printbackends/cups/gtkprintbackendcups.c:2793
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2793
 msgid "Long Edge (Standard)"
 msgstr "Langer Rand (Vorgabe)"
 
 #. Translators: this is an option of "Two Sided"
-#: modules/printbackends/cups/gtkprintbackendcups.c:2795
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795
 msgid "Short Edge (Flip)"
 msgstr "Kurzer Rand (Umdrehen)"
 
 #. Translators: this is an option of "Paper Source"
-#: modules/printbackends/cups/gtkprintbackendcups.c:2797
-#: modules/printbackends/cups/gtkprintbackendcups.c:2799
-#: modules/printbackends/cups/gtkprintbackendcups.c:2807
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807
 msgid "Auto Select"
 msgstr "Automatische Auswahl"
 
 #. Translators: this is an option of "Paper Source"
 #. Translators: this is an option of "Resolution"
-#: modules/printbackends/cups/gtkprintbackendcups.c:2801
-#: modules/printbackends/cups/gtkprintbackendcups.c:2803
-#: modules/printbackends/cups/gtkprintbackendcups.c:2805
-#: modules/printbackends/cups/gtkprintbackendcups.c:2809
-#: modules/printbackends/cups/gtkprintbackendcups.c:3295
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2805
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2809
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3305
 msgid "Printer Default"
 msgstr "Vorgabe-Drucker"
 
 #. Translators: this is an option of "GhostScript"
-#: modules/printbackends/cups/gtkprintbackendcups.c:2811
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811
 msgid "Embed GhostScript fonts only"
 msgstr "Nur GhostScript-Schriften einbinden"
 
 #. Translators: this is an option of "GhostScript"
-#: modules/printbackends/cups/gtkprintbackendcups.c:2813
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813
 msgid "Convert to PS level 1"
 msgstr "Zu PS Level 1 konvertieren"
 
 #. Translators: this is an option of "GhostScript"
-#: modules/printbackends/cups/gtkprintbackendcups.c:2815
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815
 msgid "Convert to PS level 2"
 msgstr "Zu PS Level 2 konvertieren"
 
 #. Translators: this is an option of "GhostScript"
-#: modules/printbackends/cups/gtkprintbackendcups.c:2817
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817
 msgid "No pre-filtering"
 msgstr "Keine Vorfilterung"
 
 #. Translators: "Miscellaneous" is the label for a button, that opens
 #. up an extra panel of settings in a print dialog.
-#: modules/printbackends/cups/gtkprintbackendcups.c:2826
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826
 msgid "Miscellaneous"
 msgstr "Erweitert"
 
 #. Translators: These strings name the possible values of the
 #. * job priority option in the print dialog
 #.
-#: modules/printbackends/cups/gtkprintbackendcups.c:3503
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529
 msgid "Urgent"
 msgstr "Dringend"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:3503
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529
 msgid "High"
 msgstr "Hoch"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:3503
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529
 msgid "Medium"
 msgstr "Mittel"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:3503
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529
 msgid "Low"
 msgstr "Niedrig"
 
@@ -4068,14 +4268,14 @@ msgstr "Niedrig"
 #. Translators, this string is used to label the pages-per-sheet option
 #. * in the print dialog
 #.
-#: modules/printbackends/cups/gtkprintbackendcups.c:3527
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3553
 msgid "Pages per Sheet"
 msgstr "Seiten pro Blatt"
 
 #. Translators, this string is used to label the job priority option
 #. * in the print dialog
 #.
-#: modules/printbackends/cups/gtkprintbackendcups.c:3564
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590
 msgid "Job Priority"
 msgstr "Priorität"
 
@@ -4083,52 +4283,52 @@ msgstr "Priorität"
 #. Translators, this string is used to label the billing info entry
 #. * in the print dialog
 #.
-#: modules/printbackends/cups/gtkprintbackendcups.c:3575
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3601
 msgid "Billing Info"
 msgstr "Abrechnungsinfo"
 
 #. Translators, these strings are names for various 'standard' cover
 #. * pages that the printing system may support.
 #.
-#: modules/printbackends/cups/gtkprintbackendcups.c:3590
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616
 msgid "None"
 msgstr "Keine"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:3590
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616
 msgid "Classified"
 msgstr "Klassifiziert"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:3590
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616
 msgid "Confidential"
 msgstr "Vertraulich"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:3590
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616
 msgid "Secret"
 msgstr "Geheim"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:3590
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616
 msgid "Standard"
 msgstr "Standard"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:3590
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616
 msgid "Top Secret"
 msgstr "Streng geheim"
 
-#: modules/printbackends/cups/gtkprintbackendcups.c:3590
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616
 msgid "Unclassified"
 msgstr "Unklassifiziert"
 
 #. Translators, this is the label used for the option in the print
 #. * dialog that controls the front cover page.
 #.
-#: modules/printbackends/cups/gtkprintbackendcups.c:3625
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3651
 msgid "Before"
 msgstr "Vorne"
 
 #. Translators, this is the label used for the option in the print
 #. * dialog that controls the back cover page.
 #.
-#: modules/printbackends/cups/gtkprintbackendcups.c:3640
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3666
 msgid "After"
 msgstr "Hinten"
 
@@ -4136,14 +4336,14 @@ msgstr "Hinten"
 #. * a print job is printed. Possible values are 'now', a specified time,
 #. * or 'on hold'
 #.
-#: modules/printbackends/cups/gtkprintbackendcups.c:3660
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3686
 msgid "Print at"
 msgstr "Drucken um"
 
 #. Translators: this is the name of the option that allows the user
 #. * to specify a time when a print job will be printed.
 #.
-#: modules/printbackends/cups/gtkprintbackendcups.c:3671
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3697
 msgid "Print at time"
 msgstr "Drucken zu Uhrzeit"
 
@@ -4151,104 +4351,104 @@ msgstr "Drucken zu Uhrzeit"
 #. * size. The two placeholders are replaced with the width and height
 #. * in points. E.g: "Custom 230.4x142.9"
 #.
-#: modules/printbackends/cups/gtkprintbackendcups.c:3706
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3732
 #, c-format
 msgid "Custom %sx%s"
 msgstr "Benutzerdefiniert %s×%s"
 
 #. default filename used for print-to-file
-#: modules/printbackends/file/gtkprintbackendfile.c:250
+#: ../modules/printbackends/file/gtkprintbackendfile.c:250
 #, c-format
 msgid "output.%s"
 msgstr "Ausgabe.%s"
 
-#: modules/printbackends/file/gtkprintbackendfile.c:493
+#: ../modules/printbackends/file/gtkprintbackendfile.c:493
 msgid "Print to File"
 msgstr "In Datei drucken"
 
-#: modules/printbackends/file/gtkprintbackendfile.c:570
+#: ../modules/printbackends/file/gtkprintbackendfile.c:570
 msgid "PDF"
 msgstr "PDF"
 
-#: modules/printbackends/file/gtkprintbackendfile.c:570
+#: ../modules/printbackends/file/gtkprintbackendfile.c:570
 msgid "Postscript"
 msgstr "Postscript"
 
-#: modules/printbackends/file/gtkprintbackendfile.c:570
+#: ../modules/printbackends/file/gtkprintbackendfile.c:570
 msgid "SVG"
 msgstr "SVG"
 
-#: modules/printbackends/file/gtkprintbackendfile.c:582
-#: modules/printbackends/test/gtkprintbackendtest.c:503
+#: ../modules/printbackends/file/gtkprintbackendfile.c:582
+#: ../modules/printbackends/test/gtkprintbackendtest.c:503
 msgid "Pages per _sheet:"
 msgstr "Seiten pro _Blatt:"
 
-#: modules/printbackends/file/gtkprintbackendfile.c:641
+#: ../modules/printbackends/file/gtkprintbackendfile.c:641
 msgid "File"
 msgstr "Datei"
 
-#: modules/printbackends/file/gtkprintbackendfile.c:651
+#: ../modules/printbackends/file/gtkprintbackendfile.c:651
 msgid "_Output format"
 msgstr "_Ausgabeformat"
 
-#: modules/printbackends/lpr/gtkprintbackendlpr.c:395
+#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:395
 msgid "Print to LPR"
 msgstr "Drucken mit LPR"
 
-#: modules/printbackends/lpr/gtkprintbackendlpr.c:421
+#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:421
 msgid "Pages Per Sheet"
 msgstr "Seiten pro Blatt"
 
-#: modules/printbackends/lpr/gtkprintbackendlpr.c:428
+#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:428
 msgid "Command Line"
 msgstr "Befehlszeile"
 
 #. SUN_BRANDING
-#: modules/printbackends/papi/gtkprintbackendpapi.c:811
+#: ../modules/printbackends/papi/gtkprintbackendpapi.c:811
 msgid "printer offline"
 msgstr "Drucker offline"
 
 #. SUN_BRANDING
-#: modules/printbackends/papi/gtkprintbackendpapi.c:829
+#: ../modules/printbackends/papi/gtkprintbackendpapi.c:829
 msgid "ready to print"
 msgstr "Bereit zum Drucken"
 
 #. SUN_BRANDING
-#: modules/printbackends/papi/gtkprintbackendpapi.c:832
+#: ../modules/printbackends/papi/gtkprintbackendpapi.c:832
 msgid "processing job"
 msgstr "Druckvorgang läuft"
 
 #. SUN_BRANDING
-#: modules/printbackends/papi/gtkprintbackendpapi.c:836
+#: ../modules/printbackends/papi/gtkprintbackendpapi.c:836
 msgid "paused"
 msgstr "Pausiert"
 
 #. SUN_BRANDING
-#: modules/printbackends/papi/gtkprintbackendpapi.c:839
+#: ../modules/printbackends/papi/gtkprintbackendpapi.c:839
 msgid "unknown"
 msgstr "unbekannt"
 
 #. default filename used for print-to-test
-#: modules/printbackends/test/gtkprintbackendtest.c:234
+#: ../modules/printbackends/test/gtkprintbackendtest.c:234
 #, c-format
 msgid "test-output.%s"
 msgstr "Test-Ausgabe.%s"
 
-#: modules/printbackends/test/gtkprintbackendtest.c:467
+#: ../modules/printbackends/test/gtkprintbackendtest.c:467
 msgid "Print to Test Printer"
 msgstr "Mit Test-Drucke drucken"
 
-#: tests/testfilechooser.c:207
+#: ../tests/testfilechooser.c:207
 #, c-format
 msgid "Could not get information for file '%s': %s"
 msgstr "Es konnten keine Informationen zur Datei »%s« abgerufen werden: %s"
 
-#: tests/testfilechooser.c:222
+#: ../tests/testfilechooser.c:222
 #, c-format
 msgid "Failed to open file '%s': %s"
 msgstr "Datei »%s« konnte nicht geöffnet werden: %s"
 
-#: tests/testfilechooser.c:267
+#: ../tests/testfilechooser.c:267
 #, c-format
 msgid ""
 "Failed to load image '%s': reason not known, probably a corrupt image file"
@@ -4276,11 +4476,11 @@ msgstr ""
 #~ msgstr "Bildlader-Modul konnte nicht geladen werden: %s: %s"
 
 #~ msgid ""
-#~ "Image-loading module %s does not export the proper interface; perhaps "
-#~ "it's from a different GTK version?"
+#~ "Image-loading module %s does not export the proper interface; perhaps it's "
+#~ "from a different GTK version?"
 #~ msgstr ""
-#~ "Bildlader-Modul %s exportiert nicht die richtige Schnittstelle; "
-#~ "vielleicht stammt es aus einer anderen GTK-Version?"
+#~ "Bildlader-Modul %s exportiert nicht die richtige Schnittstelle; vielleicht "
+#~ "stammt es aus einer anderen GTK-Version?"
 
 #~ msgid "Image type '%s' is not supported"
 #~ msgstr "Bildtyp »%s« wird nicht unterstützt"
@@ -4297,8 +4497,7 @@ msgstr ""
 #~ msgid "Error writing to image file: %s"
 #~ msgstr "Fehler beim Schreiben einer Bilddatei (%s)"
 
-#~ msgid ""
-#~ "This build of gdk-pixbuf does not support saving the image format: %s"
+#~ msgid "This build of gdk-pixbuf does not support saving the image format: %s"
 #~ msgstr ""
 #~ "Diese Fassung von gdk-pixbuf unterstützt das Speichern in diesem "
 #~ "Bildformat nicht: %s"
@@ -4683,8 +4882,7 @@ msgstr ""
 #~ msgstr "PNM-Bildlader unterstützt dieses PNM-Unterformat nicht"
 
 #~ msgid "Raw PNM formats require exactly one whitespace before sample data"
-#~ msgstr ""
-#~ "Rohe PNM-Formate verlangen genau einen Leerraum vor den Sample-Daten"
+#~ msgstr "Rohe PNM-Formate verlangen genau einen Leerraum vor den Sample-Daten"
 
 #~ msgid "Cannot allocate memory for loading PNM image"
 #~ msgstr ""
@@ -4888,8 +5086,8 @@ msgstr ""
 
 #~ msgid "Cannot allocate memory for loading XPM image"
 #~ msgstr ""
-#~ "Der zum Laden eines XPM-Bildes verwendete Speicher konnte nicht "
-#~ "zugewiesen werden"
+#~ "Der zum Laden eines XPM-Bildes verwendete Speicher konnte nicht zugewiesen "
+#~ "werden"
 
 #~ msgid "Cannot read XPM colormap"
 #~ msgstr "XPM-Farbtabelle konnte nicht gelesen werden"
@@ -4932,174 +5130,9 @@ msgstr ""
 #~ msgid "The WMF image format"
 #~ msgstr "Das WMF-Bildformat"
 
-#~ msgid "\"Deepness\" of the color."
-#~ msgstr "Die »Tiefe« der Farbe."
-
-#~ msgid "Error printing"
-#~ msgstr "Fehler beim Drucken"
-
 #~ msgid "Printer '%s' may not be connected."
 #~ msgstr "Der Drucker »%s« ist gegebenenfalls nicht angeschlossen."
 
-#~ msgid "Folders"
-#~ msgstr "Ordner"
-
-#~ msgid "Fol_ders"
-#~ msgstr "O_rdner"
-
-#~ msgid "Folder unreadable: %s"
-#~ msgstr "Ordner nicht lesbar: %s"
-
-#~ msgid ""
-#~ "The file \"%s\" resides on another machine (called %s) and may not be "
-#~ "available to this program.\n"
-#~ "Are you sure that you want to select it?"
-#~ msgstr ""
-#~ "Die Datei »%s« liegt auf einer anderen Maschine (namens %s) und könnte "
-#~ "für dieses Programm nicht verfügbar sein.\n"
-#~ "Sind Sie sicher, dass Sie sie markieren wollen?"
-
-#~ msgid "_New Folder"
-#~ msgstr "Ordner a_nlegen"
-
-#~ msgid "De_lete File"
-#~ msgstr "Datei _löschen"
-
-#~ msgid "_Rename File"
-#~ msgstr "Datei _umbenennen"
-
-#~ msgid ""
-#~ "The folder name \"%s\" contains symbols that are not allowed in filenames"
-#~ msgstr ""
-#~ "Der Ordnername »%s« enthält Symbole, die in Dateinamen nicht erlaubt sind"
-
-#~ msgid "New Folder"
-#~ msgstr "Ordner anlegen"
-
-#~ msgid "_Folder name:"
-#~ msgstr "_Ordnername:"
-
-#~ msgid "C_reate"
-#~ msgstr "A_nlegen"
-
-#~ msgid ""
-#~ "The filename \"%s\" contains symbols that are not allowed in filenames"
-#~ msgstr ""
-#~ "Der Dateiname »%s« enthält Symbole, die in Dateinamen nicht erlaubt sind"
-
-#~ msgid "Error deleting file '%s': %s"
-#~ msgstr "Fehler beim Löschen der Datei »%s«: %s"
-
-#~ msgid "Really delete file \"%s\"?"
-#~ msgstr "Datei »%s« wirklich löschen?"
-
-#~ msgid "Delete File"
-#~ msgstr "Datei löschen"
-
-#~ msgid "Error renaming file to \"%s\": %s"
-#~ msgstr "Fehler beim Umbenennen der Datei in »%s«: %s"
-
-#~ msgid "Error renaming file \"%s\": %s"
-#~ msgstr "Fehler beim Umbenennen der Datei »%s«: %s"
-
-#~ msgid "Error renaming file \"%s\" to \"%s\": %s"
-#~ msgstr "Fehler beim Umbenennen der Datei »%s« in »%s«: %s"
-
-#~ msgid "Rename File"
-#~ msgstr "Datei umbenennen"
-
-#~ msgid "Rename file \"%s\" to:"
-#~ msgstr "Datei »%s« umbenennen in:"
-
-#~ msgid "_Rename"
-#~ msgstr "_Umbenennen"
-
-#~ msgid "_Selection: "
-#~ msgstr "Au_swahl: "
-
-#~ msgid ""
-#~ "The filename \"%s\" couldn't be converted to UTF-8. (try setting the "
-#~ "environment variable G_FILENAME_ENCODING): %s"
-#~ msgstr ""
-#~ "Der Dateiname »%s« konnte nicht in UTF-8 umgewandelt werden (versuchen "
-#~ "Sie, die Umgebungsvariable G_BROKEN_FILENAMES zu setzen): %s"
-
-#~ msgid "Invalid UTF-8"
-#~ msgstr "Ungültiges UTF-8"
-
-#~ msgid "Name too long"
-#~ msgstr "Name zu lang"
-
-#~ msgid "Couldn't convert filename"
-#~ msgstr "Dateiname konnte nicht umgewandelt werden"
-
-#~ msgid "Gamma"
-#~ msgstr "Gamma"
-
-#~ msgid "_Gamma value"
-#~ msgstr "_Gamma-Wert"
-
-#~ msgid "Input"
-#~ msgstr "Eingabe"
-
-#~ msgid "No extended input devices"
-#~ msgstr "Keine erweiterten Eingabegeräte"
-
-#~ msgid "_Device:"
-#~ msgstr "_Gerät:"
-
-#~ msgid "Disabled"
-#~ msgstr "Deaktiviert"
-
-#~ msgid "Screen"
-#~ msgstr "Bildschirm"
-
-#~ msgid "Window"
-#~ msgstr "Fenster"
-
-#~ msgid "_Mode:"
-#~ msgstr "_Modus: "
-
-#~ msgid "Axes"
-#~ msgstr "Achsen"
-
-#~ msgid "Keys"
-#~ msgstr "Tasten"
-
-#~ msgid "_X:"
-#~ msgstr "_X:"
-
-#~ msgid "_Y:"
-#~ msgstr "_Y:"
-
-#~ msgid "_Pressure:"
-#~ msgstr "_Druck:"
-
-#~ msgid "X _tilt:"
-#~ msgstr "X-_Neigun:g"
-
-#~ msgid "Y t_ilt:"
-#~ msgstr "Y-Ne_igung:"
-
-#~ msgid "_Wheel:"
-#~ msgstr "_Rad:"
-
-#~ msgid "none"
-#~ msgstr "keine"
-
-#~ msgid "(disabled)"
-#~ msgstr "(ausgeschaltet)"
-
-#~ msgid "(unknown)"
-#~ msgstr "(unbekannt)"
-
-# CHECK - _Löschen haben wir schon und ist unangebracht
-#~ msgid "Cl_ear"
-#~ msgstr "_Leeren"
-
-#~ msgid "--- No Tip ---"
-#~ msgstr "--- Kein Tipp ---"
-
 #~ msgid "(Empty)"
 #~ msgstr "(Leer)"
 
@@ -5873,16 +5906,15 @@ msgstr ""
 #~ msgid "Invalid filename: %s"
 #~ msgstr "Ungültiger Dateiname: %s"
 
-#~ msgid ""
-#~ "Could not add a bookmark for '%s' because it is an invalid path name."
+#~ msgid "Could not add a bookmark for '%s' because it is an invalid path name."
 #~ msgstr ""
 #~ "Es konnte kein Lesezeichen für »%s« hinzugefügt werden, da dies ein "
 #~ "ungültiger Pfadname ist."
 
 #~ msgid "Could not select file '%s' because it is an invalid path name."
 #~ msgstr ""
-#~ "Datei »%s« konnte nicht ausgewählt werden, da dies ein ungültiger "
-#~ "Pfadname ist."
+#~ "Datei »%s« konnte nicht ausgewählt werden, da dies ein ungültiger Pfadname "
+#~ "ist."
 
 #~ msgid "%d byte"
 #~ msgid_plural "%d bytes"
index 86ac8e23c97ae6fed7974afd6383c4f726021759..13efa46c7cb124269507bb2621cd3e76ac86caee 100644 (file)
--- a/po/nb.po
+++ b/po/nb.po
@@ -5,10 +5,10 @@
 # Torstein Adolf Winterseth <kvikende@fsfe.org>, 2010.
 msgid ""
 msgstr ""
-"Project-Id-Version: gtk+ 2.90.x\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-10-16 12:21+0200\n"
-"PO-Revision-Date: 2010-10-16 12:21+0200\n"
+"Project-Id-Version: gtk+ 2.92.x\n"
+"Report-Msgid-Bugs-To:\n"
+"POT-Creation-Date: 2010-11-20 11:47+0100\n"
+"PO-Revision-Date: 2010-11-20 11:48+0100\n"
 "Last-Translator: Torstein Adolf Winterseth <kvikende@fsfe.org>\n"
 "Language-Team: Norwegian Nynorsk <i18n-nn@lister.ping.uio.no>\n"
 "Language: nn\n"
@@ -18,58 +18,58 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Virtaal 0.6.1\n"
 
-#: ../gdk/gdk.c:104
+#: ../gdk/gdk.c:115
 #, c-format
 msgid "Error parsing option --gdk-debug"
 msgstr "Feil ved lesing av flagg --gdk-debug"
 
-#: ../gdk/gdk.c:124
+#: ../gdk/gdk.c:135
 #, c-format
 msgid "Error parsing option --gdk-no-debug"
 msgstr "Feil ved lesing av flagg --gdk-no-debug"
 
 #. Description of --class=CLASS in --help output
-#: ../gdk/gdk.c:152
+#: ../gdk/gdk.c:163
 msgid "Program class as used by the window manager"
 msgstr "Programklasse som brukes av vindushåndtereren"
 
 #. Placeholder in --class=CLASS in --help output
-#: ../gdk/gdk.c:153
+#: ../gdk/gdk.c:164
 msgid "CLASS"
 msgstr "KLASSE"
 
 #. Description of --name=NAME in --help output
-#: ../gdk/gdk.c:155
+#: ../gdk/gdk.c:166
 msgid "Program name as used by the window manager"
 msgstr "Programnavn som brukes av vindushåndtereren"
 
 #. Placeholder in --name=NAME in --help output
-#: ../gdk/gdk.c:156
+#: ../gdk/gdk.c:167
 msgid "NAME"
 msgstr "NAVN"
 
 #. Description of --display=DISPLAY in --help output
-#: ../gdk/gdk.c:158
+#: ../gdk/gdk.c:169
 msgid "X display to use"
 msgstr "X-skjerm som skal brukes"
 
 #. Placeholder in --display=DISPLAY in --help output
-#: ../gdk/gdk.c:159
+#: ../gdk/gdk.c:170
 msgid "DISPLAY"
 msgstr "SKJERM"
 
 #. Description of --screen=SCREEN in --help output
-#: ../gdk/gdk.c:161
+#: ../gdk/gdk.c:172
 msgid "X screen to use"
 msgstr "X-skjerm som skal brukes"
 
 #. Placeholder in --screen=SCREEN in --help output
-#: ../gdk/gdk.c:162
+#: ../gdk/gdk.c:173
 msgid "SCREEN"
 msgstr "SKJERM"
 
 #. Description of --gdk-debug=FLAGS in --help output
-#: ../gdk/gdk.c:165
+#: ../gdk/gdk.c:176
 msgid "GDK debugging flags to set"
 msgstr "Feilsøkingsflagg som skal settes for GDK"
 
@@ -77,12 +77,12 @@ msgstr "Feilsøkingsflagg som skal settes for GDK"
 #. Placeholder in --gdk-no-debug=FLAGS in --help output
 #. Placeholder in --gtk-debug=FLAGS in --help output
 #. Placeholder in --gtk-no-debug=FLAGS in --help output
-#: ../gdk/gdk.c:166 ../gdk/gdk.c:169 ../gtk/gtkmain.c:534 ../gtk/gtkmain.c:537
+#: ../gdk/gdk.c:177 ../gdk/gdk.c:180 ../gtk/gtkmain.c:525 ../gtk/gtkmain.c:528
 msgid "FLAGS"
 msgstr "FLAGG"
 
 #. Description of --gdk-no-debug=FLAGS in --help output
-#: ../gdk/gdk.c:168
+#: ../gdk/gdk.c:179
 msgid "GDK debugging flags to unset"
 msgstr "Feilsøkingsflagg som skal fjernes for GDK"
 
@@ -332,7 +332,7 @@ msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s"
 msgstr ""
 "Dette programmet kommer UTEN NOEN SOM HELST GARANTI; besøk %s for detaljer"
 
-#: ../gtk/gtkaboutdialog.c:339 ../gtk/gtkaboutdialog.c:2232
+#: ../gtk/gtkaboutdialog.c:339 ../gtk/gtkaboutdialog.c:2233
 msgid "License"
 msgstr "Lisens"
 
@@ -341,41 +341,41 @@ msgid "The license of the program"
 msgstr "Programmets lisens"
 
 #. Add the credits button
-#: ../gtk/gtkaboutdialog.c:621
+#: ../gtk/gtkaboutdialog.c:622
 msgid "C_redits"
 msgstr "Bid_ragsytere"
 
 #. Add the license button
-#: ../gtk/gtkaboutdialog.c:635
+#: ../gtk/gtkaboutdialog.c:636
 msgid "_License"
 msgstr "_Lisens"
 
-#: ../gtk/gtkaboutdialog.c:839
+#: ../gtk/gtkaboutdialog.c:840
 msgid "Could not show link"
 msgstr "Klarte ikke å vise lenke"
 
-#: ../gtk/gtkaboutdialog.c:932
+#: ../gtk/gtkaboutdialog.c:933
 #, c-format
 msgid "About %s"
 msgstr "Om %s"
 
-#: ../gtk/gtkaboutdialog.c:2150
+#: ../gtk/gtkaboutdialog.c:2151
 msgid "Credits"
 msgstr "Bidragsytere"
 
-#: ../gtk/gtkaboutdialog.c:2182
+#: ../gtk/gtkaboutdialog.c:2183
 msgid "Written by"
 msgstr "Skrevet av"
 
-#: ../gtk/gtkaboutdialog.c:2185
+#: ../gtk/gtkaboutdialog.c:2186
 msgid "Documented by"
 msgstr "Dokumentert av"
 
-#: ../gtk/gtkaboutdialog.c:2197
+#: ../gtk/gtkaboutdialog.c:2198
 msgid "Translated by"
 msgstr "Oversatt av"
 
-#: ../gtk/gtkaboutdialog.c:2201
+#: ../gtk/gtkaboutdialog.c:2202
 msgid "Artwork by"
 msgstr "Grafikk av"
 
@@ -479,7 +479,7 @@ msgstr "Uhåndtert tag «%s»"
 #. * text direction of RTL and specify "calendar:YM", then the year
 #. * will appear to the right of the month.
 #.
-#: ../gtk/gtkcalendar.c:883
+#: ../gtk/gtkcalendar.c:878
 msgid "calendar:MY"
 msgstr "calendar:MY"
 
@@ -487,7 +487,7 @@ msgstr "calendar:MY"
 #. * first day of the week to calendar:week_start:1 if you want Monday
 #. * to be the first day of the week, and so on.
 #.
-#: ../gtk/gtkcalendar.c:921
+#: ../gtk/gtkcalendar.c:916
 msgid "calendar:week_start:0"
 msgstr "calendar:week_start:1"
 
@@ -496,7 +496,7 @@ msgstr "calendar:week_start:1"
 #. *
 #. * If you don't understand this, leave it as "2000"
 #.
-#: ../gtk/gtkcalendar.c:2006
+#: ../gtk/gtkcalendar.c:1848
 msgctxt "year measurement template"
 msgid "2000"
 msgstr "2000"
@@ -511,7 +511,7 @@ msgstr "2000"
 #. * digits. That needs support from your system and locale definition
 #. * too.
 #.
-#: ../gtk/gtkcalendar.c:2037 ../gtk/gtkcalendar.c:2719
+#: ../gtk/gtkcalendar.c:1879 ../gtk/gtkcalendar.c:2564
 #, c-format
 msgctxt "calendar:day:digits"
 msgid "%d"
@@ -527,7 +527,7 @@ msgstr "%d"
 #. * digits. That needs support from your system and locale definition
 #. * too.
 #.
-#: ../gtk/gtkcalendar.c:2069 ../gtk/gtkcalendar.c:2579
+#: ../gtk/gtkcalendar.c:1911 ../gtk/gtkcalendar.c:2432
 #, c-format
 msgctxt "calendar:week:digits"
 msgid "%d"
@@ -543,7 +543,7 @@ msgstr "%d"
 #. *
 #. * "%Y" is appropriate for most locales.
 #.
-#: ../gtk/gtkcalendar.c:2361
+#: ../gtk/gtkcalendar.c:2197
 msgctxt "calendar year format"
 msgid "%Y"
 msgstr "%Y"
@@ -579,15 +579,15 @@ msgctxt "progress bar label"
 msgid "%d %%"
 msgstr "%d %%"
 
-#: ../gtk/gtkcolorbutton.c:176 ../gtk/gtkcolorbutton.c:445
+#: ../gtk/gtkcolorbutton.c:188 ../gtk/gtkcolorbutton.c:473
 msgid "Pick a Color"
 msgstr "Velg en farge"
 
-#: ../gtk/gtkcolorbutton.c:336
+#: ../gtk/gtkcolorbutton.c:363
 msgid "Received invalid color data\n"
 msgstr "Mottok ugyldige fargedata\n"
 
-#: ../gtk/gtkcolorsel.c:384
+#: ../gtk/gtkcolorsel.c:416
 msgid ""
 "Select the color you want from the outer ring. Select the darkness or "
 "lightness of that color using the inner triangle."
@@ -595,7 +595,7 @@ msgstr ""
 "Velg fargen du ønsker fra den ytre ringen. Velg lysstyrke for denne fargen "
 "ved å bruke den indre trekanten."
 
-#: ../gtk/gtkcolorsel.c:408
+#: ../gtk/gtkcolorsel.c:440
 msgid ""
 "Click the eyedropper, then click a color anywhere on your screen to select "
 "that color."
@@ -603,67 +603,67 @@ msgstr ""
 "Trykk på dråpetelleren og trykk så på en farge hvor som helst på skjermen "
 "for å velge denne fargen."
 
-#: ../gtk/gtkcolorsel.c:417
+#: ../gtk/gtkcolorsel.c:449
 msgid "_Hue:"
 msgstr "_Glød:"
 
-#: ../gtk/gtkcolorsel.c:418
+#: ../gtk/gtkcolorsel.c:450
 msgid "Position on the color wheel."
 msgstr "Posisjon på fargehjulet."
 
-#: ../gtk/gtkcolorsel.c:420
+#: ../gtk/gtkcolorsel.c:452
 msgid "_Saturation:"
 msgstr "_Metning:"
 
-#: ../gtk/gtkcolorsel.c:421
+#: ../gtk/gtkcolorsel.c:453
 msgid "Intensity of the color."
 msgstr "Intensitet for fargen."
 
-#: ../gtk/gtkcolorsel.c:422
+#: ../gtk/gtkcolorsel.c:454
 msgid "_Value:"
 msgstr "_Verdi:"
 
-#: ../gtk/gtkcolorsel.c:423
+#: ../gtk/gtkcolorsel.c:455
 msgid "Brightness of the color."
 msgstr "Lysstyrke for fargen."
 
-#: ../gtk/gtkcolorsel.c:424
+#: ../gtk/gtkcolorsel.c:456
 msgid "_Red:"
 msgstr "_Rød:"
 
-#: ../gtk/gtkcolorsel.c:425
+#: ../gtk/gtkcolorsel.c:457
 msgid "Amount of red light in the color."
 msgstr "Mende med rødt lys i fargen."
 
-#: ../gtk/gtkcolorsel.c:426
+#: ../gtk/gtkcolorsel.c:458
 msgid "_Green:"
 msgstr "_Grønn:"
 
-#: ../gtk/gtkcolorsel.c:427
+#: ../gtk/gtkcolorsel.c:459
 msgid "Amount of green light in the color."
 msgstr "Mengde med grønt lys i fargen."
 
-#: ../gtk/gtkcolorsel.c:428
+#: ../gtk/gtkcolorsel.c:460
 msgid "_Blue:"
 msgstr "_Blå:"
 
-#: ../gtk/gtkcolorsel.c:429
+#: ../gtk/gtkcolorsel.c:461
 msgid "Amount of blue light in the color."
 msgstr "Mengde med blått lys i fargen."
 
-#: ../gtk/gtkcolorsel.c:432
+#: ../gtk/gtkcolorsel.c:464
 msgid "Op_acity:"
 msgstr "_Ugjennomsiktighet:"
 
-#: ../gtk/gtkcolorsel.c:439 ../gtk/gtkcolorsel.c:449
+#: ../gtk/gtkcolorsel.c:471 ../gtk/gtkcolorsel.c:481
 msgid "Transparency of the color."
 msgstr "Gjennomsiktighet for fargen."
 
-#: ../gtk/gtkcolorsel.c:456
+#: ../gtk/gtkcolorsel.c:488
 msgid "Color _name:"
 msgstr "Farge_navn:"
 
-#: ../gtk/gtkcolorsel.c:470
+#: ../gtk/gtkcolorsel.c:502
 msgid ""
 "You can enter an HTML-style hexadecimal color value, or simply a color name "
 "such as 'orange' in this entry."
@@ -671,15 +671,15 @@ msgstr ""
 "Du kan skrive inn en heksadesimal fargeverdi i HTML-stil, eller bruke et "
 "fargenavn som f.eks. «oransje» i denne oppføringen."
 
-#: ../gtk/gtkcolorsel.c:500
+#: ../gtk/gtkcolorsel.c:532
 msgid "_Palette:"
 msgstr "_Palett:"
 
-#: ../gtk/gtkcolorsel.c:529
+#: ../gtk/gtkcolorsel.c:561
 msgid "Color Wheel"
 msgstr "Fargehjul"
 
-#: ../gtk/gtkcolorsel.c:988
+#: ../gtk/gtkcolorsel.c:1031
 msgid ""
 "The previously-selected color, for comparison to the color you're selecting "
 "now. You can drag this color to a palette entry, or select this color as "
@@ -689,7 +689,7 @@ msgstr ""
 "denne fargen til en palettoppføring, eller velge denne fargen som aktiv ved "
 "å dra den til den andre fargeprøven ved siden av."
 
-#: ../gtk/gtkcolorsel.c:991
+#: ../gtk/gtkcolorsel.c:1034
 msgid ""
 "The color you've chosen. You can drag this color to a palette entry to save "
 "it for use in the future."
@@ -697,21 +697,21 @@ msgstr ""
 "Fargen du har valgt. Du kan dra denne fargen til en palettoppføring for å "
 "lagre den for senere bruk."
 
-#: ../gtk/gtkcolorsel.c:996
+#: ../gtk/gtkcolorsel.c:1039
 msgid ""
 "The previously-selected color, for comparison to the color you're selecting "
 "now."
 msgstr "Tidligere valgt farge. For sammenligning med fargen du velger nå."
 
-#: ../gtk/gtkcolorsel.c:999
+#: ../gtk/gtkcolorsel.c:1042
 msgid "The color you've chosen."
 msgstr "Fargen du har valgt."
 
-#: ../gtk/gtkcolorsel.c:1396
+#: ../gtk/gtkcolorsel.c:1442
 msgid "_Save color here"
 msgstr "_Lagre fargen her"
 
-#: ../gtk/gtkcolorsel.c:1601
+#: ../gtk/gtkcolorsel.c:1647
 msgid ""
 "Click this palette entry to make it the current color. To change this entry, "
 "drag a color swatch here or right-click it and select \"Save color here.\""
@@ -788,23 +788,23 @@ msgstr "Høy_re:"
 msgid "Paper Margins"
 msgstr "Papirmarger"
 
-#: ../gtk/gtkentry.c:8601 ../gtk/gtktextview.c:8248
+#: ../gtk/gtkentry.c:8630 ../gtk/gtktextview.c:8229
 msgid "Input _Methods"
 msgstr "Inndata_metoder"
 
-#: ../gtk/gtkentry.c:8615 ../gtk/gtktextview.c:8262
+#: ../gtk/gtkentry.c:8644 ../gtk/gtktextview.c:8243
 msgid "_Insert Unicode Control Character"
 msgstr "Sett _inn Unicode kontrolltegn"
 
-#: ../gtk/gtkentry.c:10015
+#: ../gtk/gtkentry.c:10044
 msgid "Caps Lock and Num Lock are on"
 msgstr "Caps Lock og Num Lock er på"
 
-#: ../gtk/gtkentry.c:10017
+#: ../gtk/gtkentry.c:10046
 msgid "Num Lock is on"
 msgstr "Num Lock er på"
 
-#: ../gtk/gtkentry.c:10019
+#: ../gtk/gtkentry.c:10048
 msgid "Caps Lock is on"
 msgstr "Caps Lock er på"
 
@@ -823,7 +823,7 @@ msgstr "Skrivebord"
 msgid "(None)"
 msgstr "(Ingen)"
 
-#: ../gtk/gtkfilechooserbutton.c:2005
+#: ../gtk/gtkfilechooserbutton.c:2001
 msgid "Other..."
 msgstr "Annet …"
 
@@ -859,7 +859,9 @@ msgstr ""
 msgid ""
 "You may only select folders.  The item that you selected is not a folder; "
 "try using a different item."
-msgstr "Du kan kun velge mapper. Oppføringen du valgte er ikke en mappe. Prøv å bruke en annen oppføring."
+msgstr ""
+"Du kan kun velge mapper. Oppføringen du valgte er ikke en mappe. Prøv å "
+"bruke en annen oppføring."
 
 #: ../gtk/gtkfilechooserdefault.c:1016
 msgid "Invalid file name"
@@ -882,177 +884,177 @@ msgstr "%1$s på %2$s"
 msgid "Search"
 msgstr "Søk"
 
-#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9382
+#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9417
 msgid "Recently Used"
 msgstr "Sist brukt"
 
-#: ../gtk/gtkfilechooserdefault.c:2430
+#: ../gtk/gtkfilechooserdefault.c:2437
 msgid "Select which types of files are shown"
 msgstr "Velg hvilke filtyper som skal vises"
 
-#: ../gtk/gtkfilechooserdefault.c:2789
+#: ../gtk/gtkfilechooserdefault.c:2796
 #, c-format
 msgid "Add the folder '%s' to the bookmarks"
 msgstr "Legg til mappe «%s» i bokmerker"
 
-#: ../gtk/gtkfilechooserdefault.c:2833
+#: ../gtk/gtkfilechooserdefault.c:2840
 #, c-format
 msgid "Add the current folder to the bookmarks"
 msgstr "Legg til aktiv mappe i bokmerker"
 
-#: ../gtk/gtkfilechooserdefault.c:2835
+#: ../gtk/gtkfilechooserdefault.c:2842
 #, c-format
 msgid "Add the selected folders to the bookmarks"
 msgstr "Legg til valgte mapper i bokmerker"
 
-#: ../gtk/gtkfilechooserdefault.c:2873
+#: ../gtk/gtkfilechooserdefault.c:2880
 #, c-format
 msgid "Remove the bookmark '%s'"
 msgstr "Fjern bokmerke «%s»"
 
-#: ../gtk/gtkfilechooserdefault.c:2875
+#: ../gtk/gtkfilechooserdefault.c:2882
 #, c-format
 msgid "Bookmark '%s' cannot be removed"
 msgstr "Bokmerke «%s» kan ikke fjernes"
 
-#: ../gtk/gtkfilechooserdefault.c:2882 ../gtk/gtkfilechooserdefault.c:3746
+#: ../gtk/gtkfilechooserdefault.c:2889 ../gtk/gtkfilechooserdefault.c:3750
 msgid "Remove the selected bookmark"
 msgstr "Fjern valgt bokmerke"
 
-#: ../gtk/gtkfilechooserdefault.c:3442
+#: ../gtk/gtkfilechooserdefault.c:3445
 msgid "Remove"
 msgstr "Fjern"
 
-#: ../gtk/gtkfilechooserdefault.c:3451
+#: ../gtk/gtkfilechooserdefault.c:3454
 msgid "Rename..."
 msgstr "Gi nytt navn …"
 
 #. Accessible object name for the file chooser's shortcuts pane
-#: ../gtk/gtkfilechooserdefault.c:3614
+#: ../gtk/gtkfilechooserdefault.c:3617
 msgid "Places"
 msgstr "Steder"
 
 #. Column header for the file chooser's shortcuts pane
-#: ../gtk/gtkfilechooserdefault.c:3671
+#: ../gtk/gtkfilechooserdefault.c:3674
 msgid "_Places"
 msgstr "_Steder"
 
-#: ../gtk/gtkfilechooserdefault.c:3727
+#: ../gtk/gtkfilechooserdefault.c:3731
 msgid "_Add"
 msgstr "_Legg til"
 
-#: ../gtk/gtkfilechooserdefault.c:3734
+#: ../gtk/gtkfilechooserdefault.c:3738
 msgid "Add the selected folder to the Bookmarks"
 msgstr "Legg til valgt mappe i bokmerker"
 
-#: ../gtk/gtkfilechooserdefault.c:3739
+#: ../gtk/gtkfilechooserdefault.c:3743
 msgid "_Remove"
 msgstr "Fje_rn"
 
-#: ../gtk/gtkfilechooserdefault.c:3881
+#: ../gtk/gtkfilechooserdefault.c:3885
 msgid "Could not select file"
 msgstr "Klarte ikke å merke filen"
 
-#: ../gtk/gtkfilechooserdefault.c:4056
+#: ../gtk/gtkfilechooserdefault.c:4060
 msgid "_Add to Bookmarks"
 msgstr "L_egg til i bokmerker"
 
-#: ../gtk/gtkfilechooserdefault.c:4069
+#: ../gtk/gtkfilechooserdefault.c:4073
 msgid "Show _Hidden Files"
 msgstr "Vis sk_julte filer"
 
-#: ../gtk/gtkfilechooserdefault.c:4076
+#: ../gtk/gtkfilechooserdefault.c:4080
 msgid "Show _Size Column"
 msgstr "Vis kolonne for _størrelse"
 
-#: ../gtk/gtkfilechooserdefault.c:4302
+#: ../gtk/gtkfilechooserdefault.c:4306
 msgid "Files"
 msgstr "Filer"
 
-#: ../gtk/gtkfilechooserdefault.c:4353
+#: ../gtk/gtkfilechooserdefault.c:4357
 msgid "Name"
 msgstr "Navn"
 
-#: ../gtk/gtkfilechooserdefault.c:4376
+#: ../gtk/gtkfilechooserdefault.c:4380
 msgid "Size"
 msgstr "Størrelse"
 
-#: ../gtk/gtkfilechooserdefault.c:4390
+#: ../gtk/gtkfilechooserdefault.c:4394
 msgid "Modified"
 msgstr "Endret"
 
 #. Label
-#: ../gtk/gtkfilechooserdefault.c:4645 ../gtk/gtkprinteroptionwidget.c:800
+#: ../gtk/gtkfilechooserdefault.c:4649 ../gtk/gtkprinteroptionwidget.c:793
 msgid "_Name:"
 msgstr "_Navn:"
 
-#: ../gtk/gtkfilechooserdefault.c:4688
+#: ../gtk/gtkfilechooserdefault.c:4692
 msgid "_Browse for other folders"
 msgstr "_Se gjennom andre mapper"
 
-#: ../gtk/gtkfilechooserdefault.c:4958
+#: ../gtk/gtkfilechooserdefault.c:4962
 msgid "Type a file name"
 msgstr "Skriv et filnavn"
 
 #. Create Folder
-#: ../gtk/gtkfilechooserdefault.c:5001
+#: ../gtk/gtkfilechooserdefault.c:5005
 msgid "Create Fo_lder"
 msgstr "Opprett _mappe"
 
-#: ../gtk/gtkfilechooserdefault.c:5011
+#: ../gtk/gtkfilechooserdefault.c:5015
 msgid "_Location:"
 msgstr "_Lokasjon:"
 
-#: ../gtk/gtkfilechooserdefault.c:5215
+#: ../gtk/gtkfilechooserdefault.c:5219
 msgid "Save in _folder:"
 msgstr "Lagre i _mappe:"
 
-#: ../gtk/gtkfilechooserdefault.c:5217
+#: ../gtk/gtkfilechooserdefault.c:5221
 msgid "Create in _folder:"
 msgstr "Opprett i _mappe:"
 
-#: ../gtk/gtkfilechooserdefault.c:6286
+#: ../gtk/gtkfilechooserdefault.c:6290
 #, c-format
 msgid "Could not read the contents of %s"
 msgstr "Klarte ikke å lese innholdet av %s"
 
-#: ../gtk/gtkfilechooserdefault.c:6290
+#: ../gtk/gtkfilechooserdefault.c:6294
 msgid "Could not read the contents of the folder"
 msgstr "Klarte ikke å lese innholdet i mappen"
 
-#: ../gtk/gtkfilechooserdefault.c:6383 ../gtk/gtkfilechooserdefault.c:6451
-#: ../gtk/gtkfilechooserdefault.c:6596
+#: ../gtk/gtkfilechooserdefault.c:6387 ../gtk/gtkfilechooserdefault.c:6455
+#: ../gtk/gtkfilechooserdefault.c:6600
 msgid "Unknown"
 msgstr "Ukjent"
 
-#: ../gtk/gtkfilechooserdefault.c:6398
+#: ../gtk/gtkfilechooserdefault.c:6402
 msgid "%H:%M"
 msgstr "%H.%M"
 
-#: ../gtk/gtkfilechooserdefault.c:6400
+#: ../gtk/gtkfilechooserdefault.c:6404
 msgid "Yesterday at %H:%M"
 msgstr "I går kl. %H.%M"
 
-#: ../gtk/gtkfilechooserdefault.c:7066
+#: ../gtk/gtkfilechooserdefault.c:7070
 msgid "Cannot change to folder because it is not local"
 msgstr "Kan ikke gå til mappen fordi den ikke er lokal"
 
-#: ../gtk/gtkfilechooserdefault.c:7663 ../gtk/gtkfilechooserdefault.c:7684
+#: ../gtk/gtkfilechooserdefault.c:7667 ../gtk/gtkfilechooserdefault.c:7688
 #, c-format
 msgid "Shortcut %s already exists"
 msgstr "Snarvei %s eksisterer allerede"
 
-#: ../gtk/gtkfilechooserdefault.c:7774
+#: ../gtk/gtkfilechooserdefault.c:7778
 #, c-format
 msgid "Shortcut %s does not exist"
 msgstr "Snarvei %s eksisterer ikke"
 
-#: ../gtk/gtkfilechooserdefault.c:8035 ../gtk/gtkprintunixdialog.c:480
+#: ../gtk/gtkfilechooserdefault.c:8039 ../gtk/gtkprintunixdialog.c:480
 #, c-format
 msgid "A file named \"%s\" already exists.  Do you want to replace it?"
 msgstr "En fil med navn «%s» eksisterer allerede. Vil du erstatte den?"
 
-#: ../gtk/gtkfilechooserdefault.c:8038 ../gtk/gtkprintunixdialog.c:484
+#: ../gtk/gtkfilechooserdefault.c:8042 ../gtk/gtkprintunixdialog.c:484
 #, c-format
 msgid ""
 "The file already exists in \"%s\".  Replacing it will overwrite its contents."
@@ -1060,15 +1062,15 @@ msgstr ""
 "Fila eksisterer allerede i «%s». Hvis du erstatter denne vil du overskrive "
 "innholdet."
 
-#: ../gtk/gtkfilechooserdefault.c:8043 ../gtk/gtkprintunixdialog.c:491
+#: ../gtk/gtkfilechooserdefault.c:8047 ../gtk/gtkprintunixdialog.c:491
 msgid "_Replace"
 msgstr "E_rstatt"
 
-#: ../gtk/gtkfilechooserdefault.c:8751
+#: ../gtk/gtkfilechooserdefault.c:8755
 msgid "Could not start the search process"
 msgstr "Klarte ikke å starte søkeprosessen"
 
-#: ../gtk/gtkfilechooserdefault.c:8752
+#: ../gtk/gtkfilechooserdefault.c:8756
 msgid ""
 "The program was not able to create a connection to the indexer daemon.  "
 "Please make sure it is running."
@@ -1076,36 +1078,36 @@ msgstr ""
 "Programmet kunne ikke opprette en tilkobling til indekseringstjenesten. "
 "Sjekk at denne kjører."
 
-#: ../gtk/gtkfilechooserdefault.c:8766
+#: ../gtk/gtkfilechooserdefault.c:8770
 msgid "Could not send the search request"
 msgstr "Klarte ikke å sende søkeforespørselen"
 
-#: ../gtk/gtkfilechooserdefault.c:8954
+#: ../gtk/gtkfilechooserdefault.c:8989
 msgid "Search:"
 msgstr "Søk:"
 
-#: ../gtk/gtkfilechooserdefault.c:9559
+#: ../gtk/gtkfilechooserdefault.c:9594
 #, c-format
 msgid "Could not mount %s"
 msgstr "Klarte ikke å montere %s"
 
 #. Translators: this is shown in the feedback for Tab-completion in a file
 #. * chooser's text entry, when the user enters an invalid path.
-#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1169
+#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1172
 msgid "Invalid path"
 msgstr "Ugyldig sti"
 
 #. translators: this text is shown when there are no completions
 #. * for something the user typed in a file chooser entry
 #.
-#: ../gtk/gtkfilechooserentry.c:1101
+#: ../gtk/gtkfilechooserentry.c:1104
 msgid "No match"
 msgstr "Ingen treff"
 
 #. translators: this text is shown when there is exactly one completion
 #. * for something the user typed in a file chooser entry
 #.
-#: ../gtk/gtkfilechooserentry.c:1112
+#: ../gtk/gtkfilechooserentry.c:1115
 msgid "Sole completion"
 msgstr "Eneste fullføring"
 
@@ -1113,13 +1115,13 @@ msgstr "Eneste fullføring"
 #. * entry is a complete filename, but could be continued to find
 #. * a longer match
 #.
-#: ../gtk/gtkfilechooserentry.c:1128
+#: ../gtk/gtkfilechooserentry.c:1131
 msgid "Complete, but not unique"
 msgstr "Fullført men ikke unik"
 
 #. Translators: this text is shown while the system is searching
 #. * for possible completions for filenames in a file chooser entry.
-#: ../gtk/gtkfilechooserentry.c:1160
+#: ../gtk/gtkfilechooserentry.c:1163
 msgid "Completing..."
 msgstr "Fullfører …"
 
@@ -1127,7 +1129,7 @@ msgstr "Fullfører …"
 #. Translators: this is shown in the feedback for Tab-completion in a
 #. * file chooser's text entry when the user enters something like
 #. * "sftp://blahblah" in an app that only supports local filenames.
-#: ../gtk/gtkfilechooserentry.c:1182 ../gtk/gtkfilechooserentry.c:1207
+#: ../gtk/gtkfilechooserentry.c:1185 ../gtk/gtkfilechooserentry.c:1210
 msgid "Only local files may be selected"
 msgstr "Du kan kun velge lokale filer"
 
@@ -1135,14 +1137,14 @@ msgstr "Du kan kun velge lokale filer"
 #. Translators: this is shown in the feedback for Tab-completion in a
 #. * file chooser's text entry when the user hasn't entered the first '/'
 #. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]")
-#: ../gtk/gtkfilechooserentry.c:1191
+#: ../gtk/gtkfilechooserentry.c:1194
 msgid "Incomplete hostname; end it with '/'"
 msgstr "Ikke fullstendig vertsnavn; avslutt med «/»"
 
 #. Translators: this is shown in the feedback for Tab-completion in a file
 #. * chooser's text entry when the user enters a path that does not exist
 #. * and then hits Tab
-#: ../gtk/gtkfilechooserentry.c:1202
+#: ../gtk/gtkfilechooserentry.c:1205
 msgid "Path does not exist"
 msgstr "Stien eksisterer ikke"
 
@@ -1187,11 +1189,11 @@ msgid "Si_ze:"
 msgstr "St_ørrelse:"
 
 #. create the text entry widget
-#: ../gtk/gtkfontsel.c:559
+#: ../gtk/gtkfontsel.c:558
 msgid "_Preview:"
 msgstr "_Forhåndsvisning:"
 
-#: ../gtk/gtkfontsel.c:1659
+#: ../gtk/gtkfontsel.c:1658
 msgid "Font Selection"
 msgstr "Valg av skrift"
 
@@ -1203,7 +1205,7 @@ msgstr "Valg av skrift"
 msgid "Error loading icon: %s"
 msgstr "Feil under lasting av ikon: %s"
 
-#: ../gtk/gtkicontheme.c:1354
+#: ../gtk/gtkicontheme.c:1355
 #, c-format
 msgid ""
 "Could not find the icon '%s'. The '%s' theme\n"
@@ -1216,12 +1218,12 @@ msgstr ""
 "Du kan finne en kopi av det på:\n"
 "\t%s"
 
-#: ../gtk/gtkicontheme.c:1535
+#: ../gtk/gtkicontheme.c:1536
 #, c-format
 msgid "Icon '%s' not present in theme"
 msgstr "Ikon «%s» er ikke tilstede i tema"
 
-#: ../gtk/gtkicontheme.c:3048
+#: ../gtk/gtkicontheme.c:3057
 msgid "Failed to load icon"
 msgstr "Feil under lasting av ikon"
 
@@ -1246,12 +1248,12 @@ msgid "System (%s)"
 msgstr "System (%s)"
 
 #. Open Link
-#: ../gtk/gtklabel.c:6202
+#: ../gtk/gtklabel.c:6214
 msgid "_Open Link"
 msgstr "_Åpne lenke"
 
 #. Copy Link Address
-#: ../gtk/gtklabel.c:6214
+#: ../gtk/gtklabel.c:6226
 msgid "Copy _Link Address"
 msgstr "Kopier _lenkas adresse"
 
@@ -1264,27 +1266,27 @@ msgid "Invalid URI"
 msgstr "Ugyldig URI"
 
 #. Description of --gtk-module=MODULES in --help output
-#: ../gtk/gtkmain.c:527
+#: ../gtk/gtkmain.c:518
 msgid "Load additional GTK+ modules"
 msgstr "Last tilleggsmoduler for GTK+"
 
 #. Placeholder in --gtk-module=MODULES in --help output
-#: ../gtk/gtkmain.c:528
+#: ../gtk/gtkmain.c:519
 msgid "MODULES"
 msgstr "MODULER"
 
 #. Description of --g-fatal-warnings in --help output
-#: ../gtk/gtkmain.c:530
+#: ../gtk/gtkmain.c:521
 msgid "Make all warnings fatal"
 msgstr "La alle advarsler være fatale"
 
 #. Description of --gtk-debug=FLAGS in --help output
-#: ../gtk/gtkmain.c:533
+#: ../gtk/gtkmain.c:524
 msgid "GTK+ debugging flags to set"
 msgstr "Feilsøkingsflagg som skal settes for GTK+"
 
 #. Description of --gtk-no-debug=FLAGS in --help output
-#: ../gtk/gtkmain.c:536
+#: ../gtk/gtkmain.c:527
 msgid "GTK+ debugging flags to unset"
 msgstr "Feilsøkingsflagg som skal fjernes for GTK+"
 
@@ -1293,20 +1295,20 @@ msgstr "Feilsøkingsflagg som skal fjernes for GTK+"
 #. * Do *not* translate it to "predefinito:LTR", if it
 #. * it isn't default:LTR or default:RTL it will not work
 #.
-#: ../gtk/gtkmain.c:799
+#: ../gtk/gtkmain.c:790
 msgid "default:LTR"
 msgstr "default:LTR"
 
-#: ../gtk/gtkmain.c:864
+#: ../gtk/gtkmain.c:855
 #, c-format
 msgid "Cannot open display: %s"
 msgstr "Kan ikke åpne skjerm: %s"
 
-#: ../gtk/gtkmain.c:923
+#: ../gtk/gtkmain.c:914
 msgid "GTK+ Options"
 msgstr "Alternativer for GTK+"
 
-#: ../gtk/gtkmain.c:923
+#: ../gtk/gtkmain.c:914
 msgid "Show GTK+ Options"
 msgstr "Vis alternativer for GTK+"
 
@@ -1391,12 +1393,12 @@ msgstr "Z Shell"
 msgid "Cannot end process with PID %d: %s"
 msgstr "Kan ikke avslutte prosess med PID %d: %s"
 
-#: ../gtk/gtknotebook.c:4724 ../gtk/gtknotebook.c:7287
+#: ../gtk/gtknotebook.c:4756 ../gtk/gtknotebook.c:7319
 #, c-format
 msgid "Page %u"
 msgstr "Side %u"
 
-#: ../gtk/gtkpagesetup.c:596 ../gtk/gtkpapersize.c:838
+#: ../gtk/gtkpagesetup.c:648 ../gtk/gtkpapersize.c:838
 #: ../gtk/gtkpapersize.c:880
 msgid "Not a valid page setup file"
 msgstr "Ikke en gyldig fil for sideoppsett"
@@ -1444,15 +1446,15 @@ msgstr "_Orientering:"
 msgid "Page Setup"
 msgstr "Sideoppsett"
 
-#: ../gtk/gtkpathbar.c:154
+#: ../gtk/gtkpathbar.c:158
 msgid "Up Path"
 msgstr "Opp sti"
 
-#: ../gtk/gtkpathbar.c:156
+#: ../gtk/gtkpathbar.c:160
 msgid "Down Path"
 msgstr "Ned sti"
 
-#: ../gtk/gtkpathbar.c:1490
+#: ../gtk/gtkpathbar.c:1523
 msgid "File System Root"
 msgstr "Filsystemrot"
 
@@ -1460,15 +1462,15 @@ msgstr "Filsystemrot"
 msgid "Authentication"
 msgstr "Autentisering"
 
-#: ../gtk/gtkprinteroptionwidget.c:693
+#: ../gtk/gtkprinteroptionwidget.c:686
 msgid "Not available"
 msgstr "Ikke tilgjengelig"
 
-#: ../gtk/gtkprinteroptionwidget.c:793
+#: ../gtk/gtkprinteroptionwidget.c:786
 msgid "Select a folder"
 msgstr "Velg en mappe"
 
-#: ../gtk/gtkprinteroptionwidget.c:812
+#: ../gtk/gtkprinteroptionwidget.c:805
 msgid "_Save in folder:"
 msgstr "_Lagre i mappe:"
 
@@ -1567,7 +1569,7 @@ msgstr "Tom for papir"
 
 #. Translators: this is a printer status.
 #: ../gtk/gtkprintoperation-win32.c:615
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1997
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1998
 msgid "Paused"
 msgstr "Pause"
 
@@ -1694,42 +1696,42 @@ msgstr "Generelt"
 #. * multiple pages on a sheet when printing
 #.
 #: ../gtk/gtkprintunixdialog.c:3024
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534
 msgid "Left to right, top to bottom"
 msgstr "Venstre til høyre, topp til bunn"
 
 #: ../gtk/gtkprintunixdialog.c:3024
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534
 msgid "Left to right, bottom to top"
 msgstr "Venstre til høyre, bunn til topp"
 
 #: ../gtk/gtkprintunixdialog.c:3025
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535
 msgid "Right to left, top to bottom"
 msgstr "Høyre til venstre, topp til bunn"
 
 #: ../gtk/gtkprintunixdialog.c:3025
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535
 msgid "Right to left, bottom to top"
 msgstr "Høyre til venstre, bunn til topp"
 
 #: ../gtk/gtkprintunixdialog.c:3026
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536
 msgid "Top to bottom, left to right"
 msgstr "Topp til bunn, venstre til høyre"
 
 #: ../gtk/gtkprintunixdialog.c:3026
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536
 msgid "Top to bottom, right to left"
 msgstr "Topp til bunn, høyre til venstre"
 
 #: ../gtk/gtkprintunixdialog.c:3027
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537
 msgid "Bottom to top, left to right"
 msgstr "Bunn til topp, venstre til høyre"
 
 #: ../gtk/gtkprintunixdialog.c:3027
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537
 msgid "Bottom to top, right to left"
 msgstr "Bunn til topp, høyre til venstre"
 
@@ -1737,7 +1739,7 @@ msgstr "Bunn til topp, høyre til venstre"
 #. * dialog that controls in what order multiple pages are arranged
 #.
 #: ../gtk/gtkprintunixdialog.c:3031 ../gtk/gtkprintunixdialog.c:3044
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3568
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3569
 msgid "Page Ordering"
 msgstr "Siderekkefølge"
 
@@ -1946,45 +1948,45 @@ msgid "Unable to locate image file in pixmap_path: \"%s\""
 msgstr "Klarte ikke å finne bildefil i pixmap_path: «%s»"
 
 #: ../gtk/gtkrecentaction.c:165 ../gtk/gtkrecentaction.c:173
-#: ../gtk/gtkrecentchoosermenu.c:615 ../gtk/gtkrecentchoosermenu.c:623
+#: ../gtk/gtkrecentchoosermenu.c:608 ../gtk/gtkrecentchoosermenu.c:616
 #, c-format
 msgid "This function is not implemented for widgets of class '%s'"
 msgstr "Denne funksjonen er ikke implementert for komponenter av klasse «%s»"
 
-#: ../gtk/gtkrecentchooserdefault.c:482
+#: ../gtk/gtkrecentchooserdefault.c:483
 msgid "Select which type of documents are shown"
 msgstr "Velg hvilke dokumenttyper som skal vises"
 
-#: ../gtk/gtkrecentchooserdefault.c:1138 ../gtk/gtkrecentchooserdefault.c:1175
+#: ../gtk/gtkrecentchooserdefault.c:1133 ../gtk/gtkrecentchooserdefault.c:1170
 #, c-format
 msgid "No item for URI '%s' found"
 msgstr "Ingen oppføring funnet for URI «%s»"
 
-#: ../gtk/gtkrecentchooserdefault.c:1302
+#: ../gtk/gtkrecentchooserdefault.c:1297
 msgid "Untitled filter"
 msgstr "Filter uten tittel"
 
-#: ../gtk/gtkrecentchooserdefault.c:1655
+#: ../gtk/gtkrecentchooserdefault.c:1650
 msgid "Could not remove item"
 msgstr "Klarte ikke å fjerne oppføring"
 
-#: ../gtk/gtkrecentchooserdefault.c:1699
+#: ../gtk/gtkrecentchooserdefault.c:1694
 msgid "Could not clear list"
 msgstr "Klarte ikke tømme listen"
 
-#: ../gtk/gtkrecentchooserdefault.c:1783
+#: ../gtk/gtkrecentchooserdefault.c:1778
 msgid "Copy _Location"
 msgstr "Kopier _lokasjon"
 
-#: ../gtk/gtkrecentchooserdefault.c:1796
+#: ../gtk/gtkrecentchooserdefault.c:1791
 msgid "_Remove From List"
 msgstr "Fje_rn fra listen"
 
-#: ../gtk/gtkrecentchooserdefault.c:1805
+#: ../gtk/gtkrecentchooserdefault.c:1800
 msgid "_Clear List"
 msgstr "_Tøm listen"
 
-#: ../gtk/gtkrecentchooserdefault.c:1819
+#: ../gtk/gtkrecentchooserdefault.c:1814
 msgid "Show _Private Resources"
 msgstr "Vis _private ressurser"
 
@@ -1998,21 +2000,21 @@ msgstr "Vis _private ressurser"
 #. * user appended or prepended custom menu items to the
 #. * recent chooser menu widget.
 #.
-#: ../gtk/gtkrecentchoosermenu.c:369
+#: ../gtk/gtkrecentchoosermenu.c:362
 msgid "No items found"
 msgstr "Ingen oppføring funnet"
 
-#: ../gtk/gtkrecentchoosermenu.c:535 ../gtk/gtkrecentchoosermenu.c:591
+#: ../gtk/gtkrecentchoosermenu.c:528 ../gtk/gtkrecentchoosermenu.c:584
 #, c-format
 msgid "No recently used resource found with URI `%s'"
 msgstr "Fant ingen nylig brukt ressurs med URI «%s»"
 
-#: ../gtk/gtkrecentchoosermenu.c:802
+#: ../gtk/gtkrecentchoosermenu.c:795
 #, c-format
 msgid "Open '%s'"
 msgstr "Åpne «%s»"
 
-#: ../gtk/gtkrecentchoosermenu.c:832
+#: ../gtk/gtkrecentchoosermenu.c:825
 msgid "Unknown item"
 msgstr "Ukjent oppføring"
 
@@ -2021,7 +2023,7 @@ msgstr "Ukjent oppføring"
 #. * the %s is the name of the item. Please keep the _ in front
 #. * of the number to give these menu items a mnemonic.
 #.
-#: ../gtk/gtkrecentchoosermenu.c:843
+#: ../gtk/gtkrecentchoosermenu.c:836
 #, c-format
 msgctxt "recent menu label"
 msgid "_%d. %s"
@@ -2030,20 +2032,25 @@ msgstr "_%d. %s"
 #. This is the format that is used for items in a recent files menu.
 #. * The %d is the number of the item, the %s is the name of the item.
 #.
-#: ../gtk/gtkrecentchoosermenu.c:848
+#: ../gtk/gtkrecentchoosermenu.c:841
 #, c-format
 msgctxt "recent menu label"
 msgid "%d. %s"
 msgstr "%d. %s"
 
-#: ../gtk/gtkrecentmanager.c:980 ../gtk/gtkrecentmanager.c:993
-#: ../gtk/gtkrecentmanager.c:1131 ../gtk/gtkrecentmanager.c:1141
-#: ../gtk/gtkrecentmanager.c:1194 ../gtk/gtkrecentmanager.c:1203
-#: ../gtk/gtkrecentmanager.c:1218
+#: ../gtk/gtkrecentmanager.c:1000 ../gtk/gtkrecentmanager.c:1013
+#: ../gtk/gtkrecentmanager.c:1150 ../gtk/gtkrecentmanager.c:1160
+#: ../gtk/gtkrecentmanager.c:1213 ../gtk/gtkrecentmanager.c:1222
+#: ../gtk/gtkrecentmanager.c:1237
 #, c-format
 msgid "Unable to find an item with URI '%s'"
 msgstr "Kan ikke finne en oppføring med URI «%s»"
 
+#: ../gtk/gtkrecentmanager.c:2437
+#, c-format
+msgid "No registered application with name '%s' for item with URI '%s' found"
+msgstr "Ingen registrerte programmer med navn «%s» funnet for oppføring med URI «%s»"
+
 #: ../gtk/gtkspinner.c:456
 msgctxt "throbbing progress animation widget"
 msgid "Spinner"
@@ -2567,107 +2574,107 @@ msgstr "Ukjent feil ved forsøk på å deserialisere %s"
 msgid "No deserialize function found for format %s"
 msgstr "Ingen de-serialiseringsfunksjon funnet for format %s"
 
-#: ../gtk/gtktextbufferserialize.c:795 ../gtk/gtktextbufferserialize.c:821
+#: ../gtk/gtktextbufferserialize.c:803 ../gtk/gtktextbufferserialize.c:829
 #, c-format
 msgid "Both \"id\" and \"name\" were found on the <%s> element"
 msgstr "Både «id» og «name» ble finnet i element <%s>"
 
-#: ../gtk/gtktextbufferserialize.c:805 ../gtk/gtktextbufferserialize.c:831
+#: ../gtk/gtktextbufferserialize.c:813 ../gtk/gtktextbufferserialize.c:839
 #, c-format
 msgid "The attribute \"%s\" was found twice on the <%s> element"
 msgstr "Attributten «%s» ble funnet to ganger på element <%s>"
 
-#: ../gtk/gtktextbufferserialize.c:845
+#: ../gtk/gtktextbufferserialize.c:855
 #, c-format
 msgid "<%s> element has invalid ID \"%s\""
 msgstr "Element <%s> har ugyldig ID «%s»"
 
-#: ../gtk/gtktextbufferserialize.c:855
+#: ../gtk/gtktextbufferserialize.c:865
 #, c-format
 msgid "<%s> element has neither a \"name\" nor an \"id\" attribute"
 msgstr "Element <%s> har ikke et «name»- eller «id»-element"
 
-#: ../gtk/gtktextbufferserialize.c:942
+#: ../gtk/gtktextbufferserialize.c:952
 #, c-format
 msgid "Attribute \"%s\" repeated twice on the same <%s> element"
 msgstr "Attributt «%s» gjentatt to ganger på samme <%s>-element"
 
-#: ../gtk/gtktextbufferserialize.c:960 ../gtk/gtktextbufferserialize.c:985
+#: ../gtk/gtktextbufferserialize.c:970 ../gtk/gtktextbufferserialize.c:995
 #, c-format
 msgid "Attribute \"%s\" is invalid on <%s> element in this context"
 msgstr "Attributt «%s» er ugyldig på <%s>-element i denne konteksten"
 
-#: ../gtk/gtktextbufferserialize.c:1024
+#: ../gtk/gtktextbufferserialize.c:1034
 #, c-format
 msgid "Tag \"%s\" has not been defined."
 msgstr "Tagg «%s» er ikke definert."
 
-#: ../gtk/gtktextbufferserialize.c:1036
+#: ../gtk/gtktextbufferserialize.c:1046
 msgid "Anonymous tag found and tags can not be created."
 msgstr "Anonym tagg funnet og tagger kan ikke opprettes."
 
-#: ../gtk/gtktextbufferserialize.c:1047
+#: ../gtk/gtktextbufferserialize.c:1057
 #, c-format
 msgid "Tag \"%s\" does not exist in buffer and tags can not be created."
 msgstr "Tagg «%s» eksisterer ikke i bufferen og tagger kan ikke opprettes."
 
-#: ../gtk/gtktextbufferserialize.c:1146 ../gtk/gtktextbufferserialize.c:1221
-#: ../gtk/gtktextbufferserialize.c:1324 ../gtk/gtktextbufferserialize.c:1398
+#: ../gtk/gtktextbufferserialize.c:1156 ../gtk/gtktextbufferserialize.c:1231
+#: ../gtk/gtktextbufferserialize.c:1336 ../gtk/gtktextbufferserialize.c:1410
 #, c-format
 msgid "Element <%s> is not allowed below <%s>"
 msgstr "Element <%s> er ikke tillatt under <%s>"
 
-#: ../gtk/gtktextbufferserialize.c:1177
+#: ../gtk/gtktextbufferserialize.c:1187
 #, c-format
 msgid "\"%s\" is not a valid attribute type"
 msgstr "«%s» er ikke en gyldig type attributt"
 
-#: ../gtk/gtktextbufferserialize.c:1185
+#: ../gtk/gtktextbufferserialize.c:1195
 #, c-format
 msgid "\"%s\" is not a valid attribute name"
 msgstr "«%s» er ikke et gyldig attributtnavn"
 
-#: ../gtk/gtktextbufferserialize.c:1195
+#: ../gtk/gtktextbufferserialize.c:1205
 #, c-format
 msgid ""
 "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\""
 msgstr ""
 "«%s» kunne ikke konverteres til en verdi av type «%s» for attributt «%s»"
 
-#: ../gtk/gtktextbufferserialize.c:1204
+#: ../gtk/gtktextbufferserialize.c:1214
 #, c-format
 msgid "\"%s\" is not a valid value for attribute \"%s\""
 msgstr "«%s» er ikke en gyldig verdi for attributt «%s»"
 
-#: ../gtk/gtktextbufferserialize.c:1289
+#: ../gtk/gtktextbufferserialize.c:1299
 #, c-format
 msgid "Tag \"%s\" already defined"
 msgstr "Tagg «%s» er allerede definert"
 
-#: ../gtk/gtktextbufferserialize.c:1300
+#: ../gtk/gtktextbufferserialize.c:1312
 #, c-format
 msgid "Tag \"%s\" has invalid priority \"%s\""
 msgstr "Tagg «%s» har ugyldig prioritet «%s»"
 
-#: ../gtk/gtktextbufferserialize.c:1353
+#: ../gtk/gtktextbufferserialize.c:1365
 #, c-format
 msgid "Outermost element in text must be <text_view_markup> not <%s>"
 msgstr "Det ytterste elementet i en tekst må være <text_view_markup> ikke <%s>"
 
-#: ../gtk/gtktextbufferserialize.c:1362 ../gtk/gtktextbufferserialize.c:1378
+#: ../gtk/gtktextbufferserialize.c:1374 ../gtk/gtktextbufferserialize.c:1390
 #, c-format
 msgid "A <%s> element has already been specified"
 msgstr "Et element <%s> er allerede spesifisert"
 
-#: ../gtk/gtktextbufferserialize.c:1384
+#: ../gtk/gtktextbufferserialize.c:1396
 msgid "A <text> element can't occur before a <tags> element"
 msgstr "Et <text>-element kan ikke brukes før et <tags>-element"
 
-#: ../gtk/gtktextbufferserialize.c:1784
+#: ../gtk/gtktextbufferserialize.c:1796
 msgid "Serialized data is malformed"
 msgstr "Serialiserte data har feil utforming"
 
-#: ../gtk/gtktextbufferserialize.c:1862
+#: ../gtk/gtktextbufferserialize.c:1874
 msgid ""
 "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001"
 msgstr ""
@@ -3764,253 +3771,253 @@ msgid "X Input Method"
 msgstr "X-inndatametode"
 
 #: ../modules/printbackends/cups/gtkprintbackendcups.c:810
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1019
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1020
 msgid "Username:"
 msgstr "Brukernavn:"
 
 #: ../modules/printbackends/cups/gtkprintbackendcups.c:811
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1028
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1029
 msgid "Password:"
 msgstr "Passord:"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:849
-#, c-format
-msgid "Authentication is required to get a file from %s"
-msgstr "Autentisering kreves for å hente en fil fra %s"
-
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:853
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1041
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:850
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1042
 #, c-format
 msgid "Authentication is required to print document '%s' on printer %s"
 msgstr "Autentisering kreves for å skrive ut dokument «%s» på skriver %s"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:855
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:852
 #, c-format
 msgid "Authentication is required to print a document on %s"
 msgstr "Autentisering kreves for å skrive ut et dokument på %s"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:859
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:856
 #, c-format
 msgid "Authentication is required to get attributes of job '%s'"
 msgstr "Autentisering kreves for å hente attributter for jobb «%s»"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:861
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:858
 msgid "Authentication is required to get attributes of a job"
 msgstr "Autentisering kreves for å hente attributter for en jobb"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:865
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:862
 #, c-format
 msgid "Authentication is required to get attributes of printer %s"
 msgstr "Autentisering kreves for å hente attributter for skriver %s"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:867
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:864
 msgid "Authentication is required to get attributes of a printer"
 msgstr "Autentisering kreves for å hente attributter for en skriver"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:870
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:867
 #, c-format
 msgid "Authentication is required to get default printer of %s"
 msgstr "Autentisering kreves for å hente forvalgt skriver for %s"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:873
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:870
 #, c-format
 msgid "Authentication is required to get printers from %s"
 msgstr "Autentisering kreves for å hente skrivere fra %s"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:876
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:875
+#, c-format
+msgid "Authentication is required to get a file from %s"
+msgstr "Autentisering kreves for å hente en fil fra %s"
+
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:877
 #, c-format
 msgid "Authentication is required on %s"
 msgstr "Autentisering kreves på %s"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1013
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1014
 msgid "Domain:"
 msgstr "Domene:"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1043
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1044
 #, c-format
 msgid "Authentication is required to print document '%s'"
 msgstr "Autentisering kreves for å skrive ut dokument «%s»"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1048
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1049
 #, c-format
 msgid "Authentication is required to print this document on printer %s"
 msgstr "Autentisering kreves for å skrive ut dette dokumentet på skriver %s"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1050
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1051
 msgid "Authentication is required to print this document"
 msgstr "Autentisering kreves for å skrive ut dette dokumentet"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1671
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1672
 #, c-format
 msgid "Printer '%s' is low on toner."
 msgstr "Skriver «%s» har lite toner."
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1672
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1673
 #, c-format
 msgid "Printer '%s' has no toner left."
 msgstr "Skriver «%s» er tom for toner."
 
 #. Translators: "Developer" like on photo development context
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1674
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1675
 #, c-format
 msgid "Printer '%s' is low on developer."
 msgstr "Skriver «%s» har lite framkallingsmiddel."
 
 #. Translators: "Developer" like on photo development context
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1676
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677
 #, c-format
 msgid "Printer '%s' is out of developer."
 msgstr "Skriver «%s» er tom for framkallingsmiddel."
 
 #. Translators: "marker" is one color bin of the printer
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1678
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679
 #, c-format
 msgid "Printer '%s' is low on at least one marker supply."
 msgstr "Skriver «%s» har minst en tonerkassett som snart er tom."
 
 #. Translators: "marker" is one color bin of the printer
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1680
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681
 #, c-format
 msgid "Printer '%s' is out of at least one marker supply."
 msgstr "Skriver «%s» har minst en tom tonerkassett."
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1682
 #, c-format
 msgid "The cover is open on printer '%s'."
 msgstr "Lokket er åpent på skriver «%s»."
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1682
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683
 #, c-format
 msgid "The door is open on printer '%s'."
 msgstr "Døren er åpen på skriver «%s»."
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1684
 #, c-format
 msgid "Printer '%s' is low on paper."
 msgstr "Skriver «%s» har lite papir."
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1684
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685
 #, c-format
 msgid "Printer '%s' is out of paper."
 msgstr "Skriver «%s» er tom for papir."
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686
 #, c-format
 msgid "Printer '%s' is currently offline."
 msgstr "Skriver «%s» er frakoblet for tiden."
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687
 #, c-format
 msgid "There is a problem on printer '%s'."
 msgstr "Det er et problem med skriver «%s»."
 
 #. Translators: this is a printer status.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:1994
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:1995
 msgid "Paused ; Rejecting Jobs"
 msgstr "Satt på pause. Avviser jobber"
 
 #. Translators: this is a printer status.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2000
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2001
 msgid "Rejecting Jobs"
 msgstr "Avviser jobber"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2776
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2777
 msgid "Two Sided"
 msgstr "Tosidig"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2777
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778
 msgid "Paper Type"
 msgstr "Papirtype"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779
 msgid "Paper Source"
 msgstr "Papirkilde"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780
 msgid "Output Tray"
 msgstr "Utskuff"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781
 msgid "Resolution"
 msgstr "Oppløsning"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782
 msgid "GhostScript pre-filtering"
 msgstr "Forhåndsfiltrering med GhostScript"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2790
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2791
 msgid "One Sided"
 msgstr "Ensidig"
 
 #. Translators: this is an option of "Two Sided"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2792
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2793
 msgid "Long Edge (Standard)"
 msgstr "Lang kant (standard)"
 
 #. Translators: this is an option of "Two Sided"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2794
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795
 msgid "Short Edge (Flip)"
 msgstr "Kort kant (vend)"
 
 #. Translators: this is an option of "Paper Source"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2796
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2798
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2806
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807
 msgid "Auto Select"
 msgstr "Velg automatisk"
 
 #. Translators: this is an option of "Paper Source"
 #. Translators: this is an option of "Resolution"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2800
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2802
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2804
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2808
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3304
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2805
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2809
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3305
 msgid "Printer Default"
 msgstr "Forvalg for skriver"
 
 #. Translators: this is an option of "GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2810
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811
 msgid "Embed GhostScript fonts only"
 msgstr "Bygg kun inn GhostScript-skrifter"
 
 #. Translators: this is an option of "GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2812
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813
 msgid "Convert to PS level 1"
 msgstr "Konverter til PS nivå 1"
 
 #. Translators: this is an option of "GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2814
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815
 msgid "Convert to PS level 2"
 msgstr "Konverter til PS nivå 2"
 
 #. Translators: this is an option of "GhostScript"
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2816
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817
 msgid "No pre-filtering"
 msgstr "Ingen forhåndsfiltrering"
 
 #. Translators: "Miscellaneous" is the label for a button, that opens
 #. up an extra panel of settings in a print dialog.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:2825
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826
 msgid "Miscellaneous"
 msgstr "Forskjellig"
 
 #. Translators: These strings name the possible values of the
 #. * job priority option in the print dialog
 #.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3528
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529
 msgid "Urgent"
 msgstr "Haster"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3528
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529
 msgid "High"
 msgstr "Høy"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3528
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529
 msgid "Medium"
 msgstr "Middels"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3528
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529
 msgid "Low"
 msgstr "Lav"
 
@@ -4018,66 +4025,66 @@ msgstr "Lav"
 #. Translators, this string is used to label the pages-per-sheet option
 #. * in the print dialog
 #.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3552
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3553
 msgid "Pages per Sheet"
 msgstr "Sider per ark"
 
 #. Translators, this string is used to label the job priority option
 #. * in the print dialog
 #.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3589
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590
 msgid "Job Priority"
 msgstr "Prioritet for jobb"
 
 #. Translators, this string is used to label the billing info entry
 #. * in the print dialog
 #.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3600
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3601
 msgid "Billing Info"
 msgstr "Faktureringsinformasjon:"
 
 #. Translators, these strings are names for various 'standard' cover
 #. * pages that the printing system may support.
 #.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3615
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616
 msgid "None"
 msgstr "Ingen"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3615
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616
 msgid "Classified"
 msgstr "Klassifisert"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3615
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616
 msgid "Confidential"
 msgstr "Konfidensiell"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3615
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616
 msgid "Secret"
 msgstr "Hemmelig"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3615
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616
 msgid "Standard"
 msgstr "Vanlig"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3615
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616
 msgid "Top Secret"
 msgstr "Topphemmelig"
 
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3615
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616
 msgid "Unclassified"
 msgstr "Ikke klassifisert"
 
 #. Translators, this is the label used for the option in the print
 #. * dialog that controls the front cover page.
 #.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3650
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3651
 msgid "Before"
 msgstr "Før"
 
 #. Translators, this is the label used for the option in the print
 #. * dialog that controls the back cover page.
 #.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3665
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3666
 msgid "After"
 msgstr "Etter"
 
@@ -4085,14 +4092,14 @@ msgstr "Etter"
 #. * a print job is printed. Possible values are 'now', a specified time,
 #. * or 'on hold'
 #.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3685
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3686
 msgid "Print at"
 msgstr "Tidspunkt for utskrift"
 
 #. Translators: this is the name of the option that allows the user
 #. * to specify a time when a print job will be printed.
 #.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3696
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3697
 msgid "Print at time"
 msgstr "Tidspunkt for utskrift"
 
@@ -4100,7 +4107,7 @@ msgstr "Tidspunkt for utskrift"
 #. * size. The two placeholders are replaced with the width and height
 #. * in points. E.g: "Custom 230.4x142.9"
 #.
-#: ../modules/printbackends/cups/gtkprintbackendcups.c:3731
+#: ../modules/printbackends/cups/gtkprintbackendcups.c:3732
 #, c-format
 msgid "Custom %sx%s"
 msgstr "Egendefinert %s×%s"
@@ -4111,32 +4118,32 @@ msgstr "Egendefinert %s×%s"
 msgid "output.%s"
 msgstr "utfil.%s"
 
-#: ../modules/printbackends/file/gtkprintbackendfile.c:493
+#: ../modules/printbackends/file/gtkprintbackendfile.c:501
 msgid "Print to File"
 msgstr "Skriv ut til fil"
 
-#: ../modules/printbackends/file/gtkprintbackendfile.c:570
+#: ../modules/printbackends/file/gtkprintbackendfile.c:578
 msgid "PDF"
 msgstr "PDF"
 
-#: ../modules/printbackends/file/gtkprintbackendfile.c:570
+#: ../modules/printbackends/file/gtkprintbackendfile.c:578
 msgid "Postscript"
 msgstr "Postscript"
 
-#: ../modules/printbackends/file/gtkprintbackendfile.c:570
+#: ../modules/printbackends/file/gtkprintbackendfile.c:578
 msgid "SVG"
 msgstr "SVG"
 
-#: ../modules/printbackends/file/gtkprintbackendfile.c:582
+#: ../modules/printbackends/file/gtkprintbackendfile.c:590
 #: ../modules/printbackends/test/gtkprintbackendtest.c:503
 msgid "Pages per _sheet:"
 msgstr "_Sider per ark:"
 
-#: ../modules/printbackends/file/gtkprintbackendfile.c:641
+#: ../modules/printbackends/file/gtkprintbackendfile.c:649
 msgid "File"
 msgstr "Fil"
 
-#: ../modules/printbackends/file/gtkprintbackendfile.c:651
+#: ../modules/printbackends/file/gtkprintbackendfile.c:659
 msgid "_Output format"
 msgstr "F_ormat"
 
index dc1eb7b6bcdf1e294e10095437166f47acf93d7e..65a512720eadf59e3427b821316f51bfd35db586 100644 (file)
--- a/po/ug.po
+++ b/po/ug.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gtk+2.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2b&component=general\n"
-"POT-Creation-Date: 2010-11-07 23:00+0000\n"
+"POT-Creation-Date: 2010-11-19 03:45+0000\n"
 "PO-Revision-Date: 2010-08-02 01:02+0600\n"
 "Last-Translator: Sahran <sahran@live.com>\n"
 "Language-Team: Uyghur Computer Science Association <UKIJ@yahoogroups.com>\n"
@@ -20,58 +20,58 @@ msgstr ""
 "X-Launchpad-Export-Date: 2010-05-06 04:15+0000\n"
 "X-Generator: Launchpad (build Unknown)\n"
 
-#: ../gdk/gdk.c:104
+#: ../gdk/gdk.c:115
 #, c-format
 msgid "Error parsing option --gdk-debug"
 msgstr "--gdk-debug تاللانمىنى يېشىشتە خاتالىق كۆرۈلدى"
 
-#: ../gdk/gdk.c:124
+#: ../gdk/gdk.c:135
 #, c-format
 msgid "Error parsing option --gdk-no-debug"
 msgstr "--gdk-no-debug تاللانمىنى يېشىشتە خاتالىق كۆرۈلدى"
 
 #. Description of --class=CLASS in --help output
-#: ../gdk/gdk.c:152
+#: ../gdk/gdk.c:163
 msgid "Program class as used by the window manager"
 msgstr "كۆزنەك باشقۇرغۇچ ئىشلەتكەن پروگرامما تۈرى"
 
 #. Placeholder in --class=CLASS in --help output
-#: ../gdk/gdk.c:153
+#: ../gdk/gdk.c:164
 msgid "CLASS"
 msgstr "تۈر"
 
 #. Description of --name=NAME in --help output
-#: ../gdk/gdk.c:155
+#: ../gdk/gdk.c:166
 msgid "Program name as used by the window manager"
 msgstr "كۆزنەك باشقۇرغۇچ ئىشلەتكەن پروگرامما ئىسمى"
 
 #. Placeholder in --name=NAME in --help output
-#: ../gdk/gdk.c:156
+#: ../gdk/gdk.c:167
 msgid "NAME"
 msgstr "ئاتى"
 
 #. Description of --display=DISPLAY in --help output
-#: ../gdk/gdk.c:158
+#: ../gdk/gdk.c:169
 msgid "X display to use"
 msgstr "X كۆرسىتىش ئېغىزى ئىشلەت"
 
 #. Placeholder in --display=DISPLAY in --help output
-#: ../gdk/gdk.c:159
+#: ../gdk/gdk.c:170
 msgid "DISPLAY"
 msgstr "كۆرسەت"
 
 #. Description of --screen=SCREEN in --help output
-#: ../gdk/gdk.c:161
+#: ../gdk/gdk.c:172
 msgid "X screen to use"
 msgstr "ئىشلەتكەن X ئېكران"
 
 #. Placeholder in --screen=SCREEN in --help output
-#: ../gdk/gdk.c:162
+#: ../gdk/gdk.c:173
 msgid "SCREEN"
 msgstr "ئېكران"
 
 #. Description of --gdk-debug=FLAGS in --help output
-#: ../gdk/gdk.c:165
+#: ../gdk/gdk.c:176
 msgid "GDK debugging flags to set"
 msgstr "تەڭشەيدىغان GTK+ سازلاش بەلگىسى"
 
@@ -79,12 +79,12 @@ msgstr "تەڭشەيدىغان GTK+ سازلاش بەلگىسى"
 #. Placeholder in --gdk-no-debug=FLAGS in --help output
 #. Placeholder in --gtk-debug=FLAGS in --help output
 #. Placeholder in --gtk-no-debug=FLAGS in --help output
-#: ../gdk/gdk.c:166 ../gdk/gdk.c:169 ../gtk/gtkmain.c:534 ../gtk/gtkmain.c:537
+#: ../gdk/gdk.c:177 ../gdk/gdk.c:180 ../gtk/gtkmain.c:525 ../gtk/gtkmain.c:528
 msgid "FLAGS"
 msgstr "بەلگە"
 
 #. Description of --gdk-no-debug=FLAGS in --help output
-#: ../gdk/gdk.c:168
+#: ../gdk/gdk.c:179
 msgid "GDK debugging flags to unset"
 msgstr "قالدۇرماقچى بولغان GTK+ سازلاش بەلگىسى"
 
@@ -106,7 +106,7 @@ msgstr "Return"
 #: ../gdk/keyname-table.h:3943
 msgctxt "keyboard label"
 msgid "Pause"
-msgstr "Pause"
+msgstr "ۋاقىتلىق توختاش"
 
 #: ../gdk/keyname-table.h:3944
 msgctxt "keyboard label"
@@ -774,23 +774,23 @@ msgstr "ئوڭ(_R):"
 msgid "Paper Margins"
 msgstr "قەغەز يان ئارىلىقى"
 
-#: ../gtk/gtkentry.c:8652 ../gtk/gtktextview.c:8229
+#: ../gtk/gtkentry.c:8630 ../gtk/gtktextview.c:8229
 msgid "Input _Methods"
 msgstr "كىرگۈزگۈچ(_M)"
 
-#: ../gtk/gtkentry.c:8666 ../gtk/gtktextview.c:8243
+#: ../gtk/gtkentry.c:8644 ../gtk/gtktextview.c:8243
 msgid "_Insert Unicode Control Character"
 msgstr "يۇنىكودلۇق كونترول بەلگىسى قىستۇر(_I)"
 
-#: ../gtk/gtkentry.c:10066
+#: ../gtk/gtkentry.c:10044
 msgid "Caps Lock and Num Lock are on"
 msgstr "Caps Lock ۋە Num Lock ئوچۇق"
 
-#: ../gtk/gtkentry.c:10068
+#: ../gtk/gtkentry.c:10046
 msgid "Num Lock is on"
 msgstr "Num Lock ئوچۇق"
 
-#: ../gtk/gtkentry.c:10070
+#: ../gtk/gtkentry.c:10048
 msgid "Caps Lock is on"
 msgstr "Caps Lock ئوچۇق"
 
@@ -866,205 +866,205 @@ msgstr "%2$s ئۈستىدىكى %1$s"
 msgid "Search"
 msgstr "ئىزدە"
 
-#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9383
+#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9417
 msgid "Recently Used"
 msgstr "يېقىندا ئىشلەتكەن"
 
-#: ../gtk/gtkfilechooserdefault.c:2430
+#: ../gtk/gtkfilechooserdefault.c:2437
 msgid "Select which types of files are shown"
 msgstr "كۆرسىتىلىدىغان ھۆججەت تىپىنى تاللاڭ"
 
-#: ../gtk/gtkfilechooserdefault.c:2789
+#: ../gtk/gtkfilechooserdefault.c:2796
 #, c-format
 msgid "Add the folder '%s' to the bookmarks"
 msgstr "'%s' قىسقۇچنى خەتكۈچكە قوش"
 
-#: ../gtk/gtkfilechooserdefault.c:2833
+#: ../gtk/gtkfilechooserdefault.c:2840
 #, c-format
 msgid "Add the current folder to the bookmarks"
 msgstr "نۆۋەتتىكى قىسقۇچنى خەتكۈچكە قوش"
 
-#: ../gtk/gtkfilechooserdefault.c:2835
+#: ../gtk/gtkfilechooserdefault.c:2842
 #, c-format
 msgid "Add the selected folders to the bookmarks"
 msgstr "تاللانغان قىسقۇچنى خەتكۈچكە قوش"
 
-#: ../gtk/gtkfilechooserdefault.c:2873
+#: ../gtk/gtkfilechooserdefault.c:2880
 #, c-format
 msgid "Remove the bookmark '%s'"
 msgstr "'%s' خەتكۈچنى چىقىرىۋەت"
 
-#: ../gtk/gtkfilechooserdefault.c:2875
+#: ../gtk/gtkfilechooserdefault.c:2882
 #, c-format
 msgid "Bookmark '%s' cannot be removed"
 msgstr "'%s' خەتكۈچنى چىقىرىۋېتەلمىدى."
 
-#: ../gtk/gtkfilechooserdefault.c:2882 ../gtk/gtkfilechooserdefault.c:3747
+#: ../gtk/gtkfilechooserdefault.c:2889 ../gtk/gtkfilechooserdefault.c:3750
 msgid "Remove the selected bookmark"
 msgstr "تاللانغان خەتكۈچنى چىقىرىۋەت"
 
-#: ../gtk/gtkfilechooserdefault.c:3442
+#: ../gtk/gtkfilechooserdefault.c:3445
 msgid "Remove"
 msgstr "چىقىرىۋەت"
 
-#: ../gtk/gtkfilechooserdefault.c:3451
+#: ../gtk/gtkfilechooserdefault.c:3454
 msgid "Rename..."
 msgstr "ئات ئۆزگەرت…"
 
 #. Accessible object name for the file chooser's shortcuts pane
-#: ../gtk/gtkfilechooserdefault.c:3614
+#: ../gtk/gtkfilechooserdefault.c:3617
 msgid "Places"
 msgstr "ئورۇن"
 
 #. Column header for the file chooser's shortcuts pane
-#: ../gtk/gtkfilechooserdefault.c:3671
+#: ../gtk/gtkfilechooserdefault.c:3674
 msgid "_Places"
 msgstr "ئورۇن(_P)"
 
-#: ../gtk/gtkfilechooserdefault.c:3728
+#: ../gtk/gtkfilechooserdefault.c:3731
 msgid "_Add"
 msgstr "قوش(_A)"
 
-#: ../gtk/gtkfilechooserdefault.c:3735
+#: ../gtk/gtkfilechooserdefault.c:3738
 msgid "Add the selected folder to the Bookmarks"
 msgstr "تاللانغان قىسقۇچنى خەتكۈچكە قوش"
 
-#: ../gtk/gtkfilechooserdefault.c:3740
+#: ../gtk/gtkfilechooserdefault.c:3743
 msgid "_Remove"
 msgstr "ئۆچۈر(_R)"
 
-#: ../gtk/gtkfilechooserdefault.c:3882
+#: ../gtk/gtkfilechooserdefault.c:3885
 msgid "Could not select file"
 msgstr "ھۆججەت تاللىيالمىدى"
 
-#: ../gtk/gtkfilechooserdefault.c:4057
+#: ../gtk/gtkfilechooserdefault.c:4060
 msgid "_Add to Bookmarks"
 msgstr "خەتكۈچكە قوش(_A)"
 
-#: ../gtk/gtkfilechooserdefault.c:4070
+#: ../gtk/gtkfilechooserdefault.c:4073
 msgid "Show _Hidden Files"
 msgstr "يوشۇرۇن ھۆججەتلەرنى كۆرسەت(_H)"
 
-#: ../gtk/gtkfilechooserdefault.c:4077
+#: ../gtk/gtkfilechooserdefault.c:4080
 msgid "Show _Size Column"
 msgstr "چوڭلۇق ئىستونىنى كۆرسەت(_S)"
 
-#: ../gtk/gtkfilechooserdefault.c:4303
+#: ../gtk/gtkfilechooserdefault.c:4306
 msgid "Files"
 msgstr "ھۆججەتلەر"
 
-#: ../gtk/gtkfilechooserdefault.c:4354
+#: ../gtk/gtkfilechooserdefault.c:4357
 msgid "Name"
 msgstr "ئاتى"
 
-#: ../gtk/gtkfilechooserdefault.c:4377
+#: ../gtk/gtkfilechooserdefault.c:4380
 msgid "Size"
 msgstr "چوڭلۇقى"
 
-#: ../gtk/gtkfilechooserdefault.c:4391
+#: ../gtk/gtkfilechooserdefault.c:4394
 msgid "Modified"
 msgstr "ئۆزگەرتكەن"
 
 #. Label
-#: ../gtk/gtkfilechooserdefault.c:4646 ../gtk/gtkprinteroptionwidget.c:793
+#: ../gtk/gtkfilechooserdefault.c:4649 ../gtk/gtkprinteroptionwidget.c:793
 msgid "_Name:"
 msgstr "ئاتى(_N):"
 
-#: ../gtk/gtkfilechooserdefault.c:4689
+#: ../gtk/gtkfilechooserdefault.c:4692
 msgid "_Browse for other folders"
 msgstr "باشقا قىسقۇچقا كۆز يۈگۈرت(_B)"
 
-#: ../gtk/gtkfilechooserdefault.c:4959
+#: ../gtk/gtkfilechooserdefault.c:4962
 msgid "Type a file name"
 msgstr "ھۆججەت ئاتىنى كىرگۈزۈڭ"
 
 #. Create Folder
-#: ../gtk/gtkfilechooserdefault.c:5002
+#: ../gtk/gtkfilechooserdefault.c:5005
 msgid "Create Fo_lder"
 msgstr "قىسقۇچ قۇر(_L)"
 
-#: ../gtk/gtkfilechooserdefault.c:5012
+#: ../gtk/gtkfilechooserdefault.c:5015
 msgid "_Location:"
 msgstr "ئورنى(_L):"
 
-#: ../gtk/gtkfilechooserdefault.c:5216
+#: ../gtk/gtkfilechooserdefault.c:5219
 msgid "Save in _folder:"
 msgstr "قىسقۇچقا ساقلا(_F):"
 
-#: ../gtk/gtkfilechooserdefault.c:5218
+#: ../gtk/gtkfilechooserdefault.c:5221
 msgid "Create in _folder:"
 msgstr "قىسقۇچتا قۇر(_F):"
 
-#: ../gtk/gtkfilechooserdefault.c:6287
+#: ../gtk/gtkfilechooserdefault.c:6290
 #, c-format
 msgid "Could not read the contents of %s"
 msgstr "%s نىڭ مەزمۇنىنى ئوقۇيالمىدى"
 
-#: ../gtk/gtkfilechooserdefault.c:6291
+#: ../gtk/gtkfilechooserdefault.c:6294
 msgid "Could not read the contents of the folder"
 msgstr "قىسقۇچنىڭ مەزمۇنىنى ئوقۇيالمىدى"
 
-#: ../gtk/gtkfilechooserdefault.c:6384 ../gtk/gtkfilechooserdefault.c:6452
-#: ../gtk/gtkfilechooserdefault.c:6597
+#: ../gtk/gtkfilechooserdefault.c:6387 ../gtk/gtkfilechooserdefault.c:6455
+#: ../gtk/gtkfilechooserdefault.c:6600
 msgid "Unknown"
 msgstr "نامەلۇم"
 
-#: ../gtk/gtkfilechooserdefault.c:6399
+#: ../gtk/gtkfilechooserdefault.c:6402
 msgid "%H:%M"
 msgstr "%H:%M"
 
-#: ../gtk/gtkfilechooserdefault.c:6401
+#: ../gtk/gtkfilechooserdefault.c:6404
 msgid "Yesterday at %H:%M"
 msgstr "ئەتە %H:%M"
 
-#: ../gtk/gtkfilechooserdefault.c:7067
+#: ../gtk/gtkfilechooserdefault.c:7070
 msgid "Cannot change to folder because it is not local"
 msgstr "قىسقۇچقا ئۆزگەرتەلمەيدۇ چۈنكى ئۇ يەرلىك قىسقۇچ ئەمەس"
 
-#: ../gtk/gtkfilechooserdefault.c:7664 ../gtk/gtkfilechooserdefault.c:7685
+#: ../gtk/gtkfilechooserdefault.c:7667 ../gtk/gtkfilechooserdefault.c:7688
 #, c-format
 msgid "Shortcut %s already exists"
 msgstr "%s قىسقا يول مەۋجۇت"
 
-#: ../gtk/gtkfilechooserdefault.c:7775
+#: ../gtk/gtkfilechooserdefault.c:7778
 #, c-format
 msgid "Shortcut %s does not exist"
 msgstr "%s قىسقا يول مەۋجۇت ئەمەس"
 
-#: ../gtk/gtkfilechooserdefault.c:8036 ../gtk/gtkprintunixdialog.c:480
+#: ../gtk/gtkfilechooserdefault.c:8039 ../gtk/gtkprintunixdialog.c:480
 #, c-format
 msgid "A file named \"%s\" already exists.  Do you want to replace it?"
 msgstr "\"%s\" ئاتلىق ھۆججەت مەۋجۇت. ئۇنى ئالماشتۇرۇۋېتەمسىز؟"
 
-#: ../gtk/gtkfilechooserdefault.c:8039 ../gtk/gtkprintunixdialog.c:484
+#: ../gtk/gtkfilechooserdefault.c:8042 ../gtk/gtkprintunixdialog.c:484
 #, c-format
 msgid ""
 "The file already exists in \"%s\".  Replacing it will overwrite its contents."
 msgstr "ئىچىدە مەۋجۇت . ھۆججەتنى ئالماشتۇرسا ئىچىدىكى مەزمۇنلار قاپلىنىدۇ “%s”ھۆججەت ئاللىبۇرۇن"
 
-#: ../gtk/gtkfilechooserdefault.c:8044 ../gtk/gtkprintunixdialog.c:491
+#: ../gtk/gtkfilechooserdefault.c:8047 ../gtk/gtkprintunixdialog.c:491
 msgid "_Replace"
 msgstr "ئالماشتۇر(_R)"
 
-#: ../gtk/gtkfilechooserdefault.c:8752
+#: ../gtk/gtkfilechooserdefault.c:8755
 msgid "Could not start the search process"
 msgstr "ئىزدىگۈچنى قوزغىتالمىدى"
 
-#: ../gtk/gtkfilechooserdefault.c:8753
+#: ../gtk/gtkfilechooserdefault.c:8756
 msgid ""
 "The program was not able to create a connection to the indexer daemon.  "
 "Please make sure it is running."
 msgstr "پروگرامما ئىزدىگۈچكە ئۇلىنالمىدى. indexer daemon نىڭ ئىجرا ھالىتىنى جەزملەڭ"
 
-#: ../gtk/gtkfilechooserdefault.c:8767
+#: ../gtk/gtkfilechooserdefault.c:8770
 msgid "Could not send the search request"
 msgstr "ئىزدەش ئىلتىماسىنى يوللىيالمىدى"
 
-#: ../gtk/gtkfilechooserdefault.c:8955
+#: ../gtk/gtkfilechooserdefault.c:8989
 msgid "Search:"
 msgstr "ئىزدە:"
 
-#: ../gtk/gtkfilechooserdefault.c:9560
+#: ../gtk/gtkfilechooserdefault.c:9594
 #, c-format
 msgid "Could not mount %s"
 msgstr "%s نى ئېگەرلىگىلى بولمىدى"
@@ -1223,12 +1223,12 @@ msgid "System (%s)"
 msgstr "سىستېما(%s)"
 
 #. Open Link
-#: ../gtk/gtklabel.c:6196
+#: ../gtk/gtklabel.c:6214
 msgid "_Open Link"
 msgstr "ئۇلانما ئاچ(_O)"
 
 #. Copy Link Address
-#: ../gtk/gtklabel.c:6208
+#: ../gtk/gtklabel.c:6226
 msgid "Copy _Link Address"
 msgstr "ئۇلانما مەنزىل كۆچۈر(_L)"
 
@@ -1241,27 +1241,27 @@ msgid "Invalid URI"
 msgstr "ئىناۋەتسىز URI"
 
 #. Description of --gtk-module=MODULES in --help output
-#: ../gtk/gtkmain.c:527
+#: ../gtk/gtkmain.c:518
 msgid "Load additional GTK+ modules"
 msgstr "قوشۇمچە GTK+ بۆلىكىنى يۈكلە"
 
 #. Placeholder in --gtk-module=MODULES in --help output
-#: ../gtk/gtkmain.c:528
+#: ../gtk/gtkmain.c:519
 msgid "MODULES"
 msgstr "بۆلەك"
 
 #. Description of --g-fatal-warnings in --help output
-#: ../gtk/gtkmain.c:530
+#: ../gtk/gtkmain.c:521
 msgid "Make all warnings fatal"
 msgstr "ھەممە ئاگاھلاندۇرۇشنى ئېغىر خاتالىققا ئۆزگەرت"
 
 #. Description of --gtk-debug=FLAGS in --help output
-#: ../gtk/gtkmain.c:533
+#: ../gtk/gtkmain.c:524
 msgid "GTK+ debugging flags to set"
 msgstr "تەڭشەيدىغان GTK+ سازلاش بەلگىسى"
 
 #. Description of --gtk-no-debug=FLAGS in --help output
-#: ../gtk/gtkmain.c:536
+#: ../gtk/gtkmain.c:527
 msgid "GTK+ debugging flags to unset"
 msgstr "قالدۇرماقچى بولغان GTK+ سازلاش بەلگىسى"
 
@@ -1270,20 +1270,20 @@ msgstr "قالدۇرماقچى بولغان GTK+ سازلاش بەلگىسى"
 #. * Do *not* translate it to "predefinito:LTR", if it
 #. * it isn't default:LTR or default:RTL it will not work
 #.
-#: ../gtk/gtkmain.c:799
+#: ../gtk/gtkmain.c:790
 msgid "default:LTR"
 msgstr "default:RTL"
 
-#: ../gtk/gtkmain.c:864
+#: ../gtk/gtkmain.c:855
 #, c-format
 msgid "Cannot open display: %s"
 msgstr "ئېكران ئېچىلمىدى: (%s)"
 
-#: ../gtk/gtkmain.c:923
+#: ../gtk/gtkmain.c:914
 msgid "GTK+ Options"
 msgstr "GTK+ تاللانما"
 
-#: ../gtk/gtkmain.c:923
+#: ../gtk/gtkmain.c:914
 msgid "Show GTK+ Options"
 msgstr "GTK+ تاللانما كۆرسەت"
 
@@ -1372,7 +1372,7 @@ msgstr "PID %d جەرياننى ئاخىرلاشتۇرالمايدۇ: %s"
 msgid "Page %u"
 msgstr "%u-بەت"
 
-#: ../gtk/gtkpagesetup.c:596 ../gtk/gtkpapersize.c:838
+#: ../gtk/gtkpagesetup.c:648 ../gtk/gtkpapersize.c:838
 #: ../gtk/gtkpapersize.c:880
 msgid "Not a valid page setup file"
 msgstr "ئىناۋەتلىك بەت تەڭشەك ھۆججىتى ئەمەس"
@@ -2721,7 +2721,7 @@ msgstr "ئاۋاز تەڭشىكى"
 
 #: ../gtk/gtkvolumebutton.c:94 ../gtk/gtkvolumebutton.c:97
 msgid "Volume Down"
-msgstr "ئاۋازنى تۆۋەنلەت"
+msgstr "ئاۋازنى تۆۋەنلىتىش"
 
 #: ../gtk/gtkvolumebutton.c:96
 msgid "Decreases the volume"
@@ -2729,7 +2729,7 @@ msgstr "ئاۋازنى كېمەيت"
 
 #: ../gtk/gtkvolumebutton.c:100 ../gtk/gtkvolumebutton.c:103
 msgid "Volume Up"
-msgstr "ئاۋازنى يۇقىرىلات"
+msgstr "ئاۋازنى يۇقىرىلىتىش"
 
 #: ../gtk/gtkvolumebutton.c:102
 msgid "Increases the volume"
@@ -4084,32 +4084,32 @@ msgstr "ئىختىيارى %sx%s"
 msgid "output.%s"
 msgstr "چىقىش.%s"
 
-#: ../modules/printbackends/file/gtkprintbackendfile.c:493
+#: ../modules/printbackends/file/gtkprintbackendfile.c:501
 msgid "Print to File"
 msgstr "ھۆججەتكە باس"
 
-#: ../modules/printbackends/file/gtkprintbackendfile.c:570
+#: ../modules/printbackends/file/gtkprintbackendfile.c:578
 msgid "PDF"
 msgstr "PDF"
 
-#: ../modules/printbackends/file/gtkprintbackendfile.c:570
+#: ../modules/printbackends/file/gtkprintbackendfile.c:578
 msgid "Postscript"
 msgstr "Postscript"
 
-#: ../modules/printbackends/file/gtkprintbackendfile.c:570
+#: ../modules/printbackends/file/gtkprintbackendfile.c:578
 msgid "SVG"
 msgstr "SVG"
 
-#: ../modules/printbackends/file/gtkprintbackendfile.c:582
+#: ../modules/printbackends/file/gtkprintbackendfile.c:590
 #: ../modules/printbackends/test/gtkprintbackendtest.c:503
 msgid "Pages per _sheet:"
 msgstr "ھەر ۋاراق بەت سانى(_S):"
 
-#: ../modules/printbackends/file/gtkprintbackendfile.c:641
+#: ../modules/printbackends/file/gtkprintbackendfile.c:649
 msgid "File"
 msgstr "ھۆججەت"
 
-#: ../modules/printbackends/file/gtkprintbackendfile.c:651
+#: ../modules/printbackends/file/gtkprintbackendfile.c:659
 msgid "_Output format"
 msgstr "چىقىرىش فورماتى(_O)"
 
index 1c19fd996e4ba622d1d90db427d149f045398a33..01ba8ef30dba842dde6f2054a43c6208d17eb48b 100644 (file)
 
 static void        gtk_offscreen_box_realize       (GtkWidget       *widget);
 static void        gtk_offscreen_box_unrealize     (GtkWidget       *widget);
-static void        gtk_offscreen_box_size_request  (GtkWidget       *widget,
-                                                    GtkRequisition  *requisition);
+static void        gtk_offscreen_box_get_preferred_width  (GtkWidget *widget,
+                                                           gint      *minimum,
+                                                           gint      *natural);
+static void        gtk_offscreen_box_get_preferred_height (GtkWidget *widget,
+                                                           gint      *minimum,
+                                                           gint      *natural);
 static void        gtk_offscreen_box_size_allocate (GtkWidget       *widget,
                                                     GtkAllocation   *allocation);
 static gboolean    gtk_offscreen_box_damage        (GtkWidget       *widget,
@@ -119,7 +123,8 @@ gtk_offscreen_box_class_init (GtkOffscreenBoxClass *klass)
 
   widget_class->realize = gtk_offscreen_box_realize;
   widget_class->unrealize = gtk_offscreen_box_unrealize;
-  widget_class->size_request = gtk_offscreen_box_size_request;
+  widget_class->get_preferred_width = gtk_offscreen_box_get_preferred_width;
+  widget_class->get_preferred_height = gtk_offscreen_box_get_preferred_height;
   widget_class->size_allocate = gtk_offscreen_box_size_allocate;
   widget_class->draw = gtk_offscreen_box_draw;
 
@@ -517,6 +522,30 @@ gtk_offscreen_box_size_request (GtkWidget      *widget,
   requisition->height = border_width * 2 + h;
 }
 
+static void
+gtk_offscreen_box_get_preferred_width (GtkWidget *widget,
+                                       gint      *minimum,
+                                       gint      *natural)
+{
+  GtkRequisition requisition;
+
+  gtk_offscreen_box_size_request (widget, &requisition);
+
+  *minimum = *natural = requisition.width;
+}
+
+static void
+gtk_offscreen_box_get_preferred_height (GtkWidget *widget,
+                                        gint      *minimum,
+                                        gint      *natural)
+{
+  GtkRequisition requisition;
+
+  gtk_offscreen_box_size_request (widget, &requisition);
+
+  *minimum = *natural = requisition.height;
+}
+
 static void
 gtk_offscreen_box_size_allocate (GtkWidget     *widget,
                                 GtkAllocation *allocation)
index dc50da0bdf03139afc41b8ca06a6e62a03db28c6..7e0a7e7cd5ea8e68a986c7283e9813ba4e522028 100644 (file)
@@ -5910,74 +5910,6 @@ create_range_controls (GtkWidget *widget)
     gtk_widget_destroy (window);
 }
 
-/*
- * GtkRulers
- */
-
-void
-create_rulers (GtkWidget *widget)
-{
-  static GtkWidget *window = NULL;
-  GtkWidget *table;
-  GtkWidget *ruler;
-
-  if (!window)
-    {
-      window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-
-      gtk_window_set_screen (GTK_WINDOW (window),
-                            gtk_widget_get_screen (widget));
-
-      gtk_window_set_resizable (GTK_WINDOW (window), TRUE);
-
-      g_signal_connect (window, "destroy",
-                       G_CALLBACK (gtk_widget_destroyed),
-                       &window);
-
-      gtk_window_set_title (GTK_WINDOW (window), "rulers");
-      gtk_widget_set_size_request (window, 300, 300);
-      gtk_widget_set_events (window, 
-                            GDK_POINTER_MOTION_MASK 
-                            | GDK_POINTER_MOTION_HINT_MASK);
-      gtk_container_set_border_width (GTK_CONTAINER (window), 0);
-
-      table = gtk_table_new (2, 2, FALSE);
-      gtk_container_add (GTK_CONTAINER (window), table);
-      gtk_widget_show (table);
-
-      ruler = gtk_ruler_new (GTK_ORIENTATION_HORIZONTAL);
-      gtk_ruler_set_metric (GTK_RULER (ruler), GTK_CENTIMETERS);
-      gtk_ruler_set_range (GTK_RULER (ruler), 100, 0, 0, 20);
-
-      g_signal_connect_swapped (window, 
-                               "motion_notify_event",
-                               G_CALLBACK (GTK_WIDGET_GET_CLASS (ruler)->motion_notify_event),
-                               ruler);
-      
-      gtk_table_attach (GTK_TABLE (table), ruler, 1, 2, 0, 1,
-                       GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);
-      gtk_widget_show (ruler);
-
-
-      ruler = gtk_ruler_new (GTK_ORIENTATION_VERTICAL);
-      gtk_ruler_set_range (GTK_RULER (ruler), 5, 15, 0, 20);
-
-      g_signal_connect_swapped (window, 
-                               "motion_notify_event",
-                               G_CALLBACK (GTK_WIDGET_GET_CLASS (ruler)->motion_notify_event),
-                               ruler);
-      
-      gtk_table_attach (GTK_TABLE (table), ruler, 0, 1, 1, 2,
-                       GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
-      gtk_widget_show (ruler);
-    }
-
-  if (!gtk_widget_get_visible (window))
-    gtk_widget_show (window);
-  else
-    gtk_widget_destroy (window);
-}
-
 struct {
   GdkColor color;
   gchar *name;
@@ -10016,7 +9948,6 @@ struct {
   { "resize grips", create_resize_grips },
   { "rotated label", create_rotated_label },
   { "rotated text", create_rotated_text },
-  { "rulers", create_rulers },
   { "saved position", create_saved_position },
   { "scrolled windows", create_scrolled_windows },
   { "shapes", create_shapes },
index ad7b7e24156c869787d271005f2e42190e038178..b125c7562c8551e019d363aca34909f22b8bc6de 100644 (file)
@@ -46,7 +46,7 @@ static void
 update_cursor (GtkWidget *widget,  gdouble x, gdouble y)
 {
   static gint cursor_present = 0;
-  gint state = !current_device->has_cursor && cursor_proximity;
+  gint state = !gdk_device_get_has_cursor (current_device) && cursor_proximity;
 
   if (surface != NULL)
     {
@@ -167,9 +167,9 @@ print_axes (GdkDevice *device, gdouble *axes)
   
   if (axes)
     {
-      g_print ("%s ", device->name);
-      
-      for (i=0; i<device->num_axes; i++)
+      g_print ("%s ", gdk_device_get_name (device));
+
+      for (i = 0; i < gdk_device_get_n_axes (device); i++)
        g_print ("%g ", axes[i]);
 
       g_print ("\n");
@@ -188,8 +188,9 @@ button_press_event (GtkWidget *widget, GdkEventButton *event)
 
       print_axes (event->device, event->axes);
       gdk_event_get_axis ((GdkEvent *)event, GDK_AXIS_PRESSURE, &pressure);
-      draw_brush (widget, event->device->source, event->x, event->y, pressure);
-      
+      draw_brush (widget, gdk_device_get_source (event->device),
+                  event->x, event->y, pressure);
+
       motion_time = event->time;
     }
 
@@ -232,7 +233,8 @@ motion_notify_event (GtkWidget *widget, GdkEventMotion *event)
              gdk_device_get_axis (event->device, events[i]->axes, GDK_AXIS_X, &x);
              gdk_device_get_axis (event->device, events[i]->axes, GDK_AXIS_Y, &y);
              gdk_device_get_axis (event->device, events[i]->axes, GDK_AXIS_PRESSURE, &pressure);
-             draw_brush (widget,  event->device->source, x, y, pressure);
+             draw_brush (widget, gdk_device_get_source (event->device),
+                          x, y, pressure);
 
              print_axes (event->device, events[i]->axes);
            }
@@ -244,7 +246,8 @@ motion_notify_event (GtkWidget *widget, GdkEventMotion *event)
 
          gdk_event_get_axis ((GdkEvent *)event, GDK_AXIS_PRESSURE, &pressure);
 
-         draw_brush (widget,  event->device->source, event->x, event->y, pressure);
+         draw_brush (widget, gdk_device_get_source (event->device),
+                      event->x, event->y, pressure);
        }
       motion_time = event->time;
     }