[nautilus-actions] Define basenames new conditions skeleton



commit 199fe6c9672c4fb5f4d0b0359f173990e464a141
Author: Pierre Wieser <pwieser trychlos org>
Date:   Thu Jun 3 00:25:09 2010 +0200

    Define basenames new conditions skeleton

 ChangeLog                                |    3 +
 src/nact/nact-ibasenames-tab.c           |  330 ++++++++-
 src/nact/nautilus-actions-config-tool.ui | 1310 ++++++++++++------------------
 3 files changed, 855 insertions(+), 788 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index ed879bd..b4fb9c7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,6 +8,9 @@
 
 2010-06-02 Pierre Wieser <pwieser trychlos org>
 
+	* src/nact/nautilus-actions-config-tool.ui:
+	* src/nact/nact-ibasenames-tab.c: Define basename new conditions skeleton.
+
 	* src/nact/nact-icapabilities-tab.c:
 	* src/nact/nact-icapabilities-tab.h: Define NactICapabilitiesInterface interface.
 
diff --git a/src/nact/nact-ibasenames-tab.c b/src/nact/nact-ibasenames-tab.c
index 0ae3255..e7bf447 100644
--- a/src/nact/nact-ibasenames-tab.c
+++ b/src/nact/nact-ibasenames-tab.c
@@ -32,6 +32,9 @@
 #include <config.h>
 #endif
 
+#include <gdk/gdkkeysyms.h>
+#include <glib/gi18n.h>
+
 #include <api/na-object-api.h>
 
 #include "nact-main-tab.h"
@@ -43,6 +46,15 @@ struct NactIBasenamesTabInterfacePrivate {
 	void *empty;						/* so that gcc -pedantic is happy */
 };
 
+/* column ordering
+ */
+enum {
+	BASENAMES_ITEM_COLUMN = 0,
+	BASENAMES_MUST_MATCH_COLUMN,
+	BASENAMES_MUST_NOT_MATCH_COLUMN,
+	BASENAMES_N_COLUMN
+};
+
 static gboolean st_initialized = FALSE;
 static gboolean st_finalized = FALSE;
 static gboolean st_on_selection_change = FALSE;
@@ -51,7 +63,20 @@ static GType    register_type( void );
 static void     interface_base_init( NactIBasenamesTabInterface *klass );
 static void     interface_base_finalize( NactIBasenamesTabInterface *klass );
 
+static void     on_add_filter_clicked( GtkButton *button, BaseWindow *window );
+static void     on_filter_clicked( GtkTreeViewColumn *treeviewcolumn, BaseWindow *window );
+static void     on_filter_edited( GtkCellRendererText *renderer, const gchar *path, const gchar *text, BaseWindow *window );
+static gboolean on_key_pressed_event( GtkWidget *widget, GdkEventKey *event, BaseWindow *window );
+static void     on_must_match_clicked( GtkTreeViewColumn *treeviewcolumn, BaseWindow *window );
+static void     on_must_match_toggled( GtkCellRendererToggle *cell_renderer, gchar *path, BaseWindow *window );
+static void     on_must_not_match_clicked( GtkTreeViewColumn *treeviewcolumn, BaseWindow *window );
+static void     on_must_not_match_toggled( GtkCellRendererToggle *cell_renderer, gchar *path, BaseWindow *window );
+static void     on_remove_filter_clicked( GtkButton *button, BaseWindow *window );
+static void     on_selection_changed( GtkTreeSelection *selection, BaseWindow *window );
 static void     on_tab_updatable_selection_changed( NactIBasenamesTab *instance, gint count_selected );
+static void     on_tab_updatable_enable_tab( NactIBasenamesTab *instance, NAObjectItem *item );
+
+static void     iter_for_setup( gchar *filter, GtkTreeModel *model );
 static gboolean tab_set_sensitive( NactIBasenamesTab *instance );
 
 GType
@@ -133,11 +158,57 @@ void
 nact_ibasenames_tab_initial_load_toplevel( NactIBasenamesTab *instance )
 {
 	static const gchar *thisfn = "nact_ibasenames_tab_initial_load_toplevel";
+	GtkListStore *model;
+	GtkTreeView *listview;
+	GtkCellRenderer *text_cell, *radio_cell;
+	GtkTreeViewColumn *column;
+	GtkTreeSelection *selection;
 
 	g_debug( "%s: instance=%p", thisfn, ( void * ) instance );
 	g_return_if_fail( NACT_IS_IBASENAMES_TAB( instance ));
 
 	if( st_initialized && !st_finalized ){
+
+		model = gtk_list_store_new( BASENAMES_N_COLUMN, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN );
+		listview = GTK_TREE_VIEW( base_window_get_widget( BASE_WINDOW( instance ), "BasenamesTreeView" ));
+		gtk_tree_view_set_model( listview, GTK_TREE_MODEL( model ));
+		g_object_unref( model );
+
+		text_cell = gtk_cell_renderer_text_new();
+		column = gtk_tree_view_column_new_with_attributes(
+				_( "Basename filter" ),
+				text_cell,
+				"text", BASENAMES_ITEM_COLUMN,
+				NULL );
+		gtk_tree_view_append_column( listview, column );
+		gtk_tree_sortable_set_sort_column_id( GTK_TREE_SORTABLE( model ), BASENAMES_ITEM_COLUMN, GTK_SORT_ASCENDING );
+
+		radio_cell = gtk_cell_renderer_toggle_new();
+		gtk_cell_renderer_toggle_set_radio( GTK_CELL_RENDERER_TOGGLE( radio_cell ), TRUE );
+		column = gtk_tree_view_column_new_with_attributes(
+				_( "Must match one" ),
+				radio_cell,
+				"active", BASENAMES_MUST_MATCH_COLUMN,
+				NULL );
+		gtk_tree_view_append_column( listview, column );
+
+		radio_cell = gtk_cell_renderer_toggle_new();
+		gtk_cell_renderer_toggle_set_radio( GTK_CELL_RENDERER_TOGGLE( radio_cell ), TRUE );
+		column = gtk_tree_view_column_new_with_attributes(
+				_( "Must not match any" ),
+				radio_cell,
+				"active", BASENAMES_MUST_NOT_MATCH_COLUMN,
+				NULL );
+		gtk_tree_view_append_column( listview, column );
+
+		column = gtk_tree_view_column_new();
+		gtk_tree_view_append_column( listview, column );
+
+		gtk_tree_view_set_headers_visible( listview, TRUE );
+		gtk_tree_view_set_headers_clickable( listview, TRUE );
+
+		selection = gtk_tree_view_get_selection( listview );
+		gtk_tree_selection_set_mode( selection, GTK_SELECTION_BROWSE );
 	}
 }
 
@@ -152,6 +223,10 @@ void
 nact_ibasenames_tab_runtime_init_toplevel( NactIBasenamesTab *instance )
 {
 	static const gchar *thisfn = "nact_ibasenames_tab_runtime_init_toplevel";
+	GtkTreeView *listview;
+	GtkTreeViewColumn *column;
+	GList *renderers;
+	GtkWidget *add_button, *remove_button;
 
 	g_debug( "%s: instance=%p", thisfn, ( void * ) instance );
 	g_return_if_fail( NACT_IS_IBASENAMES_TAB( instance ));
@@ -163,6 +238,81 @@ nact_ibasenames_tab_runtime_init_toplevel( NactIBasenamesTab *instance )
 				G_OBJECT( instance ),
 				MAIN_WINDOW_SIGNAL_SELECTION_CHANGED,
 				G_CALLBACK( on_tab_updatable_selection_changed ));
