[gtk+/gtk-2-24] filechooserentry: Make appending / to directories simpler



commit c94e902894a89d894f3f9b4b86489d704c321481
Author: Benjamin Otte <otte redhat com>
Date:   Thu Nov 3 17:46:47 2011 +0100

    filechooserentry: Make appending / to directories simpler

 gtk/gtkfilechooserentry.c |   51 +++-----------------------------------------
 1 files changed, 4 insertions(+), 47 deletions(-)
---
diff --git a/gtk/gtkfilechooserentry.c b/gtk/gtkfilechooserentry.c
index d1f6a3a..c2c2552 100644
--- a/gtk/gtkfilechooserentry.c
+++ b/gtk/gtkfilechooserentry.c
@@ -147,10 +147,6 @@ static gboolean completion_match_func     (GtkEntryCompletion  *comp,
                                           const char          *key,
                                           GtkTreeIter         *iter,
                                           gpointer             data);
-static char    *maybe_append_separator_to_file (GtkFileChooserEntry *chooser_entry,
-                                               GFile               *file,
-                                               gchar               *display_name,
-                                               gboolean            *appended);
 
 typedef enum {
   REFRESH_UP_TO_CURSOR_POSITION,
@@ -447,47 +443,6 @@ beep (GtkFileChooserEntry *chooser_entry)
   gtk_widget_error_bell (GTK_WIDGET (chooser_entry));
 }
 
-/* This function will append a directory separator to paths to
- * display_name iff the path associated with it is a directory.
- * maybe_append_separator_to_file will g_free the display_name and
- * return a new one if needed.  Otherwise, it will return the old one.
- * You should be safe calling
- *
- * display_name = maybe_append_separator_to_file (entry, file, display_name, &appended);
- * ...
- * g_free (display_name);
- */
-static char *
-maybe_append_separator_to_file (GtkFileChooserEntry *chooser_entry,
-                               GFile               *file,
-                               gchar               *display_name,
-                               gboolean            *appended)
-{
-  *appended = FALSE;
-
-  if (!g_str_has_suffix (display_name, G_DIR_SEPARATOR_S) && file)
-    {
-      GFileInfo *info;
-
-      info = _gtk_folder_get_info (chooser_entry->current_folder, file);
-
-      if (info)
-       {
-         if (_gtk_file_info_consider_as_directory (info))
-           {
-             gchar *tmp = display_name;
-             display_name = g_strconcat (tmp, G_DIR_SEPARATOR_S, NULL);
-             *appended = TRUE;
-             g_free (tmp);
-           }
-
-         g_object_unref (info);
-       }
-    }
-
-  return display_name;
-}
-
 /* Determines if the completion model has entries with a common prefix relative
  * to the current contents of the entry.  Also, if there's one and only one such
  * path, stores it in unique_path_ret.
@@ -1277,9 +1232,11 @@ populate_completion_store (GtkFileChooserEntry *chooser_entry)
        {
          gchar *display_name = g_strdup (g_file_info_get_display_name (info));
          GtkTreeIter iter;
-         gboolean dummy;
 
-          display_name = maybe_append_separator_to_file (chooser_entry, file, display_name, &dummy);
+          if (_gtk_file_info_consider_as_directory (info))
+            display_name = g_strconcat (g_file_info_get_display_name (info), G_DIR_SEPARATOR_S, NULL);
+          else
+            display_name = g_strdup (g_file_info_get_display_name (info));
 
          gtk_list_store_append (chooser_entry->completion_store, &iter);
          gtk_list_store_set (chooser_entry->completion_store, &iter,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]