[no subject]



I'm also not entierly excited by having "Edit -> Backgrounds and Emblems" 
and "View -> Change background" that does almost the same thing and looks 
alike. It seems it can cause a lot of confusion.

I also got a few:
(nautilus:8822): Gtk-CRITICAL **: file gtkwidget.c: line 3577 (gtk_widget_set_state): assertion `GTK_IS_WIDGET (widget)' failed
When changing colors using the dialog.

Details: 
	
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/nautilus/ChangeLog,v
retrieving revision 1.5241
diff -u -r1.5241 ChangeLog
--- ChangeLog	24 Apr 2002 14:40:35 -0000	1.5241
+++ ChangeLog	24 Apr 2002 22:36:43 -0000
@@ -1,3 +1,31 @@
+2002-04-24  Dave Camp  <dave ximian com>
+
+	* src/file-manager/nautilus-directory-view-ui.xml: Add a "Change
+	Background" command.
+	* src/file-manager/fm-directory-view.c:
+	(change_background_callback), (update_scripts_menu),
+	(real_merge_menus): Implement the "Change Background" command.
+	* src/nautilus-property-browser.c:
+	(nautilus_property_browser_init), (nautilus_property_browser_new),
+	(nautilus_property_browser_get_main),
+	(nautilus_property_browser_show),
+	(nautilus_property_browser_hide_callback),
+	(set_background_from_category), (select_image),
+	(element_clicked_callback), (labeled_image_focus_in),
+	(image_activated_callback), (labeled_image_new),
+	(make_properties_from_directories), (add_reset_property),
+	(make_properties_from_xml_node), (make_category),
+	(category_type_from_string), (unload_categories),
+	(nautilus_property_browser_update_contents),
+	(nautilus_property_browser_set_category),
+	(nautilus_property_browser_set_path),
+	(nautilus_property_browser_set_background_object): Implement a
+	keynavigable "background only" mode for the property browser.
+	* src/nautilus-property-browser.h: 
+	* src/nautilus-shell-ui.xml: Add a Background placeholder.
+	* src/nautilus-window-menus.c: (customize_callback): Updated to
+	reflect NautilusPropertyBrowser api change.
+
 2002-04-24  Jody Goldberg <jody gnome org>
 
 	* src/file-manager/fm-list-model.c
Index: src/nautilus-property-browser.c
===================================================================
RCS file: /cvs/gnome/nautilus/src/nautilus-property-browser.c,v
retrieving revision 1.182
diff -u -r1.182 nautilus-property-browser.c
--- src/nautilus-property-browser.c	22 Apr 2002 09:44:48 -0000	1.182
+++ src/nautilus-property-browser.c	24 Apr 2002 22:36:46 -0000
@@ -85,12 +85,14 @@
 /* property types */
 
 typedef enum {
-	NAUTILUS_PROPERTY_NONE,
-	NAUTILUS_PROPERTY_PATTERN,
-	NAUTILUS_PROPERTY_COLOR,
-	NAUTILUS_PROPERTY_EMBLEM
+	NAUTILUS_PROPERTY_NONE    = 1 << 0,

None should be zero

+	NAUTILUS_PROPERTY_PATTERN = 1 << 1,
+	NAUTILUS_PROPERTY_COLOR   = 1 << 2,
+	NAUTILUS_PROPERTY_EMBLEM  = 1 << 3
 } NautilusPropertyType;
 
+#define NAUTILUS_PROPERTY_ALL (NAUTILUS_PROPERTY_PATTERN | NAUTILUS_PROPERTY_COLOR | NAUTILUS_PROPERTY_EMBLEM)
+
 struct NautilusPropertyBrowserDetails {
 	GtkHBox *container;
 	
@@ -133,6 +135,7 @@
 	char *image_path;
 	
 	NautilusPropertyType category_type;
+	NautilusPropertyType valid_types;
 	
 	int category_position;
 
@@ -142,6 +145,10 @@
 	gboolean keep_around;
 	gboolean has_local;
 	gboolean toggle_button_flag;
+
+	EelLabeledImage *selected_image;
+
+	EelBackground *background;
 };
 
 static void     nautilus_property_browser_class_init      (GtkObjectClass                *object_klass);
@@ -205,6 +212,9 @@
 
 #define ERASE_OBJECT_NAME "erase.png"
 
+#define NORMAL_TITLE (_("Backgrounds and Properties"))
+#define BACKGROUND_TITLE (_("Backgrounds"))
+
 enum {
 	PROPERTY_TYPE,
 };
@@ -251,6 +261,7 @@
 
 	property_browser->details->category = g_strdup ("patterns");
 	property_browser->details->category_type = NAUTILUS_PROPERTY_PATTERN;
+	property_browser->details->valid_types = NAUTILUS_PROPERTY_ALL;
 		
 	/* load the chit frame */
 	temp_str = nautilus_pixmap_file ("chit_frame.png");
@@ -262,7 +273,7 @@
 	gtk_container_set_border_width (GTK_CONTAINER (widget), 0);				
 
 	/* set the title and standard close accelerator */
-	gtk_window_set_title (GTK_WINDOW (widget), _("Backgrounds and Emblems"));
+	gtk_window_set_title (GTK_WINDOW (widget), NORMAL_TITLE);
 	gtk_window_set_wmclass (GTK_WINDOW (widget), "property_browser", "Nautilus");
 	eel_gtk_window_set_up_close_accelerator (GTK_WINDOW (widget));
 		
@@ -473,21 +484,32 @@
 		(gtk_widget_new (nautilus_property_browser_get_type (), NULL));
 
 	gtk_container_set_border_width (GTK_CONTAINER (browser), 0);
-  	gtk_widget_show (GTK_WIDGET(browser));
 	
 	return browser;
 }
 
-/* show the main property browser */
+/* get the main property browser */
 
-void
-nautilus_property_browser_show (void)
+NautilusPropertyBrowser *
+nautilus_property_browser_get_main (void)
 {
 	if (main_browser == NULL) {
 		main_browser = nautilus_property_browser_new ();
-	} else {
-		gtk_window_present (GTK_WINDOW (main_browser));
 	}
+	
+	return main_browser;
+}
+
+/* show the main property browser */
+void
+nautilus_property_browser_show (gboolean modal)
+{
+	NautilusPropertyBrowser *browser;
+	
+	browser = nautilus_property_browser_get_main ();
+	
+	gtk_window_present (GTK_WINDOW (browser));
+	gtk_window_set_modal (GTK_WINDOW (browser), modal);

Shouldn't this be seting the background object to NULL?

 }
 
 static gboolean
@@ -504,6 +526,15 @@
 nautilus_property_browser_hide_callback (GtkWidget *widget,
 					 gpointer   user_data)
 {
+	NautilusPropertyBrowser *property_browser;
+
+	property_browser = NAUTILUS_PROPERTY_BROWSER (widget);
+	
+	if (property_browser->details->selected_image) {
+		eel_labeled_image_set_selected
+			(property_browser->details->selected_image, FALSE);
+	}
+
 	cancel_remove_mode (NAUTILUS_PROPERTY_BROWSER (widget));
 }
 
@@ -1475,6 +1506,64 @@
 /* this callback handles clicks on the image or color based content content elements */
 
 static void
+set_background_from_category (EelBackground *background,
+			      NautilusPropertyType type,
+			      const char *element_name)
+{
+	char *image_file_name;
+
+	if (eel_strcmp (element_name, RESET_IMAGE_NAME) == 0) {


AAAAAaah! The pain! I thought we had killed the "reset.png" hacks.

+		eel_background_reset (background);
+		return;
+	}
+
+	switch (type) {
+	case NAUTILUS_PROPERTY_PATTERN :
+		image_file_name = g_strdup_printf ("%s/patterns/%s",
+						   NAUTILUS_DATADIR,
+						   element_name);


This doesn't support patterns in the user directory.


+		eel_background_receive_dropped_background_image (
+			background,
+			image_file_name);
+		g_free (image_file_name);
+		break;
+	case NAUTILUS_PROPERTY_COLOR :
+		eel_background_set_image_uri (background, NULL);
+		eel_background_set_color (background, element_name);

Add break here for clarity.

+	default :
+	}
+}
+
+static void
+select_image (NautilusPropertyBrowser *property_browser,
+	      EelLabeledImage *labeled_image)
+{
+	const char *element_name;
+
+	if (property_browser->details->selected_image) {
+		eel_labeled_image_set_selected (property_browser->details->selected_image,
+						FALSE);
+	}
+
+	if (labeled_image) {
+		property_browser->details->selected_image = labeled_image;
+		eel_labeled_image_set_selected (labeled_image,
+						TRUE);
+	}
+	
+	if (property_browser->details->background) {
+		element_name = g_object_get_data (G_OBJECT (labeled_image),
+						  "property-name");
+		
+		set_background_from_category (
+			property_browser->details->background, 
+			property_browser->details->category_type,
+			element_name);
+	}
+}
+
+/* this callback handles clicks on the image or color based content content elements */
+static void
 element_clicked_callback (GtkWidget *image_table,
 			  GtkWidget *child,
 			  const EelImageTableEvent *event,
@@ -1505,6 +1594,12 @@
 		gtk_widget_show (property_browser->details->help_label);
 		return;
 	}
+
+	if (property_browser->details->background) {
+		gtk_widget_grab_focus (child);
+		select_image (property_browser, EEL_LABELED_IMAGE (child));
+		return;
+	}
 	
 	/* set up the drag and drop type corresponding to the category */
 	drag_types[0].target = property_browser->details->drag_type;
@@ -1577,6 +1672,19 @@
 	return result_str;
 }
 
+static gboolean
+labeled_image_focus_in (GtkWidget *widget,
+			GdkEventFocus *event,
+			gpointer data)
+{
+        g_return_val_if_fail (widget->parent && widget->parent->parent, FALSE);
+        g_return_val_if_fail (GTK_IS_VIEWPORT (widget->parent->parent), FALSE);
+	
+        eel_gtk_viewport_scroll_to_rect (GTK_VIEWPORT (widget->parent->parent),                                          &widget->allocation);

Uhm? Indentation??

+        
+        return FALSE;
+}
+
 static void
 labeled_image_configure (EelLabeledImage *labeled_image)
 {
@@ -1585,9 +1693,17 @@
 	eel_labeled_image_set_spacing (labeled_image, LABELED_IMAGE_SPACING);
 }
 
+static void
+image_activated_callback (GtkWidget *image,
+			  NautilusPropertyBrowser *property_browser)
+{
+	select_image (property_browser, EEL_LABELED_IMAGE (image));
+}
+
 /* Make a color tile for a property */
 static GtkWidget *
-labeled_image_new (const char *text,
+labeled_image_new (NautilusPropertyBrowser *property_browser,
+		   const char *text,
 		   GdkPixbuf *pixbuf,
 		   const char *property_name,
 		   double scale_factor)
@@ -1597,6 +1713,19 @@
 	labeled_image = eel_labeled_image_new (text, pixbuf);
 	labeled_image_configure (EEL_LABELED_IMAGE (labeled_image));
 
+	eel_labeled_image_set_can_focus 
+		(EEL_LABELED_IMAGE (labeled_image),
+		 property_browser->details->background != NULL);
+	
+	g_signal_connect (labeled_image, "focus_in_event",
+			  G_CALLBACK (labeled_image_focus_in),
+			  property_browser);
+
+
+	g_signal_connect (labeled_image, "activate",
+			  G_CALLBACK (image_activated_callback), 
+			  property_browser);
+	
 	if (property_name != NULL) {
 		g_object_set_data_full (G_OBJECT (labeled_image),
 					"property-name",
@@ -1644,7 +1773,7 @@
 									 &object_label) == GNOME_VFS_OK) {
 		GtkWidget *property_image;
 
-		property_image = labeled_image_new (object_label, object_pixbuf, object_name, PANGO_SCALE_LARGE);
+		property_image = labeled_image_new (property_browser, object_label, object_pixbuf, object_name, PANGO_SCALE_LARGE);
 		
 		if (property_browser->details->category_type == NAUTILUS_PROPERTY_EMBLEM) {		
 			char *keyword;
@@ -1737,7 +1866,8 @@
 	
 	g_free (reset_image_file_name);
 
-	reset_image = labeled_image_new (NULL, reset_chit, RESET_IMAGE_NAME, PANGO_SCALE_MEDIUM);
+	reset_image = labeled_image_new (property_browser, NULL, reset_chit, RESET_IMAGE_NAME, PANGO_SCALE_MEDIUM);
+	
 	gtk_container_add (GTK_CONTAINER (property_browser->details->content_table), reset_image);
 	eel_wrap_table_reorder_child (EEL_WRAP_TABLE (property_browser->details->content_table),
 					   reset_image,
@@ -1789,7 +1919,7 @@
 			pixbuf = make_color_drag_image (property_browser, color, FALSE);			
 
 			/* make the tile from the pixmap and name */
-			new_property = labeled_image_new (name, pixbuf, color, PANGO_SCALE_LARGE);
+			new_property = labeled_image_new (property_browser, name, pixbuf, color, PANGO_SCALE_LARGE);
 
 			gtk_container_add (GTK_CONTAINER (property_browser->details->content_table), new_property);
 			gtk_widget_show (new_property);
@@ -1821,7 +1951,11 @@
 {
 
 	/* set up the description in the help label */
-	gtk_label_set_text (GTK_LABEL (property_browser->details->help_label), description);
+	if (!property_browser->details->background) {

Use != NULL here

+		gtk_label_set_text (GTK_LABEL (property_browser->details->help_label), description);
+	} else {
+		gtk_label_set_text (GTK_LABEL (property_browser->details->help_label), "");
+	}

Should we really have no description for the other case?

 	
 	/* case out on the mode */
 	if (strcmp (mode, "directory") == 0)
@@ -1893,10 +2027,44 @@
 		 g_strdup (name), (GClosureNotify) g_free, 0);
 }
 
+static NautilusPropertyType
+category_type_from_string (const char *category)
+{
+	if (eel_strcmp (category, "patterns") == 0) {
+		return NAUTILUS_PROPERTY_PATTERN;
+	} else if (eel_strcmp (category, "colors") == 0) {	
+		return NAUTILUS_PROPERTY_COLOR;
+	} else if (eel_strcmp (category, "emblems") == 0) {	
+		return NAUTILUS_PROPERTY_EMBLEM;
+	} else {
+		return NAUTILUS_PROPERTY_NONE;
+	}
+}
+
+static void
+unload_categories (NautilusPropertyBrowser *property_browser)
+{
+	GList *children;
+	GList *l;
+	
+	children = gtk_container_get_children 
+		(GTK_CONTAINER (property_browser->details->category_box));
+
+	for (l = children; l != NULL; l = l->next) {
+		gtk_container_remove (GTK_CONTAINER (property_browser->details->category_box),
+				      GTK_WIDGET (l->data));
+	}
+
+	g_list_free (children);
+
+	property_browser->details->category_position = -1;
+}
+
 /* update_contents populates the property browser with information specified by the path and other state variables */
 void
 nautilus_property_browser_update_contents (NautilusPropertyBrowser *property_browser)
 {
+	NautilusPropertyType category_type;
 	xmlNodePtr cur_node;
  	xmlDocPtr document;
  	EelBackground *background;
@@ -1910,6 +2078,8 @@
 	if (document == NULL) {
 		return;
 	}
+
+	property_browser->details->selected_image = NULL;
 		
 	/* remove the existing content box, if any, and allocate a new one */
 	if (property_browser->details->content_frame) {
@@ -1980,16 +2150,21 @@
 			}
 			
 			if (!got_categories) {
-				display_name = eel_xml_get_property_translated (cur_node, "display_name");
-				image = xmlGetProp (cur_node, "image");
+				category_type = 
+					category_type_from_string (name);
 
-				make_category_link (property_browser,
-						    name,
-						    display_name,
-						    image);
-				
-				xmlFree (display_name);
-				xmlFree (image);
+				if ((category_type & property_browser->details->valid_types) != 0) {
+					display_name = eel_xml_get_property_translated (cur_node, "display_name");
+					image = xmlGetProp (cur_node, "image");
+					
+					make_category_link (property_browser,
+							    name,
+							    display_name,
+							    image);
+					
+					xmlFree (display_name);
+					xmlFree (image);
+				}
 			}
 			
 			xmlFree (name);
@@ -2125,16 +2300,8 @@
 	g_free (property_browser->details->category);
 	property_browser->details->category = g_strdup (new_category);
 	
-	/* set up the property type enum */
-	if (eel_strcmp (new_category, "patterns") == 0) {
-		property_browser->details->category_type = NAUTILUS_PROPERTY_PATTERN;
-	} else if (eel_strcmp (new_category, "colors") == 0) {	
-		property_browser->details->category_type = NAUTILUS_PROPERTY_COLOR;
-	} else if (eel_strcmp (new_category, "emblems") == 0) {	
-		property_browser->details->category_type = NAUTILUS_PROPERTY_EMBLEM;
-	} else {
-		property_browser->details->category_type = NAUTILUS_PROPERTY_NONE;
-	}
+	property_browser->details->category_type = 
+		category_type_from_string (new_category);
 	
 	/* populate the per-uri box with the info */
 	nautilus_property_browser_update_contents (property_browser);  	
@@ -2158,6 +2325,38 @@
 	
 	/* populate the per-uri box with the info */
 	nautilus_property_browser_update_contents (property_browser);  	
+}
+
+void
+nautilus_property_browser_set_background_object (NautilusPropertyBrowser *property_browser,
+						 EelBackground *background)
+{
+	EelBackground *old_background;
+	
+	old_background = property_browser->details->background;
+	property_browser->details->background = background;
+
+	if ((old_background && !background) || 
+	    (!old_background && background)) {


please use == NULL and != NULL


+		
+		if (background) {
+			property_browser->details->valid_types = NAUTILUS_PROPERTY_PATTERN | NAUTILUS_PROPERTY_COLOR;
+			gtk_window_set_title (GTK_WINDOW (property_browser), BACKGROUND_TITLE);
+		} else {
+			property_browser->details->valid_types = NAUTILUS_PROPERTY_ALL;
+			gtk_window_set_title (GTK_WINDOW (property_browser), BACKGROUND_TITLE);

Shouldn't this use NORMAL_TITLE

+		}
+		unload_categories (property_browser);
+		nautilus_property_browser_update_contents (property_browser);
+	}
+
+	if (old_background) {
+		g_object_unref (old_background);
+	}
+	
+	if (background) {
+		g_object_ref (background);
+	}

You ref the background, but you don't unref it in the destructor.

 }
 
 static void
Index: src/nautilus-property-browser.h
===================================================================
RCS file: /cvs/gnome/nautilus/src/nautilus-property-browser.h,v
retrieving revision 1.4
diff -u -r1.4 nautilus-property-browser.h
--- src/nautilus-property-browser.h	3 May 2001 19:16:09 -0000	1.4
+++ src/nautilus-property-browser.h	24 Apr 2002 22:36:46 -0000
@@ -32,8 +32,9 @@
 #define NAUTILUS_PROPERTY_BROWSER_H
 
 #include <gtk/gtkwindow.h>
+#include <eel/eel-background.h>
 
-typedef struct NautilusPropertyBrowser NautilusPropertyBrowser;
+typedef struct NautilusPropertyBrowser       NautilusPropertyBrowser;
 typedef struct NautilusPropertyBrowserClass  NautilusPropertyBrowserClass;
 
 #define NAUTILUS_TYPE_PROPERTY_BROWSER \
@@ -61,9 +62,14 @@
 };
 
 GtkType nautilus_property_browser_get_type (void);
+
 NautilusPropertyBrowser *nautilus_property_browser_new (void);
-void nautilus_property_browser_show (void);
+NautilusPropertyBrowser *nautilus_property_browser_get_main (void);
+void nautilus_property_browser_show (gboolean modal);
+
 void nautilus_property_browser_set_path (NautilusPropertyBrowser *panel,
 					 const char         *new_path);
+void nautilus_property_browser_set_background_object (NautilusPropertyBrowser *panel,
+						      EelBackground *background);
 
 #endif /* NAUTILUS_PROPERTY_BROWSER_H */
Index: src/nautilus-shell-ui.xml
===================================================================
RCS file: /cvs/gnome/nautilus/src/nautilus-shell-ui.xml,v
retrieving revision 1.84
diff -u -r1.84 nautilus-shell-ui.xml
--- src/nautilus-shell-ui.xml	21 Apr 2002 23:25:08 -0000	1.84
+++ src/nautilus-shell-ui.xml	24 Apr 2002 22:36:46 -0000
@@ -183,6 +183,7 @@
 				  pixtype="stock" pixname="zoom-100"
 				  verb="Zoom Normal"/>
 		</placeholder>
+		<placeholder name="Background Placeholder" delimit="top"/>
 		<placeholder name="View Choices">
 			<placeholder name="Extra Viewer" delimit="top"/>
 			<separator name="Before Short List"/>
Index: src/nautilus-window-menus.c
===================================================================
RCS file: /cvs/gnome/nautilus/src/nautilus-window-menus.c,v
retrieving revision 1.236
diff -u -r1.236 nautilus-window-menus.c
--- src/nautilus-window-menus.c	21 Apr 2002 22:41:17 -0000	1.236
+++ src/nautilus-window-menus.c	24 Apr 2002 22:36:46 -0000
@@ -538,7 +538,12 @@
 		    gpointer user_data, 
 		    const char *verb)
 {
-	nautilus_property_browser_show ();
+	NautilusPropertyBrowser *property_browser;
+	
+	property_browser = nautilus_property_browser_get_main ();
+	nautilus_property_browser_set_background_object (property_browser, 
+							 NULL);
+	nautilus_property_browser_show (FALSE);

Shouldn't this still be using nautilus_property_browser_show()?

 }
 
 static void
Index: src/file-manager/fm-directory-view.c
===================================================================
RCS file: /cvs/gnome/nautilus/src/file-manager/fm-directory-view.c,v
retrieving revision 1.526
diff -u -r1.526 fm-directory-view.c
--- src/file-manager/fm-directory-view.c	19 Apr 2002 12:06:45 -0000	1.526
+++ src/file-manager/fm-directory-view.c	24 Apr 2002 22:36:47 -0000
@@ -77,6 +77,7 @@
 #include <libnautilus-private/nautilus-trash-monitor.h>
 #include <libnautilus-private/nautilus-view-identifier.h>
 #include <libnautilus/nautilus-bonobo-ui.h>
+#include "../nautilus-property-browser.h"
 #include <math.h>
 #include <unistd.h>
 
@@ -144,8 +145,7 @@
 #define FM_DIRECTORY_VIEW_POPUP_PATH_BACKGROUND				"/popups/background"
 #define FM_DIRECTORY_VIEW_POPUP_PATH_SELECTION				"/popups/selection"
 
-#define FM_DIRECTORY_VIEW_POPUP_PATH_BACKGROUND_SCRIPTS_PLACEHOLDER	"/popups/background/Before Zoom Items/Scripts/Scripts Placeholder"
-#define FM_DIRECTORY_VIEW_POPUP_PATH_BACKGROUND_SCRIPTS_SEPARATOR	"/popups/background/Before Zoom Items/Scripts/After Scripts"
+#define FM_DIRECTORY_VIEW_POPUP_PATH_BACKGROUND_SCRIPTS_PLACEHOLDER      "/popups/background/Before Zoom Items/Scripts/Scripts Placeholder"
 
 #define FM_DIRECTORY_VIEW_POPUP_PATH_APPLICATIONS_PLACEHOLDER    	"/popups/selection/Open Placeholder/Open With/Applications Placeholder"
 #define FM_DIRECTORY_VIEW_POPUP_PATH_VIEWERS_PLACEHOLDER    		"/popups/selection/Open Placeholder/Open With/Viewers Placeholder"
@@ -1689,6 +1689,22 @@
 }
 
 static void
+change_background_callback (BonoboUIComponent *component, 
+			    gpointer data, 
+			    const char *verb)
+{
+	NautilusPropertyBrowser *property_browser;
+
+	property_browser = nautilus_property_browser_get_main ();
+	
+	nautilus_property_browser_set_background_object 
+		(property_browser,
+		 fm_directory_view_get_background (FM_DIRECTORY_VIEW (data)));
+
+	nautilus_property_browser_show (TRUE);
+}
+
+static void
 reset_background_callback (BonoboUIComponent *component, gpointer callback_data, const char *verb)
 {
 	g_assert (FM_IS_DIRECTORY_VIEW (callback_data));
@@ -3856,9 +3872,6 @@
 	nautilus_bonobo_set_hidden (view->details->ui, 
 				    FM_DIRECTORY_VIEW_POPUP_PATH_SCRIPTS_SEPARATOR, 
 				    !any_scripts);
-	nautilus_bonobo_set_hidden (view->details->ui, 
-				    FM_DIRECTORY_VIEW_POPUP_PATH_BACKGROUND_SCRIPTS_SEPARATOR, 
-				    !any_scripts);
 }
 
 static void
@@ -4147,6 +4160,7 @@
 		BONOBO_UI_VERB ("OtherViewer", other_viewer_callback),
 		BONOBO_UI_VERB ("Paste Files", paste_files_callback),
 		BONOBO_UI_VERB ("Remove Custom Icons", remove_custom_icons_callback),
+		BONOBO_UI_VERB ("Change Background", change_background_callback),
 		BONOBO_UI_VERB ("Reset Background", reset_background_callback),
 		BONOBO_UI_VERB ("Reset to Defaults", reset_to_defaults_callback),
 		BONOBO_UI_VERB ("Select All", bonobo_menu_select_all_callback),
Index: src/file-manager/nautilus-directory-view-ui.xml
===================================================================
RCS file: /cvs/gnome/nautilus/src/file-manager/nautilus-directory-view-ui.xml,v
retrieving revision 1.36
diff -u -r1.36 nautilus-directory-view-ui.xml
--- src/file-manager/nautilus-directory-view-ui.xml	21 Apr 2002 22:41:18 -0000	1.36
+++ src/file-manager/nautilus-directory-view-ui.xml	24 Apr 2002 22:36:47 -0000
@@ -39,6 +39,9 @@
 	<cmd name="Reset to Defaults"
          _label="Reset View to Default"
 	 _tip="Reset sorting order and zoom level to match preferences for this view"/>
+	<cmd name="Change Background"
+         _label="Change Background..."
+	 _tip="Set the background of this location to a custom pattern or color"/>
 	<cmd name="Reset Background"
          _label="Reset Background"
 	 _tip="Remove any custom pattern or color from the background of this location"/>
@@ -177,7 +180,6 @@
 				  _label="R_emove Custom Images" 
 				  verb="Remove Custom Icons"/>
 		</placeholder>
-
 	</submenu>
 
 	<submenu name="View">
@@ -186,6 +188,14 @@
 				  _label="Reset View to Match _Preferences"
 				  verb="Reset to Defaults"/>
 		</placeholder>
+		<placeholder name="Background Placeholder">
+			<menuitem name="Change Background"
+				  _label="_Change Background..."
+				  verb="Change Background"/>
+			<menuitem name="Reset Background"
+				  _label="Reset _Background"
+				  verb="Reset Background"/>
+		</placeholder>
 	</submenu>
 </menu>
 <popups>
@@ -211,6 +221,8 @@
 		</placeholder>
 		<placeholder name="After Zoom Items">
 			<placeholder name="Background Items" delimit="none">
+				<menuitem name="Change Background" verb="Change Background"/>
+
 				<menuitem name="Reset Background" verb="Reset Background"/>
 			</placeholder>
 		</placeholder>

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Alexander Larsson                                            Red Hat, Inc 
                   alexl redhat com    alla lysator liu se 
He's a maverick albino barbarian with a secret. She's a ditzy foul-mouthed 
politician with an incredible destiny. They fight crime! 




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]