filechooser: Move extract_recent_folders to filechooserwidget
authorTimm Bäder <mail@baedert.org>
Fri, 30 Aug 2019 05:13:25 +0000 (07:13 +0200)
committerTimm Bäder <mail@baedert.org>
Mon, 9 Sep 2019 15:36:26 +0000 (17:36 +0200)
It's not used anywhere else.

gtk/gtkfilechooserutils.c
gtk/gtkfilechooserutils.h
gtk/gtkfilechooserwidget.c

index 3d89ab601214f9fb801097b59cd1b5100aa7d66d..c022306dca9c2dd5c404cebc1d754121d0239e72 100644 (file)
@@ -384,62 +384,6 @@ delegate_confirm_overwrite (GtkFileChooser    *chooser,
   return conf;
 }
 
-static GFile *
-get_parent_for_uri (const char *uri)
-{
-  GFile *file;
-  GFile *parent;
-
-  file = g_file_new_for_uri (uri);
-  parent = g_file_get_parent (file);
-
-  g_object_unref (file);
-  return parent;
-       
-}
-
-/* Extracts the parent folders out of the supplied list of GtkRecentInfo* items, and returns
- * a list of GFile* for those unique parents.
- */
-GList *
-_gtk_file_chooser_extract_recent_folders (GList *infos)
-{
-  GList *l;
-  GList *result;
-  GHashTable *folders;
-
-  result = NULL;
-
-  folders = g_hash_table_new (g_file_hash, (GEqualFunc) g_file_equal);
-
-  for (l = infos; l; l = l->next)
-    {
-      GtkRecentInfo *info = l->data;
-      const char *uri;
-      GFile *parent;
-
-      uri = gtk_recent_info_get_uri (info);
-      parent = get_parent_for_uri (uri);
-
-      if (parent)
-       {
-         if (!g_hash_table_lookup (folders, parent))
-           {
-             g_hash_table_insert (folders, parent, (gpointer) 1);
-             result = g_list_prepend (result, g_object_ref (parent));
-           }
-
-         g_object_unref (parent);
-       }
-    }
-
-  result = g_list_reverse (result);
-
-  g_hash_table_destroy (folders);
-
-  return result;
-}
-
 GSettings *
 _gtk_file_chooser_get_settings_for_widget (GtkWidget *widget)
 {
index 21b98b029791502ce876c6b42d08b9edf16d23f2..6938791515be8f1a84b712b93030192f4b441942 100644 (file)
@@ -50,8 +50,6 @@ void _gtk_file_chooser_set_delegate        (GtkFileChooser *receiver,
 
 GQuark _gtk_file_chooser_delegate_get_quark (void) G_GNUC_CONST;
 
-GList *_gtk_file_chooser_extract_recent_folders (GList *infos);
-
 GSettings *_gtk_file_chooser_get_settings_for_widget (GtkWidget *widget);
 
 gchar * _gtk_file_chooser_label_for_file (GFile *file);
index d136782059a47c2cc8e4a7433cf58a2bab8a0565..3315fbb453ae48994e38f1ee59fb80a61ab7f189 100644 (file)
@@ -737,6 +737,52 @@ get_toplevel (GtkWidget *widget)
     return NULL;
 }
 
+/* Extracts the parent folders out of the supplied list of GtkRecentInfo* items, and returns
+ * a list of GFile* for those unique parents.
+ */
+static GList *
+_gtk_file_chooser_extract_recent_folders (GList *infos)
+{
+  GList *l;
+  GList *result;
+  GHashTable *folders;
+
+  result = NULL;
+
+  folders = g_hash_table_new (g_file_hash, (GEqualFunc) g_file_equal);
+
+  for (l = infos; l; l = l->next)
+    {
+      GtkRecentInfo *info = l->data;
+      const char *uri;
+      GFile *parent;
+      GFile *file;
+
+      uri = gtk_recent_info_get_uri (info);
+
+      file = g_file_new_for_uri (uri);
+      parent = g_file_get_parent (file);
+      g_object_unref (file);
+
+      if (parent)
+        {
+          if (!g_hash_table_lookup (folders, parent))
+            {
+              g_hash_table_insert (folders, parent, (gpointer) 1);
+              result = g_list_prepend (result, g_object_ref (parent));
+            }
+
+          g_object_unref (parent);
+        }
+    }
+
+  result = g_list_reverse (result);
+
+  g_hash_table_destroy (folders);
+
+  return result;
+}
+
 /* Shows an error dialog for the file chooser */
 static void
 error_message (GtkFileChooserWidget *impl,