From 8578ca5e2e6d68d009f45b9d9d1562cbfa1b6dd2 Mon Sep 17 00:00:00 2001 From: Miguel de Icaza Date: Fri, 26 Feb 1999 07:17:51 +0000 Subject: [PATCH] 1999-02-26 Miguel de Icaza * gdesktop.c (desktop_icon_info_open): Add needs terminal support. * gnome-file-property-dialog.c (create_settings_pane): Add Needs terminal check box 1999-02-25 Miguel de Icaza * gaction.c (gmc_open_filename): Add support for needsterminal. * gscreen.c: Add New Folder option to the panel popup. --- gnome/ChangeLog | 15 +- gnome/gaction.c | 38 ++- gnome/gdesktop.c | 18 +- gnome/gdesktop.h | 1 - gnome/gdnd.c | 4 +- gnome/gmain.h | 13 +- gnome/gnome-file-property-dialog.c | 75 ++++- gnome/gnome-file-property-dialog.h | 3 + gnome/gnome.TODO | 91 +----- gnome/gpopup.c | 28 +- gnome/gpopup2.c | 29 +- gnome/gscreen.c | 3 + gnome/gview.c | 1 + po/mc.pot | 426 +++++++++++++++-------------- src/ext.c | 11 +- src/ext.h | 2 +- src/find.c | 4 +- 17 files changed, 430 insertions(+), 332 deletions(-) diff --git a/gnome/ChangeLog b/gnome/ChangeLog index 238aa089e..ee052fbdc 100644 --- a/gnome/ChangeLog +++ b/gnome/ChangeLog @@ -1,10 +1,21 @@ +1999-02-26 Miguel de Icaza + + * gdesktop.c (desktop_icon_info_open): Add needs terminal support. + + * gnome-file-property-dialog.c (create_settings_pane): Add Needs + terminal check box + +1999-02-25 Miguel de Icaza + + * gaction.c (gmc_open_filename): Add support for needsterminal. + + * gscreen.c: Add New Folder option to the panel popup. + 1999-02-25 Owen Taylor * gdialogs.c (file_delete_query_recursive): GNOME replacement for recursive delete query dialog. -1999-02-25 Owen Taylor - * gprefs.c gcustom-layout.[ch]: Add a new page to the preferences dialog to allow the user to change the columns in the custom view. diff --git a/gnome/gaction.c b/gnome/gaction.c index 0ce3a573f..503448425 100644 --- a/gnome/gaction.c +++ b/gnome/gaction.c @@ -18,9 +18,9 @@ #include "../vfs/vfs.h" static void -gmc_execute (const char *fname, const char *buf) +gmc_execute (const char *fname, const char *buf, int needs_terminal) { - exec_extension (fname, buf, NULL, NULL, 0); + exec_extension (fname, buf, NULL, NULL, 0, needs_terminal); } int @@ -30,20 +30,36 @@ gmc_open_filename (char *fname, GList *args) const char *cmd; char *buf; int size; + int needs_terminal = 0; + mime_type = gnome_mime_type_or_default (fname, NULL); + + /* + * We accept needs_terminal as -1, which means our caller + * did not want to do the work + */ + if (gnome_metadata_get (fname, "flags", &size, &buf) == 0){ + needs_terminal = (strstr (buf, "needsterminal") != 0); + g_free (buf); + } else if (mime_type){ + const char *flags; + + flags = gnome_mime_type_or_default (mime_type, "flags"); + needs_terminal = (strstr (flags, "needsterminal") != 0); + } + if (gnome_metadata_get (fname, "fm-open", &size, &buf) == 0){ - gmc_execute (fname, buf); + gmc_execute (fname, buf, needs_terminal); g_free (buf); return 1; } if (gnome_metadata_get (fname, "open", &size, &buf) == 0){ - gmc_execute (fname, buf); + gmc_execute (fname, buf, needs_terminal); g_free (buf); return 1; } - mime_type = gnome_mime_type_or_default (fname, NULL); if (!mime_type) return 0; @@ -51,13 +67,13 @@ gmc_open_filename (char *fname, GList *args) cmd = gnome_mime_get_value (mime_type, "fm-open"); if (cmd){ - gmc_execute (fname, cmd); + gmc_execute (fname, cmd, needs_terminal); return 1; } cmd = gnome_mime_get_value (mime_type, "open"); if (cmd){ - gmc_execute (fname, cmd); + gmc_execute (fname, cmd, needs_terminal); return 1; } @@ -85,7 +101,7 @@ gmc_edit_filename (char *fname) int on_terminal; if (gnome_metadata_get (fname, "edit", &size, &buf) == 0){ - gmc_execute (fname, buf); + gmc_execute (fname, buf, 0); g_free (buf); return 1; } @@ -95,7 +111,7 @@ gmc_edit_filename (char *fname) cmd = gnome_mime_get_value (mime_type, "edit"); if (cmd){ - gmc_execute (fname, cmd); + gmc_execute (fname, cmd, 0); return 1; } } @@ -123,7 +139,7 @@ gmc_edit_filename (char *fname) } else { char *cmd = g_strconcat (editor, " %s", NULL); - gmc_execute (fname, cmd); + gmc_execute (fname, cmd, 0); g_free (cmd); } @@ -141,7 +157,7 @@ gmc_open (file_entry *fe) static void gmc_run_view (const char *filename, const char *buf) { - exec_extension (filename, buf, NULL, NULL, 0); + exec_extension (filename, buf, NULL, NULL, 0, 0); } int diff --git a/gnome/gdesktop.c b/gnome/gdesktop.c index 1f074dcb6..37742b6fd 100644 --- a/gnome/gdesktop.c +++ b/gnome/gdesktop.c @@ -1091,9 +1091,21 @@ desktop_icon_info_open (DesktopIconInfo *dii) new_panel_at (point); g_free (point); } else { - if (is_exe (fe->buf.st_mode) && if_link_is_exe (desktop_directory, fe)) - my_system (EXECUTE_AS_SHELL, shell, filename); - else + if (is_exe (fe->buf.st_mode) && if_link_is_exe (desktop_directory, fe)){ + int needs_terminal = 0; + int size; + char *buf; + + if (gnome_metadata_get (filename, "flags", &size, &buf) == 0){ + needs_terminal = strstr (buf, "needsterminal") != 0; + + g_free (buf); + } + if (needs_terminal) + gnome_open_terminal_with_cmd (filename); + else + my_system (EXECUTE_AS_SHELL, shell, filename); + } else gmc_open_filename (filename, NULL); } } diff --git a/gnome/gdesktop.h b/gnome/gdesktop.h index a2bbaf023..1544c9939 100644 --- a/gnome/gdesktop.h +++ b/gnome/gdesktop.h @@ -44,7 +44,6 @@ typedef struct { char *url; /* URL this icon points to */ int selected : 1; /* Is the icon selected? */ int tmp_selected : 1; /* Temp storage for original selection while rubberbanding */ - int requires_terminal : 1; /* True if this requires a terminal to run */ } DesktopIconInfo; void desktop_icon_info_open (DesktopIconInfo *dii); diff --git a/gnome/gdnd.c b/gnome/gdnd.c index e63e0acaa..0c695b23b 100644 --- a/gnome/gdnd.c +++ b/gnome/gdnd.c @@ -371,9 +371,9 @@ drop_on_file (GdkDragContext *context, GtkSelectionData *selection_data, drops[i] = NULL; if (gnome_metadata_get (full_name, "open", &size, &buf) == 0) - exec_extension (full_name, buf, drops, NULL, 0); + exec_extension (full_name, buf, drops, NULL, 0, 0); else - exec_extension (full_name, "%f %q", drops, NULL, 0); + exec_extension (full_name, "%f %q", drops, NULL, 0, 0); g_free (drops); gnome_uri_list_free_strings (names); diff --git a/gnome/gmain.h b/gnome/gmain.h index 5e2131ec2..150960612 100644 --- a/gnome/gmain.h +++ b/gnome/gmain.h @@ -35,13 +35,18 @@ WPanel *new_panel_at (char *dir); WPanel *new_panel_with_geometry_at (char *dir, char *geometry); void layout_panel_gone (WPanel *panel); void gtkrundlg_event (Dlg_head *h); -int gmc_open (file_entry *fe); -int gmc_open_filename (char *fname, GList *args); -int gmc_edit_filename (char *fname); -int gmc_view (char *filename, int start_line); + void x_show_info (WInfo *info, struct my_statfs *s, struct stat *b); void x_create_info (Dlg_head *h, widget_data parent, WInfo *info); +/* + * stuff from gaction.c + */ +int gmc_open (file_entry *fe); +int gmc_open_filename (char *fname, GList *args); +int gmc_edit_filename (char *fname); +int gmc_view (char *filename, int start_line); + void gmc_window_setup_from_panel (GnomeDialog *dialog, WPanel *panel); struct gmc_color_pairs_s { diff --git a/gnome/gnome-file-property-dialog.c b/gnome/gnome-file-property-dialog.c index 00d51edb4..150d5c92e 100644 --- a/gnome/gnome-file-property-dialog.c +++ b/gnome/gnome-file-property-dialog.c @@ -604,6 +604,14 @@ create_settings_pane (GnomeFilePropertyDialog *fp_dlg) gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0); table = generate_actions_box (fp_dlg); gtk_container_add (GTK_CONTAINER (frame), table); + + frame = gtk_frame_new (_("Open action")); + fp_dlg->needs_terminal_check = gtk_check_button_new_with_label (_("Needs terminal to run")); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fp_dlg->needs_terminal_check), + fp_dlg->needs_terminal); + gtk_container_add (GTK_CONTAINER (frame), fp_dlg->needs_terminal_check); + + gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0); return vbox; } @@ -945,7 +953,7 @@ static void init_metadata (GnomeFilePropertyDialog *fp_dlg) { gint size; - char *mime_type; + char *mime_type, *str; gchar link_name[MC_MAXPATHLEN]; gint n; gchar *file_name, *desktop_url; @@ -957,6 +965,15 @@ init_metadata (GnomeFilePropertyDialog *fp_dlg) gnome_metadata_get (fp_dlg->file_name, "edit", &size, &fp_dlg->edit); gnome_metadata_get (fp_dlg->file_name, "drop-target", &size, &fp_dlg->drop_target); + /* + * Fetch the needs-terminal setting + */ + if (gnome_metadata_get (fp_dlg->file_name, "flags", &size, &str) == 0){ + fp_dlg->needs_terminal = strstr (str, "needsterminal") != 0; + g_free (str); + } else + fp_dlg->needs_terminal = 0; + /* Mime stuff */ file_name = fp_dlg->file_name; if (S_ISLNK (fp_dlg->st.st_mode)) { @@ -1276,7 +1293,61 @@ apply_metadata_change (GnomeFilePropertyDialog *fpd) gnome_metadata_set (fpd->file_name, "icon-caption", strlen (new_caption)+1, new_caption); } - + + /* + * "Needs terminal" check button + * + * This piece of code is more complex than it should, as the "flags" + * metadata value is actually a list of comma separated flags. So + * we need to edit this list when removing the "needsterminal" flag. + */ + { + int toggled = 0 != GTK_TOGGLE_BUTTON (fpd->needs_terminal_check)->active; + int size; + char *buf; + + if (gnome_metadata_get (fpd->file_name, "flags", &size, &buf) == 0){ + char *p; + + p = strstr (buf, "needsterminal"); + if (toggled){ + if (!p){ + p = g_strconcat (buf, ",needsterminal", NULL); + gnome_metadata_set (fpd->file_name, "flags", strlen (p)+1, p); + g_free (p); + } + } else { + if (p){ + char *p1, *p2; + + if (p != buf){ + p1 = g_malloc (p - buf + 1); + strncpy (p1, buf, p - buf); + p1 [p - buf ] = 0; + } else + p1 = g_strdup (""); + + p += strlen ("needsterminal"); + + p2 = g_strconcat (p1, p, NULL); + if (strcmp (p2, ",") == 0) + gnome_metadata_remove (fpd->file_name, "flags"); + else + gnome_metadata_set (fpd->file_name, "flags", + strlen (p2)+1, p2); + g_free (p2); + g_free (p1); + + } + } + } else { + if (toggled){ + gnome_metadata_set (fpd->file_name, "flags", + sizeof ("needsterminal"), "needsterminal"); + } + } + } + if (!fpd->can_set_icon) return 1; /* And finally, we set the metadata on the icon filename */ diff --git a/gnome/gnome-file-property-dialog.h b/gnome/gnome-file-property-dialog.h index 23b80ee21..bb7a67fca 100644 --- a/gnome/gnome-file-property-dialog.h +++ b/gnome/gnome-file-property-dialog.h @@ -70,6 +70,7 @@ struct _GnomeFilePropertyDialog GtkWidget *button; GtkWidget *desktop_entry; GtkWidget *caption_entry; + GtkWidget *needs_terminal_check; gchar *fm_open; gchar *fm_view; @@ -84,6 +85,8 @@ struct _GnomeFilePropertyDialog gchar *caption; gboolean can_set_icon; + gboolean needs_terminal; + GdkImlibImage *im; /* Private Data */ diff --git a/gnome/gnome.TODO b/gnome/gnome.TODO index 3cca9b609..4cf9593f8 100644 --- a/gnome/gnome.TODO +++ b/gnome/gnome.TODO @@ -1,36 +1,10 @@ New task list: - - Use notebook to hold CLIst/IconList on the main windown - - - Put stuff inside a frame to make it look shrunken - - - Menu option to toggle tree on/off. - - - Make the tree faster (cache loaded directories) - - Add focus management to the tree - - tree should not move the selected menu item when - auto-expanding/collapsing. - - - Auto-expand, and the timeout need to be optional - (and possibly disabled by default) - - Options - "Show hidden files" needs to work for the tree as well as for the icon list. - - Right button on icon list (not on icon) should also - bring up menu. Should have back-forward (like - Netscape, create folder, etc... Eventually - Explorer style "create new word document" would - be nice). Rubber banding is silly. - - - Dragging within icon list should reorder or do - nothing. Copying is silly. (But can be done - on ACTION_ASK) - - - Add to the gnome-panel mime-type support - - Drop the MC event handling off for the main window. - Remote control of the file manager (corba client command). @@ -39,81 +13,22 @@ New task list: - Dynamic thumbnail generation -Federico: - - - Make the popup menus work on the desktop - - - Root window stuff. - Other features requested: - - Make the default action on drop configurable. - - - Remove extra space on the panels (the in-between - icons) - - - Remove the bottom scrollabar on the views. - - - Status line uses too much space, it might be fixed - by changing it to merge both status in a single - status line. - - [ Status | 0 bytes in nnnnnnn ] - ^ ^ - | + miniinfo. - | - print_vfs_message - - - The input line and the navigations icons should be part of an - expert mode. - - - Layout of dialog boxes suck. - - - Add help button to dialog boxes. - - - Add an advanced/simple checkbox. - - - All of the configuration pages should be in a single - GnomePropertyBox. - - - Optional "hidden menu" option. - - - Fix the progress dialog box to be nicer. - - - Adding more things to the toolbar. - - - Dialogs are popping in the wrong place, this should be fixed - by using: - - gtk_window_position (GDK_WINDOW_POSITION) - - - Entering compressed tar files crashes the program. - - - Substructure notify is taking too much time of processing - I need to a dd a filter and discard everything non-ClientMessage - that is sent to the wroot window. - - -IMPORTANTE: - -file actions dont cause panels to be refreshed automatically + - Copy/Move/Delete operations on the treeview. EXTENSIONS: - Add special destkop entries ("Network neighborhood") + - In the find-file results, it would be nice if 'chdir' popped up a new panel instead of changing the directory of the present one (optionally). + - (Cool but low priority) it would be nice if 'Arrange icons' were configurable to allow stacking the icons along a particular edge OR if gmc could automatically find areas of free screen (i.e. no windows on them) and then place icons there. -Panels: - -- Global bindings (some shortcuts are not implemented) -- Split view. - - Viewer: - Toolbar diff --git a/gnome/gpopup.c b/gnome/gpopup.c index e39a8c1bb..093fbeedd 100644 --- a/gnome/gpopup.c +++ b/gnome/gpopup.c @@ -483,19 +483,35 @@ mime_command_from_panel (GtkMenuItem *item, WPanel *panel) static void mime_command_from_desktop_icon (GtkMenuItem *item, char *filename) { - char *action; - int movedir; - char *key; - const char *mime_type, *val;; - action = get_label_text (item); + char *action, *buf; + int movedir, size; + char *key, *flag_key; + const char *mime_type, *val, *flags; + int needs_terminal = 0; + action = get_label_text (item); + key = gtk_object_get_user_data (GTK_OBJECT (item)); mime_type = gnome_mime_type_or_default (filename, NULL); if (!mime_type) return; + + /* + * Find out if we need to run this in a terminal + */ + if (gnome_metadata_get (filename, "flags", &size, &buf) == 0){ + needs_terminal = strstr (flags, "needsterminal") != 0; + g_free (buf); + } else { + flag_key = g_strconcat ("flags.", key, "flags", NULL); + flags = gnome_mime_get_value (filename, flag_key); + g_free (flag_key); + if (flags) + needs_terminal = strstr (flags, "needsterminal") != 0; + } val = gnome_mime_get_value (mime_type, key); - exec_extension (filename, val, NULL, NULL, 0); + exec_extension (filename, val, NULL, NULL, 0, needs_terminal); } /* Create the menu items common to files from panel window and desktop icons, and also the items for diff --git a/gnome/gpopup2.c b/gnome/gpopup2.c index f64bb8275..42ac22907 100644 --- a/gnome/gpopup2.c +++ b/gnome/gpopup2.c @@ -179,10 +179,12 @@ static void mime_action_callback (GtkWidget *widget, gpointer data) { char *filename; - char *key; - char *mime_type; - char *value; - + char *key, *buf; + const char *mime_type; + const char *value; + int needs_terminal = 0; + int size; + filename = data; key = gtk_object_get_user_data (GTK_OBJECT (widget)); @@ -192,8 +194,25 @@ mime_action_callback (GtkWidget *widget, gpointer data) mime_type = gnome_mime_type_or_default (filename, NULL); g_assert (mime_type != NULL); + /* + * Find out if we need to run this in a terminal + */ + if (gnome_metadata_get (filename, "flags", &size, &buf) == 0){ + needs_terminal = strstr (buf, "needsterminal") != 0; + g_free (buf); + } else { + char *flag_key; + const char *flags; + + flag_key = g_strconcat ("flags.", key, "flags", NULL); + flags = gnome_mime_get_value (filename, flag_key); + g_free (flag_key); + if (flags) + needs_terminal = strstr (flags, "needsterminal") != 0; + } + value = gnome_mime_get_value (mime_type, key); - exec_extension (filename, value, NULL, NULL, 0); + exec_extension (filename, value, NULL, NULL, 0, needs_terminal); } /* Creates the menu items for actions based on the MIME type of the selected diff --git a/gnome/gscreen.c b/gnome/gscreen.c index d9a9447ef..e902ceaeb 100644 --- a/gnome/gscreen.c +++ b/gnome/gscreen.c @@ -31,6 +31,7 @@ #include "gtkdtree.h" #include "gpageprop.h" #include "gpopup.h" +#include "gcmd.h" #include "gcliplabel.h" #include "gicon.h" #include "../vfs/vfs.h" @@ -1450,6 +1451,8 @@ handle_rescan_directory (GtkWidget *widget, gpointer data) static GnomeUIInfo file_list_popup_items[] = { GNOMEUIINFO_ITEM_NONE (N_("Rescan Directory"), N_("Reloads the current directory"), handle_rescan_directory), + GNOMEUIINFO_ITEM_NONE (N_("New folder"), N_("Creates a new folder here"), + gnome_mkdir_cmd), GNOMEUIINFO_END }; diff --git a/gnome/gview.c b/gnome/gview.c index ec73bc89c..8e75a413a 100644 --- a/gnome/gview.c +++ b/gnome/gview.c @@ -105,6 +105,7 @@ view_percent (WView *view, int p, int w) gtk_signal_emit_by_name (GTK_OBJECT (adj), "changed"); } if ((int) adj->value != view->start_display){ + printf ("Value=%g s=%d\n", adj->value, view->start_display); gtk_adjustment_set_value (adj, view->start_display); } } diff --git a/po/mc.pot b/po/mc.pot index dbc50813e..002d73056 100644 --- a/po/mc.pot +++ b/po/mc.pot @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 1999-02-25 00:53-0600\n" +"POT-Creation-Date: 1999-02-26 01:14-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -55,15 +55,15 @@ msgstr "" msgid " Do you really want to quit the Midnight Commander? " msgstr "" -#: gnome/gcmd.c:123 gtkedit/editcmd.c:2235 src/cmd.c:251 src/file.c:1817 -#: src/file.c:2197 src/filegui.c:573 src/hotlist.c:1035 src/main.c:829 +#: gnome/gcmd.c:123 gtkedit/editcmd.c:2235 src/cmd.c:251 src/file.c:1813 +#: src/file.c:2195 src/filegui.c:573 src/hotlist.c:1035 src/main.c:829 #: src/screen.c:2049 src/subshell.c:701 src/subshell.c:727 src/tree.c:755 #: src/view.c:404 msgid "&Yes" msgstr "" -#: gnome/gcmd.c:123 gtkedit/editcmd.c:2235 src/cmd.c:251 src/file.c:1817 -#: src/file.c:2197 src/filegui.c:572 src/hotlist.c:1035 src/main.c:829 +#: gnome/gcmd.c:123 gtkedit/editcmd.c:2235 src/cmd.c:251 src/file.c:1813 +#: src/file.c:2195 src/filegui.c:572 src/hotlist.c:1035 src/main.c:829 #: src/screen.c:2049 src/subshell.c:701 src/subshell.c:727 src/tree.c:755 #: src/view.c:404 msgid "&No" @@ -153,7 +153,7 @@ msgid "Set Filter" msgstr "" #: gnome/gcmd.c:593 gnome/gcmd.c:634 gnome/gcmd.c:639 gnome/gcmd.c:643 -#: gnome/gscreen.c:2579 +#: gnome/gscreen.c:2582 msgid "Show all files" msgstr "" @@ -173,15 +173,15 @@ msgstr "" msgid "Enter a Regular Expression to filter files in the panel view." msgstr "" -#: gnome/gcmd.c:675 gnome/gpopup.c:52 +#: gnome/gcmd.c:675 gnome/gpopup.c:53 msgid " Open with..." msgstr "" -#: gnome/gcmd.c:676 gnome/gpopup.c:53 +#: gnome/gcmd.c:676 gnome/gpopup.c:54 msgid "Enter extra arguments:" msgstr "" -#: gnome/gdesktop.c:392 gnome/gdesktop.c:1816 +#: gnome/gdesktop.c:392 gnome/gdesktop.c:1828 msgid "Warning" msgstr "" @@ -203,28 +203,28 @@ msgid "Error" msgstr "" #. Create the link to the user's home directory so that he will have an icon -#: gnome/gdesktop.c:1812 +#: gnome/gdesktop.c:1824 msgid "Home directory" msgstr "" -#: gnome/gdesktop.c:1817 +#: gnome/gdesktop.c:1829 #, c-format msgid "Could not symlink %s to %s; will not have initial desktop icons." msgstr "" -#: gnome/gdesktop.c:2148 gnome/glayout.c:410 +#: gnome/gdesktop.c:2160 gnome/glayout.c:410 msgid "Arrange Icons" msgstr "" -#: gnome/gdesktop.c:2150 +#: gnome/gdesktop.c:2162 msgid "Create New Window" msgstr "" -#: gnome/gdesktop.c:2152 +#: gnome/gdesktop.c:2164 msgid "Rescan Mountable Devices" msgstr "" -#: gnome/gdesktop.c:2153 gnome/glayout.c:413 +#: gnome/gdesktop.c:2165 gnome/glayout.c:413 msgid "Rescan Desktop" msgstr "" @@ -287,7 +287,7 @@ msgstr "" msgid "Replace it?" msgstr "" -#: gnome/gdialogs.c:532 gtkedit/editwidget.c:1067 src/file.c:797 +#: gnome/gdialogs.c:532 gtkedit/editwidget.c:1067 src/file.c:789 #: src/screen.c:2288 src/screen.c:2318 src/tree.c:1024 msgid "Copy" msgstr "" @@ -342,27 +342,43 @@ msgstr "" msgid "If set, this will copy the directories recursively" msgstr "" +#: gnome/gdialogs.c:720 +#, c-format +msgid "" +"%s\n" +"\n" +"Directory not empty. Delete it recursively?" +msgstr "" + +#: gnome/gdialogs.c:729 src/file.c:2190 +msgid " Delete: " +msgstr "" + #: gnome/gdialogs.c:733 +msgid "Do the same for the rest" +msgstr "" + +#: gnome/gdialogs.c:802 msgid "Move Progress" msgstr "" -#: gnome/gdialogs.c:736 +#: gnome/gdialogs.c:805 msgid "Copy Progress" msgstr "" -#: gnome/gdialogs.c:739 +#: gnome/gdialogs.c:808 msgid "Delete Progress" msgstr "" -#: gnome/gdialogs.c:784 +#: gnome/gdialogs.c:853 msgid "File " msgstr "" -#: gnome/gdialogs.c:788 +#: gnome/gdialogs.c:857 msgid " is " msgstr "" -#: gnome/gdialogs.c:791 +#: gnome/gdialogs.c:860 msgid " Done." msgstr "" @@ -603,148 +619,148 @@ msgstr "" msgid "File/New/Directory..." msgstr "" -#: gnome/gpopup.c:257 gnome/gpopup.c:258 +#: gnome/gpopup.c:258 gnome/gpopup.c:259 msgid "Properties" msgstr "" -#: gnome/gpopup.c:259 +#: gnome/gpopup.c:260 msgid "Mount device" msgstr "" -#: gnome/gpopup.c:260 +#: gnome/gpopup.c:261 msgid "Unmount device" msgstr "" -#: gnome/gpopup.c:261 +#: gnome/gpopup.c:262 msgid "Eject device" msgstr "" -#: gnome/gpopup.c:263 gnome/gpopup.c:264 +#: gnome/gpopup.c:264 gnome/gpopup.c:265 msgid "Open" msgstr "" -#: gnome/gpopup.c:265 +#: gnome/gpopup.c:266 msgid "Open with" msgstr "" -#: gnome/gpopup.c:266 src/screen.c:2286 src/screen.c:2316 +#: gnome/gpopup.c:267 src/screen.c:2286 src/screen.c:2316 msgid "View" msgstr "" -#: gnome/gpopup.c:267 +#: gnome/gpopup.c:268 msgid "View unfiltered" msgstr "" -#: gnome/gpopup.c:268 src/screen.c:2287 src/screen.c:2317 src/view.c:1996 +#: gnome/gpopup.c:269 src/screen.c:2287 src/screen.c:2317 src/view.c:1996 msgid "Edit" msgstr "" -#: gnome/gpopup.c:270 +#: gnome/gpopup.c:271 msgid "Link..." msgstr "" -#: gnome/gpopup.c:271 +#: gnome/gpopup.c:272 msgid "Symlink..." msgstr "" -#: gnome/gpopup.c:272 +#: gnome/gpopup.c:273 msgid "Edit symlink..." msgstr "" -#: gnome/gpopup.c:279 gnome/gpopup.c:290 +#: gnome/gpopup.c:280 gnome/gpopup.c:291 msgid "Move/rename..." msgstr "" -#: gnome/gpopup.c:280 gnome/gpopup.c:291 +#: gnome/gpopup.c:281 gnome/gpopup.c:292 msgid "Copy..." msgstr "" -#: gnome/gpopup.c:281 gnome/gpopup.c:293 gtkedit/editwidget.c:1070 +#: gnome/gpopup.c:282 gnome/gpopup.c:294 gtkedit/editwidget.c:1070 #: src/screen.c:2291 src/screen.c:2321 msgid "Delete" msgstr "" -#: gnome/gprefs.c:78 +#: gnome/gprefs.c:81 msgid "Show backup files" msgstr "" -#: gnome/gprefs.c:82 +#: gnome/gprefs.c:85 msgid "Show hidden files" msgstr "" -#: gnome/gprefs.c:86 +#: gnome/gprefs.c:89 msgid "Mix files and directories" msgstr "" -#: gnome/gprefs.c:90 +#: gnome/gprefs.c:93 msgid "Use shell patterns instead of regular expressions" msgstr "" -#: gnome/gprefs.c:99 +#: gnome/gprefs.c:102 msgid "Confirm when deleting file" msgstr "" -#: gnome/gprefs.c:103 +#: gnome/gprefs.c:106 msgid "Confirm when overwriting files" msgstr "" -#: gnome/gprefs.c:107 +#: gnome/gprefs.c:110 msgid "Confirm when executing files" msgstr "" -#: gnome/gprefs.c:111 +#: gnome/gprefs.c:114 msgid "Show progress while operations are being performed" msgstr "" -#: gnome/gprefs.c:120 +#: gnome/gprefs.c:123 msgid "VFS Timeout:" msgstr "" -#: gnome/gprefs.c:121 gnome/gprefs.c:146 +#: gnome/gprefs.c:124 gnome/gprefs.c:149 msgid "Seconds" msgstr "" -#: gnome/gprefs.c:124 +#: gnome/gprefs.c:127 msgid "Anonymous FTP password:" msgstr "" -#: gnome/gprefs.c:128 +#: gnome/gprefs.c:131 msgid "Always use FTP proxy" msgstr "" -#: gnome/gprefs.c:137 +#: gnome/gprefs.c:140 msgid "Fast directory reload" msgstr "" -#: gnome/gprefs.c:141 +#: gnome/gprefs.c:144 msgid "Compute totals before copying files" msgstr "" -#: gnome/gprefs.c:145 +#: gnome/gprefs.c:148 msgid "FTP directory cache timeout :" msgstr "" -#: gnome/gprefs.c:149 +#: gnome/gprefs.c:152 msgid "Allow customization of icons in icon view" msgstr "" -#: gnome/gprefs.c:158 +#: gnome/gprefs.c:161 msgid "File display" msgstr "" -#: gnome/gprefs.c:162 +#: gnome/gprefs.c:165 msgid "Confirmation" msgstr "" -#: gnome/gprefs.c:166 +#: gnome/gprefs.c:169 msgid "VFS" msgstr "" -#: gnome/gprefs.c:170 +#: gnome/gprefs.c:173 msgid "Caching" msgstr "" -#: gnome/gprefs.c:447 +#: gnome/gprefs.c:452 msgid "Preferences" msgstr "" @@ -837,7 +853,7 @@ msgstr "" msgid "Title" msgstr "" -#: gnome/gprop.c:521 gnome/gscreen.c:2366 +#: gnome/gprop.c:521 gnome/gscreen.c:2369 msgid "Icon" msgstr "" @@ -845,174 +861,182 @@ msgstr "" msgid "Select icon" msgstr "" -#: gnome/gscreen.c:1451 +#: gnome/gscreen.c:1452 msgid "Rescan Directory" msgstr "" -#: gnome/gscreen.c:1451 +#: gnome/gscreen.c:1452 msgid "Reloads the current directory" msgstr "" -#: gnome/gscreen.c:1629 +#: gnome/gscreen.c:1454 +msgid "New folder" +msgstr "" + +#: gnome/gscreen.c:1454 +msgid "Creates a new folder here" +msgstr "" + +#: gnome/gscreen.c:1632 msgid "All files" msgstr "" -#: gnome/gscreen.c:1631 +#: gnome/gscreen.c:1634 msgid "Archives and compressed files" msgstr "" -#: gnome/gscreen.c:1633 +#: gnome/gscreen.c:1636 msgid "RPM/DEB files" msgstr "" -#: gnome/gscreen.c:1635 +#: gnome/gscreen.c:1638 msgid "Text/Document files" msgstr "" -#: gnome/gscreen.c:1637 +#: gnome/gscreen.c:1640 msgid "HTML and SGML files" msgstr "" -#: gnome/gscreen.c:1639 +#: gnome/gscreen.c:1642 msgid "Postscript and PDF files" msgstr "" -#: gnome/gscreen.c:1641 +#: gnome/gscreen.c:1644 msgid "Spreadsheet files" msgstr "" -#: gnome/gscreen.c:1643 +#: gnome/gscreen.c:1646 msgid "Image files" msgstr "" -#: gnome/gscreen.c:1646 +#: gnome/gscreen.c:1649 msgid "Video/animation files" msgstr "" -#: gnome/gscreen.c:1648 +#: gnome/gscreen.c:1651 msgid "Audio files" msgstr "" -#: gnome/gscreen.c:1650 +#: gnome/gscreen.c:1653 msgid "C program files" msgstr "" -#: gnome/gscreen.c:1652 +#: gnome/gscreen.c:1655 msgid "C++ program files" msgstr "" -#: gnome/gscreen.c:1654 +#: gnome/gscreen.c:1657 msgid "Objective-C program files" msgstr "" -#: gnome/gscreen.c:1656 +#: gnome/gscreen.c:1659 msgid "Scheme program files" msgstr "" -#: gnome/gscreen.c:1658 +#: gnome/gscreen.c:1661 msgid "Assembler program files" msgstr "" -#: gnome/gscreen.c:1660 +#: gnome/gscreen.c:1663 msgid "Misc. program files" msgstr "" -#: gnome/gscreen.c:1662 +#: gnome/gscreen.c:1665 msgid "Font files" msgstr "" -#: gnome/gscreen.c:1789 +#: gnome/gscreen.c:1792 #, c-format msgid "Search: %s" msgstr "" -#: gnome/gscreen.c:1799 +#: gnome/gscreen.c:1802 #, c-format msgid "%s bytes in %d file" msgstr "" -#: gnome/gscreen.c:1799 +#: gnome/gscreen.c:1802 #, c-format msgid "%s bytes in %d files" msgstr "" -#: gnome/gscreen.c:1825 src/screen.c:677 +#: gnome/gscreen.c:1828 src/screen.c:677 msgid "" msgstr "" -#: gnome/gscreen.c:1879 +#: gnome/gscreen.c:1882 msgid "Filter" msgstr "" -#: gnome/gscreen.c:2366 +#: gnome/gscreen.c:2369 msgid "Switch view to an Icon view" msgstr "" -#: gnome/gscreen.c:2368 +#: gnome/gscreen.c:2371 msgid "Brief" msgstr "" -#: gnome/gscreen.c:2368 +#: gnome/gscreen.c:2371 msgid "Switch view to show just file name and type" msgstr "" -#: gnome/gscreen.c:2370 +#: gnome/gscreen.c:2373 msgid "Detailed" msgstr "" -#: gnome/gscreen.c:2370 +#: gnome/gscreen.c:2373 msgid "Switch view to show detailed file statistics" msgstr "" -#: gnome/gscreen.c:2372 +#: gnome/gscreen.c:2375 msgid "Custom" msgstr "" -#: gnome/gscreen.c:2372 +#: gnome/gscreen.c:2375 msgid "Switch view to show custom determined statistics." msgstr "" -#: gnome/gscreen.c:2380 +#: gnome/gscreen.c:2383 msgid "Back" msgstr "" -#: gnome/gscreen.c:2380 +#: gnome/gscreen.c:2383 msgid "Go to the previously visited directory" msgstr "" -#: gnome/gscreen.c:2382 +#: gnome/gscreen.c:2385 msgid "Up" msgstr "" -#: gnome/gscreen.c:2382 +#: gnome/gscreen.c:2385 msgid "Go up a level in the directory heirarchy" msgstr "" -#: gnome/gscreen.c:2384 +#: gnome/gscreen.c:2387 msgid "Forward" msgstr "" -#: gnome/gscreen.c:2384 +#: gnome/gscreen.c:2387 msgid "Go to the next directory" msgstr "" -#: gnome/gscreen.c:2387 src/tree.c:1020 +#: gnome/gscreen.c:2390 src/tree.c:1020 msgid "Rescan" msgstr "" -#: gnome/gscreen.c:2387 +#: gnome/gscreen.c:2390 msgid "Rescan the current directory" msgstr "" -#: gnome/gscreen.c:2390 +#: gnome/gscreen.c:2393 msgid "Home" msgstr "" -#: gnome/gscreen.c:2390 +#: gnome/gscreen.c:2393 msgid "Go to your home directory" msgstr "" -#: gnome/gscreen.c:2524 +#: gnome/gscreen.c:2527 msgid "Location:" msgstr "" @@ -1023,67 +1047,67 @@ msgstr "" msgid "&Ok" msgstr "" -#: gnome/gview.c:119 src/view.c:683 +#: gnome/gview.c:120 src/view.c:683 #, c-format msgid "Offset 0x%08x" msgstr "" -#: gnome/gview.c:121 src/view.c:685 +#: gnome/gview.c:122 src/view.c:685 #, c-format msgid "Col %d" msgstr "" -#: gnome/gview.c:125 src/view.c:689 +#: gnome/gview.c:126 src/view.c:689 #, c-format msgid "%s bytes" msgstr "" -#: gnome/gview.c:289 +#: gnome/gview.c:290 msgid "_Goto line" msgstr "" -#: gnome/gview.c:290 +#: gnome/gview.c:291 msgid "Jump to a specified line number" msgstr "" -#: gnome/gview.c:292 +#: gnome/gview.c:293 msgid "_Monitor file" msgstr "" -#: gnome/gview.c:292 +#: gnome/gview.c:293 msgid "Monitor file growing" msgstr "" -#: gnome/gview.c:299 +#: gnome/gview.c:300 msgid "Regexp search" msgstr "" -#: gnome/gview.c:300 +#: gnome/gview.c:301 msgid "Regular expression search" msgstr "" -#: gnome/gview.c:309 +#: gnome/gview.c:310 msgid "_Wrap" msgstr "" -#: gnome/gview.c:310 +#: gnome/gview.c:311 msgid "Wrap the text" msgstr "" #. Can not use this one yet, as it destroys the viewer, need to fix that -#: gnome/gview.c:313 +#: gnome/gview.c:314 msgid "_Parsed view" msgstr "" -#: gnome/gview.c:316 +#: gnome/gview.c:317 msgid "_Formatted" msgstr "" -#: gnome/gview.c:318 +#: gnome/gview.c:319 msgid "_Hex" msgstr "" -#: gnome/gview.c:324 +#: gnome/gview.c:325 msgid "_Search" msgstr "" @@ -1099,11 +1123,11 @@ msgstr "" msgid "help" msgstr "" -#: gnome/gwidget.c:96 src/file.c:2216 +#: gnome/gwidget.c:96 src/file.c:2214 msgid "yes" msgstr "" -#: gnome/gwidget.c:98 src/file.c:2214 +#: gnome/gwidget.c:98 src/file.c:2212 msgid "no" msgstr "" @@ -1156,7 +1180,7 @@ msgstr "" #. Warning message with a query to continue or cancel the operation #: gtkedit/editcmd.c:482 gtkedit/editcmd.c:801 gtkedit/editcmd.c:831 -#: gtkedit/editcmd.c:978 gtkedit/editcmd.c:1075 src/ext.c:294 src/file.c:614 +#: gtkedit/editcmd.c:978 gtkedit/editcmd.c:1075 src/ext.c:301 src/file.c:606 #: src/help.c:318 src/main.c:674 src/screen.c:2063 src/subshell.c:700 #: src/subshell.c:726 src/utilunix.c:388 src/utilunix.c:392 src/utilunix.c:458 #: vfs/mcfs.c:170 @@ -2063,7 +2087,7 @@ msgstr "" msgid "Background process:" msgstr "" -#: src/background.c:284 src/file.c:2139 +#: src/background.c:284 src/file.c:2135 msgid " Background process error " msgstr "" @@ -2537,7 +2561,7 @@ msgstr "" msgid " Link " msgstr "" -#: src/cmd.c:1032 src/cmd.c:1137 src/file.c:1647 +#: src/cmd.c:1032 src/cmd.c:1137 src/file.c:1639 msgid " to:" msgstr "" @@ -2730,40 +2754,40 @@ msgstr "" msgid " Parameter " msgstr "" -#: src/ext.c:294 +#: src/ext.c:301 msgid " Can't execute commands on a Virtual File System directory " msgstr "" -#: src/ext.c:391 +#: src/ext.c:398 msgid " file error" msgstr "" -#: src/ext.c:392 +#: src/ext.c:399 msgid "Format of the " msgstr "" -#: src/ext.c:410 +#: src/ext.c:417 msgid " file error " msgstr "" -#: src/ext.c:411 +#: src/ext.c:418 msgid "Format of the ~/" msgstr "" -#: src/ext.c:411 +#: src/ext.c:418 msgid "" " file has changed\n" "with version 3.0. You may want either to\n" "copy it from " msgstr "" -#: src/ext.c:413 +#: src/ext.c:420 msgid "" "mc.ext or use that\n" "file as an example of how to write it.\n" msgstr "" -#: src/ext.c:415 +#: src/ext.c:422 msgid "mc.ext will be used for this moment." msgstr "" @@ -2779,159 +2803,159 @@ msgstr "" msgid " Delete " msgstr "" -#: src/file.c:252 +#: src/file.c:244 msgid " Invalid target mask " msgstr "" -#: src/file.c:350 +#: src/file.c:342 msgid " Could not make the hardlink " msgstr "" -#: src/file.c:392 +#: src/file.c:384 #, c-format msgid "" " Cannot read source link \"%s\" \n" " %s " msgstr "" -#: src/file.c:402 +#: src/file.c:394 msgid "" " Cannot make stable symlinks across non-local filesystems: \n" "\n" " Option Stable Symlinks will be disabled " msgstr "" -#: src/file.c:450 +#: src/file.c:442 #, c-format msgid "" " Cannot create target symlink \"%s\" \n" " %s " msgstr "" -#: src/file.c:518 +#: src/file.c:510 #, c-format msgid "" " Cannot overwrite directory \"%s\" \n" " %s " msgstr "" -#: src/file.c:527 +#: src/file.c:519 #, c-format msgid "" " Cannot stat source file \"%s\" \n" " %s " msgstr "" -#: src/file.c:540 +#: src/file.c:532 #, c-format msgid " `%s' and `%s' are the same file. " msgstr "" -#: src/file.c:573 +#: src/file.c:565 #, c-format msgid "" " Cannot create special file \"%s\" \n" " %s " msgstr "" -#: src/file.c:582 src/file.c:807 +#: src/file.c:574 src/file.c:799 #, c-format msgid "" " Cannot chown target file \"%s\" \n" " %s " msgstr "" -#: src/file.c:591 src/file.c:825 +#: src/file.c:583 src/file.c:817 #, c-format msgid "" " Cannot chmod target file \"%s\" \n" " %s " msgstr "" -#: src/file.c:604 +#: src/file.c:596 #, c-format msgid "" " Cannot open source file \"%s\" \n" " %s " msgstr "" -#: src/file.c:614 +#: src/file.c:606 msgid " Reget failed, about to overwrite file " msgstr "" -#: src/file.c:620 +#: src/file.c:612 #, c-format msgid "" " Cannot fstat source file \"%s\" \n" " %s " msgstr "" -#: src/file.c:646 +#: src/file.c:638 #, c-format msgid "" " Cannot create target file \"%s\" \n" " %s " msgstr "" -#: src/file.c:660 +#: src/file.c:652 #, c-format msgid "" " Cannot fstat target file \"%s\" \n" " %s " msgstr "" -#: src/file.c:691 +#: src/file.c:683 #, c-format msgid "" " Cannot read source file \"%s\" \n" " %s " msgstr "" -#: src/file.c:721 +#: src/file.c:713 #, c-format msgid "" " Cannot write target file \"%s\" \n" " %s " msgstr "" -#: src/file.c:740 +#: src/file.c:732 msgid "(stalled)" msgstr "" -#: src/file.c:778 +#: src/file.c:770 #, c-format msgid "" " Cannot close source file \"%s\" \n" " %s " msgstr "" -#: src/file.c:787 +#: src/file.c:779 #, c-format msgid "" " Cannot close target file \"%s\" \n" " %s " msgstr "" -#: src/file.c:797 +#: src/file.c:789 msgid "Incomplete file was retrieved. Keep it?" msgstr "" -#: src/file.c:798 +#: src/file.c:790 msgid "&Delete" msgstr "" -#: src/file.c:798 src/hotlist.c:1443 +#: src/file.c:790 src/hotlist.c:1443 msgid "&Keep" msgstr "" -#: src/file.c:870 +#: src/file.c:862 #, c-format msgid "" " Cannot stat source directory \"%s\" \n" " %s " msgstr "" -#: src/file.c:893 +#: src/file.c:885 #, c-format msgid "" " Source directory \"%s\" is not a directory \n" @@ -2939,21 +2963,21 @@ msgid "" msgstr "" #. we found a cyclic symbolic link -#: src/file.c:901 +#: src/file.c:893 #, c-format msgid "" " Cannot copy cyclic symbolic link \n" " `%s' " msgstr "" -#: src/file.c:954 +#: src/file.c:946 #, c-format msgid "" " Cannot create target directory \"%s\" \n" " %s " msgstr "" -#: src/file.c:972 +#: src/file.c:964 #, c-format msgid "" " Cannot chown target directory \"%s\" \n" @@ -2961,69 +2985,69 @@ msgid "" msgstr "" #. Source doesn't exist -#: src/file.c:1082 +#: src/file.c:1074 #, c-format msgid "" " Cannot stat file \"%s\" \n" " %s " msgstr "" -#: src/file.c:1104 +#: src/file.c:1096 #, c-format msgid " `%s' and `%s' are the same file " msgstr "" -#: src/file.c:1111 +#: src/file.c:1103 #, c-format msgid " Cannot overwrite directory `%s' " msgstr "" -#: src/file.c:1148 +#: src/file.c:1140 #, c-format msgid "" " Cannot move file \"%s\" to \"%s\" \n" " %s " msgstr "" -#: src/file.c:1168 +#: src/file.c:1160 #, c-format msgid "" " Cannot remove file \"%s\" \n" " %s " msgstr "" -#: src/file.c:1221 +#: src/file.c:1213 #, c-format msgid " Cannot overwrite directory \"%s\" %s " msgstr "" -#: src/file.c:1223 +#: src/file.c:1215 #, c-format msgid " Cannot overwrite file \"%s\" %s " msgstr "" -#: src/file.c:1246 +#: src/file.c:1238 #, c-format msgid "" " Cannot move directory \"%s\" to \"%s\" \n" " %s " msgstr "" -#: src/file.c:1309 +#: src/file.c:1301 #, c-format msgid "" " Cannot delete file \"%s\" \n" " %s " msgstr "" -#: src/file.c:1370 src/file.c:1437 src/file.c:1466 +#: src/file.c:1362 src/file.c:1429 src/file.c:1458 #, c-format msgid "" " Cannot remove directory \"%s\" \n" " %s " msgstr "" -#: src/file.c:1502 +#: src/file.c:1494 msgid " Internal error: get_file \n" msgstr "" @@ -3036,144 +3060,140 @@ msgstr "" #. * (I don't use spaces around the words, because someday they could be #. * dropped, when widgets get smarter) #. -#: src/file.c:1623 +#: src/file.c:1615 msgid "1Copy" msgstr "" -#: src/file.c:1623 +#: src/file.c:1615 msgid "1Move" msgstr "" -#: src/file.c:1623 +#: src/file.c:1615 msgid "1Delete" msgstr "" -#: src/file.c:1638 +#: src/file.c:1630 #, c-format msgid "%o %f \"%s\"%m" msgstr "" -#: src/file.c:1639 +#: src/file.c:1631 #, c-format msgid "%o %d %f%m" msgstr "" -#: src/file.c:1641 +#: src/file.c:1633 #, c-format msgid "%o %f \"%s\"%e" msgstr "" -#: src/file.c:1642 +#: src/file.c:1634 #, c-format msgid "%o %d %f%e" msgstr "" -#: src/file.c:1646 +#: src/file.c:1638 msgid "file" msgstr "" -#: src/file.c:1646 +#: src/file.c:1638 msgid "files" msgstr "" -#: src/file.c:1646 +#: src/file.c:1638 msgid "directory" msgstr "" -#: src/file.c:1646 +#: src/file.c:1638 msgid "directories" msgstr "" -#: src/file.c:1647 +#: src/file.c:1639 msgid "files/directories" msgstr "" -#: src/file.c:1647 +#: src/file.c:1639 msgid " with source mask:" msgstr "" -#: src/file.c:1795 +#: src/file.c:1791 msgid " Can't operate on \"..\"! " msgstr "" -#: src/file.c:1814 +#: src/file.c:1810 msgid "Yes" msgstr "" -#: src/file.c:1814 +#: src/file.c:1810 msgid "No" msgstr "" -#: src/file.c:1867 +#: src/file.c:1863 msgid " Sorry, I could not put the job in background " msgstr "" -#: src/file.c:1950 src/file.c:2055 +#: src/file.c:1946 src/file.c:2051 msgid " Internal failure " msgstr "" -#: src/file.c:1950 src/file.c:2055 +#: src/file.c:1946 src/file.c:2051 msgid " Unknown file operation " msgstr "" -#: src/file.c:1969 +#: src/file.c:1965 #, c-format msgid "" " Destination \"%s\" must be a directory \n" " %s " msgstr "" -#: src/file.c:2140 src/filegui.c:263 +#: src/file.c:2136 src/filegui.c:263 msgid "&Skip" msgstr "" -#: src/file.c:2140 +#: src/file.c:2136 msgid "&Retry" msgstr "" -#: src/file.c:2140 src/file.c:2199 src/filegui.c:260 src/filegui.c:562 +#: src/file.c:2136 src/file.c:2197 src/filegui.c:260 src/filegui.c:562 msgid "&Abort" msgstr "" -#: src/file.c:2190 +#: src/file.c:2188 msgid "" "\n" " Directory not empty. \n" " Delete it recursively? " msgstr "" -#: src/file.c:2191 +#: src/file.c:2189 msgid "" "\n" " Background process: Directory not empty \n" " Delete it recursively? " msgstr "" -#: src/file.c:2192 -msgid " Delete: " -msgstr "" - -#: src/file.c:2198 +#: src/file.c:2196 msgid "a&ll" msgstr "" -#: src/file.c:2198 src/filegui.c:565 +#: src/file.c:2196 src/filegui.c:565 msgid "non&E" msgstr "" -#: src/file.c:2208 +#: src/file.c:2206 msgid " Type 'yes' if you REALLY want to delete " msgstr "" -#: src/file.c:2210 +#: src/file.c:2208 msgid "all the directories " msgstr "" -#: src/file.c:2212 +#: src/file.c:2210 msgid " Recursive Delete " msgstr "" -#: src/file.c:2213 +#: src/file.c:2211 msgid " Background process: Recursive Delete " msgstr "" diff --git a/src/ext.c b/src/ext.c index 62cdc3c81..4e87adffe 100644 --- a/src/ext.c +++ b/src/ext.c @@ -97,7 +97,7 @@ quote_block (quote_func_t quote_func, char **quoting_block) } void -exec_extension (const char *filename, const char *data, char **drops, int *move_dir, int start_line) +exec_extension (const char *filename, const char *data, char **drops, int *move_dir, int start_line, int needs_term) { char *file_name; int cmd_file_fd; @@ -274,7 +274,14 @@ exec_extension (const char *filename, const char *data, char **drops, int *move_ q[1] = 0; do_cd (p, cd_parse_command); } else { +#ifdef HAVE_GNOME + if (needs_term) + gnome_open_terminal_with_cmd (file_name); + else + shell_execute (file_name, EXECUTE_INTERNAL | EXECUTE_TEMPFILE); +#else shell_execute (file_name, EXECUTE_INTERNAL | EXECUTE_TEMPFILE); +#endif if (console_flag) { handle_console (CONSOLE_SAVE); @@ -653,7 +660,7 @@ match_file_output: if (p < q) { char *filename_copy = g_strdup (filename); - exec_extension (filename_copy, r + 1, drops, move_dir, view_at_line_number); + exec_extension (filename_copy, r + 1, drops, move_dir, view_at_line_number, 0); g_free (filename_copy); to_return = "Success"; diff --git a/src/ext.h b/src/ext.h index 8a7721a0b..aafe8a827 100644 --- a/src/ext.h +++ b/src/ext.h @@ -2,7 +2,7 @@ #define __EXT_H char *regex_command (char *filename, char *action, char **drops, int *move_dir); -void exec_extension (const char *filename, const char *data, char **drops, int *move_dir, int start_line); +void exec_extension (const char *filename, const char *data, char **drops, int *move_dir, int start_line, int needs_term); /* Call it after the user has edited the mc.ext file, * to flush the cached mc.ext file diff --git a/src/find.c b/src/find.c index 57aa48127..732bd28e4 100644 --- a/src/find.c +++ b/src/find.c @@ -821,8 +821,8 @@ setup_gui (void) g_status_label, TRUE, TRUE, GNOME_PAD_SMALL); gtk_widget_show_all (g_find_dlg); - gtk_widget_hide (GTK_WIDGET (find_do_view)); - gtk_widget_hide (GTK_WIDGET (find_do_edit)); + gtk_widget_hide (GTK_WIDGET (g_view)); + gtk_widget_hide (GTK_WIDGET (g_edit)); } static int