[nautilus-actions] New classes BaseWindow, NactWindow, NactWndActions, new interface NactIactionsList



commit 370467cffd8a334dac8304fed6c10e24ec28a4a0
Author: Pierre Wieser <pwieser trychlos org>
Date:   Sat Jun 20 00:02:12 2009 +0200

    New classes BaseWindow, NactWindow, NactWndActions, new interface NactIactionsList

 ChangeLog                              |   19 +
 src/common/na-gconf.c                  |    4 -
 src/common/na-iio-provider.c           |    9 +-
 src/common/na-iio-provider.h           |    2 +-
 src/common/na-pivot.c                  |   18 +-
 src/common/na-pivot.h                  |    2 +
 src/nact/Makefile.am                   |   10 +-
 src/nact/base-application.c            |  179 +-
 src/nact/base-application.h            |   43 +-
 src/nact/base-window.c                 |  499 +++
 src/nact/base-window.h                 |   99 +
 src/nact/nact-application.c            |   89 +-
 src/nact/nact-application.h            |    2 +
 src/nact/nact-iactions-list.c          |  316 ++
 src/nact/nact-iactions-list.h          |   78 +
 src/nact/nact-window.c                 |  263 ++
 src/nact/nact-window.h                 |   72 +
 src/nact/nact-wnd-actions.c            |  597 +++
 src/nact/nact-wnd-actions.h            |   74 +
 src/nact/nautilus-actions-config.glade | 6839 +++++++++++++-------------------
 src/plugin/nautilus-module.c           |    6 +-
 21 files changed, 4999 insertions(+), 4221 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 732207a..4877196 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -24,6 +24,25 @@
 	* src/common/na-pivot.c:
 	na_iio_provider_load_actions renamed to na_iio_provider_read_actions.
 
+	* src/nact/base-window.c:
+	* src/nact/base-window.h:
+	Define and implement new class BaseWindow.
+
+	* src/nact/nact-iactions-list.c:
+	* src/nact/nact-iactions-list.h:
+	Define and implement new interface NactIActionsList.
+
+	* src/nact/nact-window.c:
+	* src/nact/nact-window.h:
+	Define and implement new class NactWindow.
+
+	* src/nact/nact-wnd-actions.c:
+	* src/nact/nact-wnd-actions.h:
+	Define and implement new class NactWndActions.
+
+	* src/common/Makefile.am:
+	Updated accordingly.
+
 2009-06-18 Pierre Wieser <pwieser trychlos org>
 
 	Begin with porting NACT to new object hierarchy.
diff --git a/src/common/na-gconf.c b/src/common/na-gconf.c
index a662878..06387fd 100644
--- a/src/common/na-gconf.c
+++ b/src/common/na-gconf.c
@@ -299,10 +299,6 @@ do_read_actions( NAIIOProvider *provider )
 		na_action_set_profiles( action, profiles );
 		na_action_free_profiles( profiles );
 
-#ifdef NACT_MAINTAINER_MODE
-		na_object_dump( NA_OBJECT( action ));
-#endif
-
 		items = g_slist_prepend( items, action );
 		g_free( key );
 	}
diff --git a/src/common/na-iio-provider.c b/src/common/na-iio-provider.c
index aba3408..6c5f988 100644
--- a/src/common/na-iio-provider.c
+++ b/src/common/na-iio-provider.c
@@ -154,6 +154,12 @@ na_iio_provider_read_actions( const GObject *object )
 		}
 	}
 
+#ifdef NACT_MAINTAINER_MODE
+	for( ip = actions ; ip ; ip = ip->next ){
+		na_object_dump( NA_OBJECT( ip->data ));
+	}
+#endif
+
 	return( actions );
 }
 
