[nautilus-actions] Define two new user preferences for assistants



commit 31784ad1d69ad3f04cb8bc9ea5525398ae34ac7a
Author: Pierre Wieser <pwieser trychlos org>
Date:   Tue Oct 27 23:30:04 2009 +0100

    Define two new user preferences for assistants

 ChangeLog                                |   14 +
 TODO                                     |    4 -
 data/nautilus-actions.schemas.in         |   24 ++-
 src/common/na-iprefs.h                   |    3 +
 src/nact/nact-assistant-export.c         |   13 +-
 src/nact/nact-assistant-import.c         |   29 ++-
 src/nact/nact-preferences-editor.c       |   39 +++-
 src/nact/nautilus-actions-config-tool.ui |  406 +++++++++++++++++-------------
 8 files changed, 339 insertions(+), 193 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 1a223a5..70636e4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,19 @@
 2009-10-27 Pierre Wieser <pwieser trychlos org>
 
+	* data/nautilus-actions.schemas.in:
+	* src/common/na-iprefs.h:
+	Define two new preferences: quit_on_esc, confirm_when_quit_on_esc.
+
+	* src/nact/nact-assistant-export.c (on_initial_load_dialog):
+	* src/nact/nact-assistant-import.c (on_initial_load_dialog):
+	Read the user preferences from GConf.
+
+	* src/nact/nact-preferences-editor.c:
+	Edit the two new user preferences.
+
+	* src/nact/nautilus-actions-config-tool.ui:
+	Add a frame to edit the two new user preferences.
+
 	* src/nact/nautilus-actions-config-tool.ui:
 	Remove separator from Preferences dialog.
 	Add plural mark to a label in Runtime tab.
diff --git a/TODO b/TODO
index 167af71..8d65f91 100644
--- a/TODO
+++ b/TODO
@@ -55,8 +55,6 @@
 
 - undo manager (at least Ctrl-Z)
 
-- ui preferences: escape quit the assistant 
-- ui preferences: warn on escape before quitting
 - ui preferences: create root menu for background items
 - ui preferences: add about item for background items
 
@@ -77,8 +75,6 @@
   to the action - remove, or extend to each field which can led to
   unvalidity
 
-- action-new: add targets, folders, toolbar label
-
 - data factory: put together each property of each elementary data (id, label, etc.)
 
 - AssistantExport exports what it finds in Pivot, but should take its origin
diff --git a/data/nautilus-actions.schemas.in b/data/nautilus-actions.schemas.in
index 00ddcbb..1b65cd9 100644
--- a/data/nautilus-actions.schemas.in
+++ b/data/nautilus-actions.schemas.in
@@ -311,6 +311,28 @@ All schemes used by Nautilus can be used here. This only applies when targeting
     <!-- schemas for preferences -->
 
     <schema>
+      <key>/schemas/apps/nautilus-actions/preferences/assistant-esc-quit</key>
+      <owner>nautilus-actions</owner>
+      <type>bool</type>
+      <locale name="C">
+        <short>Whether the Esc key should close the assistants</short>
+        <long>If TRUE, assistant may be closed by hitting the Esc key.</long>
+      </locale>
+      <default>true</default>
+    </schema>
+
+    <schema>
+      <key>/schemas/apps/nautilus-actions/preferences/assistant-esc-confirm</key>
+      <owner>nautilus-actions</owner>
+      <type>bool</type>
+      <locale name="C">
+        <short>Ask for a confirmation when quitting by Esc</short>
+        <long>If TRUE, a confirmation will be requested when quitting an assistant by hitting the Esc key.</long>
+      </locale>
+      <default>true</default>
+    </schema>
+
+    <schema>
       <key>/schemas/apps/nautilus-actions/preferences/export-assistant</key>
       <owner>nautilus-actions</owner>
       <type>list</type>
@@ -485,7 +507,7 @@ All schemes used by Nautilus can be used here. This only applies when targeting
       <owner>nautilus-actions</owner>
       <type>bool</type>
       <locale name="C">
