diff options
author | Cosimo Cecchi <cosimoc@gnome.org> | 2012-11-05 18:39:59 -0500 |
---|---|---|
committer | Cosimo Cecchi <cosimoc@gnome.org> | 2012-11-05 18:41:40 -0500 |
commit | fd746872e217b46faa8c4f12d1e524bd6fdacb68 (patch) | |
tree | 24f7bd4a583aec323e09ef69134530b62f54fe90 /src | |
parent | 9323dde5c0f06b048b1daaf2cc683991d6b7d076 (diff) | |
download | nautilus-fd746872e217b46faa8c4f12d1e524bd6fdacb68.tar.gz |
view: use "Run" in menus for launching executables
When the expected action is running an executable file, we should use
the term "Run" instead of "Open" in our menus.
https://bugzilla.gnome.org/show_bug.cgi?id=687631
Diffstat (limited to 'src')
-rw-r--r-- | src/nautilus-mime-actions.c | 10 | ||||
-rw-r--r-- | src/nautilus-mime-actions.h | 1 | ||||
-rw-r--r-- | src/nautilus-view.c | 21 |
3 files changed, 24 insertions, 8 deletions
diff --git a/src/nautilus-mime-actions.c b/src/nautilus-mime-actions.c index ad4c95007..137dc7630 100644 --- a/src/nautilus-mime-actions.c +++ b/src/nautilus-mime-actions.c @@ -811,6 +811,16 @@ get_activation_action (NautilusFile *file) } gboolean +nautilus_mime_file_launches (NautilusFile *file) +{ + ActivationAction activation_action; + + activation_action = get_activation_action (file); + + return (activation_action == ACTIVATION_ACTION_LAUNCH); +} + +gboolean nautilus_mime_file_opens_in_external_app (NautilusFile *file) { ActivationAction activation_action; diff --git a/src/nautilus-mime-actions.h b/src/nautilus-mime-actions.h index dc65d8231..8f9b73a75 100644 --- a/src/nautilus-mime-actions.h +++ b/src/nautilus-mime-actions.h @@ -41,6 +41,7 @@ GList * nautilus_mime_get_applications_for_files (GList gboolean nautilus_mime_file_opens_in_view (NautilusFile *file); gboolean nautilus_mime_file_opens_in_external_app (NautilusFile *file); +gboolean nautilus_mime_file_launches (NautilusFile *file); void nautilus_mime_activate_files (GtkWindow *parent_window, NautilusWindowSlot *slot, GList *files, diff --git a/src/nautilus-view.c b/src/nautilus-view.c index 8f874fdb9..e52ca8782 100644 --- a/src/nautilus-view.c +++ b/src/nautilus-view.c @@ -8392,7 +8392,7 @@ real_update_menus (NautilusView *view) gboolean show_open_alternate; gboolean show_open_in_new_tab; gboolean can_open; - gboolean show_app; + gboolean show_app, show_run; gboolean show_save_search; gboolean save_search_sensitive; gboolean show_save_search_as; @@ -8468,7 +8468,7 @@ real_update_menus (NautilusView *view) NAUTILUS_ACTION_OPEN); gtk_action_set_sensitive (action, selection_count != 0); - can_open = show_app = selection_count != 0; + can_open = show_app = show_run = selection_count != 0; for (l = selection; l != NULL; l = l->next) { NautilusFile *file; @@ -8479,7 +8479,11 @@ real_update_menus (NautilusView *view) show_app = FALSE; } - if (!show_app) { + if (!nautilus_mime_file_launches (file)) { + show_run = FALSE; + } + + if (!show_app && !show_run) { break; } } @@ -8507,11 +8511,14 @@ real_update_menus (NautilusView *view) g_free (escaped_app); g_object_unref (app); + } else if (show_run) { + label_with_underscore = g_strdup (_("Run")); + } else { + label_with_underscore = g_strdup (_("_Open")); } - g_object_set (action, "label", - label_with_underscore ? label_with_underscore : _("_Open"), - NULL); + g_object_set (action, "label", label_with_underscore, NULL); + g_free (label_with_underscore); menuitem = gtk_ui_manager_get_widget ( nautilus_view_get_ui_manager (view), @@ -8529,8 +8536,6 @@ real_update_menus (NautilusView *view) g_object_unref (app_icon); gtk_action_set_visible (action, can_open); - - g_free (label_with_underscore); show_open_alternate = file_list_all_are_folders (selection) && selection_count > 0 && |