+
+		base_window_signal_connect(
+				BASE_WINDOW( instance ),
+				G_OBJECT( instance ),
+				TAB_UPDATABLE_SIGNAL_ENABLE_TAB,
+				G_CALLBACK( on_tab_updatable_enable_tab ));
+
+		listview = GTK_TREE_VIEW( base_window_get_widget( BASE_WINDOW( instance ), "BasenamesTreeview" ));
+		column = gtk_tree_view_get_column( listview, BASENAMES_ITEM_COLUMN );
+		base_window_signal_connect(
+				BASE_WINDOW( instance ),
+				G_OBJECT( column ),
+				"clicked",
+				G_CALLBACK( on_filter_clicked ));
+
+		renderers = gtk_cell_layout_get_cells( GTK_CELL_LAYOUT( column ));
+		base_window_signal_connect(
+				BASE_WINDOW( instance ),
+				G_OBJECT( renderers->data ),
+				"edited",
+				G_CALLBACK( on_filter_edited ));
+
+		column = gtk_tree_view_get_column( listview, BASENAMES_MUST_MATCH_COLUMN );
+		base_window_signal_connect(
+				BASE_WINDOW( instance ),
+				G_OBJECT( column ),
+				"clicked",
+				G_CALLBACK( on_must_match_clicked ));
+
+		renderers = gtk_cell_layout_get_cells( GTK_CELL_LAYOUT( column ));
+		base_window_signal_connect(
+				BASE_WINDOW( instance ),
+				G_OBJECT( renderers->data ),
+				"toggled",
+				G_CALLBACK( on_must_match_toggled ));
+
+		column = gtk_tree_view_get_column( listview, BASENAMES_MUST_NOT_MATCH_COLUMN );
+		base_window_signal_connect(
+				BASE_WINDOW( instance ),
+				G_OBJECT( column ),
+				"clicked",
+				G_CALLBACK( on_must_not_match_clicked ));
+
+		renderers = gtk_cell_layout_get_cells( GTK_CELL_LAYOUT( column ));
+		base_window_signal_connect(
+				BASE_WINDOW( instance ),
+				G_OBJECT( renderers->data ),
+				"toggled",
+				G_CALLBACK( on_must_not_match_toggled ));
+
+		add_button = base_window_get_widget( BASE_WINDOW( instance ), "AddBasenameButton");
+		base_window_signal_connect(
+				BASE_WINDOW( instance ),
+				G_OBJECT( add_button ),
+				"clicked",
+				G_CALLBACK( on_add_filter_clicked ));
+
+		remove_button = base_window_get_widget( BASE_WINDOW( instance ), "RemoveBasenameButton");
+		base_window_signal_connect(
+				BASE_WINDOW( instance ),
+				G_OBJECT( remove_button ),
+				"clicked",
+				G_CALLBACK( on_remove_filter_clicked ));
+
+		base_window_signal_connect(
+				BASE_WINDOW( instance ),
+				G_OBJECT( gtk_tree_view_get_selection( listview )),
+				"changed",
+				G_CALLBACK( on_selection_changed ));
+
+		base_window_signal_connect(
+				BASE_WINDOW( instance ),
+				G_OBJECT( listview ),
+				"key-press-event",
+				G_CALLBACK( on_key_pressed_event ));
 	}
 }
 
@@ -197,23 +347,198 @@ nact_ibasenames_tab_dispose( NactIBasenamesTab *instance )
 }
 
 static void
+on_add_filter_clicked( GtkButton *button, BaseWindow *window )
+{
+}
+
+static void
+on_filter_clicked( GtkTreeViewColumn *treeviewcolumn, BaseWindow *window )
+{
+	static const gchar *thisfn = "nact_ibasenames_tab_on_filter_clicked";
+
+	g_debug( "%s", thisfn );
+}
+
+static void
+on_filter_edited( GtkCellRendererText *renderer, const gchar *path, const gchar *text, BaseWindow *window )
+{
+}
+
+static gboolean
+on_key_pressed_event( GtkWidget *widget, GdkEventKey *event, BaseWindow *window )
+{
+	gboolean stop;
+
+	stop = FALSE;
+
+	if( event->keyval == GDK_F2 ){
+		/*edit_inline( window );*/
+		stop = TRUE;
+	}
+
+	if( event->keyval == GDK_Insert || event->keyval == GDK_KP_Insert ){
+		/*insert_new_row( window );*/
+		stop = TRUE;
+	}
+
+	if( event->keyval == GDK_Delete || event->keyval == GDK_KP_Delete ){
+		/*delete_current_row( window );*/
+		stop = TRUE;
+	}
+
+	return( stop );
+}
+
+static void
+on_must_match_clicked( GtkTreeViewColumn *treeviewcolumn, BaseWindow *window )
+{
+	static const gchar *thisfn = "nact_ibasenames_tab_on_must_match_clicked";
+
+	g_debug( "%s", thisfn );
+}
+
+static void
+on_must_match_toggled( GtkCellRendererToggle *cell_renderer, gchar *path, BaseWindow *window )
+{
+}
+
+static void
+on_must_not_match_clicked( GtkTreeViewColumn *treeviewcolumn, BaseWindow *window )
+{
+	static const gchar *thisfn = "nact_ibasenames_tab_on_must_not_match_clicked";
+
+	g_debug( "%s", thisfn );
+}
+
+static void
+on_must_not_match_toggled( GtkCellRendererToggle *cell_renderer, gchar *path, BaseWindow *window )
+{
+}
+
+static void
+on_remove_filter_clicked( GtkButton *button, BaseWindow *window )
+{
+}
+
+static void
+on_selection_changed( GtkTreeSelection *selection, BaseWindow *window )
+{
+}
+
+/*
+ * basically we are using here a rather common scheme:
+ * - object has a GSList of strings, each of one being a basename description,
+ *   which may be negated
+ * - split this list into two list boxes, the first for positive assertion,
+ *   and the second for negative ones
+ * - let these two lists be updated by the user
+ * - update the object with a concatenation of the listbox contents
+ */
+static void
 on_tab_updatable_selection_changed( NactIBasenamesTab *instance, gint count_selected )
 {
 	static const gchar *thisfn = "nact_ibasenames_tab_on_tab_updatable_selection_changed";
+	NAObjectItem *item;
+	NAObjectProfile *profile;
+	GSList *basenames;
+	gboolean editable;
+	GtkTreeView *listview;
+	GtkTreeModel *model;
+	GtkTreeSelection *selection;
+	GtkTreePath *path;
 
-	g_debug( "%s: instance=%p, count_selected=%d", thisfn, ( void * ) instance, count_selected );
 	g_return_if_fail( NACT_IS_IBASENAMES_TAB( instance ));
 
 	if( st_initialized && !st_finalized ){
 
+		g_debug( "%s: instance=%p, count_selected=%d", thisfn, ( void * ) instance, count_selected );
+
+		g_object_get(
+				G_OBJECT( instance ),
+				TAB_UPDATABLE_PROP_EDITED_ACTION, &item,
+				TAB_UPDATABLE_PROP_EDITED_PROFILE, &profile,
+				TAB_UPDATABLE_PROP_EDITABLE, &editable,
+				NULL );
+
+		basenames = NULL;
+
+		if( profile ){
+			basenames = na_object_get_basenames( profile );
+		} else {
+			basenames = na_object_get_basenames( item );
+		}
+
 		st_on_selection_change = TRUE;
 
-		tab_set_sensitive( instance );
+		listview = GTK_TREE_VIEW( base_window_get_widget( BASE_WINDOW( instance ), "BasenamesTreeview" ));
+		model = gtk_tree_view_get_model( listview );
+		selection = gtk_tree_view_get_selection( listview );
+		gtk_tree_selection_unselect_all( selection );
+		gtk_list_store_clear( GTK_LIST_STORE( model ));
+
+		if( basenames ){
+			g_slist_foreach( basenames, ( GFunc ) iter_for_setup, model );
+		}
 
 		st_on_selection_change = FALSE;
+
+		path = gtk_tree_path_new_first();
+		if( path ){
+			selection = gtk_tree_view_get_selection( listview );
+			gtk_tree_selection_select_path( selection, path );
+			gtk_tree_path_free( path );
+		}
+	}
+}
+
+static void
+on_tab_updatable_enable_tab( NactIBasenamesTab *instance, NAObjectItem *item )
+{
+	static const gchar *thisfn = "nact_ibasenames_tab_on_tab_updatable_enable_tab";
+
+	if( st_initialized && !st_finalized ){
+
+		g_debug( "%s: instance=%p, item=%p", thisfn, ( void * ) instance, ( void * ) item );
+		g_return_if_fail( NACT_IS_IBASENAMES_TAB( instance ));
+
+		tab_set_sensitive( instance );
 	}
 }
 
+static void
+iter_for_setup( gchar *basename, GtkTreeModel *model )
+{
+	GtkTreeIter iter;
+	gchar *tmp, *filter;
+	gboolean positive;
+	gboolean negative;
+
+	filter = g_strstrip( g_strdup( basename ));
+	positive = FALSE;
+	negative = FALSE;
+
+	if( filter[0] == '!' ){
+		tmp = g_strdup( filter+1 );
+		g_free( filter );
+		filter = tmp;
+		negative = TRUE;
+
+	} else {
+		positive = TRUE;
+	}
+
+	gtk_list_store_append( GTK_LIST_STORE( model ), &iter );
+	gtk_list_store_set(
+			GTK_LIST_STORE( model ),
+			&iter,
+			BASENAMES_ITEM_COLUMN, filter,
+			BASENAMES_MUST_MATCH_COLUMN, positive,
+			BASENAMES_MUST_NOT_MATCH_COLUMN, negative,
+			-1 );
+
+	g_free( filter );
+}
+
 static gboolean
 tab_set_sensitive( NactIBasenamesTab *instance )
 {
@@ -227,6 +552,7 @@ tab_set_sensitive( NactIBasenamesTab *instance )
 
 	enable_tab = ( profile != NULL );
 	nact_main_tab_enable_page( NACT_MAIN_WINDOW( instance ), TAB_BASENAMES, enable_tab );
+	nact_main_tab_enable_page( NACT_MAIN_WINDOW( instance ), TAB_BASENAMES, TRUE );
 
 	return( enable_tab );
 }
diff --git a/src/nact/nautilus-actions-config-tool.ui b/src/nact/nautilus-actions-config-tool.ui
index 84c055c..65ae833 100644
--- a/src/nact/nautilus-actions-config-tool.ui
+++ b/src/nact/nautilus-actions-config-tool.ui
@@ -52,7 +52,7 @@
                             <property name="xalign">0</property>
                             <property name="xpad">4</property>
                             <property name="ypad">4</property>