-        <short>Define a 'Nautilus Actions' root menu.</short>
+        <short>Define a 'Nautilus Actions' root menu</short>
         <long>If TRUE, then a 'Nautilus Actions' item will be defined in the Nautilus context menu, and will a root menu of all available actions.</long>
       </locale>
       <default>true</default>
diff --git a/src/common/na-iprefs.h b/src/common/na-iprefs.h
index 0f30c50..7e0f9a7 100644
--- a/src/common/na-iprefs.h
+++ b/src/common/na-iprefs.h
@@ -52,6 +52,9 @@ G_BEGIN_DECLS
 #define IPREFS_IMPORT_ACTIONS_IMPORT_MODE	"import-mode"
 #define IPREFS_IMPORT_ASK_LAST_MODE			"import-ask-user-last-mode"
 
+#define IPREFS_ASSIST_ESC_QUIT				"assistant-esc-quit"
+#define IPREFS_ASSIST_ESC_CONFIRM			"assistant-esc-confirm"
+
 /* import mode
  */
 enum {
diff --git a/src/nact/nact-assistant-export.c b/src/nact/nact-assistant-export.c
index e5d7a92..93dbd28 100644
--- a/src/nact/nact-assistant-export.c
+++ b/src/nact/nact-assistant-export.c
@@ -344,9 +344,12 @@ on_initial_load_dialog( NactAssistantExport *dialog, gpointer user_data )
 {
 	static const gchar *thisfn = "nact_assistant_export_on_initial_load_dialog";
 	GtkAssistant *assistant;
+	NactApplication *application;
+	NAPivot *pivot;
+	gboolean esc_quit, esc_confirm;
 
 	g_debug( "%s: dialog=%p, user_data=%p", thisfn, ( void * ) dialog, ( void * ) user_data );
-	g_assert( NACT_IS_ASSISTANT_EXPORT( dialog ));
+	g_return_if_fail( NACT_IS_ASSISTANT_EXPORT( dialog ));
 
 	assistant = GTK_ASSISTANT( base_window_get_toplevel( BASE_WINDOW( dialog )));
 
@@ -357,8 +360,12 @@ on_initial_load_dialog( NactAssistantExport *dialog, gpointer user_data )
 	assist_initial_load_confirm( dialog, assistant );
 	assist_initial_load_exportdone( dialog, assistant );
 
-	base_assistant_set_cancel_on_esc( BASE_ASSISTANT( dialog ), TRUE );
-	base_assistant_set_warn_on_esc( BASE_ASSISTANT( dialog ), TRUE );
+	application = NACT_APPLICATION( base_window_get_application( BASE_WINDOW( dialog )));
+	pivot = nact_application_get_pivot( application );
+	esc_quit = na_iprefs_read_bool( NA_IPREFS( pivot ), IPREFS_ASSIST_ESC_QUIT, TRUE );
+	base_assistant_set_cancel_on_esc( BASE_ASSISTANT( dialog ), esc_quit );
+	esc_confirm = na_iprefs_read_bool( NA_IPREFS( pivot ), IPREFS_ASSIST_ESC_CONFIRM, TRUE );
+	base_assistant_set_warn_on_esc( BASE_ASSISTANT( dialog ), esc_confirm );
 }
 
 static void
diff --git a/src/nact/nact-assistant-import.c b/src/nact/nact-assistant-import.c
index ca59494..5d78b42 100644
--- a/src/nact/nact-assistant-import.c
+++ b/src/nact/nact-assistant-import.c
@@ -106,6 +106,7 @@ static NactAssistantImport *assist_new( BaseWindow *parent );
 static gchar   *window_get_iprefs_window_id( BaseWindow *window );
 static gchar   *window_get_dialog_name( BaseWindow *dialog );
 
+static void     on_initial_load_dialog( NactAssistantImport *dialog, gpointer user_data );
 static void     on_runtime_init_dialog( NactAssistantImport *dialog, gpointer user_data );
 static void     runtime_init_intro( NactAssistantImport *window, GtkAssistant *assistant );
 static void     runtime_init_file_selector( NactAssistantImport *window, GtkAssistant *assistant );
@@ -204,6 +205,12 @@ instance_init( GTypeInstance *instance, gpointer klass )
 	base_window_signal_connect(
 			BASE_WINDOW( instance ),
 			G_OBJECT( instance ),
+			BASE_WINDOW_SIGNAL_INITIAL_LOAD,
+			G_CALLBACK( on_initial_load_dialog ));
+
+	base_window_signal_connect(
+			BASE_WINDOW( instance ),
+			G_OBJECT( instance ),
 			BASE_WINDOW_SIGNAL_RUNTIME_INIT,
 			G_CALLBACK( on_runtime_init_dialog ));
 }
