summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--meta/conf/distro/poky-bleeding.conf6
-rw-r--r--meta/packages/atk/atk_1.22.0.bb6
-rw-r--r--meta/packages/glib-2.0/glib-2.0-2.17.2/configure-libtool.patch34
-rw-r--r--meta/packages/glib-2.0/glib-2.0-2.17.2/glib-gettextize-dir.patch11
-rw-r--r--meta/packages/glib-2.0/glib-2.0-native_2.17.2.bb50
-rw-r--r--meta/packages/glib-2.0/glib-2.0_2.17.2.bb7
-rw-r--r--meta/packages/gtk+/gtk+-2.13.2/cellrenderer-cairo.patch32
-rw-r--r--meta/packages/gtk+/gtk+-2.13.2/combo-arrow-size.patch67
-rw-r--r--meta/packages/gtk+/gtk+-2.13.2/entry-cairo.patch103
-rw-r--r--meta/packages/gtk+/gtk+-2.13.2/filechooser-default.patch9521
-rw-r--r--meta/packages/gtk+/gtk+-2.13.2/filechooser-props.patch57
-rw-r--r--meta/packages/gtk+/gtk+-2.13.2/filechooser-sizefix.patch35
-rw-r--r--meta/packages/gtk+/gtk+-2.13.2/filesystem-volumes.patch198
-rw-r--r--meta/packages/gtk+/gtk+-2.13.2/gtklabel-resize-patch10
-rw-r--r--meta/packages/gtk+/gtk+-2.13.2/hardcoded_libtool.patch29
-rw-r--r--meta/packages/gtk+/gtk+-2.13.2/menu-deactivate.patch51
-rw-r--r--meta/packages/gtk+/gtk+-2.13.2/no-demos.patch10
-rw-r--r--meta/packages/gtk+/gtk+-2.13.2/pangoxft2.10.6.diff2456
-rw-r--r--meta/packages/gtk+/gtk+-2.13.2/range-no-redraw.patch127
-rw-r--r--meta/packages/gtk+/gtk+-2.13.2/run-iconcache.patch19
-rw-r--r--meta/packages/gtk+/gtk+-2.13.2/toggle-font.diff100
-rw-r--r--meta/packages/gtk+/gtk+-2.13.2/xsettings.patch16
-rw-r--r--meta/packages/gtk+/gtk+_2.13.2.bb47
-rw-r--r--meta/packages/pango/pango-1.21.2/no-tests.patch10
-rw-r--r--meta/packages/pango/pango_1.10.2.bb49
-rw-r--r--meta/packages/pango/pango_1.21.2.bb3
26 files changed, 13005 insertions, 49 deletions
diff --git a/meta/conf/distro/poky-bleeding.conf b/meta/conf/distro/poky-bleeding.conf
index 74b7ca2711..ac6fa452f0 100644
--- a/meta/conf/distro/poky-bleeding.conf
+++ b/meta/conf/distro/poky-bleeding.conf
@@ -1,2 +1,8 @@
+PREFERRED_VERSION_glib-2.0 ?= "2.17.2"
+PREFERRED_VERSION_glib-2.0-native ?= "2.17.2"
+PREFERRED_VERSION_atk ?= "1.22.0"
+PREFERRED_VERSION_pango ?= "1.21.2"
+PREFERRED_VERSION_gtk+ ?= "2.13.2"
+
require conf/distro/include/poky-floating-revisions.inc
require conf/distro/poky.conf
diff --git a/meta/packages/atk/atk_1.22.0.bb b/meta/packages/atk/atk_1.22.0.bb
new file mode 100644
index 0000000000..62669c41fb
--- /dev/null
+++ b/meta/packages/atk/atk_1.22.0.bb
@@ -0,0 +1,6 @@
+require atk.inc
+
+SRC_URI = "http://download.gnome.org/sources/atk/1.22/${PN}-${PV}.tar.bz2"
+
+
+
diff --git a/meta/packages/glib-2.0/glib-2.0-2.17.2/configure-libtool.patch b/meta/packages/glib-2.0/glib-2.0-2.17.2/configure-libtool.patch
new file mode 100644
index 0000000000..3ba79b8986
--- /dev/null
+++ b/meta/packages/glib-2.0/glib-2.0-2.17.2/configure-libtool.patch
@@ -0,0 +1,34 @@
+# Poky renames libtool to $host_alias-libtool.
+# ./$host_alias-libtool isn't created until after configure runs with libtool >= 2.2.2
+# so we can't call # it at this point. We can safely assume a version is available
+# from PATH though
+
+--- glib-2.12.10/configure.in.orig 2006-06-05 13:34:08.000000000 +0100
++++ glib-2.12.10/configure.in 2006-06-05 13:34:36.000000000 +0100
+@@ -1174,7 +1174,7 @@
+ G_MODULE_LDFLAGS=
+ else
+ export SED
+- G_MODULE_LDFLAGS=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
++ G_MODULE_LDFLAGS=`($host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
+ fi
+ dnl G_MODULE_IMPL= don't reset, so cmd-line can override
+ G_MODULE_NEED_USCORE=0
+@@ -1265,7 +1265,7 @@
+ LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
+ dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness
+ echo "void glib_plugin_test(void) { }" > plugin.c
+- ${SHELL} ./libtool --mode=compile ${CC} -shared \
++ ${SHELL} $host_alias-libtool --mode=compile ${CC} -shared \
+ -export-dynamic -o plugin.o plugin.c 2>&1 >/dev/null
+ AC_CACHE_CHECK([for RTLD_GLOBAL brokenness],
+ glib_cv_rtldglobal_broken,[
+@@ -1339,7 +1339,7 @@
+
+ AC_MSG_CHECKING(for the suffix of shared libraries)
+ export SED
+-shrext_cmds=`./libtool --config | grep '^shrext_cmds='`
++shrext_cmds=`$host_alias-libtool --config | grep '^shrext_cmds='`
+ eval $shrext_cmds
+ module=yes eval std_shrext=$shrext_cmds
+ # chop the initial dot
diff --git a/meta/packages/glib-2.0/glib-2.0-2.17.2/glib-gettextize-dir.patch b/meta/packages/glib-2.0/glib-2.0-2.17.2/glib-gettextize-dir.patch
new file mode 100644
index 0000000000..efe3325578
--- /dev/null
+++ b/meta/packages/glib-2.0/glib-2.0-2.17.2/glib-gettextize-dir.patch
@@ -0,0 +1,11 @@
+--- glib-2.10.3/glib-gettextize.in.old 2006-06-21 12:46:45.000000000 +0100
++++ glib-2.10.3/glib-gettextize.in 2006-06-21 12:48:14.000000000 +0100
+@@ -49,7 +49,7 @@
+ ;;
+ esac
+
+-gettext_dir=$prefix/share/glib-2.0/gettext
++gettext_dir=@datadir@/glib-2.0/gettext
+
+ while test $# -gt 0; do
+ case "$1" in
diff --git a/meta/packages/glib-2.0/glib-2.0-native_2.17.2.bb b/meta/packages/glib-2.0/glib-2.0-native_2.17.2.bb
new file mode 100644
index 0000000000..e5a2b64c90
--- /dev/null
+++ b/meta/packages/glib-2.0/glib-2.0-native_2.17.2.bb
@@ -0,0 +1,50 @@
+DESCRIPTION = "GLib is a general-purpose utility library, \
+which provides many useful data types, macros, \
+type conversions, string utilities, file utilities, a main \
+loop abstraction, and so on. It works on many \
+UNIX-like platforms, Windows, OS/2 and BeOS."
+LICENSE = "LGPL"
+SECTION = "libs"
+PRIORITY = "optional"
+DEPENDS += "gtk-doc-native"
+PR = "r0"
+
+SRC_URI = "http://download.gnome.org/sources/glib/2.17/glib-${PV}.tar.bz2 \
+ file://glib-gettextize-dir.patch;patch=1 \
+ file://configure-libtool.patch;patch=1 \
+ file://glibconfig-sysdefs.h"
+
+S = "${WORKDIR}/glib-${PV}"
+
+inherit autotools pkgconfig native gettext
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/glib-2.0-${PV}"
+
+acpaths = ""
+do_configure_prepend () {
+ install -m 0644 ${WORKDIR}/glibconfig-sysdefs.h .
+}
+
+do_stage () {
+ install -m 0755 gobject/glib-mkenums ${STAGING_BINDIR}/
+ install -m 0755 gobject/.libs/glib-genmarshal ${STAGING_BINDIR}/
+ install -m 0755 glib-gettextize ${STAGING_BINDIR}/
+ oe_libinstall -so -C glib libglib-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gmodule libgmodule-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gthread libgthread-2.0 ${STAGING_LIBDIR}
+ oe_libinstall -so -C gobject libgobject-2.0 ${STAGING_LIBDIR}
+ autotools_stage_includes
+ install -d ${STAGING_INCDIR}/glib-2.0/glib
+ install -m 0755 ${S}/glibconfig.h ${STAGING_INCDIR}/glib-2.0/glibconfig.h
+ install -d ${STAGING_DATADIR}/aclocal
+ install -m 0644 ${S}/m4macros/glib-2.0.m4 ${STAGING_DATADIR}/aclocal/glib-2.0.m4
+ install -m 0644 ${S}/m4macros/glib-gettext.m4 ${STAGING_DATADIR}/aclocal/glib-gettext.m4
+ install -d ${STAGING_DATADIR}/glib-2.0/gettext/po
+ install -m 0755 mkinstalldirs ${STAGING_DATADIR}/glib-2.0/gettext/
+ install -m 0644 po/Makefile.in.in ${STAGING_DATADIR}/glib-2.0/gettext/po/
+}
+
+do_install () {
+ :
+}
+
diff --git a/meta/packages/glib-2.0/glib-2.0_2.17.2.bb b/meta/packages/glib-2.0/glib-2.0_2.17.2.bb
new file mode 100644
index 0000000000..677c321e37
--- /dev/null
+++ b/meta/packages/glib-2.0/glib-2.0_2.17.2.bb
@@ -0,0 +1,7 @@
+require glib.inc
+
+PR = "r0"
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/glib/2.17/glib-${PV}.tar.bz2 \
+ file://glibconfig-sysdefs.h \
+ file://configure-libtool.patch;patch=1"
diff --git a/meta/packages/gtk+/gtk+-2.13.2/cellrenderer-cairo.patch b/meta/packages/gtk+/gtk+-2.13.2/cellrenderer-cairo.patch
new file mode 100644
index 0000000000..4439e69fb6
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.13.2/cellrenderer-cairo.patch
@@ -0,0 +1,32 @@
+Index: gtk/gtkcellrenderer.c
+===================================================================
+RCS file: /cvs/gnome/gtk+/gtk/gtkcellrenderer.c,v
+retrieving revision 1.55
+diff -u -r1.55 gtkcellrenderer.c
+--- gtk/gtkcellrenderer.c 14 May 2006 04:25:28 -0000 1.55
++++ gtk/gtkcellrenderer.c 30 Jun 2006 10:57:43 -0000
+@@ -551,6 +551,7 @@
+
+ if (cell->cell_background_set && !selected)
+ {
++#ifdef USE_CAIRO_INTERNALLY
+ cairo_t *cr = gdk_cairo_create (window);
+
+ gdk_cairo_rectangle (cr, background_area);
+@@ -558,6 +559,16 @@
+ cairo_fill (cr);
+
+ cairo_destroy (cr);
++#else
++ GdkGC *gc;
++
++ gc = gdk_gc_new (window);
++ gdk_gc_set_rgb_fg_color (gc, &priv->cell_background);
++ gdk_draw_rectangle (window, gc, TRUE,
++ background_area->x, background_area->y,
++ background_area->width, background_area->height);
++ g_object_unref (gc);
++#endif
+ }
+
+ GTK_CELL_RENDERER_GET_CLASS (cell)->render (cell,
diff --git a/meta/packages/gtk+/gtk+-2.13.2/combo-arrow-size.patch b/meta/packages/gtk+/gtk+-2.13.2/combo-arrow-size.patch
new file mode 100644
index 0000000000..d44c454ce3
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.13.2/combo-arrow-size.patch
@@ -0,0 +1,67 @@
+Index: gtk/gtkcombobox.c
+===================================================================
+RCS file: /cvs/gnome/gtk+/gtk/gtkcombobox.c,v
+retrieving revision 1.185
+diff -u -p -r1.185 gtkcombobox.c
+--- gtk/gtkcombobox.c 12 Oct 2006 13:48:07 -0000 1.185
++++ gtk/gtkcombobox.c 1 Nov 2006 19:01:09 -0000
+@@ -756,6 +756,25 @@ gtk_combo_box_class_init (GtkComboBoxCla
+ FALSE,
+ GTK_PARAM_READABLE));
+
++ /**
++ * GtkComboBox:arrow-size:
++ *
++ * Sets the minimum size of the arrow in the combo box. Note
++ * that the arrow size is coupled to the font size, so in case
++ * a larger font is used, the arrow will be larger than set
++ * by arrow size.
++ *
++ * Since: 2.12
++ */
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("arrow-size",
++ P_("Arrow Size"),
++ P_("The minimum size of the arrow in the combo box"),
++ 0,
++ G_MAXINT,
++ 15,
++ GTK_PARAM_READABLE));
++
+ g_type_class_add_private (object_class, sizeof (GtkComboBoxPrivate));
+ }
+
+@@ -1897,7 +1916,12 @@ gtk_combo_box_size_request (GtkWidget
+ {
+ gint width, height;
+ gint focus_width, focus_pad;
++ gint font_size;
++ gint arrow_size;
+ GtkRequisition bin_req;
++ PangoContext *context;
++ PangoFontMetrics *metrics;
++ PangoFontDescription *font_desc;
+
+ GtkComboBox *combo_box = GTK_COMBO_BOX (widget);
+
+@@ -1910,7 +1934,20 @@ gtk_combo_box_size_request (GtkWidget
+ gtk_widget_style_get (GTK_WIDGET (widget),
+ "focus-line-width", &focus_width,
+ "focus-padding", &focus_pad,
++ "arrow-size", &arrow_size,
+ NULL);
++
++ font_desc = GTK_BIN (widget)->child->style->font_desc;
++ context = gtk_widget_get_pango_context (widget);
++ metrics = pango_context_get_metrics (context, font_desc,
++ pango_context_get_language (context));
++ font_size = PANGO_PIXELS (pango_font_metrics_get_ascent (metrics) +
++ pango_font_metrics_get_descent (metrics));
++ pango_font_metrics_unref (metrics);
++
++ arrow_size = MAX (arrow_size, font_size);
++
++ gtk_widget_set_size_request (combo_box->priv->arrow, arrow_size, arrow_size);
+
+ if (!combo_box->priv->tree_view)
+ {
diff --git a/meta/packages/gtk+/gtk+-2.13.2/entry-cairo.patch b/meta/packages/gtk+/gtk+-2.13.2/entry-cairo.patch
new file mode 100644
index 0000000000..3313e7f132
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.13.2/entry-cairo.patch
@@ -0,0 +1,103 @@
+Index: gtk/gtkentry.c
+===================================================================
+RCS file: /cvs/gnome/gtk+/gtk/gtkentry.c,v
+retrieving revision 1.317
+diff -u -r1.317 gtkentry.c
+--- gtk/gtkentry.c 29 Jun 2006 09:18:05 -0000 1.317
++++ gtk/gtkentry.c 2 Jul 2006 14:14:24 -0000
+@@ -3337,7 +3337,9 @@
+ if (GTK_WIDGET_DRAWABLE (entry))
+ {
+ PangoLayout *layout = gtk_entry_ensure_layout (entry, TRUE);
++#ifdef USE_CAIRO_INTERNALLY
+ cairo_t *cr;
++#endif
+ gint x, y;
+ gint start_pos, end_pos;
+
+@@ -3345,23 +3347,35 @@
+
+ get_layout_position (entry, &x, &y);
+
++#ifdef USE_CAIRO_INTERNALLY
+ cr = gdk_cairo_create (entry->text_area);
+
+ cairo_move_to (cr, x, y);
+ gdk_cairo_set_source_color (cr, &widget->style->text [widget->state]);
+ pango_cairo_show_layout (cr, layout);
++#else
++ gdk_draw_layout (entry->text_area, widget->style->text_gc [widget->state],
++ x, y,
++ layout);
++#endif
+
+ if (gtk_editable_get_selection_bounds (GTK_EDITABLE (entry), &start_pos, &end_pos))
+ {
+ gint *ranges;
+ gint n_ranges, i;
+ PangoRectangle logical_rect;
+- GdkColor *selection_color, *text_color;
+ GtkBorder inner_border;
++#ifdef USE_CAIRO_INTERNALLY
++ GdkColor *selection_color, *text_color;
++#else
++ GdkGC *selection_gc, *text_gc;
++ GdkRegion *clip_region;
++#endif
+
+ pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
+ gtk_entry_get_pixel_ranges (entry, &ranges, &n_ranges);
+
++#ifdef USE_CAIRO_INTERNALLY
+ if (GTK_WIDGET_HAS_FOCUS (entry))
+ {
+ selection_color = &widget->style->base [GTK_STATE_SELECTED];
+@@ -3390,11 +3404,46 @@
+ cairo_move_to (cr, x, y);
+ gdk_cairo_set_source_color (cr, text_color);
+ pango_cairo_show_layout (cr, layout);
+-
++#else
++ if (GTK_WIDGET_HAS_FOCUS (entry))
++ {
++ selection_gc = widget->style->base_gc [GTK_STATE_SELECTED];
++ text_gc = widget->style->text_gc [GTK_STATE_SELECTED];
++ }
++ else
++ {
++ selection_gc = widget->style->base_gc [GTK_STATE_ACTIVE];
++ text_gc = widget->style->text_gc [GTK_STATE_ACTIVE];
++ }
++
++ clip_region = gdk_region_new ();
++ for (i = 0; i < n_ranges; ++i)
++ {
++ GdkRectangle rect;
++
++ rect.x = inner_border.left - entry->scroll_offset + ranges[2 * i];
++ rect.y = y;
++ rect.width = ranges[2 * i + 1];
++ rect.height = logical_rect.height;
++
++ gdk_draw_rectangle (entry->text_area, selection_gc, TRUE,
++ rect.x, rect.y, rect.width, rect.height);
++
++ gdk_region_union_with_rect (clip_region, &rect);
++ }
++
++ gdk_gc_set_clip_region (text_gc, clip_region);
++ gdk_draw_layout (entry->text_area, text_gc,
++ x, y,
++ layout);
++ gdk_gc_set_clip_region (text_gc, NULL);
++ gdk_region_destroy (clip_region);
++#endif
+ g_free (ranges);
+ }
+-
++#ifdef USE_CAIRO_INTERNALLY
+ cairo_destroy (cr);
++#endif
+ }
+ }
+
diff --git a/meta/packages/gtk+/gtk+-2.13.2/filechooser-default.patch b/meta/packages/gtk+/gtk+-2.13.2/filechooser-default.patch
new file mode 100644
index 0000000000..146316c9c1
--- /dev/null
+++ b/meta/packages/gtk+/gtk+-2.13.2/filechooser-default.patch
@@ -0,0 +1,9521 @@
+Index: gtk+-2.12.5/gtk/gtkfilechooserdefault.c
+================ ===================================================
+--- gtk+-2.12.5/gtk/gtkfilechooserdefault.c (revision 19337)
++++ gtk+-2.12.5/gtk/gtkfilechooserdefault.c (working copy)
+@@ -27,12 +27,12 @@
+ #include "gtkcelllayout.h"
+ #include "gtkcellrendererpixbuf.h"
+ #include "gtkcellrenderertext.h"
++#include "gtkcellrenderertext.h"
+ #include "gtkcheckmenuitem.h"
+ #include "gtkclipboard.h"
+ #include "gtkcombobox.h"
+ #include "gtkentry.h"
+ #include "gtkeventbox.h"
+-#include "gtkexpander.h"
+ #include "gtkfilechooserprivate.h"
+ #include "gtkfilechooserdefault.h"
+ #include "gtkfilechooserembed.h"
+@@ -53,17 +53,13 @@
+ #include "gtkmarshalers.h"
+ #include "gtkmenuitem.h"
+ #include "gtkmessagedialog.h"
+-#include "gtkpathbar.h"
+ #include "gtkprivate.h"
+ #include "gtkradiobutton.h"
+-#include "gtkrecentfilter.h"
+-#include "gtkrecentmanager.h"
+ #include "gtkscrolledwindow.h"
+ #include "gtkseparatormenuitem.h"
+ #include "gtksizegroup.h"
+ #include "gtkstock.h"
+ #include "gtktable.h"
+-#include "gtktooltip.h"
+ #include "gtktreednd.h"
+ #include "gtktreeprivate.h"
+ #include "gtktreeselection.h"
+@@ -81,8 +77,6 @@
+ #include <errno.h>
+ #include <string.h>
+ #include <time.h>
+-#include <sys/stat.h>
+-#include <sys/types.h>
+
+
+ #ifdef HAVE_UNISTD_H
+@@ -92,6 +86,8 @@
+ #include <io.h>
+ #endif
+
++#define DEFAULT_SPACING 5
++
+ /* Profiling stuff */
+ #undef PROFILE_FILE_CHOOSER
+ #ifdef PROFILE_FILE_CHOOSER
+@@ -150,6 +145,7 @@
+ #define GTK_FILE_CHOOSER_DEFAULT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_FILE_CHOOSER_DEFAULT, GtkFileChooserDefaultClass))
+
+ #define MAX_LOADING_TIME 500
++#define LONG_CLICK_LENGTH 500
+
+ struct _GtkFileChooserDefaultClass
+ {
+@@ -163,38 +159,12 @@
+ UP_FOLDER,
+ DOWN_FOLDER,
+ HOME_FOLDER,
+- DESKTOP_FOLDER,
+- QUICK_BOOKMARK,
+- LOCATION_TOGGLE_POPUP,
+ SHOW_HIDDEN,
+- SEARCH_SHORTCUT,
+- RECENT_SHORTCUT,
+-
+ LAST_SIGNAL
+ };
+
+ static guint signals[LAST_SIGNAL] = { 0 };
+
+-/* Column numbers for the shortcuts tree. Keep these in sync with shortcuts_model_create() */
+-enum {
+- SHORTCUTS_COL_PIXBUF,
+- SHORTCUTS_COL_NAME,
+- SHORTCUTS_COL_DATA,
+- SHORTCUTS_COL_TYPE,
+- SHORTCUTS_COL_REMOVABLE,
+- SHORTCUTS_COL_PIXBUF_VISIBLE,
+- SHORTCUTS_COL_HANDLE,
+- SHORTCUTS_COL_NUM_COLUMNS
+-};
+-
+-typedef enum {
+- SHORTCUT_TYPE_PATH,
+- SHORTCUT_TYPE_VOLUME,
+- SHORTCUT_TYPE_SEPARATOR,
+- SHORTCUT_TYPE_SEARCH,
+- SHORTCUT_TYPE_RECENT
+-} ShortcutType;
+-
+ /* Column numbers for the file list */
+ enum {
+ FILE_LIST_COL_NAME,
+@@ -203,100 +173,10 @@
+ FILE_LIST_COL_NUM_COLUMNS
+ };
+
+-/* Column numbers for the search model.
+- * Keep this in sync with search_setup_model()
+- */
+-enum {
+- SEARCH_MODEL_COL_PATH,
+- SEARCH_MODEL_COL_DISPLAY_NAME,
+- SEARCH_MODEL_COL_COLLATION_KEY,
+- SEARCH_MODEL_COL_STAT,
+- SEARCH_MODEL_COL_HANDLE,
+- SEARCH_MODEL_COL_PIXBUF,
+- SEARCH_MODEL_COL_MIME_TYPE,
+- SEARCH_MODEL_COL_IS_FOLDER,
+- SEARCH_MODEL_COL_NUM_COLUMNS
+-};
+-
+-enum {
+- RECENT_MODEL_COL_PATH,
+- RECENT_MODEL_COL_DISPLAY_NAME,
+- RECENT_MODEL_COL_INFO,
+- RECENT_MODEL_COL_IS_FOLDER,
+- RECENT_MODEL_COL_HANDLE,
+- RECENT_MODEL_COL_NUM_COLUMNS
+-};
+-
+-/* Identifiers for target types */
+-enum {
+- GTK_TREE_MODEL_ROW,
+- TEXT_URI_LIST
+-};
+-
+-/* Target types for dragging from the shortcuts list */
+-static const GtkTargetEntry shortcuts_source_targets[] = {
+- { "GTK_TREE_MODEL_ROW", GTK_TARGET_SAME_WIDGET, GTK_TREE_MODEL_ROW }
+-};
+-
+-static const int num_shortcuts_source_targets = G_N_ELEMENTS (shortcuts_source_targets);
+-
+-/* Target types for dropping into the shortcuts list */
+-static const GtkTargetEntry shortcuts_dest_targets[] = {
+- { "GTK_TREE_MODEL_ROW", GTK_TARGET_SAME_WIDGET, GTK_TREE_MODEL_ROW },
+- { "text/uri-list", 0, TEXT_URI_LIST }
+-};
+-
+-static const int num_shortcuts_dest_targets = G_N_ELEMENTS (shortcuts_dest_targets);
+-
+-/* Target types for DnD from the file list */
+-static const GtkTargetEntry file_list_source_targets[] = {
+- { "text/uri-list", 0, TEXT_URI_LIST }
+-};
+-
+-static const int num_file_list_source_targets = G_N_ELEMENTS (file_list_source_targets);
+-
+-/* Target types for dropping into the file list */
+-static const GtkTargetEntry file_list_dest_targets[] = {
+- { "text/uri-list", 0, TEXT_URI_LIST }
+-};
+-
+-static const int num_file_list_dest_targets = G_N_ELEMENTS (file_list_dest_targets);
+-
+-/* Target types for dragging from the recent files list */
+-static const GtkTargetEntry recent_list_source_targets[] = {
+- { "text/uri-list", 0, TEXT_URI_LIST }
+-};
+-
+-static const int num_recent_list_source_targets = G_N_ELEMENTS (recent_list_source_targets);
+-
+-static gboolean
+-search_is_possible (GtkFileChooserDefault *impl)
+-{
+- if (impl->search_engine == NULL)
+- impl->search_engine = _gtk_search_engine_new ();
+-
+- return impl->search_engine != NULL;
+-}
+-
+-/* Interesting places in the shortcuts bar */
+-typedef enum {
+- SHORTCUTS_SEARCH,
+- SHORTCUTS_RECENT,
+- SHORTCUTS_RECENT_SEPARATOR,
+- SHORTCUTS_HOME,
+- SHORTCUTS_DESKTOP,
+- SHORTCUTS_VOLUMES,
+- SHORTCUTS_SHORTCUTS,
+- SHORTCUTS_BOOKMARKS_SEPARATOR,
+- SHORTCUTS_BOOKMARKS,
+- SHORTCUTS_CURRENT_FOLDER_SEPARATOR,
+- SHORTCUTS_CURRENT_FOLDER
+-} ShortcutsIndex;
+-
+ /* Icon size for if we can't get it from the theme */
+-#define FALLBACK_ICON_SIZE 16
++#define FALLBACK_ICON_SIZE 24
+
+-#define PREVIEW_HBOX_SPACING 12
++#define LIST_HBOX_SPACING DEFAULT_SPACING
+ #define NUM_LINES 45
+ #define NUM_CHARS 60
+
+@@ -369,52 +248,17 @@
+ static gboolean gtk_file_chooser_default_should_respond (GtkFileChooserEmbed *chooser_embed);
+ static void gtk_file_chooser_default_initial_focus (GtkFileChooserEmbed *chooser_embed);
+
+-static void location_popup_handler (GtkFileChooserDefault *impl,
+- const gchar *path);
+-static void location_popup_on_paste_handler (GtkFileChooserDefault *impl);
+-static void location_toggle_popup_handler (GtkFileChooserDefault *impl);
+-static void up_folder_handler (GtkFileChooserDefault *impl);
+-static void down_folder_handler (GtkFileChooserDefault *impl);
+-static void home_folder_handler (GtkFileChooserDefault *impl);
+-static void desktop_folder_handler (GtkFileChooserDefault *impl);
+-static void quick_bookmark_handler (GtkFileChooserDefault *impl,
+- gint bookmark_index);
+-static void show_hidden_handler (GtkFileChooserDefault *impl);
+-static void search_shortcut_handler (GtkFileChooserDefault *impl);
+-static void recent_shortcut_handler (GtkFileChooserDefault *impl);
+-static void update_appearance (GtkFileChooserDefault *impl);
++static void up_folder_handler (GtkFileChooserDefault *impl);
++static void down_folder_handler (GtkFileChooserDefault *impl);
++static void home_folder_handler (GtkFileChooserDefault *impl);
++static void show_hidden_handler (GtkFileChooserDefault *impl);
++static void update_appearance (GtkFileChooserDefault *impl);
+
+-static void set_current_filter (GtkFileChooserDefault *impl,
+- GtkFileFilter *filter);
+-static void check_preview_change (GtkFileChooserDefault *impl);
+-
+ static void filter_combo_changed (GtkComboBox *combo_box,
+ GtkFileChooserDefault *impl);
+-static void shortcuts_row_activated_cb (GtkTreeView *tree_view,
+- GtkTreePath *path,
+- GtkTreeViewColumn *column,
+- GtkFileChooserDefault *impl);
+
+-static gboolean shortcuts_key_press_event_cb (GtkWidget *widget,
+- GdkEventKey *event,
+- GtkFileChooserDefault *impl);
+-
+-static gboolean shortcuts_select_func (GtkTreeSelection *selection,
+- GtkTreeModel *model,
+- GtkTreePath *path,
+- gboolean path_currently_selected,
+- gpointer data);
+-static gboolean shortcuts_get_selected (GtkFileChooserDefault *impl,
+- GtkTreeIter *iter);
+-static void shortcuts_activate_iter (GtkFileChooserDefault *impl,
+- GtkTreeIter *iter);
+-static int shortcuts_get_index (GtkFileChooserDefault *impl,
+- ShortcutsIndex where);
+-static int shortcut_find_position (GtkFileChooserDefault *impl,
+- const GtkFilePath *path);
+-
+-static void bookmarks_check_add_sensitivity (GtkFileChooserDefault *impl);
+-
++static void set_current_filter (GtkFileChooserDefault *impl,
++ GtkFileFilter *filter);
+ static gboolean list_select_func (GtkTreeSelection *selection,
+ GtkTreeModel *model,
+ GtkTreePath *path,
+@@ -433,19 +277,6 @@
+ GtkTreeIter *iter,
+ gpointer user_data);
+
+-static void path_bar_clicked (GtkPathBar *path_bar,
+- GtkFilePath *file_path,
+- GtkFilePath *child_path,
+- gboolean child_is_hidden,
+- GtkFileChooserDefault *impl);
+-
+-static void add_bookmark_button_clicked_cb (GtkButton *button,
+- GtkFileChooserDefault *impl);
+-static void remove_bookmark_button_clicked_cb (GtkButton *button,
+- GtkFileChooserDefault *impl);
+-static void save_folder_combo_changed_cb (GtkComboBox *combo,
+- GtkFileChooserDefault *impl);
+-
+ static void list_icon_data_func (GtkTreeViewColumn *tree_column,
+ GtkCellRenderer *cell,
+ GtkTreeModel *tree_model,
+@@ -477,115 +308,8 @@
+
+ static void location_button_toggled_cb (GtkToggleButton *toggle,
+ GtkFileChooserDefault *impl);
+-static void location_switch_to_path_bar (GtkFileChooserDefault *impl);
++static void settings_load (GtkFileChooserDefault *impl);
+
+-static void search_stop_searching (GtkFileChooserDefault *impl,
+- gboolean remove_query);
+-static void search_clear_model (GtkFileChooserDefault *impl,
+- gboolean remove_from_treeview);
+-static gboolean search_should_respond (GtkFileChooserDefault *impl);
+-static void search_switch_to_browse_mode (GtkFileChooserDefault *impl);
+-static GSList *search_get_selected_paths (GtkFileChooserDefault *impl);
+-static void search_entry_activate_cb (GtkEntry *entry,
+- gpointer data);
+-static void settings_load (GtkFileChooserDefault *impl);
+-static void search_get_valid_child_iter (GtkFileChooserDefault *impl,
+- GtkTreeIter *child_iter,
+- GtkTreeIter *iter);
+-
+-static void recent_manager_update (GtkFileChooserDefault *impl);
+-static void recent_stop_loading (GtkFileChooserDefault *impl);
+-static void recent_clear_model (GtkFileChooserDefault *impl,
+- gboolean remove_from_treeview);
+-static gboolean recent_should_respond (GtkFileChooserDefault *impl);
+-static void recent_switch_to_browse_mode (GtkFileChooserDefault *impl);
+-static GSList * recent_get_selected_paths (GtkFileChooserDefault *impl);
+-static void recent_get_valid_child_iter (GtkFileChooserDefault *impl,
+- GtkTreeIter *child_iter,
+- GtkTreeIter *iter);
+-
+-
+-
+-
+-/* Drag and drop interface declarations */
+-
+-typedef struct {
+- GtkTreeModelFilter parent;
+-
+- GtkFileChooserDefault *impl;
+-} ShortcutsPaneModelFilter;
+-
+-typedef struct {
+- GtkTreeModelFilterClass parent_class;
+-} ShortcutsPaneModelFilterClass;
+-
+-#define SHORTCUTS_PANE_MODEL_FILTER_TYPE (_shortcuts_pane_model_filter_get_type ())
+-#define SHORTCUTS_PANE_MODEL_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SHORTCUTS_PANE_MODEL_FILTER_TYPE, ShortcutsPaneModelFilter))
+-
+-static void shortcuts_pane_model_filter_drag_source_iface_init (GtkTreeDragSourceIface *iface);
+-
+-G_DEFINE_TYPE_WITH_CODE (ShortcutsPaneModelFilter,
+- _shortcuts_pane_model_filter,
+- GTK_TYPE_TREE_MODEL_FILTER,
+- G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_DRAG_SOURCE,
+- shortcuts_pane_model_filter_drag_source_iface_init))
+-
+-static GtkTreeModel *shortcuts_pane_model_filter_new (GtkFileChooserDefault *impl,
+- GtkTreeModel *child_model,
+- GtkTreePath *root);
+-
+-
+-typedef struct {
+- GtkTreeModelSort parent;
+-
+- GtkFileChooserDefault *impl;
+-} RecentModelSort;
+-
+-typedef struct {
+- GtkTreeModelSortClass parent_class;
+-} RecentModelSortClass;
+-
+-#define RECENT_MODEL_SORT_TYPE (_recent_model_sort_get_type ())
+-#define RECENT_MODEL_SORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RECENT_MODEL_SORT_TYPE, RecentModelSort))
+-
+-static void recent_model_sort_drag_source_iface_init (GtkTreeDragSourceIface *iface);
+-
+-G_DEFINE_TYPE_WITH_CODE (RecentModelSort,
+- _recent_model_sort,
+- GTK_TYPE_TREE_MODEL_SORT,
+- G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_DRAG_SOURCE,
+- recent_model_sort_drag_source_iface_init));
+-
+-static GtkTreeModel *recent_model_sort_new (GtkFileChooserDefault *impl,
+- GtkTreeModel *child_model);
+-
+-
+-typedef struct {
+- GtkTreeModelSort parent;
+-
+- GtkFileChooserDefault *impl;
+-} SearchModelSort;
+-
+-typedef struct {
+- GtkTreeModelSortClass parent_class;
+-} SearchModelSortClass;
+-
+-#define SEARCH_MODEL_SORT_TYPE (_search_model_sort_get_type ())
+-#define SEARCH_MODEL_SORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCH_MODEL_SORT_TYPE, SearchModelSort))
+-
+-static void search_model_sort_drag_source_iface_init (GtkTreeDragSourceIface *iface);
+-
+-G_DEFINE_TYPE_WITH_CODE (SearchModelSort,
+- _search_model_sort,
+- GTK_TYPE_TREE_MODEL_SORT,
+- G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_DRAG_SOURCE,
+- search_model_sort_drag_source_iface_init));
+-
+-static GtkTreeModel *search_model_sort_new (GtkFileChooserDefault *impl,
+- GtkTreeModel *child_model);
+-
+-
+-
+ G_DEFINE_TYPE_WITH_CODE (GtkFileChooserDefault, _gtk_file_chooser_default, GTK_TYPE_VBOX,
+ G_IMPLEMENT_INTERFACE (GTK_TYPE_FILE_CHOOSER,
+ gtk_file_chooser_default_iface_init)
+@@ -595,13 +319,9 @@
+ static void
+ _gtk_file_chooser_default_class_init (GtkFileChooserDefaultClass *class)
+ {
+- static const guint quick_bookmark_keyvals[10] = {
+- GDK_1, GDK_2, GDK_3, GDK_4, GDK_5, GDK_6, GDK_7, GDK_8, GDK_9, GDK_0
+- };
+ GObjectClass *gobject_class = G_OBJECT_CLASS (class);
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class);
+ GtkBindingSet *binding_set;
+- int i;
+
+ gobject_class->finalize = gtk_file_chooser_default_finalize;
+ gobject_class->constructor = gtk_file_chooser_default_constructor;
+@@ -621,7 +341,7 @@
+ _gtk_binding_signal_new (I_("location-popup"),
+ G_OBJECT_CLASS_TYPE (class),
+ G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,
+- G_CALLBACK (location_popup_handler),
++ NULL,
+ NULL, NULL,
+ _gtk_marshal_VOID__STRING,
+ G_TYPE_NONE, 1, G_TYPE_STRING);
+@@ -629,18 +349,10 @@
+ _gtk_binding_signal_new ("location-popup-on-paste",
+ G_OBJECT_CLASS_TYPE (class),
+ G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,