[gedit/wip/loader-saver: 3/3] File revert: use GtkSourceFileLoader



commit df464ae1520c8686d8ec0a8368b6acfa8ad6965c
Author: Sébastien Wilmet <swilmet gnome org>
Date:   Wed Jun 25 20:13:08 2014 +0200

    File revert: use GtkSourceFileLoader

 gedit/gedit-document.c |   10 ----------
 gedit/gedit-document.h |    7 -------
 gedit/gedit-tab.c      |   34 ++++++++++++++++++----------------
 3 files changed, 18 insertions(+), 33 deletions(-)
---
diff --git a/gedit/gedit-document.c b/gedit/gedit-document.c
index ba80c82..17aa310 100644
--- a/gedit/gedit-document.c
+++ b/gedit/gedit-document.c
@@ -1306,16 +1306,6 @@ gedit_document_loaded_real (GeditDocument *doc,
                                 doc);
 }
 
-void
-_gedit_document_load (GeditDocument       *doc,
-                     GFile               *location,
-                     const GeditEncoding *encoding,
-                     gint                 line_pos,
-                     gint                 column_pos,
-                     gboolean             create)
-{
-}
-
 static gboolean
 has_invalid_chars (GeditDocument *doc)
 {
diff --git a/gedit/gedit-document.h b/gedit/gedit-document.h
index 1e2e035..3566577 100644
--- a/gedit/gedit-document.h
+++ b/gedit/gedit-document.h
@@ -220,13 +220,6 @@ GtkSourceSearchContext     *gedit_document_get_search_context      (GeditDocument
 
 /* Non exported functions */
 
-void            _gedit_document_load           (GeditDocument       *doc,
-                                                GFile               *location,
-                                                const GeditEncoding *encoding,
-                                                gint                 line_pos,
-                                                gint                 column_pos,
-                                                gboolean             create);
-
 void            _gedit_document_save           (GeditDocument       *doc,
                                                 GeditDocumentSaveFlags flags);
 
diff --git a/gedit/gedit-tab.c b/gedit/gedit-tab.c
index 499cac2..8e65f73 100644
--- a/gedit/gedit-tab.c
+++ b/gedit/gedit-tab.c
@@ -604,6 +604,7 @@ io_loading_error_info_bar_response (GtkWidget *info_bar,
                        encoding = gedit_conversion_error_info_bar_get_encoding (GTK_WIDGET (info_bar));
 
                        set_info_bar (tab, NULL, GTK_RESPONSE_NONE);
+                       gedit_tab_set_state (tab, GEDIT_TAB_STATE_LOADING);
 
                        tab->priv->load_create = FALSE;
 
@@ -2079,8 +2080,6 @@ load (GeditTab                *tab,
 {
        g_return_if_fail (GTK_SOURCE_IS_FILE_LOADER (tab->priv->loader));
 
-       gedit_tab_set_state (tab, GEDIT_TAB_STATE_LOADING);
-
        if (encoding != NULL)
        {
                tab->priv->user_requested_encoding = TRUE;
@@ -2129,6 +2128,8 @@ _gedit_tab_load (GeditTab                *tab,
        g_return_if_fail (G_IS_FILE (location));
        g_return_if_fail (tab->priv->state == GEDIT_TAB_STATE_NORMAL);
 
+       gedit_tab_set_state (tab, GEDIT_TAB_STATE_LOADING);
+
        doc = gedit_tab_get_document (tab);
        file = gedit_document_get_file (doc);
 
@@ -2159,6 +2160,8 @@ _gedit_tab_load_stream (GeditTab                *tab,
        g_return_if_fail (G_IS_INPUT_STREAM (stream));
        g_return_if_fail (tab->priv->state == GEDIT_TAB_STATE_NORMAL);
 
+       gedit_tab_set_state (tab, GEDIT_TAB_STATE_LOADING);
+
        doc = gedit_tab_get_document (tab);
        file = gedit_document_get_file (doc);
 
@@ -2177,35 +2180,34 @@ void
 _gedit_tab_revert (GeditTab *tab)
 {
        GeditDocument *doc;
+       GtkSourceFile *file;
        GFile *location;
 
        g_return_if_fail (GEDIT_IS_TAB (tab));
-       g_return_if_fail ((tab->priv->state == GEDIT_TAB_STATE_NORMAL) ||
-                         (tab->priv->state == GEDIT_TAB_STATE_EXTERNALLY_MODIFIED_NOTIFICATION));
+       g_return_if_fail (tab->priv->state == GEDIT_TAB_STATE_NORMAL ||
+                         tab->priv->state == GEDIT_TAB_STATE_EXTERNALLY_MODIFIED_NOTIFICATION);
 
        if (tab->priv->state == GEDIT_TAB_STATE_EXTERNALLY_MODIFIED_NOTIFICATION)
        {
                set_info_bar (tab, NULL, GTK_RESPONSE_NONE);
        }
 
-       doc = gedit_tab_get_document (tab);
-
        gedit_tab_set_state (tab, GEDIT_TAB_STATE_REVERTING);
 
-       location = gedit_document_get_location (doc);
+       doc = gedit_tab_get_document (tab);
+       file = gedit_document_get_file (doc);
+       location = gtk_source_file_get_location (file);
        g_return_if_fail (location != NULL);
 
-       tab->priv->tmp_line_pos = 0;
-       tab->priv->tmp_encoding = gedit_document_get_encoding (doc);
+       if (tab->priv->loader != NULL)
+       {
+               g_warning ("GeditTab: file loader already exists.");
+               g_object_unref (tab->priv->loader);
+       }
 
-       _gedit_document_load (doc,
-                             location,
-                             tab->priv->tmp_encoding,
-                             0,
-                             0,
-                             FALSE);
+       tab->priv->loader = gtk_source_file_loader_new (file, location);
 
-       g_object_unref (location);
+       load (tab, NULL, 0, 0);
 }
 
 void


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