@@ -285,6 +292,25 @@ window_get_dialog_name( BaseWindow *dialog )
 }
 
 static void
+on_initial_load_dialog( NactAssistantImport *dialog, gpointer user_data )
+{
+	static const gchar *thisfn = "nact_assistant_import_on_initial_load_dialog";
+	NactApplication *application;
+	NAPivot *pivot;
+	gboolean esc_quit, esc_confirm;
+
+	g_debug( "%s: dialog=%p, user_data=%p", thisfn, ( void * ) dialog, ( void * ) user_data );
+	g_return_if_fail( NACT_IS_ASSISTANT_IMPORT( dialog ));
+
+	application = NACT_APPLICATION( base_window_get_application( BASE_WINDOW( dialog )));
+	pivot = nact_application_get_pivot( application );
+	esc_quit = na_iprefs_read_bool( NA_IPREFS( pivot ), IPREFS_ASSIST_ESC_QUIT, TRUE );
+	base_assistant_set_cancel_on_esc( BASE_ASSISTANT( dialog ), esc_quit );
+	esc_confirm = na_iprefs_read_bool( NA_IPREFS( pivot ), IPREFS_ASSIST_ESC_CONFIRM, TRUE );
+	base_assistant_set_warn_on_esc( BASE_ASSISTANT( dialog ), esc_confirm );
+}
+
+static void
 on_runtime_init_dialog( NactAssistantImport *dialog, gpointer user_data )
 {
 	static const gchar *thisfn = "nact_assistant_import_on_runtime_init_dialog";
@@ -295,9 +321,6 @@ on_runtime_init_dialog( NactAssistantImport *dialog, gpointer user_data )
 
 	if( !dialog->private->dispose_has_run ){
 
-		base_assistant_set_cancel_on_esc( BASE_ASSISTANT( dialog ), TRUE );
-		base_assistant_set_warn_on_esc( BASE_ASSISTANT( dialog ), TRUE );
-
 		assistant = GTK_ASSISTANT( base_window_get_toplevel( BASE_WINDOW( dialog )));
 
 		runtime_init_intro( dialog, assistant );
diff --git a/src/nact/nact-preferences-editor.c b/src/nact/nact-preferences-editor.c
index 8d48dec..e0c5beb 100644
--- a/src/nact/nact-preferences-editor.c
+++ b/src/nact/nact-preferences-editor.c
@@ -49,7 +49,7 @@ struct NactPreferencesEditorClassPrivate {
 /* private instance data
  */
 struct NactPreferencesEditorPrivate {
-	gboolean         dispose_has_run;
+	gboolean dispose_has_run;
 };
 
 static GObjectClass *st_parent_class = NULL;
@@ -67,6 +67,7 @@ static gchar   *base_get_dialog_name( BaseWindow *window );
 static void     on_base_initial_load_dialog( NactPreferencesEditor *editor, gpointer user_data );
 static void     on_base_runtime_init_dialog( NactPreferencesEditor *editor, gpointer user_data );
 static void     on_base_all_widgets_showed( NactPreferencesEditor *editor, gpointer user_data );
+static void     on_esc_quit_toggled( GtkToggleButton *button, NactPreferencesEditor *editor );
 static void     on_cancel_clicked( GtkButton *button, NactPreferencesEditor *editor );
 static void     on_ok_clicked( GtkButton *button, NactPreferencesEditor *editor );
 static void     save_preferences( NactPreferencesEditor *editor );
@@ -271,6 +272,7 @@ on_base_runtime_init_dialog( NactPreferencesEditor *editor, gpointer user_data )
 	gboolean relabel;
 	gint import_mode, export_format;
 	GtkWidget *button;
+	gboolean esc_quit, esc_confirm;
 
 	g_debug( "%s: editor=%p, user_data=%p", thisfn, ( void * ) editor, ( void * ) user_data );
 
@@ -318,6 +320,21 @@ on_base_runtime_init_dialog( NactPreferencesEditor *editor, gpointer user_data )
 	button = base_window_get_widget( BASE_WINDOW( editor ), "RelabelProfileButton" );
 	gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( button ), relabel );
 
+	button = base_window_get_widget( BASE_WINDOW( editor ), "EscCloseButton" );
+
+	base_window_signal_connect(
+			BASE_WINDOW( editor ),
+			G_OBJECT( button ),
+			"toggled",
+			G_CALLBACK( on_esc_quit_toggled ));
+
+	esc_quit = na_iprefs_read_bool( NA_IPREFS( pivot ), IPREFS_ASSIST_ESC_QUIT, TRUE );
+	gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( button ), esc_quit );
+
+	esc_confirm = na_iprefs_read_bool( NA_IPREFS( pivot ), IPREFS_ASSIST_ESC_CONFIRM, TRUE );
+	button = base_window_get_widget( BASE_WINDOW( editor ), "EscConfirmButton" );
+	gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( button ), esc_confirm );
+
 	/* third tab: import tool
 	 */
 	import_mode = na_iprefs_get_import_mode( NA_IPREFS( pivot ), IPREFS_IMPORT_ACTIONS_IMPORT_MODE );
