summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2009-12-15 09:56:56 +0100
committerAlexander Larsson <alexl@redhat.com>2009-12-15 09:56:56 +0100
commit9c7c2c9d2cc0a8648abf2dbc851e9efec3e3df1c (patch)
treecbe4eee9eb1cbff4b41a8b878e86000f4789c8eb
parentd87cf7e75c37d139631807bc22c07ba879f8218f (diff)
downloadnautilus-9c7c2c9d2cc0a8648abf2dbc851e9efec3e3df1c.tar.gz
Make trash keybindings only work if the action is sensitive
This fixes https://bugzilla.gnome.org/show_bug.cgi?id=603413 in a way not causing regressions.
-rw-r--r--src/file-manager/fm-directory-view.c25
1 files changed, 19 insertions, 6 deletions
diff --git a/src/file-manager/fm-directory-view.c b/src/file-manager/fm-directory-view.c
index 09d4ff82b..21e1b55cb 100644
--- a/src/file-manager/fm-directory-view.c
+++ b/src/file-manager/fm-directory-view.c
@@ -999,8 +999,16 @@ trash_or_delete_selected_files (FMDirectoryView *view)
static gboolean
real_trash (FMDirectoryView *view)
{
- trash_or_delete_selected_files (view);
- return TRUE;
+ GtkAction *action;
+
+ action = gtk_action_group_get_action (view->details->dir_action_group,
+ FM_ACTION_TRASH);
+ if (gtk_action_get_sensitive (action) &&
+ gtk_action_get_visible (action)) {
+ trash_or_delete_selected_files (view);
+ return TRUE;
+ }
+ return FALSE;
}
static void
@@ -1072,11 +1080,16 @@ action_restore_from_trash_callback (GtkAction *action,
static gboolean
real_delete (FMDirectoryView *view)
{
- if (!show_delete_command_auto_value) {
- return FALSE;
+ GtkAction *action;
+
+ action = gtk_action_group_get_action (view->details->dir_action_group,
+ FM_ACTION_DELETE);
+ if (gtk_action_get_sensitive (action) &&
+ gtk_action_get_visible (action)) {
+ delete_selected_files (view);
+ return TRUE;
}
- delete_selected_files (view);
- return TRUE;
+ return FALSE;
}
static void