-                            <property name="label" translatable="yes">Actions _list :</property>
+                            <property name="label" translatable="yes">Items _list :</property>
                             <property name="use_underline">True</property>
                           </object>
                           <packing>
@@ -66,7 +66,13 @@
                             <property name="can_focus">True</property>
                             <property name="receives_default">True</property>
                             <property name="tooltip_text" translatable="yes">Sort the list in ascending alphabetical order.</property>
-                            <property name="image">ImageUp</property>
+                            <child>
+                              <object class="GtkImage" id="image1">
+                                <property name="visible">True</property>
+                                <property name="stock">gtk-go-up</property>
+                                <property name="icon-size">1</property>
+                              </object>
+                            </child>
                           </object>
                           <packing>
                             <property name="expand">False</property>
@@ -80,7 +86,13 @@
                             <property name="can_focus">True</property>
                             <property name="receives_default">True</property>
                             <property name="tooltip_text" translatable="yes">Do not sort the list, letting you manually reorder the items.</property>
-                            <property name="image">ImageManual</property>
+                            <child>
+                              <object class="GtkImage" id="image2">
+                                <property name="visible">True</property>
+                                <property name="stock">gtk-index</property>
+                                <property name="icon-size">1</property>
+                              </object>
+                            </child>
                           </object>
                           <packing>
                             <property name="expand">False</property>
@@ -94,7 +106,13 @@
                             <property name="can_focus">True</property>
                             <property name="receives_default">True</property>
                             <property name="tooltip_text" translatable="yes">Sort the list in descending alphabetical order.</property>
-                            <property name="image">ImageDown</property>
+                            <child>
+                              <object class="GtkImage" id="image3">
+                                <property name="visible">True</property>
+                                <property name="stock">gtk-go-down</property>
+                                <property name="icon-size">1</property>
+                              </object>
+                            </child>
                           </object>
                           <packing>
                             <property name="expand">False</property>
@@ -268,7 +286,7 @@ Menus are never displayed in the toolbar.</property>
                                         </child>
                                         <child>
                                           <object class="GtkCheckButton" id="ToolbarSameLabelButton">
-                                            <property name="label" translatable="yes">Use _same label for icon in the toolbar</property>
+                                            <property name="label" translatable="yes">Use s_ame label for icon in the toolbar</property>
                                             <property name="visible">True</property>
                                             <property name="can_focus">True</property>
                                             <property name="receives_default">False</property>
@@ -303,7 +321,7 @@ Menus are never displayed in the toolbar.</property>
                                           <object class="GtkLabel" id="ActionToolbarLabelLabel">
                                             <property name="visible">True</property>
                                             <property name="xalign">1</property>
-                                            <property name="label" translatable="yes">_Toolbar label :</property>
+                                            <property name="label" translatable="yes">T_oolbar label :</property>
                                             <property name="use_underline">True</property>
                                             <property name="mnemonic_widget">ActionToolbarLabelEntry</property>
                                           </object>
@@ -335,7 +353,7 @@ Menus are never displayed in the toolbar.</property>
                                           <object class="GtkLabel" id="ActionTooltipLabel">
                                             <property name="visible">True</property>
                                             <property name="xalign">1</property>
-                                            <property name="label" translatable="yes">_Tooltip :</property>
+                                            <property name="label" translatable="yes">Toolti_p :</property>
                                             <property name="use_underline">True</property>
                                             <property name="mnemonic_widget">ActionTooltipEntry</property>
                                           </object>
@@ -416,7 +434,7 @@ Menus are never displayed in the toolbar.</property>
                                                 <property name="can_focus">True</property>
                                                 <property name="receives_default">True</property>
                                                 <property name="tooltip_text" translatable="yes">Click to choose a custom icon from a file instead of a predefined icon from the drop-down list.</property>
-                                                <property name="image">image3</property>
+                                                <property name="image">ImageIconBrowse</property>
                                                 <property name="use_underline">True</property>
                                               </object>
                                               <packing>
@@ -599,7 +617,7 @@ Menus are never displayed in the toolbar.</property>
                                         <property name="can_focus">True</property>
                                         <property name="receives_default">True</property>
                                         <property name="tooltip_text" translatable="yes">Click to choose a command from the file chooser dialog.</property>
-                                        <property name="image">image2</property>
+                                        <property name="image">ImagePathBrowse</property>
                                         <property name="use_underline">True</property>
                                       </object>
                                       <packing>
@@ -625,12 +643,12 @@ Menus are never displayed in the toolbar.</property>
                                     </child>
                                     <child>
                                       <object class="GtkToggleButton" id="CommandLegendButton">
-                                        <property name="label" translatable="yes">_Legend</property>
+                                        <property name="label" translatable="yes">L_egend</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="receives_default">True</property>
                                         <property name="tooltip_text" translatable="yes">Click to toggle the display of the list of special tokens you can use in the parameter field.</property>
-                                        <property name="image">image1</property>
+                                        <property name="image">ImageParametersLegend</property>
                                         <property name="use_underline">True</property>
                                       </object>
                                       <packing>
@@ -687,12 +705,12 @@ Defaults to base directory of the current selection, which happens to be the val
                                     </child>
                                     <child>
                                       <object class="GtkButton" id="CommandWorkingDirectoryButton">
-                                        <property name="label" translatable="yes">_Browse...</property>
+                                        <property name="label" translatable="yes">B_rowse...</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="receives_default">True</property>
                                         <property name="tooltip_text" translatable="yes">Click to choose a working directory from the folder chooser dialog.</property>
-                                        <property name="image">image4</property>
+                                        <property name="image">ImageWorkingDirectoryBrowse</property>
                                         <property name="use_underline">True</property>
                                       </object>
                                       <packing>
@@ -728,75 +746,6 @@ Defaults to base directory of the current selection, which happens to be the val
                             <property name="position">1</property>
                           </packing>
                         </child>
-                        <child>
-                          <object class="GtkFrame" id="frame12">
-                            <property name="visible">True</property>
-                            <property name="label_xalign">0</property>
-                            <property name="shadow_type">in</property>
-                            <child>
-                              <object class="GtkAlignment" id="alignment12">
-                                <property name="visible">True</property>
-                                <property name="top_padding">6</property>
-                                <property name="bottom_padding">6</property>
-                                <property name="left_padding">12</property>
-                                <property name="right_padding">6</property>
-                                <child>
-                                  <object class="GtkHBox" id="hbox10">
-                                    <property name="visible">True</property>
-                                    <property name="spacing">6</property>
-                                    <child>
-                                      <object class="GtkLabel" id="label17">
-                                        <property name="visible">True</property>
-                                        <property name="xalign">1</property>
-                                        <property name="label" translatable="yes">_Count :</property>
-                                        <property name="use_underline">True</property>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <placeholder/>
-                                    </child>
-                                    <child>
-                                      <object class="GtkComboBox" id="ConditionsCountSigneCombobox">
-                                        <property name="visible">True</property>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="position">2</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkEntry" id="ConditionsCountNumberEntry">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="invisible_char">&#x25CF;</property>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="position">3</property>
-                                      </packing>
-                                    </child>
-                                  </object>
-                                </child>
-                              </object>
-                            </child>
-                            <child type="label">
-                              <object class="GtkLabel" id="label12">
-                                <property name="visible">True</property>
-                                <property name="xpad">5</property>
-                                <property name="label" translatable="yes">&lt;b&gt;Appears if selection contains&lt;/b&gt;</property>
-                                <property name="use_markup">True</property>
-                              </object>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="position">2</property>
-                          </packing>
-                        </child>
                       </object>
                       <packing>
                         <property name="position">1</property>
@@ -822,236 +771,142 @@ Defining several profiles lets you have several commands, each applying with a d
                         <property name="orientation">vertical</property>
                         <property name="spacing">10</property>
                         <child>
-                          <object class="GtkVBox" id="vbox41">
+                          <object class="GtkFrame" id="frame11">
                             <property name="visible">True</property>
-                            <property name="orientation">vertical</property>
-                            <property name="spacing">10</property>
-                            <child>
-                              <object class="GtkLabel" id="label66">
-                                <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="xpad">10</property>
-                                <property name="label" translatable="yes">&lt;b&gt;Appears if each basename matches one of these&lt;/b&gt;</property>
-                                <property name="use_markup">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
+                            <property name="label_xalign">0</property>
+                            <property name="shadow_type">in</property>
                             <child>
-                              <object class="GtkHBox" id="hbox19">
+                              <object class="GtkAlignment" id="alignment11">
                                 <property name="visible">True</property>
-                                <property name="spacing">6</property>
+                                <property name="top_padding">6</property>
+                                <property name="bottom_padding">6</property>
+                                <property name="left_padding">12</property>
+                                <property name="right_padding">6</property>
                                 <child>