@@ -389,6 +406,17 @@ on_base_all_widgets_showed( NactPreferencesEditor *editor, gpointer user_data )
 }
 
 static void
+on_esc_quit_toggled( GtkToggleButton *button, NactPreferencesEditor *editor )
+{
+	gboolean is_active;
+	GtkWidget *toggle;
+
+	is_active = gtk_toggle_button_get_active( button );
+	toggle = base_window_get_widget( BASE_WINDOW( editor ), "EscConfirmButton" );
+	gtk_widget_set_sensitive( toggle, is_active );
+}
+
+static void
 on_cancel_clicked( GtkButton *button, NactPreferencesEditor *editor )
 {
 	GtkWindow *toplevel = base_window_get_toplevel( BASE_WINDOW( editor ));
@@ -414,6 +442,7 @@ save_preferences( NactPreferencesEditor *editor )
 	gboolean enabled;
 	gboolean relabel;
 	gint import_mode, export_format;
+	gboolean esc_quit, esc_confirm;
 
 	application = NACT_APPLICATION( base_window_get_application( BASE_WINDOW( editor )));
 	pivot = nact_application_get_pivot( application );
@@ -459,6 +488,14 @@ save_preferences( NactPreferencesEditor *editor )
 	relabel = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( button ));
 	na_iprefs_write_bool( NA_IPREFS( pivot ), IPREFS_RELABEL_PROFILES, relabel );
 
+	button = base_window_get_widget( BASE_WINDOW( editor ), "EscCloseButton" );
+	esc_quit = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( button ));
+	na_iprefs_write_bool( NA_IPREFS( pivot ), IPREFS_ASSIST_ESC_QUIT, esc_quit );
+
+	button = base_window_get_widget( BASE_WINDOW( editor ), "EscConfirmButton" );
+	esc_confirm = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( button ));
+	na_iprefs_write_bool( NA_IPREFS( pivot ), IPREFS_ASSIST_ESC_CONFIRM, esc_confirm );
+
 	/* third tab: import tool
 	 */
 	import_mode = IPREFS_IMPORT_NO_IMPORT;
diff --git a/src/nact/nautilus-actions-config-tool.ui b/src/nact/nautilus-actions-config-tool.ui
index 416c99f..6550b0f 100644
--- a/src/nact/nautilus-actions-config-tool.ui
+++ b/src/nact/nautilus-actions-config-tool.ui
@@ -1932,84 +1932,76 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
               <object class="GtkVBox" id="vbox33">
                 <property name="visible">True</property>
                 <child>
