[gnome-builder/editor-layout] tab: implement document loading
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/editor-layout] tab: implement document loading
- Date: Sun, 30 Nov 2014 13:21:19 +0000 (UTC)
commit 83fb0ab562440860fde992e70faba4cf5c05e2f1
Author: Christian Hergert <christian hergert me>
Date: Sun Nov 30 04:38:42 2014 -0800
tab: implement document loading
src/editor/gb-editor-tab.c | 52 ++++++++++++++++++++++++++++++++++++++++++++
src/editor/gb-editor-tab.h | 2 +
2 files changed, 54 insertions(+), 0 deletions(-)
---
diff --git a/src/editor/gb-editor-tab.c b/src/editor/gb-editor-tab.c
index 8308381..5985403 100644
--- a/src/editor/gb-editor-tab.c
+++ b/src/editor/gb-editor-tab.c
@@ -195,6 +195,58 @@ gb_editor_tab_save (GbEditorTab *tab)
EXIT;
}
+static void
+gb_editor_tab_open_file_cb (GObject *source_object,
+ GAsyncResult *result,
+ gpointer user_data)
+{
+ GbEditorTab *tab = user_data;
+ GbEditorDocument *document = (GbEditorDocument *)source_object;
+ GError *error = NULL;
+
+ ENTRY;
+
+ g_return_if_fail (GB_IS_EDITOR_DOCUMENT (document));
+ g_return_if_fail (G_IS_ASYNC_RESULT (result));
+ g_return_if_fail (GB_IS_EDITOR_TAB (tab));
+
+ if (!gb_editor_document_load_finish (document, result, &error))
+ {
+ g_print ("%s", error->message);
+ //gb_editor_tab_set_error (tab, error);
+ g_clear_error (&error);
+ }
+
+ gb_widget_fade_hide (GTK_WIDGET (tab->priv->progress_bar));
+
+ g_object_unref (tab);
+
+ EXIT;
+}
+
+void
+gb_editor_tab_open_file (GbEditorTab *tab,
+ GFile *file)
+{
+ ENTRY;
+
+ g_return_if_fail (GB_IS_EDITOR_TAB (tab));
+
+ gtk_progress_bar_set_fraction (tab->priv->progress_bar, 0.0);
+ gtk_widget_show (GTK_WIDGET (tab->priv->progress_bar));
+
+ gb_editor_document_load_async (tab->priv->document,
+ file,
+ NULL, /* cancellable */
+ gb_editor_tab_progress_cb,
+ tab,
+ NULL,
+ gb_editor_tab_open_file_cb,
+ g_object_ref (tab));
+
+ EXIT;
+}
+
void
gb_editor_tab_open (GbEditorTab *tab)
{
diff --git a/src/editor/gb-editor-tab.h b/src/editor/gb-editor-tab.h
index 9bb06c5..84a6f08 100644
--- a/src/editor/gb-editor-tab.h
+++ b/src/editor/gb-editor-tab.h
@@ -55,6 +55,8 @@ GType gb_editor_tab_get_type (void) G_GNUC_CONST;
void gb_editor_tab_save (GbEditorTab *tab);
void gb_editor_tab_save_as (GbEditorTab *tab);
void gb_editor_tab_open (GbEditorTab *tab);
+void gb_editor_tab_open_file (GbEditorTab *tab,
+ GFile *file);
void gb_editor_tab_scroll_up (GbEditorTab *tab);
void gb_editor_tab_scroll_down (GbEditorTab *tab);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]