| Index: gtk+-2.10.6/gtk/gtkcalendar.c |
| =================================================================== |
| --- gtk+-2.10.6.orig/gtk/gtkcalendar.c |
| +++ gtk+-2.10.6/gtk/gtkcalendar.c |
| @@ -2482,9 +2482,11 @@ calendar_main_button_press (GtkCalendar |
| } |
| |
| calendar_select_and_focus_day (calendar, day); |
| - } |
| + |
| + // This change causes the calendar to disappear after choosing a day |
| +/* } |
| else if (event->type == GDK_2BUTTON_PRESS) |
| - { |
| + {*/ |
| priv->in_drag = 0; |
| if (day_month == MONTH_CURRENT) |
| g_signal_emit (calendar, |
| Index: gtk+-2.10.6/gtk/gtkfilesel.c |
| =================================================================== |
| --- gtk+-2.10.6.orig/gtk/gtkfilesel.c |
| +++ gtk+-2.10.6/gtk/gtkfilesel.c |
| @@ -2426,6 +2426,33 @@ gtk_file_selection_file_changed (GtkTree |
| if (fs->last_selected != NULL) |
| g_free (fs->last_selected); |
| |
| + // Single-click directory entry |
| + if (new_names->len == 1) |
| + { |
| + GtkTreeView *tree_view; |
| + GtkTreeModel *model; |
| + GtkTreePath *path; |
| + GtkTreeIter iter; |
| + gboolean is_file; |
| + |
| + tree_view = gtk_tree_selection_get_tree_view (selection); |
| + |
| + if (gtk_tree_selection_get_selected (selection, &model, &iter)) |
| + { |
| + path = gtk_tree_model_get_path (model, &iter); |
| + gtk_tree_model_get (model, &iter, ISFILE_COLUMN, &is_file, -1); |
| + |
| + if (!is_file) |
| + { |
| + gtk_file_selection_dir_activate (tree_view, path, |
| + gtk_tree_view_get_column (tree_view, DIR_COLUMN), |
| + user_data); |
| + } |
| + |
| + gtk_tree_path_free (path); |
| + } |
| + } |
| + |
| fs->last_selected = g_strdup (g_ptr_array_index (new_names, index)); |
| filename = get_real_filename (fs->last_selected, FALSE); |
| |