-                  <object class="GtkVBox" id="vbox28">
+                  <object class="GtkFrame" id="frame3">
                     <property name="visible">True</property>
+                    <property name="border_width">6</property>
+                    <property name="label_xalign">0</property>
+                    <property name="shadow_type">in</property>
                     <child>
-                      <object class="GtkFrame" id="frame3">
+                      <object class="GtkAlignment" id="alignment3">
                         <property name="visible">True</property>
-                        <property name="border_width">6</property>
-                        <property name="label_xalign">0</property>
-                        <property name="shadow_type">in</property>
+                        <property name="left_padding">12</property>
                         <child>
-                          <object class="GtkAlignment" id="alignment3">
+                          <object class="GtkVBox" id="vbox30">
                             <property name="visible">True</property>
-                            <property name="left_padding">12</property>
+                            <property name="border_width">6</property>
+                            <property name="homogeneous">True</property>
                             <child>
-                              <object class="GtkVBox" id="vbox30">
+                              <object class="GtkRadioButton" id="OrderAlphaAscButton">
+                                <property name="label" translatable="yes">_Ascending alphabetical order</property>
                                 <property name="visible">True</property>
-                                <property name="border_width">6</property>
-                                <property name="homogeneous">True</property>
-                                <child>
-                                  <object class="GtkRadioButton" id="OrderAlphaAscButton">
-                                    <property name="label" translatable="yes">_Ascending alphabetical order</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="tooltip_text" translatable="yes">This button being selected, treeview items (actions and menus) will be maintained in alphabetical ascending order of their label.</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="active">True</property>
-                                    <property name="draw_indicator">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkRadioButton" id="OrderAlphaDescButton">
-                                    <property name="label" translatable="yes">_Descending alphabetical order</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="tooltip_text" translatable="yes">This button being selected, treeview items (actions and menus) will be maintained in alphabetical descending order of their label.</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">OrderAlphaAscButton</property>
-                                  </object>
-                                  <packing>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkRadioButton" id="OrderManualButton">
-                                    <property name="label" translatable="yes">_Manual order</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="tooltip_text" translatable="yes">This button being selected, no order will be automagically forced in the treeview. Instead, you will be able to reorder each item, action or menu, individually.</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="draw_indicator">True</property>
-                                    <property name="group">OrderAlphaAscButton</property>
-                                  </object>
-                                  <packing>
-                                    <property name="position">2</property>
-                                  </packing>
-                                </child>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="tooltip_text" translatable="yes">This button being selected, treeview items (actions and menus) will be maintained in alphabetical ascending order of their label.</property>
+                                <property name="use_underline">True</property>
+                                <property name="active">True</property>
+                                <property name="draw_indicator">True</property>
                               </object>
+                              <packing>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkRadioButton" id="OrderAlphaDescButton">
+                                <property name="label" translatable="yes">_Descending alphabetical order</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="tooltip_text" translatable="yes">This button being selected, treeview items (actions and menus) will be maintained in alphabetical descending order of their label.</property>
+                                <property name="use_underline">True</property>
+                                <property name="draw_indicator">True</property>
+                                <property name="group">OrderAlphaAscButton</property>
+                              </object>
+                              <packing>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkRadioButton" id="OrderManualButton">
+                                <property name="label" translatable="yes">_Manual order</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="tooltip_text" translatable="yes">This button being selected, no order will be automagically forced in the treeview. Instead, you will be able to reorder each item, action or menu, individually.</property>
+                                <property name="use_underline">True</property>
+                                <property name="draw_indicator">True</property>
+                                <property name="group">OrderAlphaAscButton</property>
+                              </object>
+                              <packing>
+                                <property name="position">2</property>
+                              </packing>
                             </child>
-                          </object>
-                        </child>
-                        <child type="label">
-                          <object class="GtkLabel" id="label1">
-                            <property name="visible">True</property>
-                            <property name="xpad">5</property>
-                            <property name="label" translatable="yes">&lt;b&gt;Items ordering&lt;/b&gt;</property>
-                            <property name="use_markup">True</property>
                           </object>
                         </child>
                       </object>
