From 7da366d5b871f41ba9622ffce5aa0ee4d577d876 Mon Sep 17 00:00:00 2001 From: Marinus Schraal Date: Sun, 21 Nov 2004 18:56:48 +0000 Subject: big cleanup & virtualize fam --- gnome-base/nautilus/ChangeLog | 5 +- gnome-base/nautilus/files/digest-nautilus-2.4.2 | 1 - gnome-base/nautilus/files/digest-nautilus-2.6.0 | 1 - gnome-base/nautilus/files/digest-nautilus-2.6.1 | 1 - gnome-base/nautilus/files/digest-nautilus-2.6.3-r1 | 1 - .../nautilus/files/nautilus-2-disable-cdda.patch | 11 - .../nautilus-2-icon_view_gst_audio_preview.patch | 251 ----- .../files/nautilus-2-snap_to_grid-r1.patch | 1188 -------------------- .../files/nautilus-2-thumbnail_max_size.patch | 45 - .../files/nautilus-2.2-double_menu_entry_fix.patch | 43 - .../nautilus/files/nautilus-2.2.0.2-locale.patch | 10 - .../nautilus-2.4-remove_deprecation_flags.patch | 30 - .../files/nautilus-2.4-startup-bonobo.patch | 30 - .../files/nautilus-2.6.3-libexif-0.6.patch | 18 - .../nautilus/files/nautilus-2.6.3-novolumes.patch | 122 -- gnome-base/nautilus/nautilus-1.0.6-r9.ebuild | 4 +- gnome-base/nautilus/nautilus-2.4.2.ebuild | 72 -- gnome-base/nautilus/nautilus-2.6.0.ebuild | 84 -- gnome-base/nautilus/nautilus-2.6.1.ebuild | 84 -- gnome-base/nautilus/nautilus-2.6.3-r1.ebuild | 99 -- gnome-base/nautilus/nautilus-2.6.3.ebuild | 4 +- gnome-base/nautilus/nautilus-2.8.0.ebuild | 5 +- 22 files changed, 10 insertions(+), 2099 deletions(-) delete mode 100644 gnome-base/nautilus/files/digest-nautilus-2.4.2 delete mode 100644 gnome-base/nautilus/files/digest-nautilus-2.6.0 delete mode 100644 gnome-base/nautilus/files/digest-nautilus-2.6.1 delete mode 100644 gnome-base/nautilus/files/digest-nautilus-2.6.3-r1 delete mode 100644 gnome-base/nautilus/files/nautilus-2-disable-cdda.patch delete mode 100644 gnome-base/nautilus/files/nautilus-2-icon_view_gst_audio_preview.patch delete mode 100644 gnome-base/nautilus/files/nautilus-2-snap_to_grid-r1.patch delete mode 100644 gnome-base/nautilus/files/nautilus-2-thumbnail_max_size.patch delete mode 100644 gnome-base/nautilus/files/nautilus-2.2-double_menu_entry_fix.patch delete mode 100644 gnome-base/nautilus/files/nautilus-2.2.0.2-locale.patch delete mode 100644 gnome-base/nautilus/files/nautilus-2.4-remove_deprecation_flags.patch delete mode 100644 gnome-base/nautilus/files/nautilus-2.4-startup-bonobo.patch delete mode 100644 gnome-base/nautilus/files/nautilus-2.6.3-libexif-0.6.patch delete mode 100644 gnome-base/nautilus/files/nautilus-2.6.3-novolumes.patch delete mode 100644 gnome-base/nautilus/nautilus-2.4.2.ebuild delete mode 100644 gnome-base/nautilus/nautilus-2.6.0.ebuild delete mode 100644 gnome-base/nautilus/nautilus-2.6.1.ebuild delete mode 100644 gnome-base/nautilus/nautilus-2.6.3-r1.ebuild (limited to 'gnome-base') diff --git a/gnome-base/nautilus/ChangeLog b/gnome-base/nautilus/ChangeLog index 77aa70cdcb4b..f71c000dec2a 100644 --- a/gnome-base/nautilus/ChangeLog +++ b/gnome-base/nautilus/ChangeLog @@ -1,6 +1,9 @@ # ChangeLog for gnome-base/nautilus # Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/nautilus/ChangeLog,v 1.110 2004/11/12 04:10:50 gustavoz Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-base/nautilus/ChangeLog,v 1.111 2004/11/21 18:56:48 foser Exp $ + + 21 Nov 2004; foser nautilus-*.ebuild : + Fix fam -> virtual/fam (#67170) 12 Nov 2004; Gustavo Zacarias nautilus-2.8.0.ebuild: Stable on sparc diff --git a/gnome-base/nautilus/files/digest-nautilus-2.4.2 b/gnome-base/nautilus/files/digest-nautilus-2.4.2 deleted file mode 100644 index 76b8e5d5bf0c..000000000000 --- a/gnome-base/nautilus/files/digest-nautilus-2.4.2 +++ /dev/null @@ -1 +0,0 @@ -MD5 2023d525f1d81b6752ce7b118728b19c nautilus-2.4.2.tar.bz2 5687876 diff --git a/gnome-base/nautilus/files/digest-nautilus-2.6.0 b/gnome-base/nautilus/files/digest-nautilus-2.6.0 deleted file mode 100644 index 1b519bb855f3..000000000000 --- a/gnome-base/nautilus/files/digest-nautilus-2.6.0 +++ /dev/null @@ -1 +0,0 @@ -MD5 a8baee6e907d36fd19f4082d6cfd3a9e nautilus-2.6.0.tar.bz2 5502083 diff --git a/gnome-base/nautilus/files/digest-nautilus-2.6.1 b/gnome-base/nautilus/files/digest-nautilus-2.6.1 deleted file mode 100644 index 4181b112da0d..000000000000 --- a/gnome-base/nautilus/files/digest-nautilus-2.6.1 +++ /dev/null @@ -1 +0,0 @@ -MD5 50c5732c0c9736b7026bce1c6b0007dc nautilus-2.6.1.tar.bz2 5610905 diff --git a/gnome-base/nautilus/files/digest-nautilus-2.6.3-r1 b/gnome-base/nautilus/files/digest-nautilus-2.6.3-r1 deleted file mode 100644 index fa2cbf3c2fb0..000000000000 --- a/gnome-base/nautilus/files/digest-nautilus-2.6.3-r1 +++ /dev/null @@ -1 +0,0 @@ -MD5 ef91c7eefd219800a3aab93e6510a5c9 nautilus-2.6.3.tar.bz2 5665374 diff --git a/gnome-base/nautilus/files/nautilus-2-disable-cdda.patch b/gnome-base/nautilus/files/nautilus-2-disable-cdda.patch deleted file mode 100644 index b98ac29b4845..000000000000 --- a/gnome-base/nautilus/files/nautilus-2-disable-cdda.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- configure.in.old 2003-11-16 16:38:53.000000000 +0100 -+++ configure.in 2003-11-16 16:39:10.000000000 +0100 -@@ -198,6 +198,8 @@ - AM_CONDITIONAL(HAVE_CDDA, true) - ]) - -+AM_CONDITIONAL(HAVE_CDDA, false) -+ - dnl ========================================================================== - - dnl jw (for doc build) diff --git a/gnome-base/nautilus/files/nautilus-2-icon_view_gst_audio_preview.patch b/gnome-base/nautilus/files/nautilus-2-icon_view_gst_audio_preview.patch deleted file mode 100644 index 01aeff93a0a6..000000000000 --- a/gnome-base/nautilus/files/nautilus-2-icon_view_gst_audio_preview.patch +++ /dev/null @@ -1,251 +0,0 @@ -? .tm_project.cache -? nautilus.prj -? nautilus.pws -Index: configure.in -=================================================================== -RCS file: /cvs/gnome/nautilus/configure.in,v -retrieving revision 1.540 -diff -u -r1.540 configure.in ---- configure.in 22 Sep 2003 17:44:34 -0000 1.540 -+++ configure.in 12 Oct 2003 13:50:52 -0000 -@@ -20,6 +20,7 @@ - RSVG_REQUIRED=2.0.1 - XML_REQUIRED=2.4.7 - STARTUP_NOTIFICATION_REQUIRED=0.5 -+GSTREAMER_REQUIRED=0.6.0 - - AC_SUBST(ART_REQUIRED) - AC_SUBST(BONOBO_ACTIVATION_REQUIRED) -@@ -39,6 +40,7 @@ - AC_SUBST(RSVG_REQUIRED) - AC_SUBST(XML_REQUIRED) - AC_SUBST(STARTUP_NOTIFICATION_REQUIRED) -+AC_SUBST(GSTREAMER_REQUIRED) - - dnl =========================================================================== - -@@ -245,6 +247,53 @@ - - dnl ========================================================================== - -+dnl gstreamer checking -+ -+AC_ARG_ENABLE(gstreamer, -+ AC_HELP_STRING([--enable-gstreamer],[use GStreamer for sound preview]), -+ [case "${enableval}" in -+ yes) ENABLE_GST=yes ;; -+ no) ENABLE_GST=no ;; -+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-gstreamer) ;; -+ esac], -+ [ENABLE_GST=no]) dnl Default value -+ -+AC_MSG_CHECKING(for backend libraries) -+ -+if test x$ENABLE_GST = xyes; then -+ -+dnl Now we're ready to ask for gstreamer libs and cflags -+dnl And we can also ask for the right version of gstreamer -+ HAVE_GSTREAMER=no -+ -+dnl start with 0.7 -+ GST_MAJORMINOR=0.7 -+ PKG_CHECK_MODULES(GST, \ -+ gstreamer-gconf-$GST_MAJORMINOR >= $GSTREAMER_REQUIRED, -+ HAVE_GSTREAMER=yes,HAVE_GSTREAMER=no) -+ -+dnl try 0.6 -+ if test "x$HAVE_GSTREAMER" = "xno"; then -+ GST_MAJORMINOR=0.6 -+ PKG_CHECK_MODULES(GST, \ -+ gstreamer-gconf-$GST_MAJORMINOR >= $GSTREAMER_REQUIRED, -+ HAVE_GSTREAMER=yes,HAVE_GSTREAMER=no) -+ fi -+ -+dnl Give error and exit if we don't have gstreamer -+ if test "x$HAVE_GSTREAMER" = "xno"; then -+ AC_MSG_ERROR(you need gstreamer development packages installed !) -+ fi -+ -+ MM="gstreamer-libs-$GST_MAJORMINOR >= $GSTREAMER_REQUIRED gstreamer-gconf-$GST_MAJORMINOR >= $GSTREAMER_REQUIRED" -+ -+ AC_MSG_RESULT(GStreamer) -+ AC_DEFINE(USE_GST_AUDIO_PREVIEW,1,[Define if you want to use the GStreamer media framework]) -+ -+fi -+ -+dnl ========================================================================== -+ - dnl Turn on the additional warnings last, so -Werror doesn't affect other tests. - - AC_ARG_ENABLE(more-warnings, -@@ -314,7 +363,7 @@ - AC_SUBST(LIBNAUTILUS_IDL_INCLUDES) - - dnl core nautilus (must list bonobo-activation and libbonobo because idldir does not respect "requires") --CORE_MODULES="eel-2.0 librsvg-2.0 bonobo-activation-2.0 libbonobo-2.0 libbonoboui-2.0 esound gnome-desktop-2.0 $EXTRA_CORE_MODULES" -+CORE_MODULES="eel-2.0 librsvg-2.0 bonobo-activation-2.0 libbonobo-2.0 libbonoboui-2.0 esound gnome-desktop-2.0 $MM $EXTRA_CORE_MODULES" - CORE_CFLAGS="`$PKG_CONFIG --cflags $CORE_MODULES` $x_cflags" - AC_SUBST(CORE_CFLAGS) - CORE_LIBS="`$PKG_CONFIG --libs $CORE_MODULES` $CDDA_LIBS $LIBJPEG $x_libs" -Index: src/file-manager/fm-icon-view.c -=================================================================== -RCS file: /cvs/gnome/nautilus/src/file-manager/fm-icon-view.c,v -retrieving revision 1.287 -diff -u -r1.287 fm-icon-view.c ---- src/file-manager/fm-icon-view.c 30 Sep 2003 20:38:00 -0000 1.287 -+++ src/file-manager/fm-icon-view.c 12 Oct 2003 13:50:56 -0000 -@@ -78,8 +78,13 @@ - #include - #include - -+#ifdef USE_GST_AUDIO_PREVIEW -+#include -+#include -+#else - #define USE_OLD_AUDIO_PREVIEW 1 - #define READ_CHUNK_SIZE 16384 -+#endif /* USE_GST_AUDIO_PREVIEW */ - - /* Paths to use when creating & referring to Bonobo menu items */ - #define MENU_PATH_STRETCH_ICON "/menu/Edit/Edit Items Placeholder/Stretch" -@@ -195,6 +200,10 @@ - static int preview_sound_auto_value; - static gboolean gnome_esd_enabled_auto_value; - -+#ifdef USE_GST_AUDIO_PREVIEW -+static GstElement *thread; -+#endif -+ - static void fm_icon_view_set_directory_sort_by (FMIconView *icon_view, - NautilusFile *file, - const char *sort_by); -@@ -1741,6 +1750,22 @@ - fm_directory_view_stop_batching_selection_changes (FM_DIRECTORY_VIEW (icon_view)); - } - -+#ifdef USE_GST_AUDIO_PREVIEW -+static void -+gst_end_of_stream_callback (GstElement *src, gpointer callback_data) -+{ -+ FMIconView *icon_view; -+ icon_view = FM_ICON_VIEW (callback_data); -+ -+ gst_element_set_state (GST_ELEMENT (thread), GST_STATE_NULL); -+ -+ if (icon_view->details->audio_preview_timeout != 0) { -+ g_source_remove (icon_view->details->audio_preview_timeout); -+ icon_view->details->audio_preview_timeout = 0; -+ } -+} -+#endif -+ - /* handle the preview signal by inspecting the mime type. For now, we only preview local sound files. */ - - /* here's the timer task that actually plays the file using mpg123, ogg123 or play. */ -@@ -1748,6 +1773,34 @@ - static gboolean - play_file (gpointer callback_data) - { -+#ifdef USE_GST_AUDIO_PREVIEW -+ gchar *file_uri; -+ GstElement *filesrc, *decoder, *audiosink; -+ FMIconView *icon_view; -+ -+ icon_view = FM_ICON_VIEW (callback_data); -+ file_uri = nautilus_file_get_uri (icon_view->details->audio_preview_file); -+ -+ if (file_uri != NULL && gst_init_check (NULL, NULL)) { -+ thread = gst_thread_new ("thread"); -+ filesrc = gst_element_factory_make ("gnomevfssrc", "disk_source"); -+ decoder = gst_element_factory_make ("spider", "spider"); -+ audiosink = gst_gconf_get_default_audio_sink (); -+ -+ g_object_set (G_OBJECT (filesrc), "location", file_uri, NULL); -+ g_signal_connect (G_OBJECT (filesrc), "eos", G_CALLBACK (gst_end_of_stream_callback), icon_view); -+ -+ gst_bin_add_many (GST_BIN (thread), filesrc, decoder, audiosink, NULL); -+ gst_element_link_many (filesrc, decoder, audiosink, NULL); -+ -+ gst_element_set_state (GST_ELEMENT (thread), GST_STATE_PLAYING); -+ } -+ -+ g_free (file_uri); -+ -+ icon_view->details->audio_preview_file = NULL; -+ icon_view->details->audio_preview_timeout = 0; -+#else - #if USE_OLD_AUDIO_PREVIEW - NautilusFile *file; - FMIconView *icon_view; -@@ -1865,6 +1918,7 @@ - icon_view->details->audio_preview_timeout = 0; - icon_view->details->audio_preview_file = NULL; - #endif -+#endif /* USE_GST_AUDIO_PREVIEW */ - return FALSE; - } - -@@ -1878,7 +1932,22 @@ - - static void - preview_audio (FMIconView *icon_view, NautilusFile *file, gboolean start_flag) --{ -+{ -+#ifdef USE_GST_AUDIO_PREVIEW -+ if (thread != NULL) { -+ gst_element_set_state (GST_ELEMENT (thread), GST_STATE_NULL); -+ } -+ -+ if (icon_view->details->audio_preview_timeout != 0) { -+ g_source_remove (icon_view->details->audio_preview_timeout); -+ icon_view->details->audio_preview_timeout = 0; -+ } -+ -+ if (start_flag) { -+ icon_view->details->audio_preview_file = file; -+ icon_view->details->audio_preview_timeout = g_timeout_add (1000, play_file, icon_view); -+ } -+#else - /* Stop current audio playback */ - #if USE_OLD_AUDIO_PREVIEW - nautilus_sound_kill_sound (); -@@ -1903,15 +1972,18 @@ - icon_view->details->audio_preview_timeout = g_timeout_add (1000, play_file, icon_view); - #endif - } -+#endif /* USE_GST_AUDIO_PREVIEW */ - } - - static gboolean - should_preview_sound (NautilusFile *file) - { -+#ifndef USE_GST_AUDIO_PREVIEW - /* Check gnome config sound preference */ - if (!gnome_esd_enabled_auto_value) { - return FALSE; - } -+#endif /* USE_GST_AUDIO_PREVIEW */ - - /* Check user performance preference */ - if (preview_sound_auto_value == NAUTILUS_SPEED_TRADEOFF_NEVER) { -@@ -1942,10 +2014,18 @@ - mime_type = nautilus_file_get_mime_type (file); - - if ((eel_istr_has_prefix (mime_type, "audio/") -- || eel_istr_has_prefix (mime_type, "application/x-ogg")) -+#ifdef USE_GST_AUDIO_PREVIEW -+ || eel_istr_has_prefix (mime_type, "application/ogg") -+ || eel_istr_has_prefix (mime_type, "application/x-flac")) - && eel_strcasecmp (mime_type, "audio/x-pn-realaudio") != 0 - && eel_strcasecmp (mime_type, "audio/x-mpegurl") != 0 -- && nautilus_sound_can_play_sound ()) { -+ ) { -+#else -+ || eel_istr_has_prefix (mime_type, "application/ogg")) -+ && eel_strcasecmp (mime_type, "audio/x-pn-realaudio") != 0 -+ && eel_strcasecmp (mime_type, "audio/x-mpegurl") != 0 -+ && nautilus_sound_can_play_sound ()) { -+#endif - result = 1; - preview_audio (icon_view, file, start_flag); - } diff --git a/gnome-base/nautilus/files/nautilus-2-snap_to_grid-r1.patch b/gnome-base/nautilus/files/nautilus-2-snap_to_grid-r1.patch deleted file mode 100644 index 345eded02340..000000000000 --- a/gnome-base/nautilus/files/nautilus-2-snap_to_grid-r1.patch +++ /dev/null @@ -1,1188 +0,0 @@ -Index: libnautilus-private/nautilus-icon-container.c -=================================================================== -RCS file: /cvs/gnome/nautilus/libnautilus-private/nautilus-icon-container.c,v -retrieving revision 1.339 -diff -u -r1.339 nautilus-icon-container.c ---- libnautilus-private/nautilus-icon-container.c 23 Apr 2003 14:31:21 -0000 1.339 -+++ libnautilus-private/nautilus-icon-container.c 3 May 2003 23:21:42 -0000 -@@ -101,9 +101,9 @@ - #define STANDARD_ICON_GRID_WIDTH 155 - - /* Desktop layout mode defines */ --#define DESKTOP_PAD_HORIZONTAL 30 -+#define DESKTOP_PAD_HORIZONTAL 10 - #define DESKTOP_PAD_VERTICAL 10 --#define CELL_SIZE 20 -+#define SNAP_SIZE 78 - - /* Value used to protect against icons being dragged outside of the desktop bounds */ - #define DESKTOP_ICON_SAFETY_PAD 10 -@@ -116,6 +116,14 @@ - #define MINIMUM_EMBEDDED_TEXT_RECT_WIDTH 20 - #define MINIMUM_EMBEDDED_TEXT_RECT_HEIGHT 20 - -+#define SNAP_HORIZONTAL(func,x) ((func ((double)((x) - DESKTOP_PAD_HORIZONTAL) / SNAP_SIZE) * SNAP_SIZE) + DESKTOP_PAD_HORIZONTAL) -+#define SNAP_VERTICAL(func, y) ((func ((double)((y) - DESKTOP_PAD_VERTICAL) / SNAP_SIZE) * SNAP_SIZE) + DESKTOP_PAD_VERTICAL) -+ -+#define SNAP_NEAREST_HORIZONTAL(x) SNAP_HORIZONTAL (eel_round, x) -+#define SNAP_NEAREST_VERTICAL(y) SNAP_VERTICAL (eel_round, y) -+ -+#define SNAP_CEIL_HORIZONTAL(x) SNAP_HORIZONTAL (ceil, x) -+#define SNAP_CEIL_VERTICAL(y) SNAP_VERTICAL (ceil, y) - - enum { - NAUTILUS_TYPESELECT_FLUSH_DELAY = 1000000 -@@ -220,6 +228,15 @@ - CLEARED, - LAST_SIGNAL - }; -+ -+typedef struct { -+ int **icon_grid; -+ int *grid_memory; -+ int num_rows; -+ int num_columns; -+ gboolean tight; -+} PlacementGrid; -+ - static guint signals[LAST_SIGNAL]; - - /* Functions dealing with NautilusIcons. */ -@@ -335,6 +352,7 @@ - icon_set_size (NautilusIconContainer *container, - NautilusIcon *icon, - guint icon_size, -+ gboolean snap, - gboolean update_position) - { - guint old_size; -@@ -350,8 +368,8 @@ - (container->details->zoom_level); - nautilus_icon_container_move_icon (container, icon, - icon->x, icon->y, -- scale, scale, -- FALSE, update_position); -+ scale, scale, FALSE, -+ snap, update_position); - } - - static void -@@ -398,6 +416,15 @@ - if (icon == container->details->stretch_icon) { - container->details->stretch_icon = NULL; - nautilus_icon_canvas_item_set_show_stretch_handles (icon->item, FALSE); -+ /* snap the icon if necessary */ -+ if (container->details->keep_aligned) { -+ nautilus_icon_container_move_icon (container, -+ icon, -+ icon->x, icon->y, -+ icon->scale_x, icon->scale_y, -+ FALSE, TRUE, TRUE); -+ } -+ - emit_stretch_ended (container, icon); - } - -@@ -1004,150 +1031,313 @@ - g_array_free (positions, TRUE); - } - --/* Search for available space at location */ --static gboolean --find_open_grid_space (NautilusIcon *icon, int **icon_grid, int num_rows, -- int num_columns, int row, int column) --{ -- int row_index, column_index; -- int x1, x2, y1, y2; -- double width, height; -- int qwidth, qheight; -- -- /* Get icon dimensions */ -- icon_get_bounding_box (icon, &x1, &y1, &x2, &y2); -- -- width = (x2 - x1) + DESKTOP_PAD_HORIZONTAL; -- height = (y2 - y1) + DESKTOP_PAD_VERTICAL; -- -- /* Convert to grid coordinates */ -- qwidth = ceil (width / CELL_SIZE); -- qheight = ceil (height / CELL_SIZE); -+static void -+snap_position (NautilusIconContainer *container, -+ NautilusIcon *icon, -+ int *x, int *y) -+{ -+ int center_x; -+ int baseline_y; -+ int icon_width; -+ int icon_height; -+ ArtDRect icon_position; -+ -+ if (*x < DESKTOP_PAD_HORIZONTAL) { -+ *x = DESKTOP_PAD_HORIZONTAL; -+ } - -- if ((row + qwidth > num_rows) || (column + qheight > num_columns)) { -- return FALSE; -+ if (*y < DESKTOP_PAD_VERTICAL) { -+ *y = DESKTOP_PAD_VERTICAL; - } - -- qwidth += row; -- qheight += column; -+ icon_position = nautilus_icon_canvas_item_get_icon_rectangle (icon->item); -+ icon_width = icon_position.x1 - icon_position.x0; -+ icon_height = icon_position.y1 - icon_position.y0; - -- for (row_index = row; row_index < qwidth; row_index++) { -- for (column_index = column; column_index < qheight; column_index++) { -- if (icon_grid [row_index] [column_index] == 1) { -- return FALSE; -- } -- } -- } -- return TRUE; -+ center_x = *x + icon_width / 2; -+ *x = SNAP_NEAREST_HORIZONTAL (center_x) - (icon_width / 2); -+ -+ /* Find the grid position vertically and place on the proper baseline */ -+ baseline_y = *y + icon_height; -+ baseline_y = SNAP_NEAREST_VERTICAL (baseline_y); -+ *y = baseline_y - (icon_position.y1 - icon_position.y0); -+} -+ -+static int -+compare_icons_by_position (gconstpointer a, gconstpointer b) -+{ -+ NautilusIcon *icon_a, *icon_b; -+ int x1, y1, x2, y2; -+ int center_a; -+ int center_b; -+ -+ icon_a = (NautilusIcon*)a; -+ icon_b = (NautilusIcon*)b; -+ -+ icon_get_bounding_box (icon_a, &x1, &y1, &x2, &y2); -+ center_a = x1 + (x2 - x1) / 2; -+ icon_get_bounding_box (icon_b, &x1, &y1, &x2, &y2); -+ center_b = x1 + (x2 - x1) / 2; -+ -+ return center_a == center_b ? -+ icon_a->y - icon_b->y : -+ center_a - center_b; - } - -+static PlacementGrid * -+placement_grid_new (NautilusIconContainer *container, gboolean tight) -+{ -+ PlacementGrid *grid; -+ int width, height; -+ int num_columns; -+ int num_rows; -+ int i; -+ -+ /* Get container dimensions */ -+ width = GTK_WIDGET (container)->allocation.width / -+ EEL_CANVAS (container)->pixels_per_unit -+ - container->details->left_margin -+ - container->details->right_margin; -+ height = GTK_WIDGET (container)->allocation.height / -+ EEL_CANVAS (container)->pixels_per_unit -+ - container->details->top_margin -+ - container->details->bottom_margin; -+ -+ num_columns = width / SNAP_SIZE; -+ num_rows = height / SNAP_SIZE; -+ -+ if (num_columns == 0 || num_rows == 0) { -+ return NULL; -+ } -+ -+ grid = g_new0 (PlacementGrid, 1); -+ grid->tight = tight; -+ grid->num_columns = num_columns; -+ grid->num_rows = num_rows; -+ -+ grid->grid_memory = g_new0 (int, (num_rows * num_columns)); -+ grid->icon_grid = g_new0 (int *, num_columns); -+ -+ for (i = 0; i < num_columns; i++) { -+ grid->icon_grid[i] = grid->grid_memory + (i * num_rows); -+ } -+ -+ return grid; -+} - - static void --get_best_empty_grid_location (NautilusIcon *icon, int **icon_grid, int num_rows, -- int num_columns, int *x, int *y) -+placement_grid_free (PlacementGrid *grid) - { -- gboolean found_space; -- int row, column; -+ g_free (grid->icon_grid); -+ g_free (grid->grid_memory); -+ g_free (grid); -+} -+ -+static gboolean -+placement_grid_position_is_free (PlacementGrid *grid, ArtIRect pos) -+{ -+ int x, y; - -- g_assert (icon_grid != NULL); -- g_assert (x != NULL); -- g_assert (y != NULL); -- -- found_space = FALSE; -- -- /* Set up default fallback position */ -- *x = num_columns * CELL_SIZE; -- *y = num_rows * CELL_SIZE; -- -- /* Find best empty location */ -- for (row = 0; row < num_rows; row++) { -- for (column = 0; column < num_columns; column++) { -- found_space = find_open_grid_space (icon, icon_grid, num_rows, -- num_columns, row, column); -- if (found_space) { -- *x = row * CELL_SIZE; -- *y = column * CELL_SIZE; -- -- /* Correct for padding */ -- if (*x < DESKTOP_PAD_HORIZONTAL) { -- *x = DESKTOP_PAD_HORIZONTAL; -- } -- if (*y < DESKTOP_PAD_VERTICAL) { -- *y = DESKTOP_PAD_VERTICAL; -- } -- return; -+ g_return_val_if_fail (pos.x0 >= 0 && pos.x0 < grid->num_columns, TRUE); -+ g_return_val_if_fail (pos.y0 >= 0 && pos.y0 < grid->num_rows, TRUE); -+ g_return_val_if_fail (pos.x1 >= 0 && pos.x1 < grid->num_columns, TRUE); -+ g_return_val_if_fail (pos.y1 >= 0 && pos.y1 < grid->num_rows, TRUE); -+ -+ for (x = pos.x0; x <= pos.x1; x++) { -+ for (y = pos.y0; y <= pos.y1; y++) { -+ if (grid->icon_grid[x][y] != 0) { -+ return FALSE; - } -- } -+ } - } -+ -+ return TRUE; - } - - static void --mark_icon_location_in_grid (NautilusIcon *icon, int **icon_grid, int num_rows, int num_columns) -+placement_grid_mark (PlacementGrid *grid, ArtIRect pos) - { -- int x1, x2, y1, y2; -- double width, height; -- int qx, qy, qwidth, qheight, qy_index; -- int grid_width, grid_height; -- -- icon_get_bounding_box (icon, &x1, &y1, &x2, &y2); -- -- width = (x2 - x1) + DESKTOP_PAD_HORIZONTAL; -- height = (y2 - y1) + DESKTOP_PAD_VERTICAL; -- -- /* Convert x and y to our quantized grid value */ -- qx = icon->x / CELL_SIZE; -- qy = icon->y / CELL_SIZE; -- qwidth = ceil (width / CELL_SIZE); -- qheight = ceil (height / CELL_SIZE); -- -- /* Check and correct for edge conditions */ -- grid_width = num_rows; -- grid_height = num_columns; -+ int x, y; - -- if ((qx + qwidth) > grid_width) { -- qwidth = grid_width; -- } else { -- qwidth = qx + qwidth; -+ g_return_if_fail (pos.x0 >= 0 && pos.x0 < grid->num_columns); -+ g_return_if_fail (pos.y0 >= 0 && pos.y0 < grid->num_rows); -+ g_return_if_fail (pos.x1 >= 0 && pos.x1 < grid->num_columns); -+ g_return_if_fail (pos.y1 >= 0 && pos.y1 < grid->num_rows); -+ -+ for (x = pos.x0; x <= pos.x1; x++) { -+ for (y = pos.y0; y <= pos.y1; y++) { -+ grid->icon_grid[x][y] = 1; -+ } - } -- if ((qy + qheight) > grid_height) { -- qheight = grid_height; -+} -+ -+static void -+canvas_position_to_grid_position (PlacementGrid *grid, -+ ArtIRect canvas_position, -+ ArtIRect *grid_position) -+{ -+ /* The first bit of this block will identify all intersections -+ * that the icon actually crosses. The second bit will mark -+ * any intersections that the icon is adjacent to. -+ * The first causes minimal moving around during a snap, but -+ * can end up with partially overlapping icons. The second one won't -+ * allow any overlapping, but can cause more movement to happen -+ * during a snap. */ -+ if (grid->tight) { -+ grid_position->x0 = ceil ((double)(canvas_position.x0 - DESKTOP_PAD_HORIZONTAL) / SNAP_SIZE); -+ grid_position->y0 = ceil ((double)(canvas_position.y0 - DESKTOP_PAD_VERTICAL) / SNAP_SIZE); -+ grid_position->x1 = floor ((double)(canvas_position.x1 - DESKTOP_PAD_HORIZONTAL) / SNAP_SIZE); -+ grid_position->y1 = floor ((double)(canvas_position.y1 - DESKTOP_PAD_VERTICAL) / SNAP_SIZE); - } else { -- qheight = qy + qheight; -+ grid_position->x0 = floor ((double)(canvas_position.x0 - DESKTOP_PAD_HORIZONTAL) / SNAP_SIZE); -+ grid_position->y0 = floor ((double)(canvas_position.y0 - DESKTOP_PAD_VERTICAL) / SNAP_SIZE); -+ grid_position->x1 = ceil ((double)(canvas_position.x1 - DESKTOP_PAD_HORIZONTAL) / SNAP_SIZE); -+ grid_position->y1 = ceil ((double)(canvas_position.y1 - DESKTOP_PAD_VERTICAL) / SNAP_SIZE); - } -+ -+ grid_position->x0 = CLAMP (grid_position->x0, 0, grid->num_columns - 1); -+ grid_position->y0 = CLAMP (grid_position->y0, 0, grid->num_rows - 1); -+ grid_position->x1 = CLAMP (grid_position->x1, grid_position->x0, grid->num_columns - 1); -+ grid_position->y1 = CLAMP (grid_position->y1, grid_position->y0, grid->num_rows - 1); -+} -+ -+static void -+placement_grid_mark_icon (PlacementGrid *grid, NautilusIcon *icon) -+{ -+ ArtIRect icon_pos; -+ ArtIRect grid_pos; - -- /* Mark location */ -- for (; qx < qwidth; qx++) { -- for (qy_index = qy; qy_index < qheight; qy_index++) { -- icon_grid [qx] [qy_index] = 1; -+ icon_get_bounding_box (icon, -+ &icon_pos.x0, &icon_pos.y0, -+ &icon_pos.x1, &icon_pos.y1); -+ canvas_position_to_grid_position (grid, -+ icon_pos, -+ &grid_pos); -+ placement_grid_mark (grid, grid_pos); -+} -+ -+static void -+find_empty_location (NautilusIconContainer *container, -+ PlacementGrid *grid, -+ NautilusIcon *icon, -+ int start_x, -+ int start_y, -+ int *x, -+ int *y) -+{ -+ double icon_width, icon_height; -+ int canvas_width; -+ int canvas_height; -+ ArtIRect icon_position; -+ ArtDRect pixbuf_rect; -+ gboolean collision; -+ -+ /* Get container dimensions */ -+ canvas_width = GTK_WIDGET (container)->allocation.width / -+ EEL_CANVAS (container)->pixels_per_unit -+ - container->details->left_margin -+ - container->details->right_margin; -+ canvas_height = GTK_WIDGET (container)->allocation.height / -+ EEL_CANVAS (container)->pixels_per_unit -+ - container->details->top_margin -+ - container->details->bottom_margin; -+ -+ icon_get_bounding_box (icon, -+ &icon_position.x0, &icon_position.y0, -+ &icon_position.x1, &icon_position.y1); -+ icon_width = icon_position.x1 - icon_position.x0; -+ icon_height = icon_position.y1 - icon_position.y0; -+ -+ pixbuf_rect = nautilus_icon_canvas_item_get_icon_rectangle (icon->item); -+ -+ /* Start the icon on a grid location */ -+ snap_position (container, icon, &start_x, &start_y); -+ -+ icon_position.x0 = start_x; -+ icon_position.y0 = start_y; -+ icon_position.x1 = icon_position.x0 + icon_width; -+ icon_position.y1 = icon_position.y0 + icon_height; -+ -+ do { -+ ArtIRect grid_position; -+ -+ collision = FALSE; -+ -+ canvas_position_to_grid_position (grid, -+ icon_position, -+ &grid_position); -+ -+ if (!placement_grid_position_is_free (grid, grid_position)) { -+ icon_position.y0 += SNAP_SIZE; -+ icon_position.y1 = icon_position.y0 + icon_width; -+ -+ if (icon_position.y1 + DESKTOP_PAD_VERTICAL > canvas_height) { -+ /* Move to the next column */ -+ icon_position.y0 = DESKTOP_PAD_VERTICAL + SNAP_SIZE - (pixbuf_rect.y1 - pixbuf_rect.y0); -+ while (icon_position.y0 < DESKTOP_PAD_VERTICAL) { -+ icon_position.y0 += SNAP_SIZE; -+ } -+ icon_position.y1 = icon_position.y0 + icon_width; -+ -+ icon_position.x0 += SNAP_SIZE; -+ icon_position.x1 = icon_position.x0 + icon_height; -+ } -+ -+ collision = TRUE; - } -- } -+ } while (collision && (icon_position.x1 < canvas_width)); -+ -+ *x = icon_position.x0; -+ *y = icon_position.y0; - } - --static void --mark_icon_locations_in_grid (GList *icon_list, int **icon_grid, int num_rows, int num_columns) -+static void -+align_icons (NautilusIconContainer *container) - { -- GList *p; -- NautilusIcon *icon; -+ GList *unplaced_icons; -+ GList *l; -+ PlacementGrid *grid; -+ -+ unplaced_icons = g_list_copy (container->details->icons); - -- /* Mark filled grid locations */ -- for (p = icon_list; p != NULL; p = p->next) { -- icon = p->data; -- mark_icon_location_in_grid (icon, icon_grid, num_rows, num_columns); -+ unplaced_icons = g_list_sort (unplaced_icons, -+ compare_icons_by_position); -+ -+ grid = placement_grid_new (container, TRUE); -+ -+ if (!grid) { -+ return; - } -+ -+ for (l = unplaced_icons; l != NULL; l = l->next) { -+ NautilusIcon *icon; -+ int x, y; -+ -+ icon = l->data; -+ x = icon->x; -+ y = icon->y; -+ -+ find_empty_location (container, grid, -+ icon, x, y, &x, &y); -+ -+ icon_set_position (icon, x, y); -+ -+ placement_grid_mark_icon (grid, icon); -+ } -+ -+ g_list_free (unplaced_icons); -+ -+ placement_grid_free (grid); - } - - static void - lay_down_icons_tblr (NautilusIconContainer *container, GList *icons) - { - GList *p, *placed_icons, *unplaced_icons; -- int index, total, new_length, placed; -+ int total, new_length, placed; - NautilusIcon *icon; -- int width, height, max_width, icon_width, icon_height; -+ int width, height, max_width, column_width, icon_width, icon_height; - int x, y, x1, x2, y1, y2; -- int *grid_memory; -- int **icon_grid; -- int num_rows, num_columns; -- int row, column; - ArtDRect icon_rect; - - /* Get container dimensions */ -@@ -1168,6 +1358,7 @@ - new_length = g_list_length (icons); - placed = total - new_length; - if (placed > 0) { -+ PlacementGrid *grid; - /* Add only placed icons in list */ - for (p = container->details->icons; p != NULL; p = p->next) { - icon = p->data; -@@ -1181,54 +1372,40 @@ - } - placed_icons = g_list_reverse (placed_icons); - unplaced_icons = g_list_reverse (unplaced_icons); -- -- /* Allocate grid array */ -- num_rows = width / CELL_SIZE; -- num_columns = height / CELL_SIZE; -- -- /* Allocate array memory */ -- grid_memory = malloc (num_rows * num_columns * sizeof (int *)); -- g_assert (grid_memory); -- -- /* Allocate room for the pointers to the rows */ -- icon_grid = malloc (num_rows * sizeof (int *)); -- g_assert (icon_grid); -- -- /* Point to array pointers */ -- for (index = 0; index < num_rows; index++) { -- icon_grid[index] = grid_memory + (index * num_columns); -- } -- -- /* Set all grid values to unfilled */ -- for (row = 0; row < num_rows; row++) { -- for (column = 0; column < num_columns; column++) { -- icon_grid [row] [column] = 0; -- } -- } -- -- /* Mark filled grid locations */ -- mark_icon_locations_in_grid (placed_icons, icon_grid, num_rows, num_columns); - -- /* Place unplaced icons in the best locations */ -- for (p = unplaced_icons; p != NULL; p = p->next) { -- icon = p->data; -- get_best_empty_grid_location (icon, icon_grid, num_rows, num_columns, -- &x, &y); -+ grid = placement_grid_new (container, FALSE); - -- icon_get_bounding_box (icon, &x1, &y1, &x2, &y2); -- icon_width = x2 - x1; -+ if (grid) { -+ for (p = placed_icons; p != NULL; p = p->next) { -+ placement_grid_mark_icon -+ (grid, (NautilusIcon*)p->data); -+ } - -- icon_rect = nautilus_icon_canvas_item_get_icon_rectangle (icon->item); -+ /* Place unplaced icons in the best locations */ -+ for (p = unplaced_icons; p != NULL; p = p->next) { -+ icon = p->data; -+ -+ icon_rect = nautilus_icon_canvas_item_get_icon_rectangle (icon->item); -+ icon_get_bounding_box (icon, -+ &x1, &y1, &x2, &y2); -+ -+ /* Start the icon in the first column */ -+ x = DESKTOP_PAD_HORIZONTAL + SNAP_SIZE - ((x2 - x1) / 2); -+ y = DESKTOP_PAD_VERTICAL + SNAP_SIZE - (icon_rect.y1 - icon_rect.y0); -+ -+ find_empty_location (container, -+ grid, -+ icon, -+ x, y, -+ &x, &y); -+ -+ icon_set_position (icon, x, y); -+ placement_grid_mark_icon (grid, icon); -+ } - -- icon_set_position (icon, -- x + (icon_width - (icon_rect.x1 - icon_rect.x0)) / 2, y); -- /* Add newly placed icon to grid */ -- mark_icon_location_in_grid (icon, icon_grid, num_rows, num_columns); -+ placement_grid_free (grid); - } -- -- /* Clean up */ -- free (icon_grid); -- free (grid_memory); -+ - g_list_free (placed_icons); - g_list_free (unplaced_icons); - } else { -@@ -1236,18 +1413,32 @@ - x = DESKTOP_PAD_HORIZONTAL; - - while (icons != NULL) { -+ int center_x; -+ int baseline; -+ gboolean should_snap; -+ -+ should_snap = !(container->details->tighter_layout && !container->details->keep_aligned); -+ - y = DESKTOP_PAD_VERTICAL; -- max_width = 0; - -+ max_width = 0; -+ - /* Calculate max width for column */ - for (p = icons; p != NULL; p = p->next) { - icon = p->data; -- - icon_get_bounding_box (icon, &x1, &y1, &x2, &y2); - - icon_width = x2 - x1; - icon_height = y2 - y1; -- -+ -+ if (should_snap) { -+ /* Snap the baseline to a grid position */ -+ icon_rect = nautilus_icon_canvas_item_get_icon_rectangle (icon->item); -+ baseline = y + (icon_rect.y1 - icon_rect.y0); -+ baseline = SNAP_CEIL_VERTICAL (baseline); -+ y = baseline - (icon_rect.y1 - icon_rect.y0); -+ } -+ - /* Check and see if we need to move to a new column */ - if (y != DESKTOP_PAD_VERTICAL && y > height - icon_height) { - break; -@@ -1261,6 +1452,15 @@ - } - - y = DESKTOP_PAD_VERTICAL; -+ -+ center_x = x + max_width / 2; -+ column_width = max_width; -+ if (should_snap) { -+ /* Find the grid column to center on */ -+ center_x = SNAP_CEIL_HORIZONTAL (center_x); -+ column_width = (center_x - x) + (max_width / 2); -+ } -+ - /* Lay out column */ - for (p = icons; p != NULL; p = p->next) { - icon = p->data; -@@ -1269,15 +1469,21 @@ - icon_height = y2 - y1; - - icon_rect = nautilus_icon_canvas_item_get_icon_rectangle (icon->item); -+ -+ if (should_snap) { -+ baseline = y + (icon_rect.y1 - icon_rect.y0); -+ baseline = SNAP_CEIL_VERTICAL (baseline); -+ y = baseline - (icon_rect.y1 - icon_rect.y0); -+ } - - /* Check and see if we need to move to a new column */ - if (y != DESKTOP_PAD_VERTICAL && y > height - icon_height) { -- x += max_width + DESKTOP_PAD_HORIZONTAL; -+ x += column_width + DESKTOP_PAD_HORIZONTAL; - break; - } - - icon_set_position (icon, -- x + max_width / 2 - (icon_rect.x1 - icon_rect.x0) / 2, -+ center_x - (icon_rect.x1 - icon_rect.x0) / 2, - y); - - y += icon_height + DESKTOP_PAD_VERTICAL; -@@ -1493,6 +1699,7 @@ - int x, int y, - double scale_x, double scale_y, - gboolean raise, -+ gboolean snap, - gboolean update_position) - { - NautilusIconContainerDetails *details; -@@ -1507,13 +1714,6 @@ - end_renaming_mode (container, TRUE); - } - -- if (!details->auto_layout) { -- if (x != icon->x || y != icon->y) { -- icon_set_position (icon, x, y); -- emit_signal = update_position; -- } -- } -- - if (scale_x != icon->scale_x || scale_y != icon->scale_y) { - icon->scale_x = scale_x; - icon->scale_y = scale_y; -@@ -1522,7 +1722,17 @@ - redo_layout (container); - emit_signal = TRUE; - } -+ } -+ -+ if (!details->auto_layout) { -+ if (details->keep_aligned && snap) { -+ snap_position (container, icon, &x, &y); -+ } - -+ if (x != icon->x || y != icon->y) { -+ icon_set_position (icon, x, y); -+ emit_signal = update_position; -+ } - } - - if (emit_signal) { -@@ -2598,6 +2808,12 @@ - g_source_remove (container->details->stretch_idle_id); - container->details->stretch_idle_id = 0; - } -+ -+ if (container->details->align_idle_id != 0) { -+ g_source_remove (container->details->align_idle_id); -+ container->details->align_idle_id = 0; -+ } -+ - - nautilus_icon_container_flush_typeselect_state (container); - -@@ -2985,7 +3201,7 @@ - &world_x, &world_y); - - icon_set_position (icon, world_x, world_y); -- icon_set_size (container, icon, stretch_state.icon_size, FALSE); -+ icon_set_size (container, icon, stretch_state.icon_size, FALSE, FALSE); - - container->details->stretch_idle_id = 0; - -@@ -3062,6 +3278,7 @@ - icon_set_size (container, - stretched_icon, - container->details->stretch_initial_size, -+ TRUE, - TRUE); - - container->details->stretch_icon = NULL; -@@ -5113,7 +5330,7 @@ - nautilus_icon_container_move_icon (container, icon, - icon->x, icon->y, - 1.0, 1.0, -- FALSE, TRUE); -+ FALSE, TRUE, TRUE); - } - } - } -@@ -5251,6 +5468,57 @@ - } - } - -+gboolean -+nautilus_icon_container_is_keep_aligned (NautilusIconContainer *container) -+{ -+ return container->details->keep_aligned; -+} -+ -+static gboolean -+align_icons_callback (gpointer callback_data) -+{ -+ NautilusIconContainer *container; -+ -+ container = NAUTILUS_ICON_CONTAINER (callback_data); -+ align_icons (container); -+ container->details->align_idle_id = 0; -+ -+ return FALSE; -+} -+ -+static void -+unschedule_align_icons (NautilusIconContainer *container) -+{ -+ if (container->details->align_idle_id != 0) { -+ g_source_remove (container->details->align_idle_id); -+ container->details->align_idle_id = 0; -+ } -+} -+ -+static void -+schedule_align_icons (NautilusIconContainer *container) -+{ -+ if (container->details->align_idle_id == 0 -+ && container->details->has_been_allocated) { -+ container->details->align_idle_id = g_idle_add -+ (align_icons_callback, container); -+ } -+} -+ -+void -+nautilus_icon_container_set_keep_aligned (NautilusIconContainer *container, -+ gboolean keep_aligned) -+{ -+ if (container->details->keep_aligned != keep_aligned) { -+ container->details->keep_aligned = keep_aligned; -+ -+ if (keep_aligned && !container->details->auto_layout) { -+ schedule_align_icons (container); -+ } else { -+ unschedule_align_icons (container); -+ } -+ } -+} - - void - nautilus_icon_container_set_layout_mode (NautilusIconContainer *container, -Index: libnautilus-private/nautilus-icon-container.h -=================================================================== -RCS file: /cvs/gnome/nautilus/libnautilus-private/nautilus-icon-container.h,v -retrieving revision 1.78 -diff -u -r1.78 nautilus-icon-container.h ---- libnautilus-private/nautilus-icon-container.h 7 Apr 2003 11:56:03 -0000 1.78 -+++ libnautilus-private/nautilus-icon-container.h 3 May 2003 23:21:42 -0000 -@@ -205,6 +205,10 @@ - gboolean nautilus_icon_container_is_tighter_layout (NautilusIconContainer *container); - void nautilus_icon_container_set_tighter_layout (NautilusIconContainer *container, - gboolean tighter_layout); -+ -+gboolean nautilus_icon_container_is_keep_aligned (NautilusIconContainer *container); -+void nautilus_icon_container_set_keep_aligned (NautilusIconContainer *container, -+ gboolean keep_aligned); - void nautilus_icon_container_set_layout_mode (NautilusIconContainer *container, - NautilusIconLayoutMode mode); - void nautilus_icon_container_sort (NautilusIconContainer *container); -Index: libnautilus-private/nautilus-icon-dnd.c -=================================================================== -RCS file: /cvs/gnome/nautilus/libnautilus-private/nautilus-icon-dnd.c,v -retrieving revision 1.130 -diff -u -r1.130 nautilus-icon-dnd.c ---- libnautilus-private/nautilus-icon-dnd.c 23 Apr 2003 09:49:47 -0000 1.130 -+++ libnautilus-private/nautilus-icon-dnd.c 3 May 2003 23:21:43 -0000 -@@ -811,7 +811,7 @@ - (container, icon, - world_x + item->icon_x, world_y + item->icon_y, - icon->scale_x, icon->scale_y, -- TRUE, TRUE); -+ TRUE, TRUE, TRUE); - } - moved_icons = g_list_prepend (moved_icons, icon); - } -Index: libnautilus-private/nautilus-icon-private.h -=================================================================== -RCS file: /cvs/gnome/nautilus/libnautilus-private/nautilus-icon-private.h,v -retrieving revision 1.71 -diff -u -r1.71 nautilus-icon-private.h ---- libnautilus-private/nautilus-icon-private.h 27 Mar 2003 12:53:07 -0000 1.71 -+++ libnautilus-private/nautilus-icon-private.h 3 May 2003 23:21:43 -0000 -@@ -177,6 +177,9 @@ - /* Idle handler for stretch code */ - guint stretch_idle_id; - -+ /* Align idle id */ -+ guint align_idle_id; -+ - /* DnD info. */ - NautilusIconDndInfo *dnd_info; - -@@ -215,7 +218,10 @@ - /* Layout mode */ - NautilusIconLayoutMode layout_mode; - -- /* Set to TRUE after first allocation has been done */ -+ /* Should the container keep icons aligned to a grid */ -+ gboolean keep_aligned; -+ -+ /* Set to TRUE after first allocation has been done */ - gboolean has_been_allocated; - - /* Is the container fixed or resizable */ -@@ -252,6 +258,7 @@ - double scale_x, - double scale_y, - gboolean raise, -+ gboolean snap, - gboolean update_position); - void nautilus_icon_container_select_list_unselect_others (NautilusIconContainer *container, - GList *icons); -Index: libnautilus-private/nautilus-metadata.h -=================================================================== -RCS file: /cvs/gnome/nautilus/libnautilus-private/nautilus-metadata.h,v -retrieving revision 1.25 -diff -u -r1.25 nautilus-metadata.h ---- libnautilus-private/nautilus-metadata.h 19 Dec 2002 19:56:36 -0000 1.25 -+++ libnautilus-private/nautilus-metadata.h 3 May 2003 23:21:43 -0000 -@@ -53,6 +53,7 @@ - #define NAUTILUS_METADATA_KEY_ICON_VIEW_TIGHTER_LAYOUT "icon_view_tighter_layout" - #define NAUTILUS_METADATA_KEY_ICON_VIEW_SORT_BY "icon_view_sort_by" - #define NAUTILUS_METADATA_KEY_ICON_VIEW_SORT_REVERSED "icon_view_sort_reversed" -+#define NAUTILUS_METADATA_KEY_ICON_VIEW_KEEP_ALIGNED "icon_view_keep_aligned" - - #define NAUTILUS_METADATA_KEY_LIST_VIEW_ZOOM_LEVEL "list_view_zoom_level" - #define NAUTILUS_METADATA_KEY_LIST_VIEW_SORT_COLUMN "list_view_sort_column" -Index: src/file-manager/fm-desktop-icon-view.c -=================================================================== -RCS file: /cvs/gnome/nautilus/src/file-manager/fm-desktop-icon-view.c,v -retrieving revision 1.202 -diff -u -r1.202 fm-desktop-icon-view.c ---- src/file-manager/fm-desktop-icon-view.c 23 Apr 2003 10:49:38 -0000 1.202 -+++ src/file-manager/fm-desktop-icon-view.c 3 May 2003 23:21:43 -0000 -@@ -121,6 +121,7 @@ - FMDesktopIconView *icon_view); - static void update_desktop_directory (UpdateType type); - static gboolean real_supports_auto_layout (FMIconView *view); -+static gboolean real_supports_keep_aligned (FMIconView *view); - static void real_merge_menus (FMDirectoryView *view); - static void real_update_menus (FMDirectoryView *view); - static gboolean real_supports_zooming (FMDirectoryView *view); -@@ -300,6 +301,7 @@ - FM_DIRECTORY_VIEW_CLASS (class)->supports_zooming = real_supports_zooming; - - FM_ICON_VIEW_CLASS (class)->supports_auto_layout = real_supports_auto_layout; -+ FM_ICON_VIEW_CLASS (class)->supports_keep_aligned = real_supports_keep_aligned; - } - - static void -@@ -1470,6 +1472,12 @@ - * fixed-size window. - */ - return FALSE; -+} -+ -+static gboolean -+real_supports_keep_aligned (FMIconView *view) -+{ -+ return TRUE; - } - - static gboolean -Index: src/file-manager/fm-icon-view.c -=================================================================== -RCS file: /cvs/gnome/nautilus/src/file-manager/fm-icon-view.c,v -retrieving revision 1.278 -diff -u -r1.278 fm-icon-view.c ---- src/file-manager/fm-icon-view.c 7 Apr 2003 11:56:04 -0000 1.278 -+++ src/file-manager/fm-icon-view.c 3 May 2003 23:21:43 -0000 -@@ -98,10 +98,12 @@ - #define COMMAND_TIGHTER_LAYOUT "/commands/Tighter Layout" - #define COMMAND_SORT_REVERSED "/commands/Reversed Order" - #define COMMAND_CLEAN_UP "/commands/Clean Up" -+#define COMMAND_KEEP_ALIGNED "/commands/Keep Aligned" - - #define ID_MANUAL_LAYOUT "Manual Layout" - #define ID_TIGHTER_LAYOUT "Tighter Layout" - #define ID_SORT_REVERSED "Reversed Order" -+#define ID_KEEP_ALIGNED "Keep Aligned" - - typedef struct { - NautilusFileSortType sort_type; -@@ -578,6 +580,16 @@ - supports_auto_layout, (view)); - } - -+static gboolean -+fm_icon_view_supports_keep_aligned (FMIconView *view) -+{ -+ g_return_val_if_fail (FM_IS_ICON_VIEW (view), FALSE); -+ -+ return EEL_CALL_METHOD_WITH_RETURN_VALUE -+ (FM_ICON_VIEW_CLASS, view, -+ supports_keep_aligned, (view)); -+} -+ - static void - update_layout_menus (FMIconView *view) - { -@@ -617,6 +629,18 @@ - nautilus_bonobo_set_sensitive - (view->details->ui, COMMAND_CLEAN_UP, !is_auto_layout); - -+ -+ nautilus_bonobo_set_hidden (view->details->ui, -+ COMMAND_KEEP_ALIGNED, -+ !fm_icon_view_supports_keep_aligned (view)); -+ -+ nautilus_bonobo_set_toggle_state -+ (view->details->ui, COMMAND_KEEP_ALIGNED, -+ nautilus_icon_container_is_keep_aligned (get_icon_container (view))); -+ -+ nautilus_bonobo_set_sensitive -+ (view->details->ui, COMMAND_KEEP_ALIGNED, !is_auto_layout); -+ - bonobo_ui_component_thaw (view->details->ui, NULL); - } - -@@ -753,6 +777,41 @@ - sort_reversed); - } - -+static gboolean -+get_default_directory_keep_aligned (void) -+{ -+ return TRUE; -+} -+ -+static gboolean -+fm_icon_view_get_directory_keep_aligned (FMIconView *icon_view, -+ NautilusFile *file) -+{ -+ if (!fm_icon_view_supports_keep_aligned (icon_view)) { -+ return FALSE; -+ } -+ -+ return nautilus_file_get_boolean_metadata -+ (file, -+ NAUTILUS_METADATA_KEY_ICON_VIEW_KEEP_ALIGNED, -+ get_default_directory_keep_aligned ()); -+} -+ -+static void -+fm_icon_view_set_directory_keep_aligned (FMIconView *icon_view, -+ NautilusFile *file, -+ gboolean keep_aligned) -+{ -+ if (!fm_icon_view_supports_keep_aligned (icon_view)) { -+ return; -+ } -+ -+ nautilus_file_set_boolean_metadata -+ (file, NAUTILUS_METADATA_KEY_ICON_VIEW_KEEP_ALIGNED, -+ get_default_directory_keep_aligned (), -+ keep_aligned); -+} -+ - /* maintainence of auto layout boolean */ - static gboolean default_directory_manual_layout = FALSE; - -@@ -880,6 +939,14 @@ - } - - static gboolean -+real_supports_keep_aligned (FMIconView *view) -+{ -+ g_return_val_if_fail (FM_IS_ICON_VIEW (view), FALSE); -+ -+ return FALSE; -+} -+ -+static gboolean - set_sort_reversed (FMIconView *icon_view, gboolean new_value) - { - if (icon_view->details->sort_reversed == new_value) { -@@ -1005,6 +1072,9 @@ - /* Set the sort direction from the metadata. */ - set_sort_reversed (icon_view, fm_icon_view_get_directory_sort_reversed (icon_view, file)); - -+ nautilus_icon_container_set_keep_aligned -+ (get_icon_container (icon_view), -+ fm_icon_view_get_directory_keep_aligned (icon_view, file)); - nautilus_icon_container_set_tighter_layout - (get_icon_container (icon_view), - fm_icon_view_get_directory_tighter_layout (icon_view, file)); -@@ -1287,6 +1357,37 @@ - } - - static void -+keep_aligned_state_changed_callback (BonoboUIComponent *component, -+ const char *path, -+ Bonobo_UIComponent_EventType type, -+ const char *state, -+ gpointer user_data) -+{ -+ FMIconView *icon_view; -+ NautilusFile *file; -+ gboolean keep_aligned; -+ -+ g_assert (strcmp (path, ID_KEEP_ALIGNED) == 0); -+ -+ icon_view = FM_ICON_VIEW (user_data); -+ -+ if (strcmp (state, "") == 0) { -+ /* State goes blank when component is removed; ignore this. */ -+ return; -+ } -+ -+ keep_aligned = strcmp (state, "1") == 0 ? TRUE : FALSE; -+ -+ file = fm_directory_view_get_directory_as_file (FM_DIRECTORY_VIEW (icon_view)); -+ fm_icon_view_set_directory_keep_aligned (icon_view, -+ file, -+ keep_aligned); -+ -+ nautilus_icon_container_set_keep_aligned (get_icon_container (icon_view), -+ keep_aligned); -+} -+ -+static void - switch_to_manual_layout (FMIconView *icon_view) - { - if (!fm_icon_view_using_auto_layout (icon_view)) { -@@ -1393,6 +1494,7 @@ - - bonobo_ui_component_add_listener (icon_view->details->ui, ID_TIGHTER_LAYOUT, tighter_layout_state_changed_callback, view); - bonobo_ui_component_add_listener (icon_view->details->ui, ID_SORT_REVERSED, sort_reversed_state_changed_callback, view); -+ bonobo_ui_component_add_listener (icon_view->details->ui, ID_KEEP_ALIGNED, keep_aligned_state_changed_callback, view); - icon_view->details->menus_ready = TRUE; - - bonobo_ui_component_freeze (icon_view->details->ui, NULL); -@@ -1472,6 +1574,8 @@ - - set_sort_criterion (icon_view, get_sort_criterion_by_sort_type (get_default_sort_order ())); - set_sort_reversed (icon_view, get_default_sort_in_reverse_order ()); -+ nautilus_icon_container_set_keep_aligned -+ (icon_container, get_default_directory_keep_aligned ()); - nautilus_icon_container_set_tighter_layout - (icon_container, get_default_directory_tighter_layout ()); - -@@ -2520,6 +2624,7 @@ - - klass->clean_up = fm_icon_view_real_clean_up; - klass->supports_auto_layout = real_supports_auto_layout; -+ klass->supports_keep_aligned = real_supports_keep_aligned; - klass->get_directory_auto_layout = fm_icon_view_real_get_directory_auto_layout; - klass->get_directory_sort_by = fm_icon_view_real_get_directory_sort_by; - klass->get_directory_sort_reversed = fm_icon_view_real_get_directory_sort_reversed; -Index: src/file-manager/fm-icon-view.h -=================================================================== -RCS file: /cvs/gnome/nautilus/src/file-manager/fm-icon-view.h,v -retrieving revision 1.12 -diff -u -r1.12 fm-icon-view.h ---- src/file-manager/fm-icon-view.h 4 Feb 2003 10:36:21 -0000 1.12 -+++ src/file-manager/fm-icon-view.h 3 May 2003 23:21:43 -0000 -@@ -84,6 +84,12 @@ - */ - gboolean (* supports_auto_layout) (FMIconView *view); - -+ /* supports_auto_layout is a function pointer that subclasses may -+ * override to control whether snap-to-grid mode -+ * should be enabled. The default implementation returns FALSE. -+ */ -+ gboolean (* supports_keep_aligned) (FMIconView *view); -+ - }; - - /* GObject support */ -Index: src/file-manager/nautilus-icon-view-ui.xml -=================================================================== -RCS file: /cvs/gnome/nautilus/src/file-manager/nautilus-icon-view-ui.xml,v -retrieving revision 1.23 -diff -u -r1.23 nautilus-icon-view-ui.xml ---- src/file-manager/nautilus-icon-view-ui.xml 5 Jul 2002 20:37:24 -0000 1.23 -+++ src/file-manager/nautilus-icon-view-ui.xml 3 May 2003 23:21:44 -0000 -@@ -24,6 +24,9 @@ - -+ - -@@ -78,6 +81,9 @@ - - -+ - - - -@@ -108,6 +114,7 @@ - id="Sort by Emblems"/> - - -+ - -@@ -115,7 +122,11 @@ - id="Reversed Order" - type="toggle"/> - -+ - -+ - - - diff --git a/gnome-base/nautilus/files/nautilus-2-thumbnail_max_size.patch b/gnome-base/nautilus/files/nautilus-2-thumbnail_max_size.patch deleted file mode 100644 index 2fdd20e20e74..000000000000 --- a/gnome-base/nautilus/files/nautilus-2-thumbnail_max_size.patch +++ /dev/null @@ -1,45 +0,0 @@ ---- src/nautilus-file-management-properties.c.orig 2003-02-22 13:46:54.000000000 -0600 -+++ src/nautilus-file-management-properties.c 2003-02-22 13:46:54.000000000 -0600 -@@ -132,6 +132,9 @@ - 5242880, - 10485760, - 104857600, -+ 262144000, -+ 524288000, -+ 1048576000, - -1 - }; - ---- src/nautilus-file-management-properties.glade.orig 2003-02-22 13:46:50.000000000 -0600 -+++ src/nautilus-file-management-properties.glade 2003-02-22 13:50:07.000000000 -0600 -@@ -2260,6 +2258,30 @@ - True - - -+ -+ -+ -+ True -+ 250 MB -+ True -+ -+ -+ -+ -+ -+ True -+ 500 MB -+ True -+ -+ -+ -+ -+ -+ True -+ 1 GB -+ True -+ -+ - - - diff --git a/gnome-base/nautilus/files/nautilus-2.2-double_menu_entry_fix.patch b/gnome-base/nautilus/files/nautilus-2.2-double_menu_entry_fix.patch deleted file mode 100644 index 3772bcf09cba..000000000000 --- a/gnome-base/nautilus/files/nautilus-2.2-double_menu_entry_fix.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff -ur nautilus-2.2.0.2/src/file-manager/fm-directory-view.c nautilus-2.2.0.2.patched/src/file-manager/fm-directory-view.c ---- nautilus-2.2.0.2/src/file-manager/fm-directory-view.c 2003-01-20 18:29:21.000000000 +0100 -+++ nautilus-2.2.0.2.patched/src/file-manager/fm-directory-view.c 2003-02-19 19:08:36.000000000 +0100 -@@ -3727,6 +3727,29 @@ - - } - -+static gboolean -+no_locale_at_end (const char *str) -+{ -+ int len; -+ len = strlen (str); -+ if (len > 3 && -+ str[len-3] == '-' && -+ g_ascii_isalpha (str[len-2]) && -+ g_ascii_isalpha (str[len-1])) { -+ return FALSE; -+ } -+ if (len > 6 && -+ str[len-6] == '-' && -+ g_ascii_isalpha (str[len-5]) && -+ g_ascii_isalpha (str[len-4]) && -+ str[len-3] == '_' && -+ g_ascii_isalpha (str[len-2]) && -+ g_ascii_isalpha (str[len-1])) { -+ return FALSE; -+ } -+ return TRUE; -+} -+ - static GList * - get_bonobo_menu_verb_names (Bonobo_ServerInfo *info) - { -@@ -3742,7 +3765,8 @@ - /* look for properties that start with "nautilusverb:". The - * part following the colon is the verb name - */ -- if (strstr (info->props._buffer[i].name, "nautilusverb:")) { -+ if (strstr (info->props._buffer[i].name, "nautilusverb:") && -+ no_locale_at_end (info->props._buffer[i].name)) { - l = g_list_prepend (l, - g_strdup (&info->props._buffer[i].name[offset])); - } diff --git a/gnome-base/nautilus/files/nautilus-2.2.0.2-locale.patch b/gnome-base/nautilus/files/nautilus-2.2.0.2-locale.patch deleted file mode 100644 index 24c068ce815b..000000000000 --- a/gnome-base/nautilus/files/nautilus-2.2.0.2-locale.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- nautilus-2.2.0.2/src/nautilus-server-connect.c.old 2003-02-10 17:46:16.000000000 -0500 -+++ nautilus-2.2.0.2/src/nautilus-server-connect.c 2003-02-10 17:46:25.000000000 -0500 -@@ -19,6 +19,7 @@ - #include - #include - #include -+#include - #include - #include - #include diff --git a/gnome-base/nautilus/files/nautilus-2.4-remove_deprecation_flags.patch b/gnome-base/nautilus/files/nautilus-2.4-remove_deprecation_flags.patch deleted file mode 100644 index 441b38e396f7..000000000000 --- a/gnome-base/nautilus/files/nautilus-2.4-remove_deprecation_flags.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -uNr nautilus-2.4.2/src/file-manager/Makefile.am nautilus-2.4.2.patched/src/file-manager/Makefile.am ---- nautilus-2.4.2/src/file-manager/Makefile.am 2002-11-06 11:39:11.000000000 +0100 -+++ nautilus-2.4.2.patched/src/file-manager/Makefile.am 2004-03-25 22:35:05.887636536 +0100 -@@ -9,11 +9,6 @@ - -DVERSION="\"$(VERSION)\"" \ - -DNAUTILUS_DATADIR=\""$(datadir)/nautilus"\" \ - -DDATADIR=\""$(datadir)"\" \ -- -DG_DISABLE_DEPRECATED \ -- -DGDK_DISABLE_DEPRECATED \ -- -DGDK_PIXBUF_DISABLE_DEPRECATED \ -- -DGTK_DISABLE_DEPRECATED \ -- -DGNOME_DISABLE_DEPRECATED \ - $(NULL) - - -diff -uNr nautilus-2.4.2/src/file-manager/Makefile.in nautilus-2.4.2.patched/src/file-manager/Makefile.in ---- nautilus-2.4.2/src/file-manager/Makefile.in 2004-02-03 01:50:55.000000000 +0100 -+++ nautilus-2.4.2.patched/src/file-manager/Makefile.in 2004-03-25 22:35:16.772981712 +0100 -@@ -166,11 +166,6 @@ - -DVERSION="\"$(VERSION)\"" \ - -DNAUTILUS_DATADIR=\""$(datadir)/nautilus"\" \ - -DDATADIR=\""$(datadir)"\" \ -- -DG_DISABLE_DEPRECATED \ -- -DGDK_DISABLE_DEPRECATED \ -- -DGDK_PIXBUF_DISABLE_DEPRECATED \ -- -DGTK_DISABLE_DEPRECATED \ -- -DGNOME_DISABLE_DEPRECATED \ - $(NULL) - - diff --git a/gnome-base/nautilus/files/nautilus-2.4-startup-bonobo.patch b/gnome-base/nautilus/files/nautilus-2.4-startup-bonobo.patch deleted file mode 100644 index e0862e1dff24..000000000000 --- a/gnome-base/nautilus/files/nautilus-2.4-startup-bonobo.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- src/nautilus-main.c.old 2003-10-05 18:47:28.336065464 +0800 -+++ src/nautilus-main.c 2003-10-05 18:48:37.015624584 +0800 -@@ -252,6 +252,8 @@ - - bonobo_activate (); /* do now since we need it before main loop */ - -+ application = NULL; -+ - /* Do either the self-check or the real work. */ - if (perform_self_check) { - #ifndef NAUTILUS_OMIT_SELF_CHECK -@@ -279,12 +281,17 @@ - if (is_event_loop_needed ()) { - gtk_main (); - } -- bonobo_object_unref (application); -+ - } - - poptFreeContext (popt_context); - - gnome_vfs_shutdown (); -+ -+ if( application != NULL ) { -+ bonobo_object_unref( application ); -+ } -+ - eel_debug_shut_down (); - bonobo_ui_debug_shutdown (); - diff --git a/gnome-base/nautilus/files/nautilus-2.6.3-libexif-0.6.patch b/gnome-base/nautilus/files/nautilus-2.6.3-libexif-0.6.patch deleted file mode 100644 index 8617d5e2185a..000000000000 --- a/gnome-base/nautilus/files/nautilus-2.6.3-libexif-0.6.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- nautilus-2.6.3/components/image_properties/nautilus-image-properties-view.c.oldexif 2004-09-14 19:02:02.000000000 -0400 -+++ nautilus-2.6.3/components/image_properties/nautilus-image-properties-view.c 2004-09-14 19:04:44.000000000 -0400 -@@ -124,13 +124,14 @@ - exif_content_callback (ExifContent *content, gpointer data) - { - struct ExifAttribute *attribute; -+ char tagdata[1024]; - - attribute = (struct ExifAttribute *)data; - if (attribute->found) { - return; - } - -- attribute->value = g_strdup (exif_content_get_value (content, attribute->tag)); -+ attribute->value = g_strdup (exif_content_get_value (content, attribute->tag, tagdata, sizeof(tagdata))); - if (attribute->value != NULL) { - attribute->found = TRUE; - } diff --git a/gnome-base/nautilus/files/nautilus-2.6.3-novolumes.patch b/gnome-base/nautilus/files/nautilus-2.6.3-novolumes.patch deleted file mode 100644 index dab18d295562..000000000000 --- a/gnome-base/nautilus/files/nautilus-2.6.3-novolumes.patch +++ /dev/null @@ -1,122 +0,0 @@ ---- libnautilus-private/apps_nautilus_preferences.schemas.in 20 Feb 2004 10:33:46 -0000 -+++ libnautilus-private/apps_nautilus_preferences.schemas.in 6 May 2004 06:37:07 -0000 -@@ -808,6 +808,21 @@ - - - -+ /schemas/apps/nautilus/desktop/volumes_visible -+ /apps/nautilus/desktop/volumes_visible -+ nautilus -+ bool -+ true -+ -+ Show mounted volumes on the desktop -+ -+ If this is set to true, icons linking to mounted -+ volumes will be put on the desktop. -+ -+ -+ -+ -+ - /schemas/apps/nautilus/desktop/home_icon_name - /apps/nautilus/desktop/home_icon_name - nautilus - ---- libnautilus-private/nautilus-desktop-link-monitor.c 12 Dec 2003 19:07:17 -0000 1.9 -+++ libnautilus-private/nautilus-desktop-link-monitor.c 6 May 2004 06:37:08 -0000 -@@ -116,13 +116,18 @@ create_volume_link (NautilusDesktopLinkM - GnomeVFSVolume *volume) - { - NautilusDesktopLink *link; -- -+ -+ link = NULL; -+ - if (!gnome_vfs_volume_is_user_visible (volume)) { - return; - } - -- link = nautilus_desktop_link_new_from_volume (volume); -- monitor->details->volume_links = g_list_prepend (monitor->details->volume_links, link); -+ if (eel_preferences_get_boolean (NAUTILUS_PREFERENCES_DESKTOP_VOLUMES_VISIBLE)) { -+ link = nautilus_desktop_link_new_from_volume (volume); -+ monitor->details->volume_links = g_list_prepend (monitor->details->volume_links, link); -+ } -+ - } - - -@@ -221,6 +226,30 @@ desktop_trash_visible_changed (gpointer - } - - static void -+desktop_volumes_visible_changed (gpointer callback_data) -+{ -+ GnomeVFSVolumeMonitor *volume_monitor; -+ NautilusDesktopLinkMonitor *monitor; -+ GList *l, *volumes; -+ -+ volume_monitor = gnome_vfs_get_volume_monitor (); -+ monitor = NAUTILUS_DESKTOP_LINK_MONITOR (callback_data); -+ -+ if (eel_preferences_get_boolean (NAUTILUS_PREFERENCES_DESKTOP_VOLUMES_VISIBLE) && monitor->details->volume_links == NULL) { -+ volumes = gnome_vfs_volume_monitor_get_mounted_volumes (volume_monitor); -+ for (l = volumes; l != NULL; l = l->next) { -+ create_volume_link (monitor, l->data); -+ gnome_vfs_volume_unref (l->data); -+ } -+ g_list_free (volumes); -+ } else { -+ g_list_foreach (monitor->details->volume_links, (GFunc)g_object_unref, NULL); -+ g_list_free (monitor->details->volume_links); -+ monitor->details->volume_links = NULL; -+ } -+} -+ -+static void - nautilus_desktop_link_monitor_init (gpointer object, gpointer klass) - { - NautilusDesktopLinkMonitor *monitor; -@@ -248,6 +277,7 @@ nautilus_desktop_link_monitor_init (gpoi - } - - volume_monitor = gnome_vfs_get_volume_monitor (); -+ - volumes = gnome_vfs_volume_monitor_get_mounted_volumes (volume_monitor); - for (l = volumes; l != NULL; l = l->next) { - volume = l->data; -@@ -265,8 +295,10 @@ nautilus_desktop_link_monitor_init (gpoi - eel_preferences_add_callback (NAUTILUS_PREFERENCES_DESKTOP_TRASH_VISIBLE, - desktop_trash_visible_changed, - monitor); -+ eel_preferences_add_callback (NAUTILUS_PREFERENCES_DESKTOP_VOLUMES_VISIBLE, -+ desktop_volumes_visible_changed, -+ monitor); - -- - monitor->details->mount_id = g_signal_connect_object (volume_monitor, "volume_mounted", - G_CALLBACK (volume_mounted_callback), monitor, 0); - monitor->details->unmount_id = g_signal_connect_object (volume_monitor, "volume_unmounted", -@@ -311,6 +343,9 @@ desktop_link_monitor_finalize (GObject * - monitor); - eel_preferences_remove_callback (NAUTILUS_PREFERENCES_DESKTOP_TRASH_VISIBLE, - desktop_trash_visible_changed, -+ monitor); -+ eel_preferences_remove_callback (NAUTILUS_PREFERENCES_DESKTOP_VOLUMES_VISIBLE, -+ desktop_volumes_visible_changed, - monitor); - - if (monitor->details->mount_id != 0) { - ---- libnautilus-private/nautilus-global-preferences.h 20 Feb 2004 10:33:49 -0000 1.122 -+++ libnautilus-private/nautilus-global-preferences.h 6 May 2004 06:37:08 -0000 -@@ -177,6 +177,7 @@ typedef enum - #define NAUTILUS_PREFERENCES_DESKTOP_COMPUTER_NAME "desktop/computer_icon_name" - #define NAUTILUS_PREFERENCES_DESKTOP_TRASH_VISIBLE "desktop/trash_icon_visible" - #define NAUTILUS_PREFERENCES_DESKTOP_TRASH_NAME "desktop/trash_icon_name" -+#define NAUTILUS_PREFERENCES_DESKTOP_VOLUMES_VISIBLE "desktop/volumes_visible" - - void nautilus_global_preferences_init (void); - void nautilus_global_preferences_init_with_folder_browsing (void); - diff --git a/gnome-base/nautilus/nautilus-1.0.6-r9.ebuild b/gnome-base/nautilus/nautilus-1.0.6-r9.ebuild index fb419893fd21..c4ecd4e852e6 100644 --- a/gnome-base/nautilus/nautilus-1.0.6-r9.ebuild +++ b/gnome-base/nautilus/nautilus-1.0.6-r9.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/nautilus/nautilus-1.0.6-r9.ebuild,v 1.23 2004/11/01 01:04:20 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-base/nautilus/nautilus-1.0.6-r9.ebuild,v 1.24 2004/11/21 18:56:48 foser Exp $ DESCRIPTION="nautilus" HOMEPAGE="http://www.gnome.org/projects/nautilus/" @@ -13,7 +13,7 @@ IUSE="nls mozilla" # =gnome-base/gnome-core-1.4* RDEPEND="mozilla? ( >=net-www/mozilla-1.0_rc3 ) - >=app-admin/fam-2.6.4 + virtual/fam >=media-sound/cdparanoia-3.9.8 >=gnome-base/bonobo-1.0.9-r1 >=gnome-base/libghttp-1.0.9-r1 diff --git a/gnome-base/nautilus/nautilus-2.4.2.ebuild b/gnome-base/nautilus/nautilus-2.4.2.ebuild deleted file mode 100644 index ec7c270e36ed..000000000000 --- a/gnome-base/nautilus/nautilus-2.4.2.ebuild +++ /dev/null @@ -1,72 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/nautilus/nautilus-2.4.2.ebuild,v 1.15 2004/11/08 20:50:43 vapier Exp $ - -inherit gnome2 eutils - -DESCRIPTION="A filemanager for the Gnome2 desktop" -HOMEPAGE="http://www.gnome.org/projects/nautilus/" - -LICENSE="GPL-2 LGPL-2 FDL-1.1" -SLOT="0" -KEYWORDS="x86 ppc alpha sparc hppa amd64 ia64 mips arm" -IUSE="oggvorbis cups gstreamer" - -RDEPEND=">=dev-libs/glib-2 - >=x11-libs/pango-1.2 - >=x11-libs/gtk+-2.2 - >=gnome-base/eel-${PV} - >=dev-libs/libxml2-2.4.7 - >=gnome-base/gnome-vfs-2.3.5 - >=media-sound/esound-0.2.27 - >=gnome-base/gconf-2.3 - >=gnome-base/libgnome-2.2 - >=gnome-base/libgnomeui-2.3.3 - >=gnome-base/gnome-desktop-2.2 - >=media-libs/libart_lgpl-2.3.10 - >=gnome-base/libbonobo-2.2 - >=gnome-base/libbonoboui-2.2 - >=gnome-base/librsvg-2.0.1 - >=gnome-base/orbit-2.4 - >=x11-libs/startup-notification-0.5 - dev-libs/popt - app-admin/fam - sys-apps/eject - !gstreamer? ( oggvorbis? ( media-sound/vorbis-tools ) ) - cups? ( net-print/libgnomecups - net-print/gnome-cups-manager ) - gstreamer? ( >=media-libs/gstreamer-0.6* - =media-libs/gst-plugins-0.6* )" - -DEPEND="${RDEPEND} - >=app-text/scrollkeeper-0.3.11 - >=dev-util/pkgconfig-0.12.0 - >=dev-util/intltool-0.29 - >=sys-devel/autoconf-2.58" - -PDEPEND="x11-themes/gnome-icon-theme - x11-themes/gnome-themes" - -DOCS="AUTHORS ChangeLo* HACKING INSTALL MAINTAINERS NEWS README THANKS TODO" - -G2CONF="${G2CONF} $(use_enable gstreamer)" - -src_unpack() { - - unpack ${A} - - cd ${S} - # Fix a cdda linking error. (it silently links to cdda) - epatch ${FILESDIR}/${PN}-2-disable-cdda.patch - - # Fix compile vs gtk-2.4 - epatch ${FILESDIR}/${PN}-2.4-remove_deprecation_flags.patch - - # use gstreamer for audio preview (patch by ) - use gstreamer && epatch ${FILESDIR}/${PN}-2-icon_view_gst_audio_preview.patch - # add libgnomeprint support - use cups && epatch ${FILESDIR}/${PN}-2-x-printers.patch - WANT_AUTOCONF=2.5 autoheader || die - WANT_AUTOCONF=2.5 autoconf || die - WANT_AUTOMAKE=1.4 automake || die -} diff --git a/gnome-base/nautilus/nautilus-2.6.0.ebuild b/gnome-base/nautilus/nautilus-2.6.0.ebuild deleted file mode 100644 index 58a377e8f19f..000000000000 --- a/gnome-base/nautilus/nautilus-2.6.0.ebuild +++ /dev/null @@ -1,84 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/nautilus/nautilus-2.6.0.ebuild,v 1.17 2004/11/08 20:50:43 vapier Exp $ - -inherit gnome2 eutils - -DESCRIPTION="A filemanager for the Gnome2 desktop" -HOMEPAGE="http://www.gnome.org/projects/nautilus/" - -LICENSE="GPL-2 LGPL-2 FDL-1.1" -SLOT="0" -KEYWORDS="x86 ppc alpha ~sparc hppa amd64 arm ia64 mips" -IUSE="oggvorbis cups gstreamer" - -RDEPEND=">=dev-libs/glib-2.3 - >=x11-libs/pango-1.2 - >=x11-libs/gtk+-2.3 - >=dev-libs/libxml2-2.4.7 - =gnome-base/eel-${PV}* - >=gnome-base/gnome-vfs-2.5.1 - >=media-sound/esound-0.2.27 - >=gnome-base/gconf-2 - >=gnome-base/libgnome-2.6 - >=gnome-base/libgnomeui-2.6 - >=gnome-base/gnome-desktop-2.2 - >=media-libs/libart_lgpl-2.3.10 - >=gnome-base/libbonobo-2.2 - >=gnome-base/libbonoboui-2.2 - >=gnome-base/librsvg-2.0.1 - >=gnome-base/orbit-2.4 - >=x11-libs/startup-notification-0.5 - dev-libs/popt - app-admin/fam - sys-apps/eject - cups? ( net-print/libgnomecups - net-print/gnome-cups-manager ) - !gstreamer? ( oggvorbis? ( media-sound/vorbis-tools ) ) - gstreamer? ( >=media-libs/gstreamer-0.6 - >=media-libs/gst-plugins-0.6 )" - -# FIXME : what to do with exif/jpeg config stuff ? - -DEPEND="${RDEPEND} - sys-devel/gettext - >=dev-util/intltool-0.29 - >=app-text/scrollkeeper-0.3.11 - >=dev-util/pkgconfig-0.12.0" - -PDEPEND=">=x11-themes/gnome-icon-theme-1.1.91 - x11-themes/gnome-themes" - -DOCS="AUTHORS ChangeLo* HACKING INSTALL MAINTAINERS NEWS README THANKS TODO" - -G2CONF="${G2CONF} $(use_enable gstreamer)" - -src_unpack() { - - unpack ${A} - - cd ${S} - # use gstreamer for audio preview (patch by ) - use gstreamer && epatch ${FILESDIR}/${PN}-2.6-icon_view_gst_audio_preview.patch - # add libgnomeprint support - use cups && epatch ${FILESDIR}/${PN}-2-x-printers.patch - - # regenerating only needed with patching - if use cups || use gstreamer; then - WANT_AUTOCONF=2.5 autoheader || die - WANT_AUTOCONF=2.5 autoconf || die - WANT_AUTOMAKE=1.4 automake || die - fi - -} - -pkg_postinst() { - - gnome2_pkg_postinst - - einfo "Nautilus moved to a new spatial browsing model." - einfo "If you are unhappy with this behaviour you can revert to the" - einfo "old browerslike behaviour by issueing the following command :" - einfo "gconftool-2 -s /apps/nautilus/preferences/always_use_browser -t bool TRUE" - -} diff --git a/gnome-base/nautilus/nautilus-2.6.1.ebuild b/gnome-base/nautilus/nautilus-2.6.1.ebuild deleted file mode 100644 index 20b5bafc4d60..000000000000 --- a/gnome-base/nautilus/nautilus-2.6.1.ebuild +++ /dev/null @@ -1,84 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/nautilus/nautilus-2.6.1.ebuild,v 1.9 2004/11/08 20:50:43 vapier Exp $ - -inherit gnome2 eutils - -DESCRIPTION="A filemanager for the Gnome2 desktop" -HOMEPAGE="http://www.gnome.org/projects/nautilus/" - -LICENSE="GPL-2 LGPL-2 FDL-1.1" -SLOT="0" -KEYWORDS="~x86 ~ppc ~alpha ~sparc ~hppa amd64 ~ia64 ~mips ~arm" -IUSE="oggvorbis cups gstreamer" - -RDEPEND=">=dev-libs/glib-2.3 - >=x11-libs/pango-1.2 - >=x11-libs/gtk+-2.3 - >=dev-libs/libxml2-2.4.7 - =gnome-base/eel-${PV}* - >=gnome-base/gnome-vfs-2.5.1 - >=media-sound/esound-0.2.27 - >=gnome-base/gconf-2 - >=gnome-base/libgnome-2.6 - >=gnome-base/libgnomeui-2.6 - >=gnome-base/gnome-desktop-2.2 - >=media-libs/libart_lgpl-2.3.10 - >=gnome-base/libbonobo-2.2 - >=gnome-base/libbonoboui-2.2 - >=gnome-base/librsvg-2.0.1 - >=gnome-base/orbit-2.4 - >=x11-libs/startup-notification-0.5 - dev-libs/popt - app-admin/fam - sys-apps/eject - cups? ( net-print/libgnomecups - net-print/gnome-cups-manager ) - !gstreamer? ( oggvorbis? ( media-sound/vorbis-tools ) ) - gstreamer? ( >=media-libs/gstreamer-0.6 - >=media-libs/gst-plugins-0.6 )" - -# FIXME : what to do with exif/jpeg config stuff ? - -DEPEND="${RDEPEND} - sys-devel/gettext - >=dev-util/intltool-0.29 - >=app-text/scrollkeeper-0.3.11 - >=dev-util/pkgconfig-0.12.0" - -PDEPEND=">=x11-themes/gnome-icon-theme-1.1.91 - x11-themes/gnome-themes" - -DOCS="AUTHORS ChangeLo* HACKING INSTALL MAINTAINERS NEWS README THANKS TODO" - -G2CONF="${G2CONF} $(use_enable gstreamer)" - -src_unpack() { - - unpack ${A} - - cd ${S} - # use gstreamer for audio preview (patch by ) - use gstreamer && epatch ${FILESDIR}/${PN}-2.6-icon_view_gst_audio_preview.patch - # add libgnomeprint support - use cups && epatch ${FILESDIR}/${PN}-2-x-printers.patch - - # regenerating only needed with patching - if use cups || use gstreamer; then - WANT_AUTOCONF=2.5 autoheader || die - WANT_AUTOCONF=2.5 autoconf || die - WANT_AUTOMAKE=1.4 automake || die - fi - -} - -pkg_postinst() { - - gnome2_pkg_postinst - - einfo "Nautilus moved to a new spatial browsing model." - einfo "If you are unhappy with this behaviour you can revert to the" - einfo "old browerslike behaviour by issueing the following command :" - einfo "gconftool-2 -s /apps/nautilus/preferences/always_use_browser -t bool TRUE" - -} diff --git a/gnome-base/nautilus/nautilus-2.6.3-r1.ebuild b/gnome-base/nautilus/nautilus-2.6.3-r1.ebuild deleted file mode 100644 index ca1e4bbe276f..000000000000 --- a/gnome-base/nautilus/nautilus-2.6.3-r1.ebuild +++ /dev/null @@ -1,99 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/nautilus/nautilus-2.6.3-r1.ebuild,v 1.6 2004/11/08 20:50:43 vapier Exp $ - -inherit gnome2 eutils - -DESCRIPTION="A filemanager for the Gnome2 desktop" -HOMEPAGE="http://www.gnome.org/projects/nautilus/" - -LICENSE="GPL-2 LGPL-2 FDL-1.1" -SLOT="0" -KEYWORDS="~x86 ~ppc ~alpha ~sparc ~hppa ~amd64 ~ia64 ~mips ~arm" -IUSE="oggvorbis cups gstreamer mad" - -# eel was not updated the last run, return eel to the following the next bump: -# =gnome-base/eel-${PV}* -RDEPEND=">=dev-libs/glib-2.3 - >=x11-libs/pango-1.2 - >=x11-libs/gtk+-2.3 - >=dev-libs/libxml2-2.4.7 - =gnome-base/eel-2.6.2* - >=gnome-base/gnome-vfs-2.5.1 - >=media-sound/esound-0.2.27 - >=gnome-base/gconf-2 - >=gnome-base/libgnome-2.6 - >=gnome-base/libgnomeui-2.6 - >=gnome-base/gnome-desktop-2.2 - >=media-libs/libart_lgpl-2.3.10 - >=gnome-base/libbonobo-2.2 - >=gnome-base/libbonoboui-2.2 - >=gnome-base/librsvg-2.0.1 - >=gnome-base/orbit-2.4 - >=x11-libs/startup-notification-0.5 - dev-libs/popt - app-admin/fam - sys-apps/eject - cups? ( net-print/libgnomecups - net-print/gnome-cups-manager ) - !gstreamer? ( oggvorbis? ( media-sound/vorbis-tools ) ) - gstreamer? ( - >=media-libs/gstreamer-0.8 - >=media-libs/gst-plugins-0.8 - >=media-plugins/gst-plugins-gnomevfs-0.8 - mad? ( >=media-plugins/gst-plugins-mad-0.8 ) - oggvorbis? ( - >=media-plugins/gst-plugins-ogg-0.8 - >=media-plugins/gst-plugins-vorbis-0.8 - ) - )" -# Add this once its tested by various other arches, bug #56703 -# flac? ( >=media-plugins/gst-plugins-flac-0.8 ) -# FIXME : what to do with exif/jpeg config stuff ? - -DEPEND="${RDEPEND} - sys-devel/gettext - >=dev-util/intltool-0.29 - >=app-text/scrollkeeper-0.3.11 - >=dev-util/pkgconfig-0.12.0" - -PDEPEND=">=x11-themes/gnome-icon-theme-1.1.91 - x11-themes/gnome-themes" - -DOCS="AUTHORS ChangeLo* HACKING INSTALL MAINTAINERS NEWS README THANKS TODO" - -G2CONF="${G2CONF} $(use_enable gstreamer)" - -src_unpack() { - - unpack ${A} - - cd ${S} - # use gstreamer for audio preview (patch by ) - use gstreamer && epatch ${FILESDIR}/${PN}-2.6-icon_view_gst_audio_preview.patch - # add libgnomeprint support - use cups && epatch ${FILESDIR}/${PN}-2-x-printers.patch - - # regenerating only needed with patching - if use cups || use gstreamer; then - WANT_AUTOCONF=2.5 autoheader || die - WANT_AUTOCONF=2.5 autoconf || die - WANT_AUTOMAKE=1.4 automake || die - fi - - # applying patch to optionally remove volumes from the desktop, - # see bug #51343 - epatch ${FILESDIR}/${P}-novolumes.patch - has_version '>=media-libs/libexif-0.6' && epatch ${FILESDIR}/${P}-libexif-0.6.patch -} - -pkg_postinst() { - - gnome2_pkg_postinst - - einfo "Nautilus moved to a new spatial browsing model." - einfo "If you are unhappy with this behaviour you can revert to the" - einfo "old browerslike behaviour by issueing the following command :" - einfo "gconftool-2 -s /apps/nautilus/preferences/always_use_browser -t bool TRUE" - -} diff --git a/gnome-base/nautilus/nautilus-2.6.3.ebuild b/gnome-base/nautilus/nautilus-2.6.3.ebuild index a3788b768010..13da70feb06e 100644 --- a/gnome-base/nautilus/nautilus-2.6.3.ebuild +++ b/gnome-base/nautilus/nautilus-2.6.3.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/nautilus/nautilus-2.6.3.ebuild,v 1.11 2004/11/08 20:50:44 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-base/nautilus/nautilus-2.6.3.ebuild,v 1.12 2004/11/21 18:56:48 foser Exp $ inherit gnome2 eutils @@ -32,7 +32,7 @@ RDEPEND=">=dev-libs/glib-2.3 >=gnome-base/orbit-2.4 >=x11-libs/startup-notification-0.5 dev-libs/popt - app-admin/fam + virtual/fam sys-apps/eject cups? ( net-print/libgnomecups net-print/gnome-cups-manager ) diff --git a/gnome-base/nautilus/nautilus-2.8.0.ebuild b/gnome-base/nautilus/nautilus-2.8.0.ebuild index eff0795a345a..f31067df2eca 100644 --- a/gnome-base/nautilus/nautilus-2.8.0.ebuild +++ b/gnome-base/nautilus/nautilus-2.8.0.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/nautilus/nautilus-2.8.0.ebuild,v 1.7 2004/11/12 04:10:50 gustavoz Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-base/nautilus/nautilus-2.8.0.ebuild,v 1.8 2004/11/21 18:56:48 foser Exp $ inherit gnome2 eutils @@ -30,7 +30,7 @@ RDEPEND=">=dev-libs/glib-2.3 >=gnome-base/orbit-2.4 >=x11-libs/startup-notification-0.5 dev-libs/popt - app-admin/fam + virtual/fam sys-apps/eject cups? ( net-print/libgnomecups net-print/gnome-cups-manager ) @@ -46,7 +46,6 @@ RDEPEND=">=dev-libs/glib-2.3 flac? ( >=media-plugins/gst-plugins-flac-0.8 ) )" -# FIXME : virtualize fam # FIXME : what to do with exif/jpeg config stuff ? DEPEND="${RDEPEND} -- cgit v1.2.3-65-gdbad