[gedit/wip/loader-saver] tab: load stream with GtkSourceFileLoader
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit/wip/loader-saver] tab: load stream with GtkSourceFileLoader
- Date: Mon, 23 Jun 2014 14:39:38 +0000 (UTC)
commit 959a633ad327ab95fa7c71ac9c105974938944ac
Author: Sébastien Wilmet <swilmet gnome org>
Date: Mon Jun 23 16:37:38 2014 +0200
tab: load stream with GtkSourceFileLoader
gedit/gedit-tab.c | 68 +++++++++++++++++++++++++++++-----------------------
1 files changed, 38 insertions(+), 30 deletions(-)
---
diff --git a/gedit/gedit-tab.c b/gedit/gedit-tab.c
index 265364c..9edd657 100644
--- a/gedit/gedit-tab.c
+++ b/gedit/gedit-tab.c
@@ -2060,6 +2060,7 @@ load_cb (GtkSourceFileLoader *loader,
g_clear_object (&tab->priv->loader);
g_clear_object (&tab->priv->cancellable);
+ tab->priv->load_create = FALSE;
g_signal_emit_by_name (doc, "loaded", NULL);
@@ -2074,30 +2075,17 @@ load_cb (GtkSourceFileLoader *loader,
}
}
-void
-_gedit_tab_load (GeditTab *tab,
- GFile *location,
- const GtkSourceEncoding *encoding,
- gint line_pos,
- gint column_pos,
- gboolean create)
+static void
+load (GeditTab *tab,
+ const GtkSourceEncoding *encoding,
+ gint line_pos,
+ gint column_pos)
{
- GeditDocument *doc;
- GtkSourceFile *file;
-
- g_return_if_fail (GEDIT_IS_TAB (tab));
- g_return_if_fail (G_IS_FILE (location));
- g_return_if_fail (tab->priv->state == GEDIT_TAB_STATE_NORMAL);
- g_return_if_fail (tab->priv->loader == NULL);
+ g_return_if_fail (GTK_SOURCE_IS_FILE_LOADER (tab->priv->loader));
g_return_if_fail (tab->priv->cancellable == NULL);
- doc = gedit_tab_get_document (tab);
- file = gedit_document_get_file (doc);
-
gedit_tab_set_state (tab, GEDIT_TAB_STATE_LOADING);
- tab->priv->loader = gtk_source_file_loader_new (file, location);
-
if (encoding != NULL)
{
tab->priv->user_requested_encoding = TRUE;
@@ -2114,7 +2102,6 @@ _gedit_tab_load (GeditTab *tab,
tab->priv->tmp_line_pos = line_pos;
tab->priv->tmp_column_pos = column_pos;
- tab->priv->load_create = create != FALSE;
tab->priv->cancellable = g_cancellable_new ();
@@ -2132,6 +2119,32 @@ _gedit_tab_load (GeditTab *tab,
}
void
+_gedit_tab_load (GeditTab *tab,
+ GFile *location,
+ const GtkSourceEncoding *encoding,
+ gint line_pos,
+ gint column_pos,
+ gboolean create)
+{
+ GeditDocument *doc;
+ GtkSourceFile *file;
+
+ g_return_if_fail (GEDIT_IS_TAB (tab));
+ g_return_if_fail (G_IS_FILE (location));
+ g_return_if_fail (tab->priv->state == GEDIT_TAB_STATE_NORMAL);
+ g_return_if_fail (tab->priv->loader == NULL);
+
+ doc = gedit_tab_get_document (tab);
+ file = gedit_document_get_file (doc);
+
+ tab->priv->loader = gtk_source_file_loader_new (file, location);
+
+ tab->priv->load_create = create != FALSE;
+
+ load (tab, encoding, line_pos, column_pos);
+}
+
+void
_gedit_tab_load_stream (GeditTab *tab,
GInputStream *stream,
const GtkSourceEncoding *encoding,
@@ -2139,24 +2152,19 @@ _gedit_tab_load_stream (GeditTab *tab,
gint column_pos)
{
GeditDocument *doc;
+ GtkSourceFile *file;
g_return_if_fail (GEDIT_IS_TAB (tab));
g_return_if_fail (G_IS_INPUT_STREAM (stream));
g_return_if_fail (tab->priv->state == GEDIT_TAB_STATE_NORMAL);
+ g_return_if_fail (tab->priv->loader == NULL);
doc = gedit_tab_get_document (tab);
+ file = gedit_document_get_file (doc);
- gedit_tab_set_state (tab, GEDIT_TAB_STATE_LOADING);
-
- tab->priv->tmp_line_pos = line_pos;
- tab->priv->tmp_column_pos = column_pos;
- tab->priv->tmp_encoding = encoding;
+ tab->priv->loader = gtk_source_file_loader_new_from_stream (file, stream);
- _gedit_document_load_stream (doc,
- stream,
- encoding,
- line_pos,
- column_pos);
+ load (tab, encoding, line_pos, column_pos);
}
void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]