-                      <packing>
-                        <property name="position">0</property>
-                      </packing>
+                    </child>
+                    <child type="label">
+                      <object class="GtkLabel" id="label1">
+                        <property name="visible">True</property>
+                        <property name="xpad">5</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Items ordering&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </object>
                     </child>
                   </object>
                   <packing>
@@ -2018,67 +2010,59 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkVBox" id="vbox29">
+                  <object class="GtkFrame" id="frame1">
                     <property name="visible">True</property>
+                    <property name="border_width">6</property>
+                    <property name="label_xalign">0</property>
+                    <property name="shadow_type">in</property>
                     <child>
-                      <object class="GtkFrame" id="frame1">
+                      <object class="GtkAlignment" id="alignment1">
                         <property name="visible">True</property>
-                        <property name="border_width">6</property>
-                        <property name="label_xalign">0</property>
-                        <property name="shadow_type">in</property>
+                        <property name="left_padding">12</property>
                         <child>
-                          <object class="GtkAlignment" id="alignment1">
+                          <object class="GtkVBox" id="vbox17">
                             <property name="visible">True</property>
-                            <property name="left_padding">12</property>
+                            <property name="border_width">6</property>
+                            <property name="homogeneous">True</property>
                             <child>
-                              <object class="GtkVBox" id="vbox17">
+                              <object class="GtkCheckButton" id="CreateRootMenuButton">
+                                <property name="label" translatable="yes">_Create a root 'Nautilus Actions' menu</property>
                                 <property name="visible">True</property>
-                                <property name="border_width">6</property>
-                                <property name="homogeneous">True</property>
-                                <child>
-                                  <object class="GtkCheckButton" id="CreateRootMenuButton">
-                                    <property name="label" translatable="yes">_Create a root 'Nautilus Actions' menu</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="tooltip_text" translatable="yes">When this option is checked, a 'Nautilus Actions' item is added to the Nautilus context menu ; this item will be the root menu of all available actions.</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="draw_indicator">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkCheckButton" id="AddAboutButton">
-                                    <property name="label" translatable="yes">Add an 'A_bout Nautilus Actions' item in the Nautilus context menus</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="tooltip_text" translatable="yes">When this option is checked, an 'About Nautilus Actions' item is added as the last item of the first level of submenus in Nautilus context menu.</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="draw_indicator">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="tooltip_text" translatable="yes">When this option is checked, a 'Nautilus Actions' item is added to the Nautilus context menu ; this item will be the root menu of all available actions.</property>
+                                <property name="use_underline">True</property>
+                                <property name="draw_indicator">True</property>
                               </object>
+                              <packing>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkCheckButton" id="AddAboutButton">
+                                <property name="label" translatable="yes">Add an 'A_bout Nautilus Actions' item in the Nautilus context menus</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="tooltip_text" translatable="yes">When this option is checked, an 'About Nautilus Actions' item is added as the last item of the first level of submenus in Nautilus context menu.</property>
+                                <property name="use_underline">True</property>
+                                <property name="draw_indicator">True</property>
+                              </object>
+                              <packing>
+                                <property name="position">1</property>
+                              </packing>
                             </child>
-                          </object>
-                        </child>
-                        <child type="label">
-                          <object class="GtkLabel" id="label41">
-                            <property name="visible">True</property>
-                            <property name="xpad">5</property>
-                            <property name="label" translatable="yes">&lt;b&gt;Nautilus menu layout&lt;/b&gt;</property>
-                            <property name="use_markup">True</property>
                           </object>
                         </child>
                       </object>
-                      <packing>
-                        <property name="position">0</property>
-                      </packing>
+                    </child>
+                    <child type="label">
+                      <object class="GtkLabel" id="label41">
+                        <property name="visible">True</property>
+                        <property name="xpad">5</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Nautilus menu layout&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </object>
                     </child>
                   </object>
                   <packing>
@@ -2103,105 +2087,160 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
               <object class="GtkVBox" id="vbox34">
                 <property name="visible">True</property>
                 <child>
