From 8a3d75dbc124c360724a687594927d64924bc394 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 22 Sep 2004 20:17:53 +0000 Subject: [PATCH] Don't use bitops on booleans. (gtk_file_chooser_default_should_respond): 2004-09-22 Matthias Clasen * gtk/gtkfilechooserdefault.c (selection_check_foreach_cb): Don't use bitops on booleans. (gtk_file_chooser_default_should_respond): Make it easier to select folders in SELECT_FOLDER mode. --- ChangeLog | 2 ++ ChangeLog.pre-2-10 | 2 ++ ChangeLog.pre-2-6 | 2 ++ ChangeLog.pre-2-8 | 2 ++ gtk/gtkfilechooserdefault.c | 18 ++++++++++++------ 5 files changed, 20 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 93c211fde9..423893f95e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,8 @@ * gtk/gtkfilechooserdefault.c (selection_check_foreach_cb): Don't use bitops on booleans. + (gtk_file_chooser_default_should_respond): Make it easier to + select folders in SELECT_FOLDER mode. Wed Sep 22 00:54:34 2004 Matthias Clasen diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 93c211fde9..423893f95e 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -2,6 +2,8 @@ * gtk/gtkfilechooserdefault.c (selection_check_foreach_cb): Don't use bitops on booleans. + (gtk_file_chooser_default_should_respond): Make it easier to + select folders in SELECT_FOLDER mode. Wed Sep 22 00:54:34 2004 Matthias Clasen diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 93c211fde9..423893f95e 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -2,6 +2,8 @@ * gtk/gtkfilechooserdefault.c (selection_check_foreach_cb): Don't use bitops on booleans. + (gtk_file_chooser_default_should_respond): Make it easier to + select folders in SELECT_FOLDER mode. Wed Sep 22 00:54:34 2004 Matthias Clasen diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 93c211fde9..423893f95e 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -2,6 +2,8 @@ * gtk/gtkfilechooserdefault.c (selection_check_foreach_cb): Don't use bitops on booleans. + (gtk_file_chooser_default_should_respond): Make it easier to + select folders in SELECT_FOLDER mode. Wed Sep 22 00:54:34 2004 Matthias Clasen diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c index 58ebb07e0f..6f8b905a0f 100644 --- a/gtk/gtkfilechooserdefault.c +++ b/gtk/gtkfilechooserdefault.c @@ -4932,9 +4932,7 @@ gtk_file_chooser_default_should_respond (GtkFileChooserEmbed *chooser_embed) current_focus = gtk_window_get_focus (GTK_WINDOW (toplevel)); - if (current_focus == NULL) - return FALSE; - else if (current_focus == impl->browse_files_tree_view) + if (current_focus == impl->browse_files_tree_view) { int num_selected; gboolean all_files, all_folders; @@ -4943,9 +4941,17 @@ gtk_file_chooser_default_should_respond (GtkFileChooserEmbed *chooser_embed) selection_check (impl, &num_selected, &all_files, &all_folders); - if (impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER && num_selected != 1) - return TRUE; /* zero means current folder; more than one means use the whole selection */ - + if (impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER) + { + if (num_selected != 1) + return TRUE; /* zero means current folder; more than one means use the whole selection */ + else if (current_focus != impl->browse_files_tree_view) + { + /* a single folder is selected and a button was clicked */ + switch_to_selected_folder (impl); + return TRUE; + } + } if (num_selected == 0) { if (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE