[nautilus] toolbar: build the toolbar and the location bar with a GtkUIManager



commit 67946b38ce482201e0da7dbf6e955e06038fa2c9
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Thu Feb 10 12:50:16 2011 -0500

    toolbar: build the toolbar and the location bar with a GtkUIManager

 src/nautilus-location-bar.c           |    4 ++--
 src/nautilus-location-bar.h           |    2 +-
 src/nautilus-navigation-window-pane.c |    2 +-
 src/nautilus-navigation-window-ui.xml |    4 +---
 src/nautilus-toolbar.c                |   28 +++++++++++++++-------------
 src/nautilus-toolbar.h                |    2 +-
 6 files changed, 21 insertions(+), 21 deletions(-)
---
diff --git a/src/nautilus-location-bar.c b/src/nautilus-location-bar.c
index bd70a2f..4076dea 100644
--- a/src/nautilus-location-bar.c
+++ b/src/nautilus-location-bar.c
@@ -522,7 +522,7 @@ nautilus_location_bar_init (NautilusLocationBar *bar)
 }
 
 GtkWidget *
-nautilus_location_bar_new (NautilusNavigationWindowPane *pane)
+nautilus_location_bar_new (GtkUIManager *ui_manager)
 {
 	GtkWidget *bar;
 	NautilusLocationBar *location_bar;
@@ -533,7 +533,7 @@ nautilus_location_bar_new (NautilusNavigationWindowPane *pane)
 	/* Clipboard */
 	nautilus_clipboard_set_up_editable
 		(GTK_EDITABLE (location_bar->details->entry),
-		 nautilus_window_get_ui_manager (NAUTILUS_WINDOW (NAUTILUS_WINDOW_PANE(pane)->window)),
+		 ui_manager,
 		 TRUE);
 
 	return bar;
diff --git a/src/nautilus-location-bar.h b/src/nautilus-location-bar.h
index 0b76138..45f450e 100644
--- a/src/nautilus-location-bar.h
+++ b/src/nautilus-location-bar.h
@@ -62,7 +62,7 @@ typedef struct {
 } NautilusLocationBarClass;
 
 GType      nautilus_location_bar_get_type     	(void);
-GtkWidget* nautilus_location_bar_new          	(NautilusNavigationWindowPane *pane);
+GtkWidget* nautilus_location_bar_new          	(GtkUIManager *ui_manager);
 void       nautilus_location_bar_set_active     (NautilusLocationBar *location_bar,
 						 gboolean is_active);
 NautilusEntry * nautilus_location_bar_get_entry (NautilusLocationBar *location_bar);
diff --git a/src/nautilus-navigation-window-pane.c b/src/nautilus-navigation-window-pane.c
index 7ecf8b3..4644d9e 100644
--- a/src/nautilus-navigation-window-pane.c
+++ b/src/nautilus-navigation-window-pane.c
@@ -622,7 +622,7 @@ nautilus_navigation_window_pane_setup (NautilusNavigationWindowPane *pane)
 	header_size_group = NAUTILUS_NAVIGATION_WINDOW (NAUTILUS_WINDOW_PANE (pane)->window)->details->header_size_group;
 
 	/* build the toolbar */
-	pane->tool_bar = nautilus_toolbar_new (pane);
+	pane->tool_bar = nautilus_toolbar_new (nautilus_window_get_ui_manager (NAUTILUS_WINDOW_PANE (pane)->window));
 	gtk_box_pack_start (GTK_BOX (pane->widget),
 			    pane->tool_bar,
 			    FALSE, FALSE, 0);
diff --git a/src/nautilus-navigation-window-ui.xml b/src/nautilus-navigation-window-ui.xml
index 8155062..e354624 100644
--- a/src/nautilus-navigation-window-ui.xml
+++ b/src/nautilus-navigation-window-ui.xml
@@ -63,8 +63,6 @@
 <toolbar name="Toolbar">
 	<toolitem name="Back" action="Back"/>
 	<toolitem name="Forward" action="Forward"/>
-	<placeholder name="Extra Buttons Placeholder">
-	          <placeholder name="Extension Actions"/>
-        </placeholder>
+        <toolitem name="Search" action="Search"/>
 </toolbar>
 </ui>
diff --git a/src/nautilus-toolbar.c b/src/nautilus-toolbar.c
index 7cf379f..c163c0f 100644
--- a/src/nautilus-toolbar.c
+++ b/src/nautilus-toolbar.c
@@ -29,12 +29,13 @@
 
 #include "nautilus-location-bar.h"
 #include "nautilus-pathbar.h"
+#include "nautilus-window-private.h"
 #include "nautilus-global-preferences.h"
 
 struct _NautilusToolbarPriv {
 	GtkWidget *toolbar;
 
-	NautilusNavigationWindowPane *pane;
+	GtkUIManager *ui_manager;
 
 	GtkWidget *path_bar;
 	GtkWidget *location_bar;
@@ -46,7 +47,7 @@ struct _NautilusToolbarPriv {
 };
 
 enum {
-	PROP_PANE = 1,
+	PROP_UI_MANAGER = 1,
 	PROP_SHOW_LOCATION_ENTRY,
 	PROP_SHOW_SEARCH_BAR,
 	PROP_SHOW_MAIN_BAR,
@@ -86,7 +87,8 @@ nautilus_toolbar_constructed (GObject *obj)
 
 	G_OBJECT_CLASS (nautilus_toolbar_parent_class)->constructed (obj);
 
-	self->priv->toolbar = gtk_toolbar_new ();
+	self->priv->toolbar = gtk_ui_manager_get_widget (self->priv->ui_manager, "/Toolbar");
+	
 	gtk_box_pack_start (GTK_BOX (self), self->priv->toolbar, TRUE, TRUE, 0);
 	gtk_widget_show (self->priv->toolbar);
 
@@ -98,7 +100,7 @@ nautilus_toolbar_constructed (GObject *obj)
 	gtk_box_pack_start (GTK_BOX (hbox), self->priv->path_bar, TRUE, TRUE, 0);
 
 	/* entry-like location bar */
-	self->priv->location_bar = nautilus_location_bar_new (self->priv->pane);
+	self->priv->location_bar = nautilus_location_bar_new (self->priv->ui_manager);
 	gtk_box_pack_start (GTK_BOX (hbox), self->priv->location_bar, TRUE, TRUE, 0);
 
 	item = gtk_tool_item_new ();
@@ -159,8 +161,8 @@ nautilus_toolbar_set_property (GObject *object,
 	NautilusToolbar *self = NAUTILUS_TOOLBAR (object);
 
 	switch (property_id) {
-	case PROP_PANE:
-		self->priv->pane = g_value_get_object (value);
+	case PROP_UI_MANAGER:
+		self->priv->ui_manager = g_value_get_object (value);
 		break;
 	case PROP_SHOW_LOCATION_ENTRY:
 		nautilus_toolbar_set_show_location_entry (self, g_value_get_boolean (value));
@@ -187,11 +189,11 @@ nautilus_toolbar_class_init (NautilusToolbarClass *klass)
 	oclass->set_property = nautilus_toolbar_set_property;
 	oclass->constructed = nautilus_toolbar_constructed;
 
-	properties[PROP_PANE] =
-		g_param_spec_object ("pane",
-				     "The parent pane",
-				     "The pane that contains this toolbar",
-				     NAUTILUS_TYPE_NAVIGATION_WINDOW_PANE,
+	properties[PROP_UI_MANAGER] =
+		g_param_spec_object ("ui-manager",
+				     "The UI manager",
+				     "The UI manager to get actions from",
+				     GTK_TYPE_UI_MANAGER,
 				     G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY |
 				     G_PARAM_STATIC_STRINGS);
 	properties[PROP_SHOW_LOCATION_ENTRY] =
@@ -218,10 +220,10 @@ nautilus_toolbar_class_init (NautilusToolbarClass *klass)
 }
 
 GtkWidget *
-nautilus_toolbar_new (NautilusNavigationWindowPane *parent)
+nautilus_toolbar_new (GtkUIManager *ui_manager)
 {
 	return g_object_new (NAUTILUS_TYPE_TOOLBAR,
-			     "pane", parent,
+			     "ui-manager", ui_manager,
 			     "orientation", GTK_ORIENTATION_VERTICAL,
 			     NULL);
 }
diff --git a/src/nautilus-toolbar.h b/src/nautilus-toolbar.h
index adcf6ef..6015edc 100644
--- a/src/nautilus-toolbar.h
+++ b/src/nautilus-toolbar.h
@@ -64,7 +64,7 @@ struct _NautilusToolbarClass {
 
 GType nautilus_toolbar_get_type (void);
 
-GtkWidget *nautilus_toolbar_new (NautilusNavigationWindowPane *parent);
+GtkWidget *nautilus_toolbar_new (GtkUIManager *ui_manager);
 
 GtkWidget *nautilus_toolbar_get_path_bar (NautilusToolbar *self);
 GtkWidget *nautilus_toolbar_get_location_bar (NautilusToolbar *self);



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