summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCosimo Cecchi <cosimoc@gnome.org>2012-11-05 18:39:59 -0500
committerCosimo Cecchi <cosimoc@gnome.org>2012-11-05 18:41:40 -0500
commitfd746872e217b46faa8c4f12d1e524bd6fdacb68 (patch)
tree24f7bd4a583aec323e09ef69134530b62f54fe90 /src
parent9323dde5c0f06b048b1daaf2cc683991d6b7d076 (diff)
downloadnautilus-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.c10
-rw-r--r--src/nautilus-mime-actions.h1
-rw-r--r--src/nautilus-view.c21
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 &&