@@ -191,7 +197,8 @@ na_iio_provider_write_action( const GObject *obj_pivot, const GObject *obj_actio
 
 		instance = NA_IIO_PROVIDER( ip->data );
 
-		/*if( NA_IIO_PROVIDER_GET_INTERFACE( instance )->write_action ){
+		/* TODO: write the action
+		if( NA_IIO_PROVIDER_GET_INTERFACE( instance )->write_action ){
 			list = NA_IIO_PROVIDER_GET_INTERFACE( instance )->load_actions( instance );
 			actions = g_slist_concat( actions, list );
 		}*/
diff --git a/src/common/na-iio-provider.h b/src/common/na-iio-provider.h
index 656b156..86c6175 100644
--- a/src/common/na-iio-provider.h
+++ b/src/common/na-iio-provider.h
@@ -42,7 +42,7 @@
  * startup time (e.g. on the model of provider interfaces in Nautilus).
  */
 
-#include "glib-object.h"
+#include <glib-object.h>
 
 G_BEGIN_DECLS
 
diff --git a/src/common/na-pivot.c b/src/common/na-pivot.c
index 70910c7..bac8065 100644
--- a/src/common/na-pivot.c
+++ b/src/common/na-pivot.c
@@ -99,7 +99,6 @@ static void     instance_set_property( GObject *object, guint property_id, const
 static void     instance_dispose( GObject *object );
 static void     instance_finalize( GObject *object );
 
-static void     free_actions( GSList *list );
 static gint     sort_actions_by_label( gconstpointer a1, gconstpointer a2 );
 static void     action_changed_handler( NAPivot *pivot, gpointer user_data );
 static gboolean on_action_changed_timeout( gpointer user_data );
@@ -251,7 +250,7 @@ instance_dispose( GObject *object )
 		self->private->dispose_has_run = TRUE;
 
 		/* release list of actions */
-		free_actions( self->private->actions );
+		na_pivot_free_actions( self->private->actions );
 		self->private->actions = NULL;
 
 		/* chain up to the parent class */
@@ -358,14 +357,19 @@ na_pivot_get_actions( const NAPivot *pivot )
 	return( pivot->private->actions );
 }
 
-static void
-free_actions( GSList *list )
+/**
+ * Free a list of actions.
+ *
+ * @list: the GSList of NAActions to be freed.
+ */
+void
+na_pivot_free_actions( GSList *actions )
 {
 	GSList *ia;
-	for( ia = list ; ia ; ia = ia->next ){
+	for( ia = actions ; ia ; ia = ia->next ){
 		g_object_unref( NA_ACTION( ia->data ));
 	}
-	g_slist_free( list );
+	g_slist_free( actions );
 }
 
 static gint
@@ -496,7 +500,7 @@ on_action_changed_timeout( gpointer user_data )
 		return( TRUE );
 	}
 
-	free_actions( pivot->private->actions );
+	na_pivot_free_actions( pivot->private->actions );
 	pivot->private->actions = na_iio_provider_read_actions( G_OBJECT( pivot ));
 
 	g_signal_emit_by_name( G_OBJECT( pivot->private->notified ), "notify_nautilus_of_action_changed" );
diff --git a/src/common/na-pivot.h b/src/common/na-pivot.h
index ac44f06..fc51e80 100644
--- a/src/common/na-pivot.h
+++ b/src/common/na-pivot.h
@@ -76,6 +76,8 @@ GSList  *na_pivot_get_providers( const NAPivot *pivot, GType type );
 GSList  *na_pivot_get_label_sorted_actions( const NAPivot *pivot );
 GSList  *na_pivot_get_actions( const NAPivot *pivot );
 
+void     na_pivot_free_actions( GSList *actions );
+
 GObject *na_pivot_get_action( NAPivot *pivot, const gchar *uuid );
 
 gboolean na_pivot_write_action( NAPivot *pivot, const GObject *action, gchar **message );
diff --git a/src/nact/Makefile.am b/src/nact/Makefile.am
index 5bce652..328402e 100644
--- a/src/nact/Makefile.am
+++ b/src/nact/Makefile.am
@@ -42,10 +42,12 @@ AM_CPPFLAGS += \
 nautilus_actions_config_SOURCES = \
 	base-application.c									\
 	base-application.h									\
-	nact.c												\
-	nact.h												\
+	base-window.c										\
+	base-window.h										\
 	nact-application.c									\
 	nact-application.h									\
+	nact-iactions-list.c								\
+	nact-iactions-list.h								\
 	nact-main.c											\
 	nact-utils.c										\
 	nact-utils.h										\
@@ -59,6 +61,10 @@ nautilus_actions_config_SOURCES = \
 	nact-editor.h										\
 	nact-action-editor.c								\
 	nact-action-editor.h								\
+	nact-window.c										\
+	nact-window.h										\
+	nact-wnd-actions.c									\
+	nact-wnd-actions.h									\
 	$(NULL)
 
 nautilus_actions_config_LDADD = \
diff --git a/src/nact/base-application.c b/src/nact/base-application.c
index 74f910b..9efe110 100644
--- a/src/nact/base-application.c
+++ b/src/nact/base-application.c
@@ -37,6 +37,7 @@
 #include <unique/unique.h>
 
 #include "base-application.h"
+#include "base-window.h"
 
 /* private class data
  */
@@ -46,36 +47,28 @@ struct BaseApplicationClassPrivate {
 /* private instance data
  */
 struct BaseApplicationPrivate {
-	gboolean   dispose_has_run;
-	int        argc;
-	gpointer   argv;
-	gchar     *unique_name;
-	UniqueApp *unique_app;
-	gchar     *application_name;
-	gchar     *icon_name;
-	GtkWindow *main_window;
+	gboolean    dispose_has_run;
+	int         argc;
+	gpointer    argv;
+	gchar      *unique_name;
+	UniqueApp  *unique_app;
+	gchar      *application_name;
+	gchar      *icon_name;
+	BaseWindow *main_window;
 };
 
-/* private instance properties
+/* instance properties
  */
 enum {
-	PROP_ARGC = 1,
-	PROP_ARGV,
-	PROP_UNIQUE_NAME,
-	PROP_UNIQUE_APP,
-	PROP_MAIN_WINDOW,
+	PROP_APPLICATION_ARGC = 1,
+	PROP_APPLICATION_ARGV,
+	PROP_APPLICATION_UNIQUE_NAME,
+	PROP_APPLICATION_UNIQUE_APP,
+	PROP_APPLICATION_MAIN_WINDOW,
 	PROP_APPLICATION_NAME,
-	PROP_ICON_NAME
+	PROP_APPLICATION_ICON_NAME
 };
 
-#define PROP_ARGC_STR					"argc"
-#define PROP_ARGV_STR					"argv"
-#define PROP_UNIQUE_NAME_STR			"unique-name"
-#define PROP_UNIQUE_APP_STR				"unique-app"
-#define PROP_MAIN_WINDOW_STR			"main-window"
-#define PROP_APPLICATION_NAME_STR		"application-name"
-#define PROP_ICON_NAME_STR				"icon-name"
-
 static GObjectClass *st_parent_class = NULL;
 
 static GType          register_type( void );
@@ -102,6 +95,7 @@ static int            v_finish( BaseApplication *application );
 static gchar         *v_get_unique_name( BaseApplication *application );
 static gchar         *v_get_application_name( BaseApplication *application );
 static gchar         *v_get_icon_name( BaseApplication *application );
+static GObject       *v_get_main_window( BaseApplication *application );
 
 static void           do_initialize( BaseApplication *application );
 static void           do_initialize_i18n( BaseApplication *application );
@@ -118,6 +112,7 @@ static int            do_finish( BaseApplication *application );
 static gchar         *do_get_unique_name( BaseApplication *application );
 static gchar         *do_get_application_name( BaseApplication *application );
 static gchar         *do_get_icon_name( BaseApplication *application );
+static GObject       *do_get_main_window( BaseApplication *application );
 
 /*static UniqueResponse on_unique_message_received( UniqueApp *app, UniqueCommand command, UniqueMessageData *message, guint time, gpointer user_data );*/
 
@@ -172,39 +167,39 @@ class_init( BaseApplicationClass *klass )
 
 	GParamSpec *spec;
 	spec = g_param_spec_int(
-			PROP_ARGC_STR,
-			PROP_ARGC_STR,
+			PROP_APPLICATION_ARGC_STR,
+			PROP_APPLICATION_ARGC_STR,
 			"Command-line arguments count", 0, 65535, 0,
 			G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE );
-	g_object_class_install_property( object_class, PROP_ARGC, spec );
+	g_object_class_install_property( object_class, PROP_APPLICATION_ARGC, spec );
 
 	spec = g_param_spec_pointer(
-			PROP_ARGV_STR,
-			PROP_ARGV_STR,
+			PROP_APPLICATION_ARGV_STR,
+			PROP_APPLICATION_ARGV_STR,
 			"Command-line arguments",
 			G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE );
-	g_object_class_install_property( object_class, PROP_ARGV, spec );
+	g_object_class_install_property( object_class, PROP_APPLICATION_ARGV, spec );
 
 	spec = g_param_spec_string(
-			PROP_UNIQUE_NAME_STR,
-			PROP_UNIQUE_NAME_STR,
+			PROP_APPLICATION_UNIQUE_NAME_STR,
+			PROP_APPLICATION_UNIQUE_NAME_STR,
 			"DBUS name for unique application", "",
 			G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE );
-	g_object_class_install_property( object_class, PROP_UNIQUE_NAME, spec );
+	g_object_class_install_property( object_class, PROP_APPLICATION_UNIQUE_NAME, spec );
 
 	spec = g_param_spec_pointer(
-			PROP_UNIQUE_APP_STR,
-			PROP_UNIQUE_APP_STR,
+			PROP_APPLICATION_UNIQUE_APP_STR,
+			PROP_APPLICATION_UNIQUE_APP_STR,
 			"UniqueApp object pointer",
 			G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE );
-	g_object_class_install_property( object_class, PROP_UNIQUE_APP, spec );
+	g_object_class_install_property( object_class, PROP_APPLICATION_UNIQUE_APP, spec );
 
 	spec = g_param_spec_pointer(
-			PROP_MAIN_WINDOW_STR,
-			PROP_MAIN_WINDOW_STR,
-			"Main window widget",
+			PROP_APPLICATION_MAIN_WINDOW_STR,
+			PROP_APPLICATION_MAIN_WINDOW_STR,
+			"The BaseWindow object which encapsulates the main GtkWindow",
 			G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE );
-	g_object_class_install_property( object_class, PROP_MAIN_WINDOW, spec );
+	g_object_class_install_property( object_class, PROP_APPLICATION_MAIN_WINDOW, spec );
 
 	spec = g_param_spec_string(
 			PROP_APPLICATION_NAME_STR,
@@ -214,11 +209,11 @@ class_init( BaseApplicationClass *klass )
 	g_object_class_install_property( object_class, PROP_APPLICATION_NAME, spec );
 
 	spec = g_param_spec_string(
-			PROP_ICON_NAME_STR,
-			PROP_ICON_NAME_STR,
+			PROP_APPLICATION_ICON_NAME_STR,
+			PROP_APPLICATION_ICON_NAME_STR,
 			"Default themed icon name", "",
 			G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE );
-	g_object_class_install_property( object_class, PROP_ICON_NAME, spec );
+	g_object_class_install_property( object_class, PROP_APPLICATION_ICON_NAME, spec );
 
 	klass->private = g_new0( BaseApplicationClassPrivate, 1 );
 
@@ -237,6 +232,7 @@ class_init( BaseApplicationClass *klass )
 	klass->get_unique_name = do_get_unique_name;
 	klass->get_application_name = do_get_application_name;
 	klass->get_icon_name = do_get_icon_name;
+	klass->get_main_window = do_get_main_window;
 }
 
 static void
@@ -260,23 +256,23 @@ instance_get_property( GObject *object, guint property_id, GValue *value, GParam
 	BaseApplication *self = BASE_APPLICATION( object );
 
 	switch( property_id ){
-		case PROP_ARGC:
+		case PROP_APPLICATION_ARGC:
 			g_value_set_int( value, self->private->argc );
 			break;
 
-		case PROP_ARGV:
+		case PROP_APPLICATION_ARGV:
 			g_value_set_pointer( value, self->private->argv );
 			break;
 
-		case PROP_UNIQUE_NAME:
+		case PROP_APPLICATION_UNIQUE_NAME:
 			g_value_set_string( value, self->private->unique_name );
 			break;
 
-		case PROP_UNIQUE_APP:
+		case PROP_APPLICATION_UNIQUE_APP:
 			g_value_set_pointer( value, self->private->unique_app );
 			break;
 
-		case PROP_MAIN_WINDOW:
+		case PROP_APPLICATION_MAIN_WINDOW:
 			g_value_set_pointer( value, self->private->main_window );
 			break;
 
@@ -284,7 +280,7 @@ instance_get_property( GObject *object, guint property_id, GValue *value, GParam
 			g_value_set_string( value, self->private->application_name );
 			break;
 
-		case PROP_ICON_NAME:
+		case PROP_APPLICATION_ICON_NAME:
 			g_value_set_string( value, self->private->icon_name );
 			break;
 
@@ -301,24 +297,24 @@ instance_set_property( GObject *object, guint property_id, const GValue *value,
 	BaseApplication *self = BASE_APPLICATION( object );
 
 	switch( property_id ){
-		case PROP_ARGC:
+		case PROP_APPLICATION_ARGC:
 			self->private->argc = g_value_get_int( value );
 			break;
 
-		case PROP_ARGV:
+		case PROP_APPLICATION_ARGV:
 			self->private->argv = g_value_get_pointer( value );
 			break;
 
-		case PROP_UNIQUE_NAME:
+		case PROP_APPLICATION_UNIQUE_NAME:
 			g_free( self->private->unique_name );
 			self->private->unique_name = g_value_dup_string( value );
 			break;
 
-		case PROP_UNIQUE_APP:
+		case PROP_APPLICATION_UNIQUE_APP:
 			self->private->unique_app = g_value_get_pointer( value );
 			break;
 
-		case PROP_MAIN_WINDOW:
+		case PROP_APPLICATION_MAIN_WINDOW:
 			self->private->main_window = g_value_get_pointer( value );
 			break;
 
@@ -327,7 +323,7 @@ instance_set_property( GObject *object, guint property_id, const GValue *value,
 			self->private->application_name = g_value_dup_string( value );
 			break;
 
-		case PROP_ICON_NAME:
+		case PROP_APPLICATION_ICON_NAME:
 			g_free( self->private->icon_name );
 			self->private->icon_name = g_value_dup_string( value );
 			break;
@@ -351,8 +347,12 @@ instance_dispose( GObject *application )
 
 		self->private->dispose_has_run = TRUE;
 
-		g_object_unref( self->private->unique_app );
-		g_object_unref( self->private->main_window );
+		if( UNIQUE_IS_APP( self->private->unique_app )){
+			g_object_unref( self->private->unique_app );
+		}
+		if( GTK_IS_WINDOW( self->private->main_window )){
+			g_object_unref( self->private->main_window );
+		}
 
 		/* chain up to the parent class */
 		G_OBJECT_CLASS( st_parent_class )->dispose( application );
@@ -397,7 +397,13 @@ base_application_new( void )
 BaseApplication *
 base_application_new_with_args( int argc, char **argv )
 {
-	return( g_object_new( BASE_APPLICATION_TYPE, PROP_ARGC_STR, argc, PROP_ARGV_STR, argv, NULL ));
+	return(
+			g_object_new(
+					BASE_APPLICATION_TYPE,
+					PROP_APPLICATION_ARGC_STR, argc,
+					PROP_APPLICATION_ARGV_STR, argv,
+					NULL )
+	);
 }
 
 /**
@@ -446,7 +452,6 @@ do_run( BaseApplication *application )
 	} else {
 
 		v_advertise_not_willing_to_run( application );
-
 	}
 
 	return( code );
@@ -582,12 +587,12 @@ v_get_unique_name( BaseApplication *application )
 	g_assert( BASE_IS_APPLICATION( application ));
 
 	gchar *name;
-	g_object_get( G_OBJECT( application ), PROP_UNIQUE_NAME_STR, &name, NULL );
+	g_object_get( G_OBJECT( application ), PROP_APPLICATION_UNIQUE_NAME_STR, &name, NULL );
 
 	if( !name || !strlen( name )){
 		name = BASE_APPLICATION_GET_CLASS( application )->get_unique_name( application );
 		if( name && strlen( name )){
-			g_object_set( G_OBJECT( application ), PROP_UNIQUE_NAME_STR, name, NULL );
+			g_object_set( G_OBJECT( application ), PROP_APPLICATION_UNIQUE_NAME_STR, name, NULL );
 		}
 	}
 
@@ -624,18 +629,29 @@ v_get_icon_name( BaseApplication *application )
 	g_assert( BASE_IS_APPLICATION( application ));
 
 	gchar *name;
-	g_object_get( G_OBJECT( application ), PROP_ICON_NAME_STR, &name, NULL );
+	g_object_get( G_OBJECT( application ), PROP_APPLICATION_ICON_NAME_STR, &name, NULL );
 
 	if( !name || !strlen( name )){
 		name = BASE_APPLICATION_GET_CLASS( application )->get_icon_name( application );
 		if( name && strlen( name )){
-			g_object_set( G_OBJECT( application ), PROP_ICON_NAME_STR, name, NULL );
+			g_object_set( G_OBJECT( application ), PROP_APPLICATION_ICON_NAME_STR, name, NULL );
 		}
 	}
 
 	return( name );
 }
 
+static GObject *
+v_get_main_window( BaseApplication *application )
+{
+	static const gchar *thisfn = "base_application_v_get_main_window";
+	g_debug( "%s: icon=%p", thisfn, application );
+
+	g_assert( BASE_IS_APPLICATION( application ));
+
+	return( BASE_APPLICATION_GET_CLASS( application )->get_main_window( application ));
+}
+
 static void
 do_initialize( BaseApplication *application )
 {
@@ -663,9 +679,9 @@ do_initialize_gtk( BaseApplication *application )
 {
 	int argc;
 	gpointer argv;
-	g_object_get( G_OBJECT( application ), PROP_ARGC_STR, &argc, PROP_ARGV_STR, &argv, NULL );
+	g_object_get( G_OBJECT( application ), PROP_APPLICATION_ARGC_STR, &argc, PROP_APPLICATION_ARGV_STR, &argv, NULL );
 	gtk_init( &argc, ( char *** ) &argv );
-	g_object_set( G_OBJECT( application ), PROP_ARGC_STR, argc, PROP_ARGV_STR, argv, NULL );
+	g_object_set( G_OBJECT( application ), PROP_APPLICATION_ARGC_STR, argc, PROP_APPLICATION_ARGV_STR, argv, NULL );
 }
 
 static void
@@ -755,14 +771,29 @@ do_advertise_not_willing_to_run( BaseApplication *application )
 
 }
 
+/*
+ * this should be typically called by the derived class after it has
+ * created the main window
+ */
 static void
 do_start( BaseApplication *application )
 {
-	if( application->private->unique_app && application->private->main_window ){
-		unique_app_watch_window( application->private->unique_app, application->private->main_window );
-	}
+	BaseWindow *window = BASE_WINDOW( v_get_main_window( application ));
+
+	if( window ){
+		g_assert( BASE_IS_WINDOW( window ));
+
+		application->private->main_window = window;
+
+		base_window_init_window( window );
+
+		GtkWindow *wnd = base_window_get_toplevel_window( window );
+		if( application->private->unique_app ){
+			unique_app_watch_window( application->private->unique_app, wnd );
+		}
 
-	gtk_main();
+		gtk_main();
+	}
 }
 
 static int
@@ -790,6 +821,12 @@ do_get_icon_name( BaseApplication *application )
 	return( NULL );
 }
 
+static GObject *
+do_get_main_window( BaseApplication *application )
+{
+	return( NULL );
+}
+
 /*static UniqueResponse
 on_unique_message_received(
 		UniqueApp *app, UniqueCommand command, UniqueMessageData *message, guint time, gpointer user_data )
@@ -811,14 +848,16 @@ on_unique_message_received(
 
 void
 base_application_error_dlg(
-		BaseApplication *application, GtkMessageType type, gchar *primary, gchar *secondary )
+		BaseApplication *application, GtkMessageType type, const gchar *primary, const gchar *secondary )
 {
 	g_assert( BASE_IS_APPLICATION( application ));
 
 	GtkWidget *dialog = gtk_message_dialog_new(
 			NULL, GTK_DIALOG_MODAL, type, GTK_BUTTONS_OK, primary );
 
-	gtk_message_dialog_format_secondary_text( GTK_MESSAGE_DIALOG( dialog ), secondary );
+	if( secondary && strlen( secondary )){
+		gtk_message_dialog_format_secondary_text( GTK_MESSAGE_DIALOG( dialog ), secondary );
+	}
 
 	const gchar *name = g_get_application_name();
 
diff --git a/src/nact/base-application.h b/src/nact/base-application.h
index bf1575c..53df70b 100644
--- a/src/nact/base-application.h
+++ b/src/nact/base-application.h
@@ -64,24 +64,35 @@ typedef struct {
 	BaseApplicationClassPrivate *private;
 
 	/* virtual functions */
-	int      ( *run )                         ( BaseApplication *appli );
-	void     ( *initialize )                  ( BaseApplication *appli );
-	void     ( *initialize_i18n )             ( BaseApplication *appli );
-	void     ( *initialize_gtk )              ( BaseApplication *appli );
-	void     ( *initialize_application_name ) ( BaseApplication *appli );
-	void     ( *initialize_icon_name )        ( BaseApplication *appli );
-	void     ( *initialize_unique )           ( BaseApplication *appli );
-	gboolean ( *is_willing_to_run )           ( BaseApplication *appli );
-	void     ( *advertise_willing_to_run )    ( BaseApplication *appli );
-	void     ( *advertise_not_willing_to_run )( BaseApplication *appli );
-	void     ( *start )                       ( BaseApplication *appli );
-	int      ( *finish )                      ( BaseApplication *appli );
-	gchar  * ( *get_unique_name )             ( BaseApplication *appli );
-	gchar  * ( *get_application_name )        ( BaseApplication *appli );
-	gchar  * ( *get_icon_name )               ( BaseApplication *appli );
+	int       ( *run )                         ( BaseApplication *appli );
+	void      ( *initialize )                  ( BaseApplication *appli );
+	void      ( *initialize_i18n )             ( BaseApplication *appli );
+	void      ( *initialize_gtk )              ( BaseApplication *appli );
+	void      ( *initialize_application_name ) ( BaseApplication *appli );
+	void      ( *initialize_icon_name )        ( BaseApplication *appli );
+	void      ( *initialize_unique )           ( BaseApplication *appli );
+	gboolean  ( *is_willing_to_run )           ( BaseApplication *appli );
+	void      ( *advertise_willing_to_run )    ( BaseApplication *appli );
+	void      ( *advertise_not_willing_to_run )( BaseApplication *appli );
+	void      ( *start )                       ( BaseApplication *appli );
+	int       ( *finish )                      ( BaseApplication *appli );
+	gchar   * ( *get_unique_name )             ( BaseApplication *appli );
+	gchar   * ( *get_application_name )        ( BaseApplication *appli );
+	gchar   * ( *get_icon_name )               ( BaseApplication *appli );
+	GObject * ( *get_main_window )             ( BaseApplication *appli );
 }
 	BaseApplicationClass;
 
+/* instance properties
+ */
+#define PROP_APPLICATION_ARGC_STR				"argc"
+#define PROP_APPLICATION_ARGV_STR				"argv"
+#define PROP_APPLICATION_UNIQUE_NAME_STR		"unique-name"
+#define PROP_APPLICATION_UNIQUE_APP_STR			"unique-app"
+#define PROP_APPLICATION_MAIN_WINDOW_STR		"main-window"
+#define PROP_APPLICATION_NAME_STR				"application-name"
+#define PROP_APPLICATION_ICON_NAME_STR			"icon-name"
+
 GType            base_application_get_type( void );
 
 BaseApplication *base_application_new( void );
@@ -89,7 +100,7 @@ BaseApplication *base_application_new_with_args( int argc, char **argv );
 
 int              base_application_run( BaseApplication *application );
 
-void             base_application_error_dlg( BaseApplication *application, GtkMessageType type, gchar *primary, gchar *secondary );
+void             base_application_error_dlg( BaseApplication *application, GtkMessageType type, const gchar *primary, const gchar *secondary );
 
 G_END_DECLS
 
diff --git a/src/nact/base-window.c b/src/nact/base-window.c
new file mode 100644
index 0000000..0a1b7a4
--- /dev/null
+++ b/src/nact/base-window.c
@@ -0,0 +1,499 @@
+/*
+ * Nautilus Actions
+ * A Nautilus extension which offers configurable context menu actions.
+ *
+ * Copyright (C) 2005 The GNOME Foundation
+ * Copyright (C) 2006, 2007, 2008 Frederic Ruaudel and others (see AUTHORS)
+ * Copyright (C) 2009 Pierre Wieser and others (see AUTHORS)
+ *
+ * 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 Library; see the file COPYING.  If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * Authors:
+ *   Frederic Ruaudel <grumz grumz net>
+ *   Rodrigo Moya <rodrigo gnome-db org>
+ *   Pierre Wieser <pwieser trychlos org>
+ *   ... and many others (see AUTHORS)
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <glib.h>
+#include <glib/gi18n.h>
+#include <glade/glade-xml.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "base-application.h"
+#include "base-window.h"
+
+/* private class data
+ */
+struct BaseWindowClassPrivate {
+};
+
+/* private instance data
+ */
+struct BaseWindowPrivate {
+	gboolean         dispose_has_run;
+	BaseApplication *application;
+	gchar           *toplevel_name;
+	GtkWindow       *toplevel_window;
+	gchar           *glade_fname;
+};
+
+/* instance properties
+ */
+enum {
+	PROP_WINDOW_APPLICATION = 1,
+	PROP_WINDOW_TOPLEVEL_NAME,
+	PROP_WINDOW_TOPLEVEL_WINDOW,
+	PROP_WINDOW_GLADE_FILENAME
+};
+
+static GObjectClass *st_parent_class = NULL;
+
+static GType       register_type( void );
+static void        class_init( BaseWindowClass *klass );
+static void        instance_init( GTypeInstance *instance, gpointer klass );
+static void        instance_get_property( GObject *object, guint property_id, GValue *value, GParamSpec *spec );
+static void        instance_set_property( GObject *object, guint property_id, const GValue *value, GParamSpec *spec );
+static void        instance_dispose( GObject *application );
+static void        instance_finalize( GObject *application );
+
+static gchar      *v_get_glade_file( BaseWindow *window );
+static void        do_init_window( BaseWindow *window );
+static GtkWidget  *do_load_widget( BaseWindow *window, const gchar *name );
+static gchar      *do_get_toplevel_name( BaseWindow *window );
+static GtkWindow  *do_get_toplevel_window( BaseWindow *window );
+static gchar      *do_get_glade_file( BaseWindow *window );
+static GtkWidget  *do_get_widget( BaseWindow *window, const gchar *name );
+
+static GHashTable *get_glade_hashtable( void );
+static GladeXML   *get_glade_xml_object( const gchar *glade_fname, const gchar *widget_name );
+static void        destroy_glade_objects( void );
+
+GType
+base_window_get_type( void )
+{
+	static GType window_type = 0;
+
+	if( !window_type ){
+		window_type = register_type();
+	}
+
+	return( window_type );
+}
+
+static GType
+register_type( void )
+{
+	static const gchar *thisfn = "base_window_register_type";
+	g_debug( "%s", thisfn );
+
+	g_type_init();
+
+	static GTypeInfo info = {
+		sizeof( BaseWindowClass ),
+		( GBaseInitFunc ) NULL,
+		( GBaseFinalizeFunc ) NULL,
+		( GClassInitFunc ) class_init,
+		NULL,
+		NULL,
+		sizeof( BaseWindow ),
+		0,
+		( GInstanceInitFunc ) instance_init
+	};
+
+	return( g_type_register_static( G_TYPE_OBJECT, "BaseWindow", &info, 0 ));
+}
+
+static void
+class_init( BaseWindowClass *klass )
+{
+	static const gchar *thisfn = "base_window_class_init";
+	g_debug( "%s: klass=%p", thisfn, klass );
+
+	st_parent_class = g_type_class_peek_parent( klass );
+
+	GObjectClass *object_class = G_OBJECT_CLASS( klass );
+	object_class->dispose = instance_dispose;
+	object_class->finalize = instance_finalize;
+	object_class->get_property = instance_get_property;
+	object_class->set_property = instance_set_property;
+
+	GParamSpec *spec;
+	spec = g_param_spec_pointer(
+			PROP_WINDOW_APPLICATION_STR,
+			PROP_WINDOW_APPLICATION_STR,
+			"BaseApplication object pointer",
+			G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE );
+	g_object_class_install_property( object_class, PROP_WINDOW_APPLICATION, spec );
+
+	spec = g_param_spec_string(
+			PROP_WINDOW_TOPLEVEL_NAME_STR,
+			PROP_WINDOW_TOPLEVEL_NAME_STR,
+			"The internal name of the toplevel window", "",
+			G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE );
+	g_object_class_install_property( object_class, PROP_WINDOW_TOPLEVEL_NAME, spec );
+
+	spec = g_param_spec_pointer(
+			PROP_WINDOW_TOPLEVEL_WINDOW_STR,
+			PROP_WINDOW_TOPLEVEL_WINDOW_STR,
+			"The main GtkWindow attached to this object",
+			G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE );
+	g_object_class_install_property( object_class, PROP_WINDOW_TOPLEVEL_WINDOW, spec );
+
+	spec = g_param_spec_string(
+			PROP_WINDOW_GLADE_FILENAME_STR,
+			PROP_WINDOW_GLADE_FILENAME_STR,
+			"Glade full pathname", "",
+			G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE );
+	g_object_class_install_property( object_class, PROP_WINDOW_GLADE_FILENAME, spec );
+
+	klass->private = g_new0( BaseWindowClassPrivate, 1 );
+
+	klass->init_window = do_init_window;
+	klass->load_widget = do_load_widget;
+	klass->get_toplevel_name = do_get_toplevel_name;
+	klass->get_toplevel_window = do_get_toplevel_window;
+	klass->get_glade_file = do_get_glade_file;
+	klass->get_widget = do_get_widget;
+}
+
+static void
+instance_init( GTypeInstance *instance, gpointer klass )
+{
+	static const gchar *thisfn = "base_window_instance_init";
+	g_debug( "%s: instance=%p, klass=%p", thisfn, instance, klass );
+
+	g_assert( BASE_IS_WINDOW( instance ));
+	BaseWindow *self = BASE_WINDOW( instance );
+
+	self->private = g_new0( BaseWindowPrivate, 1 );
+
+	self->private->dispose_has_run = FALSE;
+}
+
+static void
+instance_get_property( GObject *object, guint property_id, GValue *value, GParamSpec *spec )
+{
+	g_assert( BASE_IS_WINDOW( object ));
+	BaseWindow *self = BASE_WINDOW( object );
+
+	switch( property_id ){
+		case PROP_WINDOW_APPLICATION:
+			g_value_set_pointer( value, self->private->application );
+			break;
+
+		case PROP_WINDOW_TOPLEVEL_NAME:
+			g_value_set_string( value, self->private->toplevel_name );
+			break;
+
+		case PROP_WINDOW_TOPLEVEL_WINDOW:
+			g_value_set_pointer( value, self->private->toplevel_window );
+			break;
+
+		case PROP_WINDOW_GLADE_FILENAME:
+			g_value_set_string( value, self->private->glade_fname );
+			break;
+
+		default:
+			G_OBJECT_WARN_INVALID_PROPERTY_ID( object, property_id, spec );
+			break;
+	}
+}
+
+static void
+instance_set_property( GObject *object, guint property_id, const GValue *value, GParamSpec *spec )
+{
+	g_assert( BASE_IS_WINDOW( object ));
+	BaseWindow *self = BASE_WINDOW( object );
+
+	switch( property_id ){
+		case PROP_WINDOW_APPLICATION:
+			self->private->application = g_value_get_pointer( value );
+			break;
+
+		case PROP_WINDOW_TOPLEVEL_NAME:
+			g_free( self->private->toplevel_name );
+			self->private->toplevel_name = g_value_dup_string( value );
+			break;
+
+		case PROP_WINDOW_TOPLEVEL_WINDOW:
+			self->private->toplevel_window = g_value_get_pointer( value );
+			break;
+
+		case PROP_WINDOW_GLADE_FILENAME:
+			g_free( self->private->glade_fname );
+			self->private->glade_fname = g_value_dup_string( value );
+			break;
+
+		default:
+			G_OBJECT_WARN_INVALID_PROPERTY_ID( object, property_id, spec );
+			break;
+	}
+}
+
+static void
+instance_dispose( GObject *window )
+{
+	static const gchar *thisfn = "base_window_instance_dispose";
+	g_debug( "%s: window=%p", thisfn, window );
+
+	g_assert( BASE_IS_WINDOW( window ));
+	BaseWindow *self = BASE_WINDOW( window );
+
+	if( !self->private->dispose_has_run ){
+
+		self->private->dispose_has_run = TRUE;
+
+		gtk_widget_destroy( GTK_WIDGET( self->private->toplevel_window ));
+		destroy_glade_objects();
+		gtk_main_quit ();
+
+		/* chain up to the parent class */
+		G_OBJECT_CLASS( st_parent_class )->dispose( window );
+	}
+}
+
+static void
+instance_finalize( GObject *window )
+{
+	static const gchar *thisfn = "base_window_instance_finalize";
+	g_debug( "%s: window=%p", thisfn, window );
+
+	g_assert( BASE_IS_WINDOW( window ));
+	BaseWindow *self = ( BaseWindow * ) window;
+
+	g_free( self->private->toplevel_name );
+	g_free( self->private->glade_fname );
+
+	/* chain call to parent class */
+	if( st_parent_class->finalize ){
+		G_OBJECT_CLASS( st_parent_class )->finalize( window );
+	}
+}
+
+/**
+ * Returns a newly allocated BaseWindow object.
+ */
+BaseWindow *
+base_window_new( void )
+{
+	return( g_object_new( BASE_WINDOW_TYPE, NULL ));
+}
+
+/**
+ * Initializes the window.
+ *
+ * @window: this BaseWindow object.
+ */
+void
+base_window_init_window( BaseWindow *window )
+{
+	g_assert( BASE_IS_WINDOW( window ));
+	BASE_WINDOW_GET_CLASS( window )->init_window( window );
+}
+
+/**
+ * Loads the required widget from a glade file.
+ * Uses preferences for sizing and positionning the window.
+ *
+ * @window: this BaseWindow object.
+ *
+ * @name: name of the widget
+ */
+GtkWidget *
+base_window_load_widget( BaseWindow *window, const gchar *name )
+{
+	g_assert( BASE_IS_WINDOW( window ));
+	return( BASE_WINDOW_GET_CLASS( window )->load_widget( window, name ));
+}
+
+/**
+ * Returns the internal name of the GtkWindow attached to this
+ * BaseWindow object.
+ *
+ * @window: this BaseWindow object.
+ */
+gchar *
+base_window_get_toplevel_name( BaseWindow *window )
+{
+	g_assert( BASE_IS_WINDOW( window ));
+	return( BASE_WINDOW_GET_CLASS( window )->get_toplevel_name( window ));
+}
+
+/**
+ * Returns the GtkWindow attached to this BaseWindow object.
+ *
+ * @window: this BaseWindow object.
+ */
+GtkWindow *
+base_window_get_toplevel_window( BaseWindow *window )
+{
+	g_assert( BASE_IS_WINDOW( window ));
+	return( BASE_WINDOW_GET_CLASS( window )->get_toplevel_window( window ));
+}
+
+/**
+ * Returns the GtkWidget which is a child of this parent.
+ *
+ * @window: this BaseWindow object.
+ *
+ * @name: the name of the searched child.
+ */
+GtkWidget *
+base_window_get_widget( BaseWindow *window, const gchar *name )
+{
+	g_assert( BASE_IS_WINDOW( window ));
+	return( BASE_WINDOW_GET_CLASS( window )->get_widget( window, name ));
+}
+
+/**
+ * Connects a signal to a handler, assuring that the BaseWindow pointer
+ * is passed as user data.
+ */
+void
+base_window_connect( BaseWindow *window, const gchar *widget, const gchar *signal, GCallback handler )
+{
+	GtkWidget *target = base_window_get_widget( window, widget );
+	g_signal_connect( G_OBJECT( target ), signal, handler, window );
+}
+
+static gchar *
+v_get_glade_file( BaseWindow *window )
+{
+	g_assert( BASE_IS_WINDOW( window ));
+
+	gchar *name;
+	g_object_get( G_OBJECT( window ), PROP_WINDOW_GLADE_FILENAME_STR, &name, NULL );
+
+	if( !name || !strlen( name )){
+		name = BASE_WINDOW_GET_CLASS( window )->get_glade_file( window );
+		if( name && strlen( name )){
+			g_object_set( G_OBJECT( window ), PROP_WINDOW_GLADE_FILENAME_STR, name, NULL );
+		}
+	}
+
+	return( name );
+}
+
+static void
+do_init_window( BaseWindow *window )
+{
+	/* do nothing */
+}
+
+static GtkWidget *
+do_load_widget( BaseWindow *window, const gchar *name )
+{
+	GtkWidget *widget = NULL;
+
+	gchar *glade_file = v_get_glade_file( window );
+
+	if( glade_file && strlen( glade_file )){
+		GladeXML *xml = get_glade_xml_object( glade_file, name );
+		if( xml ){
+			glade_xml_signal_autoconnect( xml );
+			widget = glade_xml_get_widget( xml, name );
+			g_object_unref( xml );
+		}
+	}
+
+	if( widget ){
+		g_object_set( G_OBJECT( window ),
+				PROP_WINDOW_TOPLEVEL_NAME_STR, name,
+				PROP_WINDOW_TOPLEVEL_WINDOW_STR, widget,
+				NULL );
+
+		g_object_set_data( G_OBJECT( widget ), "base-window", window );
+
+	} else {
+		gchar *msg = g_strdup_printf( _( "Unable to load %s widget from %s glade file." ), name, glade_file );
+		base_application_error_dlg( window->private->application, GTK_MESSAGE_ERROR, msg, NULL );
+		g_free( msg );
+		exit( 1 );
+	}
+
+	g_free( glade_file );
+	return( widget );
+}
+
+static gchar *
+do_get_toplevel_name( BaseWindow *window )
+{
+	return( g_strdup( window->private->toplevel_name ));
+}
+
+static GtkWindow *
+do_get_toplevel_window( BaseWindow *window )
+{
+	return( window->private->toplevel_window );
+}
+
+static gchar *
+do_get_glade_file( BaseWindow *window )
+{
+	return( NULL );
+}
+
+static GtkWidget *
+do_get_widget( BaseWindow *window, const gchar *name )
+{
+	gchar *glade_file = v_get_glade_file( window );
+	gchar *parent_name = base_window_get_toplevel_name( window );
+	GladeXML *xml = get_glade_xml_object( glade_file, parent_name );
+	GtkWidget *widget = glade_xml_get_widget( xml, name );
+	g_free( parent_name );
+	g_object_unref( xml );
+	return( widget );
+}
+
+static GHashTable *
+get_glade_hashtable( void )
+{
+	static GHashTable* glade_hash = NULL;
+
+	if( !glade_hash ){
+		glade_hash = g_hash_table_new_full( g_str_hash, g_str_equal, g_free, g_object_unref );
+	}
+
+	return( glade_hash );
+}
+
+static GladeXML *
+get_glade_xml_object( const gchar *glade_fname, const gchar *widget_name )
+{
+	GHashTable *glade_hash = get_glade_hashtable();
+	GladeXML *xml = NULL;
+
+	xml = ( GladeXML * ) g_hash_table_lookup( glade_hash, widget_name );
+	if( !xml ){
+		xml = glade_xml_new( glade_fname, widget_name, NULL );
+		g_hash_table_insert( glade_hash, g_strdup( widget_name ), xml );
+	}
+
+	return( GLADE_XML( g_object_ref( xml )));
+}
+
+static void
+destroy_glade_objects( void )
+{
+	GHashTable *glade_hash = get_glade_hashtable();
+	g_hash_table_destroy( glade_hash );
+}
diff --git a/src/nact/base-window.h b/src/nact/base-window.h
new file mode 100644
index 0000000..8ab18a6
--- /dev/null
+++ b/src/nact/base-window.h
@@ -0,0 +1,99 @@
+/*
+ * Nautilus Actions
+ * A Nautilus extension which offers configurable context menu actions.
+ *
+ * Copyright (C) 2005 The GNOME Foundation
+ * Copyright (C) 2006, 2007, 2008 Frederic Ruaudel and others (see AUTHORS)
+ * Copyright (C) 2009 Pierre Wieser and others (see AUTHORS)
+ *
+ * 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 Library; see the file COPYING.  If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * Authors:
+ *   Frederic Ruaudel <grumz grumz net>
+ *   Rodrigo Moya <rodrigo gnome-db org>
+ *   Pierre Wieser <pwieser trychlos org>
+ *   ... and many others (see AUTHORS)
+ */
+
+#ifndef __BASE_WINDOW_H__
+#define __BASE_WINDOW_H__
+
+/*
+ * BaseWindow class definition.
+ *
+ * This is a base class which encapsulates a Gtk+ windows.
+ */
+
+#include <glib-object.h>
+#include <gtk/gtk.h>
+
+G_BEGIN_DECLS
+
+#define BASE_WINDOW_TYPE				( base_window_get_type())
+#define BASE_WINDOW( object )			( G_TYPE_CHECK_INSTANCE_CAST( object, BASE_WINDOW_TYPE, BaseWindow ))
+#define BASE_WINDOW_CLASS( klass )		( G_TYPE_CHECK_CLASS_CAST( klass, BASE_WINDOW_TYPE, BaseWindowClass ))
+#define BASE_IS_WINDOW( object )		( G_TYPE_CHECK_INSTANCE_TYPE( object, BASE_WINDOW_TYPE ))
+#define BASE_IS_WINDOW_CLASS( klass )	( G_TYPE_CHECK_CLASS_TYPE(( klass ), BASE_WINDOW_TYPE ))
+#define BASE_WINDOW_GET_CLASS( object )	( G_TYPE_INSTANCE_GET_CLASS(( object ), BASE_WINDOW_TYPE, BaseWindowClass ))
+
+typedef struct BaseWindowPrivate BaseWindowPrivate;
+
+typedef struct {
+	GObject            parent;
+	BaseWindowPrivate *private;
+}
+	BaseWindow;
+
+typedef struct BaseWindowClassPrivate BaseWindowClassPrivate;
+
+typedef struct {
+	GObjectClass            parent;
+	BaseWindowClassPrivate *private;
+
+	/* virtual functions */
+	void        ( *init_window )        ( BaseWindow *window );
+	GtkWidget * ( *load_widget )        ( BaseWindow *window, const gchar *name );
+	gchar     * ( *get_toplevel_name )  ( BaseWindow *window );
+	GtkWindow * ( *get_toplevel_window )( BaseWindow *window );
+	gchar *     ( *get_glade_file )     ( BaseWindow *window );
+	GtkWidget * ( *get_widget )         ( BaseWindow *window, const gchar *name );
+}
+	BaseWindowClass;
+
+/* instance properties
+ */
+#define PROP_WINDOW_APPLICATION_STR			"application"
+#define PROP_WINDOW_TOPLEVEL_NAME_STR		"toplevel-name"
+#define PROP_WINDOW_TOPLEVEL_WINDOW_STR		"toplevel-window"
+#define PROP_WINDOW_GLADE_FILENAME_STR		"glade-filename"
+
+GType       base_window_get_type( void );
+
+BaseWindow *base_window_new( void );
+
+void        base_window_init_window( BaseWindow *window );
+
+GtkWidget  *base_window_load_widget( BaseWindow *window, const gchar *name );
+
+gchar      *base_window_get_toplevel_name( BaseWindow *window );
+GtkWindow  *base_window_get_toplevel_window( BaseWindow *window );
+GtkWidget  *base_window_get_widget( BaseWindow *window, const gchar *name );
+
+void        base_window_connect( BaseWindow *window, const gchar *widget, const gchar *signal, GCallback handler );
+
+G_END_DECLS
+
+#endif /* __BASE_WINDOW_H__ */
diff --git a/src/nact/nact-application.c b/src/nact/nact-application.c
index a2d3811..687d81f 100644
--- a/src/nact/nact-application.c
+++ b/src/nact/nact-application.c
@@ -36,8 +36,9 @@
 #include <gtk/gtk.h>
 
 #include <common/na-pivot.h>
-#include "nact.h"
+
 #include "nact-application.h"
+#include "nact-wnd-actions.h"
 
 /* private class data
  */
@@ -61,18 +62,20 @@ enum {
 
 static GObjectClass *st_parent_class = NULL;
 
-static GType  register_type( void );
-static void   class_init( NactApplicationClass *klass );
-static void   instance_init( GTypeInstance *instance, gpointer klass );
-static void   instance_get_property( GObject *object, guint property_id, GValue *value, GParamSpec *spec );
-static void   instance_set_property( GObject *object, guint property_id, const GValue *value, GParamSpec *spec );
-static void   instance_dispose( GObject *application );
-static void   instance_finalize( GObject *application );
-
-static void   warn_other_instance( BaseApplication *application );
-static gchar *get_application_name( BaseApplication *application );
-static gchar *get_icon_name( BaseApplication *application );
-static gchar *get_unique_name( BaseApplication *application );
+static GType      register_type( void );
+static void       class_init( NactApplicationClass *klass );
+static void       instance_init( GTypeInstance *instance, gpointer klass );
+static void       instance_get_property( GObject *object, guint property_id, GValue *value, GParamSpec *spec );
+static void       instance_set_property( GObject *object, guint property_id, const GValue *value, GParamSpec *spec );
+static void       instance_dispose( GObject *application );
+static void       instance_finalize( GObject *application );
+
+static void       warn_other_instance( BaseApplication *application );
+static void       start( BaseApplication *application );
+static gchar     *get_application_name( BaseApplication *application );
+static gchar     *get_icon_name( BaseApplication *application );
+static gchar     *get_unique_name( BaseApplication *application );
+static GObject   *get_main_window( BaseApplication *application );
 
 GType
 nact_application_get_type( void )
@@ -134,9 +137,11 @@ class_init( NactApplicationClass *klass )
 	BaseApplicationClass *appli_class = BASE_APPLICATION_CLASS( klass );
 
 	appli_class->advertise_not_willing_to_run = warn_other_instance;
+	appli_class->start = start;
 	appli_class->get_application_name = get_application_name;
 	appli_class->get_icon_name = get_icon_name;
 	appli_class->get_unique_name = get_unique_name;
+	appli_class->get_main_window = get_main_window;
 }
 
 static void
@@ -232,7 +237,13 @@ instance_finalize( GObject *application )
 NactApplication *
 nact_application_new_with_args( int argc, char **argv )
 {
-	return( g_object_new( NACT_APPLICATION_TYPE, "argc", argc, "argv", argv, NULL ));
+	return(
+			g_object_new(
+					NACT_APPLICATION_TYPE,
+					PROP_APPLICATION_ARGC_STR, argc,
+					PROP_APPLICATION_ARGV_STR, argv,
+					NULL )
+	);
 }
 
 static void
@@ -247,6 +258,24 @@ warn_other_instance( BaseApplication *application )
 			_( "Please switch back to it." ));
 }
 
+static void
+start( BaseApplication *application )
+{
+	static const gchar *thisfn = "nact_application_start";
+	g_debug( "%s: application=%p", thisfn, application );
+
+	g_assert( NACT_IS_APPLICATION( application ));
+	NactApplication *appli = NACT_APPLICATION( application );
+
+	/* TODO: be notified when the list of actions is changed elsewhere */
+	appli->private->pivot = na_pivot_new( NULL );
+
+	/* chain up to the parent class which takes care of registering
+	 * UniqueApp, and initializing and running the newly created window
+	 */
+	BASE_APPLICATION_CLASS( st_parent_class )->start( application );
+}
+
 static gchar *
 get_application_name( BaseApplication *application )
 {
@@ -276,18 +305,26 @@ get_unique_name( BaseApplication *application )
 	return( g_strdup( "org.nautilus-actions.ConfigurationTool" ));
 }
 
-/*static int
-run_appli( NactApplication *application )
+static GObject *
+get_main_window( BaseApplication *application )
 {
-	int code = 0;
-
-	g_object_set( G_OBJECT( application ), PROP_PIVOT_STR, na_pivot_new( NULL ), NULL );
-
-	g_object_set( G_OBJECT( application ), PROP_MAINWINDOW_STR, nact_init_dialog( G_OBJECT( application ), NULL );
-
-	unique_app_watch_window( application->private->unique, application->private->main );
+	static const gchar *thisfn = "nact_application_get_main_window";
+	g_debug( "%s: application=%p", thisfn, application );
 
-	gtk_main();
+	return( G_OBJECT( nact_wnd_actions_new( G_OBJECT( application ))));
+}
 
-	return( code );
-}*/
+/**
+ * Returns a pointer on the NAPivot object.
+ *
+ * @application: this NactApplication object.
+ *
+ * The returned pointer is owned by the NactApplication object.
+ * It should not be freed not unref by the caller.
+ */
+GObject *
+nact_application_get_pivot( NactApplication *application )
+{
+	g_assert( NACT_IS_APPLICATION( application ));
+	return( G_OBJECT( application->private->pivot ));
+}
diff --git a/src/nact/nact-application.h b/src/nact/nact-application.h
index 58d59b9..0f26421 100644
--- a/src/nact/nact-application.h
+++ b/src/nact/nact-application.h
@@ -68,6 +68,8 @@ GType            nact_application_get_type( void );
 
 NactApplication *nact_application_new_with_args( int argc, char **argv );
 
+GObject         *nact_application_get_pivot( NactApplication *application );
+
 G_END_DECLS
 
 #endif /* __NACT_APPLICATION_H__ */
diff --git a/src/nact/nact-iactions-list.c b/src/nact/nact-iactions-list.c
new file mode 100644
index 0000000..eaebb6b
--- /dev/null
+++ b/src/nact/nact-iactions-list.c
@@ -0,0 +1,316 @@
+/*
+ * Nautilus Actions
+ * A Nautilus extension which offers configurable context menu actions.
+ *
+ * Copyright (C) 2005 The GNOME Foundation
+ * Copyright (C) 2006, 2007, 2008 Frederic Ruaudel and others (see AUTHORS)
+ * Copyright (C) 2009 Pierre Wieser and others (see AUTHORS)
+ *
+ * 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 Library; see the file COPYING.  If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * Authors:
+ *   Frederic Ruaudel <grumz grumz net>
+ *   Rodrigo Moya <rodrigo gnome-db org>
+ *   Pierre Wieser <pwieser trychlos org>
+ *   ... and many others (see AUTHORS)
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <common/na-action.h>
+#include <common/na-pivot.h>
+
+#include "nact-application.h"
+#include "nact-iactions-list.h"
+
+/* private interface data
+ */
+struct NactIActionsListInterfacePrivate {
+};
+
+/* column ordering
+ */
+enum {
+	IACTIONS_LIST_ICON_COLUMN = 0,
+	IACTIONS_LIST_LABEL_COLUMN,
+	IACTIONS_LIST_UUID_COLUMN,
+	IACTIONS_LIST_N_COLUMN
+};
+
+static GType      register_type( void );
+static void       interface_base_init( NactIActionsListInterface *klass );
+static void       interface_base_finalize( NactIActionsListInterface *klass );
+
+static void       do_init_widget( BaseWindow *window );
+static void       do_fill_actions_list( BaseWindow *window );
+static NAPivot   *get_pivot( BaseWindow *window );
+static GtkWidget *get_actions_list( BaseWindow *window );
+
+static void       v_on_selection_changed( GtkTreeSelection *selection, gpointer user_data );
+static gboolean   v_on_button_press_event( GtkWidget *widget, GdkEventButton *event, gpointer data );
+
+GType
+nact_iactions_list_get_type( void )
+{
+	static GType iface_type = 0;
+
+	if( !iface_type ){
+		iface_type = register_type();
+	}
+
+	return( iface_type );
+}
+
+static GType
+register_type( void )
+{
+	static const gchar *thisfn = "nact_iactions_list_register_type";
+	g_debug( "%s", thisfn );
+
+	static const GTypeInfo info = {
+		sizeof( NactIActionsListInterface ),
+		( GBaseInitFunc ) interface_base_init,
+		( GBaseFinalizeFunc ) interface_base_finalize,
+		NULL,
+		NULL,
+		NULL,
+		0,
+		0,
+		NULL
+	};
+
+	GType type = g_type_register_static( G_TYPE_INTERFACE, "NactIActionsList", &info, 0 );
+
+	g_type_interface_add_prerequisite( type, G_TYPE_OBJECT );
+
+	return( type );
+}
+
+static void
+interface_base_init( NactIActionsListInterface *klass )
+{
+	static const gchar *thisfn = "nact_iactions_list_interface_base_init";
+	static gboolean initialized = FALSE;
+
+	if( !initialized ){
+		g_debug( "%s: klass=%p", thisfn, klass );
+
+		klass->private = g_new0( NactIActionsListInterfacePrivate, 1 );
+
+		klass->init_widget = do_init_widget;
+		klass->on_selection_changed = NULL;
+
+		initialized = TRUE;
+	}
+}
+
+static void
+interface_base_finalize( NactIActionsListInterface *klass )
+{
+	static const gchar *thisfn = "nact_iactions_list_interface_base_finalize";
+	static gboolean finalized = FALSE ;
+
+	if( !finalized ){
+		g_debug( "%s: klass=%p", thisfn, klass );
+
+		g_free( klass->private );
+
+		finalized = TRUE;
+	}
+}
+
+/**
+ * Allocates and initializes the ActionsList widget.
+ */
+void
+nact_iactions_list_init( BaseWindow *window )
+{
+	g_assert( NACT_IS_IACTIONS_LIST( window ));
+
+	if( NACT_IACTIONS_LIST_GET_INTERFACE( window )->init_widget ){
+		NACT_IACTIONS_LIST_GET_INTERFACE( window )->init_widget( window );
+	} else {
+		do_init_widget( window );
+	}
+}
+
+void
+do_init_widget( BaseWindow *window )
+{
+	GtkListStore *model;
+	GtkTreeViewColumn *column;
+
+	g_assert( BASE_IS_WINDOW( window ));
+
+	GtkWidget *widget = get_actions_list( window );
+
+	/* create the model */
+	model = gtk_list_store_new( IACTIONS_LIST_N_COLUMN, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING );
+	gtk_tree_view_set_model( GTK_TREE_VIEW( widget ), GTK_TREE_MODEL( model ));
+	nact_iactions_list_fill( window );
+	g_object_unref( model );
+
+	/* create columns on the tree view */
+	column = gtk_tree_view_column_new_with_attributes(
+			"icon", gtk_cell_renderer_pixbuf_new(), "pixbuf", IACTIONS_LIST_ICON_COLUMN, NULL );
+	gtk_tree_view_append_column( GTK_TREE_VIEW( widget ), column );
+
+	column = gtk_tree_view_column_new_with_attributes(
+			"label", gtk_cell_renderer_text_new(), "text", IACTIONS_LIST_LABEL_COLUMN, NULL );
+	gtk_tree_view_append_column( GTK_TREE_VIEW( widget ), column );
+
+	/* set up selection */
+	g_signal_connect(
+			G_OBJECT( gtk_tree_view_get_selection( GTK_TREE_VIEW( widget ))),
+			"changed",
+			G_CALLBACK( v_on_selection_changed ),
+			window );
+
+	/* catch double-click */
+	g_signal_connect(
+			G_OBJECT( widget ),
+			"button-press-event",
+			G_CALLBACK( v_on_button_press_event ),
+			window );
+}
+
+/**
+ * Fill the listbox with current actions.
+ */
+void
+nact_iactions_list_fill( BaseWindow *window )
+{
+	g_assert( NACT_IS_IACTIONS_LIST( window ));
+
+	if( NACT_IACTIONS_LIST_GET_INTERFACE( window )->fill_actions_list ){
+		NACT_IACTIONS_LIST_GET_INTERFACE( window )->fill_actions_list( window );
+	} else {
+		do_fill_actions_list( window );
+	}
+}
+
+static void
+do_fill_actions_list( BaseWindow *window )
+{
+	GSList *actions, *l;
+
+	GtkWidget *widget = get_actions_list( window );
+	GtkListStore *model = GTK_LIST_STORE( gtk_tree_view_get_model( GTK_TREE_VIEW( widget )));
+	gtk_list_store_clear( model );
+
+	NAPivot *pivot = get_pivot( window );
+	actions = na_pivot_get_label_sorted_actions( pivot );
+
+	for( l = actions ; l != NULL ; l = l->next ){
+		GtkTreeIter iter;
+		GtkStockItem item;
+		GdkPixbuf* icon = NULL;
+
+		NAAction *action = NA_ACTION( l->data );
+		gchar *uuid = na_action_get_uuid( action );
+		gchar *label = na_action_get_label( action );
+		gchar *iconname = na_action_get_icon( action );
+
+		/* TODO: use the same algorythm than Nautilus to find and
+		 * display an icon + move the code to NAAction class +
+		 * remove na_action_get_verified_icon_name
+		 */
+		if( icon ){
+			if( gtk_stock_lookup( iconname, &item )){
+				icon = gtk_widget_render_icon( widget, iconname, GTK_ICON_SIZE_MENU, NULL );
+
+			} else if( g_file_test( iconname, G_FILE_TEST_EXISTS )
+				   && g_file_test( iconname, G_FILE_TEST_IS_REGULAR )){
+				gint width;
+				gint height;
+				GError* error = NULL;
+
+				gtk_icon_size_lookup (GTK_ICON_SIZE_MENU, &width, &height);
+				icon = gdk_pixbuf_new_from_file_at_size( iconname, width, height, &error );
+				if (error)
+				{
+					/* TODO: at least log an error */
+					icon = NULL;
+					g_error_free (error);
+				}
+			}
+		}
+		gtk_list_store_append( model, &iter );
+		gtk_list_store_set( model, &iter,
+				    IACTIONS_LIST_ICON_COLUMN, icon,
+				    IACTIONS_LIST_LABEL_COLUMN, label,
+				    IACTIONS_LIST_UUID_COLUMN, uuid,
+				    -1);
+
+		g_free( iconname );
+		g_free( label );
+		g_free( uuid );
+	}
+}
+
+static NAPivot *
+get_pivot( BaseWindow *window )
+{
+	NactApplication *application;
+	g_object_get( G_OBJECT( window ), PROP_WINDOW_APPLICATION_STR, &application, NULL );
+	g_return_val_if_fail( NACT_IS_APPLICATION( application ), NULL );
+
+	return( NA_PIVOT( nact_application_get_pivot( application )));
+}
+
+static GtkWidget *
+get_actions_list( BaseWindow *window )
+{
+	return( base_window_get_widget( window, "ActionsList" ));
+}
+
+static void
+v_on_selection_changed( GtkTreeSelection *selection, gpointer user_data )
+{
+	g_assert( NACT_IS_IACTIONS_LIST( user_data ));
+	g_assert( BASE_IS_WINDOW( user_data ));
+
+	NactIActionsList *instance = NACT_IACTIONS_LIST( user_data );
+
+	if( NACT_IACTIONS_LIST_GET_INTERFACE( instance )->on_selection_changed ){
+		NACT_IACTIONS_LIST_GET_INTERFACE( instance )->on_selection_changed( selection, user_data );
+	}
+}
+
+static gboolean
+v_on_button_press_event( GtkWidget *widget, GdkEventButton *event, gpointer user_data )
+{
+	g_assert( NACT_IS_IACTIONS_LIST( user_data ));
+	g_assert( BASE_IS_WINDOW( user_data ));
+
+	gboolean stop = FALSE;
+	NactIActionsList *instance = NACT_IACTIONS_LIST( user_data );
+
+	if( NACT_IACTIONS_LIST_GET_INTERFACE( instance )->on_button_press_event ){
+		stop = NACT_IACTIONS_LIST_GET_INTERFACE( instance )->on_button_press_event( widget, event, user_data );
+	}
+
+	if( !stop ){
+		if( event->type == GDK_2BUTTON_PRESS ){
+			if( NACT_IACTIONS_LIST_GET_INTERFACE( instance )->on_double_click ){
+				stop = NACT_IACTIONS_LIST_GET_INTERFACE( instance )->on_double_click( widget, event, user_data );
+			}
+		}
+	}
+	return( stop );
+}
diff --git a/src/nact/nact-iactions-list.h b/src/nact/nact-iactions-list.h
new file mode 100644
index 0000000..76d0043
--- /dev/null
+++ b/src/nact/nact-iactions-list.h
@@ -0,0 +1,78 @@
+/*
+ * Nautilus Actions
+ * A Nautilus extension which offers configurable context menu actions.
+ *
+ * Copyright (C) 2005 The GNOME Foundation
+ * Copyright (C) 2006, 2007, 2008 Frederic Ruaudel and others (see AUTHORS)
+ * Copyright (C) 2009 Pierre Wieser and others (see AUTHORS)
+ *
+ * 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 Library; see the file COPYING.  If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * Authors:
+ *   Frederic Ruaudel <grumz grumz net>
+ *   Rodrigo Moya <rodrigo gnome-db org>
+ *   Pierre Wieser <pwieser trychlos org>
+ *   ... and many others (see AUTHORS)
+ */
+
+#ifndef __NACT_IACTIONS_LIST_H__
+#define __NACT_IACTIONS_LIST_H__
+
+/*
+ * NactIActionsList interface definition.
+ *
+ * This interface defines some API against the ActionsList listbox.
+ * Our NactWindow may implement it in order to personalize the
+ * behaviour of the listbox.
+ */
+
+#include <glib-object.h>
+#include <gtk/gtk.h>
+
+#include "base-window.h"
+
+G_BEGIN_DECLS
+
+#define NACT_IACTIONS_LIST_TYPE							( nact_iactions_list_get_type())
+#define NACT_IACTIONS_LIST( object )					( G_TYPE_CHECK_INSTANCE_CAST( object, NACT_IACTIONS_LIST_TYPE, NactIActionsList ))
+#define NACT_IS_IACTIONS_LIST( object )					( G_TYPE_CHECK_INSTANCE_TYPE( object, NACT_IACTIONS_LIST_TYPE ))
+#define NACT_IACTIONS_LIST_GET_INTERFACE( instance )	( G_TYPE_INSTANCE_GET_INTERFACE(( instance ), NACT_IACTIONS_LIST_TYPE, NactIActionsListInterface ))
+
+typedef struct NactIActionsList NactIActionsList;
+
+typedef struct NactIActionsListInterfacePrivate NactIActionsListInterfacePrivate;
+
+typedef struct {
+	GTypeInterface                    parent;
+	NactIActionsListInterfacePrivate *private;
+
+	/* api */
+	void     ( *init_widget )          ( BaseWindow *window );
+	void     ( *fill_actions_list )    ( BaseWindow *window );
+	void     ( *on_selection_changed ) ( GtkTreeSelection *selection, gpointer user_data );
+	gboolean ( *on_button_press_event )( GtkWidget *widget, GdkEventButton *event, gpointer data );
+	gboolean ( *on_double_click )      ( GtkWidget *widget, GdkEventButton *event, gpointer data );
+}
+	NactIActionsListInterface;
+
+GType nact_iactions_list_get_type( void );
+
+void  nact_iactions_list_init( BaseWindow *window );
+void  nact_iactions_list_fill( BaseWindow *window );
+
+G_END_DECLS
+
+#endif /* __NACT_IACTIONS_LIST_H__ */
diff --git a/src/nact/nact-window.c b/src/nact/nact-window.c
new file mode 100644
index 0000000..60cf88f
--- /dev/null
+++ b/src/nact/nact-window.c
@@ -0,0 +1,263 @@
+/*
+ * Nautilus Actions
+ * A Nautilus extension which offers configurable context menu actions.
+ *
+ * Copyright (C) 2005 The GNOME Foundation
+ * Copyright (C) 2006, 2007, 2008 Frederic Ruaudel and others (see AUTHORS)
+ * Copyright (C) 2009 Pierre Wieser and others (see AUTHORS)
+ *
+ * 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 Library; see the file COPYING.  If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * Authors:
+ *   Frederic Ruaudel <grumz grumz net>
+ *   Rodrigo Moya <rodrigo gnome-db org>
+ *   Pierre Wieser <pwieser trychlos org>
+ *   ... and many others (see AUTHORS)
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <glib.h>
+
+#include "nact-window.h"
+
+#define GLADE_FILE				GLADEDIR "/nautilus-actions-config.glade"
+
+/* private class data
+ */
+struct NactWindowClassPrivate {
+};
+
+/* private instance data
+ */
+struct NactWindowPrivate {
+	gboolean   dispose_has_run;
+};
+
+static GObjectClass *st_parent_class = NULL;
+
+static GType  register_type( void );
+static void   class_init( NactWindowClass *klass );
+static void   instance_init( GTypeInstance *instance, gpointer klass );
+/*static void   instance_get_property( GObject *object, guint property_id, GValue *value, GParamSpec *spec );
+static void   instance_set_property( GObject *object, guint property_id, const GValue *value, GParamSpec *spec );*/
+static void   instance_dispose( GObject *application );
+static void   instance_finalize( GObject *application );
+
+static void   init_window( BaseWindow *window );
+static gchar *get_glade_file( BaseWindow *window );
+
+GType
+nact_window_get_type( void )
+{
+	static GType window_type = 0;
+
+	if( !window_type ){
+		window_type = register_type();
+	}
+
+	return( window_type );
+}
+
+static GType
+register_type( void )
+{
+	static const gchar *thisfn = "nact_window_register_type";
+	g_debug( "%s", thisfn );
+
+	g_type_init();
+
+	static GTypeInfo info = {
+		sizeof( NactWindowClass ),
+		( GBaseInitFunc ) NULL,
+		( GBaseFinalizeFunc ) NULL,
+		( GClassInitFunc ) class_init,
+		NULL,
+		NULL,
+		sizeof( NactWindow ),
+		0,
+		( GInstanceInitFunc ) instance_init
+	};
+
+	return( g_type_register_static( BASE_WINDOW_TYPE, "NactWindow", &info, 0 ));
+}
+
+static void
+class_init( NactWindowClass *klass )
+{
+	static const gchar *thisfn = "nact_window_class_init";
+	g_debug( "%s: klass=%p", thisfn, klass );
+
+	st_parent_class = g_type_class_peek_parent( klass );
+
+	GObjectClass *object_class = G_OBJECT_CLASS( klass );
+	object_class->dispose = instance_dispose;
+	object_class->finalize = instance_finalize;
+	/*object_class->get_property = instance_get_property;
+	object_class->set_property = instance_set_property;*/
+
+	klass->private = g_new0( NactWindowClassPrivate, 1 );
+
+	BaseWindowClass *base_class = BASE_WINDOW_CLASS( klass );
+	base_class->init_window = init_window;
+	base_class->get_glade_file = get_glade_file;
+}
+
+static void
+instance_init( GTypeInstance *instance, gpointer klass )
+{
+	static const gchar *thisfn = "nact_window_instance_init";
+	g_debug( "%s: instance=%p, klass=%p", thisfn, instance, klass );
+
+	g_assert( NACT_IS_WINDOW( instance ));
+	NactWindow *self = NACT_WINDOW( instance );
+
+	self->private = g_new0( NactWindowPrivate, 1 );
+
+	self->private->dispose_has_run = FALSE;
+}
+
+/*static void
+instance_get_property( GObject *object, guint property_id, GValue *value, GParamSpec *spec )
+{
+	g_assert( NACT_IS_WINDOW( object ));
+	NactWindow *self = NACT_WINDOW( object );
+
+	switch( property_id ){
+		case PROP_ARGC:
+			g_value_set_int( value, self->private->argc );
+			break;
+
+		case PROP_ARGV:
+			g_value_set_pointer( value, self->private->argv );
+			break;
+
+		case PROP_UNIQUE_NAME:
+			g_value_set_string( value, self->private->unique_name );
+			break;
+
+		case PROP_UNIQUE_APP:
+			g_value_set_pointer( value, self->private->unique_app );
+			break;
+
+		case PROP_MAIN_WINDOW:
+			g_value_set_pointer( value, self->private->main_window );
+			break;
+
+		case PROP_DLG_NAME:
+			g_value_set_string( value, self->private->application_name );
+			break;
+
+		case PROP_ICON_NAME:
+			g_value_set_string( value, self->private->icon_name );
+			break;
+
+		default:
+			G_OBJECT_WARN_INVALID_PROPERTY_ID( object, property_id, spec );
+			break;
+	}
+}
+
+static void
+instance_set_property( GObject *object, guint property_id, const GValue *value, GParamSpec *spec )
+{
+	g_assert( NACT_IS_WINDOW( object ));
+	NactWindow *self = NACT_WINDOW( object );
+
+	switch( property_id ){
+		case PROP_ARGC:
+			self->private->argc = g_value_get_int( value );
+			break;
+
+		case PROP_ARGV:
+			self->private->argv = g_value_get_pointer( value );
+			break;
+
+		case PROP_UNIQUE_NAME:
+			g_free( self->private->unique_name );
+			self->private->unique_name = g_value_dup_string( value );
+			break;
+
+		case PROP_UNIQUE_APP:
+			self->private->unique_app = g_value_get_pointer( value );
+			break;
+
+		case PROP_MAIN_WINDOW:
+			self->private->main_window = g_value_get_pointer( value );
+			break;
+
+		case PROP_DLG_NAME:
+			g_free( self->private->application_name );
+			self->private->application_name = g_value_dup_string( value );
+			break;
+
+		case PROP_ICON_NAME:
+			g_free( self->private->icon_name );
+			self->private->icon_name = g_value_dup_string( value );
+			break;
+
+		default:
+			G_OBJECT_WARN_INVALID_PROPERTY_ID( object, property_id, spec );
+			break;
+	}
+}*/
+
+static void
+instance_dispose( GObject *window )
+{
+	static const gchar *thisfn = "nact_window_instance_dispose";
+	g_debug( "%s: window=%p", thisfn, window );
+
+	g_assert( NACT_IS_WINDOW( window ));
+	NactWindow *self = NACT_WINDOW( window );
+
+	if( !self->private->dispose_has_run ){
+
+		self->private->dispose_has_run = TRUE;
+
+		/* chain up to the parent class */
+		G_OBJECT_CLASS( st_parent_class )->dispose( window );
+	}
+}
+
+static void
+instance_finalize( GObject *window )
+{
+	static const gchar *thisfn = "nact_window_instance_finalize";
+	g_debug( "%s: window=%p", thisfn, window );
+
+	g_assert( NACT_IS_WINDOW( window ));
+	/*NactWindow *self = ( NactWindow * ) window;*/
+
+	/* chain call to parent class */
+	if( st_parent_class->finalize ){
+		G_OBJECT_CLASS( st_parent_class )->finalize( window );
+	}
+}
+
+static void
+init_window( BaseWindow *window )
+{
+	/* do nothing */
+}
+
+static gchar *
+get_glade_file( BaseWindow *window )
+{
+	return( g_strdup( GLADE_FILE ));
+}
diff --git a/src/nact/nact-window.h b/src/nact/nact-window.h
new file mode 100644
index 0000000..3e3bf98
--- /dev/null
+++ b/src/nact/nact-window.h
@@ -0,0 +1,72 @@
+/*
+ * Nautilus Actions
+ * A Nautilus extension which offers configurable context menu actions.
+ *
+ * Copyright (C) 2005 The GNOME Foundation
+ * Copyright (C) 2006, 2007, 2008 Frederic Ruaudel and others (see AUTHORS)
+ * Copyright (C) 2009 Pierre Wieser and others (see AUTHORS)
+ *
+ * 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 Library; see the file COPYING.  If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * Authors:
+ *   Frederic Ruaudel <grumz grumz net>
+ *   Rodrigo Moya <rodrigo gnome-db org>
+ *   Pierre Wieser <pwieser trychlos org>
+ *   ... and many others (see AUTHORS)
+ */
+
+#ifndef __NACT_WINDOW_H__
+#define __NACT_WINDOW_H__
+
+/*
+ * NactWindow class definition.
+ *
+ * This class is derived from BaseWindow class.
+ * It is a common base class for Nautilus Actions windows.
+ */
+
+#include "base-window.h"
+
+G_BEGIN_DECLS
+
+#define NACT_WINDOW_TYPE				( nact_window_get_type())
+#define NACT_WINDOW( object )			( G_TYPE_CHECK_INSTANCE_CAST( object, NACT_WINDOW_TYPE, NactWindow ))
+#define NACT_WINDOW_CLASS( klass )		( G_TYPE_CHECK_CLASS_CAST( klass, NACT_WINDOW_TYPE, NactWindowClass ))
+#define NACT_IS_WINDOW( object )		( G_TYPE_CHECK_INSTANCE_TYPE( object, NACT_WINDOW_TYPE ))
+#define NACT_IS_WINDOW_CLASS( klass )	( G_TYPE_CHECK_CLASS_TYPE(( klass ), NACT_WINDOW_TYPE ))
+#define NACT_WINDOW_GET_CLASS( object )	( G_TYPE_INSTANCE_GET_CLASS(( object ), NACT_WINDOW_TYPE, NactWindowClass ))
+
+typedef struct NactWindowPrivate NactWindowPrivate;
+
+typedef struct {
+	BaseWindow         parent;
+	NactWindowPrivate *private;
+}
+	NactWindow;
+
+typedef struct NactWindowClassPrivate NactWindowClassPrivate;
+
+typedef struct {
+	BaseWindowClass         parent;
+	NactWindowClassPrivate *private;
+}
+	NactWindowClass;
+
+GType       nact_window_get_type( void );
+
+G_END_DECLS
+
+#endif /* __NACT_WINDOW_H__ */
diff --git a/src/nact/nact-wnd-actions.c b/src/nact/nact-wnd-actions.c
new file mode 100644
index 0000000..c24061d
--- /dev/null
+++ b/src/nact/nact-wnd-actions.c
@@ -0,0 +1,597 @@
+/*
+ * Nautilus Actions
+ * A Nautilus extension which offers configurable context menu actions.
+ *
+ * Copyright (C) 2005 The GNOME Foundation
+ * Copyright (C) 2006, 2007, 2008 Frederic Ruaudel and others (see AUTHORS)
+ * Copyright (C) 2009 Pierre Wieser and others (see AUTHORS)
+ *
+ * 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 Library; see the file COPYING.  If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * Authors:
+ *   Frederic Ruaudel <grumz grumz net>
+ *   Rodrigo Moya <rodrigo gnome-db org>
+ *   Pierre Wieser <pwieser trychlos org>
+ *   ... and many others (see AUTHORS)
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <stdlib.h>
+
+#include <glib/gi18n.h>
+#include <gtk/gtkbutton.h>
+#include <gtk/gtkliststore.h>
+#include <gtk/gtkmain.h>
+#include <gtk/gtkmessagedialog.h>
+#include <gtk/gtktreeview.h>
+#include <glade/glade-xml.h>
+
+#include <common/na-action.h>
+#include <common/na-action-profile.h>
+#include <common/na-pivot.h>
+
+#include "nact-application.h"
+#include "nact-wnd-actions.h"
+#include "nact-iactions-list.h"
+
+#include "nact-editor.h"
+#include "nact-import-export.h"
+#include "nact-prefs.h"
+#include "nact-action-editor.h"
+#include "nact-utils.h"
+
+/* private class data
+ */
+struct NactWndActionsClassPrivate {
+};
+
+/* private instance data
+ */
+struct NactWndActionsPrivate {
+	gboolean         dispose_has_run;
+};
+
+static GObjectClass    *st_parent_class = NULL;
+
+/*static NactApplication *st_application = NULL;
+static NAPivot         *st_pivot = NULL;*/
+
+static GType    register_type( void );
+static void     class_init( NactWndActionsClass *klass );
+static void     iactions_list_iface_init( NactIActionsListInterface *iface );
+static void     instance_init( GTypeInstance *instance, gpointer klass );
+/*static void     instance_get_property( GObject *object, guint property_id, GValue *value, GParamSpec *spec );
+static void     instance_set_property( GObject *object, guint property_id, const GValue *value, GParamSpec *spec );*/
+static void     instance_dispose( GObject *application );
+static void     instance_finalize( GObject *application );
+
+static void     init_window( BaseWindow *window );
+static void     on_actions_list_selection_changed( GtkTreeSelection *selection, gpointer user_data );
+static gboolean on_actions_list_double_click( GtkWidget *widget, GdkEventButton *event, gpointer data );
+
+#if(( GTK_MAJOR_VERSION == 2 ) && ( GTK_MINOR_VERSION == 4 ))
+ static void   init_edit_button_widget( BaseWindow *window );
+#endif
+#if((( GTK_MAJOR_VERSION == 2 ) && ( GTK_MINOR_VERSION >= 6 )) || ( GTK_MAJOR_VERSION > 2 ))
+ static void   init_about_button_widget( BaseWindow *window );
+#endif
+
+static void     on_add_button_clicked( GtkButton *button, gpointer user_data );
+static void     on_edit_button_clicked( GtkButton *button, gpointer user_data );
+static void     on_duplicate_button_clicked( GtkButton *button, gpointer user_data );
+static void     on_delete_button_clicked( GtkButton *button, gpointer user_data );
+static void     on_import_export_button_clicked( GtkButton *button, gpointer user_data );
+static void     on_dialog_response( GtkDialog *dialog, gint response_id, gpointer user_data );
+
+GType
+nact_wnd_actions_get_type( void )
+{
+	static GType window_type = 0;
+
+	if( !window_type ){
+		window_type = register_type();
+	}
+
+	return( window_type );
+}
+
+static GType
+register_type( void )
+{
+	static const gchar *thisfn = "nact_wnd_actions_register_type";
+	g_debug( "%s", thisfn );
+
+	g_type_init();
+
+	static GTypeInfo info = {
+		sizeof( NactWndActionsClass ),
+		( GBaseInitFunc ) NULL,
+		( GBaseFinalizeFunc ) NULL,
+		( GClassInitFunc ) class_init,
+		NULL,
+		NULL,
+		sizeof( NactWndActions ),
+		0,
+		( GInstanceInitFunc ) instance_init
+	};
+
+	GType type = g_type_register_static( NACT_WINDOW_TYPE, "NactWndActions", &info, 0 );
+
+	static const GInterfaceInfo iactions_list_iface_info = {
+		( GInterfaceInitFunc ) iactions_list_iface_init,
+		NULL,
+		NULL
+	};
+
+	g_type_add_interface_static( type, NACT_IACTIONS_LIST_TYPE, &iactions_list_iface_info );
+
+	return( type );
+}
+
+static void
+class_init( NactWndActionsClass *klass )
+{
+	static const gchar *thisfn = "nact_wnd_actions_class_init";
+	g_debug( "%s: klass=%p", thisfn, klass );
+
+	st_parent_class = g_type_class_peek_parent( klass );
+
+	GObjectClass *object_class = G_OBJECT_CLASS( klass );
+	object_class->dispose = instance_dispose;
+	object_class->finalize = instance_finalize;
+	/*object_class->get_property = instance_get_property;
+	object_class->set_property = instance_set_property;*/
+
+	klass->private = g_new0( NactWndActionsClassPrivate, 1 );
+
+	BaseWindowClass *base_class = BASE_WINDOW_CLASS( klass );
+	base_class->init_window = init_window;
+}
+
+static void
+iactions_list_iface_init( NactIActionsListInterface *iface )
+{
+	static const gchar *thisfn = "nact_wnd_actions_iactions_list_iface_init";
+	g_debug( "%s: iface=%p", thisfn, iface );
+
+	iface->init_widget = NULL;
+	iface->on_selection_changed = on_actions_list_selection_changed;
+	iface->on_double_click = on_actions_list_double_click;
+}
+
+static void
+instance_init( GTypeInstance *instance, gpointer klass )
+{
+	static const gchar *thisfn = "nact_wnd_actions_instance_init";
+	g_debug( "%s: instance=%p, klass=%p", thisfn, instance, klass );
+
+	g_assert( NACT_IS_WND_ACTIONS( instance ));
+	NactWndActions *self = NACT_WND_ACTIONS( instance );
+
+	self->private = g_new0( NactWndActionsPrivate, 1 );
+
+	self->private->dispose_has_run = FALSE;
+}
+
+/*static void
+instance_get_property( GObject *object, guint property_id, GValue *value, GParamSpec *spec )
+{
+	g_assert( NACT_IS_WND_ACTIONS( object ));
+	NactWndActions *self = NACT_WND_ACTIONS( object );
+
+	switch( property_id ){
+		case PROP_ARGC:
+			g_value_set_int( value, self->private->argc );
+			break;
+
+		case PROP_ARGV:
+			g_value_set_pointer( value, self->private->argv );
+			break;
+
+		case PROP_UNIQUE_NAME:
+			g_value_set_string( value, self->private->unique_name );
+			break;
+
+		case PROP_UNIQUE_APP:
+			g_value_set_pointer( value, self->private->unique_app );
+			break;
+
+		case PROP_MAIN_WINDOW:
+			g_value_set_pointer( value, self->private->main_window );
+			break;
+
+		case PROP_DLG_NAME:
+			g_value_set_string( value, self->private->application_name );
+			break;
+
+		case PROP_ICON_NAME:
+			g_value_set_string( value, self->private->icon_name );
+			break;
+
+		default:
+			G_OBJECT_WARN_INVALID_PROPERTY_ID( object, property_id, spec );
+			break;
+	}
+}
+
+static void
+instance_set_property( GObject *object, guint property_id, const GValue *value, GParamSpec *spec )
+{
+	g_assert( NACT_IS_WND_ACTIONS( object ));
+	NactWndActions *self = NACT_WND_ACTIONS( object );
+
+	switch( property_id ){
+		case PROP_ARGC:
+			self->private->argc = g_value_get_int( value );
+			break;
+
+		case PROP_ARGV:
+			self->private->argv = g_value_get_pointer( value );
+			break;
+
+		case PROP_UNIQUE_NAME:
+			g_free( self->private->unique_name );
+			self->private->unique_name = g_value_dup_string( value );
+			break;
+
+		case PROP_UNIQUE_APP:
+			self->private->unique_app = g_value_get_pointer( value );
+			break;
+
+		case PROP_MAIN_WINDOW:
+			self->private->main_window = g_value_get_pointer( value );
+			break;
+
+		case PROP_DLG_NAME:
+			g_free( self->private->application_name );
+			self->private->application_name = g_value_dup_string( value );
+			break;
+
+		case PROP_ICON_NAME:
+			g_free( self->private->icon_name );
+			self->private->icon_name = g_value_dup_string( value );
+			break;
+
+		default:
+			G_OBJECT_WARN_INVALID_PROPERTY_ID( object, property_id, spec );
+			break;
+	}
+}*/
+
+static void
+instance_dispose( GObject *window )
+{
+	static const gchar *thisfn = "nact_wnd_actions_instance_dispose";
+	g_debug( "%s: window=%p", thisfn, window );
+
+	g_assert( NACT_IS_WND_ACTIONS( window ));
+	NactWndActions *self = NACT_WND_ACTIONS( window );
+
+	if( !self->private->dispose_has_run ){
+
+		self->private->dispose_has_run = TRUE;
+
+		/* chain up to the parent class */
+		G_OBJECT_CLASS( st_parent_class )->dispose( window );
+	}
+}
+
+static void
+instance_finalize( GObject *window )
+{
+	static const gchar *thisfn = "nact_wnd_actions_instance_finalize";
+	g_debug( "%s: window=%p", thisfn, window );
+
+	g_assert( NACT_IS_WND_ACTIONS( window ));
+	/*NactWndActions *self = ( NactWndActions * ) window;*/
+
+	/* chain call to parent class */
+	if( st_parent_class->finalize ){
+		G_OBJECT_CLASS( st_parent_class )->finalize( window );
+	}
+}
+
+/**
+ * Returns a newly allocated NactWndActions object.
+ */
+NactWndActions *
+nact_wnd_actions_new( GObject *application )
+{
+	g_assert( NACT_IS_APPLICATION( application ));
+
+	return( g_object_new( NACT_WND_ACTIONS_TYPE, PROP_WINDOW_APPLICATION_STR, application, NULL ));
+}
+
+static void
+init_window( BaseWindow *window )
+{
+	static const gchar *thisfn = "nact_wnd_actions_init_window";
+	g_debug( "%s: window=%p", thisfn, window );
+
+	g_assert( NACT_IS_WND_ACTIONS( window ));
+	/*NactWndActions *wnd = NACT_WND_ACTIONS( window );*/
+
+	GtkWidget *dialog = base_window_load_widget( window, "ActionsDialog" );
+
+	nact_iactions_list_init( window );
+
+#if(( GTK_MAJOR_VERSION == 2 ) && ( GTK_MINOR_VERSION == 4 ))
+	/* Fix a stock icon bug with GTK+ 2.4 */
+	init_edit_button_widget( window );
+#endif
+
+#if((( GTK_MAJOR_VERSION == 2 ) && ( GTK_MINOR_VERSION >= 6 )) || ( GTK_MAJOR_VERSION > 2 ))
+	/* Add about dialog for GTK+ >= 2.6 */
+	init_about_button_widget( window );
+#endif
+
+	base_window_connect( window, "AddActionButton", "clicked", G_CALLBACK( on_add_button_clicked ));
+	base_window_connect( window, "EditActionButton", "clicked", G_CALLBACK( on_edit_button_clicked ));
+	base_window_connect( window, "DuplicateActionButton", "clicked", G_CALLBACK( on_duplicate_button_clicked ));
+	base_window_connect( window, "DeleteActionButton", "clicked", G_CALLBACK( on_delete_button_clicked ));
+	base_window_connect( window, "ImExportButton", "clicked", G_CALLBACK( on_import_export_button_clicked ));
+
+	/* display the dialog */
+	g_signal_connect( G_OBJECT( dialog ), "response", G_CALLBACK( on_dialog_response ), window );
+	gtk_widget_show( dialog );
+}
+
+#if(( GTK_MAJOR_VERSION == 2 ) && ( GTK_MINOR_VERSION == 4 ))
+static void
+init_edit_button_widget( BaseWindow *window )
+{
+	/* Fix a stock icon bug with GTK+ 2.4 */
+	GtkWidget *button = base_window_get_widget( window, "EditActionButton" );
+	gtk_button_set_use_stock( GTK_BUTTON( button ), FALSE );
+	gtk_button_set_use_underline( GTK_BUTTON( button ), TRUE );
+	/* i18n: "Edit" action button label forced for Gtk 2.4 */
+	gtk_button_set_label( GTK_BUTTON( button ), _( "_Edit" ));
+}
+#endif
+
+#if((( GTK_MAJOR_VERSION == 2 ) && ( GTK_MINOR_VERSION >= 6 )) || ( GTK_MAJOR_VERSION > 2 ))
+static void
+init_about_button_widget( BaseWindow *window )
+{
+	/* Add about dialog for GTK+ >= 2.6 */
+	GtkWidget *button = base_window_get_widget( window, "AboutButton" );
+	gtk_widget_show( button );
+}
+#endif
+
+static void
+on_actions_list_selection_changed( GtkTreeSelection *selection, gpointer user_data )
+{
+	BaseWindow *window = BASE_WINDOW( user_data );
+
+	GtkWidget *edit_button = base_window_get_widget( window, "EditActionButton" );
+	GtkWidget *delete_button = base_window_get_widget( window, "DeleteActionButton" );
+	GtkWidget *duplicate_button = base_window_get_widget( window, "DuplicateActionButton" );
+
+	gboolean enabled = ( gtk_tree_selection_count_selected_rows( selection ) > 0 );
+
+	gtk_widget_set_sensitive( edit_button, enabled );
+	gtk_widget_set_sensitive( delete_button, enabled );
+	gtk_widget_set_sensitive( duplicate_button, enabled );
+}
+
+static gboolean
+on_actions_list_double_click( GtkWidget *widget, GdkEventButton *event, gpointer user_data )
+{
+	g_assert( event->type == GDK_2BUTTON_PRESS );
+	on_edit_button_clicked( NULL, user_data );
+	return( TRUE );
+}
+
+/*
+ * creating a new action
+ * pwi 2009-05-19
+ * I don't want the profiles feature spread wide while I'm not convinced
+ * that it is useful and actually used.
+ * so the new action is silently created with a default profile name
+ */
+static void
+on_add_button_clicked( GtkButton *button, gpointer user_data )
+{
+	static const gchar *thisfn = "nact_wnd_actions_on_add_button_clicked";
+	g_debug( "%s: button=%p, user_data=%p", thisfn, button, user_data );
+
+	if( nact_action_editor_new()){
+		nact_iactions_list_fill( BASE_WINDOW( user_data ));
+	}
+}
+
+/*
+ * editing an existing action
+ * pwi 2009-05-19
+ * I don't want the profiles feature spread wide while I'm not convinced
+ * that it is useful and actually used.
+ * so :
+ * - if there is only one profile, the user will be directed to a dialog
+ *   box which includes all needed fields, but without any profile notion
+ * - if there are more than one profile, one can assume that the user has
+ *   found a use to the profiles, and let him edit them
+ */
+static void
+on_edit_button_clicked( GtkButton *button, gpointer user_data )
+{
+	static const gchar *thisfn = "nact_wnd_actions_on_edit_button_clicked";
+	g_debug( "%s: button=%p, user_data=%p", thisfn, button, user_data );
+
+	/*GtkTreeSelection *selection;
+	GtkTreeIter iter;
+	GtkWidget *nact_actions_list;
+	GtkTreeModel* model;*/
+
+	/*NAAction *action = nact_iactions_list_get_selected_action( BASE_WINDOW( user_data ));*/
+
+	/*nact_actions_list = nact_get_glade_widget ("ActionsList");
+
+	selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (nact_actions_list));
+
+	if (gtk_tree_selection_get_selected (selection, &model, &iter)) {
+		gchar *uuid;
+		NAAction *action;
+
+		gtk_tree_model_get (model, &iter, IACTIONS_LIST_UUID_COLUMN, &uuid, -1);
+
+		action = NA_ACTION( na_pivot_get_action( st_pivot, uuid ));*/
+
+		/*NautilusActionsConfigAction *action;
+		if( action ){
+			guint count = na_action_get_profiles_count( action );
+			if( count > 1 ){
+				if (nact_editor_edit_action (( NautilusActionsConfigAction *) action))
+					fill_actions_list (nact_actions_list);
+			} else {
+				if( nact_action_editor_edit( ( NautilusActionsConfigAction *) action ))
+					fill_actions_list( nact_actions_list );
+			}
+		}*/
+
+		/*g_free (uuid);
+	}*/
+}
+
+static void
+on_duplicate_button_clicked( GtkButton *button, gpointer user_data )
+{
+	static const gchar *thisfn = "nact_wnd_actions_on_duplicate_button_clicked";
+	g_debug( "%s: button=%p, user_data=%p", thisfn, button, user_data );
+
+	/*GtkTreeSelection *selection;
+	GtkTreeIter iter;
+	GtkWidget *nact_actions_list;
+	GtkTreeModel* model;
+	gchar *error = NULL;
+	gchar *tmp, *label;
+
+	nact_actions_list = nact_get_glade_widget ("ActionsList");
+
+	selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (nact_actions_list));
+
+	if (gtk_tree_selection_get_selected (selection, &model, &iter))
+	{
+		gchar *uuid;
+		NAAction *action;
+		NAAction* new_action;
+
+		gtk_tree_model_get (model, &iter, IACTIONS_LIST_UUID_COLUMN, &uuid, -1);
+
+		action = NA_ACTION( na_pivot_get_action( st_pivot, uuid ));
+		new_action = na_action_duplicate( action );
+		na_action_set_new_uuid( new_action );*/
+
+		/*if( nautilus_actions_config_add_action( NAUTILUS_ACTIONS_CONFIG (config), new_action, &error )){*/
+		/*if( na_pivot_write_action( st_pivot, G_OBJECT( new_action ), &error )){
+			fill_actions_list (nact_actions_list);
+		} else {*/
+			/* i18n notes: will be displayed in a dialog */
+			/*label = na_action_get_label( action );
+			tmp = g_strdup_printf (_("Can't duplicate action '%s'!"), label);
+			nautilus_actions_display_error( tmp, error );
+			g_free( error );
+			g_free( label );
+			g_free( tmp );
+		}
+
+		g_free( uuid );
+	}*/
+}
+
+static void
+on_delete_button_clicked( GtkButton *button, gpointer user_data )
+{
+	static const gchar *thisfn = "nact_wnd_actions_on_delete_button_clicked";
+	g_debug( "%s: button=%p, user_data=%p", thisfn, button, user_data );
+
+	/*GtkTreeSelection *selection;
+	GtkTreeIter iter;
+	GtkWidget *nact_actions_list;
+	GtkTreeModel* model;
+
+	nact_actions_list = nact_get_glade_widget ("ActionsList");
+
+	selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (nact_actions_list));
+
+	if (gtk_tree_selection_get_selected (selection, &model, &iter)) {
+		gchar *uuid;
+
+		gtk_tree_model_get (model, &iter, IACTIONS_LIST_UUID_COLUMN, &uuid, -1);*/
+		/*nautilus_actions_config_remove_action (NAUTILUS_ACTIONS_CONFIG (config), uuid);*/
+		/*fill_actions_list (nact_actions_list);
+
+		g_free (uuid);
+	}*/
+}
+
+static void
+on_import_export_button_clicked( GtkButton *button, gpointer user_data )
+{
+	static const gchar *thisfn = "nact_wnd_actions_on_import_export_button_clicked";
+	g_debug( "%s: button=%p, user_data=%p", thisfn, button, user_data );
+
+	/*GtkWidget *nact_actions_list;
+
+	if (nact_import_export_actions ())
+	{
+		nact_actions_list = nact_get_glade_widget ("ActionsList");
+		fill_actions_list (nact_actions_list);
+	}*/
+}
+
+static void
+on_dialog_response( GtkDialog *dialog, gint response_id, gpointer user_data )
+{
+	GtkWidget *about_dialog;
+	BaseWindow *window;
+	/*GtkWidget *paste_button = nact_get_glade_widget_from ("PasteProfileButton", GLADE_EDIT_DIALOG_WIDGET);*/
+	g_debug( "dialog_response_cb: response_id=%d", response_id );
+
+	switch( response_id ){
+		case GTK_RESPONSE_NONE:
+		case GTK_RESPONSE_DELETE_EVENT:
+		case GTK_RESPONSE_CLOSE:
+			/* Free any profile in the clipboard */
+			/*nautilus_actions_config_action_profile_free (g_object_steal_data (G_OBJECT (paste_button), "profile"));*/
+
+			/* FIXME : update pref settings
+			nact_prefs_set_main_dialog_size (GTK_WINDOW (dialog));
+			nact_prefs_set_main_dialog_position (GTK_WINDOW (dialog));
+			nact_prefs_save_preferences ();
+			 */
+
+			window = BASE_WINDOW( g_object_get_data( G_OBJECT( dialog ), "base-window" ));
+			g_object_unref( window );
+			/*gtk_widget_destroy (GTK_WIDGET (dialog));
+			nact_destroy_glade_objects ();
+			gtk_main_quit ();*/
+			break;
+
+		case GTK_RESPONSE_HELP:
+#if((( GTK_MAJOR_VERSION == 2 ) && ( GTK_MINOR_VERSION >= 6 )) || ( GTK_MAJOR_VERSION > 2 ))
+			about_dialog = nact_get_glade_widget_from ("AboutDialog", GLADE_ABOUT_DIALOG_WIDGET);
+			gtk_about_dialog_set_version (GTK_ABOUT_DIALOG (about_dialog), PACKAGE_VERSION);
+			gtk_about_dialog_set_logo_icon_name (GTK_ABOUT_DIALOG (about_dialog), "nautilus-actions");
+			gtk_dialog_run (GTK_DIALOG (about_dialog));
+			gtk_widget_hide (about_dialog);
+#endif
+			break;
+	}
+}
diff --git a/src/nact/nact-wnd-actions.h b/src/nact/nact-wnd-actions.h
new file mode 100644
index 0000000..e39efcd
--- /dev/null
+++ b/src/nact/nact-wnd-actions.h
@@ -0,0 +1,74 @@
+/*
+ * Nautilus Actions
+ * A Nautilus extension which offers configurable context menu actions.
+ *
+ * Copyright (C) 2005 The GNOME Foundation
+ * Copyright (C) 2006, 2007, 2008 Frederic Ruaudel and others (see AUTHORS)
+ * Copyright (C) 2009 Pierre Wieser and others (see AUTHORS)
+ *
+ * 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 Library; see the file COPYING.  If not,
+ * write to the Free Software Foundation, Inc., 59 Temple Place,
+ * Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * Authors:
+ *   Frederic Ruaudel <grumz grumz net>
+ *   Rodrigo Moya <rodrigo gnome-db org>
+ *   Pierre Wieser <pwieser trychlos org>
+ *   ... and many others (see AUTHORS)
+ */
+
+#ifndef __NACT_WND_ACTIONS_H__
+#define __NACT_WND_ACTIONS_H__
+
+/*
+ * NactWndActions class definition.
+ *
+ * This class is derived from NactWindow.
+ * It encapsulates the "ActionsDialog" window.
+ */
+
+#include "nact-window.h"
+
+G_BEGIN_DECLS
+
+#define NACT_WND_ACTIONS_TYPE					( nact_wnd_actions_get_type())
+#define NACT_WND_ACTIONS( object )				( G_TYPE_CHECK_INSTANCE_CAST( object, NACT_WND_ACTIONS_TYPE, NactWndActions ))
+#define NACT_WND_ACTIONS_CLASS( klass )			( G_TYPE_CHECK_CLASS_CAST( klass, NACT_WND_ACTIONS_TYPE, NactWndActionsClass ))
+#define NACT_IS_WND_ACTIONS( object )			( G_TYPE_CHECK_INSTANCE_TYPE( object, NACT_WND_ACTIONS_TYPE ))
+#define NACT_IS_WND_ACTIONS_CLASS( klass )		( G_TYPE_CHECK_CLASS_TYPE(( klass ), NACT_WND_ACTIONS_TYPE ))
+#define NACT_WND_ACTIONS_GET_CLASS( object )	( G_TYPE_INSTANCE_GET_CLASS(( object ), NACT_WND_ACTIONS_TYPE, NactWndActionsClass ))
+
+typedef struct NactWndActionsPrivate NactWndActionsPrivate;
+
+typedef struct {
+	NactWindow             parent;
+	NactWndActionsPrivate *private;
+}
+	NactWndActions;
+
+typedef struct NactWndActionsClassPrivate NactWndActionsClassPrivate;
+
+typedef struct {
+	NactWindowClass             parent;
+	NactWndActionsClassPrivate *private;
+}
+	NactWndActionsClass;
+
+GType           nact_wnd_actions_get_type( void );
+
+NactWndActions *nact_wnd_actions_new( GObject *application );
+
+G_END_DECLS
+
+#endif /* __NACT_WND_ACTIONS_H__ */
diff --git a/src/nact/nautilus-actions-config.glade b/src/nact/nautilus-actions-config.glade
index a7887b3..ef80d24 100644
--- a/src/nact/nautilus-actions-config.glade
+++ b/src/nact/nautilus-actions-config.glade
@@ -1,4101 +1,2758 @@
-<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
-<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd";>
-
+<?xml version="1.0"?>
 <glade-interface>
-
-<widget class="GtkDialog" id="ActionsDialog">
-  <property name="title" translatable="yes">Nautilus Actions</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_CENTER</property>
-  <property name="modal">False</property>
-  <property name="default_width">300</property>
-  <property name="default_height">350</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
-  <property name="has_separator">True</property>
-  <signal name="response" handler="dialog_response_cb" last_modification_time="Thu, 20 Oct 2005 12:21:21 GMT"/>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox3">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">0</property>
-
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="dialog-action_area3">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-
-	  <child>
-	    <widget class="GtkButton" id="AboutButton">
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-about</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-11</property>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="closebutton2">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-close</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-7</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkHBox" id="hbox20">
-	  <property name="border_width">6</property>
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">6</property>
-
-	  <child>
-	    <widget class="GtkScrolledWindow" id="scrolledwindow3">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-	      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-	      <property name="shadow_type">GTK_SHADOW_IN</property>
-	      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-	      <child>
-		<widget class="GtkTreeView" id="ActionsList">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="events">GDK_BUTTON_PRESS_MASK</property>
-		  <property name="headers_visible">False</property>
-		  <property name="rules_hint">True</property>
-		  <property name="reorderable">False</property>
-		  <property name="enable_search">True</property>
-		  <property name="fixed_height_mode">False</property>
-		  <property name="hover_selection">False</property>
-		  <property name="hover_expand">False</property>
-		  <signal name="button_press_event" handler="on_ActionsList_button_press_event" last_modification_time="Thu, 28 May 2009 17:11:36 GMT"/>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkVButtonBox" id="vbuttonbox1">
-	      <property name="visible">True</property>
-	      <property name="layout_style">GTK_BUTTONBOX_START</property>
-	      <property name="spacing">3</property>
-
-	      <child>
-		<widget class="GtkButton" id="AddActionButton">
-		  <property name="visible">True</property>
-		  <property name="can_default">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label">gtk-add</property>
-		  <property name="use_stock">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <signal name="clicked" handler="add_button_clicked_cb" last_modification_time="Thu, 20 Oct 2005 12:25:20 GMT"/>
-		</widget>
-	      </child>
-
-	      <child>
-		<widget class="GtkButton" id="EditActionButton">
-		  <property name="visible">True</property>
-		  <property name="sensitive">False</property>
-		  <property name="can_default">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label">gtk-edit</property>
-		  <property name="use_stock">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <signal name="clicked" handler="edit_button_clicked_cb" last_modification_time="Thu, 20 Oct 2005 12:36:14 GMT"/>
-		</widget>
-	      </child>
-
-	      <child>
-		<widget class="GtkButton" id="DuplicateActionButton">
-		  <property name="visible">True</property>
-		  <property name="sensitive">False</property>
-		  <property name="tooltip" translatable="yes">Create a copy of the selected action.</property>
-		  <property name="can_default">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <signal name="clicked" handler="duplicate_button_clicked_cb" last_modification_time="Fri, 06 Jan 2006 12:19:43 GMT"/>
-
-		  <child>
-		    <widget class="GtkAlignment" id="alignment14">
-		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">0</property>
-		      <property name="yscale">0</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">0</property>
-		      <property name="left_padding">0</property>
-		      <property name="right_padding">0</property>
-
-		      <child>
-			<widget class="GtkHBox" id="hbox51">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">2</property>
-
-			  <child>
-			    <widget class="GtkImage" id="image21">
-			      <property name="visible">True</property>
-			      <property name="stock">gtk-copy</property>
-			      <property name="icon_size">4</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label141">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Duplicate</property>
-			      <property name="use_underline">True</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-		</widget>
-	      </child>
-
-	      <child>
-		<widget class="GtkButton" id="DeleteActionButton">
-		  <property name="visible">True</property>
-		  <property name="sensitive">False</property>
-		  <property name="tooltip" translatable="yes">Delete the action without any confirmation nor the possibility to restore it.</property>
-		  <property name="can_default">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label">gtk-delete</property>
-		  <property name="use_stock">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <signal name="clicked" handler="delete_button_clicked_cb" last_modification_time="Thu, 20 Oct 2005 12:37:16 GMT"/>
-		</widget>
-	      </child>
-
-	      <child>
-		<widget class="GtkButton" id="ImExportButton">
-		  <property name="visible">True</property>
-		  <property name="tooltip" translatable="yes">Manage importation of external action configurations and exportation of existing actions.</property>
-		  <property name="can_default">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <signal name="clicked" handler="im_export_button_clicked_cb" last_modification_time="Thu, 17 Nov 2005 14:58:32 GMT"/>
-
-		  <child>
-		    <widget class="GtkAlignment" id="alignment13">
-		      <property name="visible">True</property>
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xscale">0</property>
-		      <property name="yscale">0</property>
-		      <property name="top_padding">0</property>
-		      <property name="bottom_padding">0</property>
-		      <property name="left_padding">0</property>
-		      <property name="right_padding">0</property>
-
-		      <child>
-			<widget class="GtkHBox" id="hbox50">
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">2</property>
-
-			  <child>
-			    <widget class="GtkImage" id="image20">
-			      <property name="visible">True</property>
-			      <property name="stock">gtk-convert</property>
-			      <property name="icon_size">4</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkLabel" id="label140">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">Import/Export</property>
-			      <property name="use_underline">True</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_LEFT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-		      </child>
-		    </widget>
-		  </child>
-		</widget>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	      <property name="pack_type">GTK_PACK_END</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">6</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-<widget class="GtkDialog" id="EditProfileDialog">
-  <property name="width_request">460</property>
-  <property name="height_request">410</property>
-  <property name="title" translatable="yes">Nautilus Action Profile Editor</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_CENTER_ALWAYS</property>
-  <property name="modal">True</property>
-  <property name="default_width">400</property>
-  <property name="default_height">430</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
-  <property name="has_separator">True</property>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox4">
-      <property name="width_request">500</property>
-      <property name="height_request">430</property>
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">0</property>
-
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="dialog-action_area4">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-
-	  <child>
-	    <widget class="GtkButton" id="cancelbutton1">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-cancel</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-6</property>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="okbutton1">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-ok</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-5</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkNotebook" id="notebook2">
-	  <property name="border_width">6</property>
-	  <property name="visible">True</property>
-	  <property name="can_focus">True</property>
-	  <property name="show_tabs">True</property>
-	  <property name="show_border">True</property>
-	  <property name="tab_pos">GTK_POS_TOP</property>
-	  <property name="scrollable">False</property>
-	  <property name="enable_popup">False</property>
-
-	  <child>
-	    <widget class="GtkVBox" id="vbox399">
-	      <property name="border_width">10</property>
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">12</property>
-
-	      <child>
-		<widget class="GtkLabel" id="label40">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">&lt;b&gt;Action&lt;/b&gt;</property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">True</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkVBox" id="vbox396">
-		  <property name="border_width">10</property>
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">6</property>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox32">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">6</property>
-
-		      <child>
-			<widget class="GtkLabel" id="ALabelAlign4">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">Path:</property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkEntry" id="CommandPathEntry">
-			  <property name="visible">True</property>
-			  <property name="tooltip" translatable="yes">The command that will be launched by selecting the action in Nautilus popup menu.</property>
-			  <property name="can_focus">True</property>
-			  <property name="editable">True</property>
-			  <property name="visibility">True</property>
-			  <property name="max_length">0</property>
-			  <property name="text"></property>
-			  <property name="has_frame">True</property>
-			  <property name="invisible_char">*</property>
-			  <property name="activates_default">False</property>
-			  <property name="width_chars">10</property>
-			  <signal name="changed" handler="profile_field_changed_cb" last_modification_time="Thu, 24 May 2007 12:17:44 GMT"/>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkButton" id="PathBrowseButton">
-			  <property name="visible">True</property>
-			  <property name="tooltip" translatable="yes">Click to choose a command from the file chooser dialog.</property>
-			  <property name="can_focus">True</property>
-			  <property name="label" translatable="yes">_Browse</property>
-			  <property name="use_underline">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-			  <signal name="clicked" handler="path_browse_button_clicked_cb" last_modification_time="Sat, 22 Oct 2005 15:07:15 GMT"/>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox33">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">6</property>
-
-		      <child>
-			<widget class="GtkLabel" id="ALabelAlign5">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">Parameters:</property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkEntry" id="CommandParamsEntry">
-			  <property name="visible">True</property>
-			  <property name="tooltip" translatable="yes">Parameters that will be sent to the program. Click on the 'Legend' button to see the different replacement tokens.</property>
-			  <property name="can_focus">True</property>
-			  <property name="editable">True</property>
-			  <property name="visibility">True</property>
-			  <property name="max_length">0</property>
-			  <property name="text"></property>
-			  <property name="has_frame">True</property>
-			  <property name="invisible_char">*</property>
-			  <property name="activates_default">False</property>
-			  <property name="width_chars">10</property>
-			  <signal name="changed" handler="profile_field_changed_cb" last_modification_time="Thu, 24 May 2007 12:17:54 GMT"/>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkToggleButton" id="LegendButton">
-			  <property name="visible">True</property>
-			  <property name="tooltip" translatable="yes">Click to toggle the display of the list of special tokens you can use in the parameter field.</property>
-			  <property name="can_focus">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-			  <property name="active">False</property>
-			  <property name="inconsistent">False</property>
-			  <signal name="toggled" handler="legend_button_toggled_cb" last_modification_time="Fri, 25 May 2007 13:28:42 GMT"/>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment16">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">0</property>
-			      <property name="yscale">0</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">0</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkHBox" id="hbox62">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">2</property>
-
-				  <child>
-				    <widget class="GtkImage" id="image25">
-				      <property name="visible">True</property>
-				      <property name="stock">gtk-help</property>
-				      <property name="icon_size">4</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkLabel" id="label158">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes">_Legend</property>
-				      <property name="use_underline">True</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">False</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				      <property name="width_chars">-1</property>
-				      <property name="single_line_mode">False</property>
-				      <property name="angle">0</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-				</widget>
-			      </child>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox46">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">6</property>
-
-		      <child>
-			<widget class="GtkLabel" id="LabelAlign6">
-			  <property name="visible">True</property>
-			  <property name="label">  </property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkLabel" id="LabelExample">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">&lt;i&gt;&lt;b&gt;&lt;span size=&quot;small&quot;&gt;e.g., %s&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;</property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">True</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">True</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="tab_expand">False</property>
-	      <property name="tab_fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label134">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Action</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="type">tab</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkVBox" id="vbox394">
-	      <property name="border_width">10</property>
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">12</property>
-
-	      <child>
-		<widget class="GtkLabel" id="aaaLabelAlign7">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">&lt;b&gt;Appears if file matches&lt;/b&gt;</property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">True</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkVBox" id="vbox398">
-		  <property name="border_width">10</property>
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">6</property>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox52">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">6</property>
-
-		      <child>
-			<widget class="GtkLabel" id="CLabelAlign1">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">Filenames:</property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkEntry" id="PatternEntry">
-			  <property name="visible">True</property>
-			  <property name="tooltip" translatable="yes">A string with wildcards (? or *) that will be used to match the filenames. You can set several filename patterns by separating them with a semi-colon (;).</property>
-			  <property name="can_focus">True</property>
-			  <property name="editable">True</property>
-			  <property name="visibility">True</property>
-			  <property name="max_length">0</property>
-			  <property name="text">*</property>
-			  <property name="has_frame">True</property>
-			  <property name="invisible_char">*</property>
-			  <property name="activates_default">False</property>
-			  <signal name="changed" handler="profile_field_changed_cb" last_modification_time="Thu, 24 May 2007 12:18:05 GMT"/>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox54">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">0</property>
-
-		      <child>
-			<widget class="GtkLabel" id="label146">
-			  <property name="visible">True</property>
-			  <property name="label">    </property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkCheckButton" id="MatchCaseButton">
-			  <property name="visible">True</property>
-			  <property name="tooltip" translatable="yes">If selected, the filename patterns will be matched case sensitive (eg, *.jpg will not match photo.JPG)</property>
-			  <property name="can_focus">True</property>
-			  <property name="label" translatable="yes">Match case</property>
-			  <property name="use_underline">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-			  <property name="active">False</property>
-			  <property name="inconsistent">False</property>
-			  <property name="draw_indicator">True</property>
-			  <signal name="toggled" handler="profile_field_changed_cb" last_modification_time="Thu, 24 May 2007 12:18:23 GMT"/>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox53">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">6</property>
-
-		      <child>
-			<widget class="GtkLabel" id="CLabelAlign2">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">Mimetypes:</property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkEntry" id="MimeTypeEntry">
-			  <property name="visible">True</property>
-			  <property name="tooltip" translatable="yes">A string with wildcards (? or *) that will be used to match the mimetypes of files. You can set several mimetype patterns by separating them with a semi-colon (;).</property>
-			  <property name="can_focus">True</property>
-			  <property name="editable">True</property>
-			  <property name="visibility">True</property>
-			  <property name="max_length">0</property>
-			  <property name="text">*/*</property>
-			  <property name="has_frame">True</property>
-			  <property name="invisible_char">*</property>
-			  <property name="activates_default">False</property>
-			  <signal name="changed" handler="profile_field_changed_cb" last_modification_time="Thu, 24 May 2007 12:18:14 GMT"/>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="label45">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">&lt;b&gt;Appears if selection contains&lt;/b&gt;</property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">True</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkHBox" id="hbox21">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">True</property>
-		  <property name="spacing">0</property>
-
-		  <child>
-		    <widget class="GtkRadioButton" id="OnlyFilesButton">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">Only files</property>
-		      <property name="use_underline">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <property name="active">False</property>
-		      <property name="inconsistent">False</property>
-		      <property name="draw_indicator">True</property>
-		      <signal name="toggled" handler="profile_field_changed_cb" last_modification_time="Thu, 24 May 2007 12:18:30 GMT"/>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkRadioButton" id="OnlyFoldersButton">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">Only folders</property>
-		      <property name="use_underline">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <property name="active">False</property>
-		      <property name="inconsistent">False</property>
-		      <property name="draw_indicator">True</property>
-		      <property name="group">OnlyFilesButton</property>
-		      <signal name="toggled" handler="profile_field_changed_cb" last_modification_time="Thu, 24 May 2007 12:18:39 GMT"/>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkRadioButton" id="BothButton">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">Both</property>
-		      <property name="use_underline">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <property name="active">False</property>
-		      <property name="inconsistent">False</property>
-		      <property name="draw_indicator">True</property>
-		      <property name="group">OnlyFilesButton</property>
-		      <signal name="toggled" handler="profile_field_changed_cb" last_modification_time="Thu, 24 May 2007 12:18:57 GMT"/>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkCheckButton" id="AcceptMultipleButton">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">Appears if selection has multiple files or folders</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">False</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
-		  <signal name="toggled" handler="profile_field_changed_cb" last_modification_time="Thu, 24 May 2007 12:19:05 GMT"/>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="tab_expand">False</property>
-	      <property name="tab_fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label135">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Conditions</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="type">tab</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkVBox" id="vbox340">
-	      <property name="border_width">12</property>
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">6</property>
-
-	      <child>
-		<widget class="GtkLabel" id="label46">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">&lt;b&gt;Appears if scheme is in this list&lt;/b&gt;</property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">True</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkHBox" id="hbox38">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">6</property>
-
-		  <child>
-		    <widget class="GtkScrolledWindow" id="scrolledwindow4">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-		      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-		      <property name="shadow_type">GTK_SHADOW_IN</property>
-		      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-		      <child>
-			<widget class="GtkTreeView" id="SchemesTreeView">
-			  <property name="visible">True</property>
-			  <property name="tooltip" translatable="yes">Select the kind of files where you want your action to appear. If you don't know what to choose, try selecting just 'file' which is the most common choice. You can add a new scheme by clicking on the '+' button.</property>
-			  <property name="can_focus">True</property>
-			  <property name="headers_visible">False</property>
-			  <property name="rules_hint">True</property>
-			  <property name="reorderable">False</property>
-			  <property name="enable_search">True</property>
-			  <property name="fixed_height_mode">False</property>
-			  <property name="hover_selection">False</property>
-			  <property name="hover_expand">False</property>
-			</widget>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkVBox" id="vbox345">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">6</property>
-
-		      <child>
-			<widget class="GtkButton" id="button7">
-			  <property name="visible">True</property>
-			  <property name="tooltip" translatable="yes">Click to add a new scheme.</property>
-			  <property name="can_focus">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-			  <signal name="clicked" handler="add_scheme_clicked" last_modification_time="Sun, 23 Oct 2005 12:51:12 GMT"/>
-
-			  <child>
-			    <widget class="GtkImage" id="image16">
-			      <property name="visible">True</property>
-			      <property name="stock">gtk-add</property>
-			      <property name="icon_size">4</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkButton" id="RemoveSchemeButton">
-			  <property name="visible">True</property>
-			  <property name="sensitive">False</property>
-			  <property name="tooltip" translatable="yes">Click to remove the selected scheme.</property>
-			  <property name="can_focus">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-			  <signal name="clicked" handler="remove_scheme_clicked" last_modification_time="Sun, 23 Oct 2005 12:51:27 GMT"/>
-
-			  <child>
-			    <widget class="GtkImage" id="image17">
-			      <property name="visible">True</property>
-			      <property name="stock">gtk-remove</property>
-			      <property name="icon_size">4</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="tab_expand">False</property>
-	      <property name="tab_fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label142">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Advanced Conditions</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="type">tab</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">6</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-<widget class="GtkFileChooserDialog" id="FileChooserDialog">
-  <property name="border_width">5</property>
-  <property name="visible">True</property>
-  <property name="action">GTK_FILE_CHOOSER_ACTION_OPEN</property>
-  <property name="local_only">True</property>
-  <property name="select_multiple">False</property>
-  <property name="show_hidden">False</property>
-  <property name="do_overwrite_confirmation">False</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
-  <property name="modal">True</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox5">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">24</property>
-
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="dialog-action_area5">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-
-	  <child>
-	    <widget class="GtkButton" id="button4">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-cancel</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-6</property>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="button5">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="has_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-open</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-5</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-<widget class="GtkDialog" id="ImportExportDialog">
-  <property name="title" translatable="yes">Import/Export Settings</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
-  <property name="modal">True</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
-  <property name="has_separator">True</property>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox6">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">0</property>
-
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="dialog-action_area6">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-
-	  <child>
-	    <widget class="GtkButton" id="cancelbutton2">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-cancel</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-6</property>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="okbutton2">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-ok</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-5</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkVBox" id="vbox346">
-	  <property name="border_width">12</property>
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">12</property>
-
-	  <child>
-	    <widget class="GtkVBox" id="vbox347">
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">18</property>
-
-	      <child>
-		<widget class="GtkVBox" id="vbox348">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">0</property>
-
-		  <child>
-		    <widget class="GtkRadioButton" id="ImportRadioButton">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">Import new configurations</property>
-		      <property name="use_underline">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <property name="active">False</property>
-		      <property name="inconsistent">False</property>
-		      <property name="draw_indicator">True</property>
-		      <signal name="toggled" handler="mode_toggled_cb" last_modification_time="Thu, 17 Nov 2005 14:48:47 GMT"/>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox48">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">0</property>
-
-		      <child>
-			<widget class="GtkLabel" id="label138">
-			  <property name="width_request">18</property>
-			  <property name="visible">True</property>
-			  <property name="label">  </property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkVBox" id="ImportVBox">
-			  <property name="border_width">12</property>
-			  <property name="visible">True</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">12</property>
-
-			  <child>
-			    <widget class="GtkHBox" id="FileHBox">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">6</property>
-
-			      <child>
-				<widget class="GtkLabel" id="IELabelAlign1">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">File to Import:</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkEntry" id="ImportEntry">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">Select the file you want to import.</property>
-				  <property name="can_focus">True</property>
-				  <property name="editable">True</property>
-				  <property name="visibility">True</property>
-				  <property name="max_length">0</property>
-				  <property name="text" translatable="yes"></property>
-				  <property name="has_frame">True</property>
-				  <property name="invisible_char">*</property>
-				  <property name="activates_default">False</property>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkButton" id="ImportBrowseButton">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label">...</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <signal name="clicked" handler="import_browse_button_clicked_cb" last_modification_time="Thu, 17 Nov 2005 14:47:19 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkVBox" id="vbox349">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">0</property>
-
-		  <child>
-		    <widget class="GtkRadioButton" id="ExportRadioButton">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">Export existing configs</property>
-		      <property name="use_underline">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <property name="active">False</property>
-		      <property name="inconsistent">False</property>
-		      <property name="draw_indicator">True</property>
-		      <property name="group">ImportRadioButton</property>
-		      <signal name="toggled" handler="mode_toggled_cb" last_modification_time="Thu, 17 Nov 2005 14:48:31 GMT"/>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox49">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">0</property>
-
-		      <child>
-			<widget class="GtkLabel" id="label139">
-			  <property name="width_request">18</property>
-			  <property name="visible">True</property>
-			  <property name="label">  </property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkVBox" id="ExportVBox">
-			  <property name="border_width">12</property>
-			  <property name="visible">True</property>
-			  <property name="sensitive">False</property>
-			  <property name="homogeneous">False</property>
-			  <property name="spacing">12</property>
-
-			  <child>
-			    <widget class="GtkVBox" id="vbox351">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">6</property>
-
-			      <child>
-				<widget class="GtkLabel" id="label58">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">Select the configurations you want to export:</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkScrolledWindow" id="scrolledwindow5">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-				  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-				  <property name="shadow_type">GTK_SHADOW_IN</property>
-				  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-				  <child>
-				    <widget class="GtkTreeView" id="ExportTreeView">
-				      <property name="visible">True</property>
-				      <property name="tooltip" translatable="yes">Select the configurations you want to export. Use Shift or Ctrl key to select more than one.</property>
-				      <property name="can_focus">True</property>
-				      <property name="headers_visible">False</property>
-				      <property name="rules_hint">True</property>
-				      <property name="reorderable">False</property>
-				      <property name="enable_search">True</property>
-				      <property name="fixed_height_mode">False</property>
-				      <property name="hover_selection">False</property>
-				      <property name="hover_expand">False</property>
-				    </widget>
-				  </child>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">True</property>
-			      <property name="fill">True</property>
-			    </packing>
-			  </child>
-
-			  <child>
-			    <widget class="GtkHBox" id="hbox43">
-			      <property name="visible">True</property>
-			      <property name="homogeneous">False</property>
-			      <property name="spacing">6</property>
-
-			      <child>
-				<widget class="GtkLabel" id="IELabelAlign2">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">Save in Folder:</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">False</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkEntry" id="ExportEntry">
-				  <property name="visible">True</property>
-				  <property name="tooltip" translatable="yes">Select the folder you want your config to be saved in. This folder must exist.</property>
-				  <property name="can_focus">True</property>
-				  <property name="editable">True</property>
-				  <property name="visibility">True</property>
-				  <property name="max_length">0</property>
-				  <property name="text" translatable="yes"></property>
-				  <property name="has_frame">True</property>
-				  <property name="invisible_char">*</property>
-				  <property name="activates_default">False</property>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">True</property>
-				  <property name="fill">True</property>
-				</packing>
-			      </child>
-
-			      <child>
-				<widget class="GtkButton" id="ExportBrowseButton">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label">...</property>
-				  <property name="use_underline">True</property>
-				  <property name="relief">GTK_RELIEF_NORMAL</property>
-				  <property name="focus_on_click">True</property>
-				  <signal name="clicked" handler="export_browse_button_clicked_cb" last_modification_time="Thu, 17 Nov 2005 14:47:39 GMT"/>
-				</widget>
-				<packing>
-				  <property name="padding">0</property>
-				  <property name="expand">False</property>
-				  <property name="fill">False</property>
-				</packing>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="padding">0</property>
-			      <property name="expand">False</property>
-			      <property name="fill">False</property>
-			    </packing>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-<widget class="GtkDialog" id="EditActionDialogExt">
-  <property name="width_request">460</property>
-  <property name="height_request">410</property>
-  <property name="title" translatable="yes">Nautilus Action Editor</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_CENTER_ALWAYS</property>
-  <property name="modal">True</property>
-  <property name="default_width">400</property>
-  <property name="default_height">430</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
-  <property name="has_separator">True</property>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox4">
-      <property name="width_request">500</property>
-      <property name="height_request">430</property>
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">0</property>
-
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="dialog-action_area4">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-
-	  <child>
-	    <widget class="GtkButton" id="cancelbutton1">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-cancel</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-6</property>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="okbutton1">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-ok</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-5</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkNotebook" id="notebook2">
-	  <property name="border_width">6</property>
-	  <property name="visible">True</property>
-	  <property name="can_focus">True</property>
-	  <property name="show_tabs">True</property>
-	  <property name="show_border">True</property>
-	  <property name="tab_pos">GTK_POS_TOP</property>
-	  <property name="scrollable">False</property>
-	  <property name="enable_popup">False</property>
-
-	  <child>
-	    <widget class="GtkVBox" id="vbox399">
-	      <property name="border_width">10</property>
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">12</property>
-
-	      <child>
-		<widget class="GtkLabel" id="label159">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">&lt;b&gt;Nautilus Menu Item&lt;/b&gt;</property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">True</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkTable" id="table3">
-		  <property name="border_width">10</property>
-		  <property name="visible">True</property>
-		  <property name="n_rows">3</property>
-		  <property name="n_columns">2</property>
-		  <property name="homogeneous">False</property>
-		  <property name="row_spacing">6</property>
-		  <property name="column_spacing">12</property>
-
-		  <child>
-		    <widget class="GtkEntry" id="MenuTooltipEntry">
-		      <property name="visible">True</property>
-		      <property name="tooltip" translatable="yes">Tooltip of the menu item that will appear in the Nautilus statusbar.</property>
-		      <property name="can_focus">True</property>
-		      <property name="editable">True</property>
-		      <property name="visibility">True</property>
-		      <property name="max_length">0</property>
-		      <property name="text"></property>
-		      <property name="has_frame">True</property>
-		      <property name="invisible_char">*</property>
-		      <property name="activates_default">False</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">1</property>
-		      <property name="bottom_attach">2</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox63">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">6</property>
-
-		      <child>
-			<widget class="GtkImage" id="IconImage">
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkComboBoxEntry" id="MenuIconComboBoxEntry">
-			  <property name="visible">True</property>
-			  <property name="items"></property>
-			  <property name="add_tearoffs">False</property>
-			  <property name="has_frame">True</property>
-			  <property name="focus_on_click">True</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkButton" id="IconBrowseButton">
-			  <property name="visible">True</property>
-			  <property name="tooltip" translatable="yes">Click to choose a custom icon from a file instead of a predefined icon from the drop-down list.</property>
-			  <property name="can_focus">True</property>
-			  <property name="label" translatable="yes">_Browse</property>
-			  <property name="use_underline">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-			  <signal name="clicked" handler="action_icon_browse_button_clicked_cb" last_modification_time="Tue, 19 May 2009 21:40:37 GMT"/>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">2</property>
-		      <property name="bottom_attach">3</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options">fill</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="LabelAlign3">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Icon:</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">2</property>
-		      <property name="bottom_attach">3</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options">fill</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="LabelAlign2">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Tooltip:</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">1</property>
-		      <property name="bottom_attach">2</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options">fill</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkLabel" id="LabelAlign1">
-		      <property name="visible">True</property>
-		      <property name="label" translatable="yes">Label:</property>
-		      <property name="use_underline">False</property>
-		      <property name="use_markup">False</property>
-		      <property name="justify">GTK_JUSTIFY_LEFT</property>
-		      <property name="wrap">False</property>
-		      <property name="selectable">False</property>
-		      <property name="xalign">0</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		      <property name="width_chars">-1</property>
-		      <property name="single_line_mode">False</property>
-		      <property name="angle">0</property>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">0</property>
-		      <property name="right_attach">1</property>
-		      <property name="top_attach">0</property>
-		      <property name="bottom_attach">1</property>
-		      <property name="x_options">fill</property>
-		      <property name="y_options">fill</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkEntry" id="MenuLabelEntry">
-		      <property name="visible">True</property>
-		      <property name="tooltip" translatable="yes">Label of the menu item in the Nautilus popup menu.</property>
-		      <property name="can_focus">True</property>
-		      <property name="editable">True</property>
-		      <property name="visibility">True</property>
-		      <property name="max_length">0</property>
-		      <property name="text"></property>
-		      <property name="has_frame">True</property>
-		      <property name="invisible_char">*</property>
-		      <property name="activates_default">False</property>
-		      <signal name="changed" handler="action_field_changed_cb" last_modification_time="Tue, 19 May 2009 21:37:18 GMT"/>
-		    </widget>
-		    <packing>
-		      <property name="left_attach">1</property>
-		      <property name="right_attach">2</property>
-		      <property name="top_attach">0</property>
-		      <property name="bottom_attach">1</property>
-		      <property name="y_options"></property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="label40">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">&lt;b&gt;Action&lt;/b&gt;</property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">True</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkVBox" id="vbox396">
-		  <property name="border_width">10</property>
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">6</property>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox32">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">6</property>
-
-		      <child>
-			<widget class="GtkLabel" id="LabelAlign4">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">Path:</property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkEntry" id="CommandPathEntry">
-			  <property name="visible">True</property>
-			  <property name="tooltip" translatable="yes">The command that will be launched by selecting the action in Nautilus popup menu.</property>
-			  <property name="can_focus">True</property>
-			  <property name="editable">True</property>
-			  <property name="visibility">True</property>
-			  <property name="max_length">0</property>
-			  <property name="text"></property>
-			  <property name="has_frame">True</property>
-			  <property name="invisible_char">*</property>
-			  <property name="activates_default">False</property>
-			  <property name="width_chars">10</property>
-			  <signal name="changed" handler="action_field_changed_cb" last_modification_time="Tue, 19 May 2009 21:37:58 GMT"/>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkButton" id="PathBrowseButton">
-			  <property name="visible">True</property>
-			  <property name="tooltip" translatable="yes">Click to choose a command from the file chooser dialog.</property>
-			  <property name="can_focus">True</property>
-			  <property name="label" translatable="yes">_Browse</property>
-			  <property name="use_underline">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-			  <signal name="clicked" handler="action_path_browse_button_clicked_cb" last_modification_time="Tue, 19 May 2009 21:40:50 GMT"/>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox33">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">6</property>
-
-		      <child>
-			<widget class="GtkLabel" id="LabelAlign5">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">Parameters:</property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkEntry" id="CommandParamsEntry">
-			  <property name="visible">True</property>
-			  <property name="tooltip" translatable="yes">Parameters that will be sent to the program. Click on the 'Legend' button to see the different replacement tokens.</property>
-			  <property name="can_focus">True</property>
-			  <property name="editable">True</property>
-			  <property name="visibility">True</property>
-			  <property name="max_length">0</property>
-			  <property name="text"></property>
-			  <property name="has_frame">True</property>
-			  <property name="invisible_char">*</property>
-			  <property name="activates_default">False</property>
-			  <property name="width_chars">10</property>
-			  <signal name="changed" handler="action_field_changed_cb" last_modification_time="Wed, 20 May 2009 20:04:04 GMT"/>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkToggleButton" id="LegendButton">
-			  <property name="visible">True</property>
-			  <property name="tooltip" translatable="yes">Click to toggle the display of the list of special tokens you can use in the parameter field.</property>
-			  <property name="can_focus">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-			  <property name="active">False</property>
-			  <property name="inconsistent">False</property>
-			  <signal name="toggled" handler="action_legend_button_toggled_cb" last_modification_time="Wed, 20 May 2009 22:13:56 GMT"/>
-
-			  <child>
-			    <widget class="GtkAlignment" id="alignment16">
-			      <property name="visible">True</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">0</property>
-			      <property name="yscale">0</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">0</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkHBox" id="hbox62">
-				  <property name="visible">True</property>
-				  <property name="homogeneous">False</property>
-				  <property name="spacing">2</property>
-
-				  <child>
-				    <widget class="GtkImage" id="image25">
-				      <property name="visible">True</property>
-				      <property name="stock">gtk-help</property>
-				      <property name="icon_size">4</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-
-				  <child>
-				    <widget class="GtkLabel" id="label158">
-				      <property name="visible">True</property>
-				      <property name="label" translatable="yes">_Legend</property>
-				      <property name="use_underline">True</property>
-				      <property name="use_markup">False</property>
-				      <property name="justify">GTK_JUSTIFY_LEFT</property>
-				      <property name="wrap">False</property>
-				      <property name="selectable">False</property>
-				      <property name="xalign">0.5</property>
-				      <property name="yalign">0.5</property>
-				      <property name="xpad">0</property>
-				      <property name="ypad">0</property>
-				      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				      <property name="width_chars">-1</property>
-				      <property name="single_line_mode">False</property>
-				      <property name="angle">0</property>
-				    </widget>
-				    <packing>
-				      <property name="padding">0</property>
-				      <property name="expand">False</property>
-				      <property name="fill">False</property>
-				    </packing>
-				  </child>
-				</widget>
-			      </child>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox46">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">6</property>
-
-		      <child>
-			<widget class="GtkLabel" id="LabelAlign6">
-			  <property name="visible">True</property>
-			  <property name="label">  </property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkLabel" id="LabelExample">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">&lt;i&gt;&lt;b&gt;&lt;span size=&quot;small&quot;&gt;e.g., %s&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;</property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">True</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">True</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="tab_expand">False</property>
-	      <property name="tab_fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label134">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Action</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="type">tab</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkVBox" id="vbox394">
-	      <property name="border_width">10</property>
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">12</property>
-
-	      <child>
-		<widget class="GtkLabel" id="aaaLabelAlign7">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">&lt;b&gt;Appears if file matches&lt;/b&gt;</property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">True</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkVBox" id="vbox398">
-		  <property name="border_width">10</property>
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">6</property>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox52">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">6</property>
-
-		      <child>
-			<widget class="GtkLabel" id="CLabelAlign1">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">Filenames:</property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkEntry" id="PatternEntry">
-			  <property name="visible">True</property>
-			  <property name="tooltip" translatable="yes">A string with wildcards (? or *) that will be used to match the filenames. You can set several filename patterns by separating them with a semi-colon (;).</property>
-			  <property name="can_focus">True</property>
-			  <property name="editable">True</property>
-			  <property name="visibility">True</property>
-			  <property name="max_length">0</property>
-			  <property name="text">*</property>
-			  <property name="has_frame">True</property>
-			  <property name="invisible_char">*</property>
-			  <property name="activates_default">False</property>
-			  <signal name="changed" handler="action_field_changed_cb" last_modification_time="Tue, 19 May 2009 21:38:28 GMT"/>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox54">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">0</property>
-
-		      <child>
-			<widget class="GtkLabel" id="label146">
-			  <property name="visible">True</property>
-			  <property name="label">    </property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkCheckButton" id="MatchCaseButton">
-			  <property name="visible">True</property>
-			  <property name="tooltip" translatable="yes">If selected, the filename patterns will be matched case sensitive (eg, *.jpg will not match photo.JPG)</property>
-			  <property name="can_focus">True</property>
-			  <property name="label" translatable="yes">Match case</property>
-			  <property name="use_underline">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-			  <property name="active">False</property>
-			  <property name="inconsistent">False</property>
-			  <property name="draw_indicator">True</property>
-			  <signal name="toggled" handler="action_field_changed_cb" last_modification_time="Tue, 19 May 2009 21:38:42 GMT"/>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkHBox" id="hbox53">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">6</property>
-
-		      <child>
-			<widget class="GtkLabel" id="CLabelAlign2">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">Mimetypes:</property>
-			  <property name="use_underline">False</property>
-			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
-			  <property name="wrap">False</property>
-			  <property name="selectable">False</property>
-			  <property name="xalign">0</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			  <property name="width_chars">-1</property>
-			  <property name="single_line_mode">False</property>
-			  <property name="angle">0</property>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkEntry" id="MimeTypeEntry">
-			  <property name="visible">True</property>
-			  <property name="tooltip" translatable="yes">A string with wildcards (? or *) that will be used to match the mimetypes of files. You can set several mimetype patterns by separating them with a semi-colon (;).</property>
-			  <property name="can_focus">True</property>
-			  <property name="editable">True</property>
-			  <property name="visibility">True</property>
-			  <property name="max_length">0</property>
-			  <property name="text">*/*</property>
-			  <property name="has_frame">True</property>
-			  <property name="invisible_char">*</property>
-			  <property name="activates_default">False</property>
-			  <signal name="changed" handler="action_field_changed_cb" last_modification_time="Tue, 19 May 2009 21:38:52 GMT"/>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">True</property>
-			  <property name="fill">True</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="label45">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">&lt;b&gt;Appears if selection contains&lt;/b&gt;</property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">True</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkHBox" id="hbox21">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">True</property>
-		  <property name="spacing">0</property>
-
-		  <child>
-		    <widget class="GtkRadioButton" id="OnlyFilesButton">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">Only files</property>
-		      <property name="use_underline">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <property name="active">False</property>
-		      <property name="inconsistent">False</property>
-		      <property name="draw_indicator">True</property>
-		      <signal name="toggled" handler="action_field_changed_cb" last_modification_time="Tue, 19 May 2009 21:41:30 GMT"/>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkRadioButton" id="OnlyFoldersButton">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">Only folders</property>
-		      <property name="use_underline">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <property name="active">False</property>
-		      <property name="inconsistent">False</property>
-		      <property name="draw_indicator">True</property>
-		      <property name="group">OnlyFilesButton</property>
-		      <signal name="toggled" handler="action_field_changed_cb" last_modification_time="Tue, 19 May 2009 21:41:41 GMT"/>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkRadioButton" id="BothButton">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">Both</property>
-		      <property name="use_underline">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <property name="active">False</property>
-		      <property name="inconsistent">False</property>
-		      <property name="draw_indicator">True</property>
-		      <property name="group">OnlyFilesButton</property>
-		      <signal name="toggled" handler="action_field_changed_cb" last_modification_time="Tue, 19 May 2009 21:41:50 GMT"/>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkCheckButton" id="AcceptMultipleButton">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">Appears if selection has multiple files or folders</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">False</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
-		  <signal name="toggled" handler="action_field_changed_cb" last_modification_time="Tue, 19 May 2009 21:39:05 GMT"/>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="tab_expand">False</property>
-	      <property name="tab_fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label135">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Conditions</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="type">tab</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkVBox" id="vbox340">
-	      <property name="border_width">12</property>
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">6</property>
-
-	      <child>
-		<widget class="GtkLabel" id="label46">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">&lt;b&gt;Appears if scheme is in this list&lt;/b&gt;</property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">True</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkHBox" id="hbox38">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">6</property>
-
-		  <child>
-		    <widget class="GtkScrolledWindow" id="scrolledwindow4">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-		      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-		      <property name="shadow_type">GTK_SHADOW_IN</property>
-		      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-		      <child>
-			<widget class="GtkTreeView" id="SchemesTreeView">
-			  <property name="visible">True</property>
-			  <property name="tooltip" translatable="yes">Select the kind of files where you want your action to appear. If you don't know what to choose, try selecting just 'file' which is the most common choice. You can add a new scheme by clicking on the '+' button.</property>
-			  <property name="can_focus">True</property>
-			  <property name="headers_visible">False</property>
-			  <property name="rules_hint">True</property>
-			  <property name="reorderable">False</property>
-			  <property name="enable_search">True</property>
-			  <property name="fixed_height_mode">False</property>
-			  <property name="hover_selection">False</property>
-			  <property name="hover_expand">False</property>
-			</widget>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkVBox" id="vbox345">
-		      <property name="visible">True</property>
-		      <property name="homogeneous">False</property>
-		      <property name="spacing">6</property>
-
-		      <child>
-			<widget class="GtkButton" id="button7">
-			  <property name="visible">True</property>
-			  <property name="tooltip" translatable="yes">Click to add a new scheme.</property>
-			  <property name="can_focus">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-			  <signal name="clicked" handler="action_add_scheme_clicked" last_modification_time="Tue, 19 May 2009 21:39:22 GMT"/>
-
-			  <child>
-			    <widget class="GtkImage" id="image16">
-			      <property name="visible">True</property>
-			      <property name="stock">gtk-add</property>
-			      <property name="icon_size">4</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkButton" id="RemoveSchemeButton">
-			  <property name="visible">True</property>
-			  <property name="sensitive">False</property>
-			  <property name="tooltip" translatable="yes">Click to remove the selected scheme.</property>
-			  <property name="can_focus">True</property>
-			  <property name="relief">GTK_RELIEF_NORMAL</property>
-			  <property name="focus_on_click">True</property>
-			  <signal name="clicked" handler="action_remove_scheme_clicked" last_modification_time="Tue, 19 May 2009 21:39:33 GMT"/>
-
-			  <child>
-			    <widget class="GtkImage" id="image17">
-			      <property name="visible">True</property>
-			      <property name="stock">gtk-remove</property>
-			      <property name="icon_size">4</property>
-			      <property name="xalign">0.5</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="padding">0</property>
-			  <property name="expand">False</property>
-			  <property name="fill">False</property>
-			</packing>
-		      </child>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="tab_expand">False</property>
-	      <property name="tab_fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label142">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">Advanced Conditions</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">False</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="type">tab</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">6</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-<widget class="GtkFileChooserDialog" id="FolderChooserDialog">
-  <property name="border_width">5</property>
-  <property name="visible">True</property>
-  <property name="action">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</property>
-  <property name="local_only">True</property>
-  <property name="select_multiple">False</property>
-  <property name="show_hidden">False</property>
-  <property name="do_overwrite_confirmation">False</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
-  <property name="modal">True</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox7">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">24</property>
-
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="dialog-action_area7">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-
-	  <child>
-	    <widget class="GtkButton" id="button10">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-cancel</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-6</property>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="button11">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="has_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-open</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-5</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-<widget class="GtkDialog" id="ErrorDialog">
-  <property name="border_width">6</property>
-  <property name="visible">True</property>
-  <property name="title" translatable="yes"></property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">True</property>
-  <property name="resizable">False</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">True</property>
-  <property name="has_separator">False</property>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox8">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">12</property>
-
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="dialog-action_area8">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-
-	  <child>
-	    <widget class="GtkButton" id="okbutton3">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-ok</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-5</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkHBox" id="hbox55">
-	  <property name="border_width">6</property>
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">12</property>
-
-	  <child>
-	    <widget class="GtkImage" id="image22">
-	      <property name="visible">True</property>
-	      <property name="stock">gtk-dialog-error</property>
-	      <property name="icon_size">6</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="ErrorLabel">
-	      <property name="visible">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label" translatable="yes">&lt;span weight=&quot;bold&quot; size=&quot;larger&quot;&gt;place primary text here&lt;/span&gt;
+  <!-- interface-requires gtk+ 2.16 -->
+  <!-- interface-naming-policy toplevel-contextual -->
+  <widget class="GtkDialog" id="ActionsDialog">
+    <property name="title" translatable="yes">Nautilus Actions</property>
+    <property name="window_position">center</property>
+    <property name="default_width">300</property>
+    <property name="default_height">350</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox3">
+        <property name="visible">True</property>
+        <child>
+          <widget class="GtkHBox" id="hbox20">
+            <property name="visible">True</property>
+            <property name="border_width">6</property>
+            <property name="spacing">6</property>
+            <child>
+              <widget class="GtkScrolledWindow" id="scrolledwindow3">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="hscrollbar_policy">automatic</property>
+                <property name="vscrollbar_policy">automatic</property>
+                <property name="shadow_type">in</property>
+                <child>
+                  <widget class="GtkTreeView" id="ActionsList">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="events">GDK_BUTTON_PRESS_MASK</property>
+                    <property name="headers_visible">False</property>
+                    <property name="rules_hint">True</property>
+                  </widget>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkVButtonBox" id="vbuttonbox1">
+                <property name="visible">True</property>
+                <property name="spacing">3</property>
+                <property name="layout_style">start</property>
+                <child>
+                  <widget class="GtkButton" id="AddActionButton">
+                    <property name="label">gtk-add</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="can_default">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_stock">True</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkButton" id="EditActionButton">
+                    <property name="label">gtk-edit</property>
+                    <property name="visible">True</property>
+                    <property name="sensitive">False</property>
+                    <property name="can_focus">True</property>
+                    <property name="can_default">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_stock">True</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkButton" id="DuplicateActionButton">
+                    <property name="visible">True</property>
+                    <property name="sensitive">False</property>
+                    <property name="can_focus">True</property>
+                    <property name="can_default">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="tooltip" translatable="yes">Create a copy of the selected action.</property>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment14">
+                        <property name="visible">True</property>
+                        <property name="xscale">0</property>
+                        <property name="yscale">0</property>
+                        <child>
+                          <widget class="GtkHBox" id="hbox51">
+                            <property name="visible">True</property>
+                            <property name="spacing">2</property>
+                            <child>
+                              <widget class="GtkImage" id="image21">
+                                <property name="visible">True</property>
+                                <property name="stock">gtk-copy</property>
+                                <property name="icon-size">4</property>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label141">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Duplicate</property>
+                                <property name="use_underline">True</property>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkButton" id="DeleteActionButton">
+                    <property name="label">gtk-delete</property>
+                    <property name="visible">True</property>
+                    <property name="sensitive">False</property>
+                    <property name="can_focus">True</property>
+                    <property name="can_default">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="tooltip" translatable="yes">Delete the action without any confirmation nor the possibility to restore it.</property>
+                    <property name="use_stock">True</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkButton" id="ImExportButton">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="can_default">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="tooltip" translatable="yes">Manage importation of external action configurations and exportation of existing actions.</property>
+                    <child>
+                      <widget class="GtkAlignment" id="alignment13">
+                        <property name="visible">True</property>
+                        <property name="xscale">0</property>
+                        <property name="yscale">0</property>
+                        <child>
+                          <widget class="GtkHBox" id="hbox50">
+                            <property name="visible">True</property>
+                            <property name="spacing">2</property>
+                            <child>
+                              <widget class="GtkImage" id="image20">
+                                <property name="visible">True</property>
+                                <property name="stock">gtk-convert</property>
+                                <property name="icon-size">4</property>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label140">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Import/Export</property>
+                                <property name="use_underline">True</property>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                      </widget>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">4</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="pack_type">end</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="padding">6</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area3">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <widget class="GtkButton" id="AboutButton">
+                <property name="label">gtk-about</property>
+                <property name="response_id">-11</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkButton" id="closebutton2">
+                <property name="label">gtk-close</property>
+                <property name="response_id">-7</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+  <widget class="GtkDialog" id="EditProfileDialog">
+    <property name="width_request">460</property>
+    <property name="height_request">410</property>
+    <property name="title" translatable="yes">Nautilus Action Profile Editor</property>
+    <property name="modal">True</property>
+    <property name="window_position">center-always</property>
+    <property name="default_width">400</property>
+    <property name="default_height">430</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox4">
+        <property name="width_request">500</property>
+        <property name="height_request">430</property>
+        <property name="visible">True</property>
+        <child>
+          <widget class="GtkNotebook" id="notebook2">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="border_width">6</property>
+            <child>
+              <widget class="GtkVBox" id="vbox399">
+                <property name="visible">True</property>
+                <property name="border_width">10</property>
+                <property name="spacing">12</property>
+                <child>
+                  <widget class="GtkLabel" id="label40">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;b&gt;Action&lt;/b&gt;</property>
+                    <property name="use_markup">True</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkVBox" id="vbox396">
+                    <property name="visible">True</property>
+                    <property name="border_width">10</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <widget class="GtkHBox" id="hbox32">
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <widget class="GtkLabel" id="ALabelAlign4">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">Path:</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkEntry" id="CommandPathEntry">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="tooltip" translatable="yes">The command that will be launched by selecting the action in Nautilus popup menu.</property>
+                            <property name="width_chars">10</property>
+                            <signal name="changed" handler="profile_field_changed_cb"/>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkButton" id="PathBrowseButton">
+                            <property name="label" translatable="yes">_Browse</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="tooltip" translatable="yes">Click to choose a command from the file chooser dialog.</property>
+                            <property name="use_underline">True</property>
+                            <signal name="clicked" handler="path_browse_button_clicked_cb"/>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">2</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox33">
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <widget class="GtkLabel" id="ALabelAlign5">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">Parameters:</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkEntry" id="CommandParamsEntry">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="tooltip" translatable="yes">Parameters that will be sent to the program. Click on the 'Legend' button to see the different replacement tokens.</property>
+                            <property name="width_chars">10</property>
+                            <signal name="changed" handler="profile_field_changed_cb"/>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkToggleButton" id="LegendButton">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="tooltip" translatable="yes">Click to toggle the display of the list of special tokens you can use in the parameter field.</property>
+                            <signal name="toggled" handler="legend_button_toggled_cb"/>
+                            <child>
+                              <widget class="GtkAlignment" id="alignment16">
+                                <property name="visible">True</property>
+                                <property name="xscale">0</property>
+                                <property name="yscale">0</property>
+                                <child>
+                                  <widget class="GtkHBox" id="hbox62">
+                                    <property name="visible">True</property>
+                                    <property name="spacing">2</property>
+                                    <child>
+                                      <widget class="GtkImage" id="image25">
+                                        <property name="visible">True</property>
+                                        <property name="stock">gtk-help</property>
+                                        <property name="icon-size">4</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkLabel" id="label158">
+                                        <property name="visible">True</property>
+                                        <property name="label" translatable="yes">_Legend</property>
+                                        <property name="use_underline">True</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </widget>
+                                </child>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">2</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox46">
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <widget class="GtkLabel" id="LabelAlign6">
+                            <property name="visible">True</property>
+                            <property name="label">  </property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkLabel" id="LabelExample">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">&lt;i&gt;&lt;b&gt;&lt;span size="small"&gt;e.g., %s&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;</property>
+                            <property name="use_markup">True</property>
+                            <property name="wrap">True</property>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label134">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">Action</property>
+              </widget>
+              <packing>
+                <property name="tab_fill">False</property>
+                <property name="type">tab</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkVBox" id="vbox394">
+                <property name="visible">True</property>
+                <property name="border_width">10</property>
+                <property name="spacing">12</property>
+                <child>
+                  <widget class="GtkLabel" id="aaaLabelAlign7">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;b&gt;Appears if file matches&lt;/b&gt;</property>
+                    <property name="use_markup">True</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkVBox" id="vbox398">
+                    <property name="visible">True</property>
+                    <property name="border_width">10</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <widget class="GtkHBox" id="hbox52">
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <widget class="GtkLabel" id="CLabelAlign1">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">Filenames:</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkEntry" id="PatternEntry">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="tooltip" translatable="yes">A string with wildcards (? or *) that will be used to match the filenames. You can set several filename patterns by separating them with a semi-colon (;).</property>
+                            <property name="text">*</property>
+                            <signal name="changed" handler="profile_field_changed_cb"/>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox54">
+                        <property name="visible">True</property>
+                        <child>
+                          <widget class="GtkLabel" id="label146">
+                            <property name="visible">True</property>
+                            <property name="label">    </property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkCheckButton" id="MatchCaseButton">
+                            <property name="label" translatable="yes">Match case</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="tooltip" translatable="yes">If selected, the filename patterns will be matched case sensitive (eg, *.jpg will not match photo.JPG)</property>
+                            <property name="use_underline">True</property>
+                            <property name="draw_indicator">True</property>
+                            <signal name="toggled" handler="profile_field_changed_cb"/>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox53">
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <widget class="GtkLabel" id="CLabelAlign2">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">Mimetypes:</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkEntry" id="MimeTypeEntry">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="tooltip" translatable="yes">A string with wildcards (? or *) that will be used to match the mimetypes of files. You can set several mimetype patterns by separating them with a semi-colon (;).</property>
+                            <property name="text">*/*</property>
+                            <signal name="changed" handler="profile_field_changed_cb"/>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="label45">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;b&gt;Appears if selection contains&lt;/b&gt;</property>
+                    <property name="use_markup">True</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkHBox" id="hbox21">
+                    <property name="visible">True</property>
+                    <property name="homogeneous">True</property>
+                    <child>
+                      <widget class="GtkRadioButton" id="OnlyFilesButton">
+                        <property name="label" translatable="yes">Only files</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_underline">True</property>
+                        <property name="draw_indicator">True</property>
+                        <signal name="toggled" handler="profile_field_changed_cb"/>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkRadioButton" id="OnlyFoldersButton">
+                        <property name="label" translatable="yes">Only folders</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_underline">True</property>
+                        <property name="draw_indicator">True</property>
+                        <property name="group">OnlyFilesButton</property>
+                        <signal name="toggled" handler="profile_field_changed_cb"/>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkRadioButton" id="BothButton">
+                        <property name="label" translatable="yes">Both</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_underline">True</property>
+                        <property name="draw_indicator">True</property>
+                        <property name="group">OnlyFilesButton</property>
+                        <signal name="toggled" handler="profile_field_changed_cb"/>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkCheckButton" id="AcceptMultipleButton">
+                    <property name="label" translatable="yes">Appears if selection has multiple files or folders</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                    <signal name="toggled" handler="profile_field_changed_cb"/>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">4</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label135">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">Conditions</property>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+                <property name="tab_fill">False</property>
+                <property name="type">tab</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkVBox" id="vbox340">
+                <property name="visible">True</property>
+                <property name="border_width">12</property>
+                <property name="spacing">6</property>
+                <child>
+                  <widget class="GtkLabel" id="label46">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;b&gt;Appears if scheme is in this list&lt;/b&gt;</property>
+                    <property name="use_markup">True</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkHBox" id="hbox38">
+                    <property name="visible">True</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <widget class="GtkScrolledWindow" id="scrolledwindow4">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="hscrollbar_policy">automatic</property>
+                        <property name="vscrollbar_policy">automatic</property>
+                        <property name="shadow_type">in</property>
+                        <child>
+                          <widget class="GtkTreeView" id="SchemesTreeView">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="tooltip" translatable="yes">Select the kind of files where you want your action to appear. If you don't know what to choose, try selecting just 'file' which is the most common choice. You can add a new scheme by clicking on the '+' button.</property>
+                            <property name="headers_visible">False</property>
+                            <property name="rules_hint">True</property>
+                          </widget>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkVBox" id="vbox345">
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <widget class="GtkButton" id="button7">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="tooltip" translatable="yes">Click to add a new scheme.</property>
+                            <signal name="clicked" handler="add_scheme_clicked"/>
+                            <child>
+                              <widget class="GtkImage" id="image16">
+                                <property name="visible">True</property>
+                                <property name="stock">gtk-add</property>
+                                <property name="icon-size">4</property>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkButton" id="RemoveSchemeButton">
+                            <property name="visible">True</property>
+                            <property name="sensitive">False</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="tooltip" translatable="yes">Click to remove the selected scheme.</property>
+                            <signal name="clicked" handler="remove_scheme_clicked"/>
+                            <child>
+                              <widget class="GtkImage" id="image17">
+                                <property name="visible">True</property>
+                                <property name="stock">gtk-remove</property>
+                                <property name="icon-size">4</property>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">2</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label142">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">Advanced Conditions</property>
+              </widget>
+              <packing>
+                <property name="position">2</property>
+                <property name="tab_fill">False</property>
+                <property name="type">tab</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="padding">6</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area4">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <widget class="GtkButton" id="cancelbutton1">
+                <property name="label">gtk-cancel</property>
+                <property name="response_id">-6</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkButton" id="okbutton1">
+                <property name="label">gtk-ok</property>
+                <property name="response_id">-5</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+  <widget class="GtkFileChooserDialog" id="FileChooserDialog">
+    <property name="visible">True</property>
+    <property name="border_width">5</property>
+    <property name="modal">True</property>
+    <property name="window_position">center-on-parent</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox5">
+        <property name="visible">True</property>
+        <property name="spacing">24</property>
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area5">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <widget class="GtkButton" id="button4">
+                <property name="label">gtk-cancel</property>
+                <property name="response_id">-6</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkButton" id="button5">
+                <property name="label">gtk-open</property>
+                <property name="response_id">-5</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+  <widget class="GtkDialog" id="ImportExportDialog">
+    <property name="title" translatable="yes">Import/Export Settings</property>
+    <property name="modal">True</property>
+    <property name="window_position">center-on-parent</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox6">
+        <property name="visible">True</property>
+        <child>
+          <widget class="GtkVBox" id="vbox346">
+            <property name="visible">True</property>
+            <property name="border_width">12</property>
+            <property name="spacing">12</property>
+            <child>
+              <widget class="GtkVBox" id="vbox347">
+                <property name="visible">True</property>
+                <property name="spacing">18</property>
+                <child>
+                  <widget class="GtkVBox" id="vbox348">
+                    <property name="visible">True</property>
+                    <child>
+                      <widget class="GtkRadioButton" id="ImportRadioButton">
+                        <property name="label" translatable="yes">Import new configurations</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_underline">True</property>
+                        <property name="draw_indicator">True</property>
+                        <signal name="toggled" handler="mode_toggled_cb"/>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox48">
+                        <property name="visible">True</property>
+                        <child>
+                          <widget class="GtkLabel" id="label138">
+                            <property name="width_request">18</property>
+                            <property name="visible">True</property>
+                            <property name="label">  </property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkVBox" id="ImportVBox">
+                            <property name="visible">True</property>
+                            <property name="border_width">12</property>
+                            <property name="spacing">12</property>
+                            <child>
+                              <widget class="GtkHBox" id="FileHBox">
+                                <property name="visible">True</property>
+                                <property name="spacing">6</property>
+                                <child>
+                                  <widget class="GtkLabel" id="IELabelAlign1">
+                                    <property name="visible">True</property>
+                                    <property name="label" translatable="yes">File to Import:</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkEntry" id="ImportEntry">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="tooltip" translatable="yes">Select the file you want to import.</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkButton" id="ImportBrowseButton">
+                                    <property name="label">...</property>
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="use_underline">True</property>
+                                    <signal name="clicked" handler="import_browse_button_clicked_cb"/>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">2</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkVBox" id="vbox349">
+                    <property name="visible">True</property>
+                    <child>
+                      <widget class="GtkRadioButton" id="ExportRadioButton">
+                        <property name="label" translatable="yes">Export existing configs</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_underline">True</property>
+                        <property name="draw_indicator">True</property>
+                        <property name="group">ImportRadioButton</property>
+                        <signal name="toggled" handler="mode_toggled_cb"/>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox49">
+                        <property name="visible">True</property>
+                        <child>
+                          <widget class="GtkLabel" id="label139">
+                            <property name="width_request">18</property>
+                            <property name="visible">True</property>
+                            <property name="label">  </property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkVBox" id="ExportVBox">
+                            <property name="visible">True</property>
+                            <property name="sensitive">False</property>
+                            <property name="border_width">12</property>
+                            <property name="spacing">12</property>
+                            <child>
+                              <widget class="GtkVBox" id="vbox351">
+                                <property name="visible">True</property>
+                                <property name="spacing">6</property>
+                                <child>
+                                  <widget class="GtkLabel" id="label58">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">Select the configurations you want to export:</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkScrolledWindow" id="scrolledwindow5">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="hscrollbar_policy">automatic</property>
+                                    <property name="vscrollbar_policy">automatic</property>
+                                    <property name="shadow_type">in</property>
+                                    <child>
+                                      <widget class="GtkTreeView" id="ExportTreeView">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="tooltip" translatable="yes">Select the configurations you want to export. Use Shift or Ctrl key to select more than one.</property>
+                                        <property name="headers_visible">False</property>
+                                        <property name="rules_hint">True</property>
+                                      </widget>
+                                    </child>
+                                  </widget>
+                                  <packing>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkHBox" id="hbox43">
+                                <property name="visible">True</property>
+                                <property name="spacing">6</property>
+                                <child>
+                                  <widget class="GtkLabel" id="IELabelAlign2">
+                                    <property name="visible">True</property>
+                                    <property name="label" translatable="yes">Save in Folder:</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkEntry" id="ExportEntry">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="tooltip" translatable="yes">Select the folder you want your config to be saved in. This folder must exist.</property>
+                                  </widget>
+                                  <packing>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <widget class="GtkButton" id="ExportBrowseButton">
+                                    <property name="label">...</property>
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="use_underline">True</property>
+                                    <signal name="clicked" handler="export_browse_button_clicked_cb"/>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">2</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">0</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area6">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <widget class="GtkButton" id="cancelbutton2">
+                <property name="label">gtk-cancel</property>
+                <property name="response_id">-6</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkButton" id="okbutton2">
+                <property name="label">gtk-ok</property>
+                <property name="response_id">-5</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+  <widget class="GtkDialog" id="EditActionDialogExt">
+    <property name="width_request">460</property>
+    <property name="height_request">410</property>
+    <property name="title" translatable="yes">Nautilus Action Editor</property>
+    <property name="modal">True</property>
+    <property name="window_position">center-always</property>
+    <property name="default_width">400</property>
+    <property name="default_height">430</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox4">
+        <property name="width_request">500</property>
+        <property name="height_request">430</property>
+        <property name="visible">True</property>
+        <child>
+          <widget class="GtkNotebook" id="notebook2">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="border_width">6</property>
+            <child>
+              <widget class="GtkVBox" id="vbox399">
+                <property name="visible">True</property>
+                <property name="border_width">10</property>
+                <property name="spacing">12</property>
+                <child>
+                  <widget class="GtkLabel" id="label159">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;b&gt;Nautilus Menu Item&lt;/b&gt;</property>
+                    <property name="use_markup">True</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkTable" id="table3">
+                    <property name="visible">True</property>
+                    <property name="border_width">10</property>
+                    <property name="n_rows">3</property>
+                    <property name="n_columns">2</property>
+                    <property name="column_spacing">12</property>
+                    <property name="row_spacing">6</property>
+                    <child>
+                      <widget class="GtkEntry" id="MenuTooltipEntry">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="tooltip" translatable="yes">Tooltip of the menu item that will appear in the Nautilus statusbar.</property>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox63">
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <widget class="GtkImage" id="IconImage"/>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkComboBoxEntry" id="MenuIconComboBoxEntry">
+                            <property name="visible">True</property>
+                            <property name="items"></property>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkButton" id="IconBrowseButton">
+                            <property name="label" translatable="yes">_Browse</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="tooltip" translatable="yes">Click to choose a custom icon from a file instead of a predefined icon from the drop-down list.</property>
+                            <property name="use_underline">True</property>
+                            <signal name="clicked" handler="action_icon_browse_button_clicked_cb"/>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">2</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="top_attach">2</property>
+                        <property name="bottom_attach">3</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="LabelAlign3">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Icon:</property>
+                      </widget>
+                      <packing>
+                        <property name="top_attach">2</property>
+                        <property name="bottom_attach">3</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="LabelAlign2">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Tooltip:</property>
+                      </widget>
+                      <packing>
+                        <property name="top_attach">1</property>
+                        <property name="bottom_attach">2</property>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkLabel" id="LabelAlign1">
+                        <property name="visible">True</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Label:</property>
+                      </widget>
+                      <packing>
+                        <property name="x_options">GTK_FILL</property>
+                        <property name="y_options">GTK_FILL</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkEntry" id="MenuLabelEntry">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="tooltip" translatable="yes">Label of the menu item in the Nautilus popup menu.</property>
+                        <signal name="changed" handler="action_field_changed_cb"/>
+                      </widget>
+                      <packing>
+                        <property name="left_attach">1</property>
+                        <property name="right_attach">2</property>
+                        <property name="y_options"></property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="label40">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;b&gt;Action&lt;/b&gt;</property>
+                    <property name="use_markup">True</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkVBox" id="vbox396">
+                    <property name="visible">True</property>
+                    <property name="border_width">10</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <widget class="GtkHBox" id="hbox32">
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <widget class="GtkLabel" id="LabelAlign4">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">Path:</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkEntry" id="CommandPathEntry">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="tooltip" translatable="yes">The command that will be launched by selecting the action in Nautilus popup menu.</property>
+                            <property name="width_chars">10</property>
+                            <signal name="changed" handler="action_field_changed_cb"/>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkButton" id="PathBrowseButton">
+                            <property name="label" translatable="yes">_Browse</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="tooltip" translatable="yes">Click to choose a command from the file chooser dialog.</property>
+                            <property name="use_underline">True</property>
+                            <signal name="clicked" handler="action_path_browse_button_clicked_cb"/>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">2</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox33">
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <widget class="GtkLabel" id="LabelAlign5">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">Parameters:</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkEntry" id="CommandParamsEntry">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="tooltip" translatable="yes">Parameters that will be sent to the program. Click on the 'Legend' button to see the different replacement tokens.</property>
+                            <property name="width_chars">10</property>
+                            <signal name="changed" handler="action_field_changed_cb"/>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkToggleButton" id="LegendButton">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="tooltip" translatable="yes">Click to toggle the display of the list of special tokens you can use in the parameter field.</property>
+                            <signal name="toggled" handler="action_legend_button_toggled_cb"/>
+                            <child>
+                              <widget class="GtkAlignment" id="alignment16">
+                                <property name="visible">True</property>
+                                <property name="xscale">0</property>
+                                <property name="yscale">0</property>
+                                <child>
+                                  <widget class="GtkHBox" id="hbox62">
+                                    <property name="visible">True</property>
+                                    <property name="spacing">2</property>
+                                    <child>
+                                      <widget class="GtkImage" id="image25">
+                                        <property name="visible">True</property>
+                                        <property name="stock">gtk-help</property>
+                                        <property name="icon-size">4</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkLabel" id="label158">
+                                        <property name="visible">True</property>
+                                        <property name="label" translatable="yes">_Legend</property>
+                                        <property name="use_underline">True</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </widget>
+                                </child>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">2</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox46">
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <widget class="GtkLabel" id="LabelAlign6">
+                            <property name="visible">True</property>
+                            <property name="label">  </property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkLabel" id="LabelExample">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">&lt;i&gt;&lt;b&gt;&lt;span size="small"&gt;e.g., %s&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;</property>
+                            <property name="use_markup">True</property>
+                            <property name="wrap">True</property>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">3</property>
+                  </packing>
+                </child>
+              </widget>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label134">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">Action</property>
+              </widget>
+              <packing>
+                <property name="tab_fill">False</property>
+                <property name="type">tab</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkVBox" id="vbox394">
+                <property name="visible">True</property>
+                <property name="border_width">10</property>
+                <property name="spacing">12</property>
+                <child>
+                  <widget class="GtkLabel" id="aaaLabelAlign7">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;b&gt;Appears if file matches&lt;/b&gt;</property>
+                    <property name="use_markup">True</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkVBox" id="vbox398">
+                    <property name="visible">True</property>
+                    <property name="border_width">10</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <widget class="GtkHBox" id="hbox52">
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <widget class="GtkLabel" id="CLabelAlign1">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">Filenames:</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkEntry" id="PatternEntry">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="tooltip" translatable="yes">A string with wildcards (? or *) that will be used to match the filenames. You can set several filename patterns by separating them with a semi-colon (;).</property>
+                            <property name="text">*</property>
+                            <signal name="changed" handler="action_field_changed_cb"/>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox54">
+                        <property name="visible">True</property>
+                        <child>
+                          <widget class="GtkLabel" id="label146">
+                            <property name="visible">True</property>
+                            <property name="label">    </property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkCheckButton" id="MatchCaseButton">
+                            <property name="label" translatable="yes">Match case</property>
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="tooltip" translatable="yes">If selected, the filename patterns will be matched case sensitive (eg, *.jpg will not match photo.JPG)</property>
+                            <property name="use_underline">True</property>
+                            <property name="draw_indicator">True</property>
+                            <signal name="toggled" handler="action_field_changed_cb"/>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkHBox" id="hbox53">
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <widget class="GtkLabel" id="CLabelAlign2">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">Mimetypes:</property>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkEntry" id="MimeTypeEntry">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="tooltip" translatable="yes">A string with wildcards (? or *) that will be used to match the mimetypes of files. You can set several mimetype patterns by separating them with a semi-colon (;).</property>
+                            <property name="text">*/*</property>
+                            <signal name="changed" handler="action_field_changed_cb"/>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="label45">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;b&gt;Appears if selection contains&lt;/b&gt;</property>
+                    <property name="use_markup">True</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkHBox" id="hbox21">
+                    <property name="visible">True</property>
+                    <property name="homogeneous">True</property>
+                    <child>
+                      <widget class="GtkRadioButton" id="OnlyFilesButton">
+                        <property name="label" translatable="yes">Only files</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_underline">True</property>
+                        <property name="draw_indicator">True</property>
+                        <signal name="toggled" handler="action_field_changed_cb"/>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkRadioButton" id="OnlyFoldersButton">
+                        <property name="label" translatable="yes">Only folders</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_underline">True</property>
+                        <property name="draw_indicator">True</property>
+                        <property name="group">OnlyFilesButton</property>
+                        <signal name="toggled" handler="action_field_changed_cb"/>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkRadioButton" id="BothButton">
+                        <property name="label" translatable="yes">Both</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_underline">True</property>
+                        <property name="draw_indicator">True</property>
+                        <property name="group">OnlyFilesButton</property>
+                        <signal name="toggled" handler="action_field_changed_cb"/>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkCheckButton" id="AcceptMultipleButton">
+                    <property name="label" translatable="yes">Appears if selection has multiple files or folders</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                    <signal name="toggled" handler="action_field_changed_cb"/>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">4</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label135">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">Conditions</property>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+                <property name="tab_fill">False</property>
+                <property name="type">tab</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkVBox" id="vbox340">
+                <property name="visible">True</property>
+                <property name="border_width">12</property>
+                <property name="spacing">6</property>
+                <child>
+                  <widget class="GtkLabel" id="label46">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;b&gt;Appears if scheme is in this list&lt;/b&gt;</property>
+                    <property name="use_markup">True</property>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkHBox" id="hbox38">
+                    <property name="visible">True</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <widget class="GtkScrolledWindow" id="scrolledwindow4">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="hscrollbar_policy">automatic</property>
+                        <property name="vscrollbar_policy">automatic</property>
+                        <property name="shadow_type">in</property>
+                        <child>
+                          <widget class="GtkTreeView" id="SchemesTreeView">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="tooltip" translatable="yes">Select the kind of files where you want your action to appear. If you don't know what to choose, try selecting just 'file' which is the most common choice. You can add a new scheme by clicking on the '+' button.</property>
+                            <property name="headers_visible">False</property>
+                            <property name="rules_hint">True</property>
+                          </widget>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkVBox" id="vbox345">
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <widget class="GtkButton" id="button7">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="tooltip" translatable="yes">Click to add a new scheme.</property>
+                            <signal name="clicked" handler="action_add_scheme_clicked"/>
+                            <child>
+                              <widget class="GtkImage" id="image16">
+                                <property name="visible">True</property>
+                                <property name="stock">gtk-add</property>
+                                <property name="icon-size">4</property>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkButton" id="RemoveSchemeButton">
+                            <property name="visible">True</property>
+                            <property name="sensitive">False</property>
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">False</property>
+                            <property name="tooltip" translatable="yes">Click to remove the selected scheme.</property>
+                            <signal name="clicked" handler="action_remove_scheme_clicked"/>
+                            <child>
+                              <widget class="GtkImage" id="image17">
+                                <property name="visible">True</property>
+                                <property name="stock">gtk-remove</property>
+                                <property name="icon-size">4</property>
+                              </widget>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">2</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label142">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">Advanced Conditions</property>
+              </widget>
+              <packing>
+                <property name="position">2</property>
+                <property name="tab_fill">False</property>
+                <property name="type">tab</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="padding">6</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area4">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <widget class="GtkButton" id="cancelbutton1">
+                <property name="label">gtk-cancel</property>
+                <property name="response_id">-6</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkButton" id="okbutton1">
+                <property name="label">gtk-ok</property>
+                <property name="response_id">-5</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+  <widget class="GtkFileChooserDialog" id="FolderChooserDialog">
+    <property name="visible">True</property>
+    <property name="border_width">5</property>
+    <property name="modal">True</property>
+    <property name="window_position">center-on-parent</property>
+    <property name="type_hint">dialog</property>
+    <property name="action">select-folder</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox7">
+        <property name="visible">True</property>
+        <property name="spacing">24</property>
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area7">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <widget class="GtkButton" id="button10">
+                <property name="label">gtk-cancel</property>
+                <property name="response_id">-6</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkButton" id="button11">
+                <property name="label">gtk-open</property>
+                <property name="response_id">-5</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+  <widget class="GtkDialog" id="ErrorDialog">
+    <property name="visible">True</property>
+    <property name="border_width">6</property>
+    <property name="resizable">False</property>
+    <property name="modal">True</property>
+    <property name="type_hint">dialog</property>
+    <property name="urgency_hint">True</property>
+    <property name="has_separator">False</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox8">
+        <property name="visible">True</property>
+        <property name="spacing">12</property>
+        <child>
+          <widget class="GtkHBox" id="hbox55">
+            <property name="visible">True</property>
+            <property name="border_width">6</property>
+            <property name="spacing">12</property>
+            <child>
+              <widget class="GtkImage" id="image22">
+                <property name="visible">True</property>
+                <property name="yalign">0</property>
+                <property name="stock">gtk-dialog-error</property>
+                <property name="icon-size">6</property>
+              </widget>
+              <packing>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="ErrorLabel">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="yalign">0</property>
+                <property name="label" translatable="yes">&lt;span weight="bold" size="larger"&gt;place primary text here&lt;/span&gt;
 
 place secondary text here</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">True</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">True</property>
-	      <property name="selectable">True</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-<widget class="GtkDialog" id="EditActionDialog">
-  <property name="title" translatable="yes">Nautilus Action Editor</property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_NONE</property>
-  <property name="modal">False</property>
-  <property name="resizable">True</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
-  <property name="has_separator">True</property>
-
-  <child internal-child="vbox">
-    <widget class="GtkVBox" id="dialog-vbox9">
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">0</property>
-
-      <child internal-child="action_area">
-	<widget class="GtkHButtonBox" id="dialog-action_area9">
-	  <property name="visible">True</property>
-	  <property name="layout_style">GTK_BUTTONBOX_END</property>
-
-	  <child>
-	    <widget class="GtkButton" id="cancelbutton3">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-cancel</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-6</property>
-	    </widget>
-	  </child>
-
-	  <child>
-	    <widget class="GtkButton" id="okbutton4">
-	      <property name="visible">True</property>
-	      <property name="can_default">True</property>
-	      <property name="can_focus">True</property>
-	      <property name="label">gtk-ok</property>
-	      <property name="use_stock">True</property>
-	      <property name="relief">GTK_RELIEF_NORMAL</property>
-	      <property name="focus_on_click">True</property>
-	      <property name="response_id">-5</property>
-	    </widget>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">True</property>
-	  <property name="pack_type">GTK_PACK_END</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkVBox" id="vbox393">
-	  <property name="border_width">10</property>
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">12</property>
-
-	  <child>
-	    <widget class="GtkLabel" id="label37">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">&lt;b&gt;Nautilus Menu Item&lt;/b&gt;</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">True</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkTable" id="table2">
-	      <property name="border_width">10</property>
-	      <property name="visible">True</property>
-	      <property name="n_rows">3</property>
-	      <property name="n_columns">2</property>
-	      <property name="homogeneous">False</property>
-	      <property name="row_spacing">6</property>
-	      <property name="column_spacing">12</property>
-
-	      <child>
-		<widget class="GtkEntry" id="MenuLabelEntry">
-		  <property name="visible">True</property>
-		  <property name="tooltip" translatable="yes">Label of the menu item in the Nautilus popup menu.</property>
-		  <property name="can_focus">True</property>
-		  <property name="editable">True</property>
-		  <property name="visibility">True</property>
-		  <property name="max_length">0</property>
-		  <property name="text"></property>
-		  <property name="has_frame">True</property>
-		  <property name="invisible_char">*</property>
-		  <property name="activates_default">False</property>
-		  <signal name="changed" handler="field_changed_cb" last_modification_time="Fri, 21 Oct 2005 07:37:35 GMT"/>
-		</widget>
-		<packing>
-		  <property name="left_attach">1</property>
-		  <property name="right_attach">2</property>
-		  <property name="top_attach">0</property>
-		  <property name="bottom_attach">1</property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkEntry" id="MenuTooltipEntry">
-		  <property name="visible">True</property>
-		  <property name="tooltip" translatable="yes">Tooltip of the menu item that will appear in the Nautilus statusbar.</property>
-		  <property name="can_focus">True</property>
-		  <property name="editable">True</property>
-		  <property name="visibility">True</property>
-		  <property name="max_length">0</property>
-		  <property name="text"></property>
-		  <property name="has_frame">True</property>
-		  <property name="invisible_char">*</property>
-		  <property name="activates_default">False</property>
-		  <signal name="changed" handler="field_changed_cb" last_modification_time="Fri, 21 Oct 2005 07:38:02 GMT"/>
-		</widget>
-		<packing>
-		  <property name="left_attach">1</property>
-		  <property name="right_attach">2</property>
-		  <property name="top_attach">1</property>
-		  <property name="bottom_attach">2</property>
-		  <property name="y_options"></property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkHBox" id="hbox24">
-		  <property name="visible">True</property>
-		  <property name="homogeneous">False</property>
-		  <property name="spacing">6</property>
-
-		  <child>
-		    <widget class="GtkImage" id="IconImage">
-		      <property name="xalign">0.5</property>
-		      <property name="yalign">0.5</property>
-		      <property name="xpad">0</property>
-		      <property name="ypad">0</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkComboBoxEntry" id="MenuIconComboBoxEntry">
-		      <property name="visible">True</property>
-		      <property name="items"></property>
-		      <property name="add_tearoffs">False</property>
-		      <property name="has_frame">True</property>
-		      <property name="focus_on_click">True</property>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">True</property>
-		      <property name="fill">True</property>
-		    </packing>
-		  </child>
-
-		  <child>
-		    <widget class="GtkButton" id="IconBrowseButton">
-		      <property name="visible">True</property>
-		      <property name="tooltip" translatable="yes">Click to choose a custom icon from a file instead of a predefined icon from the drop-down list.</property>
-		      <property name="can_focus">True</property>
-		      <property name="label" translatable="yes">_Browse</property>
-		      <property name="use_underline">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <signal name="clicked" handler="icon_browse_button_clicked_cb" last_modification_time="Sat, 22 Oct 2005 15:07:47 GMT"/>
-		    </widget>
-		    <packing>
-		      <property name="padding">0</property>
-		      <property name="expand">False</property>
-		      <property name="fill">False</property>
-		    </packing>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="left_attach">1</property>
-		  <property name="right_attach">2</property>
-		  <property name="top_attach">2</property>
-		  <property name="bottom_attach">3</property>
-		  <property name="x_options">fill</property>
-		  <property name="y_options">fill</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="LabelAlign3">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">Icon:</property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="left_attach">0</property>
-		  <property name="right_attach">1</property>
-		  <property name="top_attach">2</property>
-		  <property name="bottom_attach">3</property>
-		  <property name="x_options">fill</property>
-		  <property name="y_options">fill</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="LabelAlign2">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">Tooltip:</property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="left_attach">0</property>
-		  <property name="right_attach">1</property>
-		  <property name="top_attach">1</property>
-		  <property name="bottom_attach">2</property>
-		  <property name="x_options">fill</property>
-		  <property name="y_options">fill</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkLabel" id="LabelAlign1">
-		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">Label:</property>
-		  <property name="use_underline">False</property>
-		  <property name="use_markup">False</property>
-		  <property name="justify">GTK_JUSTIFY_LEFT</property>
-		  <property name="wrap">False</property>
-		  <property name="selectable">False</property>
-		  <property name="xalign">0</property>
-		  <property name="yalign">0.5</property>
-		  <property name="xpad">0</property>
-		  <property name="ypad">0</property>
-		  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-		  <property name="width_chars">-1</property>
-		  <property name="single_line_mode">False</property>
-		  <property name="angle">0</property>
-		</widget>
-		<packing>
-		  <property name="left_attach">0</property>
-		  <property name="right_attach">1</property>
-		  <property name="top_attach">0</property>
-		  <property name="bottom_attach">1</property>
-		  <property name="x_options">fill</property>
-		  <property name="y_options">fill</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label156">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">&lt;b&gt;Profiles&lt;/b&gt;</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">True</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkHBox" id="hbox60">
-	      <property name="border_width">6</property>
-	      <property name="visible">True</property>
-	      <property name="homogeneous">False</property>
-	      <property name="spacing">6</property>
-
-	      <child>
-		<widget class="GtkScrolledWindow" id="scrolledwindow6">
-		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-		  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
-		  <property name="shadow_type">GTK_SHADOW_IN</property>
-		  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
-
-		  <child>
-		    <widget class="GtkTreeView" id="ProfilesList">
-		      <property name="visible">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="headers_visible">False</property>
-		      <property name="rules_hint">True</property>
-		      <property name="reorderable">False</property>
-		      <property name="enable_search">True</property>
-		      <property name="fixed_height_mode">False</property>
-		      <property name="hover_selection">False</property>
-		      <property name="hover_expand">False</property>
-		    </widget>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">True</property>
-		  <property name="fill">True</property>
-		</packing>
-	      </child>
-
-	      <child>
-		<widget class="GtkVButtonBox" id="vbuttonbox2">
-		  <property name="visible">True</property>
-		  <property name="layout_style">GTK_BUTTONBOX_START</property>
-		  <property name="spacing">3</property>
-
-		  <child>
-		    <widget class="GtkButton" id="AddProfileButton">
-		      <property name="visible">True</property>
-		      <property name="can_default">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label">gtk-add</property>
-		      <property name="use_stock">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <signal name="clicked" handler="add_prof_button_clicked_cb" last_modification_time="Fri, 18 May 2007 14:57:43 GMT"/>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkButton" id="EditProfileButton">
-		      <property name="visible">True</property>
-		      <property name="sensitive">False</property>
-		      <property name="can_default">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label">gtk-edit</property>
-		      <property name="use_stock">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <signal name="clicked" handler="edit_prof_button_clicked_cb" last_modification_time="Fri, 18 May 2007 14:57:52 GMT"/>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkButton" id="CopyProfileButton">
-		      <property name="visible">True</property>
-		      <property name="sensitive">False</property>
-		      <property name="tooltip" translatable="yes">Create a copy of the selected action.</property>
-		      <property name="can_default">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label">gtk-copy</property>
-		      <property name="use_stock">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <signal name="clicked" handler="copy_prof_button_clicked_cb" last_modification_time="Wed, 30 May 2007 07:30:09 GMT"/>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkButton" id="PasteProfileButton">
-		      <property name="visible">True</property>
-		      <property name="sensitive">False</property>
-		      <property name="tooltip" translatable="yes">Delete the action without any confirmation nor the possibility to restore it.</property>
-		      <property name="can_default">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label">gtk-paste</property>
-		      <property name="use_stock">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <signal name="clicked" handler="paste_prof_button_clicked_cb" last_modification_time="Wed, 30 May 2007 07:29:59 GMT"/>
-		    </widget>
-		  </child>
-
-		  <child>
-		    <widget class="GtkButton" id="DeleteProfileButton">
-		      <property name="visible">True</property>
-		      <property name="sensitive">False</property>
-		      <property name="tooltip" translatable="yes">Delete the action without any confirmation nor the possibility to restore it.</property>
-		      <property name="can_default">True</property>
-		      <property name="can_focus">True</property>
-		      <property name="label">gtk-delete</property>
-		      <property name="use_stock">True</property>
-		      <property name="relief">GTK_RELIEF_NORMAL</property>
-		      <property name="focus_on_click">True</property>
-		      <signal name="clicked" handler="delete_prof_button_clicked_cb" last_modification_time="Fri, 18 May 2007 14:58:13 GMT"/>
-		    </widget>
-		  </child>
-		</widget>
-		<packing>
-		  <property name="padding">0</property>
-		  <property name="expand">False</property>
-		  <property name="fill">False</property>
-		  <property name="pack_type">GTK_PACK_END</property>
-		</packing>
-	      </child>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
-<widget class="GtkAboutDialog" id="AboutDialog">
-  <property name="border_width">5</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="name">NACT</property>
-  <property name="copyright" translatable="yes">(C) 2005-2007 Frederic Ruaudel &lt;grumz grumz net&gt;
+                <property name="use_markup">True</property>
+                <property name="wrap">True</property>
+                <property name="selectable">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area8">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <widget class="GtkButton" id="okbutton3">
+                <property name="label">gtk-ok</property>
+                <property name="response_id">-5</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+  <widget class="GtkDialog" id="EditActionDialog">
+    <property name="title" translatable="yes">Nautilus Action Editor</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox9">
+        <property name="visible">True</property>
+        <child>
+          <widget class="GtkVBox" id="vbox393">
+            <property name="visible">True</property>
+            <property name="border_width">10</property>
+            <property name="spacing">12</property>
+            <child>
+              <widget class="GtkLabel" id="label37">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">&lt;b&gt;Nautilus Menu Item&lt;/b&gt;</property>
+                <property name="use_markup">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkTable" id="table2">
+                <property name="visible">True</property>
+                <property name="border_width">10</property>
+                <property name="n_rows">3</property>
+                <property name="n_columns">2</property>
+                <property name="column_spacing">12</property>
+                <property name="row_spacing">6</property>
+                <child>
+                  <widget class="GtkEntry" id="MenuLabelEntry">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="tooltip" translatable="yes">Label of the menu item in the Nautilus popup menu.</property>
+                    <signal name="changed" handler="field_changed_cb"/>
+                  </widget>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkEntry" id="MenuTooltipEntry">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="tooltip" translatable="yes">Tooltip of the menu item that will appear in the Nautilus statusbar.</property>
+                    <signal name="changed" handler="field_changed_cb"/>
+                  </widget>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkHBox" id="hbox24">
+                    <property name="visible">True</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <widget class="GtkImage" id="IconImage"/>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkComboBoxEntry" id="MenuIconComboBoxEntry">
+                        <property name="visible">True</property>
+                        <property name="items"></property>
+                      </widget>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkButton" id="IconBrowseButton">
+                        <property name="label" translatable="yes">_Browse</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="tooltip" translatable="yes">Click to choose a custom icon from a file instead of a predefined icon from the drop-down list.</property>
+                        <property name="use_underline">True</property>
+                        <signal name="clicked" handler="icon_browse_button_clicked_cb"/>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">2</property>
+                    <property name="bottom_attach">3</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options">GTK_FILL</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="LabelAlign3">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Icon:</property>
+                  </widget>
+                  <packing>
+                    <property name="top_attach">2</property>
+                    <property name="bottom_attach">3</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options">GTK_FILL</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="LabelAlign2">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Tooltip:</property>
+                  </widget>
+                  <packing>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options">GTK_FILL</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="LabelAlign1">
+                    <property name="visible">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Label:</property>
+                  </widget>
+                  <packing>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options">GTK_FILL</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label156">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">&lt;b&gt;Profiles&lt;/b&gt;</property>
+                <property name="use_markup">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkHBox" id="hbox60">
+                <property name="visible">True</property>
+                <property name="border_width">6</property>
+                <property name="spacing">6</property>
+                <child>
+                  <widget class="GtkScrolledWindow" id="scrolledwindow6">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="hscrollbar_policy">automatic</property>
+                    <property name="vscrollbar_policy">automatic</property>
+                    <property name="shadow_type">in</property>
+                    <child>
+                      <widget class="GtkTreeView" id="ProfilesList">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="headers_visible">False</property>
+                        <property name="rules_hint">True</property>
+                      </widget>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <widget class="GtkVButtonBox" id="vbuttonbox2">
+                    <property name="visible">True</property>
+                    <property name="spacing">3</property>
+                    <property name="layout_style">start</property>
+                    <child>
+                      <widget class="GtkButton" id="AddProfileButton">
+                        <property name="label">gtk-add</property>
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="can_default">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_stock">True</property>
+                        <signal name="clicked" handler="add_prof_button_clicked_cb"/>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkButton" id="EditProfileButton">
+                        <property name="label">gtk-edit</property>
+                        <property name="visible">True</property>
+                        <property name="sensitive">False</property>
+                        <property name="can_focus">True</property>
+                        <property name="can_default">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_stock">True</property>
+                        <signal name="clicked" handler="edit_prof_button_clicked_cb"/>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkButton" id="CopyProfileButton">
+                        <property name="label">gtk-copy</property>
+                        <property name="visible">True</property>
+                        <property name="sensitive">False</property>
+                        <property name="can_focus">True</property>
+                        <property name="can_default">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="tooltip" translatable="yes">Create a copy of the selected action.</property>
+                        <property name="use_stock">True</property>
+                        <signal name="clicked" handler="copy_prof_button_clicked_cb"/>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkButton" id="PasteProfileButton">
+                        <property name="label">gtk-paste</property>
+                        <property name="visible">True</property>
+                        <property name="sensitive">False</property>
+                        <property name="can_focus">True</property>
+                        <property name="can_default">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="tooltip" translatable="yes">Delete the action without any confirmation nor the possibility to restore it.</property>
+                        <property name="use_stock">True</property>
+                        <signal name="clicked" handler="paste_prof_button_clicked_cb"/>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">3</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkButton" id="DeleteProfileButton">
+                        <property name="label">gtk-delete</property>
+                        <property name="visible">True</property>
+                        <property name="sensitive">False</property>
+                        <property name="can_focus">True</property>
+                        <property name="can_default">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="tooltip" translatable="yes">Delete the action without any confirmation nor the possibility to restore it.</property>
+                        <property name="use_stock">True</property>
+                        <signal name="clicked" handler="delete_prof_button_clicked_cb"/>
+                      </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">4</property>
+                      </packing>
+                    </child>
+                  </widget>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="pack_type">end</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="position">3</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area9">
+            <property name="visible">True</property>
+            <property name="layout_style">end</property>
+            <child>
+              <widget class="GtkButton" id="cancelbutton3">
+                <property name="label">gtk-cancel</property>
+                <property name="response_id">-6</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkButton" id="okbutton4">
+                <property name="label">gtk-ok</property>
+                <property name="response_id">-5</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+  <widget class="GtkAboutDialog" id="AboutDialog">
+    <property name="border_width">5</property>
+    <property name="type_hint">normal</property>
+    <property name="copyright" translatable="yes">(C) 2005-2007 Frederic Ruaudel &lt;grumz grumz net&gt;
 (C) 2009 Pierre Wieser &lt;pwieser trychlos org&gt;</property>
-  <property name="comments" translatable="yes">Nautilus Actions Configuration Tool
+    <property name="comments" translatable="yes">Nautilus Actions Configuration Tool
 Application to configure Nautilus Action extension</property>
-  <property name="license" translatable="yes">This software is licensed under the GNU Genaral Public License (GPL)</property>
-  <property name="wrap_license">False</property>
-  <property name="website">Project website : http://www.nautilus-actions.org</property>
-  <property name="website_label" translatable="yes">Project website</property>
-  <property name="authors">Frederic Ruaudel &lt;grumz grumz net&gt;
+    <property name="website">Project website : http://www.nautilus-actions.org</property>
+    <property name="website_label" translatable="yes">Project website</property>
+    <property name="license" translatable="yes">This software is licensed under the GNU Genaral Public License (GPL)</property>
+    <property name="authors">Frederic Ruaudel &lt;grumz grumz net&gt;
 Rodrigo Moya &lt;rodrigo gnome-db org&gt;
 Pierre Wieser &lt;pwieser trychlos org&gt;
 </property>
-  <property name="artists">Ulisse Perusin &lt;uli peru gmail com&gt; </property>
-  <property name="translator_credits" translatable="yes" comments="TRANSLATORS: Replace this string with your names, one name per line.">The GNOME Translation Project &lt;gnome-i18n gnome org&gt;</property>
-</widget>
-
-<widget class="GtkWindow" id="LegendDialog">
-  <property name="title" translatable="yes"></property>
-  <property name="type">GTK_WINDOW_TOPLEVEL</property>
-  <property name="window_position">GTK_WIN_POS_MOUSE</property>
-  <property name="modal">False</property>
-  <property name="resizable">False</property>
-  <property name="destroy_with_parent">False</property>
-  <property name="decorated">True</property>
-  <property name="skip_taskbar_hint">False</property>
-  <property name="skip_pager_hint">False</property>
-  <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
-  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
-  <property name="focus_on_map">True</property>
-  <property name="urgency_hint">False</property>
-
-  <child>
-    <widget class="GtkVBox" id="vbox11">
-      <property name="border_width">12</property>
-      <property name="visible">True</property>
-      <property name="homogeneous">False</property>
-      <property name="spacing">6</property>
-
-      <child>
-	<widget class="GtkHBox" id="hbox11">
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">6</property>
-
-	  <child>
-	    <widget class="GtkImage" id="image9">
-	      <property name="visible">True</property>
-	      <property name="stock">gtk-help</property>
-	      <property name="icon_size">4</property>
-	      <property name="xalign">0.5</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label25">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">&lt;span size=&quot;larger&quot;&gt;&lt;b&gt;Parameter Legend&lt;/b&gt;&lt;/span&gt;</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">True</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">False</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0.5</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">True</property>
-	      <property name="fill">True</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkHSeparator" id="hseparator1">
-	  <property name="visible">True</property>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">False</property>
-	  <property name="fill">False</property>
-	</packing>
-      </child>
-
-      <child>
-	<widget class="GtkVBox" id="vbox397">
-	  <property name="visible">True</property>
-	  <property name="homogeneous">False</property>
-	  <property name="spacing">6</property>
-
-	  <child>
-	    <widget class="GtkLabel" id="label15">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">&lt;b&gt;%u&lt;/b&gt;: GnomeVFS URI</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">True</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">True</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label18">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">&lt;b&gt;%h&lt;/b&gt;: hostname of the GnomeVFS URI</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">True</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">True</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label17">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">&lt;b&gt;%d&lt;/b&gt;: base folder of the selected file(s)</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">True</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">True</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label16">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">&lt;b&gt;%s&lt;/b&gt;: scheme of the GnomeVFS URI</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">True</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">True</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label22">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">&lt;b&gt;%%&lt;/b&gt;: a percent sign</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">True</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">True</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label20">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">&lt;b&gt;%U&lt;/b&gt;: username of the GnomeVFS URI</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">True</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">True</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label21">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">&lt;b&gt;%f&lt;/b&gt;: the name of the selected file or the 1st one if many are selected</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">True</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">True</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label23">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">&lt;b&gt;%M&lt;/b&gt;: space-separated list of the selected file(s)/folder(s) with their full paths</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">True</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">True</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-
-	  <child>
-	    <widget class="GtkLabel" id="label33">
-	      <property name="visible">True</property>
-	      <property name="label" translatable="yes">&lt;b&gt;%m&lt;/b&gt;: space-separated list of the basenames of the selected
+    <property name="translator_credits" translatable="yes" comments="TRANSLATORS: Replace this string with your names, one name per line.">The GNOME Translation Project &lt;gnome-i18n gnome org&gt;</property>
+    <property name="artists">Ulisse Perusin &lt;uli peru gmail com&gt; </property>
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="dialog-vbox9">
+        <child internal-child="action_area">
+          <widget class="GtkHButtonBox" id="dialog-action_area9"/>
+          <packing>
+            <property name="expand">False</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
+  <widget class="GtkWindow" id="LegendDialog">
+    <property name="resizable">False</property>
+    <property name="window_position">mouse</property>
+    <property name="type_hint">dialog</property>
+    <child>
+      <widget class="GtkVBox" id="vbox11">
+        <property name="visible">True</property>
+        <property name="border_width">12</property>
+        <property name="spacing">6</property>
+        <child>
+          <widget class="GtkHBox" id="hbox11">
+            <property name="visible">True</property>
+            <property name="spacing">6</property>
+            <child>
+              <widget class="GtkImage" id="image9">
+                <property name="visible">True</property>
+                <property name="stock">gtk-help</property>
+                <property name="icon-size">4</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label25">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">&lt;span size="larger"&gt;&lt;b&gt;Parameter Legend&lt;/b&gt;&lt;/span&gt;</property>
+                <property name="use_markup">True</property>
+              </widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkHSeparator" id="hseparator1">
+            <property name="visible">True</property>
+          </widget>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <widget class="GtkVBox" id="vbox397">
+            <property name="visible">True</property>
+            <property name="spacing">6</property>
+            <child>
+              <widget class="GtkLabel" id="label15">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="yalign">0</property>
+                <property name="label" translatable="yes">&lt;b&gt;%u&lt;/b&gt;: GnomeVFS URI</property>
+                <property name="use_markup">True</property>
+                <property name="wrap">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label18">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="yalign">0</property>
+                <property name="label" translatable="yes">&lt;b&gt;%h&lt;/b&gt;: hostname of the GnomeVFS URI</property>
+                <property name="use_markup">True</property>
+                <property name="wrap">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label17">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="yalign">0</property>
+                <property name="label" translatable="yes">&lt;b&gt;%d&lt;/b&gt;: base folder of the selected file(s)</property>
+                <property name="use_markup">True</property>
+                <property name="wrap">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label16">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="yalign">0</property>
+                <property name="label" translatable="yes">&lt;b&gt;%s&lt;/b&gt;: scheme of the GnomeVFS URI</property>
+                <property name="use_markup">True</property>
+                <property name="wrap">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">3</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label22">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="yalign">0</property>
+                <property name="label" translatable="yes">&lt;b&gt;%%&lt;/b&gt;: a percent sign</property>
+                <property name="use_markup">True</property>
+                <property name="wrap">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">4</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label20">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="yalign">0</property>
+                <property name="label" translatable="yes">&lt;b&gt;%U&lt;/b&gt;: username of the GnomeVFS URI</property>
+                <property name="use_markup">True</property>
+                <property name="wrap">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">5</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label21">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="yalign">0</property>
+                <property name="label" translatable="yes">&lt;b&gt;%f&lt;/b&gt;: the name of the selected file or the 1st one if many are selected</property>
+                <property name="use_markup">True</property>
+                <property name="wrap">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">6</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label23">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="yalign">0</property>
+                <property name="label" translatable="yes">&lt;b&gt;%M&lt;/b&gt;: space-separated list of the selected file(s)/folder(s) with their full paths</property>
+                <property name="use_markup">True</property>
+                <property name="wrap">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">7</property>
+              </packing>
+            </child>
+            <child>
+              <widget class="GtkLabel" id="label33">
+                <property name="visible">True</property>
+                <property name="xalign">0</property>
+                <property name="yalign">0</property>
+                <property name="label" translatable="yes">&lt;b&gt;%m&lt;/b&gt;: space-separated list of the basenames of the selected
 file(s)/folder(s)</property>
-	      <property name="use_underline">False</property>
-	      <property name="use_markup">True</property>
-	      <property name="justify">GTK_JUSTIFY_LEFT</property>
-	      <property name="wrap">True</property>
-	      <property name="selectable">False</property>
-	      <property name="xalign">0</property>
-	      <property name="yalign">0</property>
-	      <property name="xpad">0</property>
-	      <property name="ypad">0</property>
-	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-	      <property name="width_chars">-1</property>
-	      <property name="single_line_mode">False</property>
-	      <property name="angle">0</property>
-	    </widget>
-	    <packing>
-	      <property name="padding">0</property>
-	      <property name="expand">False</property>
-	      <property name="fill">False</property>
-	    </packing>
-	  </child>
-	</widget>
-	<packing>
-	  <property name="padding">0</property>
-	  <property name="expand">True</property>
-	  <property name="fill">True</property>
-	</packing>
-      </child>
-    </widget>
-  </child>
-</widget>
-
+                <property name="use_markup">True</property>
+                <property name="wrap">True</property>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">8</property>
+              </packing>
+            </child>
+          </widget>
+          <packing>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </widget>
+    </child>
+  </widget>
 </glade-interface>
diff --git a/src/plugin/nautilus-module.c b/src/plugin/nautilus-module.c
index 44671cf..5667194 100644
--- a/src/plugin/nautilus-module.c
+++ b/src/plugin/nautilus-module.c
@@ -41,7 +41,7 @@
 static guint st_log_handler = 0;
 
 #ifdef NACT_MAINTAINER_MODE
-static void nact_log_handler( const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer user_data );
+static void na_log_handler( const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer user_data );
 #endif
 
 /*
@@ -68,7 +68,7 @@ nautilus_module_initialize( GTypeModule *module )
 	 */
 	if( !st_log_handler ){
 		openlog( G_LOG_DOMAIN, LOG_PID, LOG_USER );
-		st_log_handler = g_log_set_handler( G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, nact_log_handler, NULL );
+		st_log_handler = g_log_set_handler( G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, na_log_handler, NULL );
 	}
 #endif
 
@@ -117,7 +117,7 @@ nautilus_module_shutdown( void )
  */
 #ifdef NACT_MAINTAINER_MODE
 static void
-nact_log_handler( const gchar *log_domain,
+na_log_handler( const gchar *log_domain,
 					GLogLevelFlags log_level,
 					const gchar *message,
 					gpointer user_data )



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