[gtksourceview/wip/loader-saver: 2/2] FileLoader: getters and setters



commit 3684dce64a86a5f40744f275c4164af5db3c0451
Author: Sébastien Wilmet <swilmet gnome org>
Date:   Sat Mar 29 17:35:32 2014 +0100

    FileLoader: getters and setters
    
    And remove get_info().

 docs/reference/gtksourceview-3.0-sections.txt |    5 ++
 gtksourceview/gtksourcefileloader.c           |   96 ++++++++++++++++++++++---
 gtksourceview/gtksourcefileloader.h           |   19 ++++--
 3 files changed, 105 insertions(+), 15 deletions(-)
---
diff --git a/docs/reference/gtksourceview-3.0-sections.txt b/docs/reference/gtksourceview-3.0-sections.txt
index f695217..527a39a 100644
--- a/docs/reference/gtksourceview-3.0-sections.txt
+++ b/docs/reference/gtksourceview-3.0-sections.txt
@@ -236,6 +236,11 @@ GtkSourceFileLoader
 gtk_source_file_loader_new
 gtk_source_file_loader_new_from_stream
 gtk_source_file_loader_set_candidate_encodings
+gtk_source_file_loader_get_buffer
+gtk_source_file_loader_get_file
+gtk_source_file_loader_get_input_stream
+gtk_source_file_loader_set_remove_trailing_newline
+gtk_source_file_loader_get_remove_trailing_newline
 gtk_source_file_loader_set_mount_operation_factory
 gtk_source_file_loader_load_async
 gtk_source_file_loader_load_finish
