[nautilus-actions] Implement %m and %M parameters for mimetypes
- From: Pierre Wieser <pwieser src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus-actions] Implement %m and %M parameters for mimetypes
- Date: Sat, 7 Aug 2010 18:52:28 +0000 (UTC)
commit 36cb5f9d902b1204e81d50f88458f48711b09bc0
Author: pierre <pierre vfedora10 virtuals pwi>
Date: Thu Aug 5 11:28:51 2010 +0200
Implement %m and %M parameters for mimetypes
Also review the example generation to not duplicate the parsing of the parameters.
ChangeLog | 15 +++
po/POTFILES.in | 1 +
src/core/na-tokens.c | 147 +++++++++++++++++++++--------
src/core/na-tokens.h | 29 +++++-
src/nact/nact-icommand-tab.c | 31 ++++++-
src/nact/nautilus-actions-config-tool.ui | 152 ++++++++++++++++++++----------
6 files changed, 283 insertions(+), 92 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 46c3d9d..9afff67 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2010-08-05 Pierre Wieser <pwieser trychlos org>
+
+ * po/POTFILES.in: Add src/core/na-tokens.c file.
+
+ * src/core/na-tokens.c:
+ * src/core/na-tokens.h (na_tokens_new_for_example): New function.
+
+ * src/core/na-tokens.c (parse_singular):
+ Implement %m and %M parameters for mimetypes.
+
+ * src/nact/nact-icommand-tab.c (parse_parameters):
+ Use a fake NATokens object to print an example of the command.
+
+ * src/nact/nautilus-actions-config-tool.ui: Fix some labels.
+
2010-08-04 Pierre Wieser <pwieser trychlos org>
* src/core/na-tokens.c (is_singular_exec):
diff --git a/po/POTFILES.in b/po/POTFILES.in
index aeaa66f..741e449 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -13,6 +13,7 @@ src/core/na-object-item-factory.c
src/core/na-object-menu.c
src/core/na-object-profile.c
src/core/na-object-profile-factory.c
+src/core/na-tokens.c
src/io-desktop/nadp-desktop-provider.c
src/io-gconf/nagp-gconf-provider.c
src/io-xml/naxml-reader.c
diff --git a/src/core/na-tokens.c b/src/core/na-tokens.c
index 1add1c8..bb4c9a8 100644
--- a/src/core/na-tokens.c
+++ b/src/core/na-tokens.c
@@ -32,6 +32,7 @@
#include <config.h>
#endif
+#include <glib/gi18n.h>
#include <string.h>
#include <api/na-core-utils.h>
@@ -66,6 +67,8 @@ struct NATokensPrivate {
gchar *basenames_woext_str;
GSList *exts;
gchar *exts_str;
+ GSList *mimetypes;
+ gchar *mimetypes_str;
gchar *hostname;
gchar *username;
@@ -75,15 +78,16 @@ struct NATokensPrivate {
static GObjectClass *st_parent_class = NULL;
-static GType register_type( void );
-static void class_init( NATokensClass *klass );
-static void instance_init( GTypeInstance *instance, gpointer klass );
-static void instance_dispose( GObject *object );
-static void instance_finalize( GObject *object );
+static GType register_type( void );
+static void class_init( NATokensClass *klass );
+static void instance_init( GTypeInstance *instance, gpointer klass );
+static void instance_dispose( GObject *object );
+static void instance_finalize( GObject *object );
-static void execute_action_command( const gchar *command, const NAObjectProfile *profile );
-static gboolean is_singular_exec( const NATokens *tokens, const gchar *exec );
-static gchar *parse_singular( const NATokens *tokens, const gchar *input, guint i, gboolean utf8 );
+static NATokens *build_string_lists( NATokens *tokens );
+static void execute_action_command( const gchar *command, const NAObjectProfile *profile );
+static gboolean is_singular_exec( const NATokens *tokens, const gchar *exec );
+static gchar *parse_singular( const NATokens *tokens, const gchar *input, guint i, gboolean utf8 );
GType
na_tokens_get_type( void )
@@ -165,6 +169,8 @@ instance_init( GTypeInstance *instance, gpointer klass )
self->private->basenames_woext_str = NULL;
self->private->exts = NULL;
self->private->exts_str = NULL;
+ self->private->mimetypes = NULL;
+ self->private->mimetypes_str = NULL;
self->private->hostname = NULL;
self->private->username = NULL;
@@ -210,6 +216,8 @@ instance_finalize( GObject *object )
g_free( self->private->username );
g_free( self->private->hostname );
+ g_free( self->private->mimetypes_str );
+ na_core_utils_slist_free( self->private->mimetypes );
g_free( self->private->exts_str );
na_core_utils_slist_free( self->private->exts );
g_free( self->private->basenames_woext_str );
@@ -232,6 +240,67 @@ instance_finalize( GObject *object )
}
/**
+ * na_tokens_new_for_example:
+ *
+ * Returns: a new #NATokens object initialized with fake values for two
+ * regular files, in order to be used as an example of an expanded command
+ * line.
+ */
+NATokens *
+na_tokens_new_for_example( void )
+{
+ NATokens *tokens;
+ const gchar *ex_uri1 = _( "file:///path/to/file1.mid" );
+ const gchar *ex_uri2 = _( "file:///path/to/file2.jpeg" );
+ const gchar *ex_mimetype1 = _( "audio/x-midi" );
+ const gchar *ex_mimetype2 = _( "image/jpeg" );
+ const guint ex_port = 8080;
+ const gchar *ex_host = _( "test.example.net" );
+ const gchar *ex_user = _( "user" );
+ NAGnomeVFSURI *vfs;
+ gchar *dirname, *bname, *bname_woext, *ext;
+ GSList *is;
+ gboolean first;
+
+ tokens = g_object_new( NA_TOKENS_TYPE, NULL );
+ first = TRUE;
+ tokens->private->count = 2;
+
+ tokens->private->uris = g_slist_append( tokens->private->uris, g_strdup( ex_uri1 ));
+ tokens->private->uris = g_slist_append( tokens->private->uris, g_strdup( ex_uri2 ));
+
+ for( is = tokens->private->uris ; is ; is = is->next ){
+ vfs = g_new0( NAGnomeVFSURI, 1 );
+ na_gnome_vfs_uri_parse( vfs, is->data );
+
+ tokens->private->filenames = g_slist_append( tokens->private->filenames, g_strdup( vfs->path ));
+ dirname = g_path_get_dirname( vfs->path );
+ tokens->private->basedirs = g_slist_append( tokens->private->basedirs, dirname );
+ bname = g_path_get_basename( vfs->path );
+ tokens->private->basenames = g_slist_append( tokens->private->basenames, bname );
+ na_core_utils_dir_split_ext( bname, &bname_woext, &ext );
+ tokens->private->basenames_woext = g_slist_append( tokens->private->basenames_woext, bname_woext );
+ tokens->private->exts = g_slist_append( tokens->private->exts, ext );
+
+ if( first ){
+ tokens->private->scheme = g_strdup( vfs->scheme );
+ first = FALSE;
+ }
+
+ na_gnome_vfs_uri_free( vfs );
+ }
+
+ tokens->private->mimetypes = g_slist_append( tokens->private->mimetypes, g_strdup( ex_mimetype1 ));
+ tokens->private->mimetypes = g_slist_append( tokens->private->mimetypes, g_strdup( ex_mimetype2 ));
+
+ tokens->private->hostname = g_strdup( ex_host );
+ tokens->private->username = g_strdup( ex_user );
+ tokens->private->port = ex_port;
+
+ return( build_string_lists( tokens ));
+}
+
+/**
* na_tokens_new_from_selection:
* @selection: a #GList list of #NASelectedInfo objects.
*
@@ -243,7 +312,7 @@ na_tokens_new_from_selection( GList *selection )
static const gchar *thisfn = "na_tokens_new_from_selection";
NATokens *tokens;
GList *it;
- gchar *uri, *filename, *basedir, *basename, *bname_woext, *ext;
+ gchar *uri, *filename, *basedir, *basename, *bname_woext, *ext, *mimetype;
GFile *location;
gboolean first;
NAGnomeVFSURI *vfs;
@@ -257,6 +326,7 @@ na_tokens_new_from_selection( GList *selection )
for( it = selection ; it ; it = it->next ){
location = na_selected_info_get_location( NA_SELECTED_INFO( it->data ));
+ mimetype = na_selected_info_get_mime_type( NA_SELECTED_INFO( it->data ));
uri = na_selected_info_get_uri( NA_SELECTED_INFO( it->data ));
filename = g_file_get_path( location );
@@ -283,18 +353,12 @@ na_tokens_new_from_selection( GList *selection )
tokens->private->basenames = g_slist_prepend( tokens->private->basenames, basename );
tokens->private->basenames_woext = g_slist_prepend( tokens->private->basenames_woext, bname_woext );
tokens->private->exts = g_slist_prepend( tokens->private->exts, ext );
+ tokens->private->mimetypes = g_slist_prepend( tokens->private->mimetypes, mimetype );
g_object_unref( location );
}
- tokens->private->uris_str = na_core_utils_slist_join_at_end( tokens->private->uris, " " );
- tokens->private->filenames_str = na_core_utils_slist_join_at_end( tokens->private->filenames, " " );
- tokens->private->basedirs_str = na_core_utils_slist_join_at_end( tokens->private->basedirs, " " );
- tokens->private->basenames_str = na_core_utils_slist_join_at_end( tokens->private->basenames, " " );
- tokens->private->basenames_woext_str = na_core_utils_slist_join_at_end( tokens->private->basenames_woext, " " );
- tokens->private->exts_str = na_core_utils_slist_join_at_end( tokens->private->exts, " " );
-
- return( tokens );
+ return( build_string_lists( tokens ));
}
/**
@@ -305,27 +369,6 @@ na_tokens_new_from_selection( GList *selection )
*
* Expands the parameters in the given string.
*
- * Valid parameters are :
- *
- * %b: (first) basename
- * %B: space-separated list of basenames
- * %c: count of selected items
- * %d: (first) base directory
- * %D: space-separated list of base directory of each selected items
- * %f: (first) file name
- * %F: space-separated list of selected file names
- * %h: hostname of the (first) URI
- * %n: username of the (first) URI
- * %p: port number of the (first) URI
- * %s: scheme of the (first) URI
- * %u: (first) URI
- * %U: space-separated list of selected URIs
- * %w: (first) basename without the extension
- * %W: space-separated list of basenames without their extension
- * %x: (first) extension
- * %X: space-separated list of extensions
- * %%: the « % » character
- *
* Returns: a copy of @input string with tokens expanded, as a newly
* allocated string which should be g_free() by the caller.
*/
@@ -374,6 +417,20 @@ na_tokens_execute_action( const NATokens *tokens, const NAObjectProfile *profile
g_free( exec );
}
+static NATokens *
+build_string_lists( NATokens *tokens )
+{
+ tokens->private->uris_str = na_core_utils_slist_join_at_end( tokens->private->uris, " " );
+ tokens->private->filenames_str = na_core_utils_slist_join_at_end( tokens->private->filenames, " " );
+ tokens->private->basedirs_str = na_core_utils_slist_join_at_end( tokens->private->basedirs, " " );
+ tokens->private->basenames_str = na_core_utils_slist_join_at_end( tokens->private->basenames, " " );
+ tokens->private->basenames_woext_str = na_core_utils_slist_join_at_end( tokens->private->basenames_woext, " " );
+ tokens->private->exts_str = na_core_utils_slist_join_at_end( tokens->private->exts, " " );
+ tokens->private->mimetypes_str = na_core_utils_slist_join_at_end( tokens->private->mimetypes, " " );
+
+ return( tokens );
+}
+
static void
execute_action_command( const gchar *command, const NAObjectProfile *profile )
{
@@ -543,6 +600,20 @@ parse_singular( const NATokens *tokens, const gchar *input, guint i, gboolean ut
}
break;
+ case 'm':
+ if( tokens->private->mimetypes ){
+ tmp = g_shell_quote( g_slist_nth_data( tokens->private->mimetypes, i ));
+ output = g_string_append( output, tmp );
+ g_free( tmp );
+ }
+ break;
+
+ case 'M':
+ if( tokens->private->mimetypes ){
+ output = g_string_append( output, tokens->private->mimetypes_str );
+ }
+ break;
+
case 'n':
if( tokens->private->username ){
tmp = g_shell_quote( tokens->private->username );
diff --git a/src/core/na-tokens.h b/src/core/na-tokens.h
index 802799f..d8116c4 100644
--- a/src/core/na-tokens.h
+++ b/src/core/na-tokens.h
@@ -48,10 +48,32 @@
* plugin, attaching the result to each item in the context menu.
*
* Adding a parameter requires updating of :
- * - src/core/na-tokens.c::na_tokens_is_singular_exec()
- * - src/core/na-tokens.c::na_tokens_parse_parameters()
- * - nautilus-actions/nact/nact-icommand-tab.c:parse_parameters()
+ * - src/core/na-tokens.c::is_singular_exec()
+ * - src/core/na-tokens.c::parse_singular()
* - src/nact/nautilus-actions-config-tool.ui:LegendDialog
+ *
+ * Valid parameters are :
+ *
+ * %b: (first) basename
+ * %B: space-separated list of basenames
+ * %c: count of selected items
+ * %d: (first) base directory
+ * %D: space-separated list of base directory of each selected items
+ * %f: (first) file name
+ * %F: space-separated list of selected file names
+ * %h: hostname of the (first) URI
+ * %m: (first) mimetype
+ * %M: space-separated list of mimetypes
+ * %n: username of the (first) URI
+ * %p: port number of the (first) URI
+ * %s: scheme of the (first) URI
+ * %u: (first) URI
+ * %U: space-separated list of selected URIs
+ * %w: (first) basename without the extension
+ * %W: space-separated list of basenames without their extension
+ * %x: (first) extension
+ * %X: space-separated list of extensions
+ * %%: the « % » character
*/
#include <api/na-object-profile.h>
@@ -83,6 +105,7 @@ typedef struct {
GType na_tokens_get_type( void );
+NATokens *na_tokens_new_for_example ( void );
NATokens *na_tokens_new_from_selection( GList *selection );
gchar *na_tokens_parse_parameters( const NATokens *tokens, const gchar *string, gboolean utf8 );
diff --git a/src/nact/nact-icommand-tab.c b/src/nact/nact-icommand-tab.c
index c23cf5c..0322dd2 100644
--- a/src/nact/nact-icommand-tab.c
+++ b/src/nact/nact-icommand-tab.c
@@ -40,6 +40,7 @@
#include <core/na-iprefs.h>
#include <core/na-factory-object.h>
+#include <core/na-tokens.h>
#include "base-window.h"
#include "base-iprefs.h"
@@ -71,9 +72,10 @@ struct NactICommandTabInterfacePrivate {
#define ICOMMAND_TAB_LEGEND_VISIBLE "nact-icommand-tab-legend-dialog-visible"
#define ICOMMAND_TAB_STATUSBAR_CONTEXT "nact-icommand-tab-statusbar-context"
-static gboolean st_initialized = FALSE;
-static gboolean st_finalized = FALSE;
-static gboolean st_on_selection_change = FALSE;
+static gboolean st_initialized = FALSE;
+static gboolean st_finalized = FALSE;
+static gboolean st_on_selection_change = FALSE;
+static NATokens *st_tokens = NULL;
static GType register_type( void );
static void interface_base_init( NactICommandTabInterface *klass );
@@ -287,6 +289,13 @@ nact_icommand_tab_runtime_init_toplevel( NactICommandTab *instance )
G_OBJECT( instance ),
IACTIONS_LIST_SIGNAL_COLUMN_EDITED,
G_CALLBACK( on_iactions_list_column_edited ));
+
+ /* allocate a static fake NATokens object which will be user to build
+ * the example label - this object will be unreffed on dispose
+ */
+ if( !st_tokens ){
+ st_tokens = na_tokens_new_for_example();
+ }
}
}
@@ -321,6 +330,10 @@ nact_icommand_tab_dispose( NactICommandTab *instance )
g_debug( "%s: instance=%p", thisfn, ( void * ) instance );
legend_dialog_hide( instance );
+
+ if( st_tokens ){
+ g_object_unref( st_tokens );
+ }
}
}
@@ -657,6 +670,7 @@ on_wdir_changed( GtkEntry *entry, NactICommandTab *instance )
static gchar *
parse_parameters( NactICommandTab *instance )
{
+#if 0
GString *tmp_string = g_string_new( "" );
NAObjectItem *item;
NAObjectProfile *profile;
@@ -837,6 +851,17 @@ parse_parameters( NactICommandTab *instance )
g_free( iter );
return( g_string_free( tmp_string, FALSE ));
+#endif
+
+ const gchar *command = gtk_entry_get_text( GTK_ENTRY( get_path_entry( instance )));
+ const gchar *param_template = gtk_entry_get_text( GTK_ENTRY( get_parameters_entry( instance )));
+ gchar *exec, *returned;
+
+ exec = g_strdup_printf( "%s %s", command, param_template );
+ returned = na_tokens_parse_parameters( st_tokens, exec, FALSE );
+ g_free( exec );
+
+ return( returned );
}
static void
diff --git a/src/nact/nautilus-actions-config-tool.ui b/src/nact/nautilus-actions-config-tool.ui
index 0dfb147..89896bd 100644
--- a/src/nact/nautilus-actions-config-tool.ui
+++ b/src/nact/nautilus-actions-config-tool.ui
@@ -2503,7 +2503,7 @@ If the command is not found, or does not display the correct result, your item w
</child>
<child>
<object class="GtkCheckButton" id="ActionReadonlyButton">
- <property name="label" translatable="yes">Read-only</property>
+ <property name="label" translatable="yes">Read-only item</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@@ -2746,6 +2746,12 @@ If the command is not found, or does not display the correct result, your item w
<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>
@@ -2762,9 +2768,9 @@ If the command is not found, or does not display the correct result, your item w
<object class="GtkFileChooserWidget" id="ImportFileChooser">
<property name="visible">True</property>
<property name="select_multiple">True</property>
- <property name="preview_widget_active">False</property>
<property name="local_only">False</property>
<property name="use_preview_label">False</property>
+ <property name="preview_widget_active">False</property>
</object>
<packing>
<property name="position">0</property>
@@ -3110,7 +3116,7 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
<child>
<object class="GtkTable" id="table5">
<property name="visible">True</property>
- <property name="n_rows">18</property>
+ <property name="n_rows">20</property>
<property name="n_columns">2</property>
<property name="column_spacing">2</property>
<property name="row_spacing">6</property>
@@ -3191,8 +3197,8 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
<property name="use_markup">True</property>
</object>
<packing>
- <property name="top_attach">9</property>
- <property name="bottom_attach">10</property>
+ <property name="top_attach">11</property>
+ <property name="bottom_attach">12</property>
<property name="x_options">GTK_SHRINK | GTK_FILL</property>
</packing>
</child>
@@ -3205,8 +3211,8 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
<property name="use_markup">True</property>
</object>
<packing>
- <property name="top_attach">10</property>
- <property name="bottom_attach">11</property>
+ <property name="top_attach">12</property>
+ <property name="bottom_attach">13</property>
<property name="x_options">GTK_SHRINK | GTK_FILL</property>
</packing>
</child>
@@ -3219,8 +3225,8 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
<property name="use_markup">True</property>
</object>
<packing>
- <property name="top_attach">11</property>
- <property name="bottom_attach">12</property>
+ <property name="top_attach">13</property>
+ <property name="bottom_attach">14</property>
<property name="x_options">GTK_SHRINK | GTK_FILL</property>
</packing>
</child>
@@ -3233,8 +3239,8 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
<property name="use_markup">True</property>
</object>
<packing>
- <property name="top_attach">12</property>
- <property name="bottom_attach">13</property>
+ <property name="top_attach">14</property>
+ <property name="bottom_attach">15</property>
<property name="x_options">GTK_SHRINK | GTK_FILL</property>
</packing>
</child>
@@ -3247,8 +3253,8 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
<property name="use_markup">True</property>
</object>
<packing>
- <property name="top_attach">17</property>
- <property name="bottom_attach">18</property>
+ <property name="top_attach">19</property>
+ <property name="bottom_attach">20</property>
<property name="x_options">GTK_SHRINK | GTK_FILL</property>
</packing>
</child>
@@ -3315,7 +3321,7 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
- <property name="label" translatable="yes">space-separated list of the base directory of the selected file(s)/folder(s).</property>
+ <property name="label" translatable="yes">space-separated list of the base directories of the selected file(s)/folder(s).</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -3335,8 +3341,8 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">9</property>
- <property name="bottom_attach">10</property>
+ <property name="top_attach">11</property>
+ <property name="bottom_attach">12</property>
<property name="x_options">GTK_FILL</property>
</packing>
</child>
@@ -3345,13 +3351,13 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
- <property name="label" translatable="yes">scheme of the (first) URI.</property>
+ <property name="label" translatable="yes">scheme of the (first) selected URI.</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">10</property>
- <property name="bottom_attach">11</property>
+ <property name="top_attach">12</property>
+ <property name="bottom_attach">13</property>
<property name="x_options">GTK_FILL</property>
</packing>
</child>
@@ -3365,8 +3371,8 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">11</property>
- <property name="bottom_attach">12</property>
+ <property name="top_attach">13</property>
+ <property name="bottom_attach">14</property>
<property name="x_options">GTK_FILL</property>
</packing>
</child>
@@ -3375,13 +3381,13 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
- <property name="label" translatable="yes">space-separated list of selected URIs.</property>
+ <property name="label" translatable="yes">space-separated list of the URIs of the selected file(s)/folder(s).</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">12</property>
- <property name="bottom_attach">13</property>
+ <property name="top_attach">14</property>
+ <property name="bottom_attach">15</property>
<property name="x_options">GTK_FILL</property>
</packing>
</child>
@@ -3395,8 +3401,8 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">17</property>
- <property name="bottom_attach">18</property>
+ <property name="top_attach">19</property>
+ <property name="bottom_attach">20</property>
<property name="x_options">GTK_FILL</property>
</packing>
</child>
@@ -3441,7 +3447,7 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
<object class="GtkLabel" id="label63">
<property name="visible">True</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">space-separated list of the selected filename(s).</property>
+ <property name="label" translatable="yes">space-separated list of the filenames of the selected file(s)/folder(s).</property>
</object>
<packing>
<property name="left_attach">1</property>
@@ -3483,8 +3489,8 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
<property name="use_markup">True</property>
</object>
<packing>
- <property name="top_attach">8</property>
- <property name="bottom_attach">9</property>
+ <property name="top_attach">10</property>
+ <property name="bottom_attach">11</property>
</packing>
</child>
<child>
@@ -3496,8 +3502,8 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">8</property>
- <property name="bottom_attach">9</property>
+ <property name="top_attach">10</property>
+ <property name="bottom_attach">11</property>
</packing>
</child>
<child>
@@ -3509,8 +3515,8 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">13</property>
- <property name="bottom_attach">14</property>
+ <property name="top_attach">15</property>
+ <property name="bottom_attach">16</property>
</packing>
</child>
<child>
@@ -3522,8 +3528,8 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">14</property>
- <property name="bottom_attach">15</property>
+ <property name="top_attach">16</property>
+ <property name="bottom_attach">17</property>
</packing>
</child>
<child>
@@ -3535,21 +3541,21 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">15</property>
- <property name="bottom_attach">16</property>
+ <property name="top_attach">17</property>
+ <property name="bottom_attach">18</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label79">
<property name="visible">True</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">space-separated list of the extension of the selected file(s)/folder(s).</property>
+ <property name="label" translatable="yes">space-separated list of the extensions of the selected file(s)/folder(s).</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">16</property>
- <property name="bottom_attach">17</property>
+ <property name="top_attach">18</property>
+ <property name="bottom_attach">19</property>
</packing>
</child>
<child>
@@ -3560,8 +3566,8 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
<property name="use_markup">True</property>
</object>
<packing>
- <property name="top_attach">13</property>
- <property name="bottom_attach">14</property>
+ <property name="top_attach">15</property>
+ <property name="bottom_attach">16</property>
</packing>
</child>
<child>
@@ -3572,8 +3578,8 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
<property name="use_markup">True</property>
</object>
<packing>
- <property name="top_attach">14</property>
- <property name="bottom_attach">15</property>
+ <property name="top_attach">16</property>
+ <property name="bottom_attach">17</property>
</packing>
</child>
<child>
@@ -3584,8 +3590,8 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
<property name="use_markup">True</property>
</object>
<packing>
- <property name="top_attach">15</property>
- <property name="bottom_attach">16</property>
+ <property name="top_attach">17</property>
+ <property name="bottom_attach">18</property>
</packing>
</child>
<child>
@@ -3596,8 +3602,58 @@ Be warned: this mode may be dangerous. You will not be prompted another time.</p
<property name="use_markup">True</property>
</object>
<packing>
- <property name="top_attach">16</property>
- <property name="bottom_attach">17</property>
+ <property name="top_attach">18</property>
+ <property name="bottom_attach">19</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label83">
+ <property name="visible">True</property>
+ <property name="xalign">1</property>
+ <property name="label" translatable="yes"><b>%m</b> :</property>
+ <property name="use_markup">True</property>
+ </object>
+ <packing>
+ <property name="top_attach">8</property>
+ <property name="bottom_attach">9</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label85">
+ <property name="visible">True</property>
+ <property name="xalign">1</property>
+ <property name="label" translatable="yes"><b>%M</b> :</property>
+ <property name="use_markup">True</property>
+ </object>
+ <packing>
+ <property name="top_attach">9</property>
+ <property name="bottom_attach">10</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label84">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">(first) mimetype.</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">8</property>
+ <property name="bottom_attach">9</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label86">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">space-separated list of the mimetypes of the selected file(s)/folder(s).</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">9</property>
+ <property name="bottom_attach">10</property>
</packing>
</child>
</object>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]