diff options
-rw-r--r-- | src/file-manager/fm-directory-view.c | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/src/file-manager/fm-directory-view.c b/src/file-manager/fm-directory-view.c index 3dbf5c396..ae70b32e6 100644 --- a/src/file-manager/fm-directory-view.c +++ b/src/file-manager/fm-directory-view.c @@ -4250,7 +4250,8 @@ add_application_to_open_with_menu (FMDirectoryView *view, GList *files, int index, const char *menu_placeholder, - const char *popup_placeholder) + const char *popup_placeholder, + const gboolean submenu) { ApplicationLaunchParameters *launch_parameters; char *tip; @@ -4258,11 +4259,16 @@ add_application_to_open_with_menu (FMDirectoryView *view, char *action_name; char *escaped_app; GtkAction *action; + GIcon *app_icon; launch_parameters = application_launch_parameters_new (application, files, view); escaped_app = eel_str_double_underscores (g_app_info_get_name (application)); - label = g_strdup_printf (_("Open with \"%s\""), escaped_app); + if (submenu) + label = g_strdup_printf ("%s", escaped_app); + else + label = g_strdup_printf (_("Open with %s"), escaped_app); + tip = g_strdup_printf (ngettext ("Use \"%s\" to open the selected item", "Use \"%s\" to open the selected items", g_list_length (files)), @@ -4276,6 +4282,14 @@ add_application_to_open_with_menu (FMDirectoryView *view, tip, NULL); + app_icon = g_object_ref (g_app_info_get_icon (application)); + + if (app_icon == NULL) + app_icon = g_themed_icon_new ("application-x-executable"); + + gtk_action_set_gicon (action, app_icon); + g_object_unref (app_icon); + g_signal_connect_data (action, "activate", G_CALLBACK (open_with_launch_application_callback), launch_parameters, @@ -4450,7 +4464,7 @@ reset_open_with_menu (FMDirectoryView *view, GList *selection) node->data, selection, index, - menu_path, popup_path); + menu_path, popup_path, submenu_visible); } eel_g_object_list_free (applications); if (default_app != NULL) { @@ -6909,7 +6923,7 @@ static const GtkActionEntry directory_view_entries[] = { /* tooltip */ N_("Open each selected item in a folder window"), G_CALLBACK (action_open_folder_window_callback) }, /* name, stock id */ { "OtherApplication1", NULL, - /* label, accelerator */ N_("Open with Other _Application..."), NULL, + /* label, accelerator */ N_("Other _Application..."), NULL, /* tooltip */ N_("Choose another application with which to open the selected item"), G_CALLBACK (action_other_application_callback) }, /* name, stock id */ { "OtherApplication2", NULL, @@ -8389,7 +8403,7 @@ real_update_menus (FMDirectoryView *view) char *escaped_app; escaped_app = eel_str_double_underscores (g_app_info_get_name (app)); - label_with_underscore = g_strdup_printf (_("_Open with \"%s\""), + label_with_underscore = g_strdup_printf (_("_Open with %s"), escaped_app); app_icon = g_object_ref (g_app_info_get_icon (app)); |