diff --git a/gtksourceview/gtksourcefileloader.c b/gtksourceview/gtksourcefileloader.c
index 5767da1..5240c76 100644
--- a/gtksourceview/gtksourcefileloader.c
+++ b/gtksourceview/gtksourcefileloader.c
@@ -149,8 +149,7 @@ gtk_source_file_loader_set_property (GObject      *object,
                        break;
 
                case PROP_REMOVE_TRAILING_NEWLINE:
-                       g_return_if_fail (loader->priv->task == NULL);
-                       loader->priv->remove_trailing_newline = g_value_get_boolean (value);
+                       gtk_source_file_loader_set_remove_trailing_newline (loader, g_value_get_boolean 
(value));
                        break;
 
                default:
@@ -747,6 +746,91 @@ gtk_source_file_loader_set_candidate_encodings (GtkSourceFileLoader *loader,
 }
 
 /**
+ * gtk_source_file_loader_get_buffer:
+ * @loader: a #GtkSourceFileLoader.
+ *
+ * Returns: (transfer none): the #GtkSourceBuffer to load the content into.
+ * Since: 3.14
+ */
+GtkSourceBuffer *
+gtk_source_file_loader_get_buffer (GtkSourceFileLoader *loader)
+{
+       g_return_val_if_fail (GTK_SOURCE_IS_FILE_LOADER (loader), NULL);
+
+       return loader->priv->source_buffer;
+}
+
+/**
+ * gtk_source_file_loader_get_file:
+ * @loader: a #GtkSourceFileLoader.
+ *
+ * Returns: (transfer none): the #GFile to load, or %NULL if an input stream is
+ *   used.
+ * Since: 3.14
+ */
+GFile *
+gtk_source_file_loader_get_file (GtkSourceFileLoader *loader)
+{
+       g_return_val_if_fail (GTK_SOURCE_IS_FILE_LOADER (loader), NULL);
+
+       return loader->priv->file;
+}
+
+/**
+ * gtk_source_file_loader_get_input_stream:
+ * @loader: a #GtkSourceFileLoader.
+ *
+ * Returns: (transfer none): the #GInputStream to load, or %NULL if a file is
+ *   used.
+ * Since: 3.14
+ */
+GInputStream *
+gtk_source_file_loader_get_input_stream (GtkSourceFileLoader *loader)
+{
+       g_return_val_if_fail (GTK_SOURCE_IS_FILE_LOADER (loader), NULL);
+
+       return loader->priv->input_stream_property;
+}
+
+/**
+ * gtk_source_file_loader_set_remove_trailing_newline:
+ * @loader: a #GtkSourceFileLoader.
+ * @remove_trailing_newline: whether to remove the trailing newline.
+ *
+ * Since: 3.14
+ */
+void
+gtk_source_file_loader_set_remove_trailing_newline (GtkSourceFileLoader *loader,
+                                                   gboolean             remove_trailing_newline)
+{
+       g_return_if_fail (GTK_SOURCE_IS_FILE_LOADER (loader));
+       g_return_if_fail (loader->priv->task == NULL);
+
+       remove_trailing_newline = remove_trailing_newline != FALSE;
+
+       if (loader->priv->remove_trailing_newline != remove_trailing_newline)
+       {
+               loader->priv->remove_trailing_newline = remove_trailing_newline;
+               g_object_notify (G_OBJECT (loader), "remove-trailing-newline");
+       }
+}
+
+/**
+ * gtk_source_file_loader_get_remove_trailing_newline:
+ * @loader: a #GtkSourceFileLoader.
+ *
+ * Returns: whether to remove the trailing newline.
+ * Since: 3.14
+ */
+gboolean
+gtk_source_file_loader_get_remove_trailing_newline (GtkSourceFileLoader *loader)
+{
+       g_return_val_if_fail (GTK_SOURCE_IS_FILE_LOADER (loader), TRUE);
+
+       return loader->priv->remove_trailing_newline;
+}
+
+/**
  * gtk_source_file_loader_load_async:
  * @loader: a #GtkSourceFileLoader.
  * @io_priority: the I/O priority of the request. E.g. %G_PRIORITY_LOW,
@@ -894,14 +978,6 @@ gtk_source_file_loader_get_compression_type (GtkSourceFileLoader *loader)
        return loader->priv->auto_detected_compression_type;
 }
 
-GFileInfo *
-gtk_source_file_loader_get_info (GtkSourceFileLoader *loader)
-{
-       g_return_val_if_fail (GTK_SOURCE_IS_FILE_LOADER (loader), NULL);
-
-       return loader->priv->info;
-}
-
 /**
  * gtk_source_file_loader_set_mount_operation_factory:
  * @loader: a #GtkSourceFileLoader.
diff --git a/gtksourceview/gtksourcefileloader.h b/gtksourceview/gtksourcefileloader.h
index 6a5efd5..056a1a5 100644
--- a/gtksourceview/gtksourcefileloader.h
+++ b/gtksourceview/gtksourcefileloader.h
@@ -65,6 +65,20 @@ void                  gtk_source_file_loader_set_candidate_encodings
                                                                (GtkSourceFileLoader     *loader,
                                                                 GSList                  
*candidate_encodings);
 
+GtkSourceBuffer                *gtk_source_file_loader_get_buffer      (GtkSourceFileLoader     *loader);
+
+GFile                  *gtk_source_file_loader_get_file        (GtkSourceFileLoader     *loader);
+
+GInputStream           *gtk_source_file_loader_get_input_stream
+                                                               (GtkSourceFileLoader     *loader);
+
+void                    gtk_source_file_loader_set_remove_trailing_newline
+                                                               (GtkSourceFileLoader     *loader,
+                                                                gboolean                 
remove_trailing_newline);
+
+gboolean                gtk_source_file_loader_get_remove_trailing_newline
+                                                               (GtkSourceFileLoader     *loader);
+
 void                    gtk_source_file_loader_load_async      (GtkSourceFileLoader     *loader,
                                                                 gint                     io_priority,
                                                                 GCancellable            *cancellable,
@@ -84,11 +98,6 @@ GtkSourceNewlineType  gtk_source_file_loader_get_newline_type (GtkSourceFileLoad
 GtkSourceCompressionType gtk_source_file_loader_get_compression_type
                                                                (GtkSourceFileLoader     *loader);
 
-/* You can get from the info: content_type, time_modified, standard_size,
- * access_can_write and also the metadata.
- */
-GFileInfo              *gtk_source_file_loader_get_info        (GtkSourceFileLoader     *loader);
-
 void                    gtk_source_file_loader_set_mount_operation_factory
                                                                (GtkSourceFileLoader            *loader,
                                                                 GtkSourceMountOperationFactory  callback,


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