[gnome-builder] code-assist: show spinner when parsing source code



commit 15842951f9bd30abfbee0f33887930ddf723da6a
Author: Christian Hergert <christian hergert me>
Date:   Wed Oct 22 16:26:26 2014 -0700

    code-assist: show spinner when parsing source code

 src/editor/gb-editor-code-assistant.c |    6 ++++++
 src/editor/gb-editor-tab-private.h    |    1 +
 src/editor/gb-editor-tab.c            |    1 +
 src/resources/ui/gb-editor-tab.ui     |   12 ++++++++++++
 4 files changed, 20 insertions(+), 0 deletions(-)
---
diff --git a/src/editor/gb-editor-code-assistant.c b/src/editor/gb-editor-code-assistant.c
index 3b99a64..3438636 100644
--- a/src/editor/gb-editor-code-assistant.c
+++ b/src/editor/gb-editor-code-assistant.c
@@ -241,6 +241,9 @@ gb_editor_code_assistant_parse_cb (GObject      *source_object,
   g_return_if_fail (GCA_IS_SERVICE (service));
   g_return_if_fail (GB_IS_EDITOR_TAB (tab));
 
+  gtk_spinner_stop (tab->priv->parsing_spinner);
+  gtk_widget_hide (GTK_WIDGET (tab->priv->parsing_spinner));
+
   if (!gca_service_call_parse_finish (service, &document_path, result, &error))
     {
       g_warning ("%s", error->message);
@@ -305,6 +308,9 @@ gb_editor_code_assistant_parse (gpointer user_data)
                           G_GINT64_CONSTANT (0));
   options = g_variant_new ("a{sv}", 0);
 
+  gtk_widget_set_visible (GTK_WIDGET (tab->priv->parsing_spinner), TRUE);
+  gtk_spinner_start (tab->priv->parsing_spinner);
+
   gca_service_call_parse (priv->gca_service,
                           path,
                           priv->gca_tmpfile,
diff --git a/src/editor/gb-editor-tab-private.h b/src/editor/gb-editor-tab-private.h
index 6e23331..bb1393d 100644
--- a/src/editor/gb-editor-tab-private.h
+++ b/src/editor/gb-editor-tab-private.h
@@ -88,6 +88,7 @@ struct _GbEditorTabPrivate
   GtkButton           *go_down_button;
   GtkButton           *go_up_button;
   GtkOverlay          *overlay;
+  GtkSpinner          *parsing_spinner;
   GtkBox              *preview_container;
   GtkProgressBar      *progress_bar;
   GtkRevealer         *revealer;
diff --git a/src/editor/gb-editor-tab.c b/src/editor/gb-editor-tab.c
index d077428..0b6989c 100644
--- a/src/editor/gb-editor-tab.c
+++ b/src/editor/gb-editor-tab.c
@@ -1582,6 +1582,7 @@ gb_editor_tab_class_init (GbEditorTabClass *klass)
   gtk_widget_class_bind_template_child_private (widget_class, GbEditorTab, go_down_button);
   gtk_widget_class_bind_template_child_private (widget_class, GbEditorTab, go_up_button);
   gtk_widget_class_bind_template_child_private (widget_class, GbEditorTab, overlay);
+  gtk_widget_class_bind_template_child_private (widget_class, GbEditorTab, parsing_spinner);
   gtk_widget_class_bind_template_child_private (widget_class, GbEditorTab, preview_container);
   gtk_widget_class_bind_template_child_private (widget_class, GbEditorTab, progress_bar);
   gtk_widget_class_bind_template_child_private (widget_class, GbEditorTab, revealer);
diff --git a/src/resources/ui/gb-editor-tab.ui b/src/resources/ui/gb-editor-tab.ui
index 9ce46db..e22d165 100644
--- a/src/resources/ui/gb-editor-tab.ui
+++ b/src/resources/ui/gb-editor-tab.ui
@@ -40,6 +40,18 @@
             <property name="visible">True</property>
             <property name="halign">end</property>
             <property name="valign">end</property>
+            <child>
+              <object class="GtkSpinner" id="parsing_spinner">
+                <property name="visible">False</property>
+                <property name="active">False</property>
+                <property name="margin-start">6</property>
+                <property name="tooltip-text" translatable="yes">Currently parsing document.</property>
+              </object>
+              <packing>
+                <property name="pack_type">GTK_PACK_START</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
           </object>
         </child>
         <child type="overlay">


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