Index: /unk/third/nautilus/libnautilus-extensions/bug-5712-pr3-workaround--gdkimage.c
===================================================================
--- /trunk/third/nautilus/libnautilus-extensions/bug-5712-pr3-workaround--gdkimage.c (revision 15547)
+++  (revision )
@@ -1,133 +1,0 @@
-/* FIXME bugzilla.eazel.com 5813:
- * As soon as gtk 1.2.9 is released, this hack needs to be exorcised.
- */
-
-
-/* GDK - The GIMP Drawing Kit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GTK+ Team and others 1997-1999.  See the AUTHORS
- * file for a list of people on the GTK+ Team.  See the ChangeLog
- * files for a list of changes.  These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 
- */
-
-#include <config.h>
-
-#include <errno.h>
-#include <stdlib.h>
-#include <sys/types.h>
-
-#include <gdk/gdk.h>
-#include <gdk/gdkprivate.h>
-
-static void gdk_image_put_normal (GdkDrawable *drawable,
-				  GdkGC       *gc,
-				  GdkImage    *image,
-				  gint         xsrc,
-				  gint         ysrc,
-				  gint         xdest,
-				  gint         ydest,
-				  gint         width,
-				  gint         height);
-
-GdkImage* NAUTILUS_BUG_5712_PR3_WORKAROUND__gdk_image_get (GdkWindow *window,
-							   gint       x,
-							   gint       y,
-							   gint       width,
-							   gint       height);
-
-GdkImage*
-NAUTILUS_BUG_5712_PR3_WORKAROUND__gdk_image_get (GdkWindow *window,
-	       gint       x,
-	       gint       y,
-	       gint       width,
-	       gint       height)
-{
-  GdkImage *image;
-  GdkImagePrivate *private;
-  GdkWindowPrivate *win_private;
-  XImage *ximage;
-
-  g_return_val_if_fail (window != NULL, NULL);
-
-  win_private = (GdkWindowPrivate *) window;
-  if (win_private->destroyed)
-    return NULL;
-
-  ximage = XGetImage (gdk_display,
-		      win_private->xwindow,
-		      x, y, width, height,
-		      AllPlanes, ZPixmap);
-  
-  if (ximage == NULL)
-    return NULL;
-  
-  private = g_new (GdkImagePrivate, 1);
-  image = (GdkImage*) private;
-
-  private->xdisplay = gdk_display;
-  private->image_put = gdk_image_put_normal;
-  private->ximage = ximage;
-  image->type = GDK_IMAGE_NORMAL;
-  image->visual = gdk_window_get_visual (window);
-  image->width = width;
-  image->height = height;
-  image->depth = private->ximage->depth;
-
-  image->mem = private->ximage->data;
-  image->bpl = private->ximage->bytes_per_line;
-  image->bpp = private->ximage->bits_per_pixel;
-  image->byte_order = private->ximage->byte_order;
-
-  return image;
-}
-
-static void
-gdk_image_put_normal (GdkDrawable *drawable,
-		      GdkGC       *gc,
-		      GdkImage    *image,
-		      gint         xsrc,
-		      gint         ysrc,
-		      gint         xdest,
-		      gint         ydest,
-		      gint         width,
-		      gint         height)
-{
-  GdkWindowPrivate *drawable_private;
-  GdkImagePrivate *image_private;
-  GdkGCPrivate *gc_private;
-
-  g_return_if_fail (drawable != NULL);
-  g_return_if_fail (image != NULL);
-  g_return_if_fail (gc != NULL);
-
-  drawable_private = (GdkWindowPrivate*) drawable;
-  if (drawable_private->destroyed)
-    return;
-  image_private = (GdkImagePrivate*) image;
-  gc_private = (GdkGCPrivate*) gc;
-
-  g_return_if_fail (image->type == GDK_IMAGE_NORMAL);
-
-  XPutImage (drawable_private->xdisplay, drawable_private->xwindow,
-	     gc_private->xgc, image_private->ximage,
-	     xsrc, ysrc, xdest, ydest, width, height);
-}
Index: /unk/third/nautilus/libnautilus-extensions/bug-5712-pr3-workaround--gdk-pixbuf-private.h
===================================================================
--- /trunk/third/nautilus/libnautilus-extensions/bug-5712-pr3-workaround--gdk-pixbuf-private.h (revision 15547)
+++  (revision )
@@ -1,109 +1,0 @@
-/* FIXME bugzilla.eazel.com 5813:
- * As soon as gtk 1.2.9 is released, this hack needs to be exorcised.
- */
-
-/* GdkPixbuf library - Private declarations
- *
- * Copyright (C) 1999 The Free Software Foundation
- *
- * Authors: Mark Crichton <crichton@gimp.org>
- *          Miguel de Icaza <miguel@gnu.org>
- *          Federico Mena-Quintero <federico@gimp.org>
- *          Havoc Pennington <hp@redhat.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef GDK_PIXBUF_PRIVATE_H
-#define GDK_PIXBUF_PRIVATE_H
-
-#include <gdk-pixbuf/gdk-pixbuf.h>
-
-
-
-/* Private part of the GdkPixbuf structure */
-struct _GdkPixbuf {
-	/* Reference count */
-	int ref_count;
-
-	/* Color space */
-	GdkColorspace colorspace;
-
-	/* Number of channels, alpha included */
-	int n_channels;
-
-	/* Bits per channel */
-	int bits_per_sample;
-
-	/* Size */
-	int width, height;
-
-	/* Offset between rows */
-	int rowstride;
-
-	/* The pixel array */
-	guchar *pixels;
-
-	/* Destroy notification function; it is supposed to free the pixel array */
-	GdkPixbufDestroyNotify destroy_fn;
-
-	/* User data for the destroy notification function */
-	gpointer destroy_fn_data;
-
-	/* Last unref handler, determines whether the pixbuf should be finalized */
-	GdkPixbufLastUnref last_unref_fn;
-
-	/* User data for the last unref handler */
-	gpointer last_unref_fn_data;
-
-	/* Do we have an alpha channel? */
-	guint has_alpha : 1;
-};
-
-/* Private part of the GdkPixbufFrame structure */
-struct _GdkPixbufFrame {
-	/* The pixbuf with this frame's image data */
-	GdkPixbuf *pixbuf;
-
-	/* Offsets for overlaying onto the animation's area */
-	int x_offset;
-	int y_offset;
-
-	/* Frame duration in ms */
-	int delay_time;
-
-	/* Overlay mode */
-	GdkPixbufFrameAction action;
-};
-
-/* Private part of the GdkPixbufAnimation structure */
-struct _GdkPixbufAnimation {
-	/* Reference count */
-	int ref_count;
-
-	/* Number of frames */
-        int n_frames;
-
-	/* List of GdkPixbufFrame structures */
-        GList *frames;
-
-	/* bounding box size */
-	int width, height;
-};
-
-
-
-#endif
Index: /unk/third/nautilus/libnautilus-extensions/bug-5712-pr3-workaround--gdk-pixbuf-drawable.c
===================================================================
--- /trunk/third/nautilus/libnautilus-extensions/bug-5712-pr3-workaround--gdk-pixbuf-drawable.c (revision 15547)
+++  (revision )
@@ -1,1196 +1,0 @@
-/* FIXME bugzilla.eazel.com 5813:
- * As soon as gtk 1.2.9 is released, this hack needs to be exorcised.
- */
-
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/* GdkPixbuf library - convert X drawable information to RGB
- *
- * Copyright (C) 1999 Michael Zucchi
- *
- * Authors: Michael Zucchi <zucchi@zedzone.mmc.com.au>
- *          Cody Russell <bratsche@gnome.org>
- * 	    Federico Mena-Quintero <federico@gimp.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include <config.h>
-#include <stdio.h>
-#include <string.h>
-#include "bug-5712-pr3-workaround--gdk-pixbuf-private.h"
-
-#if (G_BYTE_ORDER == G_LITTLE_ENDIAN)
-#define LITTLE
-#endif
-#define d(x)
-
-
-
-static guint32 mask_table[] = {
-	0x00000000, 0x00000001, 0x00000003, 0x00000007,
-	0x0000000f, 0x0000001f, 0x0000003f, 0x0000007f,
-	0x000000ff, 0x000001ff, 0x000003ff, 0x000007ff,
-	0x00000fff, 0x00001fff, 0x00003fff, 0x00007fff,
-	0x0000ffff, 0x0001ffff, 0x0003ffff, 0x0007ffff,
-	0x000fffff, 0x001fffff, 0x003fffff, 0x007fffff,
-	0x00ffffff, 0x01ffffff, 0x03ffffff, 0x07ffffff,
-	0x0fffffff, 0x1fffffff, 0x3fffffff, 0x7fffffff,
-	0xffffffff
-};
-
-
-
-/*
-  convert 1 bits-pixel data
-  no alpha
-*/
-static void
-rgb1 (GdkImage *image, guchar *pixels, int rowstride, GdkColormap *colormap)
-{
-	int xx, yy;
-	int width, height;
-	int bpl;
-	guint8 *s;
-	register guint8 data;
-	guint8 *o;
-	guint8 *srow = image->mem, *orow = pixels;
-
-	d (printf ("1 bits/pixel\n"));
-
-	/* convert upto 8 pixels/time */
-	/* its probably not worth trying to make this run very fast, who uses
-	   1 bit displays anymore? */
-	width = image->width;
-	height = image->height;
-	bpl = image->bpl;
-
-	for (yy = 0; yy < height; yy++) {
-		s = srow;
-		o = orow;
-
-		for (xx = 0; xx < width; xx ++) {
-			data = srow[xx >> 3] >> (7 - (xx & 7)) & 1;
-			*o++ = colormap->colors[data].red;
-			*o++ = colormap->colors[data].green;
-			*o++ = colormap->colors[data].blue;
-		}
-		srow += bpl;
-		orow += rowstride;
-	}
-}
-
-/*
-  convert 1 bits/pixel data
-  with alpha
-*/
-static void
-rgb1a (GdkImage *image, guchar *pixels, int rowstride, GdkColormap *colormap)
-{
-	int xx, yy;
-	int width, height;
-	int bpl;
-	guint8 *s;
-	register guint8 data;
-	guint8 *o;
-	guint8 *srow = image->mem, *orow = pixels;
-	guint32 remap[2];
-
-	d (printf ("1 bits/pixel\n"));
-
-	/* convert upto 8 pixels/time */
-	/* its probably not worth trying to make this run very fast, who uses
-	   1 bit displays anymore? */
-	width = image->width;
-	height = image->height;
-	bpl = image->bpl;
-
-	for (xx = 0; xx < 2; xx++) {
-#ifdef LITTLE
-		remap[xx] = 0xff000000
-			| colormap->colors[xx].blue << 16
-			| colormap->colors[xx].green << 8
-			| colormap->colors[xx].red;
-#else
-		remap[xx] = 0xff
-			| colormap->colors[xx].red << 24
-			| colormap->colors[xx].green << 16
-			| colormap->colors[xx].blue << 8;
-#endif
-	}
-
-	for (yy = 0; yy < height; yy++) {
-		s = srow;
-		o = orow;
-
-		for (xx = 0; xx < width; xx ++) {
-			data = srow[xx >> 3] >> (7 - (xx & 7)) & 1;
-			*o++ = remap[data];
-		}
-		srow += bpl;
-		orow += rowstride;
-	}
-}
-
-/*
-  convert 8 bits/pixel data
-  no alpha
-*/
-static void
-rgb8 (GdkImage *image, guchar *pixels, int rowstride, GdkColormap *colormap)
-{
-	int xx, yy;
-	int width, height;
-	int bpl;
-	guint32 mask;
-	register guint32 data;
-	guint8 *srow = image->mem, *orow = pixels;
-	register guint8 *s;
-	register guint8 *o;
-
-	width = image->width;
-	height = image->height;
-	bpl = image->bpl;
-
-	d (printf ("8 bit, no alpha output\n"));
-
-	mask = mask_table[image->depth];
-
-	for (yy = 0; yy < height; yy++) {
-		s = srow;
-		o = orow;
-		for (xx = 0; xx < width; xx++) {
-			data = *s++ & mask;
-			*o++ = colormap->colors[data].red;
-			*o++ = colormap->colors[data].green;
-			*o++ = colormap->colors[data].blue;
-		}
-		srow += bpl;
-		orow += rowstride;
-	}
-}
-
-/*
-  convert 8 bits/pixel data
-  with alpha
-*/
-static void
-rgb8a (GdkImage *image, guchar *pixels, int rowstride, GdkColormap *colormap)
-{
-	int xx, yy;
-	int width, height;
-	int bpl;
-	guint32 mask;
-	register guint32 data;
-	guint32 remap[256];
-	register guint8 *s;	/* read 2 pixels at once */
-	register guint32 *o;
-	guint8 *srow = image->mem, *orow = pixels;
-
-	width = image->width;
-	height = image->height;
-	bpl = image->bpl;
-
-	d (printf ("8 bit, with alpha output\n"));
-
-	mask = mask_table[image->depth];
-
-	for (xx = 0; xx < colormap->size; xx++) {
-#ifdef LITTLE
-		remap[xx] = 0xff000000
-			| colormap->colors[xx].blue << 16
-			| colormap->colors[xx].green << 8
-			| colormap->colors[xx].red;
-#else
-		remap[xx] = 0xff
-			| colormap->colors[xx].red << 24
-			| colormap->colors[xx].green << 16
-			| colormap->colors[xx].blue << 8;
-#endif
-	}
-
-	for (yy = 0; yy < height; yy++) {
-		s = srow;
-		o = (guint32 *) orow;
-		for (xx = 0; xx < width; xx ++) {
-			data = *s++ & mask;
-			*o++ = remap[data];
-		}
-		srow += bpl;
-		orow += rowstride;
-	}
-}
-
-/*
-  convert 16 bits/pixel data
-  no alpha
-  data in lsb format
-*/
-static void
-rgb565lsb (GdkImage *image, guchar *pixels, int rowstride, GdkColormap *colormap)
-{
-	int xx, yy;
-	int width, height;
-	int bpl;
-
-#ifdef LITTLE
-	register guint32 *s;	/* read 2 pixels at once */
-#else
-	register guint8 *s;	/* read 2 pixels at once */
-#endif
-	register guint16 *o;
-	guint8 *srow = image->mem, *orow = pixels;
-
-	width = image->width;
-	height = image->height;
-	bpl = image->bpl;
-
-	for (yy = 0; yy < height; yy++) {
-#ifdef LITTLE
-		s = (guint32 *) srow;
-#else
-		s = srow;
-#endif
-		o = (guint16 *) orow;
-		for (xx = 1; xx < width; xx += 2) {
-			register guint32 data;
-#ifdef LITTLE
-			data = *s++;
-			*o++ = (data & 0xf800) >> 8 | (data & 0xe000) >> 13
-				| (data & 0x7e0) << 5 | (data & 0x600) >> 1;
-			*o++ = (data & 0x1f) << 3 | (data & 0x1c) >> 2
-				| (data & 0xf8000000) >> 16 | (data & 0xe0000000) >> 21;
-			*o++ = (data & 0x7e00000) >> 19 | (data & 0x6000000) >> 25
-				| (data & 0x1f0000) >> 5 | (data & 0x1c0000) >> 10;
-#else
-			/* swap endianness first */
-			data = s[0] | s[1] << 8 | s[2] << 16 | s[3] << 24;
-			s += 4;
-			*o++ = (data & 0xf800) | (data & 0xe000) >> 5
-				| (data & 0x7e0) >> 3 | (data & 0x600) >> 9;
-			*o++ = (data & 0x1f) << 11 | (data & 0x1c) << 6
-				| (data & 0xf8000000) >> 24 | (data & 0xe0000000) >> 29;
-			*o++ = (data & 0x7e00000) >> 11 | (data & 0x6000000) >> 17
-				| (data & 0x1f0000) >> 13 | (data & 0x1c0000) >> 18;
-#endif
-		}
-		/* check for last remaining pixel */
-		if (width & 1) {
-			register guint16 data;
-#ifdef LITTLE
-			data = *((short *) s);
-#else
-			data = *((short *) s);
-			data = ((data >> 8) & 0xff) | ((data & 0xff) << 8);
-#endif
-			((char *) o)[0] = ((data >> 8) & 0xf8) | ((data >> 13) & 0x7);
-			((char *) o)[1] = ((data >> 3) & 0xfc) | ((data >> 9) & 0x3);
-			((char *) o)[2] = ((data << 3) & 0xf8) | ((data >> 2) & 0x7);
-		}
-		srow += bpl;
-		orow += rowstride;
-	}
-}
-
-/*
-  convert 16 bits/pixel data
-  no alpha
-  data in msb format
-*/
-static void
-rgb565msb (GdkImage *image, guchar *pixels, int rowstride, GdkColormap *colormap)
-{
-	int xx, yy;
-	int width, height;
-	int bpl;
-
-#ifdef LITTLE
-	register guint8 *s;	/* need to swap data order */
-#else
-	register guint32 *s;	/* read 2 pixels at once */
-#endif
-	register guint16 *o;
-	guint8 *srow = image->mem, *orow = pixels;
-
-	width = image->width;
-	height = image->height;
-	bpl = image->bpl;
-
-	for (yy = 0; yy < height; yy++) {
-#ifdef LITTLE
-		s = srow;
-#else
-		s = (guint32 *) srow;
-#endif
-		o = (guint16 *) orow;
-		for (xx = 1; xx < width; xx += 2) {
-			register guint32 data;
-#ifdef LITTLE
-			/* swap endianness first */
-			data = s[0] | s[1] << 8 | s[2] << 16 | s[3] << 24;
-			s += 4;
-			*o++ = (data & 0xf800) >> 8 | (data & 0xe000) >> 13
-				| (data & 0x7e0) << 5 | (data & 0x600) >> 1;
-			*o++ = (data & 0x1f) << 3 | (data & 0x1c) >> 2
-				| (data & 0xf8000000) >> 16 | (data & 0xe0000000) >> 21;
-			*o++ = (data & 0x7e00000) >> 19 | (data & 0x6000000) >> 25
-				| (data & 0x1f0000) >> 5 | (data & 0x1c0000) >> 10;
-#else
-			data = *s++;
-			*o++ = (data & 0xf800) | (data & 0xe000) >> 5
-				| (data & 0x7e0) >> 3 | (data & 0x600) >> 9;
-			*o++ = (data & 0x1f) << 11 | (data & 0x1c) << 6
-				| (data & 0xf8000000) >> 24 | (data & 0xe0000000) >> 29;
-			*o++ = (data & 0x7e00000) >> 11 | (data & 0x6000000) >> 17
-				| (data & 0x1f0000) >> 13 | (data & 0x1c0000) >> 18;
-#endif
-		}
-		/* check for last remaining pixel */
-		if (width & 1) {
-			register guint16 data;
-#ifdef LITTLE
-			data = *((short *) s);
-			data = ((data >> 8) & 0xff) | ((data & 0xff) << 8);
-#else
-			data = *((short *) s);
-#endif
-			((char *) o)[0] = ((data >> 8) & 0xf8) | ((data >> 13) & 0x7);
-			((char *) o)[1] = ((data >> 3) & 0xfc) | ((data >> 9) & 0x3);
-			((char *) o)[2] = ((data << 3) & 0xf8) | ((data >> 2) & 0x7);
-		}
-		srow += bpl;
-		orow += rowstride;
-	}
-}
-
-/*
-  convert 16 bits/pixel data
-  with alpha
-  data in lsb format
-*/
-static void
-rgb565alsb (GdkImage *image, guchar *pixels, int rowstride, GdkColormap *colormap)
-{
-	int xx, yy;
-	int width, height;
-	int bpl;
-
-#ifdef LITTLE
-	register guint16 *s;	/* read 1 pixels at once */
-#else
-	register guint8 *s;
-#endif
-	register guint32 *o;
-
-	guint8 *srow = image->mem, *orow = pixels;
-
-	width = image->width;
-	height = image->height;
-	bpl = image->bpl;
-
-	for (yy = 0; yy < height; yy++) {
-#ifdef LITTLE
-		s = (guint16 *) srow;
-#else
-		s = (guint8 *) srow;
-#endif
-		o = (guint32 *) orow;
-		for (xx = 0; xx < width; xx ++) {
-			register guint32 data;
-			/*  rrrrrggg gggbbbbb -> rrrrrRRR ggggggGG bbbbbBBB aaaaaaaa */
-			/*  little endian: aaaaaaaa bbbbbBBB ggggggGG rrrrrRRR */
-#ifdef LITTLE
-			data = *s++;
-			*o++ = (data & 0xf800) >> 8 | (data & 0xe000) >> 13
-				| (data & 0x7e0) << 5 | (data & 0x600) >> 1
-				| (data & 0x1f) << 19 | (data & 0x1c) << 14
-				| 0xff000000;
-#else
-			/* swap endianness first */
-			data = s[0] | s[1] << 8;
-			s += 2;
-			*o++ = (data & 0xf800) << 16 | (data & 0xe000) << 11
-				| (data & 0x7e0) << 13 | (data & 0x600) << 7
-				| (data & 0x1f) << 11 | (data & 0x1c) << 6
-				| 0xff;
-#endif
-		}
-		srow += bpl;
-		orow += rowstride;
-	}
-}
-
-/*
-  convert 16 bits/pixel data
-  with alpha
-  data in msb format
-*/
-static void
-rgb565amsb (GdkImage *image, guchar *pixels, int rowstride, GdkColormap *colormap)
-{
-	int xx, yy;
-	int width, height;
-	int bpl;
-
-#ifdef LITTLE
-	register guint8 *s;
-#else
-	register guint16 *s;	/* read 1 pixels at once */
-#endif
-	register guint32 *o;
-
-	guint8 *srow = image->mem, *orow = pixels;
-
-	width = image->width;
-	height = image->height;
-	bpl = image->bpl;
-
-	for (yy = 0; yy < height; yy++) {
-		s = srow;
-		o = (guint32 *) orow;
-		for (xx = 0; xx < width; xx ++) {
-			register guint32 data;
-			/*  rrrrrggg gggbbbbb -> rrrrrRRR gggggg00 bbbbbBBB aaaaaaaa */
-			/*  little endian: aaaaaaaa bbbbbBBB gggggg00 rrrrrRRR */
-#ifdef LITTLE
-			/* swap endianness first */
-			data = s[0] | s[1] << 8;
-			s += 2;
-			*o++ = (data & 0xf800) >> 8 | (data & 0xe000) >> 13
-				| (data & 0x7e0) << 5 | (data & 0x600) >> 1
-				| (data & 0x1f) << 19 | (data & 0x1c) << 14
-				| 0xff000000;
-#else
-			data = *s++;
-			*o++ = (data & 0xf800) << 16 | (data & 0xe000) << 11
-				| (data & 0x7e0) << 13 | (data & 0x600) << 7
-				| (data & 0x1f) << 11 | (data & 0x1c) << 6
-				| 0xff;
-#endif
-		}
-		srow += bpl;
-		orow += rowstride;
-	}
-}
-
-/*
-  convert 15 bits/pixel data
-  no alpha
-  data in lsb format
-*/
-static void
-rgb555lsb (GdkImage *image, guchar *pixels, int rowstride, GdkColormap *colormap)
-{
-	int xx, yy;
-	int width, height;
-	int bpl;
-
-#ifdef LITTLE
-	register guint32 *s;	/* read 2 pixels at once */
-#else
-	register guint8 *s;	/* read 2 pixels at once */
-#endif
-	register guint16 *o;
-	guint8 *srow = image->mem, *orow = pixels;
-
-	width = image->width;
-	height = image->height;
-	bpl = image->bpl;
-
-	for (yy = 0; yy < height; yy++) {
-#ifdef LITTLE
-		s = (guint32 *) srow;
-#else
-		s = srow;
-#endif
-		o = (guint16 *) orow;
-		for (xx = 1; xx < width; xx += 2) {
-			register guint32 data;
-#ifdef LITTLE
-			data = *s++;
-			*o++ = (data & 0x7c00) >> 7 | (data & 0x7000) >> 12
-				| (data & 0x3e0) << 6 | (data & 0x380) << 1;
-			*o++ = (data & 0x1f) << 3 | (data & 0x1c) >> 2
-				| (data & 0x7c000000) >> 15 | (data & 0x70000000) >> 20;
-			*o++ = (data & 0x3e00000) >> 18 | (data & 0x3800000) >> 23
-				| (data & 0x1f0000) >> 5 | (data & 0x1c0000) >> 10;
-#else
-			/* swap endianness first */
-			data = s[0] | s[1] << 8 | s[2] << 16 | s[3] << 24;
-			s += 4;
-			*o++ = (data & 0x7c00) << 1 | (data & 0x7000) >> 4
-				| (data & 0x3e0) >> 2 | (data & 0x380) >> 7;
-			*o++ = (data & 0x1f) << 11 | (data & 0x1c) << 6
-				| (data & 0x7c000000) >> 23 | (data & 0x70000000) >> 28;
-			*o++ = (data & 0x3e00000) >> 10 | (data & 0x3800000) >> 15
-				| (data & 0x1f0000) >> 13 | (data & 0x1c0000) >> 18;
-#endif
-		}
-		/* check for last remaining pixel */
-		if (width & 1) {
-			register guint16 data;
-#ifdef LITTLE
-			data = *((short *) s);
-#else
-			data = *((short *) s);
-			data = ((data >> 8) & 0xff) | ((data & 0xff) << 8);
-#endif
-			((char *) o)[0] = (data & 0x7c00) >> 7 | (data & 0x7000) >> 12;
-			((char *) o)[1] = (data & 0x3e0) >> 2 | (data & 0x380) >> 7;
-			((char *) o)[2] = (data & 0x1f) << 3 | (data & 0x1c) >> 2;
-		}
-		srow += bpl;
-		orow += rowstride;
-	}
-}
-
-/*
-  convert 15 bits/pixel data
-  no alpha
-  data in msb format
-*/
-static void
-rgb555msb (GdkImage *image, guchar *pixels, int rowstride, GdkColormap *colormap)
-{
-	int xx, yy;
-	int width, height;
-	int bpl;
-
-#ifdef LITTLE
-	register guint8 *s;	/* read 2 pixels at once */
-#else
-	register guint32 *s;	/* read 2 pixels at once */
-#endif
-	register guint16 *o;
-	guint8 *srow = image->mem, *orow = pixels;
-
-	width = image->width;
-	height = image->height;
-	bpl = image->bpl;
-
-	for (yy = 0; yy < height; yy++) {
-		s = srow;
-		o = (guint16 *) orow;
-		for (xx = 1; xx < width; xx += 2) {
-			register guint32 data;
-#ifdef LITTLE
-			/* swap endianness first */
-			data = s[0] | s[1] << 8 | s[2] << 16 | s[3] << 24;
-			s += 4;
-			*o++ = (data & 0x7c00) >> 7 | (data & 0x7000) >> 12
-				| (data & 0x3e0) << 6 | (data & 0x380) << 1;
-			*o++ = (data & 0x1f) << 3 | (data & 0x1c) >> 2
-				| (data & 0x7c000000) >> 15 | (data & 0x70000000) >> 20;
-			*o++ = (data & 0x3e00000) >> 18 | (data & 0x3800000) >> 23
-				| (data & 0x1f0000) >> 5 | (data & 0x1c0000) >> 10;
-#else
-			data = *s++;
-			*o++ = (data & 0x7c00) << 1 | (data & 0x7000) >> 4
-				| (data & 0x3e0) >> 2 | (data & 0x380) >> 7;
-			*o++ = (data & 0x1f) << 11 | (data & 0x1c) << 6
-				| (data & 0x7c000000) >> 23 | (data & 0x70000000) >> 28;
-			*o++ = (data & 0x3e00000) >> 10 | (data & 0x3800000) >> 15
-				| (data & 0x1f0000) >> 13 | (data & 0x1c0000) >> 18;
-#endif
-		}
-		/* check for last remaining pixel */
-		if (width & 1) {
-			register guint16 data;
-#ifdef LITTLE
-			data = *((short *) s);
-			data = ((data >> 8) & 0xff) | ((data & 0xff) << 8);
-#else
-			data = *((short *) s);
-#endif
-			((char *) o)[0] = (data & 0x7c00) >> 7 | (data & 0x7000) >> 12;
-			((char *) o)[1] = (data & 0x3e0) >> 2 | (data & 0x380) >> 7;
-			((char *) o)[2] = (data & 0x1f) << 3 | (data & 0x1c) >> 2;
-		}
-		srow += bpl;
-		orow += rowstride;
-	}
-}
-
-/*
-  convert 15 bits/pixel data
-  with alpha
-  data in lsb format
-*/
-static void
-rgb555alsb (GdkImage *image, guchar *pixels, int rowstride, GdkColormap *colormap)
-{
-	int xx, yy;
-	int width, height;
-	int bpl;
-
-#ifdef LITTLE
-	register guint16 *s;	/* read 1 pixels at once */
-#else
-	register guint8 *s;
-#endif
-	register guint32 *o;
-
-	guint8 *srow = image->mem, *orow = pixels;
-
-	width = image->width;
-	height = image->height;
-	bpl = image->bpl;
-
-	for (yy = 0; yy < height; yy++) {
-#ifdef LITTLE
-		s = (guint16 *) srow;
-#else
-		s = srow;
-#endif
-		o = (guint32 *) orow;
-		for (xx = 0; xx < width; xx++) {
-			register guint32 data;
-			/*  rrrrrggg gggbbbbb -> rrrrrRRR gggggGGG bbbbbBBB aaaaaaaa */
-			/*  little endian: aaaaaaaa bbbbbBBB gggggGGG rrrrrRRR */
-#ifdef LITTLE
-			data = *s++;
-			*o++ = (data & 0x7c00) >> 7 | (data & 0x7000) >> 12
-				| (data & 0x3e0) << 6 | (data & 0x380) << 1
-				| (data & 0x1f) << 19 | (data & 0x1c) << 14
-				| 0xff000000;
-#else
-			/* swap endianness first */
-			data = s[0] | s[1] << 8;
-			s += 2;
-			*o++ = (data & 0x7c00) << 17 | (data & 0x7000) << 12
-				| (data & 0x3e0) << 14 | (data & 0x380) << 9
-				| (data & 0x1f) << 11 | (data & 0x1c) << 6
-				| 0xff;
-#endif
-		}
-		srow += bpl;
-		orow += rowstride;
-	}
-}
-
-/*
-  convert 15 bits/pixel data
-  with alpha
-  data in msb format
-*/
-static void
-rgb555amsb (GdkImage *image, guchar *pixels, int rowstride, GdkColormap *colormap)
-{
-	int xx, yy;
-	int width, height;
-	int bpl;
-
-#ifdef LITTLE
-	register guint16 *s;	/* read 1 pixels at once */
-#else
-	register guint8 *s;
-#endif
-	register guint32 *o;
-
-	guint8 *srow = image->mem, *orow = pixels;
-
-	width = image->width;
-	height = image->height;
-	bpl = image->bpl;
-
-	for (yy = 0; yy < height; yy++) {
-#ifdef LITTLE
-		s = (guint16 *) srow;
-#else
-		s = srow;
-#endif
-		o = (guint32 *) orow;
-		for (xx = 0; xx < width; xx++) {
-			register guint32 data;
-			/*  rrrrrggg gggbbbbb -> rrrrrRRR gggggGGG bbbbbBBB aaaaaaaa */
-			/*  little endian: aaaaaaaa bbbbbBBB gggggGGG rrrrrRRR */
-#ifdef LITTLE
-			/* swap endianness first */
-			data = s[0] | s[1] << 8;
-			s += 2;
-			*o++ = (data & 0x7c00) >> 7 | (data & 0x7000) >> 12
-				| (data & 0x3e0) << 6 | (data & 0x380) << 1
-				| (data & 0x1f) << 19 | (data & 0x1c) << 14
-				| 0xff000000;
-#else
-			data = *s++;
-			*o++ = (data & 0x7c00) << 17 | (data & 0x7000) << 12
-				| (data & 0x3e0) << 14 | (data & 0x380) << 9
-				| (data & 0x1f) << 11 | (data & 0x1c) << 6
-				| 0xff;
-#endif
-		}
-		srow += bpl;
-		orow += rowstride;
-	}
-}
-
-
-static void
-rgb888alsb (GdkImage *image, guchar *pixels, int rowstride, GdkColormap *colormap)
-{
-	int xx, yy;
-	int width, height;
-	int bpl;
-
-	guint8 *s;	/* for byte order swapping */
-	guint8 *o;
-	guint8 *srow = image->mem, *orow = pixels;
-
-	width = image->width;
-	height = image->height;
-	bpl = image->bpl;
-
-	d (printf ("32 bits/pixel with alpha\n"));
-
-	/* lsb data */
-	for (yy = 0; yy < height; yy++) {
-		s = srow;
-		o = orow;
-		for (xx = 0; xx < width; xx++) {
-			*o++ = s[2];
-			*o++ = s[1];
-			*o++ = s[0];
-			*o++ = 0xff;
-			s += 4;
-		}
-		srow += bpl;
-		orow += rowstride;
-	}
-}
-
-static void
-rgb888lsb (GdkImage *image, guchar *pixels, int rowstride, GdkColormap *colormap)
-{
-	int xx, yy;
-	int width, height;
-	int bpl;
-
-	guint8 *srow = image->mem, *orow = pixels;
-	guint8 *o, *s;
-
-	width = image->width;
-	height = image->height;
-	bpl = image->bpl;
-
-	d (printf ("32 bit, lsb, no alpha\n"));
-
-	for (yy = 0; yy < height; yy++) {
-		s = srow;
-		o = orow;
-		for (xx = 0; xx < width; xx++) {
-			*o++ = s[2];
-			*o++ = s[1];
-			*o++ = s[0];
-			s += 4;
-		}
-		srow += bpl;
-		orow += rowstride;
-	}
-}
-
-static void
-rgb888amsb (GdkImage *image, guchar *pixels, int rowstride, GdkColormap *colormap)
-{
-	int xx, yy;
-	int width, height;
-	int bpl;
-
-	guint8 *srow = image->mem, *orow = pixels;
-#ifdef LITTLE
-	guint32 *o;
-	guint32 *s;
-#else
-	guint8 *s;	/* for byte order swapping */
-	guint8 *o;
-#endif
-
-	d (printf ("32 bit, msb, with alpha\n"));
-
-	width = image->width;
-	height = image->height;
-	bpl = image->bpl;
-
-	/* msb data */
-	for (yy = 0; yy < height; yy++) {
-#ifdef LITTLE
-		s = (guint32 *) srow;
-		o = (guint32 *) orow;
-#else
-		s = srow;
-		o = orow;
-#endif
-		for (xx = 0; xx < width; xx++) {
-#ifdef LITTLE
-			*o++ = s[1];
-			*o++ = s[2];
-			*o++ = s[3];
-			*o++ = 0xff;
-			s += 4;
-#else
-			*o++ = (*s << 8) | 0xff; /* untested */
-			s++;
-#endif
-		}
-		srow += bpl;
-		orow += rowstride;
-	}
-}
-
-static void
-rgb888msb (GdkImage *image, guchar *pixels, int rowstride, GdkColormap *colormap)
-{
-	int xx, yy;
-	int width, height;
-	int bpl;
-
-	guint8 *srow = image->mem, *orow = pixels;
-	guint8 *s;
-	guint8 *o;
-
-	d (printf ("32 bit, msb, no alpha\n"));
-
-	width = image->width;
-	height = image->height;
-	bpl = image->bpl;
-
-	for (yy = 0; yy < height; yy++) {
-		s = srow;
-		o = orow;
-		for (xx = 0; xx < width; xx++) {
-			*o++ = s[1];
-			*o++ = s[2];
-			*o++ = s[3];
-			s += 4;
-		}
-		srow += bpl;
-		orow += rowstride;
-	}
-}
-
-/*
-  This should work correctly with any display/any endianness, but will probably
-  run quite slow
-*/
-static void
-convert_real_slow (GdkImage *image, guchar *pixels, int rowstride, GdkColormap *cmap, int alpha)
-{
-	int xx, yy;
-	int width, height;
-	int bpl;
-	guint8 *srow = image->mem, *orow = pixels;
-	guint8 *s;
-	guint8 *o;
-	guint32 pixel;
-	GdkVisual *v;
-	guint8 component;
-	int i;
-
-	width = image->width;
-	height = image->height;
-	bpl = image->bpl;
-	v = gdk_colormap_get_visual(cmap);
-
-	d(printf("rgb  mask/shift/prec = %x:%x:%x %d:%d:%d  %d:%d:%d\n",
-		 v->red_mask, v->green_mask, v->blue_mask,
-		 v->red_shift, v->green_shift, v->blue_shift,
-		 v->red_prec, v->green_prec, v->blue_prec));
-
-	for (yy = 0; yy < height; yy++) {
-		s = srow;
-		o = orow;
-		for (xx = 0; xx < width; xx++) {
-			pixel = gdk_image_get_pixel(image, xx, yy);
-			switch (v->type) {
-				/* I assume this is right for static & greyscale's too? */
-			case GDK_VISUAL_STATIC_GRAY:
-			case GDK_VISUAL_GRAYSCALE:
-			case GDK_VISUAL_STATIC_COLOR:
-			case GDK_VISUAL_PSEUDO_COLOR:
-				*o++ = cmap->colors[pixel].red;
-				*o++ = cmap->colors[pixel].green;
-				*o++ = cmap->colors[pixel].blue;
-				break;
-			case GDK_VISUAL_TRUE_COLOR:
-				/* This is odd because it must sometimes shift left (otherwise
-				   I'd just shift >> (*_shift - 8 + *_prec + <0-7>). This logic
-				   should work for all bit sizes/shifts/etc. */
-				component = 0;
-				for (i = 24; i < 32; i += v->red_prec)
-					component |= ((pixel & v->red_mask) << (32 - v->red_shift - v->red_prec)) >> i;
-				*o++ = component;
-				component = 0;
-				for (i = 24; i < 32; i += v->green_prec)
-					component |= ((pixel & v->green_mask) << (32 - v->green_shift - v->green_prec)) >> i;
-				*o++ = component;
-				component = 0;
-				for (i = 24; i < 32; i += v->blue_prec)
-					component |= ((pixel & v->blue_mask) << (32 - v->blue_shift - v->blue_prec)) >> i;
-				*o++ = component;
-				break;
-			case GDK_VISUAL_DIRECT_COLOR:
-				*o++ = cmap->colors[((pixel & v->red_mask) << (32 - v->red_shift - v->red_prec)) >> 24].red;
-				*o++ = cmap->colors[((pixel & v->green_mask) << (32 - v->green_shift - v->green_prec)) >> 24].green;
-				*o++ = cmap->colors[((pixel & v->blue_mask) << (32 - v->blue_shift - v->blue_prec)) >> 24].blue;
-				break;
-			}
-			if (alpha)
-				*o++ = 0xff;
-		}
-		srow += bpl;
-		orow += rowstride;
-	}
-}
-
-typedef void (* cfunc) (GdkImage *image, guchar *pixels, int rowstride, GdkColormap *cmap);
-
-static cfunc convert_map[] = {
-	rgb1,rgb1,rgb1a,rgb1a,
-	rgb8,rgb8,rgb8a,rgb8a,
-	rgb555lsb,rgb555msb,rgb555alsb,rgb555amsb,
-	rgb565lsb,rgb565msb,rgb565alsb,rgb565amsb,
-	rgb888lsb,rgb888msb,rgb888alsb,rgb888amsb
-};
-
-/*
-  perform actual conversion
-
-  If we can, try and use the optimised code versions, but as a default
-  fallback, and always for direct colour, use the generic/slow but complete
-  conversion function.
-*/
-static void
-rgbconvert (GdkImage *image, guchar *pixels, int rowstride, int alpha, GdkColormap *cmap)
-{
-	int index = (image->byte_order == GDK_MSB_FIRST) | (alpha != 0) << 1;
-	int bank=5;		/* default fallback converter */
-	GdkVisual *v = gdk_colormap_get_visual(cmap);
-
-	d(printf("masks = %x:%x:%x\n", v->red_mask, v->green_mask, v->blue_mask));
-	d(printf("image depth = %d, bpp = %d\n", image->depth, image->bpp));
-
-	switch (v->type) {
-				/* I assume this is right for static & greyscale's too? */
-	case GDK_VISUAL_STATIC_GRAY:
-	case GDK_VISUAL_GRAYSCALE:
-	case GDK_VISUAL_STATIC_COLOR:
-	case GDK_VISUAL_PSEUDO_COLOR:
-		switch (image->bpp) {
-		case 1:
-			bank = 0;
-			break;
-		case 8:
-			bank = 1;
-			break;
-		}
-		break;
-	case GDK_VISUAL_TRUE_COLOR:
-		switch (image->depth) {
-		case 15:
-			if (v->red_mask == 0x7c00 && v->green_mask == 0x3e0 && v->blue_mask == 0x1f
-			    && image->bpp == 16)
-				bank = 2;
-			break;
-		case 16:
-			if (v->red_mask == 0xf800 && v->green_mask == 0x7e0 && v->blue_mask == 0x1f
-			    && image->bpp == 16)
-				bank = 3;
-			break;
-		case 24:
-		case 32:
-			if (v->red_mask == 0xff0000 && v->green_mask == 0xff00 && v->blue_mask == 0xff
-			    && image->bpp == 32)
-				bank = 4;
-			break;
-		}
-		break;
-	case GDK_VISUAL_DIRECT_COLOR:
-		/* always use the slow version */
-		break;
-	}
-
-	d(printf("converting using conversion function in bank %d\n", bank));
-
-	if (bank==5) {
-		convert_real_slow(image, pixels, rowstride, cmap, alpha);
-	} else {
-		index |= bank << 2;
-		(* convert_map[index]) (image, pixels, rowstride, cmap);
-	}
-}
-
-
-/* Exported functions */
-
-/**
- * gdk_pixbuf_get_from_drawable:
- * @dest: Destination pixbuf, or NULL if a new pixbuf should be created.
- * @src: Source drawable.
- * @cmap: A colormap if @src is a pixmap.  If it is a window, this argument will
- * be ignored.
- * @src_x: Source X coordinate within drawable.
- * @src_y: Source Y coordinate within drawable.
- * @dest_x: Destination X coordinate in pixbuf, or 0 if @dest is NULL.
- * @dest_y: Destination Y coordinate in pixbuf, or 0 if @dest is NULL.
- * @width: Width in pixels of region to get.
- * @height: Height in pixels of region to get.
- *
- * Transfers image data from a Gdk drawable and converts it to an RGB(A)
- * representation inside a GdkPixbuf.
- *
- * If the drawable @src is a pixmap, then a suitable colormap must be specified,
- * since pixmaps are just blocks of pixel data without an associated colormap.
- * If the drawable is a window, the @cmap argument will be ignored and the
- * window's own colormap will be used instead.
- *
- * If the specified destination pixbuf @dest is #NULL, then this function will
- * create an RGB pixbuf with 8 bits per channel and no alpha, with the same size
- * specified by the @width and @height arguments.  In this case, the @dest_x and
- * @dest_y arguments must be specified as 0, otherwise the function will return
- * #NULL.  If the specified destination pixbuf is not NULL and it contains alpha
- * information, then the filled pixels will be set to full opacity.
- *
- * If the specified drawable is a pixmap, then the requested source rectangle
- * must be completely contained within the pixmap, otherwise the function will
- * return #NULL.
- *
- * If the specified drawable is a window, then it must be viewable, i.e. all of
- * its ancestors up to the root window must be mapped.  Also, the specified
- * source rectangle must be completely contained within the window and within
- * the screen.  If regions of the window are obscured by noninferior windows, the
- * contents of those regions are undefined.  The contents of regions obscured by
- * inferior windows of a different depth than that of the source window will also
- * be undefined.
- *
- * Return value: The same pixbuf as @dest if it was non-NULL, or a newly-created
- * pixbuf with a reference count of 1 if no destination pixbuf was specified; in
- * the latter case, NULL will be returned if not enough memory could be
- * allocated for the pixbuf to be created.
- **/
-GdkPixbuf * NAUTILUS_BUG_5712_PR3_WORKAROUND__gdk_pixbuf_get_from_drawable (GdkPixbuf *dest,
-									    GdkDrawable *src, GdkColormap *cmap,
-									    int src_x, int src_y,
-									    int dest_x, int dest_y,
-									    int width, int height);
-
-
-GdkImage* NAUTILUS_BUG_5712_PR3_WORKAROUND__gdk_image_get (GdkWindow *window,
-							   gint       x,
-							   gint       y,
-							   gint       width,
-							   gint       height);
-
-GdkPixbuf *
-NAUTILUS_BUG_5712_PR3_WORKAROUND__gdk_pixbuf_get_from_drawable (GdkPixbuf *dest,
-			      GdkDrawable *src, GdkColormap *cmap,
-			      int src_x, int src_y,
-			      int dest_x, int dest_y,
-			      int width, int height)
-{
-	GdkWindowType window_type;
-	int src_width, src_height;
-	GdkImage *image;
-	int rowstride, bpp, alpha;
-
-	/* General sanity checks */
-
-	g_return_val_if_fail (src != NULL, NULL);
-
-	window_type = gdk_window_get_type (src);
-
-	if (window_type == GDK_WINDOW_PIXMAP)
-		g_return_val_if_fail (cmap != NULL, NULL);
-	else
-		/* FIXME: this is not perfect, since is_viewable() only tests
-		 * recursively up the Gdk parent window tree, but stops at
-		 * foreign windows or Gdk toplevels.  I.e. if a window manager
-		 * unmapped one of its own windows, this won't work.
-		 */
-		g_return_val_if_fail (gdk_window_is_viewable (src), NULL);
-
-	if (!dest)
-		g_return_val_if_fail (dest_x == 0 && dest_y == 0, NULL);
-	else {
-		g_return_val_if_fail (dest->colorspace == GDK_COLORSPACE_RGB, NULL);
-		g_return_val_if_fail (dest->n_channels == 3 || dest->n_channels == 4, NULL);
-		g_return_val_if_fail (dest->bits_per_sample == 8, NULL);
-	}
-
-	/* Coordinate sanity checks */
-
-	gdk_window_get_size (src, &src_width, &src_height);
-
-	g_return_val_if_fail (src_x >= 0 && src_y >= 0, NULL);
-	g_return_val_if_fail (src_x + width <= src_width && src_y + height <= src_height, NULL);
-
-	if (dest) {
-		g_return_val_if_fail (dest_x >= 0 && dest_y >= 0, NULL);
-		g_return_val_if_fail (dest_x + width <= dest->width, NULL);
-		g_return_val_if_fail (dest_y + height <= dest->height, NULL);
-	}
-
-	if (window_type != GDK_WINDOW_PIXMAP) {
-		int ret;
-		int src_xorigin, src_yorigin;
-		int screen_width, screen_height;
-		int screen_srcx, screen_srcy;
-
-		ret = gdk_window_get_origin (src, &src_xorigin, &src_yorigin);
-		g_return_val_if_fail (ret != FALSE, NULL);
-
-		screen_width = gdk_screen_width ();
-		screen_height = gdk_screen_height ();
-
-		screen_srcx = src_xorigin + src_x;
-		screen_srcy = src_yorigin + src_y;
-
-		g_return_val_if_fail (screen_srcx >= 0 && screen_srcy >= 0, NULL);
-		g_return_val_if_fail (screen_srcx + width <= screen_width, NULL);
-		g_return_val_if_fail (screen_srcy + height <= screen_height, NULL);
-	}
-
-	/* Get Image in ZPixmap format (packed bits). */
-	image = NAUTILUS_BUG_5712_PR3_WORKAROUND__gdk_image_get (src, src_x, src_y, width, height);
-	if (!image)
-		return NULL;
-
-	/* Create the pixbuf if needed */
-	if (!dest) {
-		dest = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, width, height);
-		if (!dest) {
-			gdk_image_destroy(image);
-			return NULL;
-		}
-	}
-
-	/* Get the colormap if needed */
-	if (window_type != GDK_WINDOW_PIXMAP)
-		cmap = gdk_window_get_colormap (src);
-
-	alpha = dest->has_alpha;
-	rowstride = dest->rowstride;
-	bpp = alpha ? 4 : 3;
-
-	/* we offset into the image data based on the position we are retrieving from */
-	rgbconvert (image, dest->pixels +
-		    (dest_y * rowstride) + (dest_x * bpp),
-		    rowstride,
-		    alpha,
-		    cmap);
-
-	gdk_image_destroy(image);
-
-	return dest;
-}
Index: /unk/third/nautilus/user-guide/C/sgml/nautilus.sgml
===================================================================
--- /trunk/third/nautilus/user-guide/C/sgml/nautilus.sgml (revision 15547)
+++  (revision )
@@ -1,1086 +1,0 @@
-<!DOCTYPE Book PUBLIC "-//GNOME//DTD DocBook PNG Variant V1.1//EN"[
-]>
-
-<!-- ============= Document Header =================================== -->
-<book id="index">
-
- <bookinfo>
-  <title>Nautilus User's Manual</title>
-  <edition>v1.0</edition>
-  <authorgroup>
-   <author>
-    <firstname>Vera</firstname>
-    <surname>Horiuchi</surname>
-    <authorblurb>
-     <para>
-      <email>
-       vera@eazel.com
-      </email>
-     </para>
-    </authorblurb>
-   </author>
-  </authorgroup>
-
-  <copyright>
-   <year>2001</year>
-   <holder>Eazel Inc.</holder>
-  </copyright>
-
-  <!-- translators: uncomment this:
-
-  <copyright>
-   <year>2000</year>
-   <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
-  </copyright>
-
-   -->
-  <legalnotice id="legalnotice">
-   <para>
-    Permission is granted to copy, distribute and/or modify this document
-    under the terms of the <ulink type="help" 
-    url="gnome-help:gnufdl"><citetitle>GNU Free Documentation
-    License</citetitle></ulink>, Version 1.1 or any later version 
-    published by the Free Software Foundation with no Invariant Sections, 
-    no Front-Cover Texts, and no Back-Cover Texts.  A copy of the license
-    can be found <ulink type="help" url="gnome-help:gnufdl">here</ulink>.
-   </para>
-   <para>
-    Many of the names used by companies to distinguish their products and
-    services are claimed as trademarks. Where those names appear in any
-    GNOME documentation, and those trademarks are made aware to the members
-    of the GNOME Documentation Project, the names have been printed in caps
-    or initial caps.
-   </para>
-  </legalnotice>
-
-  <!-- this is the version of manual, not application --> 
-  <releaseinfo>
-   This is version 1.0 of the Nautilus User's Manual.
-  </releaseinfo>
-
- </bookinfo>
-
-
-<!-- DOCUMENT BODY ====================================================== -->
-
-
-<!-- CHAPTER 1: INTRODUCTING NAUTILUS  -->
-<chapter id="chapter1">
-<title>Introducing Nautilus</title>
-
-<para>Nautilus is the window to the network user enviroment. It integrates your access to files, applications, media, Internet-based resources, and the Web.</para>
-
-<para>Nautilus is an open source project developed under the GNU Public License (GPL) and is a core component of the GNOME desktop project. Eazel is a founding member of the  <ulink type="http" url="http://www.gnome.org">GNOME Foundation</ulink>.</para>
-
-<!-- Introducing Nautilus: The Nautilus Window -->
-<sect1 id="window">
-<title>The Nautilus Window</title>
-
-
-<figure id="full">
-<title>The Nautilus Window</title>
-<screenshot>
-<screeninfo>Diagram of Nautilus</screeninfo>
-<graphic format="png" fileref="full">
-</graphic>
-</screenshot>
-</figure>
-
-
-</sect1>
-
-<!-- Introducing Nautilus: Adding Nautilus to the Panel  -->
-<sect1 id="default">
-<title>Adding Nautilus to the Panel</title>
-
-<note>
-<title>Try this</title>
-<para>To keep Nautilus easily available, add its icon to the GNOME panel:</para>
-</note>
-
-<orderedlist>
-<listitem><para>Open the GNOME main menu (represented by the footprint icon).</para></listitem>
-<listitem><para>Choose Programs; then choose Applications and select Nautilus.</para></listitem>
-<listitem><para>Drag the Nautilus icon to the GNOME panel.</para></listitem>
-</orderedlist>
-
-</sect1>
-
-</chapter>
-
-<!-- CHAPTER 2: WHAT'S ON YOUR COMPUTER? -->
-<chapter id="chapter2">
-<title>What's On Your Computer?</title>
-
-<para>Nautilus is part of the GNOME desktop environment. It lets you view, copy, move, rename, and delete files and folders. This section explains how to use Nautilus to keep track of folders and files on your own machine, and on the Internet.
-
-<simplelist> 
-<member><link linkend="home">Viewing Your Home Folder</link></member>
-<member><link linkend="navigating">Navigating Your Computer's Files and Folders</link></member>
-<member><link linkend="viewopen">Viewing and Opening Files</link></member>
-<member><link linkend="internet">Navigating the Internet</link></member>
-<member><link linkend="history">Viewing Your Navigation History</link></member>
-<member><link linkend="bookmarks">Bookmarking Your Favorite Locations</link></member>
-</simplelist>
-
-</para>
-
-<!-- What's On Your Computer?: Viewing Your Home Folder  -->
-<sect1 id="home">
-<title>Viewing Your Home Folder</title>
-
-<para>When you first launch Nautilus, you'll be in your home folder. Three areas of the Nautilus window contain information about your folder:</para>
-
-<itemizedlist>
-<listitem><para>The sidebar panel, which contains a folder icon representing your folder</para></listitem>
-<listitem><para>The right-hand (main) panel, where you see icons representing the items in your folder</para></listitem>
-<listitem><para>The location bar, which contains your folder's path name</para></listitem>
-</itemizedlist>
- 
-</sect1>
-
-<!-- What's On Your Computer?: Navigating Your Files and Folders  -->
-<sect1 id="navigating">
-<title>Navigating Your Files and Folders</title>
-
-<para>You can move around in your files and folders using the navigation buttons in the toolbar and the icons in the Nautilus window.   </para>
-
-<note>
-<title>Try this</title>
- 
-<para>
-<itemizedlist>
-<listitem><para>To view your home folder, click the Home button.</para></listitem>
-<listitem><para>To move to the folder that contains your home folder -- that is, to move one folder up in the hierarchy - click the Up button.</para></listitem>
-<listitem><para>To go back, click the Back button.</para></listitem>
-<listitem><para>To view the contents of any folder, double-click its icon (normally a folder icon).</para></listitem>
-<listitem><para>If you think that the contents of a folder have changed while you've been viewing it, click the Refresh button to update the information.</para></listitem>
-</itemizedlist>
-</para>
-
-</note>
-
-</sect1>
-
-<!--  What's On Your Computer?: The Tree View  -->
-<sect1 id="tree">
-<title>The Tree View</title>
-
-<para>You can get an overview of all of your computer's files and folders using the Tree view. Many people find it faster to navigate using the Tree rather than selecting and opening folders.</para>
-
-<para>To see the Tree view, click the Tree tab at the bottom of the sidebar. Click the tab again to put the Tree view away.</para>
-
-<para>Note: If you don't see a tab for Tree view, right-click the sidebar and choose Tree.</para>
-
-<para>The starting point - the top of the tree - is the root directory, represented by a slash (/). Click the disclosure triangle next to the root directory to open or close the list of all your computer's folders and files. The items on your computer are arranged hierarchically. The root directory may also list network locations in addition to locations on your own computer.</para>
-
-<note>
-<title>Try this</title>
-
-<para>
-<itemizedlist>
-<listitem><para>To open or close a folder in Tree view, click its triangle.</para></listitem>
-<listitem><para>To display the contents of a folder in the right-hand panel, click the folder's name in the tree.</para></listitem>
-</itemizedlist>
-</para>
-
-</note>
-
-</sect1>
-
-<!--  What's On Your Computer?: Viewing and Opening Files  -->
-<sect1 id="viewopen">
-<title>Viewing and Opening Files</title>
-
-<para><emphasis>Icon View</emphasis></para>
-
-<para>The first time you launch Nautilus, you see folders and files represented as icons. This is the default view.</para>
-
-<para>If you have changed the view and want to return to icon view, click the &quot;View as&quot; menu and choose View as Icons.</para>
-
-<figure id="viewmenu">
-<title>View Menu</title>
-<screenshot>
-<screeninfo>Screenshot of view menu</screeninfo>
-<graphic format="png" fileref="viewmenu">
-</graphic>
-</screenshot>
-</figure>
-
-<para><emphasis>List View</emphasis></para>
-
-<para>To see the contents of a folder as a list, click the &quot;View as&quot; menu and choose View as List.</para>
-
-<para>To sort the items displayed in list view, click the column headers (Name, Size, Type, and Date Modified).</para>
-
-
-<para><emphasis>Zooming In or Out</emphasis></para>
-
-<para>You can enlarge or reduce the size of items in either list or icon view, and stretch individual icons in icon view.</para>
-
-<para>To enlarge or reduce all of the icons:</para>
-
-<itemizedlist>
-<listitem><para>Click the plus (+) and minus (-) symbols in the Location bar. To return to the original size, open the View menu and choose Normal Size.</para></listitem>
-</itemizedlist>
-
-<para>To stretch an individual icon:</para>
-
-<orderedlist>
-<listitem><para>Click the &quot;View as&quot; menu and choose View as Icons.</para></listitem>
-<listitem><para>Click to select the icon you want to stretch.</para></listitem>
-<listitem><para>Open the Edit menu and choose Stretch Icon. A box appears around the icon, with &quot;handles&quot; in each corner.</para></listitem>
-<listitem><para>Click and drag the handles to resize the icon. To cancel the stretch and return the icon to its original size, press the Esc key on your keyboard.</para></listitem>
-</orderedlist>
-
-<para>To return an icon to its original size:</para>
-
-<itemizedlist>
-<listitem><para>Select the icon; then open the Edit menu and choose Restore Icon's Original Size.</para></listitem> 
-</itemizedlist>
-
-
-<para><emphasis>Viewing Individual Files</emphasis></para>
-
-<para>You can preview many files in the Nautilus window just by looking at their icons in the right-hand panel - you don't need to open the files.</para>
-
-<para>Text files: The icons for most text files display the files' first few words or lines of text. If you enlarge a text file's icon by zooming or stretching, you can see more of the text.</para>
-
-<para>Image files: The icons for most image files appear as thumbnails -- small versions of the file.</para>
-
-<para>Music files: You can preview common types of music files by positioning the mouse pointer over the icons. Music plays as long as the pointer is over a music file's icon.</para>
-
-<para>You can also use the Nautilus window as a viewer for many types of files:</para>
-
-<itemizedlist>
-<listitem><para>Some files, such as most text files, automatically appear in the Nautilus window when you double-click their icons.</para></listitem>
-<listitem><para>Some files open in their applications for editing instead of opening for viewing. For such files, right-click the icon and choose Open With.Then choose Text Viewer, Image Viewer, or another viewer, as appropriate.</para></listitem>
-</itemizedlist>
-
-<para>Note: You can control whether an individual file opens in Nautilus to be viewed, or opens in an application. See <link linkend="mime">Setting Up Helper Applications</link>.</para>
-
-<para>Here are some of the file types for which the Nautilus window can act as a viewer:</para>
-
-<informaltable frame="none">
-<tgroup cols="2">
-<tbody>
-<row>
-<entry><emphasis>Music</emphasis></entry>
-<entry>MP3 (for MP3 files located on your hard disk), AIFF, MPEG, WAV, RIFF</entry>
-</row>
-<row>
-<entry><emphasis>Text</emphasis></entry>
-<entry>ASCII text files, HTML files</entry>
-</row>
-<row>
-<entry><emphasis>Image</emphasis></entry>
-<entry>JPEG, PNG, GIF, XPM, SVG (without interactive features)</entry>
-</row>
-<row>
-<entry><emphasis>Package</emphasis></entry>
-<entry>RPM (for RPM files located on your hard disk)</entry>
-</row>
-</tbody>
-</tgroup>
-</informaltable>
-
-
-<para><emphasis>Opening Individual Files</emphasis></para>
-
-<para>There are several ways to open files in Nautilus:</para>
-
-<itemizedlist>
-<listitem><para>Double-click the file's icon (unless you've change your preference so a single-click activates items)</para></listitem>
-<listitem><para>Click the file's icon, open the File menu, and choose Open or Open With</para></listitem>
-<listitem><para>Right-click the file's icon and choose one of the Open or Open With options</para></listitem>
-</itemizedlist>
-
-<para>Note: You can control whether an individual file opens in Nautilus to be viewed, or opens in an application.  If the application you want to use is not listed, you can add it to the list. See <link linkend="mime">Setting Up Helper Applications</link>.</para>
-
-</sect1>
-
-<!-- Viewing and Playing MP3 Files  -->
-<sect1 id="music">
-<title>Viewing and Playing MP3 Files</title>
-
-<para>If you have a folder that contains MP3 music files, you should try the "View As Music" option.</para>
-
-<note>
-<title>Try this</title>
-
-<para>
-<orderedlist>
-<listitem><para>Go to your folder containing MP3 files.</para></listitem>
-<listitem><para>Click the &quot;View as&quot; menu and choose View as Music.</para></listitem>
-</orderedlist>
-</para>
-
-</note>
-
-<figure id="view2">
-<title>View Menu</title>
-<screenshot>
-<screeninfo>Screenshot of View Menu</screeninfo>
-<graphic format="png" fileref="viewmenu">
-</graphic>
-</screenshot>
-</figure>
-
-<para>Only the MP3 files in your folder are visible in this view. For each file, you see a listing of tracks, titles, artists, bit rates, and playing times.</para>
-
-<para>There's also a music player at the bottom of the window:</para>
-
-<figure id="player">
-<title>Music Player</title>
-<screenshot>
-<screeninfo>Screenshot of Music Player</screeninfo>
-<graphic format="png" fileref="player">
-</graphic>
-</screenshot>
-</figure>
-
-<para>If you wish, you can choose a cover image to be displayed for your music folder:</para>
-
-<orderedlist>
-<listitem><para>Go to your folder containing MP3 files.</para></listitem>
-<listitem><para>Click the &quot;View as&quot; menu and choose View as Music.</para></listitem>
-<listitem><para>Click the Set Cover Image button in the bottom right corner of the Nautilus window.</para></listitem>
-<listitem><para>Browse to find the graphic you want to use; then select it.</para></listitem>
-<listitem><para>Click OK.</para></listitem>
-</orderedlist>
-
-</sect1>
-
-
-<!-- What's On Your Computer?: Navigating the Internet  -->
-<sect1 id="internet">
-<title>Navigating the Internet</title>
-
-<para>You can use Nautilus as a browser for viewing web pages and FTP sites.</para>
-
-<para>To view a web page, type its URL (address) in the Location bar. For instance, to connect to Eazel's web site, you type</para>
-
-
-<para><ulink type="http" url="http://www.eazel.com/">www.eazel.com</ulink></para>
-
-<para>in the Location bar, and then press Enter.</para>
-
-<figure id="locbar">
-<title>Location Bar</title>
-<screenshot>
-<screeninfo>Screenshot of Location Bar</screeninfo>
-<graphic format="png" fileref="locbar">
-</graphic>
-</screenshot>
-</figure>
-
-<para>When you're viewing a web page, Nautilus gives you additional choices of web browsers in case you want to use a full-feature web browser. To select a different browser, click one of the buttons in the sidebar.</para>
-
-<figure id="sidebar">
-<title>Sidebar</title>
-<screenshot>
-<screeninfo>Screenshot of Sidebar</screeninfo>
-<graphic format="png" fileref="sidebar">
-</graphic>
-</screenshot>
-</figure>
-
-</sect1>
-
-<!--  What's On Your Computer?: Viewing Your Navigation History  -->
-<sect1 id="history">
-<title>Viewing Your Navigation History</title>
-
-<para>As you navigate your own computer as well as the Internet, you may want to return to a page, file, or folder you've previously viewed. You can view your history in three ways:</para>
-
-<itemizedlist>
-<listitem><para>Open the Go menu. The bottom section of the menu lists the things you've viewed during the current session.</para></listitem>
-<listitem><para>Click the History tab at the bottom of the sidebar. (To put the History list away, click the tab again.)</para></listitem>
-<listitem><para>Right-click the Back or Forward buttons.</para></listitem>
-</itemizedlist>
-
-<para>You can have Nautilus clear the locations you've previously visted. This removes the previous locations listed in the Go menu, the History tab, and under the Back and Forward buttons.</para>
-
-<para>To clear the list of previously visited locations:</para>
-
-<itemizedlist>
-<listitem><para>Open the Go menu and choose Forget History.</para></listitem>
-</itemizedlist>
-
-</sect1>
-
-<!--  What's On Your Computer?: Bookmarking Your Favorite Locations  -->
-<sect1 id="bookmarks">
-<title>Bookmarking Your Favorite Locations</title>
-
-<para>You will probably discover that you frequently visit certain locations - web pages, folders on your computer, and favorite photos or text files.
-You can bookmark these items in Nautilus, so you can return to them easily.</para>
-
-<para><emphasis>Creating a Bookmark</emphasis></para>
-
-<para>To bookmark an item:</para>
-
-<orderedlist>
-<listitem><para>Go to the item you want to bookmark. You can bookmark any item displayed in Nautilus.</para></listitem>
-<listitem><para>Open the Bookmarks menu and choose Add Bookmark.</para></listitem>
-</orderedlist>
-
-<para>To use your bookmarks, open the Bookmarks menu and choose an item.</para>
-
-<para><emphasis>The Built-In Bookmarks</emphasis></para>
-
-<para>Nautilus comes with some built-in bookmarks arranged in folders in the Bookmarks menu. They take you to the web sites of organizations and companies of interest to Linux users.</para>
-
-<para>If your user level is set to Intermediate or Advanced, you can turn off the built-in bookmarks:</para>
-
-<orderedlist>
-<listitem><para>Open the Preferences menu and choose Preferences.</para></listitem>
-<listitem><para>In the left-hand column of the Preferences dialog box, click Navigation.</para></listitem>
-<listitem><para>Select "Don't include the built-in bookmarks."</para></listitem>
-<listitem><para>Click OK.</para></listitem>
-</orderedlist>
-
-
-<para><emphasis>Editing Your Bookmarks</emphasis></para>
-
-<para>You can rename a bookmark, change the information about its location, or remove it altogether:</para>
-
-<orderedlist>
-<listitem><para>Open the Bookmarks menu and choose Edit Bookmarks.</para></listitem>
-<listitem><para>Select the bookmark you want to edit.</para></listitem>
-<listitem><para>Type a new name or location for the bookmark, or click Remove.</para></listitem>
-<listitem><para>When you're done editing bookmarks, close the dialog box.</para></listitem>
-</orderedlist>
-
-
-</sect1>
-
-</chapter>
-
-<!--  CHAPTER 3: SEARCHING YOUR COMPUTER AND THE INTERNET  -->
-<chapter id="chapter3">
-<title>Searching Your Computer and the Internet</title>
-
-<para>Nautilus provides a Find feature for locating files and directories on your own computer and a Web Search feature for finding web pages.</para>
-
-<simplelist>
-<member><link linkend="find">Finding Items on Your Computer</link></member>
-<member><link linkend="search">Searching the Internet</link></member>
-</simplelist>
-
-
-<!--  Searching Your Computer and the Internet: Finding Items on Your Computer  -->
-<sect1 id="find">
-<title>Finding Items on Your Computer</title>
-
-<para>Nautilus includes Medusa, an indexing daemon (utility) that makes it possible to search the files on your hard disk not just by file name, creator, file type, and so forth, but also by content.</para>
-
-<para>To find an item on your hard disk (Beginner user level):</para>
-
-<orderedlist>
-<listitem><para>Click the Find button in the toolbar.</para></listitem>
-<listitem><para>Enter the name of the item you want to find in the search field.</para></listitem>
-<listitem><para>Click Find Them.</para></listitem>
-</orderedlist>
-
-
-<para>To find an item on your hard disk (Intermediate and Advanced user level):</para>
-
-<orderedlist>
-<listitem><para>Click the Find button in the toolbar.</para></listitem>
-<listitem><para>From the two pop-up menus, choose criteria to define your search. The options are explained below.</para></listitem>
-<listitem><para>(Optional) To further narrow your search, click More Options and choose additional criteria. </para></listitem>
-<listitem><para>Enter the item you want to find - a particular file name, modification date, and so forth - in the search field.</para></listitem>
-<listitem><para>Click Find Them.</para></listitem>
-</orderedlist>
-
-
-<informaltable frame="all">
-<tgroup cols="3">
-<tbody>
-
-<row>
-<entry><emphasis>Search Criterion</emphasis></entry>
-<entry><emphasis>Modifier</emphasis></entry>
-<entry><emphasis>Search Field or List</emphasis></entry>
-</row>
-
-<row>
-<entry>Name: Nautilus will search the names of files on your hard disk.</entry>
-<entry>Specify if the file(s) found should have names that contain, begin with, or end with the characters you type. You can also choose "matches glob" or "matches regexp" to do Linux wildcard searches.</entry>
-<entry>Enter part or all of the file name you want to find.</entry>
-</row>
-
-<row>
-<entry>Content: Nautilus will search the content of files on your hard disk.</entry>
-<entry>Specify if the file(s) found should have content that includes any, all, some, or none of the word or phrase you type.</entry>
-<entry>Enter a word or phrase you want to search for in the content of the files on your hard disk.</entry>
-</row>
-
-<row>
-<entry>Type: Nautilus will search for the file type(s) you specify.</entry>
-<entry>Choose "is" or "is not" to include or exclude file types from the search.</entry>
-<entry>Choose a file type from the pop-up menu.</entry>
-</row>
-
-<row>
-<entry>Size</entry>
-<entry>Specify if the file(s) found should be larger or smaller than the number you type.</entry>
-<entry>Type a size, in Kbytes.</entry>
-</row>
-
-<row>
-<entry>With Emblem</entry>
-<entry>Specify if the file(s) found should be marked with, or not marked with, a particular emblem.</entry>
-<entry>Choose an emblem.</entry>
-</row>
-
-<row>
-<entry>Last Modified</entry>
-<entry>Choose an option to narrow down the last modification date of the files to be found.</entry>
-<entry>Enter a date. The current date is filled in by default, but you can delete it and type any date you want.</entry>
-</row>
-
-<row>
-<entry>Owned By</entry>
-<entry>Choose "is" or "is not" to include or exclude files owned by a particular group.</entry>
-<entry>Enter the name of a user group that owns files on your system.</entry>
-</row>
-
-
-</tbody>
-</tgroup>
-</informaltable>
-
-
-</sect1>
-
-
-<!--  Searching Your Computer and the Internet: Searching the Internet  -->
-<sect1 id="search">
-<title>Searching the Internet</title>
-
-<para>To search for pages on the Web, click the Web Search button in the toolbar. Eazel's search page appears. Type the word or phrase for which you want to search, and click Search.</para>
-
-<para>You can choose a search engine from the ones listed at the top of the search box. For instance, choose Google by clicking the Google link.</para>
-
-</sect1>
-
-
-</chapter>
-
-<!--  CHAPTER 4: MANAGING YOUR FILES AND FOLDERS  -->
-<chapter id="chapter4">
-<title>Managing Your Files and Folders</title>
-
-<para>This section explains how to use Nautilus to organize your files and folders. It includes:</para>
-
-<simplelist>
-<member><link linkend="move">Moving and Copying Files and Folders</link></member>
-<member><link linkend="create">Creating a New Folder</link></member>
-<member><link linkend="duplicate">Duplicating Files and Folders</link></member>
-<member><link linkend="rename">Renaming Files and Folders</link></member>
-<member><link linkend="delete">Deleting Files and Folders</link></member>
-<member><link linkend="permissions">Changing File Permissions</link></member>
-</simplelist>
-
-<!--  Managing Your Files and Folders: Moving and Copying Files and Folders  -->
-<sect1 id="move">
-<title>Moving and Copying Files and Folders</title>
-
-<para>The easiest way to move a file or folder is to work with two Nautilus windows.</para>
-
-<para>To move a file or folder to a new location, do this:</para>
-
-<orderedlist>
-<listitem><para>Open the File menu and choose New Window. You now have two Nautilus windows.</para></listitem>
-<listitem><para>In one window, locate the file or folder you want to move. In the other window, locate the destination folder.</para></listitem>
-<listitem><para>Using the left mouse button, click the file or folder you want to move and drag it to the other window.</para></listitem>
-</orderedlist>
-
-<para>Note: If your hard disk is divided into volumes, dragging a file or folder from one volume to another copies the file or folder rather than moving it.</para>
-
-<para>To copy a file or folder to a new folder while retaining the original, do this:</para>
-
-<orderedlist>
-<listitem><para>Open the File menu and choose New Window. You now have two Nautilus windows.</para></listitem>
-<listitem><para>In one window, locate the file or folder you want to copy. In the other window, locate the destination folder.</para></listitem>
-<listitem><para>Using the left mouse button, click the item you want to copy.</para></listitem>
-<listitem><para>Using the right mouse button, drag the item to the destination folder. A pop-up menu appears.</para></listitem>
-<listitem><para>Choose Copy Here to place a copy of the item in the destination folder. Choose Link Here to create a link to the item.</para></listitem>
-</orderedlist>
-
-</sect1>
-
-<!--  Managing Your Files and Folders: Creating a New Folder  -->
-<sect1 id="create">
-<title>Creating a New Folder</title>
-
-<para>You can create a new folder anywhere in the folder hierarchy on your computer, as long as you have appropriate permissions.</para>
-
-<para>Do this:</para>
-
-<orderedlist>
-<listitem><para>Go to the folder that will contain the new folder. (In the main window, double-click the folder's icon.)</para></listitem>
-<listitem><para>Open the File menu and choose New Folder.</para></listitem>
-</orderedlist>
-
-<para>Nautilus creates a new folder inside the current folder. It has the name &quot;untitled folder.&quot; You can <link linkend="rename">rename the new folder</link>.</para>
-
-</sect1>
-
-<!--  Managing Your Files and Folders: Duplicating Files and Folders  -->
-<sect1 id="duplicate">
-<title>Duplicating Files and Folders</title>
-
-<para>To duplicate an item, do this:</para>
-
-<orderedlist>
-<listitem><para>Click to select the item you want to duplicate.</para></listitem>
-<listitem><para>Open the File menu and choose Duplicate.</para></listitem>
-</orderedlist>
-
-<para>A copy of the item is added to the current folder.</para>
-
-</sect1>
-
-<!--  Managing Your Files and Folders: Renaming Files and Folders  -->
-<sect1 id="rename">
-<title>Renaming Files and Folders</title>
-
-<para>To rename an item, do this:</para>
-
-<orderedlist>
-<listitem><para>Click to select the item you want to rename.</para></listitem>
-<listitem><para>Open the File menu and choose Rename. The icon's label now has a text box around it.</para></listitem>
-<listitem><para>Type a new name for the item.</para></listitem>
-</orderedlist>
-
-</sect1>
-
-<!--  Managing Your Files and Folders: Deleting Files and Folders  -->
-<sect1 id="delete">
-<title>Deleting Files and Folders</title>
-
-<para>To delete an item, do this:</para>
-
-<orderedlist>
-<listitem><para>Click to select the item you want to delete.</para></listitem>
-<listitem><para>Open the File menu and choose Move to Trash.</para></listitem>
-<listitem><para>To empty the trash, open the File menu and choose Empty Trash. (Empty the trash only if you're sure you want to permanently delete the items in it!)</para></listitem>
-</orderedlist>
-
-</sect1>
-
-<!--  Managing Your Files and Folders: Changing File Permissions  -->
-<sect1 id="permissions">
-<title>Changing File Permissions</title>
-
-<para>You can change permissions for folders and files you own. If you're logged in as root (for experts only), you can change permissions for any folders and files on your computer.</para>
-
-<orderedlist>
-<listitem><para>Click to select the item for which you want to change permissions.</para></listitem>
-<listitem><para>Open the File menu and choose Show Properties. The Properties dialog box opens for the file or folder you selected.</para></listitem>
-<listitem><para>Click the Permissions tab.</para></listitem>
-<listitem><para>From the File Group menu, choose the group (users) that can own this file or folder.</para></listitem>
-<listitem><para>In the table, click to put a checkmark under each type of permission you want to grant. For instance, you can give the owner and users in the group permission to read (view), write (edit), and execute files in the group. (Execute is for programs.) You can give others permission to read files, but not write to them.</para></listitem>
-<listitem><para>When you are done managing permissions, close the dialog box.</para></listitem>
-</orderedlist>
-
-</sect1>
-
-</chapter>
-
-
-<!-- CHAPTER 5: CUSTOMIZING NAUTILUS -->
-<chapter id="chapter5">
-<title>Customizing Nautilus</title>
-
-<para>You can customize Nautilus in many ways so its appearance and behavior meets your needs and taste. This section explains how.</para>
-
-<simplelist>
-<member><link linkend="settings">Adjusting Beginner, Intermediate, and Advanced Settings</link></member>
-<member><link linkend="preferences">Setting Preferences</link></member>
-<member><link linkend="bars">Showing and Hiding Bars</link></member>
-<member><link linkend="layout">Choosing a File Layout</link></member>
-<member><link linkend="themes">Changing Themes and Backgrounds</link></member>
-<member><link linkend="customicons">Customizing Icons and Icon Captions</link></member>
-<member><link linkend="mime">Setting up Helper Applications (File Types)</link></member>
-</simplelist>
-
-<!--  Customizing Nautilus: Adjusting Beginner, Intermediate, and Advanced Settings -->
-<sect1 id="settings">
-<title>Adjusting Beginner, Intermediate, and Advanced Settings</title>
-
-<para>When you first lanched Nautilus, you were asked to choose your user level: Beginner, Intermediate, or Advanced. You can change your user level at any time.</para>
-
-<para>To change your user level:</para>
-
-<itemizedlist>
-<listitem><para>Open the Preferences menu and choose the level you want.</para></listitem>
-</itemizedlist>
-
-<figure id="prefmenu">
-<title>Preferences Menu</title>
-<screenshot>
-<screeninfo>Screenshot of Preferences Menu</screeninfo>
-<graphic format="png" fileref="prefmenu">
-</graphic>
-</screenshot>
-</figure>
-
-<para>One way to see the difference between the levels is to go to your home directory and then compare what you see as you select each level in turn. Be sure to return to the level with which you're comfortable when you're done.</para>
-
-</sect1>
-
-<!--  Customizing Nautilus: Setting Preferences -->
-<sect1 id="preferences">
-<title>Setting Preferences</title>
-
-<para>If your user level is set to Intermediate or Advanced, you can customize preferences:</para>
-
-<orderedlist>
-<listitem><para>Open the Preferences menu and choose Preferences.</para></listitem>
-<listitem><para>From the left column in the Preferences dialog, choose the type of settings you want to adjust (for instance, Folder Views).</para></listitem>
-<listitem><para>Adjust each group of settings as desired, following the instructions in the Preferences dialog box.</para></listitem>
-<listitem><para>When you are finished setting preferences, click OK.</para></listitem>
-</orderedlist>
-
-</sect1>
-
-<!--  Customizing Nautilus: Showing and Hiding Bars -->
-<sect1 id="bars">
-<title>Showing and Hiding Bars</title>
-
-<para>The Nautilus window shows these bars by default:</para>
-
-<itemizedlist>
-<listitem><para>Sidebar</para></listitem>
-<listitem><para>Toolbar</para></listitem>
-<listitem><para>Location Bar</para></listitem>
-<listitem><para>Status Bar (at the bottom of the window)</para></listitem>
-</itemizedlist>
-
-<para>You may want to hide one or more of them to save space on your screen.</para>
-
-<para>To hide a bar, open the View menu and click one of the options in the second section. For instance, to hide the Sidebar, click Hide Sidebar.</para>
-
-<para>If you want to see the bar again, open the View menu and choose one of the Show options.</para>
-
-<para>Note: If you hide a bar in your Nautilus window, and then open another Nautilus window, the bar is not hidden in the new window. To specify which bars should be hidden or displayed in new windows:</para>
-
-<orderedlist>
-<listitem><para>Open the Preferences menu and choose Edit Beginner, Intermediate, or Advanced Preferences (whichever is available).</para></listitem>
-<listitem><para>In the left column of the Preferences dialog box, click Appearance.</para></listitem>
-<listitem><para>Under Views, de-select any bars you want hidden in new windows.</para></listitem>
-<listitem><para>Click OK.</para></listitem>
-</orderedlist>
-
-</sect1>
-
-<!--  Customizing Nautilus: Choosing a File Layout -->
-<sect1 id="layout">
-<title>Choosing a File Layout</title>
-
-
-<para><emphasis>File Layout in Icon View</emphasis></para>
-
-<para>To change the layout for the files you're viewing, open the View menu and choose Lay Out Items. Then choose how you want the files arranged:</para>
-
-<itemizedlist>
-<listitem><para>Manually - You can drag icons to arrange them as you like.</para></listitem>
-<listitem><para>by Name - The files appear alphabetically by name.</para></listitem>
-<listitem><para>by Type - All directory (folder) icons are grouped, followed by files arranged in groups such as text, image, and so on.</para></listitem>
-<listitem><para>by Size - Files are displayed from largest to smallest.</para></listitem>
-<listitem><para>by Modification Date - The most recently modified files appear first.</para></listitem>
-<listitem><para>by Emblems - If you've added emblems to icons, the files are grouped according to emblems (files without emblems are at the end).</para></listitem>
-<listitem><para>Tighter Layout - Icons are closer together.</para></listitem>
-<listitem><para>Reversed Order - Reverses the order for the option you've chosen.</para></listitem>
-</itemizedlist>
-
-
-<para><emphasis>File Layout in List View</emphasis></para>
-
-<para>In list view, you can change the layout of files by clicking the column headings. For instance, to arrange files by type, click the Type column heading.</para>
-
-<para><link linkend="viewopen">See also Viewing and Opening Files</link>.</para>
-
-</sect1>
-
-<!--  Customizing Nautilus: Choosing Themes and Backgrounds -->
-<sect1 id="themes">
-<title>Changing Themes and Backgrounds</title>
-
-<para>You can customize the d&eacute;cor of your Nautilus window by choosing an overall theme and by changing the background color or image of specific objects.</para>
-
-
-<para><emphasis>Choosing a New Theme</emphasis></para>
-
-<orderedlist>
-<listitem><para>Open the Edit menu and choose Change Appearance.</para></listitem>
-<listitem><para>Choose one of the themes. The appearance changes immediately, so you can see how the theme looks.</para></listitem> 
-<listitem><para>When you are finished, close the dialog box.</para></listitem>
-</orderedlist>
-
-
-<para><emphasis>Changing Backgound Patterns and Colors</emphasis></para>
-
-<orderedlist>
-<listitem><para>Open the Edit menu and choose Backgrounds and Emblems.</para></listitem>
-<listitem><para>In the Backgrounds and Emblems dialog box, choose Patterns or Colors.</para></listitem>
-<listitem><para>Drag a tile to a part of the Nautilus window. For instance, change the color of the sidebar by dragging the yellow tile.</para></listitem>
-<listitem><para>When you're finished, click Done.</para></listitem>
-</orderedlist>
-
-<para>Note: The Backgrounds and Emblems dialog also lets you drag emblems to attach to individual file and folder icons.</para>
-
-
-<para><emphasis>Adding and Removing Background Patterns and Colors</emphasis></para>
-
-<para>If your user level is set to Intermediate or Advanced, you can add and remove patterns and colors to the customization choices.</para>
-
-<para>Any image file can be a new background pattern. To add a pattern:</para>
-
-<orderedlist>
-<listitem><para>Open the Edit menu and choose Backgrounds and Emblems.</para></listitem>
-<listitem><para>In the Backgrounds and Emblems dialog box, choose Patterns.</para></listitem>
-<listitem><para>Click Add a New Pattern.</para></listitem>
-<listitem><para>Use the Directories and Files lists to find the image file you want to use.</para></listitem>
-<listitem><para>Select the image file and click OK. The image is added as a tile to the pattern options.</para></listitem>
-</orderedlist>
-
-<para>To add a new color to the background color choices:</para>
-
-<orderedlist>
-<listitem><para>Open the Edit menu and choose Backgrounds and Emblems.</para></listitem>
-<listitem><para>In the Backgrounds and Emblems dialog box, choose Colors.</para></listitem>
-<listitem><para>Click Add a New Color.</para></listitem>
-<listitem><para>On the color wheel, click the color you want to use and click OK. The color is added as a tile to the color choices.</para></listitem>
-</orderedlist>
-
-<para>To remove a pattern or color:</para>
-
-<orderedlist>
-<listitem><para>Open the Edit menu and choose Backgrounds and Emblems.</para></listitem>
-<listitem><para>In the Backgrounds and Emblems dialog box, choose Patterns or Colors.</para></listitem>
-<listitem><para>Click Remove a Pattern or Remove a Color.</para></listitem>
-<listitem><para>Any patterns or colors you have previous added are displayed. Click the one(s) you want to remove.</para></listitem>
-<listitem><para>Click Done.</para></listitem>
-</orderedlist>
-
-</sect1>
-
-<!--  Customizing Nautilus: Customizing Icons and Icon Captions -->
-<sect1 id="customicons">
-<title>Customizing Icons and Icon Captions</title>
-
-<para>Icons appear with information in their captions - normally the directory name and number of items for directories and the name and size for files. If you zoom in for a closer look at icons, more information appears.</para>
-
-<para><emphasis>Customizing Icon Captions</emphasis></para>
-
-<para>You can specify which information to show for icons and change the order of the information:</para>
-
-<orderedlist>
-<listitem><para>Open the Edit menu and choose Icon Captions.</para></listitem>
-<listitem><para>Click the first button and choose from the list. The information you choose will be the first thing shown below icons, after the filename.</para></listitem>
-<listitem><para>Repeat step 2 for the second and third buttons.</para></listitem>
-<listitem><para>When you are done customizing icon captions, close the dialog box.</para></listitem>
-</orderedlist>
-
-
-<para><emphasis>Customizing an Icon</emphasis></para>
-
-<para>You can change the icon for an individual folder or file, giving it a custom icon:</para>
-
-<orderedlist>
-<listitem><para>Make sure you aren't viewing the Tree, Notes, History, or Help tabs in the sidebar. (To &quot;put away&quot; a tab, click it.)</para></listitem>
-<listitem><para>Double-click the item you want to customize, so its icon is displayed in the sidebar.</para></listitem>
-<listitem><para>Drag a thumbnail image to the icon. The image replaces the icon.</para></listitem>
-</orderedlist>
-
-<figure id="custicon">
-<title>Creating a Custom Icon</title>
-<screenshot>
-<screeninfo>Screenshot of Custom Icon</screeninfo>
-<graphic format="png" fileref="custicon">
-</graphic>
-</screenshot>
-</figure>
-
-<para>Tip: You may want to work with two Nautilus windows when you customize a directory's icon. Open the File menu and choose New Window. You can drag a thumbnail image from one window to the directory you're customizing in the other window.</para>
-
-
-<para><emphasis>Adding Emblems to Icons</emphasis></para>
-
-<para>Emblems let you tag individual files as &quot;urgent,&quot; &quot;favorite,&quot; and so forth. To add an emblem to an icon:</para>
-
-<orderedlist>
-<listitem><para>Make sure that the folder or file to which you want to add an emblem is visible in the Nautilus window. You can be in Icon or List view.</para></listitem>
-<listitem><para>Open the Edit menu and choose Backgrounds and Emblems.</para></listitem>
-<listitem><para>In the Backgrounds and Emblems dialog box, choose Emblems.</para></listitem>
-<listitem><para>Select an emblem and drag it to the icon you want to customize.</para></listitem>
-<listitem><para>Click Done.</para></listitem>
-</orderedlist>
-
-<para>You can add as many emblems as you like.</para>
-
-<para>Tip: You can use emblems to organize your files. For instance, attach &quot;ohno!&quot; emblems to the files that need immediate attention; then open the View menu and choose Lay Out Items by Emblems. The files with &quot;ohno!&quot; emblems are displayed at the top in icon view and first in list view.</para>
-
-</sect1>
-
-</chapter>
-
-
-
-<!-- CHAPTER 6: SETTING UP FILE HANDLERS  -->
-<chapter id="chapter6">
-<title>Setting up File Handlers (MIME Types)</title>
-
-<para>There are several ways to open and view files in Nautilus:</para>
-
-<itemizedlist>
-<listitem><para>Double-click the file's icon (unless you've change your preference so a single-click activates items)</para></listitem>
-<listitem><para>Click the file's icon, open the File menu, and choose Open or Open With</para></listitem>
-<listitem><para>Right-click the file's icon and choose one of the Open or Open With options</para></listitem>
-</itemizedlist>
-
-<para>When you choose Open With, you see a list of applications that can open that particular file. You also have the choices "Other Applications" and "Other Viewer,"  which let you open or view the file using an application that's not in the list.</para>
-
-<para>You can customize the options for viewing and opening files. This section explains how.</para>
-
-<simplelist>
-<member><link linkend="menu">Adding and Removing Applications and Viewers</link></member>
-<member><link linkend="defaulthandler">Changing the Default Viewer or Application</link></member>
-<member><link linkend="configure">Configuring Additional Applications (Advanced)</link></member>
-<member><link linkend="mime">Adding a New MIME Type (Advanced)</link></member>
-</simplelist>
-
-
-<!-- Setting Up File Handlers: Adding and Removing Applications and Viewers  -->
-<sect1 id="menu">
-<title>Adding and Removing Applications and Viewers</title>
-
-<para>You can modify the list of applications you see when you choose Open With:</para>
-
-<orderedlist>
-<listitem><para>Click to select the file for which you want to change the Open options.</para></listitem> 
-<listitem><para>Open the File menu and choose Open With; then choose Other Application. The Open With Other dialog box appears. Its lists all the applications currently set as able to open this particular type of  file. Some applications in the list are tagged as "in the menu" for this file type, others are tagged as "not in the menu."</para></listitem>
-<listitem><para>Select an application in the list and click Modify. The Modify dialog box appears.</para></listitem>
-<listitem><para>Choose the option you want. You can choose to add or remove the application from the menu for this particular file, or for all files of this type.</para></listitem>
-<listitem><para>Click OK.</para></listitem>
-<listitem><para>In the Open With Other dialog box, click Done. (If you want to open the file now, click Choose.)</para></listitem>
-</orderedlist>
-
-<para>To modify the list of viewers you see when you choose Open With, follow steps 1-6 above, but choose "Other Viewer" instead of "Other Application" in step 2.</para>
-
-</sect1>
-
-<!-- Setting Up File Handlers: Changing the Default Viewer or Application  -->
-<sect1 id="defaulthandler">
-<title>Changing the Default Viewer or Application</title>
-
-<para>The default application or viewer opens a file automatically when you select the file and choose Open from the File menu. To specify the default:</para>
-
-<orderedlist>
-<listitem><para>Click to select the file for which you want to change the default.</para></listitem> 
-<listitem><para>Open the File menu and choose Open With; then choose Other Application. The Open With Other dialog box appears.</para></listitem>
-<listitem><para>Select the  application you want to use as the default and click Modify. The Modify dialog box appears.</para></listitem>
-<listitem><para>Choose the option you want. You can choose to use the application as the default for this particular file, or for all files of this type.</para></listitem>
-<listitem><para>Click OK.</para></listitem>
-<listitem><para>In the Open With Other dialog box, click Done. (If you want to open the file now, click Choose.)</para></listitem>
-</orderedlist>
-
-<para>To change the default viewer, follow steps 1-6 above, but choose "Other Viewer" instead of "Other Application" in step 2.</para>
-
-</sect1>
-
-<!-- Setting Up File Handlers: Configuring Additional Applications (Advanced)  -->
-<sect1 id="configure">
-<title>Configuring Additional Applications (Advanced)</title>
-
-<para>The Open With Other dialog box (described above) lists all applications currently configured to open a file. There may be additional applications on your computer that can open the file, but aren't in the list. You can configure additional applications so they appear in the list.</para>
-
-<orderedlist>
-<listitem><para>Click to select the file for which you want to configure a new application.</para></listitem> 
-<listitem><para>Open the File menu and choose Open With; then choose Other Application. The Open With Other dialog box appears.</para></listitem>
-<listitem><para>Under File Types and Programs, click Go There. The GNOME Control Center opens, with the File Types and Programs preferences displayed.</para></listitem>
-<listitem><para>In the list, find the file type for the file you're working with. For instance, if you're confuring an additional application for a plain text file, locate the entry for plain text files in the list. (Clicking the column headers sorts the list.)</para></listitem>
-<listitem><para>Once you find the file type, click to select it.</para></listitem>
-<listitem><para>Under Default Action, click Edit List. The Edit Applications List dialog box appears.</para></listitem>
-<listitem><para>Click Add Application. The New Application dialog box appears.</para></listitem>
-<listitem><para>Type the application's name and the command that launches the application. The command is the same as the command you'd type if you were launching the application from a Linux command line.</para></listitem> 
-<listitem><para>Click OK to dismiss the New Application dialog box.</para></listitem>
-<listitem><para>Click OK to dismiss the Edit Applications List dialog box.</para></listitem> 
-<listitem><para>Click OK in the File Types and Programs preferences.</para></listitem>
-</orderedlist>
-
-<para>To edit the name or command for an application, follow steps 1-11 but click Edit Application instead of Add Application in step 7.</para>
-
-</sect1>
-
-<!-- Setting Up File Handlers: Adding a New MIME Type (Advanced)  -->
-<sect1 id="mime">
-<title>Adding a New MIME Type(Advanced)</title>
-
-<para>You can set up default applications for new file types that are not currently configured on your system.</para>
-
-<para>First, add the new file type:</para>
-
-<orderedlist>
-<listitem><para>Open the GNOME main menu and choose Programs: Settings: GNOME Control Center.</para></listitem> 
-<listitem><para>Choose File Types and Programs in the GNOME Control Center's left-hand column.</para></listitem>
-<listitem><para>Click Add New Mime Type.</para></listitem>
-<listitem><para>In the Add Mime Type dialog box, enter the Mime type and a description. For instance, if you have a new type of image file of type "alf" (alfie files), you'd enter "alf" as the Mime type and "Alfie image" as the description.</para></listitem>
-<listitem><para>Click OK. Your new Mime type is added to the list.</para></listitem>
-</orderedlist>
-
-<para>Second, associate a file extension and icon with the new type:</para>
-
-<orderedlist>
-<listitem><para>Select your new Mime type in the list and click Change File Extensions.</para></listitem> 
-<listitem><para>Type a file extension (for instance, ".alf" for the "alfie" image files in the example) and click OK.</para></listitem>
-<listitem><para>To specify the default icon for files of this type, click Change Icon. Choose an icon and click OK.</para></listitem>
-</orderedlist>
-
-<para>Third, defined the application(s) that can open files of this type:</para>
-
-<orderedlist>
-<listitem><para>Select your new Mime type in the list.</para></listitem>
-<listitem><para>Under Default Action, click Edit List. The Edit Applications List dialog box appears.</para></listitem> 
-<listitem><para>Click Add Application. The New Application dialog box appears.</para></listitem>
-<listitem><para>Type the application's name and the command that launches the application. The command is the same as the command you'd type if you were launching the application from a Linux command line.</para></listitem>
-<listitem><para>Click OK to dismiss the New Application dialog box.</para></listitem>
-<listitem><para>Click OK to dismiss the Edit Applications List dialog box.</para></listitem>
-<listitem><para>Click OK in the File Types and Programs preferences.</para></listitem>
-</orderedlist>
-
-</sect1>
-
-</chapter>
-
-
-<!-- CHAPTER 7: EAZEL SERVICES -->
-<chapter id="chapter7">
-<title>Eazel Services</title>
-
-<para>Eazel Services are Internet-based tools designed to simplify system management for Linux users. Nautilus and Eazel Services work together to make your life easier.</para>
-
-<para>Eazel Services include:</para>
-
-<itemizedlist>
-<listitem><para>Free online storage for file backup</para></listitem>
-<listitem><para>File sharing</para></listitem>
-<listitem><para>Eazel's Software Catalog with easy installation of software titles.</para></listitem>
-<listitem><para>Nautilus Installer</para></listitem>
-</itemizedlist>
-
-<para><emphasis>Registering with Eazel</emphasis></para>
-
-<para>When you first launched Eazel, you were asked if you wanted to register for Eazel Services. If you registered at that time, click the Services button in the Nautilus window and log in, using your user name and password.</para>
-
-<para>If you have not already registered, click the Services button to see a registration screen. Follow the steps for registering.</para>
-
-</chapter>
-
-</book>
-
Index: /unk/third/nautilus/user-guide/C/html/license.html
===================================================================
--- /trunk/third/nautilus/user-guide/C/html/license.html (revision 15547)
+++  (revision )
@@ -1,153 +1,0 @@
-<HTML
-><HEAD
-><TITLE
->License</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.52">
-</HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><H1
-COLSPAN="3"
-ALIGN="center"
->Nautilus</H1
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
->&nbsp;</TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
->License</H1
-><P
->   This program is free software; you can redistribute it and/or
-   modify it under the terms of the <I
-CLASS="CITETITLE"
->GNU General Public
-   License</I
-> as published by the Free Software Foundation;
-   either version 2 of the License, or (at your option) any later
-   version.
-  </P
-><P
->   This program is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   <I
-CLASS="CITETITLE"
->GNU General Public License</I
-> for more details.
-  </P
-><P
->  You may obtain a copy of the
-   <I
-CLASS="CITETITLE"
->GNU General Public License</I
-> from the Free
-   Software Foundation by visiting <A
-HREF="http://www.fsf.org"
-TARGET="_top"
->their Web site</A
-> or by writing to
-   <P
-CLASS="ADDRESS"
->&nbsp;&nbsp;&nbsp;&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;Inc.<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<SPAN
-CLASS="STREET"
->59 Temple Place</SPAN
->&nbsp;-&nbsp;Suite&nbsp;330<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<SPAN
-CLASS="CITY"
->Boston</SPAN
->,&nbsp;<SPAN
-CLASS="STATE"
->MA</SPAN
->&nbsp;<SPAN
-CLASS="POSTCODE"
->02111-1307</SPAN
-><br>
-&nbsp;&nbsp;&nbsp;&nbsp;<SPAN
-CLASS="COUNTRY"
->USA</SPAN
-><br>
-&nbsp;&nbsp;&nbsp;</P
->
-  </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->&nbsp;</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
-
Index: /unk/third/nautilus/user-guide/C/Makefile.in
===================================================================
--- /trunk/third/nautilus/user-guide/C/Makefile.in (revision 15547)
+++  (revision )
@@ -1,302 +1,0 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ../..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_alias = @host_alias@
-host_triplet = @host@
-AMMONITE_CFLAGS = @AMMONITE_CFLAGS@
-AMMONITE_LIBS = @AMMONITE_LIBS@
-APPLETS_CFLAGS = @APPLETS_CFLAGS@
-APPLETS_LIBS = @APPLETS_LIBS@
-AS = @AS@
-BONOBOX_CFLAGS = @BONOBOX_CFLAGS@
-BONOBOX_LIBS = @BONOBOX_LIBS@
-BONOBO_CFLAGS = @BONOBO_CFLAGS@
-BONOBO_LIBS = @BONOBO_LIBS@
-BONOBO_PRINT_CFLAGS = @BONOBO_PRINT_CFLAGS@
-BONOBO_PRINT_LIBS = @BONOBO_PRINT_LIBS@
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
-CC = @CC@
-CPP = @CPP@
-CXX = @CXX@
-DATADIRNAME = @DATADIRNAME@
-DLLTOOL = @DLLTOOL@
-EAZEL_SERVICES = @EAZEL_SERVICES@
-ENABLE_PROFILER = @ENABLE_PROFILER@
-ESD_CFLAGS = @ESD_CFLAGS@
-ESD_CONFIG = @ESD_CONFIG@
-ESD_LIBS = @ESD_LIBS@
-FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
-FREETYPE2_LIBS = @FREETYPE2_LIBS@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_CONFIG = @GCONF_CONFIG@
-GCONF_LIBS = @GCONF_LIBS@
-GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@
-GDK_PIXBUF_CONFIG = @GDK_PIXBUF_CONFIG@
-GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@
-GENCAT = @GENCAT@
-GHTTP_CFLAGS = @GHTTP_CFLAGS@
-GHTTP_LIBS = @GHTTP_LIBS@
-GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_CONFIG = @GLIB_CONFIG@
-GLIB_LIBS = @GLIB_LIBS@
-GMOFILES = @GMOFILES@
-GMSGFMT = @GMSGFMT@
-GNOMECANVASPIXBUF_INCLUDEDIR = @GNOMECANVASPIXBUF_INCLUDEDIR@
-GNOMECANVASPIXBUF_LIBS = @GNOMECANVASPIXBUF_LIBS@
-GNOMEUI_CFLAGS = @GNOMEUI_CFLAGS@
-GNOMEUI_LIBS = @GNOMEUI_LIBS@
-GNOME_CFLAGS = @GNOME_CFLAGS@
-GNOME_CONFIG = @GNOME_CONFIG@
-GNOME_LIBS = @GNOME_LIBS@
-GNORBA_CFLAGS = @GNORBA_CFLAGS@
-GNORBA_LIBS = @GNORBA_LIBS@
-GTK_CFLAGS = @GTK_CFLAGS@
-GTK_CONFIG = @GTK_CONFIG@
-GTK_LIBS = @GTK_LIBS@
-GT_NO = @GT_NO@
-GT_YES = @GT_YES@
-HAVE_APPLETS = @HAVE_APPLETS@
-IDL_CFLAGS = @IDL_CFLAGS@
-INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
-INSTOBJEXT = @INSTOBJEXT@
-INTLDEPS = @INTLDEPS@
-INTLLIBS = @INTLLIBS@
-INTLOBJS = @INTLOBJS@
-LIBPNG = @LIBPNG@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MEDUSA_CFLAGS = @MEDUSA_CFLAGS@
-MEDUSA_LIBS = @MEDUSA_LIBS@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-MOZILLA_COMPONENT_CFLAGS = @MOZILLA_COMPONENT_CFLAGS@
-MOZILLA_COMPONENT_DEBUG_FLAGS = @MOZILLA_COMPONENT_DEBUG_FLAGS@
-MOZILLA_COMPONENT_LDFLAGS = @MOZILLA_COMPONENT_LDFLAGS@
-MOZILLA_COMPONENT_LIBS = @MOZILLA_COMPONENT_LIBS@
-MOZILLA_COMPONENT_RPATH_FLAGS = @MOZILLA_COMPONENT_RPATH_FLAGS@
-MOZILLA_MILESTONE = @MOZILLA_MILESTONE@
-OAF_CFLAGS = @OAF_CFLAGS@
-OAF_CONFIG = @OAF_CONFIG@
-OAF_LIBS = @OAF_LIBS@
-OBJDUMP = @OBJDUMP@
-ORBIT_CFLAGS = @ORBIT_CFLAGS@
-ORBIT_CONFIG = @ORBIT_CONFIG@
-ORBIT_IDL = @ORBIT_IDL@
-ORBIT_LIBS = @ORBIT_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGESYSTEM = @PACKAGESYSTEM@
-PAM_LIBS = @PAM_LIBS@
-POFILES = @POFILES@
-POSUB = @POSUB@
-RANLIB = @RANLIB@
-RPM_LIBS = @RPM_LIBS@
-RPM_VERSION = @RPM_VERSION@
-USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-VFS_CFLAGS = @VFS_CFLAGS@
-VFS_LIBS = @VFS_LIBS@
-XML_CFLAGS = @XML_CFLAGS@
-XML_CONFIG = @XML_CONFIG@
-XML_I18N_EXTRACT = @XML_I18N_EXTRACT@
-XML_I18N_MERGE = @XML_I18N_MERGE@
-XML_I18N_UPDATE = @XML_I18N_UPDATE@
-XML_LIBS = @XML_LIBS@
-ZVT_LIBS = @ZVT_LIBS@
-Z_LIBS = @Z_LIBS@
-gnomelocaledir = @gnomelocaledir@
-l = @l@
-
-NULL = 
-
-LANG = C
-
-DOC_MODULE = nautilus
-
-SGML_DIR = $(datadir)/gnome/help
-
-TARGET_DIR = $(SGML_DIR)/$(DOC_MODULE)/$(LANG)/
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../../config.h
-CONFIG_CLEAN_FILES = 
-DIST_COMMON =  Makefile.am Makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = gtar
-GZIP_ENV = --best
-all: all-redirect
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps user-guide/C/Makefile
-
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) \
-	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-tags: TAGS
-TAGS:
-
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = user-guide/C
-
-distdir: $(DISTFILES)
-	@for file in $(DISTFILES); do \
-	  d=$(srcdir); \
-	  if test -d $$d/$$file; then \
-	    cp -pr $$d/$$file $(distdir)/$$file; \
-	  else \
-	    test -f $(distdir)/$$file \
-	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
-	    || cp -p $$d/$$file $(distdir)/$$file || :; \
-	  fi; \
-	done
-	$(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-hook
-info-am:
-info: info-am
-dvi-am:
-dvi: dvi-am
-check-am: all-am
-check: check-am
-installcheck-am:
-installcheck: installcheck-am
-install-exec-am:
-install-exec: install-exec-am
-
-install-data-am: install-data-local
-install-data: install-data-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-am
-uninstall-am:
-uninstall: uninstall-am
-all-am: Makefile
-all-redirect: all-am
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs:
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
-	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am:  mostlyclean-generic
-
-mostlyclean: mostlyclean-am
-
-clean-am:  clean-generic mostlyclean-am
-
-clean: clean-am
-
-distclean-am:  distclean-generic clean-am
-	-rm -f libtool
-
-distclean: distclean-am
-
-maintainer-clean-am:  maintainer-clean-generic distclean-am
-	@echo "This command is intended for maintainers to use;"
-	@echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-am
-
-.PHONY: tags distdir info-am info dvi-am dvi check check-am \
-installcheck-am installcheck install-exec-am install-exec \
-install-data-local install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-install-data-local: 
-	$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR) 
-	installfiles=`echo $(srcdir)/sgml/*.sgml 		\
-	$(srcdir)/img/*.png					\
-	$(srcdir)/html/*.html`;					\
-	if test "$$installfiles" = '$(srcdir)/sgml/*.sgml'; 	\
-	then echo '-- Nothing to install' ; 			\
-	else 							\
-	for i in $$installfiles; do				\
-		basefile=`basename $$i`;  			\
-		$(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR)$$basefile; 	\
-	done; 							\
-	fi
-
-dist-hook:
-	mkdir $(distdir)/sgml 
-	mkdir $(distdir)/html 
-	mkdir $(distdir)/img
-	-cp $(srcdir)/sgml/*.sgml $(distdir)/sgml
-	-cp $(srcdir)/img/*.png $(distdir)/img
-	-cp $(srcdir)/html/*.html $(distdir)/html
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
Index: /unk/third/nautilus/user-guide/C/Makefile.am
===================================================================
--- /trunk/third/nautilus/user-guide/C/Makefile.am (revision 15547)
+++  (revision )
@@ -1,32 +1,0 @@
-NULL=
-
-LANG=C
-
-DOC_MODULE=nautilus
-
-SGML_DIR=$(datadir)/gnome/help
-
-TARGET_DIR=$(SGML_DIR)/$(DOC_MODULE)/$(LANG)/
-
-install-data-local: 
-	$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR) 
-	installfiles=`echo $(srcdir)/sgml/*.sgml 		\
-	$(srcdir)/img/*.png					\
-	$(srcdir)/html/*.html`;					\
-	if test "$$installfiles" = '$(srcdir)/sgml/*.sgml'; 	\
-	then echo '-- Nothing to install' ; 			\
-	else 							\
-	for i in $$installfiles; do				\
-		basefile=`basename $$i`;  			\
-		$(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR)$$basefile; 	\
-	done; 							\
-	fi
-
-dist-hook:
-	mkdir $(distdir)/sgml 
-	mkdir $(distdir)/html 
-	mkdir $(distdir)/img
-	-cp $(srcdir)/sgml/*.sgml $(distdir)/sgml
-	-cp $(srcdir)/img/*.png $(distdir)/img
-	-cp $(srcdir)/html/*.html $(distdir)/html
-
Index: /unk/third/nautilus/icons/emblem-secret.svg
===================================================================
--- /trunk/third/nautilus/icons/emblem-secret.svg (revision 15547)
+++  (revision )
@@ -1,31 +1,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- Generator: Adobe Illustrator 9.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN"   "http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-stylable.dtd" [
-	<!ENTITY st0 "fill-rule:nonzero;clip-rule:nonzero;fill:#FFFFFF;stroke:#000000;stroke-miterlimit:4;">
-	<!ENTITY st1 "fill:#3F3997;">
-	<!ENTITY st2 "stroke:none;">
-]>
-<svg  width="55pt" height="20pt" viewBox="0 0 55 20" xml:space="preserve">
-	<g id="Layer_x0020_1" style="&st0;">
-		<g style="&st2;">
-			<path style="&st1;" d="M55,16c0,2.209-1.97,4-4.399,4H4.4C1.971,20,0,18.209,0,16V4c0-2.209,1.971-4,4.4-4h46.2C53.03,0,55,1.791,55,4v12z"/>
-			<g>
-				<path d="M10.051,7.591H7.113V6.699c0-0.417-0.037-0.682-0.11-0.795C6.929,5.789,6.806,5.732,6.634,5.732c-0.187,0-0.328,0.077-0.424,0.231s-0.144,0.387-0.144,0.7c0,0.402,0.056,0.705,0.168,0.908c0.107,0.204,0.404,0.451,0.892,0.743
-					c1.398,0.839,2.279,1.526,2.644,2.06c0.364,0.535,0.546,1.395,0.546,2.583c0,0.864-0.102,1.5-0.304,1.909s-0.593,0.752-1.172,1.029c-0.58,0.277-1.254,0.416-2.023,0.416c-0.844,0-1.565-0.16-2.162-0.479s-0.987-0.726-1.172-1.22
-					c-0.185-0.493-0.277-1.194-0.277-2.102v-0.793h2.938v1.466c0,0.452,0.041,0.742,0.122,0.871c0.082,0.13,0.227,0.194,0.434,0.194s0.362-0.082,0.463-0.246s0.152-0.408,0.152-0.731c0-0.711-0.099-1.176-0.295-1.395c-0.201-0.219-0.692-0.587-1.473-1.104
-					C4.768,10.249,4.25,9.871,3.996,9.636C3.741,9.401,3.531,9.077,3.364,8.663c-0.167-0.415-0.25-0.943-0.25-1.587c0-0.928,0.118-1.607,0.355-2.037c0.237-0.429,0.62-0.765,1.148-1.007c0.529-0.242,1.168-0.363,1.916-0.363c0.818,0,1.516,0.132,2.092,0.397
-					S9.583,4.664,9.77,5.065s0.281,1.084,0.281,2.047v0.479z"/>
-				<path d="M12.166,3.919h5.266v2.438h-2.109v2.297h1.969v2.313h-1.969v2.656h2.312v2.438h-5.469V3.919z"/>
-				<path d="M26.784,9.201h-3.156V7.102c0-0.61-0.034-0.991-0.101-1.143c-0.067-0.151-0.215-0.227-0.444-0.227c-0.258,0-0.422,0.092-0.492,0.277c-0.069,0.185-0.104,0.583-0.104,1.196v5.622c0,0.589,0.035,0.972,0.104,1.151c0.07,0.18,0.226,0.27,0.47,0.27
-					c0.233,0,0.386-0.091,0.458-0.271c0.072-0.181,0.108-0.604,0.108-1.269v-1.523h3.156v0.473c0,1.258-0.089,2.149-0.266,2.676c-0.177,0.525-0.569,0.986-1.176,1.383c-0.607,0.396-1.355,0.594-2.244,0.594c-0.924,0-1.686-0.168-2.285-0.502
-					c-0.599-0.335-0.996-0.799-1.191-1.391s-0.292-1.482-0.292-2.671V8.203c0-0.874,0.03-1.53,0.09-1.967c0.06-0.438,0.238-0.858,0.535-1.263c0.297-0.405,0.709-0.723,1.236-0.956s1.132-0.349,1.816-0.349c0.929,0,1.695,0.179,2.299,0.539
-					c0.604,0.358,1.001,0.806,1.191,1.341c0.189,0.536,0.285,1.369,0.285,2.5v1.151z"/>
-				<path d="M28.774,3.919h2.233c1.489,0,2.497,0.058,3.024,0.172c0.527,0.115,0.957,0.409,1.29,0.882c0.332,0.473,0.499,1.228,0.499,2.263c0,0.946-0.118,1.581-0.354,1.906c-0.234,0.325-0.697,0.521-1.387,0.585c0.625,0.155,1.045,0.362,1.26,0.622
-					s0.348,0.498,0.4,0.716c0.053,0.217,0.08,0.815,0.08,1.794v3.2h-2.938v-4.031c0-0.648-0.052-1.051-0.153-1.206c-0.102-0.154-0.368-0.231-0.8-0.231v5.469h-3.156V3.919z M31.931,5.998v2.703c0.352,0,0.599-0.048,0.74-0.146s0.213-0.415,0.213-0.95V6.936
-					c0-0.385-0.068-0.638-0.205-0.758s-0.387-0.18-0.748-0.18z"/>
-				<path d="M37.906,3.919h5.266v2.438h-2.109v2.297h1.969v2.313h-1.969v2.656h2.312v2.438h-5.469V3.919z"/>
-				<path d="M51.306,3.919v2.438h-1.875v9.704h-3.156V6.357h-1.859V3.919h6.891z"/>
-			</g>
-		</g>
-	</g>
-</svg>
Index: /unk/third/nautilus/icons/emblem-shared.svg
===================================================================
--- /trunk/third/nautilus/icons/emblem-shared.svg (revision 15547)
+++  (revision )
@@ -1,36 +1,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- Generator: Adobe Illustrator 9.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN"   "http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-stylable.dtd" [
-	<!ENTITY st0 "fill:none;stroke:#006532;stroke-width:3.2992;">
-	<!ENTITY st1 "fill:#9ED67D;stroke:#006532;stroke-width:3.2992;">
-	<!ENTITY st2 "fill:#3EA639;stroke:none;">
-	<!ENTITY st3 "fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;">
-]>
-<svg  width="42" height="26pt" viewBox="0 0 426 26" xml:space="preserve">
-	<g id="Layer_x0020_1" style="&st3;">
-		<g>
-			<g>
-				<g>
-					<path style="&st1;" d="M12.976,24.304c6.256,0,11.33-5.071,11.33-11.328c0-6.257-5.074-11.328-11.33-11.328c-6.256,0-11.329,5.071-11.329,11.328c0,6.257,5.072,11.328,11.329,11.328z"/>
-				</g>
-			</g>
-			<g>
-				<g>
-					<path style="&st1;" d="M27.18,24.323c6.257,0,11.329-5.072,11.329-11.329c0-6.256-5.072-11.328-11.329-11.328S15.851,6.738,15.851,12.994c0,6.257,5.072,11.329,11.329,11.329z"/>
-				</g>
-			</g>
-			<path style="&st2;" d="M20.711,4.288c-1.686,1.467-3.447,3.959-3.665,5.719c-0.221,1.76-0.735,2.492-0.295,4.546c0.442,2.052,0.88,3.444,1.76,4.546c0.879,1.099,1.906,2.053,2.126,2.272s0.073,0.073,1.467-2.272c1.393-2.348,1.832-3.959,1.832-5.939
-				s-0.66-4.619-1.026-5.719c-0.366-1.099-2.199-3.153-2.199-3.153z"/>
-			<g>
-				<g>
-					<path style="&st0;" d="M12.976,24.304c6.256,0,11.33-5.071,11.33-11.328c0-6.257-5.074-11.328-11.33-11.328c-6.256,0-11.329,5.071-11.329,11.328c0,6.257,5.072,11.328,11.329,11.328z"/>
-				</g>
-			</g>
-			<g>
-				<g>
-					<path style="&st0;" d="M27.18,24.323c6.257,0,11.329-5.072,11.329-11.329c0-6.256-5.072-11.328-11.329-11.328S15.851,6.738,15.851,12.994c0,6.257,5.072,11.329,11.329,11.329z"/>
-				</g>
-			</g>
-		</g>
-	</g>
-</svg>
Index: /unk/third/nautilus/icons/hand.svg
===================================================================
--- /trunk/third/nautilus/icons/hand.svg (revision 15547)
+++  (revision )
@@ -1,22 +1,0 @@
-<svg width="95" height="82">
- <!-- Service_hand.eps converted by ill2svg.pl -->
- <defs>
- </defs>
- <g> <!-- Layer: Layer 1 -->
-  <g style="fill: #000000">
-   <path d="M9.726 43.049C9.726 43.049 17.055 35.471 17.217 31.182C17.448 25.053 16.985 21.963 22.315 19.029C25.965 17.018 33.943 15.405 37.294 13.791C40.644 12.176 46.378 4.782 47.818 1.653C48.745 -0.362 50.183 1.493 51.262 2.517C53.135 4.292 53.871 6.332 53.935 8.577C54.017 11.367 50.744 16.275 48.976 18.104C47.929 19.186 51.572 18.008 53.762 18.44C55.951 18.87 58.2 19.768 58.547 18.774C59.323 16.554 63.323 12.946 64.361 12.221C68.932 9.026 71.424 13.127 72.617 11.993C71.361 13.187 78.72 6.326 84.479 8.34C85.968 8.86 90.073 5.727 92.937 7.612C94.791 8.832 94.205 12.074 93.218 13.623C92.231 15.172 90.424 15.877 87.511 17.2C84.598 18.521 80.171 20.985 79.297 21.571C77.344 22.882 72.638 28.826 69.851 32.977C67.264 36.828 68.69 35.023 66.333 36.985C62.319 40.326 45.103 39.585 42.889 40.817C40.676 42.049 39.667 44.707 38.593 48.125C37.236 52.448 36.11 56.505 34.453 58.377C31.896 61.266 25.91 60.065 22.286 57.684C18.661 55.302 10.281 52.818 9.336 49.146C8.392 45.472 9.726 43.049 9.726 43.049z"/>
-  </g>
-  <g style="fill: #ffffff">
-   <path d="M19.735 34.179C20.227 30.94 16.253 40.316 11.802 44.443C10.796 45.375 18.47 53.017 23.297 54.589C27.999 56.122 29.985 56.816 31.325 56.17C32.665 55.524 33.389 53.771 35.04 50.003C36.577 46.497 38.696 43.37 37.793 43.722C34.656 44.947 27.845 43.81 25.064 40.611C22.283 37.409 19.477 35.872 19.735 34.179z"/>
-  </g>
-  <g style="fill: #ffbf7f">
-   <path d="M23.924 20.601C22.349 21.657 20.544 21.982 20.059 25.601C19.682 28.418 21.422 32.54 22.624 34.521C23.826 36.501 28.007 39.522 30.663 39.893C33.319 40.264 36.214 42.502 38.541 40.307C40.868 38.112 43.201 37.812 47.604 37.012C52.007 36.211 59.944 37.091 62.535 35.1C65.125 33.108 63.971 27.802 64.779 24.853C65.587 21.904 66.419 17.293 67.669 15.947C68.919 14.601 70.284 12.292 68.447 12.765C66.611 13.237 65.122 12.716 61.926 17.394C59.66 20.712 58.325 22.597 57.899 26.683C57.592 29.642 53.75 27.166 50.691 25.946C48.442 25.049 47.743 25.138 45.673 25.641C43.603 26.143 39.86 26.196 43.688 24.946C53.246 21.825 55.363 27.244 55.591 25.319C55.705 24.356 57.865 21.522 56.249 21.204C48.952 19.767 41.494 21.233 43.963 19.694C49.233 16.411 47.194 17.147 49.868 13.959C53.295 9.873 51.238 4.298 49.576 4.274C47.913 4.25 45.802 10.372 42.6 12.755C39.136 15.332 41.206 14.831 37.096 16.068C32.986 17.306 25.234 19.722 23.924 20.601z"/>
-   <!-- 0 N -->
-   <path d="M32.119 19.789M66.639 31.966C66.957 34.446 73.435 22.084 75.529 19.919C77.551 17.829 84.173 13.358 83.235 11.582C82.295 9.805 79.168 9.27 74.226 13.447C70.588 16.522 71.001 17.892 69.577 19.734C68.793 20.749 66.141 28.078 66.639 31.966z"/>
-   <path d="M81.386 17.51C80.06 18.739 90.972 13.537 91.262 13.162C92.686 11.32 92.794 8.46 89.994 8.819C87.195 9.178 86.118 10.027 85.681 10.32C85.245 10.613 86.178 10.494 86.184 12.39C86.19 14.286 82.869 16.134 81.386 17.51z"/>
-  </g>
-  <g style="fill: #000000">
-   <path d="M10.282 43.689C10.282 43.689 8.38 41.799 7.363 43.115C6.346 44.43 1.708 54.509 0.812 56.758C-0.086 59.007 3.964 57.303 5.698 61.586C7.432 65.87 10.817 66.384 14.293 67.599C17.769 68.813 17.14 73.162 19.365 75.723C21.59 78.284 25.453 82.531 27.667 81.299C29.88 80.067 38.463 61.758 37.665 59.389C35.751 53.706 33.609 59.197 27.305 58.107C21 57.018 18.955 55.857 16.263 53.356C13.571 50.856 10.282 43.689 10.282 43.689z"/>
-  </g>
- </g>
-</svg>
Index: /unk/third/nautilus/components/services/inventory-view/nautilus-inventory-config-page.h
===================================================================
--- /trunk/third/nautilus/components/services/inventory-view/nautilus-inventory-config-page.h (revision 15547)
+++  (revision )
@@ -1,57 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Maciej Stachowiak <mjs@eazel.com>
- */
-
-/* nautilus-inventory-config-page.h - 
- */
-
-#ifndef NAUTILUS_INVENTORY_CONFIG_PAGE_H
-#define NAUTILUS_INVENTORY_CONFIG_PAGE_H
-
-#include <gtk/gtkvbox.h>
-#include <libnautilus/nautilus-view.h>
-
-#define NAUTILUS_TYPE_INVENTORY_CONFIG_PAGE            (nautilus_inventory_config_page_get_type ())
-#define NAUTILUS_INVENTORY_CONFIG_PAGE(obj)            (GTK_CHECK_CAST ((obj), NAUTILUS_TYPE_INVENTORY_CONFIG_PAGE, NautilusInventoryConfigPage))
-#define NAUTILUS_INVENTORY_CONFIG_PAGE_CLASS(klass)    (GTK_CHECK_CLASS_CAST ((klass), NAUTILUS_TYPE_INVENTORY_CONFIG_PAGE, NautilusInventoryConfigPageClass))
-#define NAUTILUS_IS_INVENTORY_CONFIG_PAGE(obj)         (GTK_CHECK_TYPE ((obj), NAUTILUS_TYPE_INVENTORY_CONFIG_PAGE))
-#define NAUTILUS_IS_INVENTORY_CONFIG_PAGE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), NAUTILUS_TYPE_INVENTORY_CONFIG_PAGE))
-
-typedef struct NautilusInventoryConfigPage        NautilusInventoryConfigPage;
-typedef struct NautilusInventoryConfigPageClass   NautilusInventoryConfigPageClass;
-typedef struct NautilusInventoryConfigPageDetails NautilusInventoryConfigPageDetails;
-
-struct NautilusInventoryConfigPage {
-	GtkVBox base;
-	NautilusInventoryConfigPageDetails *details;
-};
-
-struct NautilusInventoryConfigPageClass {
-	GtkVBoxClass base;
-};
-
-GtkType nautilus_inventory_config_page_get_type (void);
-
-GtkWidget *nautilus_inventory_config_page_new (NautilusView *view);
-
-#endif /* NAUTILUS_INVENTORY_CONFIG_PAGE_H */
-
Index: /unk/third/nautilus/components/services/inventory-view/nautilus-inventory-config-page.c
===================================================================
--- /trunk/third/nautilus/components/services/inventory-view/nautilus-inventory-config-page.c (revision 15547)
+++  (revision )
@@ -1,197 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Maciej Stachowiak <mjs@eazel.com>
- */
-
-/* nautilus-inventory-config-page.h - 
- */
-
-#include <config.h>
-#include "nautilus-inventory-config-page.h"
-#include <gtk/gtklabel.h>
-#include <gtk/gtkhbox.h>
-#include <gtk/gtkbutton.h>
-#include <gtk/gtkentry.h>
-#include <gtk/gtksignal.h>
-#include <gtk/gtkcheckbutton.h>
-#include <libnautilus-extensions/nautilus-gtk-macros.h>
-#include <libnautilus/nautilus-view.h>
-#include <eazel-inventory-service-interface.h>
-
-#define SERVICE_IID "OAFIID:trilobite_inventory_service:eaae1152-1551-43d5-a764-52274131a9d5"
-
-struct NautilusInventoryConfigPageDetails {
-	GtkWidget                 *machine_entry;
-	GtkWidget                 *warn_check_button;
-	NautilusView              *view;
-	Trilobite_Eazel_Inventory  inventory_service;
-};
-
-static void     nautilus_inventory_config_page_initialize_class    (NautilusInventoryConfigPageClass *klass);
-static void     nautilus_inventory_config_page_initialize          (NautilusInventoryConfigPage      *file);
-static void     nautilus_inventory_config_page_destroy             (GtkObject                        *object);
-
-NAUTILUS_DEFINE_CLASS_BOILERPLATE (NautilusInventoryConfigPage, nautilus_inventory_config_page, GTK_TYPE_VBOX)
-
-static void
-nautilus_inventory_config_page_initialize_class (NautilusInventoryConfigPageClass *klass)
-{
-	GtkObjectClass *object_class;
-
-	object_class = GTK_OBJECT_CLASS (klass);
-	
-	object_class->destroy = nautilus_inventory_config_page_destroy;
-}
-
-static void
-next_button_callback (GtkWidget *button, 
-                      NautilusInventoryConfigPage *config_page)
-{
-	CORBA_Environment ev;
-	g_print ("clicked next.\n");
-
-	CORBA_exception_init (&ev);
-
-	Trilobite_Eazel_Inventory__set_machine_name (config_page->details->inventory_service,
-						     gtk_entry_get_text
-						     (GTK_ENTRY (config_page->details->machine_entry)), &ev);
-
-	Trilobite_Eazel_Inventory__set_warn_before_upload (config_page->details->inventory_service,
-							   gtk_toggle_button_get_active
-							   (GTK_TOGGLE_BUTTON (config_page->details->warn_check_button)), &ev);
-
-
-	Trilobite_Eazel_Inventory__set_enabled (config_page->details->inventory_service,
-						CORBA_TRUE, &ev);
-
-
-	Trilobite_Eazel_Inventory_upload (config_page->details->inventory_service, &ev);
-
-	CORBA_exception_free (&ev);
-
-	nautilus_view_open_location_in_this_window (config_page->details->view, "eazel-services:/inventory");
-}
-
-static void
-nautilus_inventory_config_page_initialize (NautilusInventoryConfigPage *config_page)
-{
-	GtkWidget *label;
-	GtkWidget *button;
-	GtkWidget *hbox;
-	BonoboObjectClient *object;
-	char *initial_machine_name;
-	gboolean initial_warn;
-
-	CORBA_Environment ev;
-
-	CORBA_exception_init (&ev);
-
-	config_page->details = g_new0 (NautilusInventoryConfigPageDetails, 1);
-
-	object = bonobo_object_activate (SERVICE_IID, 0);
-
-	config_page->details->inventory_service = bonobo_object_query_interface 
-		(BONOBO_OBJECT (object), "IDL:Trilobite/Eazel/Inventory:1.0");
-
-	bonobo_object_unref (BONOBO_OBJECT (object));
-
-	label = gtk_label_new ("Eazel Inventory Configuration");
-	gtk_widget_show (label);
-	gtk_box_pack_start (GTK_BOX (config_page), label, FALSE, FALSE, 0);
-	
-	label = gtk_label_new ("blah blah blah");
-	gtk_widget_show (label);
-	gtk_box_pack_start (GTK_BOX (config_page), label, FALSE, FALSE, 0);
-
-	hbox = gtk_hbox_new (FALSE, 0);
-	gtk_widget_show (hbox);
-	gtk_box_pack_start (GTK_BOX (config_page), hbox, FALSE, FALSE, 0);
-
-	label = gtk_label_new ("Machine Name:");
-	gtk_widget_show (label);
-	gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
-
-	config_page->details->machine_entry = gtk_entry_new ();
-	initial_machine_name = Trilobite_Eazel_Inventory__get_machine_name 
-					(config_page->details->inventory_service, &ev);
-
-	g_print ("initial machine name = `%s'\n", initial_machine_name);
-
-	if ( (initial_machine_name == NULL) || (initial_machine_name[0] == '\n') ) {
-		/* the user has never specified a name for this machine */
-		g_print ("no name selected yet\n");
-
-		/* TODO: perhaps guess an intial machine name based on host
-		 * name...
-		 */
-		
-	} else {
-		gtk_entry_set_text (GTK_ENTRY(config_page->details->machine_entry), 
-			initial_machine_name);
-	}
-
-	gtk_widget_show (config_page->details->machine_entry);
-	gtk_box_pack_start (GTK_BOX (hbox), config_page->details->machine_entry, FALSE, FALSE, 0);
-
-	config_page->details->warn_check_button = gtk_check_button_new_with_label ("Warn me before upload");
-	initial_warn = Trilobite_Eazel_Inventory__get_warn_before_upload
-                                        (config_page->details->inventory_service, &ev);
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (config_page->details->warn_check_button), initial_warn);
-	gtk_widget_show (config_page->details->warn_check_button);
-	gtk_box_pack_start (GTK_BOX (config_page), config_page->details->warn_check_button, FALSE, FALSE, 0);
-	
-	button = gtk_button_new_with_label ("Next");
-	gtk_widget_show (button);
-	gtk_box_pack_start (GTK_BOX (config_page), button, FALSE, FALSE, 0);
-	gtk_signal_connect (GTK_OBJECT (button), "clicked", next_button_callback, config_page);
-	
-}
-
-
-GtkWidget *
-nautilus_inventory_config_page_new (NautilusView *view)
-{
-	NautilusInventoryConfigPage *config_page;
-
-	config_page = NAUTILUS_INVENTORY_CONFIG_PAGE (gtk_widget_new (nautilus_inventory_config_page_get_type (), NULL));
-
-	config_page->details->view = view;
-
-	return GTK_WIDGET (config_page);
-}
-
-
-static void
-nautilus_inventory_config_page_destroy (GtkObject *object)
-{
-	NautilusInventoryConfigPage *page = NAUTILUS_INVENTORY_CONFIG_PAGE (object);
-	
-	g_free (page->details);
-
-	NAUTILUS_CALL_PARENT_CLASS (GTK_OBJECT_CLASS, destroy, (object));
-}
-
-
-
-
-
-
-
Index: /unk/third/nautilus/components/services/install/lib/eazel-install-rpm-glue.h
===================================================================
--- /trunk/third/nautilus/components/services/install/lib/eazel-install-rpm-glue.h (revision 15547)
+++  (revision )
@@ -1,50 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: J Shane Culpepper <pepper@eazel.com>
- *          Eskil Heyn Olsen <eskil@eazel.com>
- */
-
-/* eazel-install - services command line install/update/uninstall
- * component.  This program will parse the eazel-services-config.xml
- * file and install a services generated package-list.xml.
- */
-
-#ifndef EAZEL_INSTALL_RPM_GLUE_H
-#define EAZEL_INSTALL_RPM_GLUE_H
-
-#include "eazel-package-system-types.h"
-#include "eazel-install-public.h"
-
-void eazel_install_rpm_set_settings (EazelInstall *service);
-void eazel_install_start_transaction_make_rpm_argument_list (EazelInstall *service,
-							     GList **args);
-gboolean eazel_install_monitor_rpm_process_pipe (GIOChannel *source,
-						 GIOCondition condition,
-						 EazelInstall *service);
-gboolean eazel_install_free_rpm_system (EazelInstall *service);
-gboolean eazel_install_prepare_rpm_system(EazelInstall *service);
-void eazel_install_do_rpm_dependency_check (EazelInstall *service,
-					    GList **packages,
-					    GList **failedpackages,
-					    GList **requirements);
-
-
-
-#endif /* EAZEL_INSTALL_RPM_GLUE_H */
Index: /unk/third/nautilus/components/services/install/lib/eazel-install-logic.c
===================================================================
--- /trunk/third/nautilus/components/services/install/lib/eazel-install-logic.c (revision 15547)
+++  (revision )
@@ -1,2156 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: Eskil Heyn Olsen  <eskil@eazel.com>
- */
-
-#include "eazel-install-logic.h"
-#include "eazel-install-xml-package-list.h"
-#include "eazel-install-public.h"
-#include "eazel-install-private.h"
-#include "eazel-install-rpm-glue.h"
-#include "eazel-install-query.h"
-#include "eazel-install-logic2.h"
-
-/* We use rpmvercmp to compare versions... */
-#include <rpm/rpmlib.h>
-#include <rpm/misc.h>
-
-#ifndef EAZEL_INSTALL_NO_CORBA
-#include <libtrilobite/libtrilobite.h>
-#else
-#include <libtrilobite/libtrilobite-service.h>
-#include <libtrilobite/trilobite-root-helper.h>
-#endif
-
-#include <libtrilobite/trilobite-core-utils.h>
-#include <string.h>
-#include <time.h>
-
-#include <errno.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <ctype.h>
-#ifdef EAZEL_INSTALL_SLIM
-#include <sys/wait.h>
-#endif
-
-static gboolean eazel_install_do_install_packages (EazelInstall *service,
-						   GList* packages);
-
-static int eazel_install_start_transaction (EazelInstall *service, 
-					    GList* packages);
-
-static gboolean eazel_install_ensure_deps (EazelInstall *service, 
-					   GList **filenames, 
-					   GList **fails);
-
-static void eazel_uninstall_globber (EazelInstall *service,
-				     GList **packages,
-				     GList **failed);
-
-static gboolean eazel_install_download_packages (EazelInstall *service,
-						 gboolean toplevel,
-						 GList **packages,
-						 GList **failed_packages);
-
-static gboolean  eazel_install_check_for_file_conflicts (EazelInstall *service,
-							 PackageData *pack,
-							 GList **breaks,
-							 GList **requires);
-
-static void eazel_install_prune_packages (EazelInstall *service, 
-					  PackageData *pack, 
-					  ...);
-/* 
-   Checks for pre-existance of all the packages
- */
-static void
-eazel_install_pre_install_packages (EazelInstall *service,
-				    GList **packages) 
-{
-	GList *iterator;
-	GList *failed_packages = NULL;
-
-	for (iterator = *packages; iterator; iterator = g_list_next (iterator)) {
-		PackageData *pack = (PackageData*)iterator->data;
-		EazelInstallStatus inst_status;
-		gboolean skip = FALSE;
-		
-		inst_status = eazel_install_check_existing_packages (service, pack);
-
-		/* If in force mode, install it under all circumstances.
-		   if not, only install if not already installed in same
-		   version or up/downgrade is set */
-		if (eazel_install_get_force (service) ||
-		    (eazel_install_get_downgrade (service) && inst_status == EAZEL_INSTALL_STATUS_DOWNGRADES) ||
-		    (eazel_install_get_update (service) && inst_status == EAZEL_INSTALL_STATUS_UPGRADES) ||
-		    inst_status == EAZEL_INSTALL_STATUS_NEW_PACKAGE) {
-			skip = FALSE;
-		} else {
-			skip = TRUE;
-		}
-		
-		if (skip) {
-			trilobite_debug ("Skipping %s...", pack->name);
-#if 0
-			/* Nuke the modifies list again, since we don't want to see them */
-			g_list_foreach (pack->modifies, 
-					(GFunc)packagedata_destroy, 
-					GINT_TO_POINTER (TRUE));
-			g_list_free (pack->modifies);
-			pack->modifies = NULL;
-#endif
-
-			/* Add it to the list of packages to nuke at the end
-			   of this function */
-			failed_packages = g_list_prepend (failed_packages, pack);
-		}
-	}
-	
-	for (iterator = failed_packages; iterator; iterator=g_list_next (iterator)) {
-		eazel_install_prune_packages (service, 
-					      (PackageData*)iterator->data,
-					      packages, NULL);
-	}
-	g_list_free (failed_packages);
-}
-
-EazelInstallStatus
-ei_install_packages (EazelInstall *service, GList *categories) {
-	EazelInstallStatus result;
-
-	if (categories == NULL) {
-		trilobite_debug (_("Reading the install package list %s"), eazel_install_get_package_list (service));
-		categories = parse_local_xml_package_list (eazel_install_get_package_list (service), NULL, NULL);
-	}
-
-	result = EAZEL_INSTALL_NOTHING;
-	if (categories != NULL) {
-		/* First, collect all packages in one list */
-		GList *packages = categorylist_flatten_to_packagelist (categories);
-
-		/* Now download all the packages */
-		if (eazel_install_download_packages (service, TRUE, &packages, NULL)) {
-
-			/* check for packages that are already installed */
-			eazel_install_pre_install_packages (service, &packages);
-
-			/* Files downloaded, now install */
-			if (eazel_install_do_install_packages (service, packages)) {
-				result |= EAZEL_INSTALL_INSTALL_OK;
-			}
-		}
-	}
-	
-	return result;
-} /* end install_new_packages */
-
-/*
-  Download all the packages and keep doing that by recursively
-  calling eazel_install_download_packages with package->soft_depends
- */
-static gboolean
-eazel_install_download_packages (EazelInstall *service,
-				 gboolean toplevel,
-				 GList **packages,
-				 GList **failed_packages)
-{
-	GList *iterator;
-	gboolean result = TRUE;
-	GList *remove_list = NULL;
-
-	g_assert (packages);
-	g_assert (*packages);
-
-	for (iterator = *packages; (iterator != NULL) && result; iterator = g_list_next (iterator)) {
-		PackageData* package = (PackageData*)iterator->data;
-		gboolean fetch_package;
-		
-		fetch_package = TRUE;
-
-		trilobite_debug ("init for %s (%s/%s)", package->name, package->version ? package->version : "NO VERSION",
-				toplevel?"TRUE":"FALSE");
-		/* if filename in the package is set, but the file
-		   does not exist, get it anyway */
-		if (package->filename) {
-			trilobite_debug ("Filename set, and file exists = %d", 
-				   g_file_test (package->filename, G_FILE_TEST_ISFILE));
-			if (g_file_test (package->filename, G_FILE_TEST_ISFILE)) {
-				/* Don't fetch, but load rpm header and return
-				   ok */
-				fetch_package = FALSE;	
-				result = TRUE;
-				package = eazel_package_system_load_package (service->private->package_system,
-									     package, 
-									     package->filename,
-									     PACKAGE_FILL_NO_DIRS_IN_PROVIDES);
-			} else {
-				/* The file didn't exist, remove the 
-				   leading path and set the filename, plus
-				   toggle the fetch_package to TRUE */
-				g_free (package->filename);
-				package->filename = g_strdup (g_basename (package->filename));
-			}
-		} else if (!eazel_install_get_force (service) && package->version) {
-			/* If the package has a version set, check that we don't already have
-			   the same or newer installed. This is almost the same check as
-			   in eazel_install_pre_install_package. The reason for two checks is
-			   - first check before download (if possible)
-			   - after download, when we for sure have access to the version, check again
-			   - we do this before do_dependency_check to avoid downloaded soft_deps.
-			*/
-			EazelInstallStatus inst_status;
-
-			inst_status = eazel_install_check_existing_packages (service, package);
-			if (eazel_install_get_downgrade (service) && inst_status == EAZEL_INSTALL_STATUS_DOWNGRADES) {
-				trilobite_debug (_("Will download %s"), package->name);
-				/* must download... */
-			} else if (inst_status == EAZEL_INSTALL_STATUS_QUO ||
-				   inst_status == EAZEL_INSTALL_STATUS_DOWNGRADES) {
-				/* Nuke the modifies list again, since we don't want to see them */
-				g_list_foreach (package->modifies, 
-						(GFunc)packagedata_destroy, 
-						GINT_TO_POINTER (TRUE));
-				g_list_free (package->modifies);
-				package->modifies = NULL;
-				/* don't fecth the package */
-				fetch_package = FALSE;
-				/* Add it to the list of packages to nuke at the end
-				   of this function */
-				remove_list = g_list_prepend (remove_list, package);
-				trilobite_debug (_("%s already installed"), package->name);
-			}
-		} 
-
-		if (fetch_package) {
-			result = eazel_install_fetch_package (service, package);
-
-			if (!result) {
-				package->status = PACKAGE_CANNOT_OPEN;
-				remove_list = g_list_prepend (remove_list, package);
-			} else {
-#if 0
-				/* If downloaded package has soft_deps,
-				   fetch them by a recursive call */
-				if (package->soft_depends) {
-					result = eazel_install_download_packages (service,
-										  FALSE,
-										  &package->soft_depends,
-										  NULL);
-				}
-#endif
-			}
-		}
-
-		if (result) {
-			package->toplevel = toplevel;
-			if (package->source_package) {
-				package->status = PACKAGE_SOURCE_NOT_SUPPORTED;
-				remove_list = g_list_prepend (remove_list, package);
-			}
-			if (strlen ("debug")) {
-				char *tmp = packagedata_dump (package, TRUE);
-				fprintf (stderr, "%s", tmp);
-				g_free (tmp);
-			}
-		}
-	}
-
-	for (iterator = remove_list; iterator; iterator = g_list_next (iterator)) {
-		PackageData *package = (PackageData*)(iterator->data);
-		eazel_install_prune_packages (service, package, packages, NULL);
-	}
-
-	if (failed_packages) {
-		(*failed_packages) = remove_list;
-	}
-
-	return result;
-}
-
-/*
-  This function checks all files in pack->provides, and
-  checks if another already installed package owns this file.
-  returns FALSE is there are no conflicts, and TRUE if there
-  are.
-
-  If there are conflicts because of a related package,
-  this package is added to *requires.
- */
-static gboolean 
-eazel_install_check_for_file_conflicts (EazelInstall *service,
-					PackageData *pack,
-					GList **breaks,
-					GList **requires)
-{
-	GList *owners;
-	GList *iterator;
-	/* Set optimism to high */
-	gboolean result = FALSE;
-	
-	g_assert (service);
-	g_assert (pack);
-	g_assert (requires);
-	g_assert (*requires == NULL);
-
-	trilobite_debug ("Checking file conflicts for %s", pack->name);
-
-	for (iterator = pack->provides; iterator; glist_step (iterator)) {
-		char *filename = (char*)iterator->data;		
-
-		/* many packages will supply some dirs, eg /usr/share/locale/../LC_MESSAGES
-		   dirs, so don't check those 
-
-		   eazel-install-types
-		   (packagedata_fill_from_rpm_header) now does not add
-		   these. This is more safe, as checking the file
-		   could still cause a conflict, if the file was not
-		   on the system but two dirs had the same dir 
-
-		if (g_file_test (filename, G_FILE_TEST_ISDIR)) {
-			continue;
-		} */
-
-		owners = eazel_package_system_query (service->private->package_system,
-						     service->private->cur_root,
-						     filename,
-						     EAZEL_PACKAGE_SYSTEM_QUERY_OWNS,
-						     PACKAGE_FILL_NO_DIRS_IN_PROVIDES);
-		packagedata_list_prune (&owners, pack->modifies, TRUE, TRUE);
-		
-		if (g_list_length (owners) > 1) {
-			GList *pit;
-			/* FIXME bugzilla.eazel.com 3511:
-			   More than one packages owns this file,
-			   this cannot happen (or should not at least)
-			*/
-			trilobite_debug ("***************************************************");
-			trilobite_debug ("More than one package owns the file %s", filename);
-			trilobite_debug ("This is filed as bug 2959");
-			trilobite_debug ("Try rpm --rebuilddb");
-			for (pit = owners; pit; pit = g_list_next (pit)) {
-				char *tmp;
-				PackageData *owner = (PackageData*)(pit->data);
-				tmp = packagedata_get_readable_name (owner);
-				trilobite_debug ("a owner is %s", tmp);
-				g_free (tmp);
-			}
-			trilobite_debug ("halting...");
-			g_assert_not_reached ();
-		} else if (g_list_length (owners) == 1) {
-			PackageData *owner = (PackageData*)owners->data;
-			
-			/* If the package owner is already in the breaks list for the package,
-			   or in the *requires, continue  */
-			if (g_list_find_custom (*breaks, owner->name, 
-						(GCompareFunc)eazel_install_package_name_compare) ||
-			    g_list_find_custom (*requires, owner->name, 
-						(GCompareFunc)eazel_install_package_name_compare)) {
-				/* trilobite_debug ("already breaking %s", owner->name); */
-				packagedata_destroy (owner, TRUE);
-				owner = NULL;
-				continue;
-			}
-
-			if (strcmp (pack->name, owner->name)) {
-				trilobite_debug ("file %s from package %s conflicts with file from package %s", 
-						 filename, pack->name, owner->name);
-
-				result = TRUE;
-				if (eazel_install_check_if_related_package (service, pack, owner)) {
-					trilobite_debug ("Package %s may be related to %s", 
-							 owner->name, pack->name);
-					g_free (owner->version);
-					owner->version = g_strdup (pack->version);
-					(*requires) = g_list_prepend (*requires, owner);
-				} else {
-					owner->status = PACKAGE_FILE_CONFLICT;
-					(*breaks) = g_list_prepend (*breaks, owner);
-				}
-				
-			} else {
-				/* else it's the same package and it's okay */
-				/* so FREE IT YOU SICK MONKEY! */
-				packagedata_destroy (owner, TRUE);
-			}
-		}
-		/* free the _simple_query result list */
-		g_list_free (owners);
-
-#ifdef EAZEL_INSTALL_SLIM
-		/* In the slim, we need to enter the g_main_loop during file check */		
-		g_main_iteration (FALSE);
-#endif
-
-	}
-	return result;
-}
-
-static gboolean
-eazel_install_do_install_packages (EazelInstall *service,
-				  GList* packages) 
-{
-	gboolean rv = TRUE;
-	GList* failedfiles = NULL;
-
-	if (packages) {
-		rv = FALSE;
-		eazel_install_ensure_deps (service, &packages, &failedfiles);
-		if (g_list_length (packages)) {
-			if (eazel_install_start_transaction (service, packages) == 0) {
-				rv = TRUE;
-			}			
-			g_list_free (packages);
-		}
-	}
-
-	return rv;
-} /* end install_packages */
-
-static EazelInstallStatus
-uninstall_all_packages (EazelInstall *service,
-			GList *categories) 
-{
-	EazelInstallStatus result = EAZEL_INSTALL_UNINSTALL_OK;
-
-	while (categories) {
-		CategoryData* cat = categories->data;
-		GList *failed;
-
-		trilobite_debug (_("Category = %s"), cat->name);
-
-		failed = NULL;
-		eazel_uninstall_globber (service, &cat->packages, &failed);
-
-		if (eazel_install_start_transaction (service, cat->packages) != 0) {
-			result = EAZEL_INSTALL_NOTHING;
-		}
-
-		categories = g_list_next (categories);
-	}
-	return result;
-}
-
-EazelInstallStatus
-ei_uninstall_packages (EazelInstall *service,
-		    GList* categories) 
-{
-	EazelInstallStatus result = EAZEL_INSTALL_NOTHING;
-	
-	result |= uninstall_all_packages (service, categories);
-
-	return result;
-
-} /* end install_new_packages */
-
-
-static GList *
-ei_get_packages_with_mod_flag (GList *packages,
-			       PackageModification mod) 
-{
-	GList *it;
-	GList *res;
-	
-	res = NULL;
-	for (it = packages; it; it = g_list_next (it)) {
-		PackageData *pack;
-		pack = (PackageData*)it->data;
-		if (pack->modify_status == mod) {
-			res = g_list_prepend (res, pack);
-		}
-		if (pack->soft_depends) {
-			res = g_list_concat (res, 
-					     ei_get_packages_with_mod_flag (pack->soft_depends, mod));
-		}
-		if (pack->modifies) {
-			res = g_list_concat (res, 
-					     ei_get_packages_with_mod_flag (pack->modifies, mod));
-		}
-	}
-	return res;
-}
-
-/* Function to prune the uninstall list for elements marked as downgrade */
-static void
-ei_check_uninst_vs_downgrade (GList **inst, 
-			      GList **down) 
-{
-	GList *it;
-	GList *remove;
-	
-	remove = NULL;
-	for (it = *inst; it; it = g_list_next (it)) {
-		GList *entry;
-		PackageData *pack;
-
-		pack = (PackageData*)it->data;
-		entry = g_list_find_custom (*down, pack->name, (GCompareFunc)eazel_install_package_name_compare);
-		if (entry != NULL) {
-			remove = g_list_prepend (remove, it->data);
-		}
-	}
-
-	for (it = remove; it; it = g_list_next (it)) {
-		(*inst) = g_list_remove (*inst, it->data);
-	}
-}
-
-static void hest (PackageData *pack, char *str) {
-	trilobite_debug ("Must %s %s", str, pack->name);
-}
-
-EazelInstallStatus
-ei_revert_transaction (EazelInstall *service, 
-		    GList *packages)
-{
-	GList *uninst, *inst, *upgrade, *downgrade;
-	CategoryData *cat;
-	GList *categories;
-	EazelInstallStatus result = EAZEL_INSTALL_NOTHING;
-
-	uninst = ei_get_packages_with_mod_flag (packages, PACKAGE_MOD_INSTALLED);
-	inst = ei_get_packages_with_mod_flag (packages, PACKAGE_MOD_UNINSTALLED);
-	upgrade = ei_get_packages_with_mod_flag (packages, PACKAGE_MOD_DOWNGRADED);
-	downgrade = ei_get_packages_with_mod_flag (packages, PACKAGE_MOD_UPGRADED);
-
-	ei_check_uninst_vs_downgrade (&uninst, &downgrade);
-
-	g_list_foreach (uninst, (GFunc)hest, "uninstall");
-	g_list_foreach (inst, (GFunc)hest, "install");
-	g_list_foreach (downgrade, (GFunc)hest, "downgrade");
-	g_list_foreach (upgrade, (GFunc)hest, "upgrade");
-
-	cat = categorydata_new ();
-	categories = g_list_prepend (NULL, cat);
-
-	if (uninst) {
-		eazel_install_set_uninstall (service, TRUE);
-		eazel_install_set_downgrade (service, FALSE);
-		eazel_install_set_update (service, FALSE);
-		cat->packages = uninst;
-		result |= ei_uninstall_packages (service, categories);
-	}
-	if (inst) {
-		eazel_install_set_uninstall (service, FALSE);
-		eazel_install_set_downgrade (service, FALSE);
-		eazel_install_set_update (service, FALSE);
-		cat->packages = inst;
-		result |= ei_install_packages (service, categories);
-	}
-	if (downgrade) {
-		eazel_install_set_uninstall (service, FALSE);
-		eazel_install_set_downgrade (service, TRUE);
-		eazel_install_set_update (service, FALSE);
-		cat->packages = downgrade;
-		result |= ei_install_packages (service, categories);
-	}
-	if (upgrade) {
-		eazel_install_set_uninstall (service, FALSE);
-		eazel_install_set_downgrade (service, TRUE);
-		eazel_install_set_update (service, TRUE);
-		cat->packages = upgrade;
-		result |= ei_install_packages (service, categories);
-		g_list_foreach (upgrade, (GFunc)packagedata_destroy, GINT_TO_POINTER (TRUE));
-	}
-
-	return result;
-}
-
-
-void
-eazel_install_do_transaction_add_to_transaction (EazelInstall *service,
-						 PackageData *pack)
-{
-	service->private->transaction = g_list_prepend (service->private->transaction,
-							pack);
-}
-
-static void
-eazel_install_do_transaction_save_report_helper (xmlNodePtr node,
-						     GList *packages)
-{
-	GList *iterator;
-
-	for (iterator = packages; iterator; iterator = g_list_next (iterator)) {
-		PackageData *pack;
-		char *tmp;
-		pack = (PackageData*)iterator->data;
-		switch (pack->modify_status) {
-		case PACKAGE_MOD_INSTALLED:			
-			tmp = g_strdup_printf ("Installed %s", pack->name);
-			xmlNewChild (node, NULL, "DESCRIPTION", tmp);
-			g_free (tmp);
-			break;
-		case PACKAGE_MOD_UNINSTALLED:			
-			tmp = g_strdup_printf ("Uninstalled %s", pack->name);
-			xmlNewChild (node, NULL, "DESCRIPTION", tmp);
-			g_free (tmp);
-			break;
-		default:
-			break;
-		}
-		if (pack->modifies) {
-			eazel_install_do_transaction_save_report_helper (node, pack->modifies);
-		}
-	}
-}
-
-static void
-eazel_install_do_transaction_save_report (EazelInstall *service) 
-{
-	FILE *outfile;
-	xmlDocPtr doc;
-	xmlNodePtr node, root;
-	char *name = NULL;
-
-	if (eazel_install_get_transaction_dir (service) == NULL) {
-		g_warning ("Transaction directory not set, not storing transaction report");
-	}
-
-	/* Ensure the transaction dir is present */
-	if (! g_file_test (eazel_install_get_transaction_dir (service), G_FILE_TEST_ISDIR)) {
-		int retval;
-		retval = mkdir (eazel_install_get_transaction_dir (service), 0755);		       
-		if (retval < 0) {
-			if (errno != EEXIST) {
-				g_warning (_("Could not create transaction directory (%s)! ***\n"), 
-					   eazel_install_get_transaction_dir (service));
-				return;
-			}
-		}
-	}
-
-	/* Create xml */
-	doc = xmlNewDoc ("1.0");
-	root = node = xmlNewNode (NULL, "TRANSACTION");
-	xmlDocSetRootElement (doc, node);
-
-	/* Make a unique name */
-	name = g_strdup_printf ("%s/transaction.%lu", eazel_install_get_transaction_dir (service),
-				(unsigned long) time (NULL));
-	while (g_file_test (name, G_FILE_TEST_ISFILE)) {
-		g_free (name);
-		sleep (1);
-		name = g_strdup_printf ("%s/transaction.%lu", 
-					eazel_install_get_transaction_dir (service), 
-					(unsigned long) time (NULL));
-	}
-
-	trilobite_debug (_("Writing transaction to %s"), name);
-	
-	/* Open and save */
-	outfile = fopen (name, "w");
-	xmlAddChild (root, eazel_install_packagelist_to_xml (service->private->transaction, FALSE));
-	node = xmlAddChild (node, xmlNewNode (NULL, "DESCRIPTIONS"));
-
-	{
-		char *tmp;
-		tmp = g_strdup_printf ("%lu", (unsigned long) time (NULL));		
-		xmlNewChild (node, NULL, "DATE", tmp);
-		g_free (tmp);
-	}
-
-	eazel_install_do_transaction_save_report_helper (node, service->private->transaction);
-
-	xmlDocDump (outfile, doc);
-	
-	fclose (outfile);
-	g_free (name);
-}
-
-/* 
-   This checks, that for a given set of packages, no two packages
-   contains the same file.
-   This is done by filling a hashtable with the files from
-   package->provides (which have full pathname) and link to the
-   owning package. Before adding a file to the hashtable, lookup the
-   file first. If result is non-null, problem... 
-
-   Did I mention that this function leaks memory like a russian submarine?  -robey
- */
-static gboolean 
-eazel_install_do_transaction_all_files_check (EazelInstall *service,
-					      GList **packages)
-{
-	gboolean result = TRUE;
-	GList *iterator;
-	GList *conflicts = NULL;  /* PackageRequirements. ->package is the first found package
-				     that providing a file, ->required is the second file that
-				     has the same file */
-	GHashTable *file_to_pack; /* maps from a filename to a packagedata struct */
-	
-	if (eazel_install_get_force (service) || 
-	    eazel_install_get_ignore_file_conflicts (service) ||
-		(g_list_length (*packages) == 1 )) {		
-		trilobite_debug ("not performing file conflict check");
-		return result;
-	}
-
-	file_to_pack = g_hash_table_new (g_str_hash, g_str_equal);
-
-	/* Check all the packages */
-	for (iterator = *packages; iterator; glist_step (iterator)) {
-		PackageData *pack = (PackageData*)iterator->data;
-		GList *file_iterator;
-		int reported_yet = FALSE;
-		int other_conflicts = 0;
-
-		/* Check all files provided */
-		for (file_iterator = pack->provides; file_iterator; glist_step (file_iterator)) {
-			char *fname = (char*)file_iterator->data;
-			/* Lookup and check what happens... */
-			PackageData *previous_pack = g_hash_table_lookup (file_to_pack,
-									  fname);
-			if (previous_pack) {
-				/* Dang, fname is owned by previous_pack but pack also adds it */
-				/* The use of reported_yet && other_conflicts is purely for
-				   debug nicety. It ensures that only one fileconflicts pr 
-				   package is printed, whereas the alternative is eg. 200 */
-				if (! reported_yet) {
-					trilobite_debug ("conflict, file %s from package %s is also in %s", 
-							 fname, 
-							 pack->name,
-							 previous_pack->name);
-					reported_yet = TRUE;
-				} else {
-					other_conflicts++;
-				}
-				if (!g_list_find_custom (conflicts, 
-							 pack,
-							 (GCompareFunc)eazel_install_requirement_dep_compare)) {
-					PackageRequirement *req;
-					
-					req = packagerequirement_new (previous_pack, pack);
-					conflicts = g_list_prepend (conflicts, req);
-				}
-			} else {
-				/* File is ok */
-				g_hash_table_insert (file_to_pack, 
-						     fname,
-						     pack);
-			}
-		}
-		if (other_conflicts) {
-			trilobite_debug ("(%d other conflicts from the same package... *sigh*)", other_conflicts);
-		}
-	}
-
-	for (iterator = conflicts; iterator; glist_step (iterator)) {
-		PackageRequirement *req = (PackageRequirement*)iterator->data;
-		
-		result = FALSE;
-		/* Need to fail the package here to fully fix bug
-		   FIXME bugzilla.eazel.com 3374: */
-		trilobite_debug ("Conflict between %s and %s", req->package->name, req->required->name);
-		req->package->status = PACKAGE_FILE_CONFLICT;
-		req->required->status = PACKAGE_FILE_CONFLICT;
-		packagedata_add_pack_to_breaks (req->package, req->required);
-		eazel_install_prune_packages (service, req->package, packages, NULL);
-	}
-
-	return result;
-}
-
-
-static unsigned long
-get_total_size_of_packages (const GList *packages)
-{
-	const GList *iterator;
-	unsigned long result = 0;
-	for (iterator = packages; iterator; iterator = g_list_next (iterator)) {
-		PackageData *pack = (PackageData*)iterator->data;
-		result += pack->bytesize;
-	}
-	return result;
-}
-
-/* A GHRFunc to clean
-   out the name_to_package hash table 
-*/
-static gboolean
-eazel_install_clean_name_to_package_hash (char *key,
-					  PackageData *pack,
-					  EazelInstall *service)
-{
-	g_free (key);
-	return TRUE;
-}
-
-gboolean eazel_install_start_signal (EazelPackageSystem *system,
-				     EazelPackageSystemOperation op,
-				     const PackageData *pack,
-				     EazelInstall *service)
-{
-	service->private->infoblock[2]++;
-	switch (op) {
-	case EAZEL_PACKAGE_SYSTEM_OPERATION_INSTALL:
-		break;
-	case EAZEL_PACKAGE_SYSTEM_OPERATION_UNINSTALL:
-		eazel_install_emit_install_progress (service, 
-						     pack,
-						     service->private->infoblock[2], service->private->infoblock[3],
-						     0, pack->bytesize,
-						     service->private->infoblock[4], service->private->infoblock[5]);				     
-		break;
-	default:
-		break;
-	}
-	return TRUE;
-}
-
-gboolean eazel_install_end_signal (EazelPackageSystem *system,
-				   EazelPackageSystemOperation op,
-				   const PackageData *pack,
-				   EazelInstall *service)
-{
-	switch (op) {
-	case EAZEL_PACKAGE_SYSTEM_OPERATION_INSTALL:
-	case EAZEL_PACKAGE_SYSTEM_OPERATION_UNINSTALL:
-		eazel_install_emit_install_progress (service, 
-						     pack,
-						     service->private->infoblock[2], service->private->infoblock[3],
-						     pack->bytesize, pack->bytesize,
-						     service->private->infoblock[4], service->private->infoblock[5]);				     
-		break;
-	default:
-		break;
-	}
-	return TRUE;
-}
-
-gboolean  eazel_install_progress_signal (EazelPackageSystem *system,
-					 EazelPackageSystemOperation op,
-					 const PackageData *pack,
-					 unsigned long *info,
-					 EazelInstall *service)
-{
-	service->private->infoblock[4] = info[4];
-	if ((info[0] != 0) && (info[0] != info[1])) {
-		switch (op) {
-		case EAZEL_PACKAGE_SYSTEM_OPERATION_INSTALL:
-		case EAZEL_PACKAGE_SYSTEM_OPERATION_UNINSTALL:
-			eazel_install_emit_install_progress (service, 
-							     pack,
-							     service->private->infoblock[2], service->private->infoblock[3],
-							     info[0], pack->bytesize,
-							     info[4], info[5]);
-			break;
-		default:
-			break;
-		}
-	}
-	return TRUE;
-}
-
-gboolean eazel_install_failed_signal (EazelPackageSystem *system,
-				      EazelPackageSystemOperation op,
-				      const PackageData *pack,
-				      EazelInstall *service)
-{
-	trilobite_debug ("*** %s failed", pack->name);
-	if (pack->toplevel) {
-		trilobite_debug ("emiting failed for %s", pack->name);
-		if (op==EAZEL_PACKAGE_SYSTEM_OPERATION_INSTALL) {
-			eazel_install_emit_install_failed (service, pack);
-		} else if (op==EAZEL_PACKAGE_SYSTEM_OPERATION_UNINSTALL) {
-			eazel_install_emit_uninstall_failed (service, pack);
-		}
-	}
-	return TRUE;
-}
-
-/* This begins the package transaction.
-   Return value is number of failed packages 
-*/
-
-int
-eazel_install_start_transaction (EazelInstall *service,
-				 GList* packages) 
-{
-	TrilobiteRootHelper *root_helper;
-	int res;
-	int flag = 0;
-
-	if (g_list_length (packages) == 0) {
-		return -1;
-	}
-
-	res = 0;
-
-	if (service->private->downloaded_files) {
-		/* I need to get the length here, because all_files_check can alter the list */
-		int l  = g_list_length (packages);
-		/* Unless we're force installing, check file conflicts */
-		if (eazel_install_get_force (service) == FALSE) {
-			if(!check_md5_on_files (service, packages)) {
-				res = l;
-			}
-		}
-	}
-
-	if (eazel_install_get_test (service)) {
-		flag |= EAZEL_PACKAGE_SYSTEM_OPERATION_TEST;
-	}
-	if (eazel_install_get_force (service)) {
-		flag |= EAZEL_PACKAGE_SYSTEM_OPERATION_FORCE;
-	}
-	if (eazel_install_get_update (service)) {
-		flag |= EAZEL_PACKAGE_SYSTEM_OPERATION_UPGRADE;
-	}
-	if (eazel_install_get_downgrade (service)) {
-		flag |= EAZEL_PACKAGE_SYSTEM_OPERATION_DOWNGRADE;
-	}
-
-	root_helper = gtk_object_get_data (GTK_OBJECT (service), "trilobite-root-helper");
-	gtk_object_set_data (GTK_OBJECT (service->private->package_system), 
-			     "trilobite-root-helper", root_helper);	
-
-	/* Init the hack var to emit the old style progress signals */
-	service->private->infoblock [0] = 0;
-	service->private->infoblock [1] = 0;
-	service->private->infoblock [2] = 0;
-	service->private->infoblock [3] = g_list_length (packages);
-	service->private->infoblock [4] = 0;
-	service->private->infoblock [5] = get_total_size_of_packages (packages);
-
-	if (eazel_install_emit_preflight_check (service, packages)) {
-		/* this makes the primary packages appear before their dependencies.  very useful for installs
-		 * via the install-view, where only toplevel packages cause the package detail info to update.
-		 */
-		packages = g_list_reverse (packages);
-
-		if (eazel_install_get_uninstall (service)) {
-			eazel_package_system_uninstall (service->private->package_system,
-							service->private->cur_root,
-							packages,
-							flag);
-		} else {
-			eazel_package_system_install (service->private->package_system,
-						      service->private->cur_root,
-						      packages,
-						      flag);
-		}
-
-		eazel_install_do_transaction_save_report (service);
-	}
-	
-	g_list_free (service->private->transaction);
-	service->private->transaction = NULL;
-
-	g_hash_table_foreach_remove (service->private->name_to_package_hash,
-				     (GHRFunc)eazel_install_clean_name_to_package_hash,
-				     service);
-
-	return res;
-} /* end start_transaction */
-
-
-/* Checks if pack depends on dep, by doing a deep tree search */
-static gboolean 
-eazel_install_check_if_depends_on (PackageData *pack, 
-				   PackageData *dep) 
-{
-	gboolean result = FALSE;
-	GList *iterator;
-
-	for (iterator = pack->soft_depends; !result && iterator; glist_step (iterator)) {
-		PackageData *nisse = (PackageData*)iterator->data;
-		if (nisse == dep) {
-			result = TRUE;
-		} else if (eazel_install_check_if_depends_on (nisse, dep)) {
-			/* trilobite_debug ("nope, recursing"); */
-			result = TRUE;
-		}
-	}
-
-	return result;
-}
-
-/*
-  The helper for eazel_install_prune_packages.
-  If the package is in "pruned", it has already been marked
-  for pruning.
-  Otherwise, prune first it's softdepends, then all
-  packages that depend on it.
- */
-static void
-eazel_install_prune_packages_helper (EazelInstall *service, 
-				     GList **packages,
-				     GList **pruned,
-				     PackageData *pack)
-{
-	GList *iterator;
-	char *tmp;
-
-	g_return_if_fail (pack!=NULL);
-        /* If already pruned, abort */
-	if (g_list_find (*pruned, pack) || pack->name==NULL) {
-		return;
-	}
-	tmp = packagedata_get_readable_name (pack);
-	trilobite_debug (_("Removing package %s (0x%p) %s"), 
-			 tmp,
-			 pack,
-			 pack->toplevel ? "(emit fail)" :"()");
-	g_free (tmp);
-	if (pack->toplevel) {
-		/* We only emit signal for the toplevel packages, 
-		   and only delete them. They _destroy function destroys
-		   the entire dep tree */
-		eazel_install_emit_install_failed (service, pack);
-	}
-	/* Add to list of pruned packages */
-	(*pruned) = g_list_prepend (*pruned, pack);
-
-	/* Prune all it's soft_deps */
-	for (iterator = pack->soft_depends; iterator; iterator = g_list_next (iterator)) {
-		PackageData *sub;
-		sub = (PackageData*)iterator->data;
-		eazel_install_prune_packages_helper (service, packages, pruned, sub);
-	}
-	
-	/* For all packages in "packages", check if they depend on this */
-	for (iterator = *packages; iterator; iterator = g_list_next (iterator)) {
-		PackageData *super;
-		
-		super = (PackageData*)iterator->data;
-		/* FIXME bugzilla.eazel.com 3542:
-		   This is the cause of 3542. 
-		   In this specific case, gnome-print is removed from the toplevel and from
-		   1st sublevel of soft_deps.
-		   The problem is, that this g_list_find only looks down one level, and does'nt
-		   search the entire tree, duh.
-		   I need a find_custom call that does this the right way */
-		if (eazel_install_check_if_depends_on (super, pack)) {			
-			eazel_install_prune_packages_helper (service, packages, pruned, super);
-		}
-	}
-}
-
-/*
-  Used to remove a package "pack" and all 
-  packages in "packages" that depends
-  on "pack".
-  
-  To do this, we need the _helper, which gathers
-  the stripped files into "pruned". That way, we
-  can safely traverse without altering
-  the lists during the for loops (as g_list_remove
-  will fuck up the for loop).
-
-  This may end in a recursive loop if
-  the ->soft_depends points to something
-  upwards in the dep tree (circular dependency)
-
-  First it calls prune_helper for all the given packages, 
-  at each iteration it removes the pruned (from list "pruned")
-  packages.
-
-  Finally it deallocates all the pruned packages.
-  
-*/
-
-static void
-eazel_install_prune_packages (EazelInstall *service, 
-			      PackageData *pack, 
-			      ...)
-{
-	va_list ap;
-	GList *pruned;
-	GList *iterator;
-	GList **packages;
-
-	g_return_if_fail (pack!=NULL);
-
-	va_start (ap, pack);
-	
-	pruned = NULL;
-	while ( (packages = va_arg (ap, GList **)) != NULL) {
-		eazel_install_prune_packages_helper (service,
-						     packages,
-						     &pruned,
-						     pack);
-		for (iterator = pruned; iterator; iterator = g_list_next (iterator)) {
-			PackageData *pack = (PackageData*)iterator->data;
-			/* trilobite_debug ("%s pruned", pack->name); */
-			(*packages) = g_list_remove (*packages, pack);
-		};
-	} 
-	
-	/* Note, don't destroy, all packages are destroyed when the
-	   categories are destroyed 
-	for (iterator = pruned; iterator; iterator = g_list_next (iterator)) {
-		PackageData *pack;
-		pack = (PackageData*)iterator->data;
-		packagedata_destroy (pack, TRUE); 
-	};
-	*/
-
-	g_list_free (pruned);
-
-	va_end (ap);
-}
-
-static void
-eazel_install_add_to_extras_foreach (char *key, GList *list, GList **extrapackages)
-{
-	GList *iterator;
-	PackageData *dep;
-	for (iterator = list; iterator; iterator = g_list_next (iterator)) {
-		dep = (PackageData*)iterator->data;
-		(*extrapackages) =  g_list_prepend (*extrapackages, dep);		
-	}
-	g_list_free (list);
-}
-
-
-/*
-  This function tests wheter "package" and "dep"
-  seems to be related in some way.
-  This is done by checking the package->modifies list for
-  elements that have same version as dep->version.
-  I then compare these elements against dep->name,
-  and if one matches the x-y-z vs dep->name=x-y scheme,
-  I declare that "package" and "dep" are related
-*/
-gboolean
-eazel_install_check_if_related_package (EazelInstall *service,
-					PackageData *package,
-					PackageData *dep)
-{
-	/* Pessimisn mode = HIGH */
-	gboolean result = FALSE;
-	GList *potiental_mates;
-	GList *iterator;
-	char **dep_name_elements;
-	
-	dep_name_elements = g_strsplit (dep->name, "-", 80);
-
-	/* First check, if package modifies a package with the same version
-	   number as dep->version */
-	potiental_mates = g_list_find_custom (package->modifies, 
-					      dep->version, 
-					      (GCompareFunc)eazel_install_package_version_compare);
-	for (iterator = potiental_mates; iterator; glist_step (iterator)) {
-		PackageData *modpack = (PackageData*)iterator->data;
-		
-		if ((modpack->modify_status == PACKAGE_MOD_UPGRADED) ||
-		    (modpack->modify_status == PACKAGE_MOD_DOWNGRADED)) {			
-			char **mod_name_elements;
-			char *dep_name_iterator;
-			char *mod_name_iterator;
-			int cnt = 0;
-
-			mod_name_elements = g_strsplit (modpack->name, "-", 80);
-			
-			for (cnt=0; TRUE;cnt++) {
-				dep_name_iterator = dep_name_elements[cnt];
-				mod_name_iterator = mod_name_elements[cnt];
-#if 0
-				trilobite_debug ("dep name iterator = \"%s\"", dep_name_iterator);
-				trilobite_debug ("mod name iterator = \"%s\"", mod_name_iterator);
-#endif
-				if ((dep_name_iterator==NULL) ||
-				    (mod_name_iterator==NULL)) {
-					break;
-				}
-				if ((strlen (dep_name_iterator) == strlen (mod_name_iterator)) &&
-				    (strcmp (dep_name_iterator, mod_name_iterator)==0)) {
-					continue;
-				}
-				break;
-			}
-			if (cnt >= 1) {
-				trilobite_debug ("%s-%s seems to be a child package of %s-%s, which %s-%s updates",
-						 dep->name, dep->version, 
-						 modpack->name, modpack->version,
-						 package->name, package->version);
-				if (!result) {
-					result = TRUE;
-				} else {
-					trilobite_debug ("but what blows is, the previous also did!!");
-					g_assert_not_reached ();
-				}				
-			} else {
-				trilobite_debug ("%s-%s is not related to %s-%s", 
-						 dep->name, dep->version, 
-						 package->name, package->version);
-			}
-			g_strfreev (dep_name_elements);
-			g_strfreev (mod_name_elements);			
-		}
-	}
-	return result;
-}
-
-static gboolean
-eazel_install_fetch_dependencies (EazelInstall *service, 
-				  GList **packages,
-				  GList **extrapackages,
-				  GList **failedpackages,
-				  GList *requirements)
-{
-	GList *iterator;
-	/* Contains the packages downloaded when handling the list of requirements */
-	GList *extras_in_this_batch = NULL;
-	GHashTable *extras;
-	gboolean fetch_result;
-	
-	extras = g_hash_table_new (g_str_hash, g_str_equal);
-	fetch_result = FALSE;
-
-	trilobite_debug ("%d requirements to be fetched/resolved", g_list_length (requirements));
-	for (iterator = requirements; iterator; glist_step (iterator)) {
-		PackageRequirement *req = (PackageRequirement*)iterator->data;
-		PackageData *pack = req->package;
-		PackageData *dep = req->required;
-
-		/* Check to see if the package system happened to file a requirement
-		   for a package that was also failed... */
-		if (g_list_find_custom (*failedpackages,
-					pack,
-					(GCompareFunc)eazel_install_package_compare)) {
-			char *tmp;
-			tmp = packagedata_get_readable_name (pack);
-			trilobite_debug ("%s already failed, will not download it's requirements", tmp);
-			g_free (tmp);
-			packagedata_destroy (dep, TRUE);
-			continue;
-		}
-
-		/* We use the unknown status later, to see if 
-		   we should set it or not */
-		dep->status = PACKAGE_UNKNOWN_STATUS;
-		
-		/* Emit the signal here, since then we won't have to make that
-		   call in for every package system (when I say every, we know
-		   I mean "both"...) */
-		eazel_install_emit_dependency_check_pre_ei2 (service, pack, dep);
-		packagedata_add_pack_to_soft_depends (pack, dep);
-
-		fetch_result = eazel_install_fetch_package (service, dep);
-
-		if (fetch_result) {
-			if (dep->source_package) {
-				dep->status = PACKAGE_SOURCE_NOT_SUPPORTED;
-				fetch_result = FALSE;
-			}
-		}
-
-		if (fetch_result) {
-			/* If the package we just downloaded was already in packages,
-			   but we just had a dependency conflict, we're in the funky case,
-			   were pacakge foo is not installed. But the dependecy stuff has caused
-			   it to be downloaded in version x.y, and later in v.w. This means that
-			   the first conflict (causing x.y to be downloaded) now happens again.
-			*/
-			if (g_list_find_custom (*packages,
-						dep->name,
-						(GCompareFunc)eazel_install_package_name_compare)) {
-				GList *pack_entry;
-
-				pack_entry = g_list_find_custom (*packages,
-								 dep,
-								 (GCompareFunc)eazel_install_package_other_version_compare);
-				trilobite_debug ("Circular dependency  %s-%s-%s at 0x%p", 
-						 dep->name, dep->version, dep->minor, dep);
-
-				if (pack_entry) {
-					PackageData *evil_package = packagedata_copy ((PackageData*)(pack_entry->data), FALSE);
-					packagedata_add_pack_to_breaks (dep, evil_package); 
-					trilobite_debug ("Circular dependency caused by %s-%s-%s at 0x%p", 
-							 evil_package->name,
-							 evil_package->version,
-							 evil_package->minor, 
-							 evil_package);
-					evil_package->status = PACKAGE_CIRCULAR_DEPENDENCY;
-				} else {
-					trilobite_debug ("This is Bad: I cannot set the funky break list");
-				}
-				dep->status = PACKAGE_CIRCULAR_DEPENDENCY;
-				fetch_result = FALSE;
-			}
-		}
-
-		if (fetch_result) {
-			EazelInstallStatus inst_status;
-			/* This sets the dep->modifies and checks for a funky case.
-			   This case is sort of like the one above.
-			   If the call returns 0, the following must have happened ;
-			   We had a dependency saying that foo required bar-x.y.
-			   So we download bar and now discover that bar is already installed
-			   in the exact same version (x.y). So that means, another
-			   dependency solving caused us to up/downgrade bar to another
-			   version, and the following dep check then caused a 
-			   conflict indicating that we should *not* do this up/downgrade.
-			   
-			   Solution:  fail the downgraded package 
-			   
-			   I assume the packages have the same name...
-			*/
-			inst_status = eazel_install_check_existing_packages (service, dep);
-			if (inst_status == EAZEL_INSTALL_STATUS_QUO) {
-				GList *pack_entry;
-				
-				trilobite_debug ("package %s required %s", pack->name, dep->name);
-				trilobite_debug ("This is because some other package was downloaded");
-				trilobite_debug ("and crushed this, since %s is already installed", dep->name);
-				
-				/* Use name compare here, as we expect the package to have the same name */
-				pack_entry = g_list_find_custom (*packages,
-								 dep->name,
-								 (GCompareFunc)eazel_install_package_name_compare);
-				if (pack_entry) {
-					/* FIXME bugzilla.eazel.com
-					   I suspect that adding this to adding evil_package to pack's breaks
-					   might yield a more pleasant tree */
-					PackageData *evil_package = (PackageData*)pack_entry->data;
-					packagedata_add_pack_to_breaks (evil_package, dep);
-					evil_package->status = PACKAGE_BREAKS_DEPENDENCY;
-				} else {
-					trilobite_debug ("This is also Bad: I cannot set the funky break list");
-				}
-				dep->status = PACKAGE_CIRCULAR_DEPENDENCY;
-				fetch_result = FALSE;
-			} else if (eazel_install_get_downgrade (service)==FALSE && 
-				   inst_status == EAZEL_INSTALL_STATUS_DOWNGRADES) {
-				/* Bad, we're downgrading but not allowed to downgrade */
-				fetch_result = FALSE;
-			} else if (eazel_install_get_update (service)==FALSE && 
-				   inst_status == EAZEL_INSTALL_STATUS_UPGRADES) {
-				/* Bad, we're upgrading but not allowed to upgrade */
-				fetch_result = FALSE;
-			}
-
-		}
-		
-		if (fetch_result) {
-			/* if it succeeds, add to a list of extras for this package 
-			   We cannot just put it into extrapackages, as a later dep
-			   might fail, and than we have to fail the package */
-			GList *extralist;
-			
-			/* Check if a previous requirement download solved this
-			   Note, we don't check till after download, since only a download
-			   will reveal the packagename in case we need to download
-			   using fetch_package using the pack->provides.
-			   This is a paranoia check in addition to a check done
-			   in do_dependency_check, since a dep check might say
-			   that we require two files that are provided by the same
-			   package, and we only want to get the package once.
-			   Eg. nautilus requires libgconf-gtk-1.so and libgconf-1.so,
-			   both provided by gconf, so we fetch gconf twice */
-			if (g_list_find_custom (extras_in_this_batch,
-						dep,
-						(GCompareFunc)eazel_install_package_compare)) {
-				trilobite_debug ("already handled %s", dep->name);
-				packagedata_remove_soft_dep (dep, pack); 
-				dep = NULL;
-				continue;
-			}
-			
-			/* This maintains a list of extra packages for 
-			   a package. So when a requirement D for package A fails,
-			   and we've already downloaded B & C for A, 
-			   we can easily find B & D and remove them */
-			extralist = g_hash_table_lookup (extras, pack->name);
-			extralist = g_list_append (extralist, dep);
-			g_hash_table_insert (extras, pack->name, extralist);
-			
-			/* This list contains all the packages added in this call
-			   to fetch_rpm_dependencies. It's used in the initial check,
-			   to avoid that multiple requests for a file results in 
-			   multiple downloads */
-			extras_in_this_batch = g_list_prepend (extras_in_this_batch, dep);
-			
-			pack->status = PACKAGE_PARTLY_RESOLVED;
-		} else {
-			/*
-			  If it fails
-			  1) remove it from the extras hashtable for the package, 
-			  thereby ensuring the fetched packages before the fail aren't added
-			  2) add the package to the list of stuff to remove (deleting it
-			  immediately from packages will cause 
-			  eazel_install_match_package_data_from_rpm_conflict
-			  to return zero. This is fine if we then just do a continue, but
-			  this way, we get all the missing deps into pack->soft_depends
-			  3) add to list of failed packages
-			*/
-			GList *extralist;
-			
-			pack->status = PACKAGE_DEPENDENCY_FAIL;
-			if (dep->status == PACKAGE_UNKNOWN_STATUS) {
-				dep->status = PACKAGE_CANNOT_OPEN;
-			}
-
-			trilobite_debug ("Fetching %s failed, status %s/%s", 
-					 packagedata_get_readable_name (dep),
-					 packagedata_status_enum_to_str (dep->status),
-					 packagedata_modstatus_enum_to_str (dep->modify_status));
-					 			
-			if (!eazel_install_get_force (service)) {
-				/* Remove the extra packages for this package */
-				extralist = g_hash_table_lookup (extras, pack->name);			
-				/* Remove all the extras from the soft_deps (is this what we want ?) */
-				g_list_foreach (extralist, (GFunc)packagedata_remove_soft_dep, pack); 
-				g_list_free (extralist);
-				g_hash_table_remove (extras, pack->name);
-				
-				/* Don't add it to failedpackages more than once */
-				if (g_list_find (*failedpackages, pack) == NULL) {
-					(*failedpackages) = g_list_prepend (*failedpackages, pack);
-				}
-				(*packages) = g_list_remove (*packages, pack);
-				
-				/* Don't process anymore */
-				break;
-			}
-		}
-	}
-	
-	/* iterate over all the lists in extras and add to extrapackages */
-	g_hash_table_foreach (extras, (GHFunc)eazel_install_add_to_extras_foreach, extrapackages);
-	g_hash_table_destroy (extras);
-	g_list_free (extras_in_this_batch);
-
-	if (*failedpackages) {
-		return FALSE;
-	} else {
-		return TRUE;
-	}
-}
-
-static void
-dump_one_package (PackageData *pack, char *prefix)
-{
-	char *softprefix, *hardprefix, *modprefix, *breakprefix;
-	char *packname;
-
-	if (pack->name == NULL) {
-		if (pack->provides && pack->provides->data) {
-			packname = g_strdup_printf ("[provider of %s]", (char *)(pack->provides->data));
-		} else {
-			packname = g_strdup ("[mystery package]");
-		}
-	} else {
-		packname = g_strdup_printf ("%s-%s-%s", pack->name, pack->version, pack->minor);
-	}
-
-	trilobite_debug ("%s%s (stat %s/%s), 0x%08X", 
-			 prefix, packname,
-			 packagedata_status_enum_to_str (pack->status),
-			 packagedata_modstatus_enum_to_str (pack->modify_status),
-			 (unsigned int)pack);
-	g_free (packname);
-
-	softprefix = g_strdup_printf ("%s (s) ", prefix);
-	hardprefix = g_strdup_printf ("%s (h) ", prefix);
-	breakprefix = g_strdup_printf ("%s (b) ", prefix);
-	modprefix = g_strdup_printf ("%s (m) ", prefix);
-	g_list_foreach (pack->soft_depends, (GFunc)dump_one_package, softprefix);
-	g_list_foreach (pack->hard_depends, (GFunc)dump_one_package, hardprefix);
-	g_list_foreach (pack->modifies, (GFunc)dump_one_package, modprefix);
-	g_list_foreach (pack->breaks, (GFunc)dump_one_package, breakprefix);
-	g_free (softprefix);
-	g_free (hardprefix);
-	g_free (modprefix);
-	g_free (breakprefix);
-}
-
-static void
-dump_packages_foreach (PackageData *pack, gpointer unused)
-{
-	if (pack->toplevel) {
-		dump_one_package (pack, "");
-	}
-}
-
-void
-dump_packages (GList *packages)
-{
-	trilobite_debug ("#####  PACKAGE TREE  #####");
-	g_list_foreach (packages, (GFunc)dump_packages_foreach, NULL);
-	trilobite_debug ("-----  end  -----");
-}
-
-static void
-print_package_list (char *str, GList *packages, gboolean show_deps)
-{
-	GList *iterator;
-	PackageData *pack;
-	char *tmp = NULL;
-	char *dep = " depends on ";
-	/*	char *breaks = " breaks ";*/
-
-	trilobite_debug ("---------------------------");
-	trilobite_debug ("%s", str);
-	for (iterator = packages; iterator; iterator = g_list_next (iterator)) {
-		pack = (PackageData*)iterator->data;
-		if (show_deps) {
-			GList *it2;
-			tmp = g_strdup (dep);
-			it2 = pack->soft_depends;
-			while (it2) { 
-				char *tmp2;
-				tmp2 = g_strdup_printf ("%s%s ", tmp ,
-							((PackageData*)it2->data)->name);
-				g_free (tmp);
-				tmp = tmp2;
-				it2 = g_list_next (it2);
-			}
-/*
-			tmp = g_strdup (breaks);
-			it2 = pack->breaks;
-			while (it2) { 
-				char *tmp2;
-				PackageData *p2;
-				p2 = (PackageData*)it2->data;
-				tmp2 = g_strdup_printf ("%s%s(%db%dd) ", tmp , rpmfilename_from_packagedata (p2), 
-							g_list_length (p2->breaks),
-							g_list_length (p2->soft_depends));
-				g_free (tmp);
-				tmp = tmp2;
-				it2 = g_list_next (it2);
-			}
-*/
-		}
-		trilobite_debug ("* %s (%s) %s", 
-			   pack->name, 
-			   pack->toplevel ? "true" : "", 
-			   (tmp && strlen (tmp) > strlen (dep)) ? tmp : "");
-		g_free (tmp);
-		tmp = NULL;
-	}
-}
-
-/*
-  Helperfunction to create PackageRequirements for fileconflicts. Should be
-  used for packagesystems that don't do this (eg. RPM) */
-static void
-eazel_install_do_file_conflict_check (EazelInstall *service,
-				      GList **packages,
-				      GList **failedpackages,
-				      GList **requirements)
-{
-	GList *iterator;
-	GList *tmp_failed = NULL;
-
-	if (eazel_install_get_ignore_file_conflicts (service) ||
-	    eazel_install_get_force (service)) {
-		trilobite_debug ("not performing file conflict check");
-	}
-
-	/* Now do file conflicts on all packages */
-	for (iterator = *packages; iterator; glist_step (iterator)) {
-		PackageData *pack = (PackageData*)iterator->data;
-		GList *required = NULL;
-
-		/* If we haven't tested conflicts yet */
-		if (pack->conflicts_checked == FALSE) {
-			GList *breaks = NULL;
-			pack->conflicts_checked = TRUE;			
-			if (eazel_install_check_for_file_conflicts (service, pack, &breaks, &required)) {
-				if (required) {
-					/* Create PackageRequirements for all the requirements */
-					GList *reqiterator;
-					for (reqiterator = required;reqiterator;glist_step (reqiterator)) {
-						PackageData *required_pack = (PackageData*)reqiterator->data;
-						if (g_list_find_custom (*packages, 
-									required_pack->name,
-									(GCompareFunc)eazel_install_package_name_compare)) {
-							trilobite_debug ("but we're updating it (requirement)");
-							/* packagedata_destroy (broken_package, FALSE); */
-						} else {
-							PackageRequirement *req;
-							req = packagerequirement_new (pack, required_pack);
-							(*requirements) = g_list_prepend (*requirements, req);
-						}
-					}
-				}
-				if (breaks) {
-					GList *break_iterator;
-					gboolean fail_it = FALSE;
-					for (break_iterator = breaks; break_iterator; glist_step (break_iterator)) {
-						PackageData *broken_package = (PackageData*)break_iterator->data;
-						trilobite_debug ("breaking %s", broken_package->name);
-						if (g_list_find_custom (*packages, 
-									broken_package->name,
-									(GCompareFunc)eazel_install_package_name_compare)) {
-							trilobite_debug ("but we're updating it");
-							/* packagedata_destroy (broken_package, FALSE); */
-						} else {
-							fail_it = TRUE;
-							packagedata_add_pack_to_breaks (pack, broken_package);
-						}
-					}
-					if (fail_it) {
-						tmp_failed = g_list_prepend (tmp_failed, pack);
-					}
-				}
-			} else {
-				/* No file conflicts */
-			}
-		}
-	}
-	
-	/* Now clean up */
-	for (iterator = tmp_failed; iterator; glist_step (iterator)) {
-		PackageData *cpack = (PackageData*)(iterator->data);
-		(*failedpackages) = g_list_prepend (*failedpackages, cpack);
-		(*packages) = g_list_remove (*packages, cpack);
-	}
-}
-
-/* 
-   Use package system to do the dependency check
- */
-static void
-eazel_install_do_dependency_check (EazelInstall *service,
-				   GList **packages,
-				   GList **failedpackages,
-				   GList **requirements)
-{
-	eazel_install_do_rpm_dependency_check (service, 
-					       packages,
-					       failedpackages,
-					       requirements);
-	/* RPM's depCheck doens't do fileconflicts, so we do
-		   them ourselves */
-	eazel_install_do_file_conflict_check (service, 
-					      packages,
-					      failedpackages,
-					      requirements);
-}
-
-/*
-  Given a glist of PackageData's, ensure_deps_are_fetched checks deps
-  for them all, if deps fail, fetch the depency and add to packages.
-  Returns FALSE if outfiles was set, TRUE is all dependencies were satisfied.
-  If a dep could not be found, that name is added to fails)
- */
-static gboolean
-eazel_install_ensure_deps (EazelInstall *service, 
-			   GList **packages, 
-			   GList **failedpackages)
-{
-	GList *extrapackages = NULL; /* This list contains packages that were added to "packages" */
-	gboolean result;             
-	GList *requirements = NULL;  /* This list contains the PackageRequirements for the dependecy failures */
-
-	g_return_val_if_fail (packages != NULL, TRUE);
-	g_return_val_if_fail (*packages != NULL, TRUE);
-
-	g_return_val_if_fail (g_list_length (*packages)>=1, FALSE);
-	result = TRUE;
-	
-	trilobite_debug ("Into eazel_install_ensure_deps");
-
-	/* First we load headers and prepare them.
-	   The datastructures depend on the packagesystem,
-	   and are places in service->private->packsys.
-	*/
-		
-	eazel_install_do_dependency_check (service, 
-					   packages, 
-					   failedpackages,
-					   &requirements);		
-	
-	if (requirements != NULL) {
-		GList *iterator;
-		
-		extrapackages = NULL;
-		
-		/* For all the packages, set state to partly_resolved. */
-		for (iterator=*packages; iterator; iterator = g_list_next (iterator)) {
-			PackageData *pack;
-			pack = (PackageData*)iterator->data;
-			pack->status = PACKAGE_PARTLY_RESOLVED;
-		}
-		
-		trilobite_debug ("%d dependency failure(s)", g_list_length (requirements));
-		
-		/* Fetch the needed stuff. 
-		   "extrapackages" gets the new packages added,
-		   packages in "failedpackages" are packages moved from 
-		   "packages" that could not be resolved. */
-		eazel_install_fetch_dependencies (service, 
-						  packages,
-						  &extrapackages,
-						  failedpackages,
-						  requirements);
-
-		/* Delete the PackageRequirements.
-		   Note, that we just need to free the structure, both elements
-		   are kept, req->package in extrapackages or failedpackages and
-		   req->required will be in req->package's breaks/soft_depends.
-		*/
-		g_list_foreach (requirements, (GFunc)g_free, NULL);
-		g_list_free (requirements);
-		
-		/* Some debug printing */
-		dump_packages (*packages);
-		print_package_list ("Packages that were fetched", extrapackages, FALSE);
-		print_package_list ("Packages that failed", *failedpackages, TRUE);
-	} else {
-		GList *iterator;
-		
-		/* Deps are fine, set all packages to resolved */
-		for (iterator=*packages; iterator; iterator = g_list_next (iterator)) {
-			PackageData *pack;
-			pack = (PackageData*)iterator->data;
-			pack->status = PACKAGE_RESOLVED;
-		}
-		trilobite_debug (_("Dependencies appear ok"));
-
-		if (!eazel_install_do_transaction_all_files_check (service, packages)) {
-			trilobite_debug (_("But there are file conflicts"));
-			/* Now recurse into eazel_install_ensure_deps with
-			   the new "packages" list */
-			eazel_install_ensure_deps (service, packages, failedpackages);
-		} else {
-			trilobite_debug ("Dependencies still appear ok");
-		}
-
-	}
-
-	/* If there was failedpackages, prune them from the tree 
-	   and the "extrapackages".
-	   We need to strip from "extrapackages" as well, since :
-	   while installing A & B, C was added for A, D was
-	   added for B but B also needs E (but not found). Therefore
-	   we strip D from "extrapackages" and B is stripped
-	   from "packages". Keeping D around would
-	   install a non-needed package
-	*/
-	if (*failedpackages) {
-		GList *iterator;
-
-		for (iterator = *failedpackages; iterator; iterator = g_list_next (iterator)) {
-			PackageData *pack;
-			pack = (PackageData*)iterator->data;
-			trilobite_debug ("calling prune on %s", pack->name);
-			eazel_install_prune_packages (service, pack, packages, 
-							      &extrapackages, NULL);
-		}			
-	} 
-	/* If there were conflicts, we'll have called fetch_dependencies and might
-	   have downloaded extra packages. So we have to recurse and process these */
-	if (extrapackages) {
-		GList *iterator;
-		
-		/* Add to "packages" */
-		for (iterator = extrapackages; iterator; iterator = g_list_next (iterator)) {
-			(*packages) = g_list_append (*packages, iterator->data);
-		}
-		g_list_free (extrapackages);
-		
-		/* Now recurse into eazel_install_ensure_deps with
-		   the new "packages" list */
-		eazel_install_ensure_deps (service, packages, failedpackages);
-		
-		/* Now remove the packages that failed from "packages" 
-		   and copy them into "failedpackages".  */
-		for (iterator = *failedpackages; iterator; iterator = g_list_next (iterator)) {
-			PackageData *pack;
-			pack = (PackageData*)iterator->data;
-			(*packages) = g_list_remove (*packages, pack);					
-		}
-	}
-	dump_packages (*packages);
-		      
-	return result;
-}
-
-/* This traverses upwards in the deptree from the initial list, and adds
-   all packages that will break to "breaks" */
-static void
-eazel_uninstall_upward_traverse (EazelInstall *service,
-				 GList **packages,
-				 GList **failed,
-				 GList **breaks)
-{
-	GList *iterator;
-	/*
-	  Create set
-	  add all packs from packages to set
-	  dep check
-	  for all break, add to packages and recurse
-	 */
-
-	trilobite_debug ("in eazel_uninstall_upward_traverse");
-
-	g_assert (packages!=NULL);
-	g_assert (*packages!=NULL);
-	g_assert (breaks!=NULL);
-	g_assert (*breaks==NULL);
-
-	/* Open the package system */
-
-	/* Add all packages to the set */
-
-	for (iterator = *packages; iterator; iterator = g_list_next (iterator)) {
-		PackageData *pack = (PackageData*)iterator->data;
-		GList *matches = NULL;
-		GList *match_iterator;
-		GList *tmp_breaks = NULL;
-		GList *break_iterator = NULL;
-		
-		trilobite_debug ("checking reqs by %s", rpmname_from_packagedata (pack));
-		matches = eazel_package_system_query (service->private->package_system,
-						      service->private->cur_root,
-						      pack,
-						      EAZEL_PACKAGE_SYSTEM_QUERY_REQUIRES,
-						      PACKAGE_FILL_NO_DIRS_IN_PROVIDES);
-		packagedata_list_prune (&matches, *packages, TRUE, TRUE);
-		
-		for (match_iterator = matches; match_iterator; match_iterator = g_list_next (match_iterator)) {
-			PackageData *requiredby = (PackageData*)match_iterator->data;;
-			
-			requiredby->status = PACKAGE_DEPENDENCY_FAIL;
-			pack->status = PACKAGE_BREAKS_DEPENDENCY;
-			trilobite_debug ("logic.c: %s requires %s", requiredby->name, pack->name);
-
-			/* If we're already marked it as breaking, go on 
-			if (g_list_find_custom (*breaks, (gpointer)requiredby->name, 
-						(GCompareFunc)eazel_install_package_name_compare)) {
-				trilobite_debug ("skip %s", requiredby->name);
-				packagedata_destroy (requiredby, TRUE);
-				requiredby = NULL;
-				continue;
-			}
-			*/
-
-			/* Guess not, mark it as breaking (and that pack is the offender */
-			packagedata_add_pack_to_breaks (pack, requiredby);
-			(*breaks) = g_list_prepend ((*breaks), requiredby);
-
-			/* If the package has not been failed yet (and is a toplevel),
-			   fail it */
-			if (!g_list_find_custom (*failed, (gpointer)pack->name, 
-						 (GCompareFunc)eazel_install_package_name_compare) &&
-			    pack->toplevel) {
-				(*failed) = g_list_prepend (*failed, pack);
-			}
-		}
-		/* fre the list structure from _simple_query */
-		g_list_free (matches);
-		
-		if (*breaks) {
-			eazel_uninstall_upward_traverse (service, breaks, failed, &tmp_breaks);
-		}
-		
-		for (break_iterator = tmp_breaks; break_iterator; break_iterator = g_list_next (break_iterator)) {
-			(*breaks) = g_list_prepend ((*breaks), break_iterator->data);
-		}
-	}
-	
-	for (iterator = *failed; iterator; iterator = g_list_next (iterator)) {
-		(*packages) = g_list_remove (*packages, iterator->data);
-	}
-
-	trilobite_debug ("out eazel_uninstall_upward_traverse");
-}
-
-/* This traverses downwards on all requirements in "packages", 
-   checks that their uninstall do _not_ break anything, and
-   adds thm to requires */
-
-static void
-eazel_uninstall_downward_traverse (EazelInstall *service,
-				   GList **packages,
-				   GList **failed,
-				   GList **requires)
-{
-	GList *iterator;
-	GList *tmp_requires = NULL;
-
-	/* 
-	   create set
-	   find all requirements from "packages"
-	   add all packs + requirements from "packages" to set
-	   dep check
-	   for all breaks, remove from requirements
-	   recurse calling eazel_uninstall_downward_traverse (requirements, &tmp)
-	   add all from tmp to requirements
-	*/
-	trilobite_debug ("in eazel_uninstall_downward_traverse");
-	
-	/* First iterate across the packages in "packages" */
-	for (iterator = *packages; iterator; iterator = g_list_next (iterator)) {
-		GList *matches = NULL;
-		PackageData *pack;
-		GList *match_iterator;
-
-		pack = (PackageData*)iterator->data;
-
-		matches = eazel_package_system_query (service->private->package_system,
-						      service->private->cur_root,
-						      pack->name,
-						      EAZEL_PACKAGE_SYSTEM_QUERY_MATCHES,
-						      PACKAGE_FILL_NO_DIRS_IN_PROVIDES);
-		trilobite_debug ("%s had %d hits", pack->name, g_list_length (matches));
-
-		/* Now iterate over all packages that match pack->name */
-		for (match_iterator = matches; match_iterator; match_iterator = g_list_next (match_iterator)) {
-			PackageData *matched_pack;
-			const char **require_name;
-			int require_name_count;
-			Header hd;
-			int type;
-			int j;
-
-			matched_pack = (PackageData*)match_iterator->data;
-			hd = ((Header) matched_pack->packsys_struc);
-
-			if (!headerGetEntry(hd, RPMTAG_REQUIRENAME, &type, (void **) &require_name,
-					    &require_name_count)) {
-				require_name_count = 0;
-			}
-			
-			trilobite_debug ("requirename count = %d", require_name_count);
-			
-			/* No iterate over all packages required by the current package */
-			for (j = 0; j < require_name_count; j++) {
-				if ((*require_name[j] != '/') &&
-				    !strstr (require_name[j], ".so")) {
-					PackageData *tmp_pack = packagedata_new ();
-					GList *second_matches;
-					GList *second_match_iterator;
-
-					tmp_pack->name = g_strdup (require_name[j]);
-					second_matches = 
-						eazel_package_system_query (service->private->package_system,
-									    service->private->cur_root,
-									    tmp_pack,
-									    EAZEL_PACKAGE_SYSTEM_QUERY_REQUIRES,
-									    PACKAGE_FILL_NO_DIRS_IN_PROVIDES);
-					packagedata_list_prune (&second_matches, *packages, TRUE, TRUE);
-					packagedata_list_prune (&second_matches, *requires, TRUE, TRUE);
-					packagedata_destroy (tmp_pack, TRUE);
-
-					/* Iterate over all packages that match the required package */
-					for (second_match_iterator = second_matches;
-					     second_match_iterator; 
-					     second_match_iterator = g_list_next (second_match_iterator)) {
-						PackageData *isrequired;
-
-						isrequired = (PackageData*)second_match_iterator->data;
-						if (g_list_find_custom (*requires, isrequired->name,
-									(GCompareFunc)eazel_install_package_name_compare) ||
-						    g_list_find_custom (*packages, isrequired->name,
-									(GCompareFunc)eazel_install_package_name_compare)) {
-							trilobite_debug ("skipped %s", isrequired->name);
-							packagedata_destroy (isrequired, TRUE);\
-							isrequired = NULL;
-							continue;
-						}		
-						trilobite_debug ("** %s requires %s", pack->name, isrequired->name);
-
-						{
-							GList *third_matches;
-
-							/* Search for packages
-							   requiring the requirement, excluding
-							   all pacakges from requires and packages */
-							third_matches = 
-								eazel_package_system_query (service->private->package_system,
-											    service->private->cur_root,
-											    pack->name,
-											    EAZEL_PACKAGE_SYSTEM_QUERY_REQUIRES,
-											    PACKAGE_FILL_NO_DIRS_IN_PROVIDES);
-							packagedata_list_prune (&third_matches, 
-										*packages, TRUE, TRUE);
-							packagedata_list_prune (&third_matches, 
-										*requires, TRUE, TRUE);
-							packagedata_list_prune (&third_matches, 
-										tmp_requires, TRUE, TRUE);
-							
-							if (third_matches) {
-								trilobite_debug ("skipped %s, others depend on it", 
-									   isrequired->name);
-								print_package_list ("BY", third_matches, FALSE);
-								g_list_foreach (third_matches, 
-										(GFunc)packagedata_destroy, 
-										GINT_TO_POINTER (TRUE));
-								g_list_free (third_matches);
-								third_matches = NULL;
-								packagedata_destroy (isrequired, TRUE);
-								isrequired = NULL;
-							} else {
-								trilobite_debug ("Also nuking %s", isrequired->name);
-								tmp_requires = g_list_prepend (tmp_requires, 
-											       isrequired);
-							}
-						}
-					}
-					g_list_free (second_matches);
-				} else {
-					trilobite_debug ("must lookup %s", require_name[j]);
-					/* FIXME bugzilla.eazel.com 1541:
-					   lookup package "p" that provides requires[j],
-					   if packages that that require "p" are not in "packages"
-					   don't add it, otherwise add to requires */
-				}
-			}
-
-			headerFree (hd);
-		}
-		g_list_foreach (matches, (GFunc)packagedata_destroy, GINT_TO_POINTER (TRUE));
-		g_list_free (matches);
-		matches = NULL;
-	}
-
-	if (tmp_requires) {
-		eazel_uninstall_downward_traverse (service, &tmp_requires, failed, requires);
-	}
-
-	/* Now move the entries in tmp_requires into *requires */
-	for (iterator = tmp_requires; iterator; iterator = g_list_next (iterator)) {
-		(*requires) = g_list_prepend (*requires, iterator->data);
-	}
-	g_list_free (tmp_requires);
-
-	trilobite_debug ("out eazel_uninstall_downward_traverse");
-}
-
-static void
-eazel_uninstall_check_for_install (EazelInstall *service,
-				   GList **packages,
-				   GList **failed)
-{
-	GList *iterator;
-	GList *remove  = NULL;
-	GList *result = NULL;
-
-	trilobite_debug ("in eazel_uninstall_check_for_install");
-	g_assert (packages);
-	trilobite_debug ("g_list_length (*packages) = %d", g_list_length (*packages)); 
-	for (iterator = *packages; iterator; iterator = g_list_next (iterator)) {		
-		PackageData *pack = (PackageData*)iterator->data;
-		GList *matches;
-
-		matches = eazel_package_system_query (service->private->package_system,
-						      service->private->cur_root,
-						      pack->name,
-						      EAZEL_PACKAGE_SYSTEM_QUERY_MATCHES,
-						      PACKAGE_FILL_NO_TEXT | PACKAGE_FILL_NO_DEPENDENCIES | PACKAGE_FILL_NO_DIRS_IN_PROVIDES);
-		/* If it's installed, continue */
-		if (matches) {
-			GList *match_it;
-			gboolean any = FALSE;
-			for (match_it = matches; match_it; match_it = g_list_next (match_it)) {
-				PackageData *matched = (PackageData*)match_it->data;
-				if (eazel_install_package_matches_versioning (matched, 
-									      pack->version, 
-									      pack->minor,
-									      EAZEL_SOFTCAT_SENSE_EQ)) {
-					matched->toplevel = TRUE;
-					/* mark that at least one matched */
-					any = TRUE;
-					result = g_list_prepend (result, matched);
-				} else {
-					packagedata_destroy (matched, TRUE);
-				}
-				
- 			} 
-			if (!any) {
-				pack->status = PACKAGE_CANNOT_OPEN;
-				remove = g_list_prepend (remove, pack);
-			}
-			g_list_free (matches);
-			continue;
-		} else {
-			pack->status = PACKAGE_CANNOT_OPEN;
-			remove = g_list_prepend (remove, pack);
-		}		
-	}
-
-	for (iterator = remove; iterator; iterator=g_list_next (iterator)) {
-		(*packages) = g_list_remove (*packages, iterator->data);
-		(*failed) = g_list_prepend (*failed, iterator->data);
-	}
-	g_list_free (remove);
-	remove = NULL;
-
-	trilobite_debug ("g_list_length (*packages) = %d", g_list_length (*packages)); 
-	trilobite_debug ("g_list_length (result) = %d", g_list_length (result)); 
-
-	g_list_foreach (*packages, (GFunc)packagedata_destroy, FALSE);
-	g_list_free (*packages);
-	(*packages) = result;
-
-	trilobite_debug ("out eazel_uninstall_check_for_install");
-}
-
-/* Calls the upward and downward traversal */
-static void
-eazel_uninstall_globber (EazelInstall *service,
-			 GList **packages,
-			 GList **failed)
-{
-	GList *iterator;
-	GList *tmp;
-
-	/*
-	  call upward with packages
-	  call downward with packages and &tmp
-	  add all from &tmp to packages
-	*/
-
-	trilobite_debug ("in eazel_uninstall_globber");
-
-	tmp = NULL;
-
-	eazel_uninstall_check_for_install (service, packages, failed);
-	for (iterator = *failed; iterator; iterator = g_list_next (iterator)) {
-		trilobite_debug ("not installed %s", ((PackageData*)iterator->data)->name);
-		eazel_install_emit_uninstall_failed (service, (PackageData*)iterator->data);
-	}
-		
-	/* If there are still packages and we're not forcing,
-	   do upwards traversel */
-	if (*packages && !eazel_install_get_force (service)) {
-		eazel_uninstall_upward_traverse (service, packages, failed, &tmp);
-		print_package_list ("FAILED", *failed, TRUE);
-		for (iterator = *failed; iterator; iterator = g_list_next (iterator)) {
-			PackageData *pack = (PackageData*)iterator->data;
-			trilobite_debug ("failed %s", pack->name);
-			dump_one_package (pack, "");
-			eazel_install_emit_uninstall_failed (service, pack);
-		}
-		g_list_free (tmp);
-	}
-
-/*
-  I've disabled downwards traverse untill it's done.
-
-	tmp = NULL;
-	eazel_uninstall_downward_traverse (service, packages, failed, &tmp);
-	for (iterator = tmp; iterator; iterator = g_list_next (iterator)) {
-		g_message ("also doing %s", ((PackageData*)iterator->data)->name);
-		(*packages) = g_list_prepend (*packages, iterator->data);
-	}
-	g_list_free (tmp);
-*/
-
-	trilobite_debug ("out eazel_uninstall_glob");
-}
Index: /unk/third/nautilus/components/services/install/lib/eazel-install-logic.h
===================================================================
--- /trunk/third/nautilus/components/services/install/lib/eazel-install-logic.h (revision 15547)
+++  (revision )
@@ -1,69 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: J Shane Culpepper <pepper@eazel.com>
- */
-
-/* eazel-install - services command line install/update/uninstall
- * component.  This program will parse the eazel-services-config.xml
- * file and install a services generated package-list.xml.
- */
-
-#ifndef EAZEL_INSTALL_LOGIC_H
-#define EAZEL_INSTALL_LOGIC_H
-
-#include "eazel-package-system-types.h"
-#include "eazel-install-protocols.h"
-#include "eazel-install-public.h"
-#include <eazel-package-system.h>
-
-gboolean eazel_install_start_signal (EazelPackageSystem *system,
-				     EazelPackageSystemOperation op,
-				     const PackageData *pack,
-				     EazelInstall *service);
-gboolean eazel_install_end_signal (EazelPackageSystem *system,
-				   EazelPackageSystemOperation op,
-				   const PackageData *pack,
-				   EazelInstall *service);
-gboolean  eazel_install_progress_signal (EazelPackageSystem *system,
-					 EazelPackageSystemOperation op,
-					 const PackageData *pack,
-					 unsigned long *info,
-					 EazelInstall *service);
-gboolean eazel_install_failed_signal (EazelPackageSystem *system,
-				      EazelPackageSystemOperation op,
-				      const PackageData *pack,
-				      EazelInstall *service);
-
-EazelInstallOperationStatus ei_install_packages (EazelInstall *service, GList *categories);
-EazelInstallOperationStatus ei_uninstall_packages (EazelInstall *service, GList *categories);
-EazelInstallOperationStatus ei_revert_transaction (EazelInstall *service, GList *packages);
-
-gboolean eazel_install_prepare_package_system (EazelInstall *service);
-gboolean eazel_install_free_package_system (EazelInstall *service);
-
-unsigned long eazel_install_get_total_size_of_packages (EazelInstall *service,
-							const GList *packages);
-void eazel_install_do_transaction_add_to_transaction (EazelInstall *service,
-						      PackageData *pack);
-gboolean eazel_install_check_if_related_package (EazelInstall *service,
-						 PackageData *package,
-						 PackageData *dep);
-
-#endif /* EAZEL_INSTALL_LOGIC_H */
Index: /unk/third/nautilus/components/services/install/lib/eazel-install-rpm-glue.c
===================================================================
--- /trunk/third/nautilus/components/services/install/lib/eazel-install-rpm-glue.c (revision 15547)
+++  (revision )
@@ -1,466 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* 
- * Copyright (C) 2000 Eazel, Inc
- * Copyright (C) 1998-1999 James Henstridge
- * Copyright (C) 1998 Red Hat Software, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: J Shane Culpepper <pepper@eazel.com>
- *          Eskil Heyn Olsen  <eskil@eazel.com>
- */
-
-#include "eazel-install-rpm-glue.h"
-#include "eazel-install-public.h"
-#include "eazel-install-private.h"
-#include "eazel-install-logic.h"
-
-#include <libtrilobite/trilobite-core-utils.h>
-#include <libtrilobite/trilobite-md5-tools.h>
-
-#include <rpm/rpmlib.h>
-#include <string.h>
-#include <time.h>
-
-#include <ctype.h>
-
-#include <errno.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <fcntl.h>
-#include <unistd.h>
-#ifdef EAZEL_INSTALL_SLIM
-#include <sys/wait.h>
-#endif
-
-#include "eazel-package-system.h"
-
-/* WAAAAAAHH! */
-#include "eazel-package-system-rpm3.h"
-#include "eazel-package-system-rpm3-private.h"
-
-PackageData* packagedata_new_from_rpm_conflict (struct rpmDependencyConflict);
-PackageData* packagedata_new_from_rpm_conflict_reversed (struct rpmDependencyConflict);
-
-PackageData*
-packagedata_new_from_rpm_conflict (struct rpmDependencyConflict conflict) 
-{
-	PackageData *result;
-	
-	result = packagedata_new ();
-
-	result->name = g_strdup (conflict.needsName);
-	result->version = (conflict.needsVersion && (strlen (conflict.needsVersion) > 1)) ? g_strdup (conflict.needsVersion) : NULL;
-	return result;
-}
-
-PackageData*
-packagedata_new_from_rpm_conflict_reversed (struct rpmDependencyConflict conflict) 
-{
-	PackageData *result;
-	
-	result = packagedata_new ();
-
-	result->name = g_strdup (conflict.byName);
-	result->version = (conflict.byVersion && (strlen (conflict.byVersion) > 1)) ? g_strdup (conflict.byVersion) : NULL;
-	return result;
-}
-
-/*
-  Adds the headers to the package system set
- */
-static void
-eazel_install_add_to_rpm_set (EazelInstall *service,
-			      rpmTransactionSet set, 
-			      GList **packages,
-			      GList **failed)
-
-{
-	GList *iterator;
-	GList *tmp_failed;
-	int interface_flags;
-
-	g_assert (packages!=NULL);
-	g_assert (*packages!=NULL);
-
-	tmp_failed = NULL;
-
-	interface_flags = 0;
-	if (eazel_install_get_update (service)) {
-		interface_flags |= INSTALL_UPGRADE;
-	}
-
-	for (iterator = *packages; iterator; iterator = g_list_next (iterator)) {
-		PackageData *pack;
-		int err;
-
-		pack = (PackageData*)iterator->data;
-		if (!eazel_install_get_uninstall (service)) {
-			g_assert (pack->packsys_struc);
-			err = rpmtransAddPackage (set,
-						  ((Header) pack->packsys_struc),
-						  NULL, 
-						  NULL,
-						  interface_flags, 
-						  NULL);
-			if (err!=0) {
-				trilobite_debug ("rpmtransAddPackage (..., %s, ...) = %d", pack->name, err);
-				if (pack->source_package) {
-					pack->status = PACKAGE_SOURCE_NOT_SUPPORTED;
-				} else {
-					pack->status = PACKAGE_INVALID;
-				}
-				/* We cannot remove the thing immediately from packages, as
-				   we're iterating it, so add to a tmp list and nuke later */
-				tmp_failed = g_list_prepend (tmp_failed, pack);
-			}
-			/* just flailing around here (robey) 
-			if (pack->soft_depends) {
-				eazel_install_add_to_rpm_set (service, set, &pack->soft_depends, failed);
-			}
-			*/
-		} else {
-			g_assert_not_reached ();
-		}
-	}
-	/* Remove all failed from packages, and add them to failed */
-	if (tmp_failed) {
-		for (iterator = tmp_failed; iterator; iterator = g_list_next (iterator)) {
-			if (failed) {
-				(*failed) = g_list_prepend (*failed, iterator->data);
-			}
-			(*packages) = g_list_remove (*packages, iterator->data);
-		}
-		g_list_free (tmp_failed);
-	}
-}
-
-/* Given a filename, it find the 
-   package that has a package in modifies that
-   provides the given file. */
-
-static int
-eazel_install_package_modifies_provides_compare (PackageData *pack,
-						 char *name)
-{
-	GList *ptr = NULL;
-	ptr = g_list_find_custom (pack->modifies, 
-				  (gpointer)name, 
-				  (GCompareFunc)eazel_install_package_provides_compare);
-	if (ptr) {
-		trilobite_debug ("package %s-%s-%s caused harm to %s", 
-				 pack->name, pack->version, pack->minor,
-				 name);
-		return 0;
-	} 
-/*
-	for (ptr = pack->provides; ptr; ptr = g_list_next (ptr)) {
-		g_message ("%s strcmp %s = %d", name, (char*)ptr->data, g_strcasecmp (name, (char*)ptr->data));
-	}
-	g_message ("package %s blows %d chunks", pack->name, g_list_length (pack->provides));
-*/
-	return -1;
-}
-
-static void
-eazel_install_rpm_create_requirement (EazelInstall *service,
-				      PackageData *pack,
-				      PackageData *dep,
-				      GList **requirements)
-{
-	g_assert (pack && dep);
-
-	/* Check if a previous conflict solve has fixed this conflict. */
-	if (g_list_find_custom (*requirements,
-				dep,
-				(GCompareFunc)eazel_install_requirement_dep_compare)) {
-		trilobite_debug ("Already created requirement for %s", dep->name);
-		packagedata_destroy (dep, FALSE);
-		dep = NULL;
-	} else {
-		PackageRequirement *req;
-		req = packagerequirement_new (pack, dep);				
-		(*requirements) = g_list_prepend (*requirements, req);
-				/* debug output code */
-		if (dep->name) {
-			trilobite_debug ("%s requires package %s", pack->name, dep->name);
-		} else {
-			trilobite_debug ("%s requires file %s", 
-					 pack->name, 
-					 (char*)dep->provides->data);
-		}
-	}
-}
-
-
-/* This is the function to do the RPM system dependency check */
-void
-eazel_install_do_rpm_dependency_check (EazelInstall *service,
-				       GList **packages,
-				       GList **failedpackages,
-				       GList **requirements)
-{
-	int iterator;
-	rpmTransactionSet set;
-	int num_conflicts;
-	struct rpmDependencyConflict *conflicts;
-	struct rpmDependencyConflict conflict;
-	rpmdb db;
-
-	trilobite_debug ("eazel_install_do_rpm_dependency_check");
-
-	g_assert (EAZEL_PACKAGE_SYSTEM_RPM3 (service->private->package_system)->private->dbs);
-
-	eazel_package_system_rpm3_open_dbs (EAZEL_PACKAGE_SYSTEM_RPM3 (service->private->package_system));
-	db = (rpmdb)g_hash_table_lookup (EAZEL_PACKAGE_SYSTEM_RPM3 (service->private->package_system)->private->dbs,
-					 service->private->cur_root);
-	if (!db) {
-		return;
-	}
-
-	set =  rpmtransCreateSet (db, service->private->cur_root);
-	eazel_install_add_to_rpm_set (service, set, packages, failedpackages); 
-
-	/* Reorder the packages as per. deps and do the dep check */
-	rpmdepOrder (set);		
-	rpmdepCheck (set, &conflicts, &num_conflicts);
-	eazel_package_system_rpm3_close_dbs (EAZEL_PACKAGE_SYSTEM_RPM3 (service->private->package_system));
-
-	/* FIXME bugzilla.eazel.com 1512:
-	   This piece of code is rpm specific. It has some generic algorithm
-	   for doing the dep stuff, but it's rpm entangled */
-
-	for (iterator = 0; iterator < num_conflicts; iterator++) {
-		GList *pack_entry = NULL;
-		PackageData *pack = NULL;
-		PackageData *dep = NULL;
-
-		conflict = conflicts[iterator];
-
-		/* Locate the package that caused the conflict */
-		pack_entry = g_list_find_custom (*packages, 
-						 (char*)conflict.byName,
-						 (GCompareFunc)eazel_install_package_name_compare);
-
-		/* first time through, only do immediate matches */
-		if (pack_entry == NULL) {
-			continue;
-		}
-
-		pack = (PackageData*)pack_entry->data;
-		/* Does the conflict look like a file dependency ? */
-		if (*conflict.needsName=='/' || strstr (conflict.needsName, ".so")) {
-			g_message (_("Processing dep for %s, requires library %s"), 
-				   pack->name, conflict.needsName);		
-			dep = packagedata_new ();
-			dep->provides = g_list_append (dep->provides, g_strdup (conflict.needsName));
-		} else {
-			dep = packagedata_new_from_rpm_conflict (conflict);
-			dep->archtype = g_strdup (pack->archtype);
-			g_message (_("Processing dep for %s, requires package %s"), 
-				   pack->name, 
-				   dep->name);
-		}
-
-		eazel_install_rpm_create_requirement (service, pack, dep, requirements);
-	}
-
-	/* now iterate the HARD cases, life sucks! */
-	for (iterator = 0; iterator < num_conflicts; iterator++) {
-		GList *pack_entry = NULL;
-		PackageData *pack = NULL;
-		PackageData *dep = NULL;
-
-		conflict = conflicts[iterator];
-
-		/* Locate the package that caused the conflict */
-		pack_entry = g_list_find_custom (*packages, 
-						 (char*)conflict.byName,
-						 (GCompareFunc)eazel_install_package_name_compare);
-		if (pack_entry == NULL) {
-			/* try our brand-new list of required packages, too */
-			pack_entry = g_list_find_custom (*requirements,
-							 (char*)conflict.byName,
-							 (GCompareFunc)eazel_install_requirement_dep_name_compare);
-			if (pack_entry != NULL) {
-				trilobite_debug (_("package %s is already in requirements, whew!"), conflict.byName);
-			}
-		}
-		if (pack_entry != NULL) {
-			continue;
-		}
-
-		/* If we did not find it, we're in a special case conflict */
-		switch (conflict.sense) {
-		case RPMDEP_SENSE_REQUIRES: {				
-				/* Possibly the implest case, we're installing package A, which requires
-				   B that is not installed. */
-			g_message (_("%s requires %s"), 
-				   conflict.byName,
-				   conflict.needsName);
-			pack_entry = g_list_find_custom (*packages, 
-							 (gpointer)conflict.needsName,
-							 (GCompareFunc)eazel_install_package_name_compare);
-			if (pack_entry==NULL) {
-				/* If pack_entry is null, we're in the worse case, where
-				   install A causes file f to disappear, and package conflict.byName
-				   needs f (conflict.needsName). So conflict does not identify which
-				   package caused the conflict */
-				trilobite_debug ("pack_entry==NULL, level 2");
-				/* 
-				   I need to find the package P in "packages" that provides
-				   conflict.needsName, then fail P marking it's status as 
-				   PACKAGE_BREAKS_DEPENDENCY, then create PackageData C for
-				   conflict.byName, add to P's depends and mark C's status as
-				   PACKAGE_DEPENDENCY_FAIL. 
-				   Then then client can rerun the operation with all the C's as
-				   part of the update
-				*/
-				pack_entry = g_list_find_custom (*packages, 
-								 (gpointer)conflict.needsName,
-								 (GCompareFunc)eazel_install_package_modifies_provides_compare);
-				if (pack_entry == NULL) {
-					trilobite_debug ("pack_entry==NULL, level 3");
-					/* K�e probably already moved it to 
-					   failed packages */
-					pack_entry = g_list_find_custom (*failedpackages, 
-									 (gpointer)conflict.needsName,
-									 (GCompareFunc)eazel_install_package_modifies_provides_compare); 					
-					if (pack_entry == NULL) {
-						trilobite_debug ("pack_entry==NULL, level 4");
-						/* Still k�e're looking for a name... */
-						pack_entry = g_list_find_custom (*failedpackages, 
-										 (gpointer)conflict.needsName,
-										 (GCompareFunc)eazel_install_package_name_compare); 					
-						if (pack_entry == NULL) {
-							/* Massive debug output before I die.... */
-							int a;
-							GList *ptr;
-							trilobite_debug ("This was certainly unexpected v5!");
-							trilobite_debug ("*********************************");
-							trilobite_debug ("Cannot lookup %s for %s", 
-									 conflict.needsName,
-									 conflict.byName);
-							trilobite_debug ("Cannot lookup %s in *packages",
-									 conflict.needsName);
-							trilobite_debug ("Cannot lookup %s in *failedpackages",
-									 conflict.needsName);
-							
-							trilobite_debug ("packages = 0x%p", packages);
-							trilobite_debug ("*packages = 0x%p", *packages);
-							trilobite_debug ("failedpackages = 0x%p", failedpackages);
-							trilobite_debug ("*failedpackages = 0x%p", *failedpackages);
-							
-							trilobite_debug ("g_list_length (*packages) = %d", g_list_length (*packages));
-							trilobite_debug ("g_list_length (*failedpackages) = %d", g_list_length (*failedpackages));
-							a = 0;
-							for (ptr = *packages; ptr; glist_step (ptr)) {
-								PackageData *p = (PackageData*)ptr->data;
-								a++;
-								trilobite_debug ("(*packages)[%d] = %s-%s-%s",
-										 a,
-										 p->name,
-										 p->version,
-										 p->minor);
-							}
-							a = 0;
-							for (ptr = *failedpackages; ptr; glist_step (ptr)) {
-								PackageData *p = (PackageData*)ptr->data;
-								a++;
-								trilobite_debug ("(*failedpackages)[%d] = %s-%s-%s",
-										 a,
-										 p->name,
-										 p->version,
-										 p->minor);
-							}
-							
-							
-							g_assert_not_reached ();
-						}
-					} 
-					/* If we reach this point, the package
-					   was found in *failedpackages. Otherwise,
-					   we would have hit the g_assert */
-					trilobite_debug ("We don't want to redo failing it");
-					pack_entry = NULL;
-				}
-			}
-			
-			if (pack_entry) {
-				trilobite_debug ("pack_entry found");
-				/* Create a packagedata for the dependecy */
-				dep = packagedata_new_from_rpm_conflict_reversed (conflict);
-				pack = (PackageData*)(pack_entry->data);
-				dep->archtype = g_strdup (pack->archtype);
-				pack->status = PACKAGE_BREAKS_DEPENDENCY;
-				dep->status = PACKAGE_DEPENDENCY_FAIL;
-				g_assert (dep!=NULL);
-			} else {
-				trilobite_debug ("pack_enty is NULL, continueing");
-				continue;
-			}
-			
-				/* Here I check to see if I'm breaking the -devel package, if so,
-				   request it. It does a pretty generic check to see
-				   if dep is on the form x-z and pack is x[-y] */
-			
-			if (eazel_install_check_if_related_package (service, pack, dep)) {
-				trilobite_debug ("check_if_related_package returned TRUE");
-				g_free (dep->version);
-				dep->version = g_strdup (pack->version);
-			} else {
-				trilobite_debug ("check_if_related_package returned FALSE");
-				/* not the devel package, are we in force mode ? */
-				if (!eazel_install_get_force (service)) {
-					/* if not, remove the package */
-					packagedata_add_pack_to_breaks (pack, dep);
-					if (g_list_find (*failedpackages, pack) == NULL) {
-						(*failedpackages) = g_list_prepend (*failedpackages, pack);
-					}
-					(*packages) = g_list_remove (*packages, pack);
-				}
-				continue;
-			}
-		}
-		break;
-		case RPMDEP_SENSE_CONFLICTS:
-				/* This should be set if there's a file conflict,
-				   but I don't think rpm ever does that...
-				   Because the code below is broken, I've inserted 
-				   a g_assert_not_reached (eskil, Sept 2000)
-				*/
-			g_assert_not_reached ();
-				/* If we end here, it's a conflict is going to break something */
-			g_warning (_("Package %s conflicts with %s-%s"), 
-				   conflict.byName, conflict.needsName, 
-				   conflict.needsVersion);
-			if (g_list_find (*failedpackages, pack) == NULL) {
-				(*failedpackages) = g_list_prepend (*failedpackages, pack);
-			}
-			(*packages) = g_list_remove (*packages, pack);
-			continue;
-			break;
-		}
-		
-		eazel_install_rpm_create_requirement (service, pack, dep, requirements);
-	}
-
-	rpmdepFreeConflicts (conflicts, num_conflicts);
-	rpmtransFree (set);
-	trilobite_debug ("eazel_install_do_rpm_dependency_check ended with %d fails and %d requirements", 
-			 g_list_length (*failedpackages),
-			 g_list_length (*requirements));
-}
Index: /unk/third/nautilus/components/services/install/nautilus-view/nautilus-service-install-view.c
===================================================================
--- /trunk/third/nautilus/components/services/install/nautilus-view/nautilus-service-install-view.c (revision 15547)
+++  (revision )
@@ -1,1663 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: J Shane Culpepper <pepper@eazel.com>
- *          Robey Pointer <robey@eazel.com>
- */
-
-#include <config.h>
-
-#include "nautilus-service-install-view.h"
-#include "eazel-services-header.h"
-#include "eazel-services-extensions.h"
-#include <libeazelinstall.h>
-#include "../lib/eazel-install-metadata.h"
-#include "libtrilobite/libtrilobite.h"
-
-#include <rpm/rpmlib.h>
-#include <gnome-xml/tree.h>
-#include <libgnomevfs/gnome-vfs-utils.h>
-#include <libnautilus-extensions/nautilus-background.h>
-#include <libnautilus-extensions/nautilus-gtk-extensions.h>
-#include <libnautilus-extensions/nautilus-gtk-macros.h>
-#include <libnautilus-extensions/nautilus-glib-extensions.h>
-#include <libnautilus-extensions/nautilus-global-preferences.h>
-#include <libnautilus-extensions/nautilus-file-utilities.h>
-#include <libnautilus-extensions/nautilus-string.h>
-#include <libnautilus-extensions/nautilus-label.h>
-#include <libnautilus-extensions/nautilus-gdk-extensions.h>
-#include <libnautilus-extensions/nautilus-password-dialog.h>
-#include <libnautilus-extensions/nautilus-stock-dialogs.h>
-#include <libnautilus-extensions/nautilus-viewport.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <dirent.h>
-#include <unistd.h>
-#include <errno.h>
-#include <sys/stat.h>
-
-/* for uname */
-#include <sys/utsname.h>
-
-/* number of rows of (label, progressbar) to scroll at the bottom */
-#define STATUS_ROWS		2
-
-#define PROGRESS_BAR_HEIGHT	15
-#define MESSAGE_BOX_HEIGHT	110
-
-/* This ensures that if the arch is detected as i[3-9]86, the
-   requested archtype will be set to i386 */
-#define ASSUME_ix86_IS_i386 
-
-/* send the user here after a completed (success or failure) install */
-#define NEXT_URL_ANONYMOUS	"eazel:"
-#define NEXT_URL 		"eazel-services:/catalog"
-
-
-static void       nautilus_service_install_view_initialize_class (NautilusServiceInstallViewClass	*klass);
-static void       nautilus_service_install_view_initialize       (NautilusServiceInstallView		*view);
-static void       nautilus_service_install_view_destroy          (GtkObject				*object);
-static void       service_install_load_location_callback         (NautilusView				*nautilus_view,
-								  const char				*location,
-								  NautilusServiceInstallView		*view);
-static void	  service_install_stop_loading_callback		 (NautilusView				*nautilus_view,
-								  NautilusServiceInstallView		*view);
-static void       generate_install_form                          (NautilusServiceInstallView		*view);
-static void       nautilus_service_install_view_update_from_uri  (NautilusServiceInstallView		*view,
-								  const char				*uri);
-static void       show_overall_feedback                          (NautilusServiceInstallView		*view,
-								  char					*progress_message);
-
-NAUTILUS_DEFINE_CLASS_BOILERPLATE (NautilusServiceInstallView, nautilus_service_install_view, GTK_TYPE_EVENT_BOX)
-
-
-/* gtk rulez */
-static void
-add_padding_to_box (GtkWidget *box, int pad_x, int pad_y)
-{
-	GtkWidget *filler;
-
-	filler = gtk_label_new ("");
-	gtk_widget_set_usize (filler, pad_x ? pad_x : 1, pad_y ? pad_y : 1);
-	gtk_widget_show (filler);
-	gtk_box_pack_start (GTK_BOX (box), filler, FALSE, FALSE, 0);
-}
-
-static gboolean
-line_expose (GtkWidget *widget, GdkEventExpose *event)
-{
-	gdk_window_clear_area (widget->window, event->area.x, event->area.y, event->area.width, event->area.height);
-	gdk_gc_set_clip_rectangle (widget->style->fg_gc[widget->state], &event->area);
-	gdk_draw_line (widget->window, widget->style->fg_gc[widget->state],
-		       event->area.x, widget->allocation.height/2,
-		       event->area.x + event->area.width, widget->allocation.height/2);
-	gdk_gc_set_clip_rectangle (widget->style->fg_gc[widget->state], NULL);
-
-	return TRUE;
-}
-
-static GtkWidget *
-horizontal_line_new (int height)
-{
-	GtkWidget *line;
-	NautilusBackground *background;
-
-	line = gtk_drawing_area_new ();
-	gtk_drawing_area_size (GTK_DRAWING_AREA (line), 100, 1);
-	gtk_signal_connect (GTK_OBJECT (line), "expose_event", GTK_SIGNAL_FUNC (line_expose), NULL);
-	gtk_widget_set_usize (line, -2, height);
-
-	background = nautilus_get_widget_background (line);
-	nautilus_background_set_color (background, EAZEL_SERVICES_BACKGROUND_COLOR_SPEC);
-
-	return line;
-}
-
-static void
-install_message_destroy (InstallMessage *im)
-{
-	g_free (im->package_name);
-	g_free (im);
-}
-
-static InstallMessage *
-install_message_new (NautilusServiceInstallView *view, const char *package_name)
-{
-	InstallMessage *im, *im2;
-	GtkWidget *bogus_label;
-	GList *iter;
-
-	im = NULL;
-	
-	for (iter = g_list_first (view->details->message); iter != NULL; iter = g_list_next (iter)) {
-		im = (InstallMessage *)(iter->data);
-		if (strcmp (im->package_name, package_name) == 0) {
-			break;
-		}
-	}
-	if (iter != NULL) {
-		/* trash the old one */
-		gtk_container_remove (GTK_CONTAINER (view->details->message_box), im->hbox);
-		if (im->line != NULL) {
-			gtk_container_remove (GTK_CONTAINER (view->details->message_box), im->line);
-		} else if (iter->prev) {
-			/* remove the line from the one above, if present */
-			im2 = (InstallMessage *)(iter->prev->data);
-			gtk_container_remove (GTK_CONTAINER (view->details->message_box), im2->line);
-			im2->line = NULL;
-		}
-		view->details->message = g_list_remove (view->details->message, im);
-		install_message_destroy (im);
-	}
-
-	im = g_new0 (InstallMessage, 1);
-	im->label = eazel_services_label_new (NULL, 0, 0.0, 0.5, 0, 0,
-					      EAZEL_SERVICES_BODY_TEXT_COLOR_RGB,
-					      EAZEL_SERVICES_BACKGROUND_COLOR_RGB,
-					      NULL, -2, FALSE);
-	nautilus_label_set_justify (NAUTILUS_LABEL (im->label), GTK_JUSTIFY_LEFT);
-	gtk_widget_show (im->label);
-	im->progress_bar = gtk_progress_bar_new ();
-	gtk_progress_bar_set_bar_style (GTK_PROGRESS_BAR (im->progress_bar), GTK_PROGRESS_CONTINUOUS);
-	gtk_progress_bar_set_orientation (GTK_PROGRESS_BAR (im->progress_bar), GTK_PROGRESS_LEFT_TO_RIGHT);
-	gtk_progress_bar_update (GTK_PROGRESS_BAR (im->progress_bar), 0.0);
-	gtk_widget_set_usize (im->progress_bar, -2, PROGRESS_BAR_HEIGHT);
-	gtk_widget_show (im->progress_bar);
-
-	im->progress_label = eazel_services_label_new (NULL, 0, 0.0, 0.0, 0, 0,
-						       EAZEL_SERVICES_BODY_TEXT_COLOR_RGB,
-						       EAZEL_SERVICES_BACKGROUND_COLOR_RGB,
-						       NULL, -2, TRUE);
-	nautilus_label_set_justify (NAUTILUS_LABEL (im->progress_label), GTK_JUSTIFY_LEFT);
-
-	gtk_widget_show (im->progress_label);
-
-	bogus_label = gtk_label_new ("");
-	gtk_widget_show (bogus_label);
-
-	im->vbox = gtk_vbox_new (FALSE, 0);
-	gtk_box_pack_start (GTK_BOX (im->vbox), im->progress_bar, FALSE, FALSE, 0);
-	add_padding_to_box (im->vbox, 0, 5);
-	gtk_box_pack_start (GTK_BOX (im->vbox), im->progress_label, FALSE, FALSE, 0);
-	gtk_widget_show (im->vbox);
-
-	im->hbox = gtk_hbox_new (FALSE, 0);
-	add_padding_to_box (im->hbox, 20, 0);
-	gtk_box_pack_start (GTK_BOX (im->hbox), im->label, FALSE, FALSE, 0);
-	gtk_box_pack_start (GTK_BOX (im->hbox), bogus_label, TRUE, TRUE, 0);
-	gtk_box_pack_start (GTK_BOX (im->hbox), im->vbox, FALSE, FALSE, 0);
-	add_padding_to_box (im->hbox, 20, 0);
-	gtk_widget_show (im->hbox);
-
-#if 0
-	if (g_list_length (view->details->message) == STATUS_ROWS) {
-		gtk_widget_set_usize (view->details->pane, -2, view->details->pane->allocation.height);
-		gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (view->details->pane),
-						GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
-	}
-#endif
-
-	/* add this, and possibly a separating line, to the message box */
-	if (g_list_length (view->details->message) > 0) {
-		/* draw line */
-		im->line = horizontal_line_new (6);
-		gtk_widget_show (im->line);
-		gtk_box_pack_end (GTK_BOX (view->details->message_box), im->line, FALSE, FALSE, 0);
-	} else {
-		im->line = NULL;
-	}
-	gtk_box_pack_end (GTK_BOX (view->details->message_box), im->hbox, FALSE, FALSE, 5);
-
-	gtk_adjustment_changed (gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (view->details->pane)));
-
-	im->package_name = g_strdup (package_name);
-	view->details->message = g_list_prepend (view->details->message, im);
-
-	/* unbelievable!  gtk won't redraw correctly unless we poke it in the ass */
-	gtk_widget_queue_resize (view->details->form);
-	gtk_widget_queue_draw (view->details->form);
-
-	return im;
-}
-
-static void
-generate_install_form (NautilusServiceInstallView	*view) 
-{
-	GtkWidget	*temp_box;
-	GtkWidget	*title;
-	GtkWidget	*viewport;
-	GtkWidget	*filler;
-	NautilusBackground *background;
-
-	/* allocate the parent box to hold everything */
-	view->details->form = gtk_vbox_new (FALSE, 0);
-	gtk_container_add (GTK_CONTAINER (view), view->details->form);
-
-	/* Setup the title */
-	title = eazel_services_header_title_new (_("Easy Install"));
-        gtk_box_pack_start (GTK_BOX (view->details->form), title, FALSE, FALSE, 0);
-        gtk_widget_show (title);
-
-	/* Add package information */
-
-	add_padding_to_box (view->details->form, 0, 6);
-
-	/* Package Name */
-	temp_box = gtk_hbox_new (FALSE, 0);
-	gtk_box_pack_start (GTK_BOX (view->details->form), temp_box, FALSE, FALSE, 0);
-	gtk_widget_show (temp_box);
-	view->details->package_name = eazel_services_label_new (NULL, 0, 0.0, 0.0, 0, 0,
-								EAZEL_SERVICES_BODY_TEXT_COLOR_RGB,
-								EAZEL_SERVICES_BACKGROUND_COLOR_RGB,
-								NULL, 4, TRUE);
-	nautilus_label_set_justify (NAUTILUS_LABEL (view->details->package_name), GTK_JUSTIFY_LEFT);
-	gtk_box_pack_start (GTK_BOX (temp_box), view->details->package_name, FALSE, FALSE, 15);
-	gtk_widget_show (view->details->package_name);
-
-	/* Package Version */
-	temp_box = gtk_hbox_new (FALSE, 0);
-	gtk_box_pack_start (GTK_BOX (view->details->form), temp_box, FALSE, FALSE, 2);
-	gtk_widget_show (temp_box);
-	view->details->package_version = eazel_services_label_new (NULL, 0, 0.0, 0.0, 0, 0,
-								   EAZEL_SERVICES_BODY_TEXT_COLOR_RGB,
-								   EAZEL_SERVICES_BACKGROUND_COLOR_RGB,
-								   NULL, -2, TRUE);
-	nautilus_label_set_justify (NAUTILUS_LABEL (view->details->package_version), GTK_JUSTIFY_LEFT);
-	gtk_box_pack_start (GTK_BOX (temp_box), view->details->package_version, FALSE, FALSE, 15);
-	gtk_widget_show (view->details->package_version);
-
-	add_padding_to_box (view->details->form, 0, 4);
-
-	/* generate the overall progress bar */
-	temp_box = gtk_hbox_new (FALSE, 0);
-	gtk_box_pack_start (GTK_BOX (view->details->form), temp_box, FALSE, FALSE, 2);
-	gtk_widget_show (temp_box);
-	view->details->total_progress_bar = gtk_progress_bar_new ();
-	gtk_widget_set_usize (view->details->total_progress_bar, -2, PROGRESS_BAR_HEIGHT);
-	add_padding_to_box (temp_box, 30, 0);
-	gtk_box_pack_start (GTK_BOX (temp_box), view->details->total_progress_bar, FALSE, FALSE, 0);
-	gtk_widget_show (view->details->total_progress_bar);
-
-	/* add a label for progress messages, but don't show it until there's a message */
-	temp_box = gtk_hbox_new (FALSE, 0);
-	gtk_box_pack_start (GTK_BOX (view->details->form), temp_box, FALSE, FALSE, 2);
-	gtk_widget_show (temp_box);
-	view->details->overall_feedback_text = eazel_services_label_new (NULL, 0, 0.0, 0.0, 0, 0,
-									 EAZEL_SERVICES_BODY_TEXT_COLOR_RGB,
-									 EAZEL_SERVICES_BACKGROUND_COLOR_RGB,
-									 NULL, -2, FALSE);
-	nautilus_label_set_justify (NAUTILUS_LABEL (view->details->overall_feedback_text), GTK_JUSTIFY_LEFT);
-	nautilus_label_set_text (NAUTILUS_LABEL (view->details->overall_feedback_text), " ");
-	gtk_widget_show (view->details->overall_feedback_text);
-	add_padding_to_box (temp_box, 30, 0);
-	gtk_box_pack_start (GTK_BOX (temp_box), view->details->overall_feedback_text, TRUE, TRUE, 0);
-
-	add_padding_to_box (view->details->form, 0, 10);
-
-	/* Package Description */
-	temp_box = gtk_hbox_new (FALSE, 0);
-	gtk_box_pack_start (GTK_BOX (view->details->form), temp_box, FALSE, FALSE, 2);
-	gtk_widget_show (temp_box);
-
-	view->details->package_details = eazel_services_label_new (NULL, 0, 0.0, 0.0, 0, 0,
-								   EAZEL_SERVICES_BODY_TEXT_COLOR_RGB,
-								   EAZEL_SERVICES_BACKGROUND_COLOR_RGB,
-								   NULL, -2, FALSE);
-	nautilus_label_set_justify (NAUTILUS_LABEL (view->details->package_details), GTK_JUSTIFY_LEFT);
-	nautilus_label_set_wrap (NAUTILUS_LABEL (view->details->package_details), TRUE);
-
-	gtk_box_pack_start (GTK_BOX (temp_box), view->details->package_details, FALSE, FALSE, 15);
-	gtk_widget_show (view->details->package_details);
-
-	/* filler blob to separate the top from the bottom */
-	gtk_box_pack_start (GTK_BOX (view->details->form), gtk_label_new (""), TRUE, FALSE, 0);
-
-	/* add a table at the bottom of the screen to hold current progresses */
-	view->details->message_box = gtk_vbox_new (FALSE, 0);
-	filler = gtk_label_new ("");
-	gtk_widget_show (filler);
-	gtk_box_pack_end (GTK_BOX (view->details->message_box), filler, TRUE, TRUE, 0);
-
-	view->details->pane = gtk_scrolled_window_new (NULL, NULL);
-	gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (view->details->pane), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
-	viewport = nautilus_viewport_new (NULL, NULL);
-	gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport), GTK_SHADOW_NONE);
-	gtk_container_add (GTK_CONTAINER (view->details->pane), viewport);
-	gtk_widget_show (viewport);
-	gtk_container_add (GTK_CONTAINER (viewport), view->details->message_box);
-	gtk_widget_show (view->details->message_box);
-	background = nautilus_get_widget_background (viewport);
-	nautilus_background_set_color (background, EAZEL_SERVICES_BACKGROUND_COLOR_SPEC);
-	gtk_widget_set_usize (view->details->pane, -2, MESSAGE_BOX_HEIGHT);
-	gtk_widget_show (view->details->pane);
-	gtk_box_pack_end (GTK_BOX (view->details->form), view->details->pane, FALSE, FALSE, 2);
-
-	/* Setup the progress header */
-	/* FIXME: the middle header is all fubar now, so we just say "messages", but the spec
-	 * shows "progress" over the 2nd column of the message box.  it's just too hard to get
-	 * it aligned currently.
-	 */
-	view->details->middle_title = eazel_services_header_middle_new (_("Messages"), "");
-        gtk_box_pack_end (GTK_BOX (view->details->form), view->details->middle_title, FALSE, FALSE, 0);
-	gtk_widget_show (view->details->middle_title);
-
-	gtk_widget_show (view->details->form);
-}
-
-
-
-/* utility routine to show an error message */
-static void
-show_overall_feedback (NautilusServiceInstallView *view, char *progress_message)
-{
-	nautilus_label_set_text (NAUTILUS_LABEL (view->details->overall_feedback_text), progress_message);
-}
-
-static void
-nautilus_service_install_view_initialize_class (NautilusServiceInstallViewClass *klass)
-{
-
-	GtkObjectClass	*object_class;
-	GtkWidgetClass	*widget_class;
-	
-	object_class = GTK_OBJECT_CLASS (klass);
-	widget_class = GTK_WIDGET_CLASS (klass);
-	parent_class = gtk_type_class (gtk_event_box_get_type ());
-	object_class->destroy = nautilus_service_install_view_destroy;
-}
-
-static void
-nautilus_service_install_view_initialize (NautilusServiceInstallView *view)
-{
-
-	NautilusBackground	*background;
-
-	view->details = g_new0 (NautilusServiceInstallViewDetails, 1);
-	view->details->nautilus_view = nautilus_view_new (GTK_WIDGET (view));
-	gtk_signal_connect (GTK_OBJECT (view->details->nautilus_view), 
-			    "load_location",
-			    GTK_SIGNAL_FUNC (service_install_load_location_callback), 
-			    view);
-	gtk_signal_connect (GTK_OBJECT (view->details->nautilus_view),
-			    "stop_loading",
-			    GTK_SIGNAL_FUNC (service_install_stop_loading_callback),
-			    view);
-
-	background = nautilus_get_widget_background (GTK_WIDGET (view));
-	nautilus_background_set_color (background, EAZEL_SERVICES_BACKGROUND_COLOR_SPEC);
-
-	view->details->core_package = FALSE;
-	view->details->deps = g_hash_table_new (g_str_hash, g_str_equal);
-
-	gtk_widget_show (GTK_WIDGET (view));
-}
-
-static gboolean
-deps_destroy_foreach (char *key, char *value)
-{
-	g_free (key);
-	g_free (value);
-	return TRUE;
-}
-
-static void
-nautilus_service_install_view_destroy (GtkObject *object)
-{
-	NautilusServiceInstallView *view;
-	GNOME_Trilobite_Eazel_Install	service;
-	CORBA_Environment ev;
-
-	view = NAUTILUS_SERVICE_INSTALL_VIEW (object);
-
-	CORBA_exception_init (&ev);
-	service = eazel_install_callback_corba_objref (view->details->installer);
-	GNOME_Trilobite_Eazel_Install_stop (service, &ev);
-	CORBA_exception_free (&ev);
-
-	g_free (view->details->uri);
-	g_free (view->details->current_rpm);
-	g_free (view->details->remembered_password);
-	g_hash_table_foreach_remove (view->details->deps, (GHRFunc)deps_destroy_foreach, NULL);
-	g_hash_table_destroy (view->details->deps);
-	g_list_foreach (view->details->message, (GFunc)install_message_destroy, NULL);
-	g_list_free (view->details->message);
-	g_free (view->details->username);
-
-	if (view->details->root_client) {
-		trilobite_root_client_unref (GTK_OBJECT (view->details->root_client));
-	}
-
-	if (view->details->installer != NULL) {
-		/* this will unref the installer too, which will indirectly cause any ongoing download to abort */
-		eazel_install_callback_unref (GTK_OBJECT (view->details->installer));
-	}
-
-	g_free (view->details);
-	
-	NAUTILUS_CALL_PARENT_CLASS (GTK_OBJECT_CLASS, destroy, (object));
-}
-
-NautilusView *
-nautilus_service_install_view_get_nautilus_view (NautilusServiceInstallView *view)
-{
-	return view->details->nautilus_view;
-}
-
-
-static PackageData *
-create_package (char *name, int local_file) 
-{
-	struct utsname buf;
-	PackageData *pack;
-
-	g_assert (name);
-
-	uname (&buf);
-	pack = packagedata_new ();
-	if (local_file) {
-		pack->filename = g_strdup (name);
-	} else if (strncmp (name, "rpm_id%3D", 9) == 0) {
-		pack->eazel_id = g_strdup (name+9);
-	} else if (strncmp (name, "rpm_id=", 7) == 0) {
-		pack->eazel_id = g_strdup (name+7);
-	} else {
-		pack->name = g_strdup (name);
-	}
-	pack->archtype = g_strdup (buf.machine);
-#ifdef ASSUME_ix86_IS_i386
-	if (strlen (pack->archtype)==4 && pack->archtype[0]=='i' &&
-	    pack->archtype[1]>='3' && pack->archtype[1]<='9' &&
-	    pack->archtype[2]=='8' && pack->archtype[3]=='6') {
-		g_free (pack->archtype);
-		pack->archtype = g_strdup ("i386");
-	}
-#endif
-	pack->distribution = trilobite_get_distribution ();
-	pack->toplevel = TRUE;
-	
-	return pack;
-}
-
-/* quick & dirty: parse the url into (host, port) and a category list */
-/* format:
- * "eazel-install:" [ "//" [ username "@" ] [ "hostname" [ ":" port ] ] "/" ] 
- * 	package-name [ "?version=" version ] ( ";" package-name [ "?version=" version ] )*
- *
- * eazel-install:xfig
- * eazel-install://anonymous@/freeamp
- * eazel-install://example.com:8888/nautilus?version=1.0;xpdf;sephiroth?version=0.4
- */
-/* returns TRUE if a hostname was parsed from the uri */
-static gboolean
-nautilus_install_parse_uri (const char *uri, NautilusServiceInstallView *view,
-			    char **host, int *port, char **username)
-{
-	char *p, *q, *pnext, *package_name, *host_spec;
-	GList *packages = NULL;
-	PackageData *pack;
-	gboolean result = FALSE;
-	gboolean another_package;
-
-	view->details->categories = NULL;
-
-	p = strchr (uri, ':');
-	if (! p) {
-		/* bad mojo */
-		return result;
-	}
-	p++;
-
-	/* "//[user@]host[:port]" spec? */
-	if ((*p == '/') && (*(p+1) == '/')) {
-		p += 2;
-
-		q = strchr (p, '/');
-		if (! q) {
-			q = p + strlen(p);
-		}
-		host_spec = g_strndup (p, q - p);
-
-		/* optional "user@" */
-		p = strchr (host_spec, '@');
-		if (p) {
-			*p = 0;
-			g_free (*username);
-			*username = host_spec;
-			if (*(p+1)) {
-				g_free (*host);
-				*host = g_strdup (p+1);
-			}
-		} else {
-			g_free (*host);
-			*host = host_spec;
-			result = TRUE;
-		}
-
-		if (*host) {
-			/* optional ":port" */
-			p = strchr (*host, ':');
-			if (p) {
-				*p = 0;
-				*port = atoi (p+1);
-			}
-		}
-
-		/* push p to past the trailing '/' */
-		p = (*q) ? q+1 : q;
-	}
-
-	/* full path specified?  local file instead of server */
-	if (*p == '/') {
-		view->details->using_local_file = 1;
-	}
-
-	if (*p) {
-		do {
-			pnext = strchr (p, ';');
-			if ((pnext != NULL) && (*(pnext+1) != '\0')) {
-				another_package = TRUE;
-				*pnext++ = '\0';
-			} else {
-				another_package = FALSE;
-			}
-
-			trilobite_debug ("package '%s'", p);
-			/* version name specified? */
-			q = strchr (p, '?');
-			if (q) {
-				*q++ = 0;
-				if (strncmp (q, "version=", 8) == 0) {
-					q += 8;
-				}
-			}
-
-			package_name = gnome_vfs_unescape_string_for_display (p);
-			pack = create_package (package_name, view->details->using_local_file);
-			if (q) {
-				pack->version = g_strdup (q);
-			}
-			packages = g_list_prepend (packages, pack);
-			g_free (package_name);
-
-			if (pnext != NULL) {
-				p = pnext;
-			}
-		} while (another_package);
-	}
-
-	trilobite_debug ("host '%s:%d' username '%s'", *host ? *host : "(default)", *host ? *port : 0,
-			 *username ? *username : "(default)");
-
-	/* add to categories */
-	if (packages) {
-		CategoryData *category;
-
-		category = categorydata_new ();
-		category->packages = packages;
-		view->details->categories = g_list_prepend (view->details->categories, category);
-	}
-	return result;
-}
-
-static void
-update_package_info_display (NautilusServiceInstallView *view, const PackageData *pack, const char *format)
-{
-	char *out;
-
-	out = g_strdup_printf (format, pack->name);
-	nautilus_label_set_text (NAUTILUS_LABEL (view->details->package_name), out);
-	g_free (out);
-
-	if ((pack->description != NULL) && 
-	    (strchr (pack->description, '\n') != NULL)) {
-		nautilus_label_set_wrap (NAUTILUS_LABEL (view->details->package_details), FALSE);
-	} else {
-		nautilus_label_set_wrap (NAUTILUS_LABEL (view->details->package_details), TRUE);
-	}
-	nautilus_label_set_text (NAUTILUS_LABEL (view->details->package_details), pack->description);
-	out = g_strdup_printf (_("Version: %s"), pack->version);
-	nautilus_label_set_text (NAUTILUS_LABEL (view->details->package_version), out);
-	g_free (out);
-}
-
-/* replace the current progress bar (in the message box) with a centered label saying "Complete!" */
-static void
-current_progress_bar_complete (NautilusServiceInstallView *view, const char *text)
-{
-	/* can't figure out a decent way to do this yet... :( */
-	if (view->details->current_im != NULL) {
-		nautilus_label_set_text (NAUTILUS_LABEL (view->details->current_im->progress_label), text);
-		gtk_widget_queue_resize (view->details->message_box);
-	}
-}
-
-
-static void
-nautilus_service_install_downloading (EazelInstallCallback *cb, const PackageData *pack, int amount, int total,
-				      NautilusServiceInstallView *view)
-{
-	char *out;
-	const char *needed_by;
-	InstallMessage *im = view->details->current_im;
-	float fake_amount;
-
-	if (view->details->installer == NULL) {
-		g_warning ("Got download notice after unref!");
-		return;
-	}
-
-	/* install lib better damn well know the name of the package by the time we download it! */
-	g_assert (pack->name != NULL);
-
-	if (amount == 0) {
-		/* could be a redundant zero-trigger for the same rpm... */
-		if (view->details->current_rpm && (strcmp (view->details->current_rpm, pack->name) == 0)) {
-			return;
-		}
-
-		if (view->details->cylon_timer) {
-			gtk_timeout_remove (view->details->cylon_timer);
-			view->details->cylon_timer = 0;
-		}
-
-		g_free (view->details->current_rpm);
-		view->details->current_rpm = g_strdup (pack->name);
-
-#if 0
-		/* figure out if this is a toplevel package, and if so, update the header */
-		for (iter = g_list_first (((CategoryData *)(view->details->categories->data))->packages);
-		     iter != NULL; iter = g_list_next (iter)) {
-			PackageData *pack2 = (PackageData *)(iter->data);
-			if ((pack2->name != NULL) && (strcmp (pack2->name, pack->name) == 0)) {
-				out = g_strdup_printf (_("Downloading \"%s\""), pack->name);
-				nautilus_label_set_text (NAUTILUS_LABEL (view->details->package_name), out);
-				g_free (out);
-			}
-		}
-#endif
-
-		if (pack->toplevel) {
-			update_package_info_display (view, pack, _("Downloading \"%s\""));
-		}
-
-		/* new progress message and bar */
-		im = view->details->current_im = install_message_new (view, pack->name);
-		gtk_progress_set_percentage (GTK_PROGRESS (im->progress_bar), 0.0);
-		out = g_strdup_printf (_("0K of %dK"), total/1024);
-		nautilus_label_set_text (NAUTILUS_LABEL (im->progress_label), out);
-		g_free (out);
-		view->details->last_k = 0;
-
-		needed_by = g_hash_table_lookup (view->details->deps, pack->name);
-		if (needed_by != NULL) {
-			out = g_strdup_printf (_("The package \"%s\" needs \"%s\" to run.\nI'm now attempting to download it."),
-					       needed_by, pack->name);
-		} else {
-			out = g_strdup_printf (_("I'm attempting to download package \"%s\"."), pack->name);
-		}
-		nautilus_label_set_text (NAUTILUS_LABEL (im->label), out);
-		g_free (out);
-	} else if (amount == total) {
-		/* done! */
-		current_progress_bar_complete (view, _("Complete"));
-		gtk_progress_set_percentage (GTK_PROGRESS (im->progress_bar), 1.0);
-		needed_by = g_hash_table_lookup (view->details->deps, pack->name);
-		if (needed_by != NULL) {
-			out = g_strdup_printf (_("The package \"%s\" needs \"%s\" to run.\nI've downloaded it successfully."),
-					       needed_by, pack->name);
-		} else {
-			out = g_strdup_printf (_("I've successfully downloaded package \"%s\"."), pack->name);
-		}
-		nautilus_label_set_text (NAUTILUS_LABEL (im->label), out);
-		g_free (out);
-		g_free (view->details->current_rpm);
-		view->details->current_rpm = NULL;
-		view->details->current_im = NULL;
-		/* update downloaded bytes */
-		view->details->download_bytes_sofar += pack->bytesize;
-		/* not until we get an rpm size */
-		gtk_progress_set_percentage (GTK_PROGRESS (view->details->total_progress_bar),
-					     (float) view->details->download_bytes_sofar /
-					     (float) view->details->download_bytes_total);
-	} else {
-		/* could be a leftover event, after user hit STOP (in which case, current_im = NULL) */
-		if ((im != NULL) && (im->progress_bar != NULL)) {
-			gtk_progress_set_percentage (GTK_PROGRESS (im->progress_bar),
-						     (float) amount / (float) total);
-			if ((amount/1024) >= view->details->last_k + 10) {
-				out = g_strdup_printf (_("%dK of %dK"), amount/1024, total/1024);
-				nautilus_label_set_text (NAUTILUS_LABEL (im->progress_label), out);
-				g_free (out);
-				view->details->last_k = (amount/1024);
-			}
-		}
-
-		/* so, for PR3, we are given a "size" field in the softcat XML which is actually 
-		 * the size of the decompressed files.  so this little hocus-pocus scales the
-		 * actual size (which we know once we start downloading the file) to match the   
-		 * previously-assumed size
-		 */
-		fake_amount = (float)amount * (float)pack->bytesize / (float)total;
-		gtk_progress_set_percentage (GTK_PROGRESS (view->details->total_progress_bar),
-					     ((float) view->details->download_bytes_sofar + fake_amount) /
-					     (float) view->details->download_bytes_total);
-	}
-}
-
-/* keep this info for secret later use */
-static void
-nautilus_service_install_dependency_check (EazelInstallCallback *cb, const PackageData *package,
-					   const PackageData *needs, NautilusServiceInstallView *view)
-{
-	char *key, *value;
-
-	/* add to deps hash for later */
-	if (g_hash_table_lookup_extended (view->details->deps, needs->name, (void **)&key, (void **)&value)) {
-		g_hash_table_remove (view->details->deps, key);
-		g_free (key);
-		g_free (value);
-	}
-	g_hash_table_insert (view->details->deps, g_strdup (needs->name), g_strdup (package->name));
-
-	value = g_strdup_printf (_("Getting information about package \"%s\" ..."), package->name);
-	show_overall_feedback (view, value);
-	g_free (value);
-}
-
-static void
-nautilus_service_install_check_for_desktop_files (NautilusServiceInstallView *view,
-						  EazelInstallCallback *cb,
-						  PackageData *package)
-{
-	GList *iterator;
-
-	for (iterator = package->provides; iterator; iterator = g_list_next (iterator)) {
-		char *fname = (char*)(iterator->data);
-		char *ptr;
-
-		ptr = strrchr (fname, '.');
-		if (ptr && ((strcmp (ptr, ".desktop") == 0) ||
-			    (strcmp (ptr, ".kdelink") == 0))) {
-			view->details->desktop_files = g_list_prepend (view->details->desktop_files,
-								       g_strdup (fname));
-		}
-	}
-}
-
-/* do what gnome ought to do automatically */
-static void
-reply_callback (int reply, gboolean *answer)
-{
-	*answer = (reply == 0);
-}
-
-static void
-flatten_package_tree_foreach (PackageData *package, GList **flattened_list)
-{
-	GList *iter;
-	gboolean found = FALSE;
-	PackageData *pack;
-
-	for (iter = g_list_first (*flattened_list); iter != NULL; iter = g_list_next (iter)) {
-		pack = (PackageData *)(iter->data);
-		if ((strcmp (pack->name, package->name) == 0) &&
-		    (strcmp (pack->version, package->version) == 0)) {
-			found = TRUE;
-			break;
-		}
-	}
-
-	if (! found) {
-		/* add it to the flattened list */
-		*flattened_list = g_list_prepend (*flattened_list, package);
-	}
-
-	g_list_foreach (package->soft_depends, (GFunc)flatten_package_tree_foreach, flattened_list);
-	g_list_foreach (package->hard_depends, (GFunc)flatten_package_tree_foreach, flattened_list);
-}
-
-/* given a package tree containing possibly redundant packages, assemble a new list
- * which contains only those packages with unique <name, version>
- */
-static void
-flatten_package_tree (GList *package_list_in, GList **flattened_list)
-{
-	g_list_foreach (package_list_in, (GFunc)flatten_package_tree_foreach, flattened_list);
-}
-
-static gboolean
-nautilus_service_install_preflight_check (EazelInstallCallback *cb, const GList *packages,
-					  int total_bytes, int total_packages,
-					  NautilusServiceInstallView *view)
-{
-	GtkWidget *dialog;
-	GtkWidget *toplevel;
-	GString *message;
-	gboolean answer;
-	PackageData *package;
-	GList *package_list;
-	GList *iter;
-	char *out;
-	unsigned long total_k;
-
-	if (view->details->cancelled) {
-		/* user has already hit the cancel button */
-		view->details->cancelled_before_downloads = TRUE;
-		return FALSE;
-	}
-
-	/* assemble initial list of packages to browse */
-	package_list = NULL;
-	flatten_package_tree ((GList *)packages, &package_list);
-	package_list = g_list_reverse (package_list);
-
-	show_overall_feedback (view, _("Preparing to download packages..."));
-
-	message = g_string_new ("");
-	message = g_string_append (message, _("I'm about to download and install the following packages:\n\n"));
-
-	view->details->download_bytes_total = view->details->download_bytes_sofar = 0;
-	for (iter = g_list_first (package_list); iter != NULL; iter = g_list_next (iter)) {
-		package = (PackageData *)(iter->data);
-		out = packagedata_get_readable_name (package);
-	        g_string_sprintfa (message, " \xB7 %s\n", out);
-		g_free (out);
-		view->details->download_bytes_total += package->bytesize;
-
-		if (package->toplevel) {
-			nautilus_service_install_check_for_desktop_files (view,
-									  cb,
-									  package);
-		}
-	}
-	total_k = (view->details->download_bytes_total+512)/1024;
-	/* arbitrary dividing line */
-	if (total_k > 4096) {
-		out = g_strdup_printf (_("for a total of %ld MB."), (total_k+512)/1024);
-	} else {
-		out = g_strdup_printf (_("for a total of %ld kB."), total_k);
-	}
-	g_string_sprintfa (message, "\n%s", out);
-	g_free (out);
-
-	message = g_string_append (message, _("\nIs this okay?"));
-	toplevel = gtk_widget_get_toplevel (view->details->message_box);
-
-	if (GTK_IS_WINDOW (toplevel)) {
-		dialog = gnome_ok_cancel_dialog_parented (message->str, (GnomeReplyCallback)reply_callback,
-							  &answer, GTK_WINDOW (toplevel));
-	} else {
-		dialog = gnome_ok_cancel_dialog (message->str, (GnomeReplyCallback)reply_callback,
-						 &answer);
-	}
-	gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
-
-	gnome_dialog_run_and_close (GNOME_DIALOG (dialog));
-	g_string_free (message, TRUE);
-
-	if (!answer) {
-		g_list_free (package_list);
-		view->details->cancelled = TRUE;
-		view->details->cancelled_before_downloads = TRUE;
-		/* EVIL EVIL hack that causes the next dialog to show up instead of being hidden */
-		sleep (1);
-		while (gtk_events_pending ())
-			gtk_main_iteration ();
-		return answer;
-	}
-
-	if (g_list_length (package_list) == 1) {
-		out = g_strdup (_("Downloading 1 package"));
-	} else {
-		out = g_strdup_printf (_("Downloading %d packages"), g_list_length (package_list));
-	}
-	show_overall_feedback (view, out);
-	g_free (out);
-
-	g_list_free (package_list);
-	view->details->current_package = 0;
-	return answer;
-}
-
-
-static void
-nautilus_service_install_download_failed (EazelInstallCallback *cb, const PackageData *pack,
-					  NautilusServiceInstallView *view)
-{
-	char *out, *tmp;
-
-	/* no longer "loading" anything */
-	nautilus_view_report_load_complete (view->details->nautilus_view);
-
-	tmp = packagedata_get_readable_name (pack);
-	out = g_strdup_printf (_("Download of package \"%s\" failed!"), tmp);
-	g_free (tmp);
-	if (view->details->current_im != NULL) {
-		nautilus_label_set_text (NAUTILUS_LABEL (view->details->current_im->label), out);
-	}
-	g_free (out);
-}
-
-static void
-previous_install_finished (NautilusServiceInstallView *view)
-{
-	InstallMessage *im;
-	char *needed_by;
-	char *out;
-
-	im = view->details->current_im;
-	if (im != NULL) {
-		current_progress_bar_complete (view, _("Complete"));
-		gtk_progress_set_percentage (GTK_PROGRESS (im->progress_bar), 1.0);
-
-		needed_by = g_hash_table_lookup (view->details->deps, view->details->current_rpm);
-		if (needed_by != NULL) {
-			out = g_strdup_printf (_("The package \"%s\" needed \"%s\" to run.\nI've downloaded and installed it."),
-					       needed_by, view->details->current_rpm);
-		} else {
-			out = g_strdup_printf (_("I've downloaded and installed package \"%s\"."), view->details->current_rpm);
-		}
-		nautilus_label_set_text (NAUTILUS_LABEL (im->label), out);
-		g_free (out);
-	}
-	g_free (view->details->current_rpm);
-	view->details->current_rpm = NULL;
-	view->details->current_im = NULL;
-}
-
-static void
-nautilus_service_install_installing (EazelInstallCallback *cb, const PackageData *pack,
-				     int current_package, int total_packages,
-				     int package_progress, int package_total,
-				     int total_progress, int total_total,
-				     NautilusServiceInstallView *view)
-{
-	InstallMessage *im;
-	gfloat overall_complete, complete;
-	char *out;
-	char *needed_by;
-
-	im = view->details->current_im;
-	if (current_package != view->details->current_package) {
-		/* no longer "loading" anything */
-		nautilus_view_report_load_complete (view->details->nautilus_view);
-
-		/* starting a new package -- create new progress indicator */
-		out = g_strdup_printf (_("Installing package %d of %d"), current_package, total_packages);
-		show_overall_feedback (view, out);
-		g_free (out);
-
-		/* new behavior: sometimes the previous package wasn't quite closed out -- do it now */
-		if (im != NULL) {
-			previous_install_finished (view);
-		}
-
-		/* if you're looking for the place where we notice that one of nautilus's core
-		 * packages is being upgraded, this is it.  this is an evil, evil way to do it,
-		 * but nobody's come up with anything better yet.
-		 */
-		if (pack->name) {		
-			if ((g_strncasecmp (pack->name, "nautilus", 8) == 0) ||
-			    (g_strncasecmp (pack->name, "gnome-vfs", 9) == 0) ||
-			    (g_strncasecmp (pack->name, "oaf", 3) == 0)) {
-				view->details->core_package = TRUE;
-			} 
-		}
-
-		g_free (view->details->current_rpm);
-		view->details->current_rpm = g_strdup (pack->name);
-		view->details->current_im = im = install_message_new (view, pack->name);
-		gtk_progress_set_percentage (GTK_PROGRESS (im->progress_bar), 0.0);
-		needed_by = g_hash_table_lookup (view->details->deps, pack->name);
-		if (needed_by != NULL) {
-			out = g_strdup_printf (_("The package \"%s\" needs \"%s\" to run.\nI'm now installing it."),
-					       needed_by, pack->name);
-		} else {
-			out = g_strdup_printf (_("I'm installing package \"%s\"."), pack->name);
-		}
-		nautilus_label_set_text (NAUTILUS_LABEL (im->label), out);
-		g_free (out);
-
-		view->details->current_package = current_package;
-
-		if (pack->toplevel) {
-			update_package_info_display (view, pack, _("Installing \"%s\""));
-		}
-	}
-
-	complete = (gfloat) package_progress / package_total;
-	overall_complete = (gfloat) total_progress / total_total;
-	gtk_progress_set_percentage (GTK_PROGRESS (im->progress_bar), complete);
-	gtk_progress_set_percentage (GTK_PROGRESS (view->details->total_progress_bar), overall_complete);
-	out = g_strdup_printf (_("%d%%"), (int)(complete*100.0));
-	nautilus_label_set_text (NAUTILUS_LABEL (im->progress_label), out);
-	g_free (out);
-
-	if ((package_progress == package_total) && (package_total > 0)) {
-		/* done with another package! */
-		previous_install_finished (view);
-	}
-}
-
-/* Get a description of the application pointed to by a given dentry and path fragment */
-static char*
-nautilus_install_service_describe_menu_entry (GnomeDesktopEntry *dentry,
-                                              const char        *path_prefix,
-                                              const char        *path_fragment)
-{
-	char *slash;
-	char *addition = NULL, *addition_tmp;
-	char *fragment_tmp;
-
-	char **pieces;
-	char *so_far;
-	int i;
-	char *dir, *file, *menu;
-	GnomeDesktopEntry *dir_dentry;
-
-	fragment_tmp = g_strdup (path_fragment);
-	slash = strrchr (fragment_tmp, G_DIR_SEPARATOR);
-	if (slash != NULL) {
-		*slash = '\0';
-	}
-	pieces = g_strsplit (fragment_tmp, "/", 128); /* FIXME "/" -> G_DIR_SEPARATOR */
-	g_free (fragment_tmp);
-	so_far = g_strdup (path_prefix);
-
-	for (i=0; pieces[i] != NULL; i++) {
-
-		dir = g_strconcat (so_far, pieces[i], "/", NULL);
-		file = g_strconcat (dir, ".directory", NULL);
-
-		g_free (so_far);
-		so_far = dir;
-
-		dir_dentry = gnome_desktop_entry_load (file);
-		g_free (file);
-
-		menu = NULL;
-		if (dir_dentry != NULL) {
-			menu = dir_dentry->name;
-		} else {
-			menu = pieces[i];
-		}
-
-		if (addition == NULL) {
-			addition = g_strdup_printf 
-					(_(" \xB7 %s is in the Gnome menu under %s"),
-					dentry->name, menu);
-		} else {
-			addition_tmp = g_strconcat (addition, " / ", dir_dentry->name, NULL);
-			g_free (addition);
-			addition = addition_tmp;
-		}
-
-		/* menu doesn't need to be freed, because it points into another structure */
-
-		if (dir_dentry != NULL) {
-			gnome_desktop_entry_free (dir_dentry);
-		}
-	}	
-	g_free (so_far);
-	g_strfreev (pieces);
-
-	if (addition == NULL) {
-		addition = g_strdup_printf (_(" \xB7 %s is in the Gnome menu.\n"), dentry->name);
-	} else {
-		addition_tmp = g_strconcat (addition, ".\n", NULL);
-		g_free (addition);
-		addition = addition_tmp;
-	}
-
-	return addition;
-	
-}
-
-/* Get the toplevel menu name for the desktop file installed */
-static char*
-nautilus_install_service_locate_menu_entries (NautilusServiceInstallView *view) 
-{
-	GList *iterator;
-	char *result;
-	
-	result = g_strdup ("");
-
-	for (iterator = view->details->desktop_files; iterator; iterator = g_list_next (iterator)) {
-		char *fname = (char*)(iterator->data);
-		char *addition = NULL;
-		char *tmp;
-		GnomeDesktopEntry *dentry = gnome_desktop_entry_load (fname);
-
-		if (dentry->is_kde) {
-			addition = g_strdup_printf (_(" \xB7 %s is in the KDE menu.\n"), dentry->name);
-		} else {
-			/* match desktop files against a set of paths that the panel is known to
-			 * put in the menu. */
-			char *desktop_prefixes[] = {
-				"/gnome/apps/",
-				"/applnk/"
-			};
-			int num_prefixes = 2;
-			int i;
-
-			for (i=0; i<num_prefixes; i++) {
-				char *gnomeapp = desktop_prefixes[i];
-				char *apps_ptr = strstr (fname, gnomeapp);
-				if (apps_ptr) {
-					char *full_prefix = g_strndup (fname, (apps_ptr)-fname + 
-							strlen (gnomeapp));
-					addition = nautilus_install_service_describe_menu_entry
-							(dentry, full_prefix, apps_ptr+strlen (gnomeapp));
-					g_free (full_prefix);
-					if (addition != NULL) {
-						break;
-					}
-				}
-			}
-		}
-		if (addition) {
-			tmp = g_strdup_printf ("%s%s", result, addition);
-			g_free (result);
-			result = tmp;
-			g_free (addition);
-		}
-		gnome_desktop_entry_free (dentry);
-	}
-	return result;
-}
-
-/* most likely OBSOLETE */
-static gboolean
-nautilus_service_install_solve_cases (NautilusServiceInstallView *view)
-{
-	gboolean answer = FALSE;
-	GtkWidget *toplevel;
-	GString *messages;
-	GList *strings;
-	GtkWidget *dialog;
-
-	messages = g_string_new ("");
-
-	if (view->details->problem_cases) {
-		GList *iterator;
-		/* Create string versions to show the user */
-		g_string_sprintfa (messages, "%s\n%s\n\n", 
-				   _("I ran into problems while installing."), 
-				   _("I'd like to try the following :"));
-		strings = eazel_install_problem_cases_to_string (view->details->problem,
-								 view->details->problem_cases);
-		for (iterator = strings; iterator; iterator = g_list_next (iterator)) {
-			g_string_sprintfa (messages, " \xB7 %s\n", (char*)(iterator->data));
-		}
-		g_list_foreach (strings, (GFunc)g_free, NULL);
-		g_list_free (strings);
-		g_string_sprintfa (messages, "\n%s",  
-				   _("Is this ok ?"));
-		
-		toplevel = gtk_widget_get_toplevel (view->details->message_box);
-		if (GTK_IS_WINDOW (toplevel)) {
-			dialog = gnome_question_dialog_parented (messages->str, (GnomeReplyCallback)reply_callback,
-								 &answer, GTK_WINDOW (toplevel));
-		} else {
-			dialog = gnome_question_dialog (messages->str, (GnomeReplyCallback)reply_callback, &answer);
-		}
-		gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
-		gnome_dialog_run_and_close (GNOME_DIALOG (dialog));
-		g_string_free (messages, TRUE);
-	}
-
-	return answer;
-}
-
-static void
-nautilus_service_install_done (EazelInstallCallback *cb, gboolean success, NautilusServiceInstallView *view)
-{
-	CORBA_Environment ev;
-	GtkWidget *toplevel;
-	GtkWidget *dialog;
-	char *message;
-	char *real_message;
-	gboolean answer = FALSE;
-	gboolean question_dialog;
-
-	g_assert (NAUTILUS_IS_SERVICE_INSTALL_VIEW (view));
-
-	/* no longer "loading" anything */
-	nautilus_view_report_load_complete (view->details->nautilus_view);
-
-	if (view->details->failure) {
-		success = FALSE;
-		view->details->failure = FALSE;
-		/* we have already indicated failure elsewhere.  good day to you, sir. */
-	}
-
-	gtk_progress_set_percentage (GTK_PROGRESS (view->details->total_progress_bar), success ? 1.0 : 0.0);
-	g_free (view->details->current_rpm);
-	view->details->current_rpm = NULL;
-
-	if (view->details->cancelled) {
-		message = _("Installation aborted.");
-	} else if (view->details->already_installed) {
-		message = _("This package has already been installed.");
-	} else if (success) {
-		message = _("Installation complete!");
-	} else {
-		message = _("Installation failed!");
-		answer = nautilus_service_install_solve_cases (view);
-	}
-
-	show_overall_feedback (view, message);
-
-	if (answer) {
-		eazel_install_problem_handle_cases (view->details->problem, 
-						    view->details->installer, 
-						    &(view->details->problem_cases), 
-						    &(view->details->categories),
-						    NULL,
-						    NULL);
-	} else {
-		question_dialog = TRUE;
-
-		if (success && view->details->desktop_files &&
-				!view->details->cancelled &&
-				!view->details->already_installed) {
-			real_message = g_strdup_printf (_("%s\n%s\nErase the leftover RPM files?"), 
-							message,
-							nautilus_install_service_locate_menu_entries (view));
-		} else if (view->details->cancelled_before_downloads || view->details->already_installed) {
-			real_message = g_strdup (message);
-			question_dialog = FALSE;
-		} else {
-			if (view->details->cancelled || view->details->failure) {
-				real_message = g_strdup_printf (_("%s\nErase the RPM files?"), message);
-			} else {
-				real_message = g_strdup_printf (_("%s\nErase the leftover RPM files?"), message);
-			}
-		}
-		toplevel = gtk_widget_get_toplevel (view->details->message_box);
-		if (GTK_IS_WINDOW (toplevel)) {
-			if (question_dialog) {
-				dialog = gnome_question_dialog_parented (real_message, (GnomeReplyCallback)reply_callback,
-									 &answer, GTK_WINDOW (toplevel));
-			} else {
-				dialog = gnome_ok_dialog_parented (real_message, GTK_WINDOW (toplevel));
-				answer = FALSE;
-			}
-		} else {
-			if (question_dialog) {
-				dialog = gnome_question_dialog (real_message, (GnomeReplyCallback)reply_callback, &answer);
-			} else {
-				dialog = gnome_ok_dialog (real_message);
-				answer = FALSE;
-			}
-		}
-		gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
-		gnome_dialog_run_and_close (GNOME_DIALOG (dialog));
-		g_free (real_message);
-
-		if (answer) {
-			CORBA_exception_init (&ev);
-			eazel_install_callback_delete_files (cb, &ev);
-			CORBA_exception_free (&ev);
-		}
-		
-		if (success && view->details->core_package) {
-			message = _("A core package of Nautilus has been\n"
-				    "updated.  You should restart Nautilus.\n\n"
-				    "Do you wish to do that now?");
-			if (GTK_IS_WINDOW (toplevel)) {
-				dialog = gnome_question_dialog_parented (message,
-									 (GnomeReplyCallback)reply_callback,
-									 &answer, GTK_WINDOW (toplevel));
-			} else {
-				dialog = gnome_question_dialog (message, (GnomeReplyCallback)reply_callback,
-								&answer);
-			}
-			gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
-			gnome_dialog_run_and_close (GNOME_DIALOG (dialog));
-			
-			if (answer) {
-				if (execlp ("nautilus", "nautilus", "--restart", NULL) < 0) {
-					g_message ("Exec error %s", strerror (errno));
-				}
-			}
-		}
-
-		/* send them to the predetermined "next" url
-		 * -- but only if they haven't set jump-after-install off
-		 */
-		if (view->details->username!=NULL && strcasecmp (view->details->username, "anonymous") ==0) {
-			/* send anonymous users elsewhere, so they won't have to login */
-			message = g_strdup (NEXT_URL_ANONYMOUS);
-		} else {
-			message = g_strdup (NEXT_URL);
-		}
-		if (eazel_install_configure_check_jump_after_install (&message)) {
-			nautilus_view_open_location_in_this_window (view->details->nautilus_view, message);
-		}
-		g_free (message);
-	}
-}
-
-static void
-nautilus_service_install_failed (EazelInstallCallback *cb, const PackageData *package, NautilusServiceInstallView *view)
-{
-	char *tmp, *message;
-
-	g_assert (NAUTILUS_IS_SERVICE_INSTALL_VIEW (view));
-
-	/* override the "success" result for install_done signal */
-	view->details->failure = TRUE;
-
-	if (package->status == PACKAGE_ALREADY_INSTALLED) {
-		view->details->already_installed = TRUE;
-		return;
-	}
-
-	tmp = packagedata_get_readable_name (package);
-	message = g_strdup_printf (_("Installation failed on %s"), tmp);
-	show_overall_feedback (view, message);
-	g_free (tmp);
-	g_free (message);
-
-	/* Get the new set of problem cases */
-	eazel_install_problem_tree_to_case (view->details->problem,
-					    package,
-					    FALSE,
-					    &(view->details->problem_cases));
-
-}
-
-/* signal callback -- ask the user for the root password (for installs) */
-static char *
-nautilus_service_need_password (GtkObject *object, const char *prompt, NautilusServiceInstallView *view)
-{
-	char *message = NULL;
-	GtkWidget *dialog;
-	gboolean okay;
-	char *out;
-
-	if (view->details->remembered_password) {
-		return g_strdup (view->details->remembered_password);
-	}
-
-	if (view->details->password_attempts > 0) {
-		message = _("Incorrect password.");
-	}
-
-	dialog = nautilus_password_dialog_new ("Authenticate Me", message, prompt, "", TRUE);
-	okay = nautilus_password_dialog_run_and_block (NAUTILUS_PASSWORD_DIALOG (dialog));
-
-	if (! okay) {
-		/* cancel */
-		view->details->password_attempts = 0;
-		out = g_strdup ("");
-	} else {
-		out = nautilus_password_dialog_get_password (NAUTILUS_PASSWORD_DIALOG (dialog));
-		if (nautilus_password_dialog_get_remember (NAUTILUS_PASSWORD_DIALOG (dialog))) {
-			view->details->remembered_password = g_strdup (out);
-		}
-	}
-
-	gtk_widget_destroy (dialog);
-/*	gtk_main_iteration (); */
-
-	if (okay) {
-		view->details->password_attempts++;
-	}
-
-	return out;
-}
-
-/* bad password -- let em try again? */
-static gboolean
-nautilus_service_try_again (GtkObject *object, NautilusServiceInstallView *view)
-{
-	if (view->details->password_attempts == 0) {
-		/* user hit "cancel" */
-		return FALSE;
-	}
-
-	/* a wrong password shouldn't be remembered :) */
-	g_free (view->details->remembered_password);
-	view->details->remembered_password = NULL;
-
-	if (view->details->password_attempts >= 3) {
-		/* give up. */
-		view->details->password_attempts = 0;
-		return FALSE;
-	}
-	return TRUE;
-}
-
-static TrilobiteRootClient *
-set_root_client (BonoboObjectClient *service, NautilusServiceInstallView *view)
-{
-	TrilobiteRootClient *root_client = NULL;
-	CORBA_Environment ev;
-
-	CORBA_exception_init (&ev);
-
-	if (bonobo_object_client_has_interface (service, "IDL:Trilobite/PasswordQuery:1.0", &ev)) {
-		root_client = trilobite_root_client_new ();
-		if (! trilobite_root_client_attach (root_client, service)) {
-			g_warning ("unable to attach root client to Trilobite/PasswordQuery!");
-		}
-
-		gtk_signal_connect (GTK_OBJECT (root_client), "need_password",
-				    GTK_SIGNAL_FUNC (nautilus_service_need_password),
-				    view);
-		gtk_signal_connect (GTK_OBJECT (root_client), "try_again",
-				    GTK_SIGNAL_FUNC (nautilus_service_try_again),
-				    view);
-	} else {
-		g_warning ("Object does not support IDL:Trilobite/PasswordQuery:1.0");
-	}
-
-	CORBA_exception_free (&ev);
-	return root_client;
-}
-
-
-static void
-nautilus_service_install_view_update_from_uri (NautilusServiceInstallView *view, const char *uri)
-{
-	PackageData		*pack;
-	CategoryData		*category_data;
-	char			*host;
-	int			port;
-	GNOME_Trilobite_Eazel_Install	service;
-	CORBA_Environment	ev;
-	char 			*out, *p;
-	gboolean                set_auth;
-
-	/* get default host/port */
-	host = g_strdup (trilobite_get_services_address ());
-	if ((p = strchr (host, ':')) != NULL) {
-		*p = 0;
-		port = atoi (p+1);
-	} else {
-		port = 80;
-	}
-	view->details->username = g_strdup ("anonymous");
-	set_auth = !(nautilus_install_parse_uri (uri, view, &host, &port, &view->details->username));
-
-	if (! view->details->categories) {
-		return;
-	}
-
-	/* NOTE: This adds a libeazelinstall packagedata object to the view */
-	pack = (PackageData*) gtk_object_get_data (GTK_OBJECT (view), "packagedata");
-	if (pack != NULL) {
-		/* Destroy the old */
-		packagedata_destroy (pack, TRUE);
-	}
-
-	/* find the package data for the package we're about to install */
-	category_data = (CategoryData *) view->details->categories->data;
-	pack = (PackageData *) category_data->packages->data;
-
-	gtk_object_set_data (GTK_OBJECT (view), "packagedata", pack);
-
-	if (pack->eazel_id != NULL) {
-		out = g_strdup_printf (_("Downloading remote package"));
-	} else if (pack->name != NULL) {
-		out = g_strdup_printf (_("Downloading \"%s\""), pack->name);
-	} else {
-		out = g_strdup_printf (_("Downloading some package"));
-	}
-	nautilus_label_set_text (NAUTILUS_LABEL (view->details->package_name), out);
-	g_free (out);
-
-	CORBA_exception_init (&ev);
-	if (view->details->installer) {
-		eazel_install_callback_unref (GTK_OBJECT (view->details->installer));
-	}
-	view->details->installer = eazel_install_callback_new ();
-	if (view->details->installer == NULL) {
-		GtkWidget *toplevel, *dialog;
-		char *message;
-
-		nautilus_view_report_load_complete (view->details->nautilus_view);
-		gtk_widget_hide (view->details->form);
-
-		message = g_strdup (_("The Eazel install service is missing:\nInstalls will not work."));
-		toplevel = gtk_widget_get_toplevel (view->details->message_box);
-		if (GTK_IS_WINDOW (toplevel)) {
-			dialog = gnome_error_dialog_parented (message, GTK_WINDOW (toplevel));
-		} else {
-			dialog = gnome_error_dialog (message);
-		}
-		gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
-		gnome_dialog_run_and_close (GNOME_DIALOG (dialog));
-		return;
-	}
-
-	view->details->problem = eazel_install_problem_new ();
-	view->details->root_client = set_root_client (eazel_install_callback_bonobo (view->details->installer), view);
-	service = eazel_install_callback_corba_objref (view->details->installer);
-	GNOME_Trilobite_Eazel_Install__set_protocol (service, GNOME_Trilobite_Eazel_PROTOCOL_HTTP, &ev);
-	GNOME_Trilobite_Eazel_Install__set_server (service, host, &ev);
-	GNOME_Trilobite_Eazel_Install__set_server_port (service, port, &ev);
-	GNOME_Trilobite_Eazel_Install__set_auth (service, set_auth, &ev);
-
-	if (view->details->username != NULL) {
-		GNOME_Trilobite_Eazel_Install__set_username (service, view->details->username, &ev);
-	}
-	GNOME_Trilobite_Eazel_Install__set_test_mode (service, FALSE, &ev);
-
-	gtk_signal_connect (GTK_OBJECT (view->details->installer), "download_progress",
-			    GTK_SIGNAL_FUNC (nautilus_service_install_downloading), view);
-	gtk_signal_connect (GTK_OBJECT (view->details->installer), "download_failed",
-			    nautilus_service_install_download_failed, view);
-	gtk_signal_connect (GTK_OBJECT (view->details->installer), "dependency_check",
-			    nautilus_service_install_dependency_check, view);
-	gtk_signal_connect (GTK_OBJECT (view->details->installer), "preflight_check",
-			    GTK_SIGNAL_FUNC (nautilus_service_install_preflight_check), view);
-	gtk_signal_connect (GTK_OBJECT (view->details->installer), "install_progress",
-			    nautilus_service_install_installing, view);
-	gtk_signal_connect (GTK_OBJECT (view->details->installer), "install_failed",
-			    nautilus_service_install_failed, view);
-	gtk_signal_connect (GTK_OBJECT (view->details->installer), "done",
-			    nautilus_service_install_done, view);
-	eazel_install_callback_install_packages (view->details->installer, 
-						 view->details->categories, 
-						 NULL, &ev);
-
-	CORBA_exception_free (&ev);
-
-	show_overall_feedback (view, _("Contacting the software catalog ..."));
-	/* let the throbber spin... */
-}
-
-void
-nautilus_service_install_view_load_uri (NautilusServiceInstallView	*view,
-			     	        const char			*uri)
-{
-
-	/* dispose of any old uri and copy in the new one */	
-	g_free (view->details->uri);
-	view->details->uri = g_strdup (uri);
-
-	/* dispose of any old form that was installed */
-	if (view->details->form != NULL) {
-		gtk_widget_destroy (view->details->form);
-		view->details->form = NULL;
-	}
-	if (view->details->message) {
-		g_list_foreach (view->details->message, (GFunc)install_message_destroy, NULL);
-		g_list_free (view->details->message);
-		view->details->message = NULL;
-	}
-	if (view->details->desktop_files) {
-		g_list_foreach (view->details->desktop_files, (GFunc)g_free, NULL);
-		g_list_free (view->details->desktop_files);
-		view->details->desktop_files = NULL;
-	}
-
-	/* clear some variables */
-	view->details->already_installed = FALSE;
-	view->details->cancelled = FALSE;
-	view->details->failure = FALSE;
-
-	generate_install_form (view);
-
-	nautilus_view_report_load_underway (NAUTILUS_VIEW (view->details->nautilus_view));
-	nautilus_service_install_view_update_from_uri (view, uri);
-}
-
-static void
-service_install_load_location_callback (NautilusView			*nautilus_view, 
-			  	        const char			*location,
-			       		NautilusServiceInstallView	*view)
-{
-
-	g_assert (nautilus_view == view->details->nautilus_view);
-	
-	nautilus_view_report_load_underway (nautilus_view);
-	
-	nautilus_service_install_view_load_uri (view, location);
-}
-
-static void
-service_install_stop_loading_callback (NautilusView *nautilus_view, NautilusServiceInstallView *view)
-{
-	GNOME_Trilobite_Eazel_Install	service;
-	CORBA_Environment ev;
-
-	view->details->cancelled = TRUE;
-	show_overall_feedback (view, _("Aborting package downloads..."));
-	while (gtk_events_pending ()) {
-		gtk_main_iteration ();
-	}
-	/* have to set these up here, because if they hit STOP before any downloads have started, the
-	 * call to _stop below will freeze until we get the preflight signal later.
-	 */
-
-	g_assert (nautilus_view == view->details->nautilus_view);
-
-	CORBA_exception_init (&ev);
-	service = eazel_install_callback_corba_objref (view->details->installer);
-	GNOME_Trilobite_Eazel_Install_stop (service, &ev);
-	CORBA_exception_free (&ev);
-
-	show_overall_feedback (view, _("Package download aborted."));
-	current_progress_bar_complete (view, _("Aborted"));
-}
Index: /unk/third/nautilus/components/services/install/nautilus-view/Makefile.in
===================================================================
--- /trunk/third/nautilus/components/services/install/nautilus-view/Makefile.in (revision 15547)
+++  (revision )
@@ -1,451 +1,0 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ../../../..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_alias = @host_alias@
-host_triplet = @host@
-AMMONITE_CFLAGS = @AMMONITE_CFLAGS@
-AMMONITE_LIBS = @AMMONITE_LIBS@
-APPLETS_CFLAGS = @APPLETS_CFLAGS@
-APPLETS_LIBS = @APPLETS_LIBS@
-AS = @AS@
-BONOBOX_CFLAGS = @BONOBOX_CFLAGS@
-BONOBOX_LIBS = @BONOBOX_LIBS@
-BONOBO_CFLAGS = @BONOBO_CFLAGS@
-BONOBO_LIBS = @BONOBO_LIBS@
-BONOBO_PRINT_CFLAGS = @BONOBO_PRINT_CFLAGS@
-BONOBO_PRINT_LIBS = @BONOBO_PRINT_LIBS@
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
-CC = @CC@
-CPP = @CPP@
-CXX = @CXX@
-DATADIRNAME = @DATADIRNAME@
-DLLTOOL = @DLLTOOL@
-EAZEL_SERVICES = @EAZEL_SERVICES@
-ENABLE_PROFILER = @ENABLE_PROFILER@
-ESD_CFLAGS = @ESD_CFLAGS@
-ESD_CONFIG = @ESD_CONFIG@
-ESD_LIBS = @ESD_LIBS@
-FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
-FREETYPE2_LIBS = @FREETYPE2_LIBS@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_CONFIG = @GCONF_CONFIG@
-GCONF_LIBS = @GCONF_LIBS@
-GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@
-GDK_PIXBUF_CONFIG = @GDK_PIXBUF_CONFIG@
-GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@
-GENCAT = @GENCAT@
-GHTTP_CFLAGS = @GHTTP_CFLAGS@
-GHTTP_LIBS = @GHTTP_LIBS@
-GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_CONFIG = @GLIB_CONFIG@
-GLIB_LIBS = @GLIB_LIBS@
-GMOFILES = @GMOFILES@
-GMSGFMT = @GMSGFMT@
-GNOMECANVASPIXBUF_INCLUDEDIR = @GNOMECANVASPIXBUF_INCLUDEDIR@
-GNOMECANVASPIXBUF_LIBS = @GNOMECANVASPIXBUF_LIBS@
-GNOMEUI_CFLAGS = @GNOMEUI_CFLAGS@
-GNOMEUI_LIBS = @GNOMEUI_LIBS@
-GNOME_CFLAGS = @GNOME_CFLAGS@
-GNOME_CONFIG = @GNOME_CONFIG@
-GNOME_LIBS = @GNOME_LIBS@
-GNORBA_CFLAGS = @GNORBA_CFLAGS@
-GNORBA_LIBS = @GNORBA_LIBS@
-GTK_CFLAGS = @GTK_CFLAGS@
-GTK_CONFIG = @GTK_CONFIG@
-GTK_LIBS = @GTK_LIBS@
-GT_NO = @GT_NO@
-GT_YES = @GT_YES@
-HAVE_APPLETS = @HAVE_APPLETS@
-IDL_CFLAGS = @IDL_CFLAGS@
-INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
-INSTOBJEXT = @INSTOBJEXT@
-INTLDEPS = @INTLDEPS@
-INTLLIBS = @INTLLIBS@
-INTLOBJS = @INTLOBJS@
-LIBPNG = @LIBPNG@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MEDUSA_CFLAGS = @MEDUSA_CFLAGS@
-MEDUSA_LIBS = @MEDUSA_LIBS@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-MOZILLA_COMPONENT_CFLAGS = @MOZILLA_COMPONENT_CFLAGS@
-MOZILLA_COMPONENT_DEBUG_FLAGS = @MOZILLA_COMPONENT_DEBUG_FLAGS@
-MOZILLA_COMPONENT_LDFLAGS = @MOZILLA_COMPONENT_LDFLAGS@
-MOZILLA_COMPONENT_LIBS = @MOZILLA_COMPONENT_LIBS@
-MOZILLA_COMPONENT_RPATH_FLAGS = @MOZILLA_COMPONENT_RPATH_FLAGS@
-MOZILLA_MILESTONE = @MOZILLA_MILESTONE@
-OAF_CFLAGS = @OAF_CFLAGS@
-OAF_CONFIG = @OAF_CONFIG@
-OAF_LIBS = @OAF_LIBS@
-OBJDUMP = @OBJDUMP@
-ORBIT_CFLAGS = @ORBIT_CFLAGS@
-ORBIT_CONFIG = @ORBIT_CONFIG@
-ORBIT_IDL = @ORBIT_IDL@
-ORBIT_LIBS = @ORBIT_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGESYSTEM = @PACKAGESYSTEM@
-PAM_LIBS = @PAM_LIBS@
-POFILES = @POFILES@
-POSUB = @POSUB@
-RANLIB = @RANLIB@
-RPM_LIBS = @RPM_LIBS@
-RPM_VERSION = @RPM_VERSION@
-USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-VFS_CFLAGS = @VFS_CFLAGS@
-VFS_LIBS = @VFS_LIBS@
-XML_CFLAGS = @XML_CFLAGS@
-XML_CONFIG = @XML_CONFIG@
-XML_I18N_EXTRACT = @XML_I18N_EXTRACT@
-XML_I18N_MERGE = @XML_I18N_MERGE@
-XML_I18N_UPDATE = @XML_I18N_UPDATE@
-XML_LIBS = @XML_LIBS@
-ZVT_LIBS = @ZVT_LIBS@
-Z_LIBS = @Z_LIBS@
-gnomelocaledir = @gnomelocaledir@
-l = @l@
-
-NULL = 
-
-INCLUDES =  	-DPREFIX=\"$(prefix)\"					-DG_LOG_DOMAIN=\"Nautilus-service-install\"		-I$(top_srcdir)						-I$(top_srcdir)/components/services/install/lib		-I$(top_srcdir)/components/services/trilobite		-I$(top_srcdir)/components/services/trilobite/libtrilobite 	-I$(top_builddir)/components/services/install/lib 	-I$(top_builddir)/components/services/trilobite		-I$(top_builddir)/components/services/trilobite/libtrilobite 	-I$(top_srcdir)/components/services/nautilus-dependent-shared		-I$(top_builddir)/components/services/install/lib 	-I$(top_builddir)					-I/usr/include/rpm					$(GCONF_CFLAGS)						-DGNOMELOCALEDIR=\""$(datadir)/locale"\"		$(GNOMEUI_CFLAGS)					$(VFS_CFLAGS)						$(NULL)
-
-
-bin_PROGRAMS = nautilus-service-install-view
-
-noinst_HEADERS =  	nautilus-service-install.c				nautilus-service-install.h				nautilus-service-install-view.h				$(NULL)
-
-
-nautilus_service_install_view_SOURCES =  	nautilus-service-install-view.c				main.c							$(NULL)
-
-
-nautilus_service_install_view_LDADD =  	$(top_builddir)/libnautilus/libnautilus.la		$(top_builddir)/libnautilus-extensions/libnautilus-extensions.la 	$(top_builddir)/components/services/install/lib/libeazelinstall.la 	$(top_builddir)/components/services/install/lib/libeazelpackagesystem.la 	$(top_builddir)/components/services/trilobite/libtrilobite/libtrilobite.la 	$(top_builddir)/components/services/nautilus-dependent-shared/libnautilusdepshared.a 	$(BONOBO_LIBS)						$(GCONF_LIBS)						$(GNOMEUI_LIBS)						$(OAF_LIBS)						$(VFS_LIBS)						$(RPM_LIBS)						$(NULL)
-
-
-oafdir = $(datadir)/oaf
-oaf_in_files =  	Nautilus_View_install.oaf.in			$(NULL)
-
-oaf_DATA = $(oaf_in_files:.oaf.in=.oaf)
-
-EXTRA_DIST = $(oaf_in_files) $(oaf_DATA)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../../../../config.h
-CONFIG_CLEAN_FILES = 
-PROGRAMS =  $(bin_PROGRAMS)
-
-
-DEFS = @DEFS@ -I. -I$(srcdir) -I../../../..
-CPPFLAGS = @CPPFLAGS@
-LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
-nautilus_service_install_view_OBJECTS =  nautilus-service-install-view.o \
-main.o
-nautilus_service_install_view_DEPENDENCIES =  \
-$(top_builddir)/libnautilus/libnautilus.la \
-$(top_builddir)/libnautilus-extensions/libnautilus-extensions.la \
-$(top_builddir)/components/services/install/lib/libeazelinstall.la \
-$(top_builddir)/components/services/install/lib/libeazelpackagesystem.la \
-$(top_builddir)/components/services/trilobite/libtrilobite/libtrilobite.la \
-$(top_builddir)/components/services/nautilus-dependent-shared/libnautilusdepshared.a
-nautilus_service_install_view_LDFLAGS = 
-CFLAGS = @CFLAGS@
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
-DATA =  $(oaf_DATA)
-
-HEADERS =  $(noinst_HEADERS)
-
-DIST_COMMON =  Makefile.am Makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = gtar
-GZIP_ENV = --best
-SOURCES = $(nautilus_service_install_view_SOURCES)
-OBJECTS = $(nautilus_service_install_view_OBJECTS)
-
-all: all-redirect
-.SUFFIXES:
-.SUFFIXES: .S .c .lo .o .s
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps components/services/install/nautilus-view/Makefile
-
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) \
-	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-
-mostlyclean-binPROGRAMS:
-
-clean-binPROGRAMS:
-	-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
-
-distclean-binPROGRAMS:
-
-maintainer-clean-binPROGRAMS:
-
-install-binPROGRAMS: $(bin_PROGRAMS)
-	@$(NORMAL_INSTALL)
-	$(mkinstalldirs) $(DESTDIR)$(bindir)
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  if test -f $$p; then \
-	    echo " $(LIBTOOL)  --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
-	    $(LIBTOOL)  --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
-	  else :; fi; \
-	done
-
-uninstall-binPROGRAMS:
-	@$(NORMAL_UNINSTALL)
-	list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
-	done
-
-.c.o:
-	$(COMPILE) -c $<
-
-.s.o:
-	$(COMPILE) -c $<
-
-.S.o:
-	$(COMPILE) -c $<
-
-mostlyclean-compile:
-	-rm -f *.o core *.core
-
-clean-compile:
-
-distclean-compile:
-	-rm -f *.tab.c
-
-maintainer-clean-compile:
-
-.c.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.s.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.S.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-
-distclean-libtool:
-
-maintainer-clean-libtool:
-
-nautilus-service-install-view: $(nautilus_service_install_view_OBJECTS) $(nautilus_service_install_view_DEPENDENCIES)
-	@rm -f nautilus-service-install-view
-	$(LINK) $(nautilus_service_install_view_LDFLAGS) $(nautilus_service_install_view_OBJECTS) $(nautilus_service_install_view_LDADD) $(LIBS)
-
-install-oafDATA: $(oaf_DATA)
-	@$(NORMAL_INSTALL)
-	$(mkinstalldirs) $(DESTDIR)$(oafdir)
-	@list='$(oaf_DATA)'; for p in $$list; do \
-	  if test -f $(srcdir)/$$p; then \
-	    echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(oafdir)/$$p"; \
-	    $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(oafdir)/$$p; \
-	  else if test -f $$p; then \
-	    echo " $(INSTALL_DATA) $$p $(DESTDIR)$(oafdir)/$$p"; \
-	    $(INSTALL_DATA) $$p $(DESTDIR)$(oafdir)/$$p; \
-	  fi; fi; \
-	done
-
-uninstall-oafDATA:
-	@$(NORMAL_UNINSTALL)
-	list='$(oaf_DATA)'; for p in $$list; do \
-	  rm -f $(DESTDIR)$(oafdir)/$$p; \
-	done
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
-	list='$(SOURCES) $(HEADERS)'; \
-	unique=`for i in $$list; do echo $$i; done | \
-	  awk '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	here=`pwd` && cd $(srcdir) \
-	  && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
-	tags=; \
-	here=`pwd`; \
-	list='$(SOURCES) $(HEADERS)'; \
-	unique=`for i in $$list; do echo $$i; done | \
-	  awk '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
-	-rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = components/services/install/nautilus-view
-
-distdir: $(DISTFILES)
-	@for file in $(DISTFILES); do \
-	  d=$(srcdir); \
-	  if test -d $$d/$$file; then \
-	    cp -pr $$d/$$file $(distdir)/$$file; \
-	  else \
-	    test -f $(distdir)/$$file \
-	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
-	    || cp -p $$d/$$file $(distdir)/$$file || :; \
-	  fi; \
-	done
-
-info-am:
-info: info-am
-dvi-am:
-dvi: dvi-am
-check-am: all-am
-check: check-am
-installcheck-am:
-installcheck: installcheck-am
-install-exec-am: install-binPROGRAMS
-install-exec: install-exec-am
-
-install-data-am: install-oafDATA
-install-data: install-data-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-am
-uninstall-am: uninstall-binPROGRAMS uninstall-oafDATA
-uninstall: uninstall-am
-all-am: Makefile $(PROGRAMS) $(DATA) $(HEADERS)
-all-redirect: all-am
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs:
-	$(mkinstalldirs)  $(DESTDIR)$(bindir) $(DESTDIR)$(oafdir)
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
-	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am:  mostlyclean-binPROGRAMS mostlyclean-compile \
-		mostlyclean-libtool mostlyclean-tags \
-		mostlyclean-generic
-
-mostlyclean: mostlyclean-am
-
-clean-am:  clean-binPROGRAMS clean-compile clean-libtool clean-tags \
-		clean-generic mostlyclean-am
-
-clean: clean-am
-
-distclean-am:  distclean-binPROGRAMS distclean-compile distclean-libtool \
-		distclean-tags distclean-generic clean-am
-	-rm -f libtool
-
-distclean: distclean-am
-
-maintainer-clean-am:  maintainer-clean-binPROGRAMS \
-		maintainer-clean-compile maintainer-clean-libtool \
-		maintainer-clean-tags maintainer-clean-generic \
-		distclean-am
-	@echo "This command is intended for maintainers to use;"
-	@echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-am
-
-.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \
-maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \
-mostlyclean-compile distclean-compile clean-compile \
-maintainer-clean-compile mostlyclean-libtool distclean-libtool \
-clean-libtool maintainer-clean-libtool uninstall-oafDATA \
-install-oafDATA tags mostlyclean-tags distclean-tags clean-tags \
-maintainer-clean-tags distdir info-am info dvi-am dvi check check-am \
-installcheck-am installcheck install-exec-am install-exec \
-install-data-am install-data install-am install uninstall-am uninstall \
-all-redirect all-am all installdirs mostlyclean-generic \
-distclean-generic clean-generic maintainer-clean-generic clean \
-mostlyclean distclean maintainer-clean
-
-
-@XML_I18N_MERGE_OAF_RULE@
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
Index: /unk/third/nautilus/components/services/install/nautilus-view/nautilus-service-install-view.h
===================================================================
--- /trunk/third/nautilus/components/services/install/nautilus-view/nautilus-service-install-view.h (revision 15547)
+++  (revision )
@@ -1,123 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: J Shane Culpepper
- */
-
-#ifndef NAUTILUS_SERVICE_INSTALL_VIEW_H
-#define NAUTILUS_SERVICE_INSTALL_VIEW_H
-
-#include <libnautilus/nautilus-view.h>
-#include <gtk/gtk.h>
-#include <eazel-package-system-types.h>
-#include <eazel-install-corba-types.h>
-#include <eazel-install-corba-callback.h>
-#include <eazel-install-problem.h>
-#include "libtrilobite/libtrilobite.h"
-
-typedef struct _NautilusServiceInstallView NautilusServiceInstallView;
-typedef struct _NautilusServiceInstallViewClass NautilusServiceInstallViewClass;
-
-#define NAUTILUS_TYPE_SERVICE_INSTALL_VIEW		(nautilus_service_install_view_get_type ())
-#define NAUTILUS_SERVICE_INSTALL_VIEW(obj)		(GTK_CHECK_CAST ((obj), NAUTILUS_TYPE_SERVICE_INSTALL_VIEW, NautilusServiceInstallView))
-#define NAUTILUS_SERVICE_INSTALL_VIEW_CLASS (klass)	(GTK_CHECK_CLASS_CAST ((klass), NAUTILUS_TYPE_SERVICE_INSTALL_VIEW, NautilusServiceInstallViewClass))
-#define NAUTILUS_IS_SERVICE_INSTALL_VIEW(obj)		(GTK_CHECK_TYPE ((obj), NAUTILUS_TYPE_SERVICE_INSTALL_VIEW))
-#define NAUTILUS_IS_SERVICE_INSTALL_VIEW_CLASS (klass)	(GTK_CHECK_CLASS_TYPE ((klass), NAUTILUS_TYPE_SERVICE_INSTALL_VIEW))
-
-typedef struct _NautilusServiceInstallViewDetails NautilusServiceInstallViewDetails;
-
-struct _NautilusServiceInstallView {
-        GtkEventBox				parent;
-        NautilusServiceInstallViewDetails	*details;
-};
-
-struct _NautilusServiceInstallViewClass {
-        GtkVBoxClass				parent_class;
-};
-
-typedef struct {
-	char *package_name;
-	GtkWidget *label;
-	GtkWidget *progress_bar;
-	GtkWidget *progress_label;
-	GtkWidget *vbox;	/* [ progress_bar, progress_label ] */
-	GtkWidget *hbox;	/* [ label, padding, vbox ] */
-	GtkWidget *line;
-} InstallMessage;
-
-/* A NautilusContentView's private information. */
-struct _NautilusServiceInstallViewDetails {
-	char            *uri;
-	NautilusView    *nautilus_view;
-	GtkWidget       *form;
-	GtkWidget       *form_title;
-	GtkWidget       *package_name;
-	GtkWidget       *package_details;
-	GtkWidget       *package_summary;
-	GtkWidget       *package_version;
-	GtkWidget       *total_progress_bar;
-	GtkWidget       *overall_feedback_text;
-	GtkWidget	*message_box;
-	GtkWidget       *current_feedback_text;
-	InstallMessage	*current_im;
-	GtkWidget	*pane;
-	GtkWidget	*middle_title;
-
-	char		*current_rpm;
-	int		current_package;
-	char		*remembered_password;
-	int		password_attempts;
-	guint		cylon_timer;
-	int		using_local_file;
-	gboolean	failure;
-	gboolean	cancelled;
-	gboolean	already_installed;
-	int		last_k;			/* used to avoid flickering the KB count so much */
-	gboolean	cancelled_before_downloads;
-	unsigned long	download_bytes_total;
-	unsigned long	download_bytes_sofar;
-	char		*username;
-
-	EazelInstallCallback *installer;
-	EazelInstallProblem *problem;
-	TrilobiteRootClient *root_client;
-	GList		    *categories;	
-
-	gboolean core_package;
-
-	GList *problem_cases;
-	GList *desktop_files;
-
-	GList *message;		/* GList<InstallMessage *> */
-	GHashTable *deps;	/* package(char *) => package that needs it(char *) */
-};
-
-
-/* GtkObject support */
-GtkType		nautilus_service_install_view_get_type			(void);
-
-/* Component embedding support */
-NautilusView 	*nautilus_service_install_view_get_nautilus_view	(NautilusServiceInstallView *view);
-
-/* URI handling */
-void		nautilus_service_install_view_load_uri			(NautilusServiceInstallView	*view,
-									 const char			*uri);
-
-#endif /* NAUTILUS_SERVICE_INSTALL_VIEW_H */
-
Index: /unk/third/nautilus/components/services/install/nautilus-view/main.c
===================================================================
--- /trunk/third/nautilus/components/services/install/nautilus-view/main.c (revision 15547)
+++  (revision )
@@ -1,99 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Maciej Stachowiak <mjs@eazel.com>
- *         J Shane Culpepper <pepper@eazel.com>
- */
-
-/* main.c - main function and object activation function for services
-   content view component. */
-
-#include <config.h>
-#include <gnome.h>
-#include <liboaf/liboaf.h>
-#include <bonobo.h>
-#include "nautilus-service-install-view.h"
-
-static int object_count = 0;
-
-static void
-service_install_object_destroyed (GtkObject *obj)
-{
-	object_count--;
-	if (object_count <= 0) {
-		gtk_main_quit ();
-	}
-}
-
-static BonoboObject *
-service_install_make_object (BonoboGenericFactory	*factory, 
-	  		     const char			*iid,
-			     void			*closure)
-{
-
-	NautilusServiceInstallView	*view;
-	NautilusView			*nautilus_view;
-
-	if (strcmp (iid, "OAFIID:nautilus_service_install_view:886546ca-1115-4ea4-8d30-8cefa2f5070b")) {
-		return NULL;
-	}
-
-	view = NAUTILUS_SERVICE_INSTALL_VIEW (gtk_object_new (NAUTILUS_TYPE_SERVICE_INSTALL_VIEW, NULL));
-
-	object_count++;
-
-	nautilus_view = nautilus_service_install_view_get_nautilus_view (view);
-	
-	gtk_signal_connect (GTK_OBJECT (nautilus_view), "destroy", service_install_object_destroyed, NULL);
-
-	printf ("Returning new object %p\n", nautilus_view);
-
-	return BONOBO_OBJECT (nautilus_view);
-}
-
-int
-main (int argc, char *argv[])
-{
-	BonoboGenericFactory *factory;
-	CORBA_ORB orb;
-	char *registration_id;
-
-	gnome_init_with_popt_table ("nautilus-service-install-view", VERSION, 
-                                    argc, argv,
-                                    oaf_popt_options, 0, NULL);
-	gdk_rgb_init ();
-
-	orb = oaf_init (argc, argv);
-	bonobo_init (orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL);
-
-	/* log to stderr, for now (but leave debug mode off) */
-	trilobite_set_log_handler (stderr, G_LOG_DOMAIN);
-
-        registration_id = oaf_make_registration_id ("OAFIID:nautilus_service_install_view_factory:e59e53d1-e3d1-46fe-ae28-3ec5c56b7d32", getenv ("DISPLAY"));
-	factory = bonobo_generic_factory_new_multi (registration_id, 
-						    service_install_make_object,
-						    NULL);
-	g_free (registration_id);
-
-	do {
-		bonobo_main ();
-	} while (object_count > 0);
-
-	return 0;
-}
Index: /unk/third/nautilus/components/services/install/nautilus-view/nautilus-service-install.c
===================================================================
--- /trunk/third/nautilus/components/services/install/nautilus-view/nautilus-service-install.c (revision 15547)
+++  (revision )
@@ -1,229 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: Eskil Heyn Olsen <eskil@eazel.com>
- */
-
-#include "nautilus-service-install.h"
-#include <libeazelinstall.h>
-
-#define OAF_ID "OAFIID:trilobite_eazel_install_service:8ff6e815-1992-437c-9771-d932db3b4a17"
-
-static void
-xnautilus_service_install_download_failed (EazelInstallCallback *service, 
-					   const char *name,
-					   NautilusServiceInstallView *view)
-{
-	fprintf (stdout, "Download of %s FAILED\n", name);
-}
-
-/*
-  This dumps the entire tree for the failed package.
- */
-static void
-xnautilus_service_install_failed_helper (EazelInstallCallback *service,
-					 const PackageData *pd,
-					 gchar *indent,
-					 NautilusServiceInstallView *view)
-{
-	GList *iterator;
-
-	if (pd->toplevel) {
-		fprintf (stdout, "\n***The package %s failed. Here's the dep tree\n", pd->name);
-	}
-	switch (pd->status) {
-	case PACKAGE_DEPENDENCY_FAIL:
-		fprintf (stdout, "%s-%s FAILED\n", indent, rpmfilename_from_packagedata (pd));
-		break;
-	case PACKAGE_CANNOT_OPEN:
-		fprintf (stdout, "%s-%s NOT FOUND\n", indent, rpmfilename_from_packagedata (pd));
-		break;		
-	case PACKAGE_SOURCE_NOT_SUPPORTED:
-		fprintf (stdout, "%s-%s is a source package\n", indent, rpmfilename_from_packagedata (pd));
-		break;
-	case PACKAGE_BREAKS_DEPENDENCY:
-		fprintf (stdout, "%s-%s breaks\n", indent, rpmfilename_from_packagedata (pd));
-		break;
-	default:
-		fprintf (stdout, "%s-%s\n", indent, rpmfilename_from_packagedata (pd));
-		break;
-	}
-	for (iterator = pd->soft_depends; iterator; iterator = iterator->next) {			
-		PackageData *pack;
-		char *indent2;
-		indent2 = g_strconcat (indent, iterator->next ? " |" : "  " , NULL);
-		pack = (PackageData*)iterator->data;
-		xnautilus_service_install_failed_helper (service, pack, indent2, view);
-		g_free (indent2);
-	}
-	for (iterator = pd->breaks; iterator; iterator = iterator->next) {			
-		PackageData *pack;
-		char *indent2;
-		indent2 = g_strconcat (indent, iterator->next ? " |" : "  " , NULL);
-		pack = (PackageData*)iterator->data;
-		xnautilus_service_install_failed_helper (service, pack, indent2, view);
-		g_free (indent2);
-	}
-}
-
-static void
-xnautilus_service_install_failed (EazelInstallCallback *service,
-				  const PackageData *pd,
-				  NautilusServiceInstallView *view)
-{
-	nautilus_service_install_failed_helper (service, pd, "", view);
-}
-
-
-static void
-xnautilus_service_install_dependency_check (EazelInstallCallback *service,
-					    const PackageData *package,
-					    const PackageData *needs,
-					    NautilusServiceInstallView *view) 
-{
-	g_message ("Doing dependency check for %s - need %s\n", package->name, needs->name);
-}
-
-static void
-xnautilus_service_install_done (EazelInstallCallback *service,
-				gboolean result,
-				NautilusServiceInstallView *view)
-{
-	char *tmp;
-	eazel_install_callback_unref (GTK_OBJECT (service));
-	
-	tmp = g_strdup (view->details->uri);
-	nautilus_service_install_view_load_uri (view, tmp);
-	g_free (tmp);
-}
-
-void 
-xnautilus_service_install_view_install_package_callback (GtkWidget *widget,
-							 NautilusServiceInstallView *view)
-{
-	GList *packages;
-	GList *categories;
-	CORBA_Environment ev;
-	EazelInstallCallback *cb;		
-
-	CORBA_exception_init (&ev);
-
-	packages = NULL;
-	categories = NULL;
-
-	{
-		char *ptr;
-		CategoryData *category;
-		PackageData *pack;
-
-		/* Find the :// of the url and skip to after it */
-		ptr = strstr (view->details->uri, "file://");
-		ptr += strlen ("file://");
-
-		/* make a package and add to it to a categorylist */
-		pack = packagedata_new ();
-		pack->filename = g_strdup (ptr);
-		
-		category = categorydata_new ();
-		category->packages = g_list_prepend (NULL, pack);
-		categories = g_list_prepend (NULL, category);
-	}
-
-	/* Check that we're on a redhat system */
-	if (!check_for_redhat ()) {
-		fprintf (stderr, "*** This tool can only be used on RedHat.\n");
-	}
-
-	cb = eazel_install_callback_new ();
-	
-	Trilobite_Eazel_Install__set_protocol (eazel_install_callback_corba_objref (cb), Trilobite_Eazel_PROTOCOL_HTTP, &ev);
-	if (!check_for_root_user()) {
-		fprintf (stderr, "*** This tool requires root access, switching to test mode\n");
-		Trilobite_Eazel_Install__set_test_mode (eazel_install_callback_corba_objref (cb), TRUE, &ev); 
-	} else {
-		Trilobite_Eazel_Install__set_test_mode (eazel_install_callback_corba_objref (cb), FALSE, &ev); 
-	}
-	Trilobite_Eazel_Install__set_tmp_dir (eazel_install_callback_corba_objref (cb), "/tmp/eazel-install", &ev);
-	Trilobite_Eazel_Install__set_server (eazel_install_callback_corba_objref (cb), "testmachine.eazel.com", &ev);
-	Trilobite_Eazel_Install__set_server_port (eazel_install_callback_corba_objref (cb), 80, &ev);
-
-	gtk_signal_connect (GTK_OBJECT (cb), "download_progress", nautilus_service_install_download_progress_signal, view);
-	gtk_signal_connect (GTK_OBJECT (cb), "install_progress", nautilus_service_install_progress_signal, view);
-	gtk_signal_connect (GTK_OBJECT (cb), "install_failed", nautilus_service_install_failed, view);
-	gtk_signal_connect (GTK_OBJECT (cb), "download_failed", nautilus_service_install_download_failed, view);
-	gtk_signal_connect (GTK_OBJECT (cb), "dependency_check", nautilus_service_install_dependency_check, view);
-	gtk_signal_connect (GTK_OBJECT (cb), "done", nautilus_service_install_done, view);
-	
-	eazel_install_callback_install_packages (cb, categories, NULL, &ev);
-	
-	CORBA_exception_free (&ev);               
-}
-
-void 
-xnautilus_service_install_view_uninstall_package_callback (GtkWidget *widget,
-							   NautilusServiceInstallView *view)
-{
-	GList *packages;
-	GList *categories;
-	CORBA_Environment ev;
-	EazelInstallCallback *cb;		
-
-	CORBA_exception_init (&ev);
-
-	packages = NULL;
-	categories = NULL;
-
-	{
-		CategoryData *category;
-		PackageData *pack;
-		pack = gtk_object_get_data (GTK_OBJECT (view), "packagedata");
-		
-		category = categorydata_new ();
-		category->packages = g_list_prepend (NULL, pack);
-		categories = g_list_prepend (NULL, category);
-	}
-
-	/* Check that we're on a redhat system */
-	if (!check_for_redhat ()) {
-		fprintf (stderr, "*** This tool can only be used on RedHat.\n");
-	}
-
-	cb = eazel_install_callback_new ();
-	
-	Trilobite_Eazel_Install__set_protocol (eazel_install_callback_corba_objref (cb), Trilobite_Eazel_PROTOCOL_HTTP, &ev);
-	if (!check_for_root_user ()) {
-		fprintf (stderr, "*** This tool requires root access, switching to test mode\n");
-		Trilobite_Eazel_Install__set_test_mode (eazel_install_callback_corba_objref (cb), TRUE, &ev); 
-	} else {
-		Trilobite_Eazel_Install__set_test_mode (eazel_install_callback_corba_objref (cb), FALSE, &ev); 
-	}
-	Trilobite_Eazel_Install__set_tmp_dir (eazel_install_callback_corba_objref (cb), "/tmp/eazel-install", &ev);
-	Trilobite_Eazel_Install__set_server (eazel_install_callback_corba_objref (cb), "testmachine.eazel.com", &ev);
-	Trilobite_Eazel_Install__set_server_port (eazel_install_callback_corba_objref (cb), 80, &ev);
-
-	gtk_signal_connect (GTK_OBJECT (cb), "download_progress", nautilus_service_install_download_progress_signal, view);
-	gtk_signal_connect (GTK_OBJECT (cb), "uninstall_progress", nautilus_service_install_progress_signal, view);
-	gtk_signal_connect (GTK_OBJECT (cb), "uninstall_failed", nautilus_service_install_failed, view);
-	gtk_signal_connect (GTK_OBJECT (cb), "dependency_check", nautilus_service_install_dependency_check, view);
-	gtk_signal_connect (GTK_OBJECT (cb), "done", nautilus_service_install_done, view);
-	
-	eazel_install_callback_uninstall_packages (cb, categories, NULL, &ev);
-	
-	CORBA_exception_free (&ev);               
-}
Index: /unk/third/nautilus/components/services/install/nautilus-view/Makefile.am
===================================================================
--- /trunk/third/nautilus/components/services/install/nautilus-view/Makefile.am (revision 15547)
+++  (revision )
@@ -1,60 +1,0 @@
-NULL =
-
-INCLUDES =						\
-	-DPREFIX=\"$(prefix)\"				\
-	-DG_LOG_DOMAIN=\"Nautilus-service-install\"	\
-	-I$(top_srcdir)					\
-	-I$(top_srcdir)/components/services/install/lib	\
-	-I$(top_srcdir)/components/services/trilobite	\
-	-I$(top_srcdir)/components/services/trilobite/libtrilobite \
-	-I$(top_builddir)/components/services/install/lib \
-	-I$(top_builddir)/components/services/trilobite	\
-	-I$(top_builddir)/components/services/trilobite/libtrilobite \
-	-I$(top_srcdir)/components/services/nautilus-dependent-shared	\
-	-I$(top_builddir)/components/services/install/lib \
-	-I$(top_builddir)				\
-	-I/usr/include/rpm				\
-	$(GCONF_CFLAGS)					\
-	-DGNOMELOCALEDIR=\""$(datadir)/locale"\"	\
-	$(GNOMEUI_CFLAGS)				\
-	$(VFS_CFLAGS)					\
-	$(NULL)
-
-bin_PROGRAMS = nautilus-service-install-view
-
-noinst_HEADERS =					\
-	nautilus-service-install.c			\
-	nautilus-service-install.h			\
-	nautilus-service-install-view.h			\
-	$(NULL)
-
-nautilus_service_install_view_SOURCES =		        \
-	nautilus-service-install-view.c			\
-	main.c						\
-	$(NULL)
-
-nautilus_service_install_view_LDADD =			\
-	$(top_builddir)/libnautilus/libnautilus.la	\
-	$(top_builddir)/libnautilus-extensions/libnautilus-extensions.la \
-	$(top_builddir)/components/services/install/lib/libeazelinstall.la \
-	$(top_builddir)/components/services/install/lib/libeazelpackagesystem.la \
-	$(top_builddir)/components/services/trilobite/libtrilobite/libtrilobite.la \
-	$(top_builddir)/components/services/nautilus-dependent-shared/libnautilusdepshared.a \
-	$(BONOBO_LIBS)					\
-	$(GCONF_LIBS)					\
-	$(GNOMEUI_LIBS)					\
-	$(OAF_LIBS)					\
-	$(VFS_LIBS)					\
-	$(RPM_LIBS)					\
-	$(NULL)
-
-oafdir = $(datadir)/oaf
-oaf_in_files =					\
-	Nautilus_View_install.oaf.in		\
-	$(NULL)
-oaf_DATA = $(oaf_in_files:.oaf.in=.oaf)
-
-@XML_I18N_MERGE_OAF_RULE@
-
-
-EXTRA_DIST = $(oaf_in_files) $(oaf_DATA)
Index: /unk/third/nautilus/components/services/install/nautilus-view/nautilus-service-install.h
===================================================================
--- /trunk/third/nautilus/components/services/install/nautilus-view/nautilus-service-install.h (revision 15547)
+++  (revision )
@@ -1,33 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: Eskil Heyn Olsen <eskil@eazel.com>
- */
-
-#ifndef NAUTILUS_SERVICE_INSTALL_H
-#define NAUTILUS_SERVICE_INSTALL_H
-
-#include "nautilus-service-install-view.h"
-
-void  nautilus_service_install_view_install_package_callback (GtkWidget				*widget,
-							      NautilusServiceInstallView	*view);
-void  nautilus_service_install_view_uninstall_package_callback (GtkWidget			*widget,
-						 	        NautilusServiceInstallView	*view);
-
-#endif /* NAUTILUS_SERVICE_INSTALL_H */
Index: /unk/third/nautilus/components/services/install/nautilus-view/Nautilus_View_install.oaf.in
===================================================================
--- /trunk/third/nautilus/components/services/install/nautilus-view/Nautilus_View_install.oaf.in (revision 15547)
+++  (revision )
@@ -1,25 +1,0 @@
-<oaf_info>
-
-<oaf_server iid="OAFIID:nautilus_service_install_view_factory:e59e53d1-e3d1-46fe-ae28-3ec5c56b7d32" type="exe" location="nautilus-service-install-view">
-  <oaf_attribute name="repo_ids" type="stringv">
-    <item value="IDL:GNOME/ObjectFactory:1.0"/>
-  </oaf_attribute>
-  <oaf_attribute name="name" type="string" _value="Nautilus Service Install View Factory"/>
-  <oaf_attribute name="description" type="string" _value="Service Install View Component's Factory"/>
-</oaf_server>
-
-<oaf_server iid="OAFIID:nautilus_service_install_view:886546ca-1115-4ea4-8d30-8cefa2f5070b" type="factory" location="OAFIID:nautilus_service_install_view_factory:e59e53d1-e3d1-46fe-ae28-3ec5c56b7d32">
-  <oaf_attribute name="repo_ids" type="stringv">
-    <item value="IDL:Bonobo/Unknown:1.0"/>
-    <item value="IDL:Bonobo/Control:1.0"/>
-    <item value="IDL:Nautilus/View:1.0"/>
-  </oaf_attribute>
-  <oaf_attribute name="name" type="string" _value="Nautilus Service Install View"/>
-  <oaf_attribute name="description" type="string" _value="Service Install View Component"/>
-  <oaf_attribute name="bonobo:supported_uri_schemes" type="stringv">
-    <item value="eazel-install"/>
-  </oaf_attribute>
-  <oaf_attribute name="nautilus:view_as_name" type="string" _value="Install"/>
-</oaf_server>
-
-</oaf_info>
Index: /unk/third/nautilus/components/services/vault/command-line/Makefile.in
===================================================================
--- /trunk/third/nautilus/components/services/vault/command-line/Makefile.in (revision 15547)
+++  (revision )
@@ -1,415 +1,0 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ../../../..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_alias = @host_alias@
-host_triplet = @host@
-AMMONITE_CFLAGS = @AMMONITE_CFLAGS@
-AMMONITE_LIBS = @AMMONITE_LIBS@
-APPLETS_CFLAGS = @APPLETS_CFLAGS@
-APPLETS_LIBS = @APPLETS_LIBS@
-AS = @AS@
-BONOBOX_CFLAGS = @BONOBOX_CFLAGS@
-BONOBOX_LIBS = @BONOBOX_LIBS@
-BONOBO_CFLAGS = @BONOBO_CFLAGS@
-BONOBO_LIBS = @BONOBO_LIBS@
-BONOBO_PRINT_CFLAGS = @BONOBO_PRINT_CFLAGS@
-BONOBO_PRINT_LIBS = @BONOBO_PRINT_LIBS@
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
-CC = @CC@
-CPP = @CPP@
-CXX = @CXX@
-DATADIRNAME = @DATADIRNAME@
-DLLTOOL = @DLLTOOL@
-EAZEL_SERVICES = @EAZEL_SERVICES@
-ENABLE_PROFILER = @ENABLE_PROFILER@
-ESD_CFLAGS = @ESD_CFLAGS@
-ESD_CONFIG = @ESD_CONFIG@
-ESD_LIBS = @ESD_LIBS@
-FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
-FREETYPE2_LIBS = @FREETYPE2_LIBS@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_CONFIG = @GCONF_CONFIG@
-GCONF_LIBS = @GCONF_LIBS@
-GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@
-GDK_PIXBUF_CONFIG = @GDK_PIXBUF_CONFIG@
-GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@
-GENCAT = @GENCAT@
-GHTTP_CFLAGS = @GHTTP_CFLAGS@
-GHTTP_LIBS = @GHTTP_LIBS@
-GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_CONFIG = @GLIB_CONFIG@
-GLIB_LIBS = @GLIB_LIBS@
-GMOFILES = @GMOFILES@
-GMSGFMT = @GMSGFMT@
-GNOMECANVASPIXBUF_INCLUDEDIR = @GNOMECANVASPIXBUF_INCLUDEDIR@
-GNOMECANVASPIXBUF_LIBS = @GNOMECANVASPIXBUF_LIBS@
-GNOMEUI_CFLAGS = @GNOMEUI_CFLAGS@
-GNOMEUI_LIBS = @GNOMEUI_LIBS@
-GNOME_CFLAGS = @GNOME_CFLAGS@
-GNOME_CONFIG = @GNOME_CONFIG@
-GNOME_LIBS = @GNOME_LIBS@
-GNORBA_CFLAGS = @GNORBA_CFLAGS@
-GNORBA_LIBS = @GNORBA_LIBS@
-GTK_CFLAGS = @GTK_CFLAGS@
-GTK_CONFIG = @GTK_CONFIG@
-GTK_LIBS = @GTK_LIBS@
-GT_NO = @GT_NO@
-GT_YES = @GT_YES@
-HAVE_APPLETS = @HAVE_APPLETS@
-IDL_CFLAGS = @IDL_CFLAGS@
-INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
-INSTOBJEXT = @INSTOBJEXT@
-INTLDEPS = @INTLDEPS@
-INTLLIBS = @INTLLIBS@
-INTLOBJS = @INTLOBJS@
-LIBPNG = @LIBPNG@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MEDUSA_CFLAGS = @MEDUSA_CFLAGS@
-MEDUSA_LIBS = @MEDUSA_LIBS@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-MOZILLA_COMPONENT_CFLAGS = @MOZILLA_COMPONENT_CFLAGS@
-MOZILLA_COMPONENT_DEBUG_FLAGS = @MOZILLA_COMPONENT_DEBUG_FLAGS@
-MOZILLA_COMPONENT_LDFLAGS = @MOZILLA_COMPONENT_LDFLAGS@
-MOZILLA_COMPONENT_LIBS = @MOZILLA_COMPONENT_LIBS@
-MOZILLA_COMPONENT_RPATH_FLAGS = @MOZILLA_COMPONENT_RPATH_FLAGS@
-MOZILLA_MILESTONE = @MOZILLA_MILESTONE@
-OAF_CFLAGS = @OAF_CFLAGS@
-OAF_CONFIG = @OAF_CONFIG@
-OAF_LIBS = @OAF_LIBS@
-OBJDUMP = @OBJDUMP@
-ORBIT_CFLAGS = @ORBIT_CFLAGS@
-ORBIT_CONFIG = @ORBIT_CONFIG@
-ORBIT_IDL = @ORBIT_IDL@
-ORBIT_LIBS = @ORBIT_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGESYSTEM = @PACKAGESYSTEM@
-PAM_LIBS = @PAM_LIBS@
-POFILES = @POFILES@
-POSUB = @POSUB@
-RANLIB = @RANLIB@
-RPM_LIBS = @RPM_LIBS@
-RPM_VERSION = @RPM_VERSION@
-USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-VFS_CFLAGS = @VFS_CFLAGS@
-VFS_LIBS = @VFS_LIBS@
-XML_CFLAGS = @XML_CFLAGS@
-XML_CONFIG = @XML_CONFIG@
-XML_I18N_EXTRACT = @XML_I18N_EXTRACT@
-XML_I18N_MERGE = @XML_I18N_MERGE@
-XML_I18N_UPDATE = @XML_I18N_UPDATE@
-XML_LIBS = @XML_LIBS@
-ZVT_LIBS = @ZVT_LIBS@
-Z_LIBS = @Z_LIBS@
-gnomelocaledir = @gnomelocaledir@
-l = @l@
-
-NULL = 
-
-INCLUDES =  	-DPREFIX=\"$(prefix)\"							-DG_LOG_DOMAIN=\"trilobite-eazel-vault-service\"			-I$(top_srcdir)								-I$(top_builddir)							-I$(top_srcdir)/components/services/trilobite 				-I$(top_srcdir)/components/services/vault/lib		 		$(GNOMEUI_CFLAGS)                       				$(GCONF_CFLAGS)								$(NULL)
-
-
-bin_PROGRAMS =  	eazel-vault
-
-
-noinst_HEADERS =  	vault-operations.h		$(NULL)
-
-
-eazel_vault_SOURCES =  	main.c									vault-operations.c							$(NULL)
-
-
-eazel_vault_LDADD =  	$(BONOBO_LIBS)								$(GNOMEUI_LIBS)								$(GCONF_LIBS)								$(VFS_LIBS)								$(OAF_LIBS)								$(top_builddir)/components/services/trilobite/libtrilobite/libtrilobite.la 	$(NULL)
-
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../../../../config.h
-CONFIG_CLEAN_FILES = 
-PROGRAMS =  $(bin_PROGRAMS)
-
-
-DEFS = @DEFS@ -I. -I$(srcdir) -I../../../..
-CPPFLAGS = @CPPFLAGS@
-LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
-eazel_vault_OBJECTS =  main.o vault-operations.o
-eazel_vault_DEPENDENCIES =  \
-$(top_builddir)/components/services/trilobite/libtrilobite/libtrilobite.la
-eazel_vault_LDFLAGS = 
-CFLAGS = @CFLAGS@
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
-HEADERS =  $(noinst_HEADERS)
-
-DIST_COMMON =  Makefile.am Makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = gtar
-GZIP_ENV = --best
-SOURCES = $(eazel_vault_SOURCES)
-OBJECTS = $(eazel_vault_OBJECTS)
-
-all: all-redirect
-.SUFFIXES:
-.SUFFIXES: .S .c .lo .o .s
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps components/services/vault/command-line/Makefile
-
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) \
-	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-
-mostlyclean-binPROGRAMS:
-
-clean-binPROGRAMS:
-	-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
-
-distclean-binPROGRAMS:
-
-maintainer-clean-binPROGRAMS:
-
-install-binPROGRAMS: $(bin_PROGRAMS)
-	@$(NORMAL_INSTALL)
-	$(mkinstalldirs) $(DESTDIR)$(bindir)
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  if test -f $$p; then \
-	    echo " $(LIBTOOL)  --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
-	    $(LIBTOOL)  --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
-	  else :; fi; \
-	done
-
-uninstall-binPROGRAMS:
-	@$(NORMAL_UNINSTALL)
-	list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
-	done
-
-.c.o:
-	$(COMPILE) -c $<
-
-.s.o:
-	$(COMPILE) -c $<
-
-.S.o:
-	$(COMPILE) -c $<
-
-mostlyclean-compile:
-	-rm -f *.o core *.core
-
-clean-compile:
-
-distclean-compile:
-	-rm -f *.tab.c
-
-maintainer-clean-compile:
-
-.c.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.s.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.S.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-
-distclean-libtool:
-
-maintainer-clean-libtool:
-
-eazel-vault: $(eazel_vault_OBJECTS) $(eazel_vault_DEPENDENCIES)
-	@rm -f eazel-vault
-	$(LINK) $(eazel_vault_LDFLAGS) $(eazel_vault_OBJECTS) $(eazel_vault_LDADD) $(LIBS)
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
-	list='$(SOURCES) $(HEADERS)'; \
-	unique=`for i in $$list; do echo $$i; done | \
-	  awk '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	here=`pwd` && cd $(srcdir) \
-	  && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
-	tags=; \
-	here=`pwd`; \
-	list='$(SOURCES) $(HEADERS)'; \
-	unique=`for i in $$list; do echo $$i; done | \
-	  awk '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
-	-rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = components/services/vault/command-line
-
-distdir: $(DISTFILES)
-	@for file in $(DISTFILES); do \
-	  d=$(srcdir); \
-	  if test -d $$d/$$file; then \
-	    cp -pr $$d/$$file $(distdir)/$$file; \
-	  else \
-	    test -f $(distdir)/$$file \
-	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
-	    || cp -p $$d/$$file $(distdir)/$$file || :; \
-	  fi; \
-	done
-
-info-am:
-info: info-am
-dvi-am:
-dvi: dvi-am
-check-am: all-am
-check: check-am
-installcheck-am:
-installcheck: installcheck-am
-install-exec-am: install-binPROGRAMS
-install-exec: install-exec-am
-
-install-data-am:
-install-data: install-data-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-am
-uninstall-am: uninstall-binPROGRAMS
-uninstall: uninstall-am
-all-am: Makefile $(PROGRAMS) $(HEADERS)
-all-redirect: all-am
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs:
-	$(mkinstalldirs)  $(DESTDIR)$(bindir)
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
-	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am:  mostlyclean-binPROGRAMS mostlyclean-compile \
-		mostlyclean-libtool mostlyclean-tags \
-		mostlyclean-generic
-
-mostlyclean: mostlyclean-am
-
-clean-am:  clean-binPROGRAMS clean-compile clean-libtool clean-tags \
-		clean-generic mostlyclean-am
-
-clean: clean-am
-
-distclean-am:  distclean-binPROGRAMS distclean-compile distclean-libtool \
-		distclean-tags distclean-generic clean-am
-	-rm -f libtool
-
-distclean: distclean-am
-
-maintainer-clean-am:  maintainer-clean-binPROGRAMS \
-		maintainer-clean-compile maintainer-clean-libtool \
-		maintainer-clean-tags maintainer-clean-generic \
-		distclean-am
-	@echo "This command is intended for maintainers to use;"
-	@echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-am
-
-.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \
-maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \
-mostlyclean-compile distclean-compile clean-compile \
-maintainer-clean-compile mostlyclean-libtool distclean-libtool \
-clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
Index: /unk/third/nautilus/components/services/vault/command-line/vault-operations.h
===================================================================
--- /trunk/third/nautilus/components/services/vault/command-line/vault-operations.h (revision 15547)
+++  (revision )
@@ -1,36 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: Ian McKellar <yakk@yakk.net.au>
- *
- */
-
-#include <config.h>
-#include <glib.h>
-#include <libgnomevfs/gnome-vfs.h>
-
-struct VaultOperation {
-	gchar *name;
-	gchar *syntax;
-	gint minargs;
-	gint maxargs;
-	GnomeVFSResult (* function)(GList *args, gchar *uri, gboolean debug, gchar **error_context);
-};
-
-extern struct VaultOperation vault_operations[];
Index: /unk/third/nautilus/components/services/vault/command-line/main.c
===================================================================
--- /trunk/third/nautilus/components/services/vault/command-line/main.c (revision 15547)
+++  (revision )
@@ -1,129 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: Ian McKellar <yakk@yakk.net.au>
- *
- */
-
-#include <config.h>
-#include <glib.h>
-#include <popt-gnome.h>
-#include <string.h>
-#include <stdlib.h>
-#include "vault-operations.h"
-
-#define _(X) X // eek! FIXME bugzilla.eazel.com 2591
-
-gchar *vault_location;
-gboolean debug = FALSE;
-gchar *operation = NULL;
-
-static const struct poptOption options[] = {
-        {"debug", 'd', POPT_ARG_NONE, &debug, 0, _("Enable debugging"), NULL},
-        {"uri", 'u', POPT_ARG_STRING, &vault_location, 0, _("Vault location"), NULL},
-        {NULL, '\0', 0, NULL, 0} /* end the list */
-};
-
-static void valid_ops() {
-	gint vopnum = 0;
-	struct VaultOperation *vop;
-
-	g_print(_("Valid operations:"));
-	for(;;) {
-		vop = &vault_operations[vopnum++];
-		if(vop->name == NULL) {
-			g_print(".\n");
-			return;
-		}
-		g_print(" %s", vop->name);
-	}
-}
-
-int main (int argc, char *argv[]) {
-	poptContext pctx = poptGetContext("eazel-vault", argc, argv,
-			options, 0);
-	gint opt;
-	gint vopnum = 0;
-	struct VaultOperation *vop;
-
-	vault_location = g_strdup("http://localhost/webdav/"); /* load from gconf */
-
-        while ( (opt = poptGetNextOpt (pctx)) >= 0) {
-		switch (opt) {
-		case 'd':
-			debug = TRUE;
-			break;
-		case 'u':
-			g_free(vault_location);
-			vault_location = g_strdup(poptGetArg(pctx));
-		}
-	}
-
-	operation = g_strdup(poptGetArg(pctx));
-
-#if 0
-	g_print("vault_location = `%s'\n", vault_location);
-	g_print("debug = `%d'\n", debug);
-	g_print("operation = `%s'\n", operation);
-#endif
-
-	if(operation == NULL) {
-		g_print(_("Error: No operation supplied\n"));
-		valid_ops();
-		exit(1);
-	}
-
-	for(;;) {
-		vop = &vault_operations[vopnum++];
-		if(vop->name == NULL) {
-			g_print(_("Error: Invalid operation supplied (%s)\n"), operation);
-			valid_ops();
-			exit(1);
-		}
-		if(!g_strcasecmp(vop->name, operation)) {
-			/* we've found a matching operation */
-			GList *args = NULL;
-			gint argcount = 0;
-			gchar *arg;
-			while((arg = poptGetArg(pctx))) {
-				argcount++;
-				args = g_list_append(args, arg);
-			}
-			if(argcount <= vop->maxargs && argcount >= vop->minargs) {
-				GnomeVFSResult result;
-				gchar *error_context = "eazel-vault";
-
-				poptFreeContext (pctx);
-				gnome_vfs_init ();
-				result = (vop->function)(args, vault_location, debug, &error_context);
-				if(result != GNOME_VFS_OK) {
-					g_print("%s: %s\n", error_context, gnome_vfs_result_to_string(result));
-				}
-				return result;
-			} else {
-				g_print(_("Error: Invalid syntax\nSyntax: %s\n"), vop->syntax);
-				exit(1);
-			}
-
-		}
-	
-	}	
-
-	return 0;
-};
Index: /unk/third/nautilus/components/services/vault/command-line/Makefile.am
===================================================================
--- /trunk/third/nautilus/components/services/vault/command-line/Makefile.am (revision 15547)
+++  (revision )
@@ -1,34 +1,0 @@
-NULL =
-
-INCLUDES =								\
-	-DPREFIX=\"$(prefix)\"						\
-	-DG_LOG_DOMAIN=\"trilobite-eazel-vault-service\"		\
-	-I$(top_srcdir)							\
-	-I$(top_builddir)						\
-	-I$(top_srcdir)/components/services/trilobite 			\
-	-I$(top_srcdir)/components/services/vault/lib		 	\
-	$(GNOMEUI_CFLAGS)                       			\
-	$(GCONF_CFLAGS)							\
-	$(NULL)
-
-bin_PROGRAMS =								\
-	eazel-vault
-
-noinst_HEADERS = \
-	vault-operations.h	\
-	$(NULL)
-
-eazel_vault_SOURCES =							\
-	main.c								\
-	vault-operations.c						\
-	$(NULL)
-
-eazel_vault_LDADD =							\
-	$(BONOBO_LIBS)							\
-	$(GNOMEUI_LIBS)							\
-	$(GCONF_LIBS)							\
-	$(VFS_LIBS)							\
-	$(OAF_LIBS)							\
-	$(top_builddir)/components/services/trilobite/libtrilobite/libtrilobite.la \
-	$(NULL)
-
Index: /unk/third/nautilus/components/services/vault/command-line/vault-operations.c
===================================================================
--- /trunk/third/nautilus/components/services/vault/command-line/vault-operations.c (revision 15547)
+++  (revision )
@@ -1,252 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: Ian McKellar <yakk@yakk.net.au>
- *
- */
-
-#include <config.h>
-#include <string.h>
-#include <unistd.h>
-#include <glib.h>
-#include <string.h>
-#include "vault-operations.h"
-
-static GnomeVFSResult vault_list(GList *args, gchar *uri, gboolean debug, gchar **error_context);
-static GnomeVFSResult vault_upload(GList *args, gchar *uri, gboolean debug, gchar **error_context);
-static GnomeVFSResult vault_download(GList *args, gchar *uri, gboolean debug, gchar **error_context);
-static GnomeVFSResult vault_move(GList *args, gchar *uri, gboolean debug, gchar **error_context);
-static GnomeVFSResult vault_delete(GList *args, gchar *uri, gboolean debug, gchar **error_context);
-
-struct VaultOperation vault_operations[] = {
-	{"list", 	"list [<remote path>]", 			0, 1, vault_list},
-	{"ls", 		"ls [<remote path>]", 				0, 1, vault_list},
-	{"upload", 	"upload <local path> [<remote path>]", 		1, 2, vault_upload},
-	{"download", 	"download <remote path> [<local path>]", 	1, 2, vault_download},
-	{"move", 	"move <from> <to>", 				2, 2, vault_move},
-	{"mv", 		"mv <from> <to>", 				2, 2, vault_move},
-	{"rename", 	"rename <from> <to>", 				2, 2, vault_move},
-	{"delete", 	"delete <file>", 				1, 1, vault_delete},
-	{NULL, NULL, 0, 0, NULL}
-};
-
-
-static GnomeVFSResult vault_list(GList *args, gchar *uri, gboolean debug, gchar **error_context) {
-	GnomeVFSResult result;
-	GnomeVFSDirectoryList *list;
-	GnomeVFSFileInfo *info;
-	gchar *text_uri;
-
-	if(args != NULL) {
-		text_uri = g_strconcat(uri, args->data, NULL);
-	} else {
-		text_uri = uri;
-	}
-
-	result = gnome_vfs_directory_list_load (&list, text_uri, (GNOME_VFS_FILE_INFO_GET_MIME_TYPE | GNOME_VFS_FILE_INFO_FORCE_FAST_MIME_TYPE | GNOME_VFS_FILE_INFO_FOLLOW_LINKS), NULL);
-
-	if(result == GNOME_VFS_OK) {
-
-		info = gnome_vfs_directory_list_first(list);
-
-		while( info != NULL ) {
-			g_print("%s %10d %20s %s\n", 
-					info->type==GNOME_VFS_FILE_TYPE_DIRECTORY?"Folder":"File  ",
-					(gint)info->size,
-					info->mime_type,
-					info->name);
-
-			info = gnome_vfs_directory_list_next(list);
-		}
-	}
-
-	return result;
-}
-
-
-
-static gchar *make_local_uri(gchar *fn, gchar *remote) {
-	gchar buffer[PATH_MAX+1];
-
-	g_assert(fn || remote);
-
-	if(fn == NULL && remote != NULL) fn = g_basename(remote);
-	if(fn[0] != '/') {
-		getcwd(buffer, PATH_MAX);
-		fn = g_strconcat(buffer, "/", fn, NULL);
-	}
-
-	if(fn[strlen(fn)-1] == '/' && remote)
-		fn = g_strconcat(fn, g_basename(remote), NULL);
-
-	return  g_strconcat("file://", fn, NULL);
-}
-
-static gchar *make_remote_uri(gchar *uri, gchar *fn, gchar *local) {
-	if(fn)
-		uri = g_strconcat(uri, fn, NULL);
-
-	if(uri[strlen(uri)-1] == '/' && local)
-		uri = g_strconcat(uri, g_basename(local), NULL);
-
-	return uri;
-}
-
-
-static GnomeVFSResult vault_upload(GList *args, gchar *uri, gboolean debug, gchar **error_context) {
-	GnomeVFSResult result;
-	GnomeVFSHandle *whandle, *rhandle;
-	gchar *remote_uri;
-	gchar *local_uri;
-	gchar buffer[1025];
-
-	local_uri = make_local_uri(args->data, NULL);
-
-	args = args->next;
-
-	remote_uri = make_remote_uri(uri, args?args->data:NULL, local_uri);
-
-	g_print("local: %s\n", local_uri);
-	g_print("remote: %s\n", remote_uri);
-
-	result = gnome_vfs_open (&rhandle, local_uri, GNOME_VFS_OPEN_READ);
-	if(result != GNOME_VFS_OK) return result;
-
-	result = gnome_vfs_open (&whandle, remote_uri, GNOME_VFS_OPEN_WRITE);
-	if(result != GNOME_VFS_OK) return result;
-
-	while(result == GNOME_VFS_OK) {
-		GnomeVFSFileSize bytes = 1024, bytes_read;
-
-		result = gnome_vfs_read (rhandle, buffer, bytes, &bytes_read);
-		if(result != GNOME_VFS_OK) return result;
-
-		if(bytes_read == 0) break;
-
-		g_print("%d=\n", (gint)bytes_read);
-
-		result = gnome_vfs_write (whandle, buffer, bytes_read, &bytes);
-		if(result != GNOME_VFS_OK) return result;
-
-		g_print("%d-\n", (gint)bytes);
-	}
-
-	result = gnome_vfs_close(rhandle);
-	result = gnome_vfs_close(whandle); /* we especially need to do this for HTTP */
-
-
-	return result;
-}
-
-
-static GnomeVFSResult vault_download(GList *args, gchar *uri, gboolean debug, gchar **error_context) {
-	GnomeVFSResult result;
-	GnomeVFSHandle *whandle, *rhandle;
-	gchar *remote_uri;
-	gchar *local_uri;
-	gchar buffer[1025];
-
-	remote_uri = make_remote_uri(uri, args->data, NULL);
-
-	args = args->next;
-
-	local_uri = make_local_uri(args?args->data:NULL, remote_uri);
-
-	g_print("local: %s\n", local_uri);
-	g_print("remote: %s\n", remote_uri);
-
-	result = gnome_vfs_open (&rhandle, remote_uri, GNOME_VFS_OPEN_READ);
-	if(result != GNOME_VFS_OK) {
-		*error_context = remote_uri;
-		return result;
-	}
-
-	result = gnome_vfs_create (&whandle, local_uri, GNOME_VFS_OPEN_WRITE, TRUE, 0600);
-	if(result != GNOME_VFS_OK) {
-		*error_context = local_uri;
-		return result;
-	}
-
-	while(result == GNOME_VFS_OK) {
-		GnomeVFSFileSize bytes = 1024, bytes_read;
-
-		result = gnome_vfs_read (rhandle, buffer, bytes, &bytes_read);
-		if(result != GNOME_VFS_OK) {
-			*error_context = "read";
-			return result;
-		}
-
-		if(bytes_read == 0) break;
-
-		g_print("%d=\n", (gint)bytes_read);
-
-		result = gnome_vfs_write (whandle, buffer, bytes_read, &bytes);
-		if(result != GNOME_VFS_OK) {
-			*error_context = "write";
-			return result;
-		}
-
-		g_print("%d-\n", (gint)bytes);
-	}
-
-	result = gnome_vfs_close(rhandle);
-	result = gnome_vfs_close(whandle); /* we especially need to do this for HTTP */
-
-
-	return result;
-}
-
-
-static GnomeVFSResult vault_move(GList *args, gchar *uri, gboolean debug, gchar **error_context) {
-	GnomeVFSResult result;
-	gchar *uri1, *uri2;
-
-	uri1 = make_remote_uri(uri, args->data, NULL);
-
-	args = args->next;
-
-	uri2 = make_remote_uri(uri, args->data, NULL);
-
-	g_print("from: %s\n", uri1);
-	g_print("to: %s\n", uri2);
-
-	result = gnome_vfs_move (uri1, uri2, TRUE);
-	if(result != GNOME_VFS_OK) {
-		*error_context = g_strdup_printf("move %s to %s", uri1, uri2);
-		return result;
-	}
-	return result;
-}
-
-
-static GnomeVFSResult vault_delete(GList *args, gchar *uri, gboolean debug, gchar **error_context) {
-	GnomeVFSResult result;
-	gchar *uri1;
-
-	uri1 = make_remote_uri(uri, args->data, NULL);
-
-	g_print("deleting: %s\n", uri1);
-
-	result = gnome_vfs_unlink (uri1);
-	if(result != GNOME_VFS_OK) {
-		*error_context = uri1;
-		return result;
-	}
-	return result;
-}
Index: /unk/third/nautilus/components/services/vault/Makefile.in
===================================================================
--- /trunk/third/nautilus/components/services/vault/Makefile.in (revision 15547)
+++  (revision )
@@ -1,375 +1,0 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ../../..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_alias = @host_alias@
-host_triplet = @host@
-AMMONITE_CFLAGS = @AMMONITE_CFLAGS@
-AMMONITE_LIBS = @AMMONITE_LIBS@
-APPLETS_CFLAGS = @APPLETS_CFLAGS@
-APPLETS_LIBS = @APPLETS_LIBS@
-AS = @AS@
-BONOBOX_CFLAGS = @BONOBOX_CFLAGS@
-BONOBOX_LIBS = @BONOBOX_LIBS@
-BONOBO_CFLAGS = @BONOBO_CFLAGS@
-BONOBO_LIBS = @BONOBO_LIBS@
-BONOBO_PRINT_CFLAGS = @BONOBO_PRINT_CFLAGS@
-BONOBO_PRINT_LIBS = @BONOBO_PRINT_LIBS@
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
-CC = @CC@
-CPP = @CPP@
-CXX = @CXX@
-DATADIRNAME = @DATADIRNAME@
-DLLTOOL = @DLLTOOL@
-EAZEL_SERVICES = @EAZEL_SERVICES@
-ENABLE_PROFILER = @ENABLE_PROFILER@
-ESD_CFLAGS = @ESD_CFLAGS@
-ESD_CONFIG = @ESD_CONFIG@
-ESD_LIBS = @ESD_LIBS@
-FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
-FREETYPE2_LIBS = @FREETYPE2_LIBS@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_CONFIG = @GCONF_CONFIG@
-GCONF_LIBS = @GCONF_LIBS@
-GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@
-GDK_PIXBUF_CONFIG = @GDK_PIXBUF_CONFIG@
-GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@
-GENCAT = @GENCAT@
-GHTTP_CFLAGS = @GHTTP_CFLAGS@
-GHTTP_LIBS = @GHTTP_LIBS@
-GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_CONFIG = @GLIB_CONFIG@
-GLIB_LIBS = @GLIB_LIBS@
-GMOFILES = @GMOFILES@
-GMSGFMT = @GMSGFMT@
-GNOMECANVASPIXBUF_INCLUDEDIR = @GNOMECANVASPIXBUF_INCLUDEDIR@
-GNOMECANVASPIXBUF_LIBS = @GNOMECANVASPIXBUF_LIBS@
-GNOMEUI_CFLAGS = @GNOMEUI_CFLAGS@
-GNOMEUI_LIBS = @GNOMEUI_LIBS@
-GNOME_CFLAGS = @GNOME_CFLAGS@
-GNOME_CONFIG = @GNOME_CONFIG@
-GNOME_LIBS = @GNOME_LIBS@
-GNORBA_CFLAGS = @GNORBA_CFLAGS@
-GNORBA_LIBS = @GNORBA_LIBS@
-GTK_CFLAGS = @GTK_CFLAGS@
-GTK_CONFIG = @GTK_CONFIG@
-GTK_LIBS = @GTK_LIBS@
-GT_NO = @GT_NO@
-GT_YES = @GT_YES@
-HAVE_APPLETS = @HAVE_APPLETS@
-IDL_CFLAGS = @IDL_CFLAGS@
-INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
-INSTOBJEXT = @INSTOBJEXT@
-INTLDEPS = @INTLDEPS@
-INTLLIBS = @INTLLIBS@
-INTLOBJS = @INTLOBJS@
-LIBPNG = @LIBPNG@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MEDUSA_CFLAGS = @MEDUSA_CFLAGS@
-MEDUSA_LIBS = @MEDUSA_LIBS@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-MOZILLA_COMPONENT_CFLAGS = @MOZILLA_COMPONENT_CFLAGS@
-MOZILLA_COMPONENT_DEBUG_FLAGS = @MOZILLA_COMPONENT_DEBUG_FLAGS@
-MOZILLA_COMPONENT_LDFLAGS = @MOZILLA_COMPONENT_LDFLAGS@
-MOZILLA_COMPONENT_LIBS = @MOZILLA_COMPONENT_LIBS@
-MOZILLA_COMPONENT_RPATH_FLAGS = @MOZILLA_COMPONENT_RPATH_FLAGS@
-MOZILLA_MILESTONE = @MOZILLA_MILESTONE@
-OAF_CFLAGS = @OAF_CFLAGS@
-OAF_CONFIG = @OAF_CONFIG@
-OAF_LIBS = @OAF_LIBS@
-OBJDUMP = @OBJDUMP@
-ORBIT_CFLAGS = @ORBIT_CFLAGS@
-ORBIT_CONFIG = @ORBIT_CONFIG@
-ORBIT_IDL = @ORBIT_IDL@
-ORBIT_LIBS = @ORBIT_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGESYSTEM = @PACKAGESYSTEM@
-PAM_LIBS = @PAM_LIBS@
-POFILES = @POFILES@
-POSUB = @POSUB@
-RANLIB = @RANLIB@
-RPM_LIBS = @RPM_LIBS@
-RPM_VERSION = @RPM_VERSION@
-USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-VFS_CFLAGS = @VFS_CFLAGS@
-VFS_LIBS = @VFS_LIBS@
-XML_CFLAGS = @XML_CFLAGS@
-XML_CONFIG = @XML_CONFIG@
-XML_I18N_EXTRACT = @XML_I18N_EXTRACT@
-XML_I18N_MERGE = @XML_I18N_MERGE@
-XML_I18N_UPDATE = @XML_I18N_UPDATE@
-XML_LIBS = @XML_LIBS@
-ZVT_LIBS = @ZVT_LIBS@
-Z_LIBS = @Z_LIBS@
-gnomelocaledir = @gnomelocaledir@
-l = @l@
-
-SUBDIRS = command-line
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../../../config.h
-CONFIG_CLEAN_FILES = 
-DIST_COMMON =  Makefile.am Makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = gtar
-GZIP_ENV = --best
-all: all-redirect
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps components/services/vault/Makefile
-
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) \
-	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-
-@SET_MAKE@
-
-all-recursive install-data-recursive install-exec-recursive \
-installdirs-recursive install-recursive uninstall-recursive  \
-check-recursive installcheck-recursive info-recursive dvi-recursive:
-	@set fnord $(MAKEFLAGS); amf=$$2; \
-	dot_seen=no; \
-	target=`echo $@ | sed s/-recursive//`; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    dot_seen=yes; \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
-	done; \
-	if test "$$dot_seen" = "no"; then \
-	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-	fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
-	@set fnord $(MAKEFLAGS); amf=$$2; \
-	dot_seen=no; \
-	rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
-	  rev="$$subdir $$rev"; \
-	  test "$$subdir" = "." && dot_seen=yes; \
-	done; \
-	test "$$dot_seen" = "no" && rev=". $$rev"; \
-	target=`echo $@ | sed s/-recursive//`; \
-	for subdir in $$rev; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
-	done && test -z "$$fail"
-tags-recursive:
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-	done
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
-	list='$(SOURCES) $(HEADERS)'; \
-	unique=`for i in $$list; do echo $$i; done | \
-	  awk '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	here=`pwd` && cd $(srcdir) \
-	  && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
-	tags=; \
-	here=`pwd`; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-   if test "$$subdir" = .; then :; else \
-	    test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
-   fi; \
-	done; \
-	list='$(SOURCES) $(HEADERS)'; \
-	unique=`for i in $$list; do echo $$i; done | \
-	  awk '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
-	-rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = components/services/vault
-
-distdir: $(DISTFILES)
-	@for file in $(DISTFILES); do \
-	  d=$(srcdir); \
-	  if test -d $$d/$$file; then \
-	    cp -pr $$d/$$file $(distdir)/$$file; \
-	  else \
-	    test -f $(distdir)/$$file \
-	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
-	    || cp -p $$d/$$file $(distdir)/$$file || :; \
-	  fi; \
-	done
-	for subdir in $(SUBDIRS); do \
-	  if test "$$subdir" = .; then :; else \
-	    test -d $(distdir)/$$subdir \
-	    || mkdir $(distdir)/$$subdir \
-	    || exit 1; \
-	    chmod 777 $(distdir)/$$subdir; \
-	    (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
-	      || exit 1; \
-	  fi; \
-	done
-info-am:
-info: info-recursive
-dvi-am:
-dvi: dvi-recursive
-check-am: all-am
-check: check-recursive
-installcheck-am:
-installcheck: installcheck-recursive
-install-exec-am:
-install-exec: install-exec-recursive
-
-install-data-am:
-install-data: install-data-recursive
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-recursive
-uninstall-am:
-uninstall: uninstall-recursive
-all-am: Makefile
-all-redirect: all-recursive
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs: installdirs-recursive
-installdirs-am:
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
-	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am:  mostlyclean-tags mostlyclean-generic
-
-mostlyclean: mostlyclean-recursive
-
-clean-am:  clean-tags clean-generic mostlyclean-am
-
-clean: clean-recursive
-
-distclean-am:  distclean-tags distclean-generic clean-am
-	-rm -f libtool
-
-distclean: distclean-recursive
-
-maintainer-clean-am:  maintainer-clean-tags maintainer-clean-generic \
-		distclean-am
-	@echo "This command is intended for maintainers to use;"
-	@echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-recursive
-
-.PHONY: install-data-recursive uninstall-data-recursive \
-install-exec-recursive uninstall-exec-recursive installdirs-recursive \
-uninstalldirs-recursive all-recursive check-recursive \
-installcheck-recursive info-recursive dvi-recursive \
-mostlyclean-recursive distclean-recursive clean-recursive \
-maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs-am \
-installdirs mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
Index: /unk/third/nautilus/components/services/vault/Makefile.am
===================================================================
--- /trunk/third/nautilus/components/services/vault/Makefile.am (revision 15547)
+++  (revision )
@@ -1,1 +1,0 @@
-SUBDIRS = command-line
Index: /unk/third/nautilus/components/services/summary/lib/eazel-summary-shared.c
===================================================================
--- /trunk/third/nautilus/components/services/summary/lib/eazel-summary-shared.c (revision 15547)
+++  (revision )
@@ -1,326 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: J Shane Culpepper <pepper@eazel.com>
- */
-
-#include <config.h>
-
-#include "eazel-summary-shared.h"
-
-#include <libtrilobite/libtrilobite.h>
-#include <gnome.h>
-#include <glib.h>
-#include <gnome-xml/tree.h>
-#include <gnome-xml/parser.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-static GList * build_services_glist_from_xml (xmlNodePtr node);
-static GList * build_eazel_news_glist_from_xml (xmlNodePtr node);
-static GList * build_update_news_glist_from_xml (xmlNodePtr node);
-static SummaryData * summary_data_new (void);
-static ServicesData * services_data_new (void);
-static EazelNewsData * eazel_news_data_new (void);
-static UpdateNewsData * update_news_data_new (void);
-static ServicesData * parse_a_service (xmlNodePtr node);
-static EazelNewsData * parse_a_eazel_news_item (xmlNodePtr node);
-static UpdateNewsData * parse_a_update_news_item (xmlNodePtr node);
-
-
-static SummaryData *
-summary_data_new ()
-{
-	SummaryData	*return_value;
-	return_value = g_new0 (SummaryData, 1);
-
-	return_value->services_list = NULL;
-	return_value->eazel_news_list = NULL;
-	return_value->update_news_list = NULL;
-
-	return return_value;
-
-} /* end summary_data_new */
-
-static ServicesData *
-services_data_new ()
-{
-	ServicesData	*return_value;
-	return_value = g_new0 (ServicesData, 1);
-
-	return_value->name = NULL;
-	return_value->icon = NULL;
-	return_value->button_label = NULL;
-	return_value->description_header = NULL;
-	return_value->description = NULL;
-	return_value->enabled = TRUE;
-
-	return return_value;
-
-} /* end services_data_new */
-
-static EazelNewsData *
-eazel_news_data_new ()
-{
-	EazelNewsData	*return_value;
-	return_value = g_new0 (EazelNewsData, 1);
-
-	return_value->name = NULL;
-	return_value->icon = NULL;
-	return_value->date = NULL;
-	return_value->message = NULL;
-
-	return return_value;
-
-} /* end eazel_news_data_new */
-
-static UpdateNewsData *
-update_news_data_new ()
-{
-	UpdateNewsData	*return_value;
-	return_value = g_new0 (UpdateNewsData, 1);
-
-	return_value->name = NULL;
-	return_value->version = NULL;
-	return_value->priority = NULL;
-	return_value->description = NULL;
-	return_value->icon = NULL;
-	return_value->button_label = NULL;
-	return_value->uri = NULL;
-	return_value->softcat_uri = NULL;
-
-	return return_value;
-
-} /* end update_news_data_new */
-
-static ServicesData *
-parse_a_service (xmlNodePtr node)
-{
-	ServicesData	*return_value;
-	char		*tempbuf;
-
-	return_value = services_data_new ();
-
-	return_value->name = g_strdup (trilobite_xml_get_string (node, "NAME"));
-	return_value->icon = g_strdup (trilobite_xml_get_string (node, "ICON"));
-	return_value->button_label = g_strdup (trilobite_xml_get_string (node, "BUTTON_LABEL"));
-	return_value->uri = g_strdup (trilobite_xml_get_string (node, "URI"));
-	return_value->description_header = g_strdup (trilobite_xml_get_string (node, "DESCRIPTION_HEADER"));
-	return_value->description = g_strdup (trilobite_xml_get_string (node, "DESCRIPTION"));
-	tempbuf = g_strdup (trilobite_xml_get_string (node, "ENABLED"));
-	if (tempbuf[0] == 'T' || tempbuf[0] == 't') {
-		return_value->enabled = TRUE;
-	}
-	else if (tempbuf[0] == 'F' || tempbuf[0] == 'f') {
-		return_value->enabled = FALSE;
-	}
-	else {
-		g_warning (_("Could not find a valid boolean value for grey_out!"));
-		return_value->enabled = FALSE;
-	}
-
-	return return_value;
-
-} /* end parse_a_service */
-
-static EazelNewsData *
-parse_a_eazel_news_item (xmlNodePtr node)
-{
-	EazelNewsData *return_value;
-	return_value = eazel_news_data_new ();
-
-	return_value->name = g_strdup (trilobite_xml_get_string (node, "NAME"));
-	return_value->icon = g_strdup (trilobite_xml_get_string (node, "ICON"));
-	return_value->date = g_strdup (trilobite_xml_get_string (node, "DATE"));
-	return_value->message = g_strdup (trilobite_xml_get_string (node, "MESSAGE"));
-
-	return return_value;
-
-} /* end parse_a_eazel_news_item */
-
-static UpdateNewsData *
-parse_a_update_news_item (xmlNodePtr node)
-{
-	UpdateNewsData *return_value;
-	return_value = update_news_data_new ();
-
-	return_value->name = g_strdup (trilobite_xml_get_string (node, "NAME"));
-	return_value->version = g_strdup (trilobite_xml_get_string (node, "VERSION"));
-	return_value->priority = g_strdup (trilobite_xml_get_string (node, "PRIORITY"));
-	return_value->description = g_strdup (trilobite_xml_get_string (node, "DESCRIPTION"));
-	return_value->icon = g_strdup (trilobite_xml_get_string (node, "ICON"));
-	return_value->button_label = g_strdup (trilobite_xml_get_string (node, "BUTTON_LABEL"));
-	return_value->uri = g_strdup (trilobite_xml_get_string (node, "URI"));
-	return_value->softcat_uri = g_strdup (trilobite_xml_get_string (node, "SOFTCAT_URI"));
-
-	return return_value;
-
-} /* end parse_a_update_news_item */
-
-static GList *
-build_services_glist_from_xml (xmlNodePtr node)
-{
-	GList		*return_value;
-	xmlNodePtr	service;
-
-	return_value = NULL;
-	service = node->xmlChildrenNode;
-	if (service == NULL) {
-		g_warning (_("There is no service data !\n"));
-		return NULL;
-	}
-
-	while (service) {
-		ServicesData	*sdata;
-
-		sdata = parse_a_service (service);
-		return_value = g_list_append (return_value, sdata);
-		service = service->next;
-	}
-
-	return return_value;
-
-} /* end build_services_glist_from_xml */
-
-static GList *
-build_eazel_news_glist_from_xml (xmlNodePtr node)
-{
-	GList		*return_value;
-	xmlNodePtr	news_item;
-
-	return_value = NULL;
-	news_item = node->xmlChildrenNode;
-	if (news_item == NULL) {
-		g_warning (_("There is no eazel news data !\n"));
-		return NULL;
-	}
-
-	while (news_item) {
-		EazelNewsData	*ndata;
-
-		ndata = parse_a_eazel_news_item (news_item);
-		return_value = g_list_append (return_value, ndata);
-		news_item = news_item->next;
-	}
-
-	return return_value;
-
-} /* end build_eazel_news_glist_from_xml */
-
-static GList *
-build_update_news_glist_from_xml (xmlNodePtr node)
-{
-	GList		*return_value;
-	xmlNodePtr	news_item;
-
-	return_value = NULL;
-	news_item = node->xmlChildrenNode;
-	if (news_item == NULL) {
-		g_warning (_("There is no eazel news data !\n"));
-		return NULL;
-	}
-
-	while (news_item) {
-		UpdateNewsData	*ndata;
-
-		ndata = parse_a_update_news_item (news_item);
-		return_value = g_list_append (return_value, ndata);
-		news_item = news_item->next;
-	}
-
-	return return_value;
-
-} /* end build_update_news_glist_from_xml */
-
-
-SummaryData *
-parse_summary_xml_file (const char *url)
-{
-
-	SummaryData	*return_value;
-	char		*body;
-	int		length;
-	xmlDocPtr	doc;
-	xmlNodePtr	base;
-	xmlNodePtr	child;
-
-	/* fetch remote config file into memory */
-	if (! trilobite_fetch_uri (url, &body, &length)) {
-		g_assert (_("Could not fetch summary configuration !"));
-		return NULL;
-	}
-
-	/* <rant> libxml will have a temper tantrum if there is whitespace before the
-	*          * first tag.  so we must babysit it.
-	*                   */
-	while ((length > 0) && (*body <= ' ')) {
-		body++, length--;
-	}
-
-	doc = xmlParseMemory (body, length);
-	 if (doc == NULL) {
-		 g_warning ("Invalid data in summary configuration: %s", body);
-		 return NULL;
-	}
-
-	return_value = summary_data_new ();
-
-	base = doc->root;
-
-	if (base == NULL) {
-		xmlFreeDoc (doc);
-		g_warning (_("The summary configuration contains no data!\n"));
-		return NULL;
-	}
-
-	if (g_strcasecmp (base->name, "SUMMARY_DATA")) {
-		g_print (_("Cannot find the SUMMARY_DATA xmlnode!\n"));
-		xmlFreeDoc (doc);
-		g_warning (_("Bailing from the SUMMARY_DATA parse!\n"));
-		return NULL;
-	}
-
-	child = doc->root->xmlChildrenNode;
-
-	if (child == NULL) {
-		g_print (_("Could not find any summary configuration data!\n"));
-		xmlFreeDoc (doc);
-		g_warning (_("Bailing from summary configuration parse!\n"));
-		return NULL;
-	}
-
-	while (child) {
-		if (g_strcasecmp (child->name, "SERVICES") == 0) {
-			return_value->services_list = build_services_glist_from_xml (child);
-		}
-		if (g_strcasecmp (child->name, "EAZEL_NEWS") == 0) {
-			return_value->eazel_news_list = build_eazel_news_glist_from_xml (child);
-		}
-		if (g_strcasecmp (child->name, "UPDATE_NEWS") == 0) {
-			return_value->update_news_list = build_update_news_glist_from_xml (child);
-		}
-		child = child->next;
-	}
-
-	return return_value;
-
-} /* parse_summary_xml_file */
-
Index: /unk/third/nautilus/components/services/summary/lib/Makefile.in
===================================================================
--- /trunk/third/nautilus/components/services/summary/lib/Makefile.in (revision 15547)
+++  (revision )
@@ -1,390 +1,0 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ../../../..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_alias = @host_alias@
-host_triplet = @host@
-AMMONITE_CFLAGS = @AMMONITE_CFLAGS@
-AMMONITE_LIBS = @AMMONITE_LIBS@
-APPLETS_CFLAGS = @APPLETS_CFLAGS@
-APPLETS_LIBS = @APPLETS_LIBS@
-AS = @AS@
-BONOBOX_CFLAGS = @BONOBOX_CFLAGS@
-BONOBOX_LIBS = @BONOBOX_LIBS@
-BONOBO_CFLAGS = @BONOBO_CFLAGS@
-BONOBO_LIBS = @BONOBO_LIBS@
-BONOBO_PRINT_CFLAGS = @BONOBO_PRINT_CFLAGS@
-BONOBO_PRINT_LIBS = @BONOBO_PRINT_LIBS@
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
-CC = @CC@
-CPP = @CPP@
-CXX = @CXX@
-DATADIRNAME = @DATADIRNAME@
-DLLTOOL = @DLLTOOL@
-EAZEL_SERVICES = @EAZEL_SERVICES@
-ENABLE_PROFILER = @ENABLE_PROFILER@
-ESD_CFLAGS = @ESD_CFLAGS@
-ESD_CONFIG = @ESD_CONFIG@
-ESD_LIBS = @ESD_LIBS@
-FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
-FREETYPE2_LIBS = @FREETYPE2_LIBS@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_CONFIG = @GCONF_CONFIG@
-GCONF_LIBS = @GCONF_LIBS@
-GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@
-GDK_PIXBUF_CONFIG = @GDK_PIXBUF_CONFIG@
-GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@
-GENCAT = @GENCAT@
-GHTTP_CFLAGS = @GHTTP_CFLAGS@
-GHTTP_LIBS = @GHTTP_LIBS@
-GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_CONFIG = @GLIB_CONFIG@
-GLIB_LIBS = @GLIB_LIBS@
-GMOFILES = @GMOFILES@
-GMSGFMT = @GMSGFMT@
-GNOMECANVASPIXBUF_INCLUDEDIR = @GNOMECANVASPIXBUF_INCLUDEDIR@
-GNOMECANVASPIXBUF_LIBS = @GNOMECANVASPIXBUF_LIBS@
-GNOMEUI_CFLAGS = @GNOMEUI_CFLAGS@
-GNOMEUI_LIBS = @GNOMEUI_LIBS@
-GNOME_CFLAGS = @GNOME_CFLAGS@
-GNOME_CONFIG = @GNOME_CONFIG@
-GNOME_LIBS = @GNOME_LIBS@
-GNORBA_CFLAGS = @GNORBA_CFLAGS@
-GNORBA_LIBS = @GNORBA_LIBS@
-GTK_CFLAGS = @GTK_CFLAGS@
-GTK_CONFIG = @GTK_CONFIG@
-GTK_LIBS = @GTK_LIBS@
-GT_NO = @GT_NO@
-GT_YES = @GT_YES@
-HAVE_APPLETS = @HAVE_APPLETS@
-IDL_CFLAGS = @IDL_CFLAGS@
-INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
-INSTOBJEXT = @INSTOBJEXT@
-INTLDEPS = @INTLDEPS@
-INTLLIBS = @INTLLIBS@
-INTLOBJS = @INTLOBJS@
-LIBPNG = @LIBPNG@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MEDUSA_CFLAGS = @MEDUSA_CFLAGS@
-MEDUSA_LIBS = @MEDUSA_LIBS@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-MOZILLA_COMPONENT_CFLAGS = @MOZILLA_COMPONENT_CFLAGS@
-MOZILLA_COMPONENT_DEBUG_FLAGS = @MOZILLA_COMPONENT_DEBUG_FLAGS@
-MOZILLA_COMPONENT_LDFLAGS = @MOZILLA_COMPONENT_LDFLAGS@
-MOZILLA_COMPONENT_LIBS = @MOZILLA_COMPONENT_LIBS@
-MOZILLA_COMPONENT_RPATH_FLAGS = @MOZILLA_COMPONENT_RPATH_FLAGS@
-MOZILLA_MILESTONE = @MOZILLA_MILESTONE@
-OAF_CFLAGS = @OAF_CFLAGS@
-OAF_CONFIG = @OAF_CONFIG@
-OAF_LIBS = @OAF_LIBS@
-OBJDUMP = @OBJDUMP@
-ORBIT_CFLAGS = @ORBIT_CFLAGS@
-ORBIT_CONFIG = @ORBIT_CONFIG@
-ORBIT_IDL = @ORBIT_IDL@
-ORBIT_LIBS = @ORBIT_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGESYSTEM = @PACKAGESYSTEM@
-PAM_LIBS = @PAM_LIBS@
-POFILES = @POFILES@
-POSUB = @POSUB@
-RANLIB = @RANLIB@
-RPM_LIBS = @RPM_LIBS@
-RPM_VERSION = @RPM_VERSION@
-USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-VFS_CFLAGS = @VFS_CFLAGS@
-VFS_LIBS = @VFS_LIBS@
-XML_CFLAGS = @XML_CFLAGS@
-XML_CONFIG = @XML_CONFIG@
-XML_I18N_EXTRACT = @XML_I18N_EXTRACT@
-XML_I18N_MERGE = @XML_I18N_MERGE@
-XML_I18N_UPDATE = @XML_I18N_UPDATE@
-XML_LIBS = @XML_LIBS@
-ZVT_LIBS = @ZVT_LIBS@
-Z_LIBS = @Z_LIBS@
-gnomelocaledir = @gnomelocaledir@
-l = @l@
-
-NULL = 
-
-INCLUDES =  	-DPREFIX=\"$(prefix)\" 							-DG_LOG_DOMAIN=\"trilobite-eazel-summary\"				-DSTANDALONE								-I$(top_srcdir)								-I$(top_builddir)						        -I$(top_srcdir)/components/services/trilobite				$(GNOME_CFLAGS)								$(GCONF_CFLAGS)								$(GHTTP_CFLAGS)								$(NULL)
-
-
-noinst_LIBRARIES = libsummary.a
-
-libsummary_a_SOURCES =  	eazel-summary-shared.h							eazel-summary-shared.c							$(NULL)
-
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../../../../config.h
-CONFIG_CLEAN_FILES = 
-LIBRARIES =  $(noinst_LIBRARIES)
-
-
-DEFS = @DEFS@ -I. -I$(srcdir) -I../../../..
-CPPFLAGS = @CPPFLAGS@
-LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
-libsummary_a_LIBADD = 
-libsummary_a_OBJECTS =  eazel-summary-shared.o
-AR = ar
-CFLAGS = @CFLAGS@
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
-DIST_COMMON =  Makefile.am Makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = gtar
-GZIP_ENV = --best
-SOURCES = $(libsummary_a_SOURCES)
-OBJECTS = $(libsummary_a_OBJECTS)
-
-all: all-redirect
-.SUFFIXES:
-.SUFFIXES: .S .c .lo .o .s
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps components/services/summary/lib/Makefile
-
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) \
-	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-
-mostlyclean-noinstLIBRARIES:
-
-clean-noinstLIBRARIES:
-	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-
-distclean-noinstLIBRARIES:
-
-maintainer-clean-noinstLIBRARIES:
-
-.c.o:
-	$(COMPILE) -c $<
-
-.s.o:
-	$(COMPILE) -c $<
-
-.S.o:
-	$(COMPILE) -c $<
-
-mostlyclean-compile:
-	-rm -f *.o core *.core
-
-clean-compile:
-
-distclean-compile:
-	-rm -f *.tab.c
-
-maintainer-clean-compile:
-
-.c.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.s.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.S.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-
-distclean-libtool:
-
-maintainer-clean-libtool:
-
-libsummary.a: $(libsummary_a_OBJECTS) $(libsummary_a_DEPENDENCIES)
-	-rm -f libsummary.a
-	$(AR) cru libsummary.a $(libsummary_a_OBJECTS) $(libsummary_a_LIBADD)
-	$(RANLIB) libsummary.a
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
-	list='$(SOURCES) $(HEADERS)'; \
-	unique=`for i in $$list; do echo $$i; done | \
-	  awk '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	here=`pwd` && cd $(srcdir) \
-	  && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
-	tags=; \
-	here=`pwd`; \
-	list='$(SOURCES) $(HEADERS)'; \
-	unique=`for i in $$list; do echo $$i; done | \
-	  awk '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
-	-rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = components/services/summary/lib
-
-distdir: $(DISTFILES)
-	@for file in $(DISTFILES); do \
-	  d=$(srcdir); \
-	  if test -d $$d/$$file; then \
-	    cp -pr $$d/$$file $(distdir)/$$file; \
-	  else \
-	    test -f $(distdir)/$$file \
-	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
-	    || cp -p $$d/$$file $(distdir)/$$file || :; \
-	  fi; \
-	done
-
-info-am:
-info: info-am
-dvi-am:
-dvi: dvi-am
-check-am: all-am
-check: check-am
-installcheck-am:
-installcheck: installcheck-am
-install-exec-am:
-install-exec: install-exec-am
-
-install-data-am:
-install-data: install-data-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-am
-uninstall-am:
-uninstall: uninstall-am
-all-am: Makefile $(LIBRARIES)
-all-redirect: all-am
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs:
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
-	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am:  mostlyclean-noinstLIBRARIES mostlyclean-compile \
-		mostlyclean-libtool mostlyclean-tags \
-		mostlyclean-generic
-
-mostlyclean: mostlyclean-am
-
-clean-am:  clean-noinstLIBRARIES clean-compile clean-libtool clean-tags \
-		clean-generic mostlyclean-am
-
-clean: clean-am
-
-distclean-am:  distclean-noinstLIBRARIES distclean-compile \
-		distclean-libtool distclean-tags distclean-generic \
-		clean-am
-	-rm -f libtool
-
-distclean: distclean-am
-
-maintainer-clean-am:  maintainer-clean-noinstLIBRARIES \
-		maintainer-clean-compile maintainer-clean-libtool \
-		maintainer-clean-tags maintainer-clean-generic \
-		distclean-am
-	@echo "This command is intended for maintainers to use;"
-	@echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-am
-
-.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
-clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
-mostlyclean-compile distclean-compile clean-compile \
-maintainer-clean-compile mostlyclean-libtool distclean-libtool \
-clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
Index: /unk/third/nautilus/components/services/summary/lib/eazel-summary-shared.h
===================================================================
--- /trunk/third/nautilus/components/services/summary/lib/eazel-summary-shared.h (revision 15547)
+++  (revision )
@@ -1,71 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: J Shane Culpepper
- */
-
-#ifndef EAZEL_SUMMARY_SHARED_H
-#define EAZEL_SUAMMRY_SHARED_H
-
-#include <libnautilus/nautilus-view.h>
-#include <gtk/gtk.h>
-
-typedef struct _ServicesData ServicesData;
-typedef struct _EazelNewsData EazelNewsData;
-typedef struct _UpdateNewsData UpdateNewsData;
-typedef struct _SummaryData SummaryData;
-
-struct _ServicesData {
-	char		*name;
-	char		*icon;
-	char		*button_label;
-	char		*uri;
-	char		*description_header;
-	char		*description;
-	gboolean	enabled;
-};
-
-struct _EazelNewsData {
-	char		*name;
-	char		*icon;
-	char		*date;
-	char		*message;
-};
-
-struct _UpdateNewsData {
-	char		*name;
-	char		*version;
-	char		*priority;
-	char		*description;
-	char		*icon;
-	char		*button_label;
-	char		*uri;
-	char		*softcat_uri;
-};
-
-struct _SummaryData {
-	GList	*services_list;
-	GList	*eazel_news_list;
-	GList	*update_news_list;
-};
-
-SummaryData * parse_summary_xml_file (const char *url);
-
-#endif /* EAZEL_SUMMARY_SHARED_H */
-
Index: /unk/third/nautilus/components/services/summary/lib/Makefile.am
===================================================================
--- /trunk/third/nautilus/components/services/summary/lib/Makefile.am (revision 15547)
+++  (revision )
@@ -1,21 +1,0 @@
-NULL =
-
-INCLUDES = \
-	-DPREFIX=\"$(prefix)\" 						\
-	-DG_LOG_DOMAIN=\"trilobite-eazel-summary\"			\
-	-DSTANDALONE							\
-	-I$(top_srcdir)							\
-	-I$(top_builddir)						\
-        -I$(top_srcdir)/components/services/trilobite			\
-	$(GNOME_CFLAGS)							\
-	$(GCONF_CFLAGS)							\
-	$(GHTTP_CFLAGS)							\
-	$(NULL)
-
-noinst_LIBRARIES = libsummary.a
-
-libsummary_a_SOURCES =							\
-	eazel-summary-shared.h						\
-	eazel-summary-shared.c						\
-	$(NULL)
-
Index: /unk/third/nautilus/components/services/summary/nautilus-view/icons/gray_tab_pieces/Makefile.in
===================================================================
--- /trunk/third/nautilus/components/services/summary/nautilus-view/icons/gray_tab_pieces/Makefile.in (revision 15547)
+++  (revision )
@@ -1,300 +1,0 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ../../../../../..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_alias = @host_alias@
-host_triplet = @host@
-AMMONITE_CFLAGS = @AMMONITE_CFLAGS@
-AMMONITE_LIBS = @AMMONITE_LIBS@
-APPLETS_CFLAGS = @APPLETS_CFLAGS@
-APPLETS_LIBS = @APPLETS_LIBS@
-AS = @AS@
-BONOBOX_CFLAGS = @BONOBOX_CFLAGS@
-BONOBOX_LIBS = @BONOBOX_LIBS@
-BONOBO_CFLAGS = @BONOBO_CFLAGS@
-BONOBO_LIBS = @BONOBO_LIBS@
-BONOBO_PRINT_CFLAGS = @BONOBO_PRINT_CFLAGS@
-BONOBO_PRINT_LIBS = @BONOBO_PRINT_LIBS@
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
-CC = @CC@
-CPP = @CPP@
-CXX = @CXX@
-DATADIRNAME = @DATADIRNAME@
-DLLTOOL = @DLLTOOL@
-EAZEL_SERVICES = @EAZEL_SERVICES@
-ENABLE_PROFILER = @ENABLE_PROFILER@
-ESD_CFLAGS = @ESD_CFLAGS@
-ESD_CONFIG = @ESD_CONFIG@
-ESD_LIBS = @ESD_LIBS@
-FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
-FREETYPE2_LIBS = @FREETYPE2_LIBS@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_CONFIG = @GCONF_CONFIG@
-GCONF_LIBS = @GCONF_LIBS@
-GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@
-GDK_PIXBUF_CONFIG = @GDK_PIXBUF_CONFIG@
-GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@
-GENCAT = @GENCAT@
-GHTTP_CFLAGS = @GHTTP_CFLAGS@
-GHTTP_LIBS = @GHTTP_LIBS@
-GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_CONFIG = @GLIB_CONFIG@
-GLIB_LIBS = @GLIB_LIBS@
-GMOFILES = @GMOFILES@
-GMSGFMT = @GMSGFMT@
-GNOMECANVASPIXBUF_INCLUDEDIR = @GNOMECANVASPIXBUF_INCLUDEDIR@
-GNOMECANVASPIXBUF_LIBS = @GNOMECANVASPIXBUF_LIBS@
-GNOMEUI_CFLAGS = @GNOMEUI_CFLAGS@
-GNOMEUI_LIBS = @GNOMEUI_LIBS@
-GNOME_CFLAGS = @GNOME_CFLAGS@
-GNOME_CONFIG = @GNOME_CONFIG@
-GNOME_LIBS = @GNOME_LIBS@
-GNORBA_CFLAGS = @GNORBA_CFLAGS@
-GNORBA_LIBS = @GNORBA_LIBS@
-GTK_CFLAGS = @GTK_CFLAGS@
-GTK_CONFIG = @GTK_CONFIG@
-GTK_LIBS = @GTK_LIBS@
-GT_NO = @GT_NO@
-GT_YES = @GT_YES@
-HAVE_APPLETS = @HAVE_APPLETS@
-IDL_CFLAGS = @IDL_CFLAGS@
-INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
-INSTOBJEXT = @INSTOBJEXT@
-INTLDEPS = @INTLDEPS@
-INTLLIBS = @INTLLIBS@
-INTLOBJS = @INTLOBJS@
-LIBPNG = @LIBPNG@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MEDUSA_CFLAGS = @MEDUSA_CFLAGS@
-MEDUSA_LIBS = @MEDUSA_LIBS@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-MOZILLA_COMPONENT_CFLAGS = @MOZILLA_COMPONENT_CFLAGS@
-MOZILLA_COMPONENT_DEBUG_FLAGS = @MOZILLA_COMPONENT_DEBUG_FLAGS@
-MOZILLA_COMPONENT_LDFLAGS = @MOZILLA_COMPONENT_LDFLAGS@
-MOZILLA_COMPONENT_LIBS = @MOZILLA_COMPONENT_LIBS@
-MOZILLA_COMPONENT_RPATH_FLAGS = @MOZILLA_COMPONENT_RPATH_FLAGS@
-MOZILLA_MILESTONE = @MOZILLA_MILESTONE@
-OAF_CFLAGS = @OAF_CFLAGS@
-OAF_CONFIG = @OAF_CONFIG@
-OAF_LIBS = @OAF_LIBS@
-OBJDUMP = @OBJDUMP@
-ORBIT_CFLAGS = @ORBIT_CFLAGS@
-ORBIT_CONFIG = @ORBIT_CONFIG@
-ORBIT_IDL = @ORBIT_IDL@
-ORBIT_LIBS = @ORBIT_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGESYSTEM = @PACKAGESYSTEM@
-PAM_LIBS = @PAM_LIBS@
-POFILES = @POFILES@
-POSUB = @POSUB@
-RANLIB = @RANLIB@
-RPM_LIBS = @RPM_LIBS@
-RPM_VERSION = @RPM_VERSION@
-USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-VFS_CFLAGS = @VFS_CFLAGS@
-VFS_LIBS = @VFS_LIBS@
-XML_CFLAGS = @XML_CFLAGS@
-XML_CONFIG = @XML_CONFIG@
-XML_I18N_EXTRACT = @XML_I18N_EXTRACT@
-XML_I18N_MERGE = @XML_I18N_MERGE@
-XML_I18N_UPDATE = @XML_I18N_UPDATE@
-XML_LIBS = @XML_LIBS@
-ZVT_LIBS = @ZVT_LIBS@
-Z_LIBS = @Z_LIBS@
-gnomelocaledir = @gnomelocaledir@
-l = @l@
-
-NULL = 
-
-graytabdir = $(datadir)/pixmaps/nautilus/gray_tab_pieces
-
-graytab_DATA =  	active-fill.png				active-inactive-bridge.png		active-left-bumper.png			active-prelight-bridge.png		active-right-bumper.png			fill-background.png			inactive-active-bridge.png		inactive-fill.png			inactive-left-bumper.png		inactive-right-bumper.png		prelight-active-bridge.png		prelight-fill.png			prelight-left-bumper.png		prelight-right-bumper.png		$(NULL)
-
-
-EXTRA_DIST = $(graytab_DATA)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../../../../../../config.h
-CONFIG_CLEAN_FILES = 
-DATA =  $(graytab_DATA)
-
-DIST_COMMON =  Makefile.am Makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = gtar
-GZIP_ENV = --best
-all: all-redirect
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps components/services/summary/nautilus-view/icons/gray_tab_pieces/Makefile
-
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) \
-	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-
-install-graytabDATA: $(graytab_DATA)
-	@$(NORMAL_INSTALL)
-	$(mkinstalldirs) $(DESTDIR)$(graytabdir)
-	@list='$(graytab_DATA)'; for p in $$list; do \
-	  if test -f $(srcdir)/$$p; then \
-	    echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(graytabdir)/$$p"; \
-	    $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(graytabdir)/$$p; \
-	  else if test -f $$p; then \
-	    echo " $(INSTALL_DATA) $$p $(DESTDIR)$(graytabdir)/$$p"; \
-	    $(INSTALL_DATA) $$p $(DESTDIR)$(graytabdir)/$$p; \
-	  fi; fi; \
-	done
-
-uninstall-graytabDATA:
-	@$(NORMAL_UNINSTALL)
-	list='$(graytab_DATA)'; for p in $$list; do \
-	  rm -f $(DESTDIR)$(graytabdir)/$$p; \
-	done
-tags: TAGS
-TAGS:
-
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = components/services/summary/nautilus-view/icons/gray_tab_pieces
-
-distdir: $(DISTFILES)
-	@for file in $(DISTFILES); do \
-	  d=$(srcdir); \
-	  if test -d $$d/$$file; then \
-	    cp -pr $$d/$$file $(distdir)/$$file; \
-	  else \
-	    test -f $(distdir)/$$file \
-	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
-	    || cp -p $$d/$$file $(distdir)/$$file || :; \
-	  fi; \
-	done
-info-am:
-info: info-am
-dvi-am:
-dvi: dvi-am
-check-am: all-am
-check: check-am
-installcheck-am:
-installcheck: installcheck-am
-install-exec-am:
-install-exec: install-exec-am
-
-install-data-am: install-graytabDATA
-install-data: install-data-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-am
-uninstall-am: uninstall-graytabDATA
-uninstall: uninstall-am
-all-am: Makefile $(DATA)
-all-redirect: all-am
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs:
-	$(mkinstalldirs)  $(DESTDIR)$(graytabdir)
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
-	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am:  mostlyclean-generic
-
-mostlyclean: mostlyclean-am
-
-clean-am:  clean-generic mostlyclean-am
-
-clean: clean-am
-
-distclean-am:  distclean-generic clean-am
-	-rm -f libtool
-
-distclean: distclean-am
-
-maintainer-clean-am:  maintainer-clean-generic distclean-am
-	@echo "This command is intended for maintainers to use;"
-	@echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-am
-
-.PHONY: uninstall-graytabDATA install-graytabDATA tags distdir info-am \
-info dvi-am dvi check check-am installcheck-am installcheck \
-install-exec-am install-exec install-data-am install-data install-am \
-install uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
Index: /unk/third/nautilus/components/services/summary/nautilus-view/icons/gray_tab_pieces/Makefile.am
===================================================================
--- /trunk/third/nautilus/components/services/summary/nautilus-view/icons/gray_tab_pieces/Makefile.am (revision 15547)
+++  (revision )
@@ -1,22 +1,0 @@
-NULL=
-
-graytabdir = $(datadir)/pixmaps/nautilus/gray_tab_pieces
-
-graytab_DATA = \
-	active-fill.png			\
-	active-inactive-bridge.png	\
-	active-left-bumper.png		\
-	active-prelight-bridge.png	\
-	active-right-bumper.png		\
-	fill-background.png		\
-	inactive-active-bridge.png	\
-	inactive-fill.png		\
-	inactive-left-bumper.png	\
-	inactive-right-bumper.png	\
-	prelight-active-bridge.png	\
-	prelight-fill.png		\
-	prelight-left-bumper.png	\
-	prelight-right-bumper.png	\
-	$(NULL)
-		
-EXTRA_DIST = $(graytab_DATA)
Index: /unk/third/nautilus/components/services/summary/nautilus-view/icons/Makefile.in
===================================================================
--- /trunk/third/nautilus/components/services/summary/nautilus-view/icons/Makefile.in (revision 15547)
+++  (revision )
@@ -1,377 +1,0 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ../../../../..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_alias = @host_alias@
-host_triplet = @host@
-AMMONITE_CFLAGS = @AMMONITE_CFLAGS@
-AMMONITE_LIBS = @AMMONITE_LIBS@
-APPLETS_CFLAGS = @APPLETS_CFLAGS@
-APPLETS_LIBS = @APPLETS_LIBS@
-AS = @AS@
-BONOBOX_CFLAGS = @BONOBOX_CFLAGS@
-BONOBOX_LIBS = @BONOBOX_LIBS@
-BONOBO_CFLAGS = @BONOBO_CFLAGS@
-BONOBO_LIBS = @BONOBO_LIBS@
-BONOBO_PRINT_CFLAGS = @BONOBO_PRINT_CFLAGS@
-BONOBO_PRINT_LIBS = @BONOBO_PRINT_LIBS@
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
-CC = @CC@
-CPP = @CPP@
-CXX = @CXX@
-DATADIRNAME = @DATADIRNAME@
-DLLTOOL = @DLLTOOL@
-EAZEL_SERVICES = @EAZEL_SERVICES@
-ENABLE_PROFILER = @ENABLE_PROFILER@
-ESD_CFLAGS = @ESD_CFLAGS@
-ESD_CONFIG = @ESD_CONFIG@
-ESD_LIBS = @ESD_LIBS@
-FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
-FREETYPE2_LIBS = @FREETYPE2_LIBS@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_CONFIG = @GCONF_CONFIG@
-GCONF_LIBS = @GCONF_LIBS@
-GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@
-GDK_PIXBUF_CONFIG = @GDK_PIXBUF_CONFIG@
-GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@
-GENCAT = @GENCAT@
-GHTTP_CFLAGS = @GHTTP_CFLAGS@
-GHTTP_LIBS = @GHTTP_LIBS@
-GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_CONFIG = @GLIB_CONFIG@
-GLIB_LIBS = @GLIB_LIBS@
-GMOFILES = @GMOFILES@
-GMSGFMT = @GMSGFMT@
-GNOMECANVASPIXBUF_INCLUDEDIR = @GNOMECANVASPIXBUF_INCLUDEDIR@
-GNOMECANVASPIXBUF_LIBS = @GNOMECANVASPIXBUF_LIBS@
-GNOMEUI_CFLAGS = @GNOMEUI_CFLAGS@
-GNOMEUI_LIBS = @GNOMEUI_LIBS@
-GNOME_CFLAGS = @GNOME_CFLAGS@
-GNOME_CONFIG = @GNOME_CONFIG@
-GNOME_LIBS = @GNOME_LIBS@
-GNORBA_CFLAGS = @GNORBA_CFLAGS@
-GNORBA_LIBS = @GNORBA_LIBS@
-GTK_CFLAGS = @GTK_CFLAGS@
-GTK_CONFIG = @GTK_CONFIG@
-GTK_LIBS = @GTK_LIBS@
-GT_NO = @GT_NO@
-GT_YES = @GT_YES@
-HAVE_APPLETS = @HAVE_APPLETS@
-IDL_CFLAGS = @IDL_CFLAGS@
-INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
-INSTOBJEXT = @INSTOBJEXT@
-INTLDEPS = @INTLDEPS@
-INTLLIBS = @INTLLIBS@
-INTLOBJS = @INTLOBJS@
-LIBPNG = @LIBPNG@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MEDUSA_CFLAGS = @MEDUSA_CFLAGS@
-MEDUSA_LIBS = @MEDUSA_LIBS@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-MOZILLA_COMPONENT_CFLAGS = @MOZILLA_COMPONENT_CFLAGS@
-MOZILLA_COMPONENT_DEBUG_FLAGS = @MOZILLA_COMPONENT_DEBUG_FLAGS@
-MOZILLA_COMPONENT_LDFLAGS = @MOZILLA_COMPONENT_LDFLAGS@
-MOZILLA_COMPONENT_LIBS = @MOZILLA_COMPONENT_LIBS@
-MOZILLA_COMPONENT_RPATH_FLAGS = @MOZILLA_COMPONENT_RPATH_FLAGS@
-MOZILLA_MILESTONE = @MOZILLA_MILESTONE@
-OAF_CFLAGS = @OAF_CFLAGS@
-OAF_CONFIG = @OAF_CONFIG@
-OAF_LIBS = @OAF_LIBS@
-OBJDUMP = @OBJDUMP@
-ORBIT_CFLAGS = @ORBIT_CFLAGS@
-ORBIT_CONFIG = @ORBIT_CONFIG@
-ORBIT_IDL = @ORBIT_IDL@
-ORBIT_LIBS = @ORBIT_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGESYSTEM = @PACKAGESYSTEM@
-PAM_LIBS = @PAM_LIBS@
-POFILES = @POFILES@
-POSUB = @POSUB@
-RANLIB = @RANLIB@
-RPM_LIBS = @RPM_LIBS@
-RPM_VERSION = @RPM_VERSION@
-USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-VFS_CFLAGS = @VFS_CFLAGS@
-VFS_LIBS = @VFS_LIBS@
-XML_CFLAGS = @XML_CFLAGS@
-XML_CONFIG = @XML_CONFIG@
-XML_I18N_EXTRACT = @XML_I18N_EXTRACT@
-XML_I18N_MERGE = @XML_I18N_MERGE@
-XML_I18N_UPDATE = @XML_I18N_UPDATE@
-XML_LIBS = @XML_LIBS@
-ZVT_LIBS = @ZVT_LIBS@
-Z_LIBS = @Z_LIBS@
-gnomelocaledir = @gnomelocaledir@
-l = @l@
-
-NULL = 
-
-SUBDIRS = gray_tab_pieces
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../../../../../config.h
-CONFIG_CLEAN_FILES = 
-DIST_COMMON =  Makefile.am Makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = gtar
-GZIP_ENV = --best
-all: all-redirect
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps components/services/summary/nautilus-view/icons/Makefile
-
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) \
-	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-
-@SET_MAKE@
-
-all-recursive install-data-recursive install-exec-recursive \
-installdirs-recursive install-recursive uninstall-recursive  \
-check-recursive installcheck-recursive info-recursive dvi-recursive:
-	@set fnord $(MAKEFLAGS); amf=$$2; \
-	dot_seen=no; \
-	target=`echo $@ | sed s/-recursive//`; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    dot_seen=yes; \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
-	done; \
-	if test "$$dot_seen" = "no"; then \
-	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-	fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
-	@set fnord $(MAKEFLAGS); amf=$$2; \
-	dot_seen=no; \
-	rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
-	  rev="$$subdir $$rev"; \
-	  test "$$subdir" = "." && dot_seen=yes; \
-	done; \
-	test "$$dot_seen" = "no" && rev=". $$rev"; \
-	target=`echo $@ | sed s/-recursive//`; \
-	for subdir in $$rev; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
-	done && test -z "$$fail"
-tags-recursive:
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-	done
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
-	list='$(SOURCES) $(HEADERS)'; \
-	unique=`for i in $$list; do echo $$i; done | \
-	  awk '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	here=`pwd` && cd $(srcdir) \
-	  && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
-	tags=; \
-	here=`pwd`; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-   if test "$$subdir" = .; then :; else \
-	    test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
-   fi; \
-	done; \
-	list='$(SOURCES) $(HEADERS)'; \
-	unique=`for i in $$list; do echo $$i; done | \
-	  awk '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
-	-rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = components/services/summary/nautilus-view/icons
-
-distdir: $(DISTFILES)
-	@for file in $(DISTFILES); do \
-	  d=$(srcdir); \
-	  if test -d $$d/$$file; then \
-	    cp -pr $$d/$$file $(distdir)/$$file; \
-	  else \
-	    test -f $(distdir)/$$file \
-	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
-	    || cp -p $$d/$$file $(distdir)/$$file || :; \
-	  fi; \
-	done
-	for subdir in $(SUBDIRS); do \
-	  if test "$$subdir" = .; then :; else \
-	    test -d $(distdir)/$$subdir \
-	    || mkdir $(distdir)/$$subdir \
-	    || exit 1; \
-	    chmod 777 $(distdir)/$$subdir; \
-	    (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
-	      || exit 1; \
-	  fi; \
-	done
-info-am:
-info: info-recursive
-dvi-am:
-dvi: dvi-recursive
-check-am: all-am
-check: check-recursive
-installcheck-am:
-installcheck: installcheck-recursive
-install-exec-am:
-install-exec: install-exec-recursive
-
-install-data-am:
-install-data: install-data-recursive
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-recursive
-uninstall-am:
-uninstall: uninstall-recursive
-all-am: Makefile
-all-redirect: all-recursive
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs: installdirs-recursive
-installdirs-am:
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
-	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am:  mostlyclean-tags mostlyclean-generic
-
-mostlyclean: mostlyclean-recursive
-
-clean-am:  clean-tags clean-generic mostlyclean-am
-
-clean: clean-recursive
-
-distclean-am:  distclean-tags distclean-generic clean-am
-	-rm -f libtool
-
-distclean: distclean-recursive
-
-maintainer-clean-am:  maintainer-clean-tags maintainer-clean-generic \
-		distclean-am
-	@echo "This command is intended for maintainers to use;"
-	@echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-recursive
-
-.PHONY: install-data-recursive uninstall-data-recursive \
-install-exec-recursive uninstall-exec-recursive installdirs-recursive \
-uninstalldirs-recursive all-recursive check-recursive \
-installcheck-recursive info-recursive dvi-recursive \
-mostlyclean-recursive distclean-recursive clean-recursive \
-maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs-am \
-installdirs mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
Index: /unk/third/nautilus/components/services/summary/nautilus-view/icons/Makefile.am
===================================================================
--- /trunk/third/nautilus/components/services/summary/nautilus-view/icons/Makefile.am (revision 15547)
+++  (revision )
@@ -1,3 +1,0 @@
-NULL=
-
-SUBDIRS = gray_tab_pieces
Index: /unk/third/nautilus/components/services/summary/nautilus-view/nautilus-summary-footer.h
===================================================================
--- /trunk/third/nautilus/components/services/summary/nautilus-view/nautilus-summary-footer.h (revision 15547)
+++  (revision )
@@ -1,31 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: J Shane Culpepper
- */
-
-#ifndef NAUTILUS_SUMMARY_FOOTER_H
-#define NAUTILUS_SUMMARY_FOOTER_H
-
-void	footer_item_clicked_callback	(GtkWidget	*widget,
-					 int		index,
-					 gpointer	callback_data);
-
-#endif /* NAUTILUS_SUMMARY_FOOTER_H */
-
Index: /unk/third/nautilus/components/services/summary/nautilus-view/nautilus-summary-view-ui.xml
===================================================================
--- /trunk/third/nautilus/components/services/summary/nautilus-view/nautilus-summary-view-ui.xml (revision 15547)
+++  (revision )
@@ -1,26 +1,0 @@
-<Root>
-<menu>
-	<placeholder name="Services Placeholder">
-		<submenu name="Services">
-			<placeholder name="Service Items">
-				<menuitem name="Register" 
-				  	_label="_Register for Eazel Services" 
-				  	_tip="Go to the Eazel Services Registration Form"
-				  	verb="Register"/>
-				<menuitem name="Login" 
-				  	_label="_Log in to Eazel Services" 
-				  	_tip="Show the log-in dialog box"
-				  	verb="Login"/>
-				<menuitem name="Preferences" 
-				  	_label="Service _Preferences" 
-				  	_tip="Configure your service preferences"
-				  	verb="Preferences"/>			
-				<menuitem name="Logout" 
-				  	_label="_Log out from Eazel Services" 
-				  	_tip="Log out from Eazel Services"
-				  	verb="Logout"/>			
-			</placeholder>
-		</submenu>
-	</placeholder>
-</menu>
-</Root>
Index: /unk/third/nautilus/components/services/summary/nautilus-view/Makefile.in
===================================================================
--- /trunk/third/nautilus/components/services/summary/nautilus-view/Makefile.in (revision 15547)
+++  (revision )
@@ -1,549 +1,0 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ../../../..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_alias = @host_alias@
-host_triplet = @host@
-AMMONITE_CFLAGS = @AMMONITE_CFLAGS@
-AMMONITE_LIBS = @AMMONITE_LIBS@
-APPLETS_CFLAGS = @APPLETS_CFLAGS@
-APPLETS_LIBS = @APPLETS_LIBS@
-AS = @AS@
-BONOBOX_CFLAGS = @BONOBOX_CFLAGS@
-BONOBOX_LIBS = @BONOBOX_LIBS@
-BONOBO_CFLAGS = @BONOBO_CFLAGS@
-BONOBO_LIBS = @BONOBO_LIBS@
-BONOBO_PRINT_CFLAGS = @BONOBO_PRINT_CFLAGS@
-BONOBO_PRINT_LIBS = @BONOBO_PRINT_LIBS@
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
-CC = @CC@
-CPP = @CPP@
-CXX = @CXX@
-DATADIRNAME = @DATADIRNAME@
-DLLTOOL = @DLLTOOL@
-EAZEL_SERVICES = @EAZEL_SERVICES@
-ENABLE_PROFILER = @ENABLE_PROFILER@
-ESD_CFLAGS = @ESD_CFLAGS@
-ESD_CONFIG = @ESD_CONFIG@
-ESD_LIBS = @ESD_LIBS@
-FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
-FREETYPE2_LIBS = @FREETYPE2_LIBS@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_CONFIG = @GCONF_CONFIG@
-GCONF_LIBS = @GCONF_LIBS@
-GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@
-GDK_PIXBUF_CONFIG = @GDK_PIXBUF_CONFIG@
-GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@
-GENCAT = @GENCAT@
-GHTTP_CFLAGS = @GHTTP_CFLAGS@
-GHTTP_LIBS = @GHTTP_LIBS@
-GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_CONFIG = @GLIB_CONFIG@
-GLIB_LIBS = @GLIB_LIBS@
-GMOFILES = @GMOFILES@
-GMSGFMT = @GMSGFMT@
-GNOMECANVASPIXBUF_INCLUDEDIR = @GNOMECANVASPIXBUF_INCLUDEDIR@
-GNOMECANVASPIXBUF_LIBS = @GNOMECANVASPIXBUF_LIBS@
-GNOMEUI_CFLAGS = @GNOMEUI_CFLAGS@
-GNOMEUI_LIBS = @GNOMEUI_LIBS@
-GNOME_CFLAGS = @GNOME_CFLAGS@
-GNOME_CONFIG = @GNOME_CONFIG@
-GNOME_LIBS = @GNOME_LIBS@
-GNORBA_CFLAGS = @GNORBA_CFLAGS@
-GNORBA_LIBS = @GNORBA_LIBS@
-GTK_CFLAGS = @GTK_CFLAGS@
-GTK_CONFIG = @GTK_CONFIG@
-GTK_LIBS = @GTK_LIBS@
-GT_NO = @GT_NO@
-GT_YES = @GT_YES@
-HAVE_APPLETS = @HAVE_APPLETS@
-IDL_CFLAGS = @IDL_CFLAGS@
-INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
-INSTOBJEXT = @INSTOBJEXT@
-INTLDEPS = @INTLDEPS@
-INTLLIBS = @INTLLIBS@
-INTLOBJS = @INTLOBJS@
-LIBPNG = @LIBPNG@
-LIBTOOL = @LIBTOOL@
-LN_S = @LN_S@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MEDUSA_CFLAGS = @MEDUSA_CFLAGS@
-MEDUSA_LIBS = @MEDUSA_LIBS@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-MOZILLA_COMPONENT_CFLAGS = @MOZILLA_COMPONENT_CFLAGS@
-MOZILLA_COMPONENT_DEBUG_FLAGS = @MOZILLA_COMPONENT_DEBUG_FLAGS@
-MOZILLA_COMPONENT_LDFLAGS = @MOZILLA_COMPONENT_LDFLAGS@
-MOZILLA_COMPONENT_LIBS = @MOZILLA_COMPONENT_LIBS@
-MOZILLA_COMPONENT_RPATH_FLAGS = @MOZILLA_COMPONENT_RPATH_FLAGS@
-MOZILLA_MILESTONE = @MOZILLA_MILESTONE@
-OAF_CFLAGS = @OAF_CFLAGS@
-OAF_CONFIG = @OAF_CONFIG@
-OAF_LIBS = @OAF_LIBS@
-OBJDUMP = @OBJDUMP@
-ORBIT_CFLAGS = @ORBIT_CFLAGS@
-ORBIT_CONFIG = @ORBIT_CONFIG@
-ORBIT_IDL = @ORBIT_IDL@
-ORBIT_LIBS = @ORBIT_LIBS@
-PACKAGE = @PACKAGE@
-PACKAGESYSTEM = @PACKAGESYSTEM@
-PAM_LIBS = @PAM_LIBS@
-POFILES = @POFILES@
-POSUB = @POSUB@
-RANLIB = @RANLIB@
-RPM_LIBS = @RPM_LIBS@
-RPM_VERSION = @RPM_VERSION@
-USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-VFS_CFLAGS = @VFS_CFLAGS@
-VFS_LIBS = @VFS_LIBS@
-XML_CFLAGS = @XML_CFLAGS@
-XML_CONFIG = @XML_CONFIG@
-XML_I18N_EXTRACT = @XML_I18N_EXTRACT@
-XML_I18N_MERGE = @XML_I18N_MERGE@
-XML_I18N_UPDATE = @XML_I18N_UPDATE@
-XML_LIBS = @XML_LIBS@
-ZVT_LIBS = @ZVT_LIBS@
-Z_LIBS = @Z_LIBS@
-gnomelocaledir = @gnomelocaledir@
-l = @l@
-
-NULL = 
-
-SUBDIRS = icons
-
-INCLUDES =  	-DPREFIX=\"$(prefix)\"							 -DG_LOG_DOMAIN=\"trilobite-eazel-summary\"				-DDATADIR=\"$(datadir)\"						-I$(top_srcdir)								-I$(top_srcdir)/components/services/nautilus-dependent-shared		-I$(top_srcdir)/components/services/trilobite				-I$(top_srcdir)/components/services/summary/lib				-I$(top_builddir)							$(GNOMEUI_CFLAGS)                       				$(GCONF_CFLAGS) 							-DGNOMELOCALEDIR=\""$(datadir)/locale"\"				$(VFS_CFLAGS) 								$(NULL)
-
-
-uidir = $(datadir)/gnome/ui
-ui_DATA = nautilus-summary-view-ui.xml
-
-bin_PROGRAMS =  	nautilus-summary-view
-
-
-nautilus_summary_view_SOURCES =  	nautilus-summary-view-private.h						nautilus-summary-callbacks.h						nautilus-summary-callbacks.c						nautilus-summary-menu-items.h						nautilus-summary-menu-items.c						nautilus-summary-dialogs.h						nautilus-summary-dialogs.c						nautilus-summary-footer.h						nautilus-summary-footer.c						nautilus-summary-view.h							nautilus-summary-view.c		    					main.c									$(NULL)
-
-
-nautilus_summary_view_LDADD =  	$(top_builddir)/components/services/trilobite/libtrilobite/libtrilobite.la 	$(top_builddir)/components/services/nautilus-dependent-shared/libnautilusdepshared.a 	$(top_builddir)/components/services/summary/lib/libsummary.a 	$(top_builddir)/libnautilus/libnautilus.la				$(top_builddir)/libnautilus-extensions/libnautilus-extensions.la		$(BONOBO_LIBS)								$(GNOMEUI_LIBS)								$(GCONF_LIBS)								$(VFS_LIBS)								$(GHTTP_LIBS)								$(OAF_LIBS)								$(AMMONITE_LIBS)							$(NULL)
-
-
-oafdir = $(datadir)/oaf
-oaf_in_files =  	Nautilus_View_services-summary.oaf.in		$(NULL)
-
-oaf_DATA = $(oaf_in_files:.oaf.in=.oaf)
-
-EXTRA_DIST = $(oaf_in_files) $(oaf_DATA) $(ui_DATA) 
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = ../../../../config.h
-CONFIG_CLEAN_FILES = 
-PROGRAMS =  $(bin_PROGRAMS)
-
-
-DEFS = @DEFS@ -I. -I$(srcdir) -I../../../..
-CPPFLAGS = @CPPFLAGS@
-LDFLAGS = @LDFLAGS@
-LIBS = @LIBS@
-nautilus_summary_view_OBJECTS =  nautilus-summary-callbacks.o \
-nautilus-summary-menu-items.o nautilus-summary-dialogs.o \
-nautilus-summary-footer.o nautilus-summary-view.o main.o
-nautilus_summary_view_DEPENDENCIES =  \
-$(top_builddir)/components/services/trilobite/libtrilobite/libtrilobite.la \
-$(top_builddir)/components/services/nautilus-dependent-shared/libnautilusdepshared.a \
-$(top_builddir)/components/services/summary/lib/libsummary.a \
-$(top_builddir)/libnautilus/libnautilus.la \
-$(top_builddir)/libnautilus-extensions/libnautilus-extensions.la
-nautilus_summary_view_LDFLAGS = 
-CFLAGS = @CFLAGS@
-COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
-DATA =  $(oaf_DATA) $(ui_DATA)
-
-DIST_COMMON =  Makefile.am Makefile.in
-
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
-
-TAR = gtar
-GZIP_ENV = --best
-SOURCES = $(nautilus_summary_view_SOURCES)
-OBJECTS = $(nautilus_summary_view_OBJECTS)
-
-all: all-redirect
-.SUFFIXES:
-.SUFFIXES: .S .c .lo .o .s
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(top_srcdir)/Makefile.shared
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps components/services/summary/nautilus-view/Makefile
-
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
-	cd $(top_builddir) \
-	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-
-mostlyclean-binPROGRAMS:
-
-clean-binPROGRAMS:
-	-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
-
-distclean-binPROGRAMS:
-
-maintainer-clean-binPROGRAMS:
-
-install-binPROGRAMS: $(bin_PROGRAMS)
-	@$(NORMAL_INSTALL)
-	$(mkinstalldirs) $(DESTDIR)$(bindir)
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  if test -f $$p; then \
-	    echo " $(LIBTOOL)  --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
-	    $(LIBTOOL)  --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
-	  else :; fi; \
-	done
-
-uninstall-binPROGRAMS:
-	@$(NORMAL_UNINSTALL)
-	list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
-	done
-
-.c.o:
-	$(COMPILE) -c $<
-
-.s.o:
-	$(COMPILE) -c $<
-
-.S.o:
-	$(COMPILE) -c $<
-
-mostlyclean-compile:
-	-rm -f *.o core *.core
-
-clean-compile:
-
-distclean-compile:
-	-rm -f *.tab.c
-
-maintainer-clean-compile:
-
-.c.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.s.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-.S.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-
-distclean-libtool:
-
-maintainer-clean-libtool:
-
-nautilus-summary-view: $(nautilus_summary_view_OBJECTS) $(nautilus_summary_view_DEPENDENCIES)
-	@rm -f nautilus-summary-view
-	$(LINK) $(nautilus_summary_view_LDFLAGS) $(nautilus_summary_view_OBJECTS) $(nautilus_summary_view_LDADD) $(LIBS)
-
-install-oafDATA: $(oaf_DATA)
-	@$(NORMAL_INSTALL)
-	$(mkinstalldirs) $(DESTDIR)$(oafdir)
-	@list='$(oaf_DATA)'; for p in $$list; do \
-	  if test -f $(srcdir)/$$p; then \
-	    echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(oafdir)/$$p"; \
-	    $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(oafdir)/$$p; \
-	  else if test -f $$p; then \
-	    echo " $(INSTALL_DATA) $$p $(DESTDIR)$(oafdir)/$$p"; \
-	    $(INSTALL_DATA) $$p $(DESTDIR)$(oafdir)/$$p; \
-	  fi; fi; \
-	done
-
-uninstall-oafDATA:
-	@$(NORMAL_UNINSTALL)
-	list='$(oaf_DATA)'; for p in $$list; do \
-	  rm -f $(DESTDIR)$(oafdir)/$$p; \
-	done
-
-install-uiDATA: $(ui_DATA)
-	@$(NORMAL_INSTALL)
-	$(mkinstalldirs) $(DESTDIR)$(uidir)
-	@list='$(ui_DATA)'; for p in $$list; do \
-	  if test -f $(srcdir)/$$p; then \
-	    echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(uidir)/$$p"; \
-	    $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(uidir)/$$p; \
-	  else if test -f $$p; then \
-	    echo " $(INSTALL_DATA) $$p $(DESTDIR)$(uidir)/$$p"; \
-	    $(INSTALL_DATA) $$p $(DESTDIR)$(uidir)/$$p; \
-	  fi; fi; \
-	done
-
-uninstall-uiDATA:
-	@$(NORMAL_UNINSTALL)
-	list='$(ui_DATA)'; for p in $$list; do \
-	  rm -f $(DESTDIR)$(uidir)/$$p; \
-	done
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-
-@SET_MAKE@
-
-all-recursive install-data-recursive install-exec-recursive \
-installdirs-recursive install-recursive uninstall-recursive  \
-check-recursive installcheck-recursive info-recursive dvi-recursive:
-	@set fnord $(MAKEFLAGS); amf=$$2; \
-	dot_seen=no; \
-	target=`echo $@ | sed s/-recursive//`; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    dot_seen=yes; \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
-	done; \
-	if test "$$dot_seen" = "no"; then \
-	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-	fi; test -z "$$fail"
-
-mostlyclean-recursive clean-recursive distclean-recursive \
-maintainer-clean-recursive:
-	@set fnord $(MAKEFLAGS); amf=$$2; \
-	dot_seen=no; \
-	rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
-	  rev="$$subdir $$rev"; \
-	  test "$$subdir" = "." && dot_seen=yes; \
-	done; \
-	test "$$dot_seen" = "no" && rev=". $$rev"; \
-	target=`echo $@ | sed s/-recursive//`; \
-	for subdir in $$rev; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
-	done && test -z "$$fail"
-tags-recursive:
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-	done
-
-tags: TAGS
-
-ID: $(HEADERS) $(SOURCES) $(LISP)
-	list='$(SOURCES) $(HEADERS)'; \
-	unique=`for i in $$list; do echo $$i; done | \
-	  awk '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	here=`pwd` && cd $(srcdir) \
-	  && mkid -f$$here/ID $$unique $(LISP)
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
-	tags=; \
-	here=`pwd`; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-   if test "$$subdir" = .; then :; else \
-	    test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
-   fi; \
-	done; \
-	list='$(SOURCES) $(HEADERS)'; \
-	unique=`for i in $$list; do echo $$i; done | \
-	  awk '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
-
-mostlyclean-tags:
-
-clean-tags:
-
-distclean-tags:
-	-rm -f TAGS ID
-
-maintainer-clean-tags:
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-
-subdir = components/services/summary/nautilus-view
-
-distdir: $(DISTFILES)
-	@for file in $(DISTFILES); do \
-	  d=$(srcdir); \
-	  if test -d $$d/$$file; then \
-	    cp -pr $$d/$$file $(distdir)/$$file; \
-	  else \
-	    test -f $(distdir)/$$file \
-	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
-	    || cp -p $$d/$$file $(distdir)/$$file || :; \
-	  fi; \
-	done
-	for subdir in $(SUBDIRS); do \
-	  if test "$$subdir" = .; then :; else \
-	    test -d $(distdir)/$$subdir \
-	    || mkdir $(distdir)/$$subdir \
-	    || exit 1; \
-	    chmod 777 $(distdir)/$$subdir; \
-	    (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
-	      || exit 1; \
-	  fi; \
-	done
-
-info-am:
-info: info-recursive
-dvi-am:
-dvi: dvi-recursive
-check-am: all-am
-check: check-recursive
-installcheck-am:
-installcheck: installcheck-recursive
-install-exec-am: install-binPROGRAMS
-install-exec: install-exec-recursive
-
-install-data-am: install-oafDATA install-uiDATA
-install-data: install-data-recursive
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-install: install-recursive
-uninstall-am: uninstall-binPROGRAMS uninstall-oafDATA uninstall-uiDATA
-uninstall: uninstall-recursive
-all-am: Makefile $(PROGRAMS) $(DATA)
-all-redirect: all-recursive
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
-installdirs: installdirs-recursive
-installdirs-am:
-	$(mkinstalldirs)  $(DESTDIR)$(bindir) $(DESTDIR)$(oafdir) \
-		$(DESTDIR)$(uidir)
-
-
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-rm -f Makefile $(CONFIG_CLEAN_FILES)
-	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-
-maintainer-clean-generic:
-mostlyclean-am:  mostlyclean-binPROGRAMS mostlyclean-compile \
-		mostlyclean-libtool mostlyclean-tags \
-		mostlyclean-generic
-
-mostlyclean: mostlyclean-recursive
-
-clean-am:  clean-binPROGRAMS clean-compile clean-libtool clean-tags \
-		clean-generic mostlyclean-am
-
-clean: clean-recursive
-
-distclean-am:  distclean-binPROGRAMS distclean-compile distclean-libtool \
-		distclean-tags distclean-generic clean-am
-	-rm -f libtool
-
-distclean: distclean-recursive
-
-maintainer-clean-am:  maintainer-clean-binPROGRAMS \
-		maintainer-clean-compile maintainer-clean-libtool \
-		maintainer-clean-tags maintainer-clean-generic \
-		distclean-am
-	@echo "This command is intended for maintainers to use;"
-	@echo "it deletes files that may require special tools to rebuild."
-
-maintainer-clean: maintainer-clean-recursive
-
-.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \
-maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \
-mostlyclean-compile distclean-compile clean-compile \
-maintainer-clean-compile mostlyclean-libtool distclean-libtool \
-clean-libtool maintainer-clean-libtool uninstall-oafDATA \
-install-oafDATA uninstall-uiDATA install-uiDATA install-data-recursive \
-uninstall-data-recursive install-exec-recursive \
-uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
-all-recursive check-recursive installcheck-recursive info-recursive \
-dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
-maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs-am \
-installdirs mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
-
-
-@XML_I18N_MERGE_OAF_RULE@
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
Index: /unk/third/nautilus/components/services/summary/nautilus-view/nautilus-summary-view.c
===================================================================
--- /trunk/third/nautilus/components/services/summary/nautilus-view/nautilus-summary-view.c (revision 15547)
+++  (revision )
@@ -1,1032 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: J Shane Culpepper <pepper@eazel.com>
- */
-
-#include <config.h>
-
-#include <gnome-xml/tree.h>
-#include <bonobo/bonobo-control.h>
-#include <libgnomevfs/gnome-vfs-utils.h>
-
-#include <libnautilus-extensions/nautilus-background.h>
-#include <libnautilus-extensions/nautilus-bonobo-extensions.h>
-#include <libnautilus-extensions/nautilus-caption-table.h>
-#include <libnautilus-extensions/nautilus-file-utilities.h>
-#include <libnautilus-extensions/nautilus-gdk-extensions.h>
-#include <libnautilus-extensions/nautilus-glib-extensions.h>
-#include <libnautilus-extensions/nautilus-global-preferences.h>
-#include <libnautilus-extensions/nautilus-gnome-extensions.h>
-#include <libnautilus-extensions/nautilus-gtk-extensions.h>
-#include <libnautilus-extensions/nautilus-gtk-macros.h>
-#include <libnautilus-extensions/nautilus-stock-dialogs.h>
-#include <libnautilus-extensions/nautilus-string.h>
-#include <libnautilus-extensions/nautilus-tabs.h>
-#include <libnautilus-extensions/nautilus-label.h>
-#include <libnautilus-extensions/nautilus-viewport.h>
-
-#include <gnome.h>
-#include <libgnomeui/gnome-stock.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include <orb/orbit.h>
-#include <liboaf/liboaf.h>
-#include <libtrilobite/trilobite-redirect.h>
-#include <libtrilobite/eazelproxy.h>
-#include <libtrilobite/libammonite.h>
-#include <bonobo/bonobo-main.h>
-
-#include "nautilus-summary-view.h"
-
-#include "eazel-summary-shared.h"
-#include "eazel-services-footer.h"
-#include "eazel-services-header.h"
-#include "eazel-services-extensions.h"
-
-#include "nautilus-summary-callbacks.h"
-#include "nautilus-summary-menu-items.h"
-#include "nautilus-summary-dialogs.h"
-#include "nautilus-summary-footer.h"
-#include "nautilus-summary-view-private.h"
-
-#define notDEBUG_TEST	1
-#define notDEBUG_PEPPER	1
-
-#define SUMMARY_TEXT_HEADER_SIZE_REL (+2)
-#define SUMMARY_TEXT_BODY_SIZE_REL (-2)
-
-#ifdef DEBUG_TEST
-	#undef URL_REDIRECT_TABLE_HOME
-	#define URL_REDIRECT_TABLE_HOME		"http://localhost/redirects.xml"
-#endif
-
-static void     nautilus_summary_view_initialize_class (NautilusSummaryViewClass   *klass);
-static void     nautilus_summary_view_initialize       (NautilusSummaryView        *view);
-static void     nautilus_summary_view_destroy          (GtkObject                  *object);
-static void     summary_load_location_callback         (NautilusView               *nautilus_view,
-							const char                 *location,
-							NautilusSummaryView        *view);
-static void     generate_summary_form                  (NautilusSummaryView        *view);
-static void     generate_service_entry_row             (NautilusSummaryView        *view,
-							int                         row);
-static void     generate_eazel_news_entry_row          (NautilusSummaryView        *view,
-							int                         row);
-static void     generate_update_news_entry_row         (NautilusSummaryView        *view,
-							int                         row);
-static void     goto_service_cb                        (GtkWidget                  *button,
-							ServicesButtonCallbackData *cbdata);
-static void     goto_update_cb                         (GtkWidget                  *button,
-							ServicesButtonCallbackData *cbdata);
-
-NAUTILUS_DEFINE_CLASS_BOILERPLATE (NautilusSummaryView, nautilus_summary_view, GTK_TYPE_EVENT_BOX)
-
-static const char *footer_online_items[] =
-{
-	N_("Register"),
-	N_("Login"),
-	N_("Terms of Use"),
-	N_("Privacy Statement")
-};
-
-static const char *footer_offline_items[] =
-{
-	N_("Account Preferences"),
-	N_("Logout"),
-	N_("Terms of Use"),
-	N_("Privacy Statement")
-};
-
-static void
-generate_summary_form (NautilusSummaryView	*view)
-{
-
-	GtkWidget		*frame;
-	GtkWidget		*title;
-	GtkWidget		*footer;
-	GtkWidget		*notebook, *notebook_tabs;
-	GtkWidget		*temp_box;
-	ServicesData		*service_node;
-	EazelNewsData		*eazel_news_node;
-	UpdateNewsData		*update_news_node;
-	GList			*iterator;
-	GtkWidget		*temp_scrolled_window;
-	GtkWidget 		*viewport;
-	GtkWidget		*temp_hbox;
-	GtkWidget		*temp_vbox;
-	GtkWidget		*notebook_vbox;
-	GtkWidget		*temp_label;
-	GtkWidget		*separator;
-	gboolean		has_news;
-	
-	view->details->current_service_row = 0;
-	view->details->current_news_row = 0;
-	view->details->current_update_row = 0;
-
-	if (view->details->form != NULL) {
-		gtk_container_remove (GTK_CONTAINER (view), view->details->form);
-		view->details->form = NULL;
-	}
-
-#ifdef DEBUG_pepper
-	g_print ("Start summary view load.\n");
-
-#endif
-	/* allocate the parent box to hold everything */
-	view->details->form = gtk_vbox_new (FALSE, 0);
-	gtk_container_add (GTK_CONTAINER (view), view->details->form);
-
-	/* setup the title */
-#ifdef DEBUG_pepper
-	g_print ("Start title load.\n");
-#endif
-	title = eazel_services_header_title_new ("");
-
-	if (view->details->logged_in) {
-		char *text;
-		g_free (view->details->user_name);
-		view->details->user_name = ammonite_get_default_user_username (view->details->user_control);
-		text = g_strdup_printf (_("Welcome Back %s!"), view->details->user_name);
-		eazel_services_header_set_left_text (EAZEL_SERVICES_HEADER (title), text);
-		g_free (text);
-	}
-	else {
-		eazel_services_header_set_left_text (EAZEL_SERVICES_HEADER (title),
-						     _("You are not logged in!"));
-	}
-	gtk_box_pack_start (GTK_BOX (view->details->form), title, FALSE, FALSE, 0);
-	gtk_widget_show (title);
-#ifdef DEBUG_pepper
-	g_print ("end title load.\n");
-#endif
-	
-	/* create the news section only if there's some news */
-#ifdef DEBUG_pepper
-	g_print ("start news load.\n");
-#endif
-	has_news = FALSE;
-	if (view->details->xml_data->eazel_news_list) {
-		eazel_news_node = (EazelNewsData*) view->details->xml_data->eazel_news_list->data;
-		has_news = eazel_news_node->message != NULL;
-	}
-	
-	if (has_news) {
-		/* Create the Service News Frame */	
-		frame = gtk_vbox_new (FALSE, 0);
-		gtk_widget_show (frame);		
-		gtk_box_pack_start (GTK_BOX (view->details->form), frame, TRUE, TRUE, 0);
-		
-		/* create the service news scroll widget */
-		
-		temp_scrolled_window = gtk_scrolled_window_new (NULL, NULL);
-		gtk_widget_show (temp_scrolled_window);
-		viewport = nautilus_viewport_new (NULL, NULL);
-		widget_set_nautilus_background_color (viewport, DEFAULT_SUMMARY_BACKGROUND_COLOR_SPEC);
-		gtk_widget_show (viewport);
-		gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport), GTK_SHADOW_NONE);
-		gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (temp_scrolled_window),
-			                	GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
-		
-		/* create the parent service news box and a table to hold the data */
-		temp_box = gtk_vbox_new (FALSE, 0);
-		gtk_widget_show (temp_box);
-
-		/* build the eazel news table from the xml file */
-		for (iterator = view->details->xml_data->eazel_news_list; iterator; iterator = g_list_next (iterator)) {
-
-			view->details->service_news_row = gtk_hbox_new (FALSE, 0);
-			gtk_widget_show (view->details->service_news_row);
-
-			view->details->current_news_row++;
-			eazel_news_node = iterator->data;
-			view->details->news_icon_name = eazel_news_node->icon;
-			view->details->news_date = eazel_news_node->date;
-			view->details->news_description_body = g_strdup(eazel_news_node->message);
-
-			generate_eazel_news_entry_row (view, view->details->current_news_row);
-			gtk_box_pack_start (GTK_BOX (temp_box), GTK_WIDGET (view->details->service_news_row), FALSE, FALSE, 0);
-
-			if (iterator->next != NULL || view->details->current_news_row > 1) {
-				separator = gtk_hseparator_new ();
-				gtk_box_pack_start (GTK_BOX (temp_box), separator, FALSE, FALSE, 8);
-				gtk_widget_show (separator);
-			}
-			/* FIXME: is this a leak?  who frees the constituent strings? */
-			g_free (eazel_news_node);
-		}
-
-		g_list_free (view->details->xml_data->eazel_news_list);
-
-		/* draw parent vbox and connect it to the service news frame */
-		gtk_container_add (GTK_CONTAINER (viewport), temp_box);
-		gtk_container_add (GTK_CONTAINER (temp_scrolled_window), viewport);
-		gtk_box_pack_start (GTK_BOX (frame), temp_scrolled_window, TRUE, TRUE, 0);		
-	}
-#ifdef DEBUG_pepper
-	g_print ("end news load.\n");
-#endif
-	
-	/* add a set of tabs to control the notebook page switching */
-#ifdef DEBUG_pepper
-	g_print ("start tab load.\n");
-#endif
-	notebook_tabs = nautilus_tabs_new ();
-	gtk_widget_show (notebook_tabs);
-	gtk_box_pack_start (GTK_BOX (view->details->form), notebook_tabs, FALSE, FALSE, 0);
-
-	/* Create the notebook container for services */
-	notebook = gtk_notebook_new ();
-	gtk_widget_show (notebook);
-	gtk_box_pack_start (GTK_BOX (view->details->form), notebook, TRUE, TRUE, 0);
-	
-	gtk_notebook_set_show_tabs (GTK_NOTEBOOK (notebook), FALSE);
-	view->details->services_notebook = notebook;
-	gtk_signal_connect (GTK_OBJECT (notebook_tabs), "tab_selected", service_tab_selected_callback, view);
-	
-	/* add the tab */
-	nautilus_tabs_add_tab (NAUTILUS_TABS (notebook_tabs), _("Your Services"), 0);
-#ifdef DEBUG_pepper
-	g_print ("end tab load.\n");
-#endif
-	
-	/* Create the Services Listing Box */
-#ifdef DEBUG_pepper
-	g_print ("start services load.\n");
-#endif
-	frame = gtk_vbox_new (FALSE, 0);
-	gtk_widget_show (frame);
-	gtk_notebook_append_page (GTK_NOTEBOOK (notebook), frame, NULL);
-
-	/* create the services scroll widget */
-	temp_scrolled_window = gtk_scrolled_window_new (NULL, NULL);
-	gtk_widget_show (temp_scrolled_window);
-	viewport = nautilus_viewport_new (NULL, NULL);
-	widget_set_nautilus_background_color (viewport, DEFAULT_SUMMARY_BACKGROUND_COLOR_SPEC);
-	gtk_widget_show (viewport);
-	gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport), GTK_SHADOW_NONE);
-
-	gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (temp_scrolled_window),
-			                GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
-
-	/* create the parent services list box */
-	temp_box = gtk_vbox_new (FALSE, 0);
-	gtk_widget_show (temp_box);
-
-	/* build the services table from the xml file */
-	for (iterator = view->details->xml_data->services_list; iterator; iterator = g_list_next (iterator)) {
-
-		view->details->services_row = gtk_hbox_new (FALSE, 0);
-		gtk_widget_show (GTK_WIDGET (view->details->services_row));
-
-		view->details->current_service_row++;
-		service_node = iterator->data;
-		view->details->services_icon_name = service_node->icon;
-		view->details->services_description_header = service_node->description_header;
-		view->details->services_description_body = service_node->description;
-		view->details->services_goto_label = g_strdup (_(GOTO_BUTTON_LABEL));
-		view->details->services_button_enabled = service_node->enabled;
-		view->details->services_redirects[view->details->current_service_row - 1] = service_node->uri;
-
-		generate_service_entry_row (view, view->details->current_service_row);
-		gtk_box_pack_start (GTK_BOX (temp_box), GTK_WIDGET (view->details->services_row), FALSE, FALSE, 4);
-
-		if (iterator->next != NULL || view->details->current_service_row > 1) {
-			separator = gtk_hseparator_new ();
-			gtk_box_pack_start (GTK_BOX (temp_box), separator, FALSE, FALSE, 8);
-			gtk_widget_show (separator);
-		}
-
-		g_free (service_node);
-
-	}
-
-	g_list_free (view->details->xml_data->services_list);
-
-	/* draw parent vbox and connect it to the login frame */
-	gtk_container_add (GTK_CONTAINER (viewport), temp_box);
-	gtk_container_add (GTK_CONTAINER (temp_scrolled_window), viewport);
-	gtk_box_pack_start (GTK_BOX (frame), temp_scrolled_window, TRUE, TRUE, 0);
-
-	/* create the Additional Services pane */
-	nautilus_tabs_add_tab (NAUTILUS_TABS (notebook_tabs), _("Additional Services"), 1);
-
-	temp_vbox = gtk_vbox_new (TRUE, 0);
-	gtk_widget_show (temp_vbox);
-	gtk_notebook_append_page (GTK_NOTEBOOK (notebook), temp_vbox, NULL);
-
-	temp_hbox = gtk_hbox_new (TRUE, 0);
-	gtk_widget_show (temp_hbox);
-
-	/* create the services scroll widget */
-	temp_scrolled_window = gtk_scrolled_window_new (NULL, NULL);
-	gtk_widget_show (temp_scrolled_window);
-	viewport = nautilus_viewport_new (NULL, NULL);
-	widget_set_nautilus_background_color (viewport, DEFAULT_SUMMARY_BACKGROUND_COLOR_SPEC);
-	gtk_widget_show (viewport);
-	gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport), GTK_SHADOW_NONE);
-
-	gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (temp_scrolled_window),
-			                GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
-	
-	temp_label = eazel_services_label_new (_("\nCheck back here for new system management\nservices that will help make Linux easier to use."),
-					       0,
-					       0.5,
-					       0.5,
-					       0,
-					       0,
-					       DEFAULT_SUMMARY_TEXT_COLOR_RGB,
-					       DEFAULT_SUMMARY_BACKGROUND_COLOR_RGB,
-					       NULL,
-					       SUMMARY_TEXT_HEADER_SIZE_REL,
-					       TRUE);
-
-	gtk_widget_show (temp_label);
-	gtk_box_pack_start (GTK_BOX (temp_hbox), temp_label, TRUE, TRUE, 0);
-	
-	gtk_container_add (GTK_CONTAINER (viewport), temp_hbox);
-	gtk_container_add (GTK_CONTAINER (temp_scrolled_window), viewport);
-	gtk_box_pack_start (GTK_BOX (temp_vbox), temp_scrolled_window, TRUE, TRUE, 0);
-
-	/* add a set of tabs to control the updates page switching */
-	notebook_vbox = gtk_vbox_new (FALSE, 0);
-	gtk_widget_show (notebook_vbox);
-	
-	notebook_tabs = nautilus_tabs_new ();
-	gtk_widget_show (notebook_tabs);
-	gtk_box_pack_start (GTK_BOX (notebook_vbox), notebook_tabs, FALSE, FALSE, 0);
-#ifdef DEBUG_pepper
-	g_print ("end services load.\n");
-#endif
-
-	/* Create the notebook container for updates */
-#ifdef DEBUG_pepper
-	g_print ("start updates load.\n");
-#endif
-	notebook = gtk_notebook_new ();
-	gtk_widget_show (notebook);
-	gtk_container_add (GTK_CONTAINER (notebook_vbox), notebook);
-	gtk_box_pack_start (GTK_BOX (view->details->form), notebook_vbox, TRUE, TRUE, 0);
-	
-	gtk_notebook_set_show_tabs (GTK_NOTEBOOK (notebook), FALSE);
-	view->details->updates_notebook = notebook;
-	gtk_signal_connect (GTK_OBJECT (notebook_tabs), "tab_selected", updates_tab_selected_callback, view);
-	
-	/* add the tab */
-	nautilus_tabs_add_tab (NAUTILUS_TABS (notebook_tabs), _("Current Updates"), 0);
-
-	/* Create the Update News Frame */
-	frame = gtk_vbox_new (FALSE, 0);
-	gtk_widget_show (frame);
-	gtk_notebook_append_page (GTK_NOTEBOOK (notebook), frame, NULL);
-
-	/* create the update news scroll widget */
-	temp_scrolled_window = gtk_scrolled_window_new (NULL, NULL);
-	gtk_widget_show (temp_scrolled_window);
-	
-	viewport = nautilus_viewport_new (NULL, NULL);
-	widget_set_nautilus_background_color (viewport, DEFAULT_SUMMARY_BACKGROUND_COLOR_SPEC);
-	gtk_widget_show (viewport);
-	gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport), GTK_SHADOW_NONE);
-	gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (temp_scrolled_window),
-			                GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
-
-	/* create the parent update news box and a table to hold the labels and text entries */
-	temp_box = gtk_vbox_new (FALSE, 0);
-	gtk_widget_show (temp_box);
-
-	/* build the updates table from the xml file */
-	for (iterator = view->details->xml_data->update_news_list; iterator; iterator = g_list_next (iterator)) {
-
-		/* create the default update table */
-		view->details->updates_row = gtk_hbox_new (FALSE, 0);
-		gtk_widget_show (GTK_WIDGET (view->details->updates_row));
-
-		view->details->current_update_row++;
-		update_news_node = iterator->data;
-		view->details->update_icon_name = update_news_node->icon;
-		view->details->update_description_header = update_news_node->name;
-		view->details->update_description_version = g_strdup_printf (_("Version %s"), update_news_node->version);
-		view->details->update_description_body = update_news_node->description;
-		view->details->update_goto_label = g_strdup (_(INSTALL_GOTO_BUTTON_LABEL));
-		view->details->update_softcat_goto_label = g_strdup (_(SOFTCAT_GOTO_BUTTON_LABEL));
-		view->details->update_redirects[view->details->current_update_row - 1] = update_news_node->uri;
-		view->details->update_softcat_redirects[view->details->current_update_row - 1] = update_news_node->softcat_uri;
-
-		generate_update_news_entry_row (view, view->details->current_update_row);
-		gtk_box_pack_start (GTK_BOX (temp_box), GTK_WIDGET (view->details->updates_row), FALSE, FALSE, 4);
-
-		if (iterator->next != NULL || view->details->current_update_row > 1) {
-			separator = gtk_hseparator_new ();
-			gtk_box_pack_start (GTK_BOX (temp_box), separator, FALSE, FALSE, 8);
-			gtk_widget_show (separator);
-		}
-		
-
-		g_free (update_news_node);
-
-	}
-
-	g_list_free (view->details->xml_data->update_news_list);
-
-	g_free (view->details->xml_data);
-	view->details->xml_data = NULL;
-
-#ifdef DEBUG_pepper
-	g_print ("start updates load.\n");
-
-	g_print ("start footer load.\n");
-#endif
-	footer = eazel_services_footer_new ();
-	gtk_signal_connect (GTK_OBJECT (footer), "item_clicked", GTK_SIGNAL_FUNC (footer_item_clicked_callback), view);
-
-	if (view->details->logged_in) {
-		eazel_services_footer_update (EAZEL_SERVICES_FOOTER (footer),
-					      footer_offline_items,
-					      NAUTILUS_N_ELEMENTS (footer_online_items));
-	}
-	else {
-		eazel_services_footer_update (EAZEL_SERVICES_FOOTER (footer),
-					      footer_online_items,
-					      NAUTILUS_N_ELEMENTS (footer_online_items));
-	}
-
-	gtk_box_pack_start (GTK_BOX (view->details->form), footer, FALSE, FALSE, 0);
-	gtk_widget_show (footer);
-#ifdef DEBUG_pepper
-	g_print ("end footer load.\n");
-#endif
-
-	/* draw parent vbox and connect it to the update news frame */
-	gtk_container_add (GTK_CONTAINER (viewport), temp_box);
-	gtk_container_add (GTK_CONTAINER (temp_scrolled_window), viewport);
-	gtk_box_pack_start (GTK_BOX (frame), temp_scrolled_window, TRUE, TRUE, 0);
-
-	/* Finally, show the form that hold everything */
-	gtk_widget_show (view->details->form);
-#ifdef DEBUG_pepper
-	g_print ("Load summary view end.\n");
-#endif
-}
-
-static void
-generate_service_entry_row  (NautilusSummaryView	*view, int	row)
-{
-	GtkWidget			*temp_vbox;
-	GtkWidget			*temp_hbox;
-	ServicesButtonCallbackData	*cbdata;
-
-	cbdata = g_new0 (ServicesButtonCallbackData, 1);
-
-	/* Generate first box with service icon */
-	view->details->services_icon_container = gtk_vbox_new (FALSE, 4);
-	gtk_widget_show (view->details->services_icon_container);
-	view->details->services_icon_widget = 
-		eazel_services_image_new_from_uri (view->details->services_icon_name,
-						   NULL,
-						   DEFAULT_SUMMARY_BACKGROUND_COLOR_RGB,
-						   MAX_IMAGE_WIDTH,
-						   MAX_IMAGE_HEIGHT);
-
-	g_assert (view->details->services_icon_widget != NULL);
-	gtk_box_pack_start (GTK_BOX (view->details->services_icon_container), view->details->services_icon_widget, 0, 0, 0);
-	gtk_widget_show (view->details->services_icon_widget);
-	gtk_box_pack_start (GTK_BOX (view->details->services_row), view->details->services_icon_container, FALSE, FALSE, 2);
-
-	/* Generate second box with service title and summary */
-	temp_vbox = gtk_vbox_new (FALSE, 0);
-	gtk_widget_show (temp_vbox);
-	/* Header */
-	temp_hbox = gtk_hbox_new (FALSE, 0);
-	gtk_widget_show (temp_hbox);
-	view->details->services_description_header_widget = 
-		eazel_services_label_new (view->details->services_description_header,
-					  0,
-					  0.5,
-					  0.5,
-					  0,
-					  0,
-					  DEFAULT_SUMMARY_TEXT_COLOR_RGB,
-					  DEFAULT_SUMMARY_BACKGROUND_COLOR_RGB,
-					  NULL,
-					  SUMMARY_TEXT_BODY_SIZE_REL,
-					  TRUE);
-	gtk_widget_show (view->details->services_description_header_widget);
-	g_free (view->details->services_description_header);
-	view->details->services_description_header = NULL;
-	gtk_box_pack_start (GTK_BOX (temp_hbox), view->details->services_description_header_widget, FALSE, FALSE, 2);
-	gtk_box_pack_start (GTK_BOX (temp_vbox), temp_hbox, FALSE, FALSE, 2);
-	
-	/* Body */
-	temp_hbox = gtk_hbox_new (FALSE, 0);
-	gtk_widget_show (temp_hbox);
-	view->details->services_description_body_widget = 
-		eazel_services_label_new (view->details->services_description_body,
-					  0,
-					  0.5,
-					  0.5,
-					  0,
-					  0,
-					  DEFAULT_SUMMARY_TEXT_COLOR_RGB,
-					  DEFAULT_SUMMARY_BACKGROUND_COLOR_RGB,
-					  NULL,
-					  SUMMARY_TEXT_BODY_SIZE_REL,
-					  FALSE);
-
-	nautilus_label_set_wrap (NAUTILUS_LABEL (view->details->services_description_body_widget), TRUE);
-	nautilus_label_set_justify (NAUTILUS_LABEL (view->details->services_description_body_widget), GTK_JUSTIFY_LEFT);
-
-	gtk_widget_show (view->details->services_description_body_widget);
-	g_free (view->details->services_description_body);
-	view->details->services_description_body = NULL;
-	gtk_box_pack_start (GTK_BOX (temp_hbox), view->details->services_description_body_widget, FALSE, FALSE, 2);
-	gtk_box_pack_start (GTK_BOX (temp_vbox), temp_hbox, FALSE, FALSE, 2);
-	gtk_box_pack_start (GTK_BOX (view->details->services_row), temp_vbox, FALSE, FALSE, 0);
-
-	/* Add the redirect button to the third box */
-
-	temp_vbox = gtk_vbox_new (TRUE, 0);
-	gtk_widget_show (temp_vbox);
-
-	view->details->services_button_container = gtk_hbox_new (FALSE, 0);
-	gtk_widget_show (view->details->services_button_container);
-	view->details->services_goto_button = gtk_button_new ();
-	gtk_widget_show (view->details->services_goto_button);
-	gtk_widget_set_usize (view->details->services_goto_button, 80, -1);
-	view->details->services_goto_label_widget = gtk_label_new (view->details->services_goto_label);
-	gtk_widget_show (view->details->services_goto_label_widget);
-	g_free (view->details->services_goto_label);
-	view->details->services_goto_label = NULL;
-	
-	gtk_container_add (GTK_CONTAINER (view->details->services_goto_button), view->details->services_goto_label_widget);
-	gtk_box_pack_end (GTK_BOX (view->details->services_button_container), view->details->services_goto_button, FALSE, FALSE, 3);
-	
-	cbdata->nautilus_view = view->details->nautilus_view;
-	cbdata->uri = view->details->services_redirects[view->details->current_service_row - 1];
-	gtk_signal_connect_full (GTK_OBJECT (view->details->services_goto_button), "clicked",
-			         GTK_SIGNAL_FUNC (goto_service_cb), NULL,
-				 cbdata, g_free, FALSE, FALSE);
-	
-	gtk_box_pack_start (GTK_BOX (temp_vbox), view->details->services_button_container, FALSE, FALSE, 2);	
-	gtk_box_pack_end (GTK_BOX (view->details->services_row), temp_vbox, FALSE, FALSE, 2);
-
-}
-
-#if 0
-/* FIXME well, we want to resize the text, but I don't know how */
-static void
-text_resize_callback      (GtkWidget *widget,
-				GtkAllocation *allocation,
-				gpointer user_data)
-{
-	NautilusLabel *label;
-
-	g_return_if_fail (NAUTILUS_IS_LABEL (user_data));
-
-	g_print ("text_resize New size %u\n", (unsigned) allocation->width);
-
-	label = NAUTILUS_LABEL (user_data);
-
-	nautilus_label_set_smooth_line_wrap_width (label, allocation->width);
-}
-#endif
-
-static void
-generate_eazel_news_entry_row  (NautilusSummaryView	*view, int	row)
-{
-	GtkWidget *item_box;
-	
-	/* Generate first box with icon */
-	view->details->news_icon_container = gtk_vbox_new (FALSE, 2);
-	gtk_widget_show (view->details->news_icon_container);
-	view->details->news_icon_widget = 
-		eazel_services_image_new_from_uri (view->details->news_icon_name,
-						   NULL,
-						   DEFAULT_SUMMARY_BACKGROUND_COLOR_RGB,
-						   MAX_IMAGE_WIDTH,
-						   MAX_IMAGE_HEIGHT);
-	
-	g_assert (view->details->news_icon_widget != NULL);
-	gtk_box_pack_start (GTK_BOX (view->details->news_icon_container), view->details->news_icon_widget, 0, 0, 0);
-	gtk_widget_show (view->details->news_icon_widget);
-	gtk_box_pack_start (GTK_BOX (view->details->service_news_row), view->details->news_icon_container, FALSE, FALSE, 3);
-	
-	/* generate second box with bold type date and the actual contents */
-	item_box = gtk_vbox_new (FALSE, 0);
-	gtk_widget_show (item_box);
-	
-	view->details->news_date_widget = 
-		eazel_services_label_new (view->details->news_date,
-					  0,
-					  0,
-					  0.5,
-					  0,
-					  0,
-					  DEFAULT_SUMMARY_TEXT_COLOR_RGB,
-					  DEFAULT_SUMMARY_BACKGROUND_COLOR_RGB,
-					  NULL,
-					  SUMMARY_TEXT_BODY_SIZE_REL,
-					  TRUE);
-
-	nautilus_label_set_justify (NAUTILUS_LABEL (view->details->news_date_widget), GTK_JUSTIFY_LEFT);
-
-	gtk_box_pack_start (GTK_BOX (item_box), view->details->news_date_widget, FALSE, FALSE, 2);
-	gtk_box_pack_start (GTK_BOX (view->details->service_news_row), item_box, TRUE, TRUE, 2);
-	gtk_widget_show (view->details->news_date_widget);
-	
-	g_free (view->details->news_date);
-	view->details->news_date = NULL;
-	
-	/* Generate the actual content */
-	view->details->news_description_body_widget = 
-		eazel_services_label_new (view->details->news_description_body,
-					  0,
-					  0,
-					  0.5,
-					  0,
-					  0,
-					  DEFAULT_SUMMARY_TEXT_COLOR_RGB,
-					  DEFAULT_SUMMARY_BACKGROUND_COLOR_RGB,
-					  NULL,
-					  SUMMARY_TEXT_BODY_SIZE_REL,
-					  FALSE);
-
-	nautilus_label_set_wrap (NAUTILUS_LABEL (view->details->news_description_body_widget), TRUE);
-	nautilus_label_set_justify (NAUTILUS_LABEL (view->details->news_description_body_widget), GTK_JUSTIFY_LEFT);
-	/*
-	nautilus_label_set_wrap_width (NAUTILUS_LABEL (view->details->news_description_body_widget), -1);
-	*/
-	
-	gtk_box_pack_start (GTK_BOX (item_box), view->details->news_description_body_widget, TRUE, TRUE, 2);
-
-#if 0
-	/* FIXME see above */
-	gtk_signal_connect (GTK_OBJECT (view->details->service_news_row), "size-allocate", text_resize_callback, view->details->news_description_body_widget);
-#endif
-
-	gtk_widget_show (view->details->news_description_body_widget);
-	
-	g_free (view->details->news_description_body);
-	view->details->news_description_body = NULL;
-
-}
-
-static void
-generate_update_news_entry_row  (NautilusSummaryView	*view, int	row)
-{
-	GtkWidget			*temp_vbox;
-	GtkWidget			*temp_hbox;
-	ServicesButtonCallbackData	*cbdata;
-	ServicesButtonCallbackData	*cbdata_2;
-
-	cbdata = g_new0 (ServicesButtonCallbackData, 1);
-	cbdata_2 = g_new0 (ServicesButtonCallbackData, 1);
-
-	/* Generate first box with icon */
-	view->details->update_icon_container = gtk_vbox_new (FALSE, 4);
-	gtk_widget_show (view->details->update_icon_container);
-	view->details->update_icon_widget = 
-		eazel_services_image_new_from_uri (view->details->update_icon_name,
-						   NULL,
-						   DEFAULT_SUMMARY_BACKGROUND_COLOR_RGB,
-						   MAX_IMAGE_WIDTH,
-						   MAX_IMAGE_HEIGHT);
-	g_assert (view->details->update_icon_widget != NULL);
-	gtk_box_pack_start (GTK_BOX (view->details->update_icon_container), view->details->update_icon_widget, FALSE, FALSE, 0);
-	gtk_box_pack_start (GTK_BOX (view->details->updates_row), view->details->update_icon_container, FALSE, FALSE, 0);
-	gtk_widget_show (view->details->update_icon_widget);
-
-	/* Generate second box with update title, summary, and version */
-	temp_vbox = gtk_vbox_new (FALSE, 0);
-	gtk_widget_show (temp_vbox);
-	
-	/* Header */
-	temp_hbox = gtk_hbox_new (FALSE, 4);
-	gtk_widget_show (temp_hbox);
-	view->details->update_description_header_widget = 
-		eazel_services_label_new (view->details->update_description_header,
-					  0,
-					  0.5,
-					  0.5,
-					  0,
-					  0,
-					  DEFAULT_SUMMARY_TEXT_COLOR_RGB,
-					  DEFAULT_SUMMARY_BACKGROUND_COLOR_RGB,
-					  NULL,
-					  SUMMARY_TEXT_BODY_SIZE_REL,
-					  TRUE);
-
-	gtk_widget_show (view->details->update_description_header_widget);
-	g_free (view->details->update_description_header);
-	view->details->update_description_header = NULL;
-	gtk_box_pack_start (GTK_BOX (temp_hbox), view->details->update_description_header_widget, FALSE, FALSE, 4);	
-	gtk_box_pack_start (GTK_BOX (temp_vbox), temp_hbox, FALSE, FALSE, 4);
-	
-	/* Body */
-	temp_hbox = gtk_hbox_new (FALSE, 6);
-	gtk_widget_show (temp_hbox);
-	view->details->update_description_body_widget = 
-		eazel_services_label_new (view->details->update_description_body,
-					  0,
-					  0.5,
-					  0.5,
-					  0,
-					  0,
-					  DEFAULT_SUMMARY_TEXT_COLOR_RGB,
-					  DEFAULT_SUMMARY_BACKGROUND_COLOR_RGB,
-					  NULL,
-					  SUMMARY_TEXT_BODY_SIZE_REL,
-					  FALSE);
-	
-	nautilus_label_set_wrap (NAUTILUS_LABEL (view->details->update_description_body_widget), TRUE);
-	nautilus_label_set_justify (NAUTILUS_LABEL (view->details->update_description_body_widget), GTK_JUSTIFY_LEFT);
-	gtk_widget_show (view->details->update_description_body_widget);
-
-	g_free (view->details->update_description_body);
-	view->details->update_description_body = NULL;
-	gtk_box_pack_start (GTK_BOX (temp_hbox), view->details->update_description_body_widget, FALSE, FALSE, 6);
-	gtk_box_pack_start (GTK_BOX (temp_vbox), temp_hbox, FALSE, FALSE, 4);
-	
-	/* Version */
-	temp_hbox = gtk_hbox_new (FALSE, 4);
-	gtk_widget_show (temp_hbox);
-	view->details->update_description_version_widget = 
-		eazel_services_label_new (view->details->update_description_version,
-					  0,
-					  0.5,
-					  0.5,
-					  0,
-					  0,
-					  DEFAULT_SUMMARY_TEXT_COLOR_RGB,
-					  DEFAULT_SUMMARY_BACKGROUND_COLOR_RGB,
-					  NULL,
-					  SUMMARY_TEXT_BODY_SIZE_REL,
-					  TRUE);
-
-	gtk_widget_show (view->details->update_description_version_widget);
-	g_free (view->details->update_description_version);
-	view->details->update_description_version = NULL;
-	
-	gtk_box_pack_start (GTK_BOX (temp_hbox), view->details->update_description_version_widget, FALSE, FALSE, 1);
-	gtk_box_pack_start (GTK_BOX (temp_vbox), temp_hbox, FALSE, FALSE, 0);
-
-	gtk_box_pack_start (GTK_BOX (view->details->updates_row), temp_vbox, FALSE, FALSE, 0);
-
-	/* Add the redirect button and softcat button to the third box */
-	temp_vbox = gtk_vbox_new (FALSE, 0);
-	gtk_widget_show (temp_vbox);
-
-	view->details->update_button_container = gtk_hbox_new (TRUE, 0);
-	gtk_widget_show (view->details->update_button_container);
-	view->details->update_softcat_goto_button = gtk_button_new ();
-	gtk_widget_show (view->details->update_softcat_goto_button);
-	gtk_widget_set_usize (view->details->update_softcat_goto_button, 80, -1);
-	
-	view->details->update_softcat_goto_label_widget = gtk_label_new (view->details->update_softcat_goto_label);
-	
-	gtk_widget_show (view->details->update_softcat_goto_label_widget);
-	g_free (view->details->update_softcat_goto_label);
-	view->details->update_softcat_goto_label = NULL;
-
-	gtk_container_add (GTK_CONTAINER (view->details->update_softcat_goto_button), view->details->update_softcat_goto_label_widget);
-	gtk_box_pack_start (GTK_BOX (view->details->update_button_container), view->details->update_softcat_goto_button, FALSE, FALSE, 4);
-	cbdata->nautilus_view = view->details->nautilus_view;
-	cbdata->uri = view->details->update_softcat_redirects[view->details->current_update_row - 1];
-	gtk_signal_connect (GTK_OBJECT (view->details->update_softcat_goto_button), "clicked", GTK_SIGNAL_FUNC (goto_update_cb), cbdata);
-	gtk_box_pack_start (GTK_BOX (temp_vbox), view->details->update_button_container, FALSE, FALSE, 4);
-
-	view->details->update_button_container = gtk_hbox_new (TRUE, 0);
-	gtk_widget_show (view->details->update_button_container);
-	view->details->update_goto_button = gtk_button_new ();
-	gtk_widget_show (view->details->update_goto_button);
-	gtk_widget_set_usize (view->details->update_goto_button, 80, -1);
-	view->details->update_goto_label_widget = gtk_label_new (view->details->update_goto_label);
-	gtk_widget_show (view->details->update_goto_label_widget);
-	g_free (view->details->update_goto_label);
-	view->details->update_goto_label = NULL;
-	
-	gtk_container_add (GTK_CONTAINER (view->details->update_goto_button), view->details->update_goto_label_widget);
-	gtk_box_pack_start (GTK_BOX (view->details->update_button_container), view->details->update_goto_button, FALSE, FALSE, 	4);
-	cbdata_2->nautilus_view = view->details->nautilus_view;
-	cbdata_2->uri = view->details->update_redirects[view->details->current_update_row - 1];
-	gtk_signal_connect (GTK_OBJECT (view->details->update_goto_button), "clicked", GTK_SIGNAL_FUNC (goto_update_cb), cbdata_2);
-	gtk_box_pack_start (GTK_BOX (temp_vbox), view->details->update_button_container, FALSE, FALSE, 4);
-
-	gtk_box_pack_end (GTK_BOX (view->details->updates_row), temp_vbox, FALSE, FALSE, 0);
-
-}
-
-/* callback to handle the goto a service button. */
-static void
-goto_service_cb (GtkWidget      *button, ServicesButtonCallbackData	*cbdata)
-{
-	
-	nautilus_view_open_location_in_this_window (cbdata->nautilus_view, cbdata->uri);
-
-}
-
-/* callback to handle update buttons. */
-static void
-goto_update_cb (GtkWidget      *button, ServicesButtonCallbackData	*cbdata)
-{
-	
-	nautilus_view_open_location_in_this_window (cbdata->nautilus_view, cbdata->uri);
-
-}
-
-static void
-nautilus_summary_view_initialize_class (NautilusSummaryViewClass *klass)
-{
-
-	GtkObjectClass	*object_class;
-	GtkWidgetClass	*widget_class;
-	
-	object_class = GTK_OBJECT_CLASS (klass);
-	widget_class = GTK_WIDGET_CLASS (klass);
-	parent_class = gtk_type_class (gtk_event_box_get_type ());
-	object_class->destroy = nautilus_summary_view_destroy;
-
-}
-
-static void
-nautilus_summary_view_initialize (NautilusSummaryView *view)
-{
-	CORBA_Environment ev;
-
-	CORBA_exception_init (&ev);
-	
-	view->details = g_new0 (NautilusSummaryViewDetails, 1);
-	view->details->nautilus_view = nautilus_view_new (GTK_WIDGET (view));
-	gtk_signal_connect (GTK_OBJECT (view->details->nautilus_view), 
-			    "load_location",
-			    GTK_SIGNAL_FUNC (summary_load_location_callback), 
-			    view);
-
-	view->details->user_control = ammonite_get_user_control();
-
-	if ( CORBA_NO_EXCEPTION != ev._major ) {
-		/* FIXME bugzilla.eazel.com 2740: user should be warned that Ammonite may not be installed */
-		g_warning ("Couldn't instantiate eazel-proxy\n");
-		view->details->user_control = CORBA_OBJECT_NIL;
-	}
-
-	/* get notified when we are activated so we can merge in our menu items */
-        gtk_signal_connect (GTK_OBJECT (nautilus_view_get_bonobo_control
-					(view->details->nautilus_view)),
-                            "activate",
-                            merge_bonobo_menu_items,
-                            view);
-
-	gtk_widget_show (GTK_WIDGET (view));
-
-	CORBA_exception_free (&ev);
-
-}
-
-static void
-nautilus_summary_view_destroy (GtkObject *object)
-{
-
-	NautilusSummaryView	*view;
-	CORBA_Environment ev;
-
-	CORBA_exception_init (&ev);
-
-	view = NAUTILUS_SUMMARY_VIEW (object);
-
-	if (view->details->uri) {
-		g_free (view->details->uri);
-	}
-
-	g_assert (Pending_None == view->details->pending_operation);
-
-	g_free (view->details);
-	
-	NAUTILUS_CALL_PARENT_CLASS (GTK_OBJECT_CLASS, destroy, (object));
-
-	CORBA_exception_free (&ev);
-
-}
-
-NautilusView *
-nautilus_summary_view_get_nautilus_view (NautilusSummaryView *view)
-{
-
-	return view->details->nautilus_view;
-
-}
-
-void
-nautilus_summary_view_load_uri (NautilusSummaryView	*view,
-			        const char		*uri)
-{
-	char		*url;
-	char		*user_name;
-	gboolean	got_url_table;
-
-	url = NULL;
-
-	/* set up some sanity values for error control */
-	view->details->attempt_number = 0;
-	view->details->current_attempt = initial;
-
-	/* dispose of any old uri and copy in the new one */	
-	g_free (view->details->uri);
-	view->details->uri = g_strdup (uri);
-
-	/* get xml data and verify network connections */
-#ifdef DEBUG_pepper
-	g_print ("start load\n");
-#endif
-
-	user_name = ammonite_get_default_user_username (view->details->user_control);
-	view->details->logged_in = (NULL != user_name);
-	g_free (user_name);
-	user_name = NULL;
-
-#ifdef DEBUG_pepper
-	g_print ("start xml table fetch\n");
-#endif
-	got_url_table = trilobite_redirect_fetch_table 
-		(view->details->logged_in
-		 ? URL_REDIRECT_TABLE_HOME_2
-		 : URL_REDIRECT_TABLE_HOME);
-
-	if (!got_url_table) {
-		/* FIXME bugzilla.eazel.com 3743:
-		 * We should do more to figure out why this failed so we can
-		 * present a much more helpful message. There are several different
-		 * reasons why it might have failed.
-		 */
-		generate_error_dialog 
-			(view, _("Unable to connect to Eazel's server. "
-				 "The server might be unavailable right now, "
-				 "or your computer might be configured incorrectly."
-				 "You could try again later."));
-	} else {
-#ifdef DEBUG_pepper
-		g_print ("end xml table fetch\n");
-		/* fetch and parse the xml file */
-		g_print ("start xml config fetch\n");
-#endif
-		url = trilobite_redirect_lookup (SUMMARY_XML_KEY);
-		if (!url) {
-			g_assert ("Failed to get summary xml home !\n");
-		}
-		view->details->xml_data = parse_summary_xml_file (url);
-		g_free (url);
-		if (view->details->xml_data == NULL) {
-			generate_error_dialog 
-				(view, _("Found problem with data on Eazel servers. "
-					 "Please contact support@eazel.com."));
-		} else {
-#ifdef DEBUG_pepper
-			g_print ("end xml config fetch\n");
-			g_print ("start summary draw\n");
-#endif
-			generate_summary_form (view);		
-#ifdef DEBUG_pepper
-			g_print ("end summary draw\n");
-#endif
-			if (!view->details->logged_in) {
-				generate_login_dialog (view);
-			}
-		}
-	}
-}
-
-static void
-summary_load_location_callback (NautilusView		*nautilus_view, 
-			        const char		*location,
-			        NautilusSummaryView	*view)
-{
-	
-	g_assert (nautilus_view == view->details->nautilus_view);
-	
-	nautilus_view_report_load_underway (nautilus_view);
-
-	nautilus_view_set_title (nautilus_view, "Eazel Services");
-	
-	nautilus_summary_view_load_uri (view, location);
-
-	nautilus_view_report_load_complete (nautilus_view);
-
-}
-
Index: /unk/third/nautilus/components/services/summary/nautilus-view/nautilus-summary-view.h
===================================================================
--- /trunk/third/nautilus/components/services/summary/nautilus-view/nautilus-summary-view.h (revision 15547)
+++  (revision )
@@ -1,60 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: J Shane Culpepper
- */
-
-#ifndef NAUTILUS_SUMMARY_VIEW_H
-#define NAUTILUS_SUMMARY_VIEW_H
-
-#include <libnautilus/nautilus-view.h>
-#include <gtk/gtk.h>
-
-typedef struct _NautilusSummaryView NautilusSummaryView;
-typedef struct _NautilusSummaryViewClass NautilusSummaryViewClass;
-
-#define NAUTILUS_TYPE_SUMMARY_VIEW		(nautilus_summary_view_get_type ())
-#define NAUTILUS_SUMMARY_VIEW(obj)		(GTK_CHECK_CAST ((obj), NAUTILUS_TYPE_SUMMARY_VIEW, NautilusSummaryView))
-#define NAUTILUS_SUMMARY_VIEW_CLASS (klass)	(GTK_CHECK_CLASS_CAST ((klass), NAUTILUS_TYPE_SUMMARY_VIEW, NautilusSummaryViewClass))
-#define NAUTILUS_IS_SUMMARY_VIEW(obj)		(GTK_CHECK_TYPE ((obj), NAUTILUS_TYPE_SUMMARY_VIEW))
-#define NAUTILUS_IS_SUMMARY_VIEW_CLASS (klass)	(GTK_CHECK_CLASS_TYPE ((klass), NAUTILUS_TYPE_SUMMARY_VIEW))
-
-typedef struct _NautilusSummaryViewDetails NautilusSummaryViewDetails;
-
-struct _NautilusSummaryView {
-        GtkEventBox parent;
-        NautilusSummaryViewDetails *details;
-};
-
-struct _NautilusSummaryViewClass {
-        GtkVBoxClass parent_class;
-};
-
-/* GtkObject support */
-GtkType		nautilus_summary_view_get_type			(void);
-
-/* Component embedding support */
-NautilusView 	*nautilus_summary_view_get_nautilus_view	(NautilusSummaryView *view);
-
-/* URI handling */
-void		nautilus_summary_view_load_uri		(NautilusSummaryView	*view,
-							 const char		*uri);
-
-#endif /* NAUTILUS_SUMMARY_VIEW_H */
-
Index: /unk/third/nautilus/components/services/summary/nautilus-view/nautilus-summary-callbacks.c
===================================================================
--- /trunk/third/nautilus/components/services/summary/nautilus-view/nautilus-summary-callbacks.c (revision 15547)
+++  (revision )
@@ -1,344 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: J Shane Culpepper <pepper@eazel.com>
- */
-
-#include <config.h>
-
-#include <libgnomeui/gnome-stock.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include <orb/orbit.h>
-#include <liboaf/liboaf.h>
-#include <libtrilobite/eazelproxy.h>
-#include <libtrilobite/libammonite.h>
-#include <libtrilobite/trilobite-redirect.h>
-#include <bonobo/bonobo-main.h>
-
-#include <libnautilus-extensions/nautilus-caption-table.h>
-
-#include "nautilus-summary-view.h"
-#include "eazel-summary-shared.h"
-#include "nautilus-summary-dialogs.h"
-#include "nautilus-summary-menu-items.h"
-#include "nautilus-summary-callbacks.h"
-#include "nautilus-summary-view-private.h"
-
-#define notDEBUG_PEPPER	1
-
-static void	authn_cb_succeeded			(const EazelProxy_User		*user,
-	       						 gpointer			state,
-							 CORBA_Environment		*ev);
-static void	authn_cb_failed				(const EazelProxy_User		*user,
-							 const EazelProxy_AuthnFailInfo *info,
-							 gpointer			state,
-							 CORBA_Environment		*ev);
-
-
-/* Be careful not to invoke another HTTP request; this call is
- * invoked from a two-way CORBA call from ammonite
- */
-static void
-authn_cb_succeeded (const EazelProxy_User *user, gpointer state, CORBA_Environment *ev)
-{
-	NautilusSummaryView    *view;
-	gint			timeout;
-
-	view = NAUTILUS_SUMMARY_VIEW (state);
-
-	g_assert (Pending_Login == view->details->pending_operation);
-
-	view->details->pending_operation = Pending_None;
-	
-	timeout = gtk_timeout_add (0, logged_in_callback, view);
-
-	bonobo_object_unref (BONOBO_OBJECT (view->details->nautilus_view));
-}
-
-/* Be careful not to invoke another HTTP request; this call is
- * invoked from a two-way CORBA call from ammonite
- */
-static void
-authn_cb_failed (const EazelProxy_User *user, const EazelProxy_AuthnFailInfo *info, gpointer state, CORBA_Environment *ev)
-{
-	NautilusSummaryView    *view;
-
-	view = NAUTILUS_SUMMARY_VIEW (state);
-
-	g_assert (Pending_Login == view->details->pending_operation);
-
-	view->details->pending_operation = Pending_None;
-
-	view->details->logged_in = FALSE;
-	
-	update_menu_items (view, FALSE);
-
-	if (info && ( info->code == EAZELPROXY_AUTHN_FAIL_NETWORK
-	    || info->code == EAZELPROXY_AUTHN_FAIL_SERVER)) {
-		nautilus_summary_login_failure_dialog (view, _("I'm sorry, network problems are preventing you from connecting to Eazel Services."));
-		view->details->attempt_number = 0;
-		view->details->current_attempt = initial;
-	} else if (info && ( info->code == EAZELPROXY_AUTHN_FAIL_USER_NOT_ACTIVATED)) {
-		/* FIXME we really should use the services alert icon here, eh? */
-		nautilus_summary_login_failure_dialog (view, _("Your Eazel Services account has not yet been activated.  "
-			    "You can't log into Eazel Services until you activate your account.\n\n"
-			    "Please check your email for activation instructions."));
-		view->details->attempt_number = 0;
-		view->details->current_attempt = initial;
-	} else if (info && ( info->code == EAZELPROXY_AUTHN_FAIL_USER_DISABLED)) {
-		/* FIXME we really should use the services alert icon here, eh? */
-		nautilus_summary_login_failure_dialog (view, _("Your Eazel Service User Account has been temporarily disabled.\n\n"
-			    "Please try again in a few minutes, or contact Eazel support if this problem continues."));
-		view->details->attempt_number = 0;
-		view->details->current_attempt = initial;
-	} else {
-		/* Most likely error: bad username or password */
-
-		view->details->attempt_number++;
-
-		/* FIXME it would be best to display an error dialog
-		 * explaining the problem and offering at least an "I forgot
-		 * my password" button (and possibly a "Register" button as well)
-		 * In any vase, the dialog that's here is insufficient
-		 */
-
-#if 0
-		if (view->details->attempt_number > 0 && view->details->attempt_number < 5) {
-#endif
-			view->details->current_attempt = retry;
-			generate_login_dialog (view);
-#if 0
-		} else {
-			nautilus_summary_login_failure_dialog (view, _("We're sorry, but your name and password are still not recognized."));
-			view->details->attempt_number = 0;
-			view->details->current_attempt = initial;
-		}
-#endif
-	}
-	
-	bonobo_object_unref (BONOBO_OBJECT (view->details->nautilus_view));
-}
-
-/* callback to handle the login button.  Right now only does a simple redirect. */
-void
-login_button_cb (GtkWidget      *button, NautilusSummaryView    *view)
-{
-	char		*user_name;
-	char		*password;
-	EazelProxy_AuthnInfo *authinfo;
-	CORBA_Environment ev;
-
-	AmmoniteAuthCallbackWrapperFuncs cb_funcs = {
-		authn_cb_succeeded, authn_cb_failed
-	};
-
-	CORBA_exception_init (&ev);
-
-	g_assert (Pending_None == view->details->pending_operation);
-
-	/* FIXME this doesn't actually handle the case when user_control is NIL
-	 * very well.  No callback is generated, so no user feedback is generated
-	 * and the summary view is left in an illegal state
-	 */
-
-	if (CORBA_OBJECT_NIL != view->details->user_control) {
-		view->details->authn_callback = ammonite_auth_callback_wrapper_new (bonobo_poa(), &cb_funcs, view);
-
-		user_name = nautilus_caption_table_get_entry_text (NAUTILUS_CAPTION_TABLE (view->details->caption_table), 0);
-		password = nautilus_caption_table_get_entry_text (NAUTILUS_CAPTION_TABLE (view->details->caption_table), 1);
-
-		authinfo = EazelProxy_AuthnInfo__alloc ();
-		authinfo->username = CORBA_string_dup (user_name);
-		authinfo->password = CORBA_string_dup (password);
-		user_name = NULL;
-		password = NULL;
-				
-		authinfo->services_redirect_uri = CORBA_string_dup ("");
-		authinfo->services_login_path = CORBA_string_dup ("");
-
-		/* Ref myself until the callback returns */
-		bonobo_object_ref (BONOBO_OBJECT (view->details->nautilus_view));
-
-		view->details->pending_operation = Pending_Login;
-		
-		EazelProxy_UserControl_authenticate_user (
-			view->details->user_control,
-			authinfo, TRUE, 
-			view->details->authn_callback, &ev
-		);
-
-		if (CORBA_NO_EXCEPTION != ev._major) {
-			g_warning ("Exception during EazelProxy login");
-			/* FIXME bugzilla.eazel.com 2745: cleanup after fail here */
-		}
-
-
-	}
-	
-	CORBA_exception_free (&ev);
-}
-
-/* callback to handle the logout button.  Right now only does a simple redirect. */
-void
-logout_button_cb (GtkWidget      *button, NautilusSummaryView    *view)
-{
-	CORBA_Environment	ev;
-	EazelProxy_UserList	*users;
-	CORBA_unsigned_long	i;
-	gint			timeout;
-	CORBA_exception_init (&ev);
-
-	if (CORBA_OBJECT_NIL != view->details->user_control) {
-	/* Get list of currently active users */
-
-		users = EazelProxy_UserControl_get_active_users (
-			view->details->user_control, &ev
-		);
-
-		if (CORBA_NO_EXCEPTION != ev._major) {
-			g_message ("Exception while logging out user");
-			return;
-		}
-
-	/* Log out the current default user */
-		for (i = 0; i < users->_length ; i++) {
-			EazelProxy_User *cur;
-
-			cur = users->_buffer + i;
-
-			if (cur->is_default) {
-				g_message ("Logging out user '%s'", cur->user_name);
-				EazelProxy_UserControl_logout_user (
-					view->details->user_control,
-					cur->proxy_port, &ev
-				);
-				break;
-			}
-		}
-
-		CORBA_free (users);
-	}
-
-	timeout = gtk_timeout_add (0, logged_out_callback, view);
-
-	CORBA_exception_free (&ev);
-}
-
-gint
-logged_in_callback (gpointer	raw)
-{
-	NautilusSummaryView	*view;
-
-	view = NAUTILUS_SUMMARY_VIEW (raw);
-	view->details->logged_in = TRUE;
-
-	update_menu_items (view, TRUE);
-	nautilus_view_open_location_in_this_window
-		(view->details->nautilus_view, "eazel:");
-
-	return (FALSE);
-}
-
-
-gint
-logged_out_callback (gpointer	raw)
-{
-	NautilusSummaryView	*view;
-
-	view = NAUTILUS_SUMMARY_VIEW (raw);
-	view->details->logged_in = FALSE;
-	
-	update_menu_items (view, FALSE);
-	nautilus_view_open_location_in_this_window
-		(view->details->nautilus_view, "eazel:");
-
-	return (FALSE);
-}
-
-/* callback to handle the maintenance button.  Right now only does a simple redirect. */
-void
-preferences_button_cb (GtkWidget      *button, NautilusSummaryView    *view)
-{
-	char	*url;
-	url = NULL;
-
-	url = trilobite_redirect_lookup (PREFERENCES_KEY);
-	if (!url) {
-		g_error ("Failed to load Registration url!");
-	}
-
-	nautilus_view_open_location_in_this_window
-		(view->details->nautilus_view, url);
-	g_free (url);
-
-}
-
-/* callback to handle the forgotten password button. */
-void
-forgot_password_button_cb (GtkWidget      *button, NautilusSummaryView    *view)
-{
-
-	nautilus_view_open_location_in_this_window
-		(view->details->nautilus_view, SUMMARY_CHANGE_PWD_FORM);
-
-}
-
-/* callback to handle the register button.  Right now only does a simple redirect. */
-void
-register_button_cb (GtkWidget      *button, NautilusSummaryView    *view)
-{
-	char	*url;
-	url = NULL;
-
-	url = trilobite_redirect_lookup (REGISTER_KEY);
-	if (!url) {
-		g_error ("Failed to load Registration url!");
-	}
-
-	nautilus_view_open_location_in_this_window
-		(view->details->nautilus_view, url);
-	g_free (url);
-
-}
-
-/* here is the callback to handle service tab selection */
-void
-service_tab_selected_callback (GtkWidget		*widget,
-				int			which_tab,
-				NautilusSummaryView	*view)
-{
-
-	gtk_notebook_set_page (GTK_NOTEBOOK (view->details->services_notebook), which_tab);
-
-}
-
-/* here is the callback to handle updates tab selection */
-void
-updates_tab_selected_callback (GtkWidget		*widget,
-				int			which_tab,
-				NautilusSummaryView	*view)
-{
-
-	gtk_notebook_set_page (GTK_NOTEBOOK (view->details->updates_notebook), which_tab);
-
-}
-
Index: /unk/third/nautilus/components/services/summary/nautilus-view/nautilus-summary-dialogs.c
===================================================================
--- /trunk/third/nautilus/components/services/summary/nautilus-view/nautilus-summary-dialogs.c (revision 15547)
+++  (revision )
@@ -1,276 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: J Shane Culpepper <pepper@eazel.com>
- */
-
-#include <config.h>
-
-#include <libnautilus-extensions/nautilus-caption-table.h>
-#include <libnautilus-extensions/nautilus-stock-dialogs.h>
-#include <libnautilus-extensions/nautilus-background.h>
-#include <libnautilus-extensions/nautilus-string.h>
-#include <libnautilus-extensions/nautilus-gnome-extensions.h>
-#include <libnautilus-extensions/nautilus-file-utilities.h>
-#include <libnautilus-extensions/nautilus-image.h>
-
-#include <libgnomeui/gnome-stock.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include <orb/orbit.h>
-#include <liboaf/liboaf.h>
-#include <libtrilobite/trilobite-redirect.h>
-#include <libtrilobite/eazelproxy.h>
-#include <libtrilobite/libammonite.h>
-
-#include "nautilus-summary-view.h"
-#include "eazel-services-extensions.h"
-#include "eazel-summary-shared.h"
-#include "eazel-services-extensions.h"
-#include "nautilus-summary-callbacks.h"
-#include "nautilus-summary-dialogs.h"
-#include "nautilus-summary-view-private.h"
-
-#define notDEBUG_PEPPER	1
-
-
-static void		error_dialog_cancel_cb			(GtkWidget			*button,
-								 NautilusSummaryView		*view);
-static GtkWindow	*get_window_from_summary_view		(NautilusSummaryView		*view);
-static void		set_dialog_parent			(NautilusSummaryView		*view,
-								 GnomeDialog			*dialog);
-static void		name_or_password_field_activated	(GtkWidget			*caption_table,
-								 int				active_entry,
-								 gpointer			user_data);
-
-void
-nautilus_summary_login_failure_dialog (NautilusSummaryView *view, const char *message)
-{
-	nautilus_error_dialog (message, 
-				        _("Eazel Service Login Error"), 
-				        get_window_from_summary_view (view));
-}
-
-void
-generate_error_dialog (NautilusSummaryView *view, const char *message)
-{
-	GnomeDialog	*dialog;
-
-	dialog = nautilus_error_dialog (message, 
-				        _("Service Error"), 
-				        get_window_from_summary_view (view));
-	gtk_signal_connect (GTK_OBJECT (dialog),
-			    "destroy",
-			    error_dialog_cancel_cb,
-			    view);
-}
-
-void
-generate_login_dialog (NautilusSummaryView	*view)
-{
-	GnomeDialog	*dialog;
-	GtkWidget	*hbox;
-	GtkWidget	*image;
-	GtkWidget	*message;
-	GtkWidget	*caption_hbox;
-	char		*message_text;
-	char		*image_name;
-	char		*button_text;
-
-	dialog = NULL;
-	image = NULL;
-
-	if (view->details->attempt_number == 0) {
-		button_text = g_strdup (_("Register Now"));
-	} else {
-		button_text = g_strdup (_("Help"));
-	}
-
-	/* if the dialog is still open, then close it and open a new one */
-	if (view->details->login_dialog != NULL) {
-		gnome_dialog_close (GNOME_DIALOG (view->details->login_dialog));
-		view->details->login_dialog = NULL;
-	}
-
-	dialog = GNOME_DIALOG (gnome_dialog_new (_("Services Login"), button_text, 
-			       GNOME_STOCK_BUTTON_OK, GNOME_STOCK_BUTTON_CANCEL, NULL));
-
-	/* TODO: replace all reference to dialog in this code with view->details->login_dialog */
-	view->details->login_dialog = dialog;
-
-	gtk_signal_connect (GTK_OBJECT (dialog), "destroy", GTK_SIGNAL_FUNC (gtk_widget_destroyed), 
-		&view->details->login_dialog);
-	gtk_container_set_border_width (GTK_CONTAINER (dialog), GNOME_PAD);
-	gtk_window_set_policy (GTK_WINDOW (dialog), FALSE, FALSE, FALSE);
-
-	view->details->caption_table = nautilus_caption_table_new (LOGIN_DIALOG_ROW_COUNT);
-	gtk_widget_show (view->details->caption_table);
-
-	nautilus_caption_table_set_row_info (NAUTILUS_CAPTION_TABLE (view->details->caption_table),
-					     LOGIN_DIALOG_NAME_ROW,
-					     _("Username:"),
-					     "",
-					     TRUE,
-					     FALSE);
-
-	nautilus_caption_table_set_row_info (NAUTILUS_CAPTION_TABLE (view->details->caption_table),
-					     LOGIN_DIALOG_PASSWORD_ROW,
-					     _("Password:"),
-					     "",
-					     FALSE,
-					     FALSE);
-
-	switch (view->details->current_attempt) {
-		case initial:
-			image_name = "big_services_icon.png";
-			message_text = _("Please log in to Eazel services");
-			break;
-		case retry:
-			image_name = "serv_dialog_alert.png";
-			message_text = _("Your user name or password were not correct.  Please try again.");
-			break;
-		default:
-			g_assert_not_reached();
-			image_name = "big_services_icon.png";
-			message_text = _("Please log in to Eazel services");
-			break;
-	}
-
-	image = eazel_services_image_new (image_name, NULL, 0);
-	nautilus_image_set_background_mode (NAUTILUS_IMAGE (image), NAUTILUS_SMOOTH_BACKGROUND_GTK);
-
-	hbox = gtk_hbox_new (FALSE, 5);
-	gtk_widget_show (hbox);
-
-	if (image) {
-		gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0);
-		gtk_widget_show (image);
-	}
-
-	gtk_box_set_spacing (GTK_BOX (dialog->vbox), 4);
-
-	message = gtk_label_new (message_text);
-	gtk_label_set_justify (GTK_LABEL (message), GTK_JUSTIFY_LEFT);
-	gtk_label_set_line_wrap (GTK_LABEL (message), TRUE);
-	nautilus_gtk_label_make_bold (GTK_LABEL (message));
-	gtk_widget_show (message);
-
-	/* right justify the caption table box */
-	caption_hbox = gtk_hbox_new (FALSE, 0);
-	gtk_widget_show (caption_hbox);
-	gtk_widget_set_usize (view->details->caption_table, 260, -1);
-	gtk_box_pack_end (GTK_BOX (caption_hbox), view->details->caption_table, FALSE, FALSE, 0);
-	
-	gtk_box_pack_start (GTK_BOX (hbox), message, FALSE, FALSE, 0);	
-	gtk_box_pack_start (GTK_BOX (dialog->vbox), hbox, TRUE, TRUE, 0);
-	gtk_box_pack_start (GTK_BOX (dialog->vbox), caption_hbox, FALSE, FALSE, 0);
-
-	gtk_container_set_border_width (GTK_CONTAINER (view->details->caption_table), 4);
-
-	gtk_widget_show (dialog->vbox);
-
-	gnome_dialog_set_close (dialog, TRUE);
-	set_dialog_parent (view, dialog);
-
-	gnome_dialog_set_default (dialog, LOGIN_DIALOG_OK_BUTTON_INDEX);
-	gtk_signal_connect (GTK_OBJECT (view->details->caption_table), "activate",
-			    name_or_password_field_activated, 
-			    nautilus_gnome_dialog_get_button_by_index (dialog, LOGIN_DIALOG_OK_BUTTON_INDEX));
-	nautilus_caption_table_entry_grab_focus	(NAUTILUS_CAPTION_TABLE (view->details->caption_table), LOGIN_DIALOG_NAME_ROW);
-
-	if (view->details->attempt_number == 0) {
-		gnome_dialog_button_connect (dialog, LOGIN_DIALOG_REGISTER_BUTTON_INDEX, GTK_SIGNAL_FUNC (register_button_cb), view);
-	} else {
-		gnome_dialog_button_connect (dialog, LOGIN_DIALOG_REGISTER_BUTTON_INDEX, GTK_SIGNAL_FUNC (forgot_password_button_cb), view);
-	}
-
-	gnome_dialog_button_connect (dialog, LOGIN_DIALOG_OK_BUTTON_INDEX, GTK_SIGNAL_FUNC (login_button_cb), view);
-
-  	gnome_dialog_set_close (dialog, TRUE);
-	gtk_widget_show (GTK_WIDGET (dialog));
-}
-
-void
-widget_set_nautilus_background_color (GtkWidget *widget, const char *color)
-{
-	NautilusBackground      *background;
-
-	g_return_if_fail (GTK_IS_WIDGET (widget));
-	g_return_if_fail (color != NULL);
-
-	background = nautilus_get_widget_background (widget);
-
-	nautilus_background_reset (background);
-	nautilus_background_set_color (background, color);
-
-}
-
-/* callback to handle cancel error_dialog button. */
-static void
-error_dialog_cancel_cb (GtkWidget      *button, NautilusSummaryView	*view)
-{
-	char	*user_home;
-	user_home = nautilus_get_user_main_directory ();	
-	nautilus_view_open_location_in_this_window (view->details->nautilus_view, user_home);
-	g_free (user_home);
-}
-
-static GtkWindow *
-get_window_from_summary_view (NautilusSummaryView *view)
-{
-	GtkWidget *parent_window;
-
-	g_assert (NAUTILUS_IS_SUMMARY_VIEW (view));
-
-	parent_window = gtk_widget_get_ancestor (GTK_WIDGET (view), GTK_TYPE_WINDOW);
-	if (parent_window == NULL) {
-		return NULL;
-	}
-
-	return GTK_WINDOW (parent_window);
-}
-
-static void
-set_dialog_parent (NautilusSummaryView *view, GnomeDialog *dialog)
-{
-	GtkWindow *parent_window;
-
-	g_assert (NAUTILUS_IS_SUMMARY_VIEW (view));
-	g_assert (GNOME_IS_DIALOG (dialog));
-
-	parent_window = get_window_from_summary_view (view);
-	if (parent_window != NULL) {
-		gnome_dialog_set_parent (dialog, parent_window);
-	}
-}
-
-static void
-name_or_password_field_activated (GtkWidget *caption_table, int active_entry, gpointer user_data)
-{
-	g_assert (NAUTILUS_IS_CAPTION_TABLE (caption_table));
-	g_assert (GTK_IS_BUTTON (user_data));
-
-	/* auto-click "OK" button when password activated (via Enter key) */
-	if (active_entry == LOGIN_DIALOG_OK_BUTTON_INDEX) {
-		nautilus_gtk_button_auto_click (GTK_BUTTON (user_data));
-	}
-}
-
Index: /unk/third/nautilus/components/services/summary/nautilus-view/nautilus-summary-menu-items.c
===================================================================
--- /trunk/third/nautilus/components/services/summary/nautilus-view/nautilus-summary-menu-items.c (revision 15547)
+++  (revision )
@@ -1,187 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: J Shane Culpepper <pepper@eazel.com>
- */
-
-#include <config.h>
-
-#include <gnome-xml/tree.h>
-#include <bonobo/bonobo-control.h>
-#include <libgnomevfs/gnome-vfs-utils.h>
-
-#include <libnautilus-extensions/nautilus-background.h>
-#include <libnautilus-extensions/nautilus-bonobo-extensions.h>
-#include <libnautilus-extensions/nautilus-caption-table.h>
-#include <libnautilus-extensions/nautilus-file-utilities.h>
-#include <libnautilus-extensions/nautilus-font-factory.h>
-#include <libnautilus-extensions/nautilus-gdk-extensions.h>
-#include <libnautilus-extensions/nautilus-glib-extensions.h>
-#include <libnautilus-extensions/nautilus-global-preferences.h>
-#include <libnautilus-extensions/nautilus-gnome-extensions.h>
-#include <libnautilus-extensions/nautilus-gtk-extensions.h>
-#include <libnautilus-extensions/nautilus-gtk-macros.h>
-#include <libnautilus-extensions/nautilus-stock-dialogs.h>
-#include <libnautilus-extensions/nautilus-string.h>
-#include <libnautilus-extensions/nautilus-tabs.h>
-
-#include <libgnomeui/gnome-stock.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include <orb/orbit.h>
-#include <liboaf/liboaf.h>
-#include <libtrilobite/trilobite-redirect.h>
-#include <libtrilobite/eazelproxy.h>
-#include <libtrilobite/libammonite.h>
-#include <bonobo/bonobo-main.h>
-
-#include "nautilus-summary-view.h"
-#include "eazel-summary-shared.h"
-
-#include "eazel-services-footer.h"
-#include "eazel-services-header.h"
-#include "eazel-services-extensions.h"
-
-#include "nautilus-summary-callbacks.h"
-#include "nautilus-summary-dialogs.h"
-#include "nautilus-summary-menu-items.h"
-#include "nautilus-summary-view-private.h"
-
-#define notDEBUG_PEPPER	1
-
-static void	bonobo_register_callback	(BonoboUIComponent		*ui,
-						 gpointer			user_data,
-						 const char			*verb);
-static void	bonobo_login_callback		(BonoboUIComponent		*ui,
-						 gpointer			user_data,
-						 const char			*verb);
-static void	bonobo_logout_callback		(BonoboUIComponent		*ui,
-						 gpointer			user_data,
-						 const char			*verb);
-static void	bonobo_preferences_callback	(BonoboUIComponent		*ui,
-						 gpointer			user_data,
-						 const char			*verb);
-
-
-/* update the visibility of the menu items according to the login state */
-void
-update_menu_items (NautilusSummaryView *view, gboolean logged_in)
-{
-	BonoboUIComponent *ui;
-
-	ui = bonobo_control_get_ui_component 
-		(nautilus_view_get_bonobo_control 
-			(view->details->nautilus_view)); 
-
-	nautilus_bonobo_set_hidden (ui,
-				    "/commands/Register",
-				    logged_in);
-	
-	nautilus_bonobo_set_hidden (ui,
-				     "/commands/Login",
-				    logged_in);
-
-	nautilus_bonobo_set_hidden (ui,
-				    "/commands/Preferences",
-				    !logged_in);
-	
-	nautilus_bonobo_set_hidden (ui,
-				    "/commands/Logout",
-				    !logged_in);				    				    
-}
-
-/* this routine is invoked when the view is activated to merge in our menu items */
-void
-merge_bonobo_menu_items (BonoboControl *control, gboolean state, gpointer user_data)
-{
- 	NautilusSummaryView *view;
-	BonoboUIVerb verbs [] = {
-		BONOBO_UI_VERB ("Register", bonobo_register_callback),
-		BONOBO_UI_VERB ("Login", bonobo_login_callback),
-		BONOBO_UI_VERB ("Logout", bonobo_logout_callback),
-		BONOBO_UI_VERB ("Preferences", bonobo_preferences_callback),		
-		BONOBO_UI_VERB_END
-	};
-
-	g_assert (BONOBO_IS_CONTROL (control));
-	
-	view = NAUTILUS_SUMMARY_VIEW (user_data);
-
-	if (state) {
-		gboolean logged_in;
-		char * user_name;
-	
-		nautilus_view_set_up_ui (view->details->nautilus_view,
-				         DATADIR,
-					 "nautilus-summary-view-ui.xml",
-					 "nautilus-summary-view");
-									
-		bonobo_ui_component_add_verb_list_with_data 
-			(bonobo_control_get_ui_component (control), verbs, view);
-
-		user_name = ammonite_get_default_user_username (view->details->user_control);
-		logged_in = (NULL != user_name);
-		update_menu_items (view, logged_in);
-		g_free (user_name);
-	}
-
-        /* Note that we do nothing if state is FALSE. Nautilus content
-         * views are never explicitly deactivated
-	 */
-}
-
-/* here are the callbacks to handle bonobo menu items */
-static void
-bonobo_register_callback (BonoboUIComponent *ui, gpointer user_data, const char *verb)
-{
-	NautilusSummaryView *view;
-	
-	view = NAUTILUS_SUMMARY_VIEW (user_data);
-	register_button_cb (NULL, view);
-}
-
-static void
-bonobo_login_callback (BonoboUIComponent *ui, gpointer user_data, const char *verb)
-{
-	NautilusSummaryView *view;
-	
-	view = NAUTILUS_SUMMARY_VIEW (user_data);
-	generate_login_dialog (view);
-}
-
-static void
-bonobo_logout_callback (BonoboUIComponent *ui, gpointer user_data, const char *verb)
-{
-	NautilusSummaryView *view;
-	
-	view = NAUTILUS_SUMMARY_VIEW (user_data);
-	logout_button_cb (NULL, view);
-}
-
-static void
-bonobo_preferences_callback (BonoboUIComponent *ui, gpointer user_data, const char *verb)
-{
-	NautilusSummaryView *view;
-	
-	view = NAUTILUS_SUMMARY_VIEW (user_data);
-	preferences_button_cb (NULL, view);
-}
-
Index: /unk/third/nautilus/components/services/summary/nautilus-view/nautilus-summary-callbacks.h
===================================================================
--- /trunk/third/nautilus/components/services/summary/nautilus-view/nautilus-summary-callbacks.h (revision 15547)
+++  (revision )
@@ -1,47 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: J Shane Culpepper
- */
-
-#ifndef NAUTILUS_SUMMARY_CALLBACKS_H
-#define NAUTILUS_SUMMARY_CALLBACKS_H
-
-void	login_button_cb				(GtkWidget			*button,
-						 NautilusSummaryView		*view);
-void	preferences_button_cb			(GtkWidget			*button,
-						 NautilusSummaryView		*view);
-void	logout_button_cb			(GtkWidget			*button,
-						 NautilusSummaryView		*view);
-void	register_button_cb			(GtkWidget			*button,
-						 NautilusSummaryView		*view);
-void	forgot_password_button_cb		(GtkWidget			*button,
-						 NautilusSummaryView		*view);
-gint	logged_in_callback			(gpointer			raw);
-gint	logged_out_callback			(gpointer			raw);
-void	service_tab_selected_callback		(GtkWidget			*widget,
-						 int				which_tab,
-						 NautilusSummaryView		*view);
-void	updates_tab_selected_callback		(GtkWidget			*widget,
-						 int				which_tab,
-						 NautilusSummaryView		*view);
-
-
-#endif /* NAUTILUS_SUMMARY_CALLBACKS_H */
-
Index: /unk/third/nautilus/components/services/summary/nautilus-view/Nautilus_View_services-summary.oaf.in
===================================================================
--- /trunk/third/nautilus/components/services/summary/nautilus-view/Nautilus_View_services-summary.oaf.in (revision 15547)
+++  (revision )
@@ -1,25 +1,0 @@
-<oaf_info>
-
-<oaf_server iid="OAFIID:nautilus_summary_view_factory:1b0b1018-e0ca-4f14-8d23-7a134486ab30" type="exe" location="nautilus-summary-view">
-	<oaf_attribute name="repo_ids" type="stringv">
-		<item value="IDL:GNOME/ObjectFactory:1.0"/>
-	</oaf_attribute>
-	<oaf_attribute name="name" type="string" value="Nautilus Service Summary View Factory"/>
-	<oaf_attribute name="description" type="string" value="Service Summary View Component's Factory"/>
-</oaf_server>
-
-<oaf_server iid="OAFIID:nautilus_summary_view:92811b0e-beb2-49db-858c-19a0dc8517e5" type="factory" location="OAFIID:nautilus_summary_view_factory:1b0b1018-e0ca-4f14-8d23-7a134486ab30">
-	<oaf_attribute name="repo_ids" type="stringv">
-		<item value="IDL:Bonobo/Unknown:1.0"/>
-		<item value="IDL:Bonobo/Control:1.0"/>
-		<item value="IDL:Nautilus/View:1.0"/>
-	</oaf_attribute>
-	<oaf_attribute name="name" type="string" value="Nautilus Summary View"/>
-	<oaf_attribute name="description" type="string" value="Service Summary view component"/>
-	<oaf_attribute name="bonobo:supported_uri_schemes" type="stringv">
-		<item value="eazel"/>
-	</oaf_attribute>
-	<oaf_attribute name="nautilus:view_as_name" type="string" value="Summary"/>
-</oaf_server>
-
-</oaf_info>
Index: /unk/third/nautilus/components/services/summary/nautilus-view/main.c
===================================================================
--- /trunk/third/nautilus/components/services/summary/nautilus-view/main.c (revision 15547)
+++  (revision )
@@ -1,113 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Maciej Stachowiak <mjs@eazel.com>
- *         J Shane Culpepper <pepper@eazel.com>
- */
-
-/* main.c - main function and object activation function for services
-   content view component. */
-
-#include <config.h>
-#include <gnome.h>
-#include <liboaf/liboaf.h>
-#include <bonobo.h>
-#include "nautilus-summary-view.h"
-#include <gconf/gconf.h>
-#include <libtrilobite/libammonite.h>
-#include <libtrilobite/trilobite-core-messaging.h>
-
-static int object_count =0;
-
-static void
-summary_object_destroyed (GtkObject *obj)
-{
-	object_count--;
-	if (object_count <= 0) {
-		gtk_main_quit ();
-	}
-}
-
-static BonoboObject*
-summary_make_object (BonoboGenericFactory	*factory, 
-		     const char			*iid,
-		     void			*closure)
-{
-
-	NautilusSummaryView* view;
-	NautilusView* nautilus_view;
-
-	if (strcmp (iid, "OAFIID:nautilus_summary_view:92811b0e-beb2-49db-858c-19a0dc8517e5")) {
-		return NULL;
-	}
-
-	view = NAUTILUS_SUMMARY_VIEW (gtk_object_new (NAUTILUS_TYPE_SUMMARY_VIEW, NULL));
-
-	object_count++;
-
-	nautilus_view = nautilus_summary_view_get_nautilus_view (view);
-	
-	gtk_signal_connect (GTK_OBJECT (nautilus_view), "destroy", summary_object_destroyed, NULL);
-
-	printf ("Returning new object %p\n", nautilus_view);
-
-	return BONOBO_OBJECT (nautilus_view);
-}
-
-int
-main (int argc, char *argv[])
-{
-
-	BonoboGenericFactory	*factory;
-	CORBA_ORB		orb;
-	char *registration_id;
-
-#ifdef ENABLE_NLS /* sadly we need this ifdef because otherwise the following get empty statement warnings */
-	bindtextdomain (PACKAGE, GNOMELOCALEDIR);
-	textdomain (PACKAGE);
-#endif	
-        gnome_init_with_popt_table ("nautilus-summary-view", VERSION, 
-                                    argc, argv,
-                                    oaf_popt_options, 0, NULL);
-
-	gdk_rgb_init ();
-	orb = oaf_init (argc, argv);
-	
-	bonobo_init (orb, CORBA_OBJECT_NIL, CORBA_OBJECT_NIL);
-
-	gconf_init (argc, argv, NULL);
-
-	ammonite_init (bonobo_poa());
-
-	trilobite_set_log_handler (NULL, G_LOG_DOMAIN);
-
-        registration_id = oaf_make_registration_id ("OAFIID:nautilus_summary_view_factory:1b0b1018-e0ca-4f14-8d23-7a134486ab30", getenv ("DISPLAY"));
-
-	factory = bonobo_generic_factory_new_multi (registration_id, 
-						    summary_make_object,
-						    NULL);
-
-	g_free (registration_id);
-
-	do {
-		bonobo_main ();
-	} while (object_count > 0);
-
-	return 0;
-}
Index: /unk/third/nautilus/components/services/summary/nautilus-view/nautilus-summary-dialogs.h
===================================================================
--- /trunk/third/nautilus/components/services/summary/nautilus-view/nautilus-summary-dialogs.h (revision 15547)
+++  (revision )
@@ -1,36 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: J Shane Culpepper
- */
-
-#ifndef NAUTILUS_SUMMARY_DIALOGS_H
-#define NAUTILUS_SUMMARY_DIALOGS_H
-
-void	nautilus_summary_login_failure_dialog 	(NautilusSummaryView 		*view,
-						 const char 			*message);
-
-void	generate_error_dialog			(NautilusSummaryView		*view,
-						 const char			*message);
-void	generate_login_dialog			(NautilusSummaryView		*view);
-void	widget_set_nautilus_background_color	(GtkWidget			*widget,
-						 const char			*color);
-
-#endif /* NAUTILUS_SUMMARY_DIALOGS_H */
-
Index: /unk/third/nautilus/components/services/summary/nautilus-view/nautilus-summary-view-private.h
===================================================================
--- /trunk/third/nautilus/components/services/summary/nautilus-view/nautilus-summary-view-private.h (revision 15547)
+++  (revision )
@@ -1,189 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: J Shane Culpepper
- */
-
-#ifndef NAUTILUS_SUMMARY_VIEW_PRIVATE_H
-#define NAUTILUS_SUMMARY_VIEW_PRIVATE_H
-
-
-#include <gnome.h>
-
-#define DEFAULT_SUMMARY_BACKGROUND_COLOR_SPEC	"rgb:FFFF/FFFF/FFFF"
-#define DEFAULT_SUMMARY_BACKGROUND_COLOR_RGB	NAUTILUS_RGB_COLOR_WHITE
-#define DEFAULT_SUMMARY_TEXT_COLOR_RGB		NAUTILUS_RGB_COLOR_BLACK
-
-#define URL_REDIRECT_TABLE_HOME			"eazel-services://anonymous/services/urls"
-#define URL_REDIRECT_TABLE_HOME_2		"eazel-services:/services/urls"
-#define SUMMARY_CONFIG_XML			"eazel-services://anonymous/services"
-#define SUMMARY_CONFIG_XML_2			"eazel-services:/services"
-
-#define SUMMARY_TERMS_OF_USE_URI		"eazel-services://anonymous/aboutus/terms_of_use"
-#define SUMMARY_PRIVACY_STATEMENT_URI		"eazel-services://anonymous/aboutus/privacy"
-#define SUMMARY_CHANGE_PWD_FORM			"eazel-services://anonymous/account/login/lost_pwd_form"
-
-#define SUMMARY_XML_KEY				"eazel_summary_xml"
-#define URL_REDIRECT_TABLE			"eazel_url_table_xml"
-#define REGISTER_KEY				"eazel_service_register"
-#define PREFERENCES_KEY				"eazel_service_account_maintenance"
-
-#define GOTO_BUTTON_LABEL			_("Go There!")
-#define SOFTCAT_GOTO_BUTTON_LABEL		_("More Info!")
-#define INSTALL_GOTO_BUTTON_LABEL		_("Install Me!")
-
-#define MAX_IMAGE_WIDTH				50
-#define MAX_IMAGE_HEIGHT			50
-
-#define FOOTER_REGISTER_OR_PREFERENCES		0
-#define FOOTER_LOGIN_OR_LOGOUT			1
-#define FOOTER_TERMS_OF_USER			2
-#define FOOTER_PRIVACY_STATEMENT		3
-
-
-enum {
-	LOGIN_DIALOG_NAME_ROW,
-	LOGIN_DIALOG_PASSWORD_ROW,
-	LOGIN_DIALOG_ROW_COUNT
-};
-
-enum {
-	LOGIN_DIALOG_REGISTER_BUTTON_INDEX,
-	LOGIN_DIALOG_OK_BUTTON_INDEX,
-	LOGIN_DIALOG_CANCEL_BUTTON
-};
-
-typedef struct _ServicesButtonCallbackData ServicesButtonCallbackData;
-
-typedef enum {
-	Pending_None,
-	Pending_Login,
-} SummaryPendingOperationType;
-
-typedef enum {
-	initial,
-	retry
-} SummaryLoginAttemptType;
-
-
-struct _ServicesButtonCallbackData {
-	NautilusView    *nautilus_view;
-	char            *uri;
-};
-
-/* A NautilusContentView's private information. */
-struct _NautilusSummaryViewDetails {
-	char				*uri;
-	NautilusView			*nautilus_view;
-	SummaryData			*xml_data;
-
-	/* Parent form and title */
-	GtkWidget			*form;
-	GtkWidget			*form_title;
-
-	/* Login State */
-	char				*user_name;
-	volatile gboolean		logged_in;
-	GtkWidget			*caption_table;
-	SummaryLoginAttemptType		current_attempt;
-	int				attempt_number;
-
-	/* EazelProxy -- for logging in/logging out */
-	EazelProxy_UserControl		user_control;
-	SummaryPendingOperationType	pending_operation;
-	EazelProxy_AuthnCallback	authn_callback;
-
-	/* Services control panel */
-	int				current_service_row;
-	GtkWidget			*services_row;
-	GtkWidget			*services_icon_container;
-	GtkWidget			*services_icon_widget;
-	char				*services_icon_name;
-	GtkWidget			*services_description_header_widget;
-	char				*services_description_header;
-	GtkWidget			*services_description_body_widget;
-	char				*services_description_body;
-	GtkWidget			*services_button_container;
-	GtkWidget			*services_goto_button;
-	GtkWidget			*services_goto_label_widget;
-	char				*services_goto_label;
-	char				*services_redirects[500];
-	gboolean			services_button_enabled;
-	GtkWidget			*services_notebook;
-
-	/* Login Frame Widgets */
-	GnomeDialog			*login_dialog;
-	GtkWidget			*username_label;
-	GtkWidget			*password_label;
-	GtkWidget			*username_entry;
-	GtkWidget			*password_entry;
-	/* Buttons available if user is not logged in */
-	GtkWidget			*login_button;
-	GtkWidget			*login_label;
-	GtkWidget			*register_button;
-	GtkWidget			*register_label;
-	/* Buttons available if user is logged in */
-	GtkWidget			*preferences_button;
-	GtkWidget			*preferences_label;
-	GtkWidget			*logout_button;
-	GtkWidget			*logout_label;
-
-	/* Eazel news panel */
-	int				current_news_row;
-	gboolean			news_has_data;
-	GtkWidget			*service_news_row;
-	GtkWidget			*news_icon_container;
-	GtkWidget			*news_icon_widget;
-	char				*news_icon_name;
-	GtkWidget			*news_date_widget;
-	char				*news_date;
-	GtkWidget			*news_description_header_widget;
-	char				*news_description_header;
-	GtkWidget			*news_description_body_widget;
-	char				*news_description_body;
-
-	/* Update control panel */
-	int				current_update_row;
-	gboolean			updates_has_data;
-	GtkWidget			*updates_row;
-	GtkWidget			*update_icon_container;
-	GtkWidget			*update_icon_widget;
-	char				*update_icon_name;
-	GtkWidget			*update_description_header_widget;
-	char				*update_description_header;
-	GtkWidget			*update_description_body_widget;
-	char				*update_description_body;
-	GtkWidget			*update_description_version_widget;
-	char				*update_description_version;
-	GtkWidget			*update_button_container;
-	GtkWidget			*update_goto_button;
-	GtkWidget			*update_goto_label_widget;
-	char				*update_goto_label;
-	char				*update_redirects[500];
-	GtkWidget			*update_softcat_goto_button;
-	GtkWidget			*update_softcat_goto_label_widget;
-	char				*update_softcat_goto_label;
-	char				*update_softcat_redirects[500];
-	GtkWidget			*updates_notebook;
-
-};
-
-
-#endif /* NAUTILUS_SUMMARY_VIEW_PRIVATE_H */
-
Index: /unk/third/nautilus/components/services/summary/nautilus-view/nautilus-summary-menu-items.h
===================================================================
--- /trunk/third/nautilus/components/services/summary/nautilus-view/nautilus-summary-menu-items.h (revision 15547)
+++  (revision )
@@ -1,33 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: J Shane Culpepper
- */
-
-#ifndef NAUTILUS_SUMMARY_MENU_ITEMS_H
-#define NAUTILUS_SUMMARY_MENU_ITEMS_H
-
-void	merge_bonobo_menu_items		(BonoboControl		*control,
-					 gboolean		state,
-					 gpointer		user_data);
-void	update_menu_items		(NautilusSummaryView	*view,
-					 gboolean		logged_in);
-
-#endif /* NAUTILUS_SUMMARY_MENU_ITEMS_H */
-
Index: /unk/third/nautilus/components/services/summary/nautilus-view/Makefile.am
===================================================================
--- /trunk/third/nautilus/components/services/summary/nautilus-view/Makefile.am (revision 15547)
+++  (revision )
@@ -1,64 +1,0 @@
-include $(top_srcdir)/Makefile.shared
-
-SUBDIRS = icons
-
-INCLUDES =								\
-	-DPREFIX=\"$(prefix)\"						\
-	 -DG_LOG_DOMAIN=\"trilobite-eazel-summary\"			\
-	-DDATADIR=\"$(datadir)\"					\
-	-I$(top_srcdir)							\
-	-I$(top_srcdir)/components/services/nautilus-dependent-shared	\
-	-I$(top_srcdir)/components/services/trilobite			\
-	-I$(top_srcdir)/components/services/summary/lib			\
-	-I$(top_builddir)						\
-	$(GNOMEUI_CFLAGS)                       			\
-	$(GCONF_CFLAGS) 						\
-	-DGNOMELOCALEDIR=\""$(datadir)/locale"\"			\
-	$(VFS_CFLAGS) 							\
-	$(NULL)
-
-uidir = $(datadir)/gnome/ui
-ui_DATA = nautilus-summary-view-ui.xml
-
-bin_PROGRAMS =								\
-	nautilus-summary-view
-
-nautilus_summary_view_SOURCES =						\
-	nautilus-summary-view-private.h					\
-	nautilus-summary-callbacks.h					\
-	nautilus-summary-callbacks.c					\
-	nautilus-summary-menu-items.h					\
-	nautilus-summary-menu-items.c					\
-	nautilus-summary-dialogs.h					\
-	nautilus-summary-dialogs.c					\
-	nautilus-summary-footer.h					\
-	nautilus-summary-footer.c					\
-	nautilus-summary-view.h						\
-	nautilus-summary-view.c		    				\
-	main.c								\
-	$(NULL)
-
-nautilus_summary_view_LDADD =						\
-	$(top_builddir)/components/services/trilobite/libtrilobite/libtrilobite.la \
-	$(top_builddir)/components/services/nautilus-dependent-shared/libnautilusdepshared.a \
-	$(top_builddir)/components/services/summary/lib/libsummary.a \
-	$(top_builddir)/libnautilus/libnautilus.la			\
-	$(top_builddir)/libnautilus-extensions/libnautilus-extensions.la	\
-	$(BONOBO_LIBS)							\
-	$(GNOMEUI_LIBS)							\
-	$(GCONF_LIBS)							\
-	$(VFS_LIBS)							\
-	$(GHTTP_LIBS)							\
-	$(OAF_LIBS)							\
-	$(AMMONITE_LIBS)						\
-	$(NULL)
-
-oafdir = $(datadir)/oaf
-oaf_in_files =					\
-	Nautilus_View_services-summary.oaf.in	\
-	$(NULL)
-oaf_DATA = $(oaf_in_files:.oaf.in=.oaf)
-
-@XML_I18N_MERGE_OAF_RULE@
-
-EXTRA_DIST = $(oaf_in_files) $(oaf_DATA) $(ui_DATA) 
Index: /unk/third/nautilus/components/services/summary/nautilus-view/nautilus-summary-footer.c
===================================================================
--- /trunk/third/nautilus/components/services/summary/nautilus-view/nautilus-summary-footer.c (revision 15547)
+++  (revision )
@@ -1,111 +1,0 @@
-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
-
-/* 
- * Copyright (C) 2000 Eazel, Inc
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: J Shane Culpepper <pepper@eazel.com>
- */
-
-#include <config.h>
-
-#include <bonobo/bonobo-control.h>
-#include <libgnomevfs/gnome-vfs-utils.h>
-
-#include <libnautilus-extensions/nautilus-background.h>
-#include <libnautilus-extensions/nautilus-bonobo-extensions.h>
-#include <libnautilus-extensions/nautilus-caption-table.h>
-#include <libnautilus-extensions/nautilus-file-utilities.h>
-#include <libnautilus-extensions/nautilus-font-factory.h>
-#include <libnautilus-extensions/nautilus-gdk-extensions.h>
-#include <libnautilus-extensions/nautilus-glib-extensions.h>
-#include <libnautilus-extensions/nautilus-global-preferences.h>
-#include <libnautilus-extensions/nautilus-gnome-extensions.h>
-#include <libnautilus-extensions/nautilus-gtk-extensions.h>
-#include <libnautilus-extensions/nautilus-gtk-macros.h>
-#include <libnautilus-extensions/nautilus-stock-dialogs.h>
-#include <libnautilus-extensions/nautilus-string.h>
-#include <libnautilus-extensions/nautilus-tabs.h>
-
-#include <libgnomeui/gnome-stock.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include <orb/orbit.h>
-#include <liboaf/liboaf.h>
-#include <libtrilobite/trilobite-redirect.h>
-#include <libtrilobite/eazelproxy.h>
-#include <libtrilobite/libammonite.h>
-#include <bonobo/bonobo-main.h>
-
-#include "nautilus-summary-view.h"
-#include "eazel-summary-shared.h"
-
-#include "eazel-services-footer.h"
-#include "eazel-services-header.h"
-#include "eazel-services-extensions.h"
-
-#include "nautilus-summary-callbacks.h"
-#include "nautilus-summary-dialogs.h"
-#include "nautilus-summary-footer.h"
-#include "nautilus-summary-view-private.h"
-
-#define notDEBUG_TEST	1
-#define notDEBUG_PEPPER	1
-
-
-void
-footer_item_clicked_callback (GtkWidget *widget, int index, gpointer callback_data)
-{
-	NautilusSummaryView *view;
-
-	g_return_if_fail (NAUTILUS_IS_SUMMARY_VIEW (callback_data));
-	g_return_if_fail (index >= FOOTER_REGISTER_OR_PREFERENCES);
-	g_return_if_fail (index <= FOOTER_PRIVACY_STATEMENT);
-
-	view = NAUTILUS_SUMMARY_VIEW (callback_data);
-
-	switch (index) {
-	case FOOTER_REGISTER_OR_PREFERENCES:
-		if (!view->details->logged_in) {
-			register_button_cb (NULL, view);
-		} else {
-			preferences_button_cb (NULL, view);
-		}
-		break;
-
-	case FOOTER_LOGIN_OR_LOGOUT:
-		if (!view->details->logged_in) {
-			generate_login_dialog (view);
-		} else {
-			logout_button_cb (NULL, view);
-		}
-		break;
-
-	case FOOTER_TERMS_OF_USER:
-		nautilus_view_open_location_in_this_window (view->details->nautilus_view, SUMMARY_TERMS_OF_USE_URI);
-		break;
-
-	case FOOTER_PRIVACY_STATEMENT:
-		nautilus_view_open_location_in_this_window (view->details->nautilus_view, SUMMARY_PRIVACY_STATEMENT_URI);
-		break;
-
-	default:
-		g_assert_not_reached ();
-		break;
-	}
-}
Index: /unk/third/nautilus/components/text/services/english_to_french.xml
===================================================================
--- /trunk/third/nautilus/components/text/services/english_to_french.xml (revision 15547)
+++  (revision )
@@ -1,2 +1,0 @@
-<?xml version="1.0"?>
-<service label="Translate from English to French" source="document" template="http://dellbert.differnet.com/catalog/FetchBabel.cgi?lang=en_fr&amp;text=%s" tooltip="Translate this document from English to French using BabelFish"/>
Index: /unk/third/nautilus/components/text/services/french_to_english.xml
===================================================================
--- /trunk/third/nautilus/components/text/services/french_to_english.xml (revision 15547)
+++  (revision )
@@ -1,3 +1,0 @@
-<?xml version="1.0"?>
-<service label="Translate from French to English" source="document"
-template="http://dellbert.differnet.com/catalog/FetchBabel.cgi?lang=fr_en&amp;text=%s" tooltip="Translate this document from French to English using BabelFish"/>
Index: /unk/third/nautilus/components/rpmview/Makefile.in
===================================================================
--- /trunk/third/nautilus/components/rpmview/Makefile.in (revision 15547)
+++  (revision )
@@ -1,458 +1,0 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
-
-# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-
-SHELL = @SHELL@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-bindir = @bindir@
-sbindir = @sbindir@
-libexecdir = @libexecdir@
-datadir = @datadir@
-sysconfdir = @sysconfdir@
-sharedstatedir = @sharedstatedir@
-localstatedir = @localstatedir@
-libdir = @libdir@
-infodir = @infodir@
-mandir = @mandir@
-includedir = @includedir@
-oldincludedir = /usr/include
-
-DESTDIR =
-
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-
-top_builddir = ../..
-
-ACLOCAL = @ACLOCAL@
-AUTOCONF = @AUTOCONF@
-AUTOMAKE = @AUTOMAKE@
-AUTOHEADER = @AUTOHEADER@
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-transform = @program_transform_name@
-
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-host_alias = @host_alias@
-host_triplet = @host@
-AMMONITE_CFLAGS = @AMMONITE_CFLAGS@
-AMMONITE_LIBS = @AMMONITE_LIBS@
-APPLETS_CFLAGS = @APPLETS_CFLAGS@
-APPLETS_LIBS = @APPLETS_LIBS@
-AS = @AS@
-BONOBOX_CFLAGS = @BONOBOX_CFLAGS@
-BONOBOX_LIBS = @BONOBOX_LIBS@
-BONOBO_CFLAGS = @BONOBO_CFLAGS@
-BONOBO_LIBS = @BONOBO_LIBS@
-BONOBO_PRINT_CFLAGS = @BONOBO_PRINT_CFLAGS@
-BONOBO_PRINT_LIBS = @BONOBO_PRINT_LIBS@
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
-CC = @CC@
-CPP = @CPP@
-CXX = @CXX@
-DATADIRNAME = @DATADIRNAME@
-DLLTOOL = @DLLTOOL@
-EAZEL_SERVICES = @EAZEL_SERVICES@
-ENABLE_PROFILER = @ENABLE_PROFILER@
-ESD_CFLAGS = @ESD_CFLAGS@
-ESD_CONFIG = @ESD_CONFIG@
-ESD_LIBS = @ESD_LIBS@
-FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
-FREETYPE2_LIBS = @FREETYPE2_LIBS@
-GCONF_CFLAGS = @GCONF_CFLAGS@
-GCONF_CONFIG = @GCONF_CONFIG@
-GCONF_LIBS = @GCONF_LIBS@
-GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@
-GDK_PIXBUF_CONFIG = @GDK_PIXBUF_CONFIG@
-GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@
-GENCAT = @GENCAT@
-GHTTP_CFLAGS = @GHTTP_CFLAGS@
-GHTTP_LIBS = @GHTTP_LIBS@
-GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_CONFIG = @GLIB_CONFIG@
-GLIB_LIBS = @GLIB_LIBS@
-GMOFILES = @GMOFILES@
-GMSGFMT = @GMSGFMT@
-GNOMECANVASPIXBUF_INCLUDEDIR = @GNOMECANVASPIXBUF_INCLUDEDIR@
-GNOMECANVASPIXBUF_LIBS = @GNOMECANVASPIXBUF_LIBS@
-GNOMEUI_CFLAGS = @GNOMEUI_CFLAGS@
-GNOMEUI_LIBS = @GNOMEUI_LIBS@
-GNOME_CFLAGS = @GNOME_CFLAGS@
-GNOME_CONFIG = @GNOME_CONFIG@
-GNOME_LIBS = @GNOME_LIBS@
-GNO