[gnome-builder/wip/libide-merge] add spinner when building project
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/libide-merge] add spinner when building project
- Date: Sun, 22 Mar 2015 20:48:51 +0000 (UTC)
commit 7fc7ddb6a5582f989cba39733de1eff945a6e185
Author: Christian Hergert <christian hergert me>
Date: Sun Mar 22 13:48:46 2015 -0700
add spinner when building project
data/ui/gb-editor-workspace.ui | 13 +++++++++++++
src/editor/gb-editor-workspace-private.h | 1 +
src/editor/gb-editor-workspace.c | 10 +++++++++-
3 files changed, 23 insertions(+), 1 deletions(-)
---
diff --git a/data/ui/gb-editor-workspace.ui b/data/ui/gb-editor-workspace.ui
index 8bb62e9..b96d23c 100644
--- a/data/ui/gb-editor-workspace.ui
+++ b/data/ui/gb-editor-workspace.ui
@@ -31,6 +31,19 @@
</style>
</object>
</child>
+ <child>
+ <object class="GtkSpinner" id="project_spinner">
+ <property name="active">false</property>
+ <property name="margin-top">3</property>
+ <property name="margin-bottom">3</property>
+ <property name="margin-start">6</property>
+ <property name="margin-end">6</property>
+ <property name="visible">false</property>
+ </object>
+ <packing>
+ <property name="pack-type">end</property>
+ </packing>
+ </child>
</object>
</child>
<child>
diff --git a/src/editor/gb-editor-workspace-private.h b/src/editor/gb-editor-workspace-private.h
index 29e9777..31ed136 100644
--- a/src/editor/gb-editor-workspace-private.h
+++ b/src/editor/gb-editor-workspace-private.h
@@ -32,6 +32,7 @@ struct _GbEditorWorkspace
GtkPaned *project_paned;
GtkBox *project_sidebar;
GtkMenuButton *project_button;
+ GtkSpinner *project_spinner;
GbTree *project_tree;
GbTreeBuilder *project_tree_builder;
GbViewGrid *view_grid;
diff --git a/src/editor/gb-editor-workspace.c b/src/editor/gb-editor-workspace.c
index 01a5f8e..55a7bec 100644
--- a/src/editor/gb-editor-workspace.c
+++ b/src/editor/gb-editor-workspace.c
@@ -81,7 +81,6 @@ gb_editor_workspace_context_changed (GtkWidget *workspace,
IdeContext *context)
{
GbEditorWorkspace *self = (GbEditorWorkspace *)workspace;
- GbTreeNode *root;
g_assert (GB_IS_EDITOR_WORKSPACE (self));
g_assert (!context || IDE_IS_CONTEXT (context));
@@ -90,9 +89,17 @@ gb_editor_workspace_context_changed (GtkWidget *workspace,
{
IdeBufferManager *bufmgr;
IdeProject *project;
+ GbWorkbench *workbench;
+ GbTreeNode *root;
g_autoptr(GPtrArray) buffers = NULL;
gsize i;
+ workbench = gb_widget_get_workbench (GTK_WIDGET (self));
+ g_object_bind_property (workbench, "building", self->project_spinner, "active",
+ G_BINDING_SYNC_CREATE);
+ g_object_bind_property (workbench, "building", self->project_spinner, "visible",
+ G_BINDING_SYNC_CREATE);
+
bufmgr = ide_context_get_buffer_manager (context);
g_signal_connect_object (bufmgr,
"load-buffer",
@@ -173,6 +180,7 @@ gb_editor_workspace_class_init (GbEditorWorkspaceClass *klass)
GB_WIDGET_CLASS_BIND (klass, GbEditorWorkspace, project_button);
GB_WIDGET_CLASS_BIND (klass, GbEditorWorkspace, project_paned);
GB_WIDGET_CLASS_BIND (klass, GbEditorWorkspace, project_sidebar);
+ GB_WIDGET_CLASS_BIND (klass, GbEditorWorkspace, project_spinner);
GB_WIDGET_CLASS_BIND (klass, GbEditorWorkspace, project_tree);
GB_WIDGET_CLASS_BIND (klass, GbEditorWorkspace, view_grid);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]