-                                  <object class="GtkVBox" id="vbox43">
+                                  <object class="GtkVBox" id="vbox9">
                                     <property name="visible">True</property>
                                     <property name="orientation">vertical</property>
                                     <property name="spacing">10</property>
                                     <child>
-                                      <object class="GtkScrolledWindow" id="scrolledwindow10">
+                                      <object class="GtkLabel" id="label68">
                                         <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>
-                                          <object class="GtkTreeView" id="BasenamesTreeview">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">True</property>
-                                          </object>
-                                        </child>
-                                      </object>
-                                      <packing>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                  </object>
-                                  <packing>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkVBox" id="vbox44">
-                                    <property name="visible">True</property>
-                                    <property name="orientation">vertical</property>
-                                    <property name="spacing">6</property>
-                                    <child>
-                                      <object class="GtkButton" id="AddBasenameButton">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
-                                        <child>
-                                          <object class="GtkImage" id="image19">
-                                            <property name="visible">True</property>
-                                            <property name="stock">gtk-add</property>
-                                          </object>
-                                        </child>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">The current item will appear if the basename of each element of the selection matches one filter of the 'Must match one' column, while not matching any of the filters of the 'Must not match any' column.</property>
+                                        <property name="wrap">True</property>
                                       </object>
                                       <packing>
                                         <property name="expand">False</property>
-                                        <property name="fill">False</property>
                                         <property name="position">0</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <object class="GtkButton" id="RemoveBasenameButton">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
-                                        <child>
-                                          <object class="GtkImage" id="image20">
-                                            <property name="visible">True</property>
-                                            <property name="stock">gtk-remove</property>
-                                          </object>
-                                        </child>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkVBox" id="vbox42">
-                            <property name="visible">True</property>
-                            <property name="orientation">vertical</property>
-                            <property name="spacing">10</property>
-                            <child>
-                              <object class="GtkLabel" id="label67">
-                                <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="xpad">10</property>
-                                <property name="label" translatable="yes">&lt;b&gt;Does not appear if a basename matches one of these&lt;/b&gt;</property>
-                                <property name="use_markup">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkHBox" id="hbox20">
-                                <property name="visible">True</property>
-                                <property name="spacing">6</property>
-                                <child>
-                                  <object class="GtkVBox" id="vbox45">
-                                    <property name="visible">True</property>
-                                    <property name="orientation">vertical</property>
-                                    <property name="spacing">10</property>
-                                    <child>
-                                      <object class="GtkScrolledWindow" id="scrolledwindow11">
+                                      <object class="GtkHBox" id="hbox22">
                                         <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>
+                                        <property name="spacing">6</property>
                                         <child>
-                                          <object class="GtkTreeView" id="NoBasenamesTreeview">
+                                          <object class="GtkScrolledWindow" id="scrolledwindow12">
                                             <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>
+                                              <object class="GtkTreeView" id="BasenamesTreeview">
+                                                <property name="visible">True</property>
+                                                <property name="can_focus">True</property>
+                                                <property name="enable_search">False</property>
+                                                <property name="show_expanders">False</property>
+                                              </object>
+                                            </child>
                                           </object>
+                                          <packing>
+                                            <property name="position">0</property>
+                                          </packing>
                                         </child>
-                                      </object>
-                                      <packing>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                  </object>
-                                  <packing>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkVBox" id="vbox46">
-                                    <property name="visible">True</property>
-                                    <property name="orientation">vertical</property>
-                                    <property name="spacing">6</property>
-                                    <child>
-                                      <object class="GtkButton" id="AddNoBasenameButton">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
                                         <child>
-                                          <object class="GtkImage" id="image21">
+                                          <object class="GtkVBox" id="vbox49">
                                             <property name="visible">True</property>
-                                            <property name="stock">gtk-add</property>
+                                            <property name="orientation">vertical</property>
+                                            <property name="spacing">6</property>
+                                            <child>
+                                              <object class="GtkButton" id="AddBasenameButton">
+                                                <property name="visible">True</property>
+                                                <property name="can_focus">True</property>
+                                                <property name="receives_default">True</property>
+                                                <child>
+                                                  <object class="GtkImage" id="image4">
+                                                    <property name="visible">True</property>
+                                                    <property name="stock">gtk-add</property>
+                                                  </object>
+                                                </child>
+                                              </object>
+                                              <packing>
+                                                <property name="expand">False</property>
+                                                <property name="fill">False</property>
+                                                <property name="position">0</property>
+                                              </packing>
+                                            </child>
+                                            <child>
+                                              <object class="GtkButton" id="RemoveBasenameButton">
+                                                <property name="visible">True</property>
+                                                <property name="can_focus">True</property>
+                                                <property name="receives_default">True</property>
+                                                <child>
+                                                  <object class="GtkImage" id="image20">
+                                                    <property name="visible">True</property>
+                                                    <property name="stock">gtk-remove</property>
+                                                  </object>
+                                                </child>
+                                              </object>
+                                              <packing>
+                                                <property name="expand">False</property>
+                                                <property name="fill">False</property>
+                                                <property name="position">1</property>
+                                              </packing>
+                                            </child>
                                           </object>
+                                          <packing>
+                                            <property name="expand">False</property>
+                                            <property name="fill">False</property>
+                                            <property name="position">1</property>
+                                          </packing>
                                         </child>
                                       </object>
                                       <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">0</property>
+                                        <property name="position">1</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <object class="GtkButton" id="RemoveNoBasenameButton">
+                                      <object class="GtkCheckButton" id="ConditionsMatchcaseButton1">
+                                        <property name="label" translatable="yes">Match _case</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
-                                        <child>
-                                          <object class="GtkImage" id="image22">
-                                            <property name="visible">True</property>
-                                            <property name="stock">gtk-remove</property>
-                                          </object>
-                                        </child>
+                                        <property name="receives_default">False</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="active">True</property>
+                                        <property name="draw_indicator">True</property>
                                       </object>
                                       <packing>
                                         <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">1</property>
+                                        <property name="position">2</property>
                                       </packing>
                                     </child>
                                   </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">1</property>
-                                  </packing>
                                 </child>
                               </object>
-                              <packing>
-                                <property name="position">1</property>
-                              </packing>
+                            </child>
+                            <child type="label">
+                              <object class="GtkLabel" id="label61">
+                                <property name="visible">True</property>
+                                <property name="xpad">5</property>
+                                <property name="label" translatable="yes">&lt;b&gt;Basenames conditions&lt;/b&gt;</property>
+                                <property name="use_markup">True</property>
+                              </object>
                             </child>
                           </object>
                           <packing>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkCheckButton" id="ConditionsMatchcaseButton1">
-                            <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="use_underline">True</property>
-                            <property name="xalign">0</property>
-                            <property name="active">True</property>
-                            <property name="draw_indicator">True</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="padding">6</property>
-                            <property name="position">2</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                       </object>
@@ -1077,219 +932,124 @@ Defining several profiles lets you have several commands, each applying with a d
                         <property name="orientation">vertical</property>
                         <property name="spacing">10</property>
                         <child>
-                          <object class="GtkVBox" id="vbox32">
+                          <object class="GtkFrame" id="frame13">
                             <property name="visible">True</property>
-                            <property name="orientation">vertical</property>
-                            <property name="spacing">10</property>
-                            <child>
-                              <object class="GtkLabel" id="label62">
-                                <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="xpad">10</property>
-                                <property name="label" translatable="yes">&lt;b&gt;Appears if all selected mimetypes are in this list&lt;/b&gt;</property>
-                                <property name="use_markup">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
+                            <property name="label_xalign">0</property>
+                            <property name="shadow_type">in</property>
                             <child>
-                              <object class="GtkHBox" id="hbox16">
+                              <object class="GtkAlignment" id="alignment13">
                                 <property name="visible">True</property>
-                                <property name="spacing">6</property>
+                                <property name="top_padding">6</property>
+                                <property name="bottom_padding">6</property>
+                                <property name="left_padding">12</property>
+                                <property name="right_padding">6</property>
                                 <child>
-                                  <object class="GtkVBox" id="vbox33">
+                                  <object class="GtkVBox" id="vbox41">
                                     <property name="visible">True</property>
                                     <property name="orientation">vertical</property>
                                     <property name="spacing">10</property>
                                     <child>
-                                      <object class="GtkScrolledWindow" id="scrolledwindow8">
+                                      <object class="GtkLabel" id="label67">
                                         <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>
-                                          <object class="GtkTreeView" id="MimetypesTreeview">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">True</property>
-                                          </object>
-                                        </child>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">The current item will appear if the mimetype of each element of the selection matches one filter of the 'Must match one' column, while not matching any of the filters of the 'Must not match any' column.</property>
+                                        <property name="wrap">True</property>
                                       </object>
                                       <packing>
+                                        <property name="expand">False</property>
                                         <property name="position">0</property>
                                       </packing>
                                     </child>
-                                  </object>
-                                  <packing>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkVBox" id="vbox18">
-                                    <property name="visible">True</property>
-                                    <property name="orientation">vertical</property>
-                                    <property name="spacing">6</property>
                                     <child>
-                                      <object class="GtkButton" id="AddMimetypeButton">
+                                      <object class="GtkHBox" id="hbox16">
                                         <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
+                                        <property name="spacing">6</property>
                                         <child>
-                                          <object class="GtkImage" id="image14">
+                                          <object class="GtkScrolledWindow" id="scrolledwindow8">
                                             <property name="visible">True</property>
-                                            <property name="stock">gtk-add</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>
+                                              <object class="GtkTreeView" id="MimetypesTreeview">
+                                                <property name="visible">True</property>
+                                                <property name="can_focus">True</property>
+                                              </object>
+                                            </child>
                                           </object>
+                                          <packing>
+                                            <property name="position">0</property>
+                                          </packing>
                                         </child>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkButton" id="RemoveMimetypeButton">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
                                         <child>
-                                          <object class="GtkImage" id="image15">
+                                          <object class="GtkVBox" id="vbox18">
                                             <property name="visible">True</property>
-                                            <property name="stock">gtk-remove</property>
+                                            <property name="orientation">vertical</property>
+                                            <property name="spacing">6</property>
+                                            <child>
+                                              <object class="GtkButton" id="AddMimetypeButton">
+                                                <property name="visible">True</property>
+                                                <property name="can_focus">True</property>
+                                                <property name="receives_default">True</property>
+                                                <child>
+                                                  <object class="GtkImage" id="image14">
+                                                    <property name="visible">True</property>
+                                                    <property name="stock">gtk-add</property>
+                                                  </object>
+                                                </child>
+                                              </object>
+                                              <packing>
+                                                <property name="expand">False</property>
+                                                <property name="fill">False</property>
+                                                <property name="position">0</property>
+                                              </packing>
+                                            </child>
+                                            <child>
+                                              <object class="GtkButton" id="RemoveMimetypeButton">
+                                                <property name="visible">True</property>
+                                                <property name="can_focus">True</property>
+                                                <property name="receives_default">True</property>
+                                                <child>
+                                                  <object class="GtkImage" id="image15">
+                                                    <property name="visible">True</property>
+                                                    <property name="stock">gtk-remove</property>
+                                                  </object>
+                                                </child>
+                                              </object>
+                                              <packing>
+                                                <property name="expand">False</property>
+                                                <property name="fill">False</property>
+                                                <property name="position">1</property>
+                                              </packing>
+                                            </child>
                                           </object>
+                                          <packing>
+                                            <property name="expand">False</property>
+                                            <property name="fill">False</property>
+                                            <property name="position">1</property>
+                                          </packing>
                                         </child>
                                       </object>
                                       <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
                                         <property name="position">1</property>
                                       </packing>
                                     </child>
                                   </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">1</property>
-                                  </packing>
                                 </child>
                               </object>
-                              <packing>
-                                <property name="position">1</property>
-                              </packing>
                             </child>
-                          </object>
-                          <packing>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkVBox" id="vbox31">
-                            <property name="visible">True</property>
-                            <property name="orientation">vertical</property>
-                            <property name="spacing">10</property>
-                            <child>
-                              <object class="GtkLabel" id="label63">
+                            <child type="label">
+                              <object class="GtkLabel" id="label66">
                                 <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="xpad">10</property>
-                                <property name="label" translatable="yes">&lt;b&gt;Does not appears if one mimetype is in this list&lt;/b&gt;</property>
+                                <property name="xpad">5</property>
+                                <property name="label" translatable="yes">&lt;b&gt;Mimetypes conditions&lt;/b&gt;</property>
                                 <property name="use_markup">True</property>
                               </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkHBox" id="hbox17">
-                                <property name="visible">True</property>
-                                <property name="spacing">6</property>
-                                <child>
-                                  <object class="GtkVBox" id="vbox37">
-                                    <property name="visible">True</property>
-                                    <property name="orientation">vertical</property>
-                                    <property name="spacing">10</property>
-                                    <child>
-                                      <object class="GtkScrolledWindow" id="scrolledwindow9">
-                                        <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>
-                                          <object class="GtkTreeView" id="NoMimetypesTreeview">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">True</property>
-                                          </object>
-                                        </child>
-                                      </object>
-                                      <packing>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                  </object>
-                                  <packing>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkVBox" id="vbox19">
-                                    <property name="visible">True</property>
-                                    <property name="orientation">vertical</property>
-                                    <property name="spacing">6</property>
-                                    <child>
-                                      <object class="GtkButton" id="AddNoMimetypeButton">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
-                                        <child>
-                                          <object class="GtkImage" id="image">
-                                            <property name="visible">True</property>
-                                            <property name="stock">gtk-add</property>
-                                          </object>
-                                        </child>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkButton" id="RemoveNoMimetypeButton">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
-                                        <child>
-                                          <object class="GtkImage" id="image18">
-                                            <property name="visible">True</property>
-                                            <property name="stock">gtk-remove</property>
-                                          </object>
-                                        </child>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="position">1</property>
-                              </packing>
                             </child>
                           </object>
                           <packing>
-                            <property name="position">1</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                       </object>
@@ -1298,13 +1058,13 @@ Defining several profiles lets you have several commands, each applying with a d
                       </packing>
                     </child>
                     <child type="tab">
-                      <object class="GtkLabel" id="label8">
+                      <object class="GtkLabel" id="label75">
                         <property name="visible">True</property>
                         <property name="label" translatable="yes">_Mimetypes</property>
                         <property name="use_underline">True</property>
                       </object>
                       <packing>
-                        <property name="position">5</property>
+                        <property name="position">3</property>
                         <property name="tab_fill">False</property>
                       </packing>
                     </child>
@@ -1315,449 +1075,435 @@ Defining several profiles lets you have several commands, each applying with a d
                         <property name="orientation">vertical</property>
                         <property name="spacing">10</property>
                         <child>
-                          <object class="GtkVBox" id="vbox10">
+                          <object class="GtkFrame" id="frame14">
                             <property name="visible">True</property>
-                            <property name="orientation">vertical</property>
-                            <property name="spacing">10</property>
-                            <child>
-                              <object class="GtkLabel" id="label2">
-                                <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="xpad">10</property>
-                                <property name="label" translatable="yes">&lt;b&gt;Appears if folder's path is one or inside one of these&lt;/b&gt;</property>
-                                <property name="use_markup">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
+                            <property name="label_xalign">0</property>
+                            <property name="shadow_type">in</property>
                             <child>
-                              <object class="GtkHBox" id="hbox9">
+                              <object class="GtkAlignment" id="alignment14">
                                 <property name="visible">True</property>
-                                <property name="spacing">6</property>
+                                <property name="top_padding">6</property>
+                                <property name="bottom_padding">6</property>
+                                <property name="left_padding">12</property>
+                                <property name="right_padding">6</property>
                                 <child>
-                                  <object class="GtkVBox" id="vbox11">
+                                  <object class="GtkVBox" id="vbox42">
                                     <property name="visible">True</property>
                                     <property name="orientation">vertical</property>
                                     <property name="spacing">10</property>
                                     <child>
-                                      <object class="GtkScrolledWindow" id="scrolledwindow2">
+                                      <object class="GtkLabel" id="label72">
                                         <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>
-                                          <object class="GtkTreeView" id="FoldersTreeview">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">True</property>
-                                            <property name="tooltip_text" translatable="yes">List of paths for which the current item will be displayed.
-"/" means "all the paths".</property>
-                                          </object>
-                                        </child>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">The current item will appear if the location of each element of the selection is one or inside one of the paths of the 'Must be inside of' column, while not being one or inside one of the 'Must not be inside of' column.</property>
+                                        <property name="wrap">True</property>
                                       </object>
                                       <packing>
+                                        <property name="expand">False</property>
                                         <property name="position">0</property>
                                       </packing>
                                     </child>
-                                  </object>
-                                  <packing>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkVBox" id="vbox8">
-                                    <property name="visible">True</property>
-                                    <property name="orientation">vertical</property>
-                                    <property name="spacing">6</property>
                                     <child>
-                                      <object class="GtkButton" id="AddFolderButton">
+                                      <object class="GtkHBox" id="hbox9">
                                         <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
-                                        <property name="tooltip_text" translatable="yes">Click to add a new folder URI.</property>
+                                        <property name="spacing">6</property>
                                         <child>
-                                          <object class="GtkImage" id="image10">
+                                          <object class="GtkVBox" id="vbox11">
                                             <property name="visible">True</property>
-                                            <property name="stock">gtk-add</property>
+                                            <property name="orientation">vertical</property>
+                                            <property name="spacing">10</property>
+                                            <child>
+                                              <object class="GtkScrolledWindow" id="scrolledwindow2">
+                                                <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>
+                                                  <object class="GtkTreeView" id="FoldersTreeview">
+                                                    <property name="visible">True</property>
+                                                    <property name="can_focus">True</property>
+                                                  </object>
+                                                </child>
+                                              </object>
+                                              <packing>
+                                                <property name="position">0</property>
+                                              </packing>
+                                            </child>
                                           </object>
