[gedit] GeditDocument: get_language_metadata() static function



commit b74b8264e0ee0ac47012f91fa9058103ba603999
Author: Sébastien Wilmet <swilmet gnome org>
Date:   Sat Jun 21 20:18:31 2014 +0200

    GeditDocument: get_language_metadata() static function
    
    To avoid code duplication.

 gedit/gedit-document.c |   22 ++++++++++++++++------
 1 files changed, 16 insertions(+), 6 deletions(-)
---
diff --git a/gedit/gedit-document.c b/gedit/gedit-document.c
index a5d776d..9ed9a61 100644
--- a/gedit/gedit-document.c
+++ b/gedit/gedit-document.c
@@ -211,6 +211,14 @@ set_compression_type (GeditDocument *doc,
        }
 }
 
+static const gchar *
+get_language_metadata (GeditDocument *doc)
+{
+       GtkSourceLanguage *lang = gedit_document_get_language (doc);
+
+       return lang != NULL ? gtk_source_language_get_id (lang) : "_NORMAL_";
+}
+
 static void
 save_metadata (GeditDocument *doc)
 {
@@ -220,9 +228,7 @@ save_metadata (GeditDocument *doc)
 
        if (doc->priv->language_set_by_user)
        {
-               GtkSourceLanguage *lang = gedit_document_get_language (doc);
-
-               language = lang != NULL ? gtk_source_language_get_id (lang) : "_NORMAL_";
+               language = get_language_metadata (doc);
        }
 
        gtk_text_buffer_get_iter_at_mark (GTK_TEXT_BUFFER (doc),
@@ -659,7 +665,9 @@ set_language (GeditDocument     *doc,
        old_lang = gtk_source_buffer_get_language (GTK_SOURCE_BUFFER (doc));
 
        if (old_lang == lang)
+       {
                return;
+       }
 
        gtk_source_buffer_set_language (GTK_SOURCE_BUFFER (doc), lang);
 
@@ -681,9 +689,11 @@ set_language (GeditDocument     *doc,
 
        if (set_by_user)
        {
-               gedit_document_set_metadata (doc, GEDIT_METADATA_ATTRIBUTE_LANGUAGE,
-                       (lang == NULL) ? "_NORMAL_" : gtk_source_language_get_id (lang),
-                       NULL);
+               const gchar *language = get_language_metadata (doc);
+
+               gedit_document_set_metadata (doc,
+                                            GEDIT_METADATA_ATTRIBUTE_LANGUAGE, language,
+                                            NULL);
        }
 
        doc->priv->language_set_by_user = set_by_user;


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