[gedit/zbrown/deteplification-src: 419/633] File choosers: store a GtkFileChooser in GeditFileChooser




commit 128f39fa6b351f4405a6eb7bf8d3408902bd4bd6
Author: Sébastien Wilmet <swilmet gnome org>
Date:   Thu Jun 11 17:23:21 2020 +0200

    File choosers: store a GtkFileChooser in GeditFileChooser

 gedit/gedit-file-chooser.c | 21 ++++++++++++++++++++-
 gedit/gedit-file-chooser.h | 11 +++++++++--
 2 files changed, 29 insertions(+), 3 deletions(-)
---
diff --git a/gedit/gedit-file-chooser.c b/gedit/gedit-file-chooser.c
index 6783ea370..8cc1ad69a 100644
--- a/gedit/gedit-file-chooser.c
+++ b/gedit/gedit-file-chooser.c
@@ -26,7 +26,7 @@
 
 struct _GeditFileChooserPrivate
 {
-       gint something;
+       GtkFileChooser *gtk_chooser;
 };
 
 G_DEFINE_TYPE_WITH_PRIVATE (GeditFileChooser, _gedit_file_chooser, G_TYPE_OBJECT)
@@ -513,6 +513,9 @@ notify_filter_cb (GtkFileChooser *chooser,
 static void
 _gedit_file_chooser_dispose (GObject *object)
 {
+       GeditFileChooser *chooser = GEDIT_FILE_CHOOSER (object);
+
+       g_clear_object (&chooser->priv->gtk_chooser);
 
        G_OBJECT_CLASS (_gedit_file_chooser_parent_class)->dispose (object);
 }
@@ -531,6 +534,22 @@ _gedit_file_chooser_init (GeditFileChooser *chooser)
        chooser->priv = _gedit_file_chooser_get_instance_private (chooser);
 }
 
+GeditFileChooser *
+_gedit_file_chooser_new (void)
+{
+       return g_object_new (GEDIT_TYPE_FILE_CHOOSER, NULL);
+}
+
+void
+_gedit_file_chooser_set_gtk_file_chooser (GeditFileChooser *chooser,
+                                         GtkFileChooser   *gtk_chooser)
+{
+       g_return_if_fail (GEDIT_IS_FILE_CHOOSER (chooser));
+       g_return_if_fail (GTK_IS_FILE_CHOOSER (gtk_chooser));
+
+       g_set_object (&chooser->priv->gtk_chooser, gtk_chooser);
+}
+
 void
 _gedit_file_chooser_setup_filters (GtkFileChooser *chooser)
 {
diff --git a/gedit/gedit-file-chooser.h b/gedit/gedit-file-chooser.h
index 50db65279..5468788a4 100644
--- a/gedit/gedit-file-chooser.h
+++ b/gedit/gedit-file-chooser.h
@@ -48,10 +48,17 @@ struct _GeditFileChooserClass
 };
 
 G_GNUC_INTERNAL
-GType  _gedit_file_chooser_get_type            (void);
+GType                  _gedit_file_chooser_get_type                    (void);
 
 G_GNUC_INTERNAL
-void   _gedit_file_chooser_setup_filters       (GtkFileChooser *chooser);
+GeditFileChooser *     _gedit_file_chooser_new                         (void);
+
+G_GNUC_INTERNAL
+void                   _gedit_file_chooser_set_gtk_file_chooser        (GeditFileChooser *chooser,
+                                                                        GtkFileChooser   *gtk_chooser);
+
+G_GNUC_INTERNAL
+void                   _gedit_file_chooser_setup_filters               (GtkFileChooser *chooser);
 
 G_END_DECLS
 


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