[gedit/wip/loader-saver: 7/16] GeditDocument: remove the "encoding" property



commit 34e55c56c8cad66283ff7a86f39451a39e7c9dd8
Author: Sébastien Wilmet <swilmet gnome org>
Date:   Thu Jun 26 23:04:45 2014 +0200

    GeditDocument: remove the "encoding" property
    
    The property has been moved to GtkSourceFile.

 gedit/gedit-document.c |   52 ++++++++++-------------------------------------
 gedit/gedit-document.h |    4 +--
 2 files changed, 12 insertions(+), 44 deletions(-)
---
diff --git a/gedit/gedit-document.c b/gedit/gedit-document.c
index 4011b50..fae3e77 100644
--- a/gedit/gedit-document.c
+++ b/gedit/gedit-document.c
@@ -60,8 +60,6 @@ struct _GeditDocumentPrivate
 
        GFileInfo   *metadata_info;
 
-       const GeditEncoding *encoding;
-
        gchar       *content_type;
 
        GTimeVal     mtime;
@@ -100,7 +98,6 @@ enum
        PROP_CONTENT_TYPE,
        PROP_MIME_TYPE,
        PROP_READ_ONLY,
-       PROP_ENCODING,
        PROP_EMPTY_SEARCH
 };
 
@@ -270,10 +267,6 @@ gedit_document_get_property (GObject    *object,
                        g_value_set_boolean (value, doc->priv->readonly);
                        break;
 
-               case PROP_ENCODING:
-                       g_value_set_boxed (value, doc->priv->encoding);
-                       break;
-
                case PROP_EMPTY_SEARCH:
                        g_value_set_boolean (value, doc->priv->empty_search);
                        break;
@@ -405,14 +398,6 @@ gedit_document_class_init (GeditDocumentClass *klass)
                                                               G_PARAM_READABLE |
                                                               G_PARAM_STATIC_STRINGS));
 
-       g_object_class_install_property (object_class, PROP_ENCODING,
-                                        g_param_spec_boxed ("encoding",
-                                                            "Encoding",
-                                                            "The GeditEncoding used for the document",
-                                                            GEDIT_TYPE_ENCODING,
-                                                            G_PARAM_READABLE |
-                                                            G_PARAM_STATIC_STRINGS));
-
        /**
         * GeditDocument:empty-search:
         *
@@ -541,30 +526,19 @@ set_language (GeditDocument     *doc,
 }
 
 static void
-set_encoding (GeditDocument       *doc,
-             const GeditEncoding *encoding,
-             gboolean             set_by_user)
+save_encoding_metadata (GeditDocument *doc)
 {
-       g_return_if_fail (encoding != NULL);
+       const GtkSourceEncoding *encoding;
+       const gchar *charset;
 
        gedit_debug (DEBUG_DOCUMENT);
 
-       if (doc->priv->encoding == encoding)
-               return;
-
-       doc->priv->encoding = encoding;
+       encoding = gtk_source_file_get_encoding (doc->priv->file);
+       charset = gtk_source_encoding_get_charset (encoding);
 
-       if (set_by_user)
-       {
-               const gchar *charset;
-
-               charset = gedit_encoding_get_charset (encoding);
-
-               gedit_document_set_metadata (doc, GEDIT_METADATA_ATTRIBUTE_ENCODING,
-                                            charset, NULL);
-       }
-
-       g_object_notify (G_OBJECT (doc), "encoding");
+       gedit_document_set_metadata (doc,
+                                    GEDIT_METADATA_ATTRIBUTE_ENCODING, charset,
+                                    NULL);
 }
 
 static GtkSourceStyleScheme *
@@ -744,8 +718,6 @@ gedit_document_init (GeditDocument *doc)
 
        g_get_current_time (&doc->priv->time_of_last_save_or_load);
 
-       priv->encoding = gedit_encoding_get_utf8 ();
-
        priv->file = gtk_source_file_new (GTK_SOURCE_BUFFER (doc));
 
        g_settings_bind (priv->editor_settings,
@@ -1180,9 +1152,7 @@ saved_query_info_cb (GFile         *location,
 
        set_readonly (doc, FALSE);
 
-       set_encoding (doc,
-                     gtk_source_file_get_encoding (doc->priv->file),
-                     TRUE);
+       save_encoding_metadata (doc);
 
        /* Async operation finished. */
        g_object_unref (doc);
@@ -1434,12 +1404,12 @@ gedit_document_get_language (GeditDocument *doc)
        return gtk_source_buffer_get_language (GTK_SOURCE_BUFFER (doc));
 }
 
-const GeditEncoding *
+const GtkSourceEncoding *
 gedit_document_get_encoding (GeditDocument *doc)
 {
        g_return_val_if_fail (GEDIT_IS_DOCUMENT (doc), NULL);
 
-       return doc->priv->encoding;
+       return gtk_source_file_get_encoding (doc->priv->file);
 }
 
 glong
diff --git a/gedit/gedit-document.h b/gedit/gedit-document.h
index 9ad568f..49bde9e 100644
--- a/gedit/gedit-document.h
+++ b/gedit/gedit-document.h
@@ -25,8 +25,6 @@
 
 #include <gtksourceview/gtksource.h>
 
-#include <gedit/gedit-encodings.h>
-
 G_BEGIN_DECLS
 
 #define GEDIT_TYPE_DOCUMENT              (gedit_document_get_type())
@@ -122,7 +120,7 @@ void                 gedit_document_set_language    (GeditDocument       *doc,
 GtkSourceLanguage
                *gedit_document_get_language    (GeditDocument       *doc);
 
-const GeditEncoding
+const GtkSourceEncoding
                *gedit_document_get_encoding    (GeditDocument       *doc);
 
 GtkSourceNewlineType


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