single-click.patch 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. Index: gtk+-2.10.6/gtk/gtkcalendar.c
  2. ===================================================================
  3. --- gtk+-2.10.6.orig/gtk/gtkcalendar.c
  4. +++ gtk+-2.10.6/gtk/gtkcalendar.c
  5. @@ -2482,9 +2482,11 @@ calendar_main_button_press (GtkCalendar
  6. }
  7. calendar_select_and_focus_day (calendar, day);
  8. - }
  9. +
  10. + // This change causes the calendar to disappear after choosing a day
  11. +/* }
  12. else if (event->type == GDK_2BUTTON_PRESS)
  13. - {
  14. + {*/
  15. priv->in_drag = 0;
  16. if (day_month == MONTH_CURRENT)
  17. g_signal_emit (calendar,
  18. Index: gtk+-2.10.6/gtk/gtkfilesel.c
  19. ===================================================================
  20. --- gtk+-2.10.6.orig/gtk/gtkfilesel.c
  21. +++ gtk+-2.10.6/gtk/gtkfilesel.c
  22. @@ -2426,6 +2426,33 @@ gtk_file_selection_file_changed (GtkTree
  23. if (fs->last_selected != NULL)
  24. g_free (fs->last_selected);
  25. + // Single-click directory entry
  26. + if (new_names->len == 1)
  27. + {
  28. + GtkTreeView *tree_view;
  29. + GtkTreeModel *model;
  30. + GtkTreePath *path;
  31. + GtkTreeIter iter;
  32. + gboolean is_file;
  33. +
  34. + tree_view = gtk_tree_selection_get_tree_view (selection);
  35. +
  36. + if (gtk_tree_selection_get_selected (selection, &model, &iter))
  37. + {
  38. + path = gtk_tree_model_get_path (model, &iter);
  39. + gtk_tree_model_get (model, &iter, ISFILE_COLUMN, &is_file, -1);
  40. +
  41. + if (!is_file)
  42. + {
  43. + gtk_file_selection_dir_activate (tree_view, path,
  44. + gtk_tree_view_get_column (tree_view, DIR_COLUMN),
  45. + user_data);
  46. + }
  47. +
  48. + gtk_tree_path_free (path);
  49. + }
  50. + }
  51. +
  52. fs->last_selected = g_strdup (g_ptr_array_index (new_names, index));
  53. filename = get_real_filename (fs->last_selected, FALSE);