-                  <object class="GtkVBox" id="vbox31">
+                  <object class="GtkFrame" id="frame2">
                     <property name="visible">True</property>
+                    <property name="border_width">6</property>
+                    <property name="label_xalign">0</property>
+                    <property name="shadow_type">in</property>
                     <child>
-                      <object class="GtkFrame" id="frame2">
+                      <object class="GtkAlignment" id="alignment2">
                         <property name="visible">True</property>
-                        <property name="border_width">6</property>
-                        <property name="label_xalign">0</property>
-                        <property name="shadow_type">in</property>
+                        <property name="left_padding">12</property>
                         <child>
-                          <object class="GtkAlignment" id="alignment2">
+                          <object class="GtkVBox" id="vbox25">
                             <property name="visible">True</property>
-                            <property name="left_padding">12</property>
                             <child>
-                              <object class="GtkVBox" id="vbox25">
+                              <object class="GtkLabel" id="label45">
                                 <property name="visible">True</property>
+                                <property name="xalign">0</property>
+                                <property name="ypad">6</property>
+                                <property name="label" translatable="yes">What to do when pasting or duplicating an item in the tree ?</property>
+                                <property name="wrap">True</property>
+                              </object>
+                              <packing>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkVBox" id="vbox27">
+                                <property name="visible">True</property>
+                                <property name="border_width">6</property>
                                 <child>
-                                  <object class="GtkLabel" id="label45">
+                                  <object class="GtkCheckButton" id="RelabelMenuButton">
+                                    <property name="label" translatable="yes">Relabel _menus</property>
                                     <property name="visible">True</property>
-                                    <property name="xalign">0</property>
-                                    <property name="ypad">6</property>
-                                    <property name="label" translatable="yes">What to do when pasting or duplicating an item in the tree ?</property>
-                                    <property name="wrap">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="tooltip_text" translatable="yes">The menu will be relabeled as 'Copy of &lt;original menu label&gt;'.</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="draw_indicator">True</property>
                                   </object>
                                   <packing>
                                     <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkVBox" id="vbox27">
+                                  <object class="GtkCheckButton" id="RelabelActionButton">
+                                    <property name="label" translatable="yes">Relabel _actions</property>
                                     <property name="visible">True</property>
-                                    <property name="border_width">6</property>
-                                    <child>
-                                      <object class="GtkCheckButton" id="RelabelMenuButton">
-                                        <property name="label" translatable="yes">Relabel _menus</property>
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">False</property>
-                                        <property name="tooltip_text" translatable="yes">The menu will be relabeled as 'Copy of &lt;original menu label&gt;'.</property>
-                                        <property name="use_underline">True</property>
-                                        <property name="draw_indicator">True</property>
-                                      </object>
-                                      <packing>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkCheckButton" id="RelabelActionButton">
-                                        <property name="label" translatable="yes">Relabel _actions</property>
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">False</property>
-                                        <property name="tooltip_text" translatable="yes">The action will be relabeled as 'Copy of &lt;original action label&gt;'.</property>
-                                        <property name="use_underline">True</property>
-                                        <property name="draw_indicator">True</property>
-                                      </object>
-                                      <packing>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkCheckButton" id="RelabelProfileButton">
-                                        <property name="label" translatable="yes">Relabel _profiles</property>
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">False</property>
-                                        <property name="tooltip_text" translatable="yes">The profile will be relabeled as 'Copy of &lt;original profile label&gt;'.</property>
-                                        <property name="use_underline">True</property>
-                                        <property name="draw_indicator">True</property>
-                                      </object>
-                                      <packing>
-                                        <property name="position">2</property>
-                                      </packing>
-                                    </child>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="tooltip_text" translatable="yes">The action will be relabeled as 'Copy of &lt;original action label&gt;'.</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="draw_indicator">True</property>
                                   </object>
                                   <packing>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
+                                <child>
+                                  <object class="GtkCheckButton" id="RelabelProfileButton">
+                                    <property name="label" translatable="yes">Relabel _profiles</property>
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="tooltip_text" translatable="yes">The profile will be relabeled as 'Copy of &lt;original profile label&gt;'.</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="draw_indicator">True</property>
+                                  </object>
+                                  <packing>
+                                    <property name="position">2</property>
+                                  </packing>
+                                </child>
                               </object>