+                                          <packing>
+                                            <property name="position">0</property>
+                                          </packing>
                                         </child>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkButton" id="RemoveFolderButton">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
-                                        <property name="tooltip_text" translatable="yes">Click to remove the selected folder URI.</property>
                                         <child>
-                                          <object class="GtkImage" id="image11">
+                                          <object class="GtkVBox" id="vbox8">
                                             <property name="visible">True</property>
-                                            <property name="stock">gtk-remove</property>
+                                            <property name="orientation">vertical</property>
+                                            <property name="spacing">6</property>
+                                            <child>
+                                              <object class="GtkButton" id="AddFolderButton">
+                                                <property name="visible">True</property>
+                                                <property name="can_focus">True</property>
+                                                <property name="receives_default">True</property>
+                                                <child>
+                                                  <object class="GtkImage" id="image10">
+                                                    <property name="visible">True</property>
+                                                    <property name="stock">gtk-add</property>
+                                                  </object>
+                                                </child>
+                                              </object>
+                                              <packing>
+                                                <property name="expand">False</property>
+                                                <property name="fill">False</property>
+                                                <property name="position">0</property>
+                                              </packing>
+                                            </child>
+                                            <child>
+                                              <object class="GtkButton" id="RemoveFolderButton">
+                                                <property name="visible">True</property>
+                                                <property name="can_focus">True</property>
+                                                <property name="receives_default">True</property>
+                                                <child>
+                                                  <object class="GtkImage" id="image11">
+                                                    <property name="visible">True</property>
+                                                    <property name="stock">gtk-remove</property>
+                                                  </object>
+                                                </child>
+                                              </object>
+                                              <packing>
+                                                <property name="expand">False</property>
+                                                <property name="fill">False</property>
+                                                <property name="position">1</property>
+                                              </packing>
+                                            </child>
                                           </object>
+                                          <packing>
+                                            <property name="expand">False</property>
+                                            <property name="fill">False</property>
+                                            <property name="position">1</property>
+                                          </packing>
                                         </child>
                                       </object>
                                       <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
                                         <property name="position">1</property>
                                       </packing>
                                     </child>
                                   </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">1</property>
-                                  </packing>
                                 </child>
                               </object>
-                              <packing>
-                                <property name="position">1</property>
-                              </packing>
+                            </child>
+                            <child type="label">
+                              <object class="GtkLabel" id="label71">
+                                <property name="visible">True</property>
+                                <property name="xpad">5</property>
+                                <property name="label" translatable="yes">&lt;b&gt;Folders conditions&lt;/b&gt;</property>
+                                <property name="use_markup">True</property>
+                              </object>
                             </child>
                           </object>
                           <packing>
                             <property name="position">0</property>
                           </packing>
                         </child>
+                      </object>
+                      <packing>
+                        <property name="position">4</property>
+                      </packing>
+                    </child>
+                    <child type="tab">
+                      <object class="GtkLabel" id="label16">
+                        <property name="visible">True</property>
+                        <property name="tooltip_text" translatable="yes">This tab lets you precisely choose in which folders this profile will apply.</property>
+                        <property name="label" translatable="yes">_Folders</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="position">4</property>
+                        <property name="tab_fill">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkVBox" id="vbox14">
+                        <property name="visible">True</property>
+                        <property name="border_width">6</property>
+                        <property name="orientation">vertical</property>
+                        <property name="spacing">10</property>
                         <child>
-                          <object class="GtkVBox" id="vbox29">
+                          <object class="GtkFrame" id="frame15">
                             <property name="visible">True</property>
-                            <property name="orientation">vertical</property>
-                            <property name="spacing">10</property>
-                            <child>
-                              <object class="GtkLabel" id="label64">
-                                <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="xpad">10</property>
-                                <property name="label" translatable="yes">&lt;b&gt;Does not appears if folder's path is one or inside one of these&lt;/b&gt;</property>
-                                <property name="use_markup">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
+                            <property name="label_xalign">0</property>
+                            <property name="shadow_type">in</property>
                             <child>
-                              <object class="GtkHBox" id="hbox5">
+                              <object class="GtkAlignment" id="alignment15">
                                 <property name="visible">True</property>
-                                <property name="spacing">6</property>
+                                <property name="top_padding">6</property>
+                                <property name="bottom_padding">6</property>
+                                <property name="left_padding">12</property>
+                                <property name="right_padding">6</property>
                                 <child>
-                                  <object class="GtkVBox" id="vbox38">
+                                  <object class="GtkVBox" id="vbox43">
                                     <property name="visible">True</property>
                                     <property name="orientation">vertical</property>
                                     <property name="spacing">10</property>
                                     <child>
-                                      <object class="GtkScrolledWindow" id="scrolledwindow7">
+                                      <object class="GtkLabel" id="label74">
                                         <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>
-                                          <object class="GtkTreeView" id="NoFoldersTreeview">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">True</property>
-                                          </object>
-                                        </child>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">The current item will appear if the scheme of each element of the selection matches one of the 'Must match one' column, while not matching any of the 'Must not match any' column.</property>
+                                        <property name="wrap">True</property>
                                       </object>
                                       <packing>
+                                        <property name="expand">False</property>
                                         <property name="position">0</property>
                                       </packing>
                                     </child>
-                                  </object>
-                                  <packing>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkVBox" id="vbox39">
-                                    <property name="visible">True</property>
-                                    <property name="orientation">vertical</property>
-                                    <property name="spacing">6</property>
                                     <child>
-                                      <object class="GtkButton" id="AddNoFolderButton">
+                                      <object class="GtkHBox" id="hbox38">
                                         <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
+                                        <property name="spacing">6</property>
                                         <child>
-                                          <object class="GtkImage" id="image12">
+                                          <object class="GtkScrolledWindow" id="scrolledwindow4">
                                             <property name="visible">True</property>
-                                            <property name="stock">gtk-add</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>
+                                              <object class="GtkTreeView" id="SchemesTreeView">
+                                                <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="show_expanders">False</property>
+                                              </object>
+                                            </child>
                                           </object>
+                                          <packing>
+                                            <property name="position">0</property>
+                                          </packing>
                                         </child>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkButton" id="RemoveNoFolderButton">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
                                         <child>
-                                          <object class="GtkImage" id="image13">
+                                          <object class="GtkVBox" id="vbox345">
                                             <property name="visible">True</property>
-                                            <property name="stock">gtk-remove</property>
+                                            <property name="orientation">vertical</property>
+                                            <property name="spacing">6</property>
+                                            <child>
+                                              <object class="GtkButton" id="AddSchemeButton">
+                                                <property name="visible">True</property>
+                                                <property name="can_focus">True</property>
+                                                <property name="receives_default">True</property>
+                                                <child>
+                                                  <object class="GtkImage" id="image16">
+                                                    <property name="visible">True</property>
+                                                    <property name="stock">gtk-add</property>
+                                                  </object>
+                                                </child>
+                                              </object>
+                                              <packing>
+                                                <property name="expand">False</property>
+                                                <property name="fill">False</property>
+                                                <property name="position">0</property>
+                                              </packing>
+                                            </child>
+                                            <child>
+                                              <object class="GtkButton" id="RemoveSchemeButton">
+                                                <property name="visible">True</property>
+                                                <property name="can_focus">True</property>
+                                                <property name="receives_default">True</property>
+                                                <child>
+                                                  <object class="GtkImage" id="image17">
+                                                    <property name="visible">True</property>
+                                                    <property name="stock">gtk-remove</property>
+                                                  </object>
+                                                </child>
+                                              </object>
+                                              <packing>
+                                                <property name="expand">False</property>
+                                                <property name="fill">False</property>
+                                                <property name="position">1</property>
+                                              </packing>
+                                            </child>
                                           </object>
+                                          <packing>
+                                            <property name="expand">False</property>
+                                            <property name="fill">False</property>
+                                            <property name="position">1</property>
+                                          </packing>
                                         </child>
                                       </object>
                                       <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
                                         <property name="position">1</property>
                                       </packing>
                                     </child>
                                   </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">1</property>
-                                  </packing>
                                 </child>
                               </object>
-                              <packing>
-                                <property name="position">1</property>
-                              </packing>
+                            </child>
+                            <child type="label">
+                              <object class="GtkLabel" id="label73">
+                                <property name="visible">True</property>
+                                <property name="xpad">5</property>
+                                <property name="label" translatable="yes">&lt;b&gt;Schemes conditions&lt;/b&gt;</property>
+                                <property name="use_markup">True</property>
+                              </object>
                             </child>
                           </object>
                           <packing>
-                            <property name="position">1</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                       </object>
                       <packing>
-                        <property name="position">4</property>
+                        <property name="position">5</property>
                       </packing>
                     </child>
                     <child type="tab">
-                      <object class="GtkLabel" id="label16">
+                      <object class="GtkLabel" id="label8">
                         <property name="visible">True</property>
-                        <property name="tooltip_text" translatable="yes">This tab lets you precisely choose in which folders this profile will apply.</property>
-                        <property name="label" translatable="yes">_Folders</property>
+                        <property name="label" translatable="yes">_Schemes</property>
                         <property name="use_underline">True</property>
                       </object>
                       <packing>