+                              <packing>
+                                <property name="position">1</property>
+                              </packing>
                             </child>
                           </object>
                         </child>
-                        <child type="label">
-                          <object class="GtkLabel" id="label42">
+                      </object>
+                    </child>
+                    <child type="label">
+                      <object class="GtkLabel" id="label42">
+                        <property name="visible">True</property>
+                        <property name="xpad">5</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Relabeling items&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="GtkFrame" id="frame6">
+                    <property name="visible">True</property>
+                    <property name="border_width">6</property>
+                    <property name="label_xalign">0</property>
+                    <property name="shadow_type">in</property>
+                    <child>
+                      <object class="GtkAlignment" id="alignment6">
+                        <property name="visible">True</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <object class="GtkVBox" id="vbox43">
                             <property name="visible">True</property>
-                            <property name="xpad">5</property>
-                            <property name="label" translatable="yes">&lt;b&gt;Relabeling items&lt;/b&gt;</property>
-                            <property name="use_markup">True</property>
+                            <property name="border_width">6</property>
+                            <child>
+                              <object class="GtkCheckButton" id="EscCloseButton">
+                                <property name="label" translatable="yes">Esc key quits the assistant</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="tooltip_text" translatable="yes">When this box is checked, the Escape key will close the current assistant.</property>
+                                <property name="use_underline">True</property>
+                                <property name="draw_indicator">True</property>
+                              </object>
+                              <packing>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkCheckButton" id="EscConfirmButton">
+                                <property name="label" translatable="yes">Ask for a confirmation when quitting the assistant on Esc key</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">False</property>
+                                <property name="tooltip_text" translatable="yes">When this box is checked, closing an assistant by hitting the Escape key will trigger a confirmation dialog.</property>
+                                <property name="use_underline">True</property>
+                                <property name="draw_indicator">True</property>
+                              </object>
+                              <packing>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <placeholder/>
+                            </child>
                           </object>
                         </child>
                       </object>
-                      <packing>
-                        <property name="position">0</property>
-                      </packing>
+                    </child>
+                    <child type="label">
+                      <object class="GtkLabel" id="label16">
+                        <property name="visible">True</property>
+                        <property name="xpad">5</property>
+                        <property name="label" translatable="yes">&lt;b&gt;Assistants&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </object>
                     </child>
                   </object>
                   <packing>
                     <property name="expand">False</property>
-                    <property name="position">0</property>
+                    <property name="position">1</property>
                   </packing>
                 </child>
               </object>
@@ -2263,6 +2302,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">False</property>
+                                        <property name="tooltip_text" translatable="yes">The import operation will be canceled.</property>
                                         <property name="use_underline">True</property>
                                         <property name="active">True</property>
                                         <property name="draw_indicator">True</property>
@@ -2277,6 +2317,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">False</property>
+                                        <property name="tooltip_text" translatable="yes">The imported action will be provided a new UUID. The action will be relabeled as '... (renumbered)'.</property>
                                         <property name="use_underline">True</property>
                                         <property name="draw_indicator">True</property>
                                         <property name="group">PrefsNoImportButton</property>
@@ -2291,6 +2332,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">False</property>
+                                        <property name="tooltip_text" translatable="yes">The existing action will be overriden by the imported one.</property>
                                         <property name="use_underline">True</property>
                                         <property name="draw_indicator">True</property>
                                         <property name="group">PrefsNoImportButton</property>
@@ -2305,6 +2347,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">False</property>
+                                        <property name="tooltip_text" translatable="yes">A dialog box will be brought up to ask you what to do.</property>
                                         <property name="use_underline">True</property>
                                         <property name="draw_indicator">True</property>
                                         <property name="group">PrefsNoImportButton</property>
@@ -2332,6 +2375,7 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
                         </child>
                       </object>
                       <packing>
+                        <property name="expand">False</property>
                         <property name="position">0</property>
                       </packing>
                     </child>



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