-                        <property name="position">4</property>
+                        <property name="position">5</property>
                         <property name="tab_fill">False</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkVBox" id="vbox14">
+                      <object class="GtkVBox" id="vbox45">
                         <property name="visible">True</property>
                         <property name="border_width">6</property>
                         <property name="orientation">vertical</property>
                         <property name="spacing">10</property>
                         <child>
-                          <object class="GtkVBox" id="vbox340">
+                          <object class="GtkFrame" id="frame12">
                             <property name="visible">True</property>
-                            <property name="orientation">vertical</property>
-                            <property name="spacing">10</property>
-                            <child>
-                              <object class="GtkLabel" id="label46">
-                                <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="xpad">10</property>
-                                <property name="label" translatable="yes">&lt;b&gt;Appears if scheme is checked in this list&lt;/b&gt;</property>
-                                <property name="use_markup">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
+                            <property name="label_xalign">0</property>
+                            <property name="shadow_type">in</property>
                             <child>
-                              <object class="GtkHBox" id="hbox38">
+                              <object class="GtkAlignment" id="alignment12">
                                 <property name="visible">True</property>
-                                <property name="spacing">6</property>
+                                <property name="top_padding">6</property>
+                                <property name="bottom_padding">6</property>
+                                <property name="left_padding">12</property>
+                                <property name="right_padding">6</property>
                                 <child>
-                                  <object class="GtkScrolledWindow" id="scrolledwindow4">
+                                  <object class="GtkHBox" id="hbox10">
                                     <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>
+                                    <property name="spacing">6</property>
                                     <child>
-                                      <object class="GtkTreeView" id="SchemesTreeView">
+                                      <object class="GtkLabel" id="label17">
                                         <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="tooltip_text" 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>
-                                        <property name="show_expanders">False</property>
+                                        <property name="xalign">1</property>
+                                        <property name="label" translatable="yes">_Count :</property>
+                                        <property name="use_underline">True</property>
                                       </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <placeholder/>
                                     </child>
-                                  </object>
-                                  <packing>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkVBox" id="vbox345">
-                                    <property name="visible">True</property>
-                                    <property name="orientation">vertical</property>
-                                    <property name="spacing">6</property>
                                     <child>
-                                      <object class="GtkButton" id="AddSchemeButton">
+                                      <object class="GtkComboBox" id="ConditionsCountSigneCombobox">
                                         <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
-                                        <property name="tooltip_text" translatable="yes">Click to add a new scheme.</property>
-                                        <child>
-                                          <object class="GtkImage" id="image16">
-                                            <property name="visible">True</property>
-                                            <property name="stock">gtk-add</property>
-                                          </object>
-                                        </child>
                                       </object>
                                       <packing>
                                         <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">0</property>
+                                        <property name="position">3</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <object class="GtkButton" id="RemoveSchemeButton">
+                                      <object class="GtkEntry" id="ConditionsCountNumberEntry">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
-                                        <property name="tooltip_text" translatable="yes">Click to remove the selected scheme.</property>
-                                        <child>
-                                          <object class="GtkImage" id="image17">
-                                            <property name="visible">True</property>
-                                            <property name="stock">gtk-remove</property>
-                                          </object>
-                                        </child>
+                                        <property name="invisible_char">&#x25CF;</property>
                                       </object>
                                       <packing>
                                         <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">1</property>
+                                        <property name="position">3</property>
                                       </packing>
                                     </child>
                                   </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">1</property>
-                                  </packing>
                                 </child>
                               </object>
-                              <packing>
-                                <property name="position">1</property>
-                              </packing>
+                            </child>
+                            <child type="label">
+                              <object class="GtkLabel" id="label12">
+                                <property name="visible">True</property>
+                                <property name="xpad">5</property>
+                                <property name="label" translatable="yes">&lt;b&gt;Appears if selection contains&lt;/b&gt;</property>
+                                <property name="use_markup">True</property>
+                              </object>
                             </child>
                           </object>
                           <packing>
+                            <property name="expand">False</property>
                             <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkVBox" id="vbox28">
+                          <object class="GtkFrame" id="frame16">
                             <property name="visible">True</property>
-                            <property name="orientation">vertical</property>
-                            <property name="spacing">10</property>
-                            <child>
-                              <object class="GtkLabel" id="label60">
-                                <property name="visible">True</property>
-                                <property name="xalign">0</property>
-                                <property name="xpad">10</property>
-                                <property name="label" translatable="yes">&lt;b&gt;Does not appear if scheme is checked in this list&lt;/b&gt;</property>
-                                <property name="use_markup">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
+                            <property name="label_xalign">0</property>
+                            <property name="shadow_type">in</property>
                             <child>
-                              <object class="GtkHBox" id="hbox4">
+                              <object class="GtkAlignment" id="alignment16">
                                 <property name="visible">True</property>
-                                <property name="spacing">6</property>
-                                <child>
-                                  <object 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>
-                                      <object class="GtkTreeView" id="NoSchemesTreeView">
-                                        <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="show_expanders">False</property>
-                                      </object>
-                                    </child>
-                                  </object>
-                                  <packing>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
+                                <property name="top_padding">6</property>
+                                <property name="bottom_padding">6</property>
+                                <property name="left_padding">12</property>
+                                <property name="right_padding">6</property>
                                 <child>
-                                  <object class="GtkVBox" id="vbox4">
+                                  <object class="GtkVBox" id="vbox46">
                                     <property name="visible">True</property>
                                     <property name="orientation">vertical</property>
-                                    <property name="spacing">6</property>
+                                    <property name="spacing">10</property>
                                     <child>
-                                      <object class="GtkButton" id="AddNoSchemeButton">
+                                      <object class="GtkLabel" id="label77">
                                         <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
-                                        <child>
-                                          <object class="GtkImage" id="image7">
-                                            <property name="visible">True</property>
-                                            <property name="stock">gtk-add</property>
-                                          </object>
-                                        </child>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">The current item will appear if each element of the selection matches all capabilities of the 'Must match' column, while not matching any capability of the 'Must not match' column.</property>
+                                        <property name="wrap">True</property>
                                       </object>
                                       <packing>
                                         <property name="expand">False</property>
-                                        <property name="fill">False</property>
                                         <property name="position">0</property>
                                       </packing>
                                     </child>
                                     <child>
-                                      <object class="GtkButton" id="RemoveNoSchemeButton">
+                                      <object class="GtkScrolledWindow" id="scrolledwindow10">
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
+                                        <property name="hscrollbar_policy">automatic</property>
+                                        <property name="vscrollbar_policy">automatic</property>
+                                        <property name="shadow_type">in</property>
                                         <child>
-                                          <object class="GtkImage" id="image8">
+                                          <object class="GtkTreeView" id="CapabilitiesTreeView">
                                             <property name="visible">True</property>
-                                            <property name="stock">gtk-remove</property>
+                                            <property name="can_focus">True</property>
+                                            <property name="headers_visible">False</property>
+                                            <property name="rules_hint">True</property>
+                                            <property name="show_expanders">False</property>
                                           </object>
                                         </child>
                                       </object>
                                       <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
                                         <property name="position">1</property>
                                       </packing>
                                     </child>
                                   </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">1</property>
-                                  </packing>
                                 </child>
                               </object>
-                              <packing>
-                                <property name="position">1</property>
-                              </packing>
+                            </child>
+                            <child type="label">
+                              <object class="GtkLabel" id="label76">
+                                <property name="visible">True</property>
+                                <property name="xpad">5</property>
+                                <property name="label" translatable="yes">&lt;b&gt;Capability conditions&lt;/b&gt;</property>
+                                <property name="use_markup">True</property>
+                              </object>
                             </child>
                           </object>
                           <packing>
@@ -1766,14 +1512,14 @@ Defining several profiles lets you have several commands, each applying with a d
                         </child>
                       </object>
                       <packing>
-                        <property name="position">5</property>
+                        <property name="position">6</property>
                       </packing>
                     </child>
                     <child type="tab">
-                      <object class="GtkLabel" id="label15">
+                      <object class="GtkLabel" id="label50">
                         <property name="visible">True</property>
                         <property name="tooltip_text" translatable="yes">This advanced tab lets you precisely choose on which schemes the selection will apply.</property>
-                        <property name="label" translatable="yes">_Schemes</property>
+                        <property name="label" translatable="yes">Ca_pabilities</property>
                         <property name="use_underline">True</property>
                       </object>
                       <packing>
@@ -1788,6 +1534,9 @@ Defining several profiles lets you have several commands, each applying with a d
                         <property name="orientation">vertical</property>
                         <property name="spacing">10</property>
                         <child>
+                          <placeholder/>
+                        </child>
+                        <child>
                           <object class="GtkFrame" id="frame4">
                             <property name="visible">True</property>
                             <property name="label_xalign">0</property>
@@ -1881,6 +1630,7 @@ Defining several profiles lets you have several commands, each applying with a d
                                             <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>
                                               <object class="GtkTreeView" id="EnvironmentsTreeView">
                                                 <property name="visible">True</property>
@@ -1915,7 +1665,7 @@ Defining several profiles lets you have several commands, each applying with a d
                           </object>
                           <packing>
                             <property name="expand">False</property>
-                            <property name="position">0</property>
+                            <property name="position">1</property>
                           </packing>
                         </child>
                         <child>
@@ -1958,11 +1708,11 @@ Defining several profiles lets you have several commands, each applying with a d
                                     </child>
                                     <child>
                                       <object class="GtkButton" id="TryExecButton">
-                                        <property name="label" translatable="yes">_Browse...</property>
+                                        <property name="label" translatable="yes">Bro_wse...</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="receives_default">True</property>
-                                        <property name="image">image5</property>
+                                        <property name="image">ImageTryExecBrowse</property>
                                         <property name="use_underline">True</property>
                                       </object>
                                       <packing>
@@ -2049,11 +1799,11 @@ Defining several profiles lets you have several commands, each applying with a d
                                     </child>
                                     <child>
                                       <object class="GtkButton" id="ShowIfRunningButton">
-                                        <property name="label" translatable="yes">_Browse...</property>
+                                        <property name="label" translatable="yes">Brow_se...</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="receives_default">True</property>
-                                        <property name="image">image6</property>
+                                        <property name="image">ImageRunningBrowse</property>
                                         <property name="use_underline">True</property>
                                       </object>
                                       <packing>
@@ -2079,22 +1829,19 @@ Defining several profiles lets you have several commands, each applying with a d
                               <object class="GtkLabel" id="label51">
                                 <property name="visible">True</property>
                                 <property name="xpad">5</property>
-                                <property name="label" translatable="yes">&lt;b&gt;Pre-requisites&lt;/b&gt;</property>
+                                <property name="label" translatable="yes">&lt;b&gt;Execution environment&lt;/b&gt;</property>
                                 <property name="use_markup">True</property>
                               </object>
                             </child>
                           </object>
                           <packing>
                             <property name="expand">False</property>
-                            <property name="position">1</property>
+                            <property name="position">2</property>
                           </packing>
                         </child>
-                        <child>
-                          <placeholder/>
-                        </child>
                       </object>
                       <packing>
-                        <property name="position">6</property>
+                        <property name="position">7</property>
                       </packing>
                     </child>
                     <child type="tab">
@@ -2104,7 +1851,7 @@ Defining several profiles lets you have several commands, each applying with a d
                         <property name="use_underline">True</property>
                       </object>
                       <packing>
-                        <property name="position">6</property>
+                        <property name="position">7</property>
                         <property name="tab_fill">False</property>
                       </packing>
                     </child>
@@ -2252,13 +1999,13 @@ Defining several profiles lets you have several commands, each applying with a d
                                 <child>
                                   <object class="GtkTable" id="table8">
                                     <property name="visible">True</property>
-                                    <property name="n_rows">3</property>
+                                    <property name="n_rows">2</property>
                                     <property name="n_columns">2</property>
                                     <property name="column_spacing">6</property>
                                     <property name="row_spacing">3</property>
                                     <child>
                                       <object class="GtkCheckButton" id="StartupNotifyButton">
-                                        <property name="label" translatable="yes">Startup _notify</property>
+                                        <property name="label" translatable="yes">_Startup notify</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">True</property>
                                         <property name="receives_default">False</property>
@@ -2299,12 +2046,6 @@ Defining several profiles lets you have several commands, each applying with a d
                                     <child>
                                       <placeholder/>
                                     </child>
-                                    <child>
-                                      <placeholder/>
-                                    </child>
-                                    <child>
-                                      <placeholder/>
-                                    </child>
                                   </object>
                                 </child>
                               </object>
@@ -2381,11 +2122,11 @@ Defining several profiles lets you have several commands, each applying with a d
                         </child>
                       </object>
                       <packing>
-                        <property name="position">7</property>
+                        <property name="position">8</property>
                       </packing>
                     </child>
                     <child type="tab">
-                      <object class="GtkLabel" id="label50">
+                      <object class="GtkLabel" id="label15">
                         <property name="visible">True</property>
                         <property name="tooltip_text" translatable="yes">This advanced tab lets you precisely choose on which schemes the selection will apply.</property>
                         <property name="label" translatable="yes">E_xecution</property>
@@ -2635,17 +2376,17 @@ Defining several profiles lets you have several commands, each applying with a d
                         </child>
                       </object>
                       <packing>
-                        <property name="position">8</property>
+                        <property name="position">9</property>
                       </packing>
                     </child>
                     <child type="tab">
                       <object class="GtkLabel" id="label59">
                         <property name="visible">True</property>
-                        <property name="label" translatable="yes">_Properties</property>
+                        <property name="label" translatable="yes">P_roperties</property>
                         <property name="use_underline">True</property>
                       </object>
                       <packing>
-                        <property name="position">6</property>
+                        <property name="position">7</property>
                         <property name="tab_fill">False</property>
                       </packing>
                     </child>
@@ -2797,6 +2538,18 @@ Defining several profiles lets you have several commands, each applying with a d
       <placeholder/>
     </child>
     <child>
+      <placeholder/>
+    </child>
+    <child>
+      <placeholder/>
+    </child>
+    <child>
+      <placeholder/>
+    </child>
+    <child>
+      <placeholder/>
+    </child>
+    <child>
       <object class="GtkLabel" id="label3">
         <property name="visible">True</property>
         <property name="label" translatable="yes">This assistant will guide you through the process of importing items, actions or menus.</property>
@@ -2812,10 +2565,10 @@ Defining several profiles lets you have several commands, each applying with a d
         <child>
           <object class="GtkFileChooserWidget" id="ImportFileChooser">
             <property name="visible">True</property>
-            <property name="local_only">False</property>
             <property name="preview_widget_active">False</property>
-            <property name="use_preview_label">False</property>
             <property name="select_multiple">True</property>
+            <property name="local_only">False</property>
+            <property name="use_preview_label">False</property>
           </object>
           <packing>
             <property name="position">0</property>
@@ -3491,18 +3244,14 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
       </object>
     </child>
   </object>
-  <object class="GtkImage" id="image2">
+  <object class="GtkImage" id="ImagePathBrowse">
     <property name="visible">True</property>
     <property name="stock">gtk-find-and-replace</property>
   </object>
-  <object class="GtkImage" id="image1">
+  <object class="GtkImage" id="ImageParametersLegend">
     <property name="visible">True</property>
     <property name="stock">gtk-help</property>
   </object>
-  <object class="GtkImage" id="image3">
-    <property name="visible">True</property>
-    <property name="stock">gtk-find-and-replace</property>
-  </object>
   <object class="GtkMessageDialog" id="ConfirmLogoutDialog">
     <property name="border_width">5</property>
     <property name="title" translatable="yes">End of session</property>
@@ -3531,7 +3280,7 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="image">image_save</property>
+                <property name="image">ImageLogoutSave</property>
                 <property name="use_underline">True</property>
               </object>
               <packing>
@@ -3546,7 +3295,7 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
-                <property name="image">image_quit</property>
+                <property name="image">ImageLogoutQuit</property>
                 <property name="use_underline">True</property>
               </object>
               <packing>
@@ -3584,38 +3333,27 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
       <action-widget response="2">CancelQuitButton</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkImage" id="image_quit">
+  <object class="GtkImage" id="ImageLogoutQuit">
     <property name="visible">True</property>
     <property name="stock">gtk-quit</property>
   </object>
-  <object class="GtkImage" id="image_save">
+  <object class="GtkImage" id="ImageLogoutSave">
     <property name="visible">True</property>
     <property name="stock">gtk-save</property>
   </object>
-  <object class="GtkImage" id="ImageDown">
-    <property name="visible">True</property>
-    <property name="stock">gtk-go-down</property>
-    <property name="icon-size">1</property>
-  </object>
-  <object class="GtkImage" id="ImageUp">
+  <object class="GtkImage" id="ImageWorkingDirectoryBrowse">
     <property name="visible">True</property>
-    <property name="stock">gtk-go-up</property>
-    <property name="icon-size">1</property>
-  </object>
-  <object class="GtkImage" id="ImageManual">
-    <property name="visible">True</property>
-    <property name="stock">gtk-index</property>
-    <property name="icon-size">1</property>
+    <property name="stock">gtk-find-and-replace</property>
   </object>
-  <object class="GtkImage" id="image4">
+  <object class="GtkImage" id="ImageRunningBrowse">
     <property name="visible">True</property>
     <property name="stock">gtk-find-and-replace</property>
   </object>
-  <object class="GtkImage" id="image5">
+  <object class="GtkImage" id="ImageTryExecBrowse">
     <property name="visible">True</property>
     <property name="stock">gtk-find-and-replace</property>
   </object>
-  <object class="GtkImage" id="image6">
+  <object class="GtkImage" id="ImageIconBrowse">
     <property name="visible">True</property>
     <property name="stock">gtk-find-and-replace</property>
   </object>



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