[gnome-builder/wip/chergert/deploy] omnibar: add progress bar to omnibar



commit 5d48a7b5f31cd74e08a261f02e8dcf6083dc27f9
Author: Christian Hergert <chergert redhat com>
Date:   Wed Mar 7 17:50:19 2018 -0800

    omnibar: add progress bar to omnibar
    
    We want to be able to use this when we are deploying to the device. Since
    the transfer is fairly important to the running of the app, I'm opting to
    put progress here rather than in our transfers button.

 src/libide/workbench/ide-omni-bar.c              |   2 +
 src/libide/workbench/ide-omni-bar.ui             | 138 ++++++++++++-----------
 src/libide/workbench/ide-workbench-header-bar.ui |   1 +
 3 files changed, 78 insertions(+), 63 deletions(-)
---
diff --git a/src/libide/workbench/ide-omni-bar.c b/src/libide/workbench/ide-omni-bar.c
index 13edd8c56..17527991b 100644
--- a/src/libide/workbench/ide-omni-bar.c
+++ b/src/libide/workbench/ide-omni-bar.c
@@ -141,6 +141,7 @@ struct _IdeOmniBar
   GtkLabel             *popover_runtime_label;
   GtkLabel             *popover_project_label;
   GtkLabel             *popover_warnings_label;
+  GtkProgressBar       *progress;
 };
 
 G_DEFINE_TYPE (IdeOmniBar, ide_omni_bar, GTK_TYPE_BOX)
@@ -566,6 +567,7 @@ ide_omni_bar_class_init (IdeOmniBarClass *klass)
   gtk_widget_class_bind_template_child (widget_class, IdeOmniBar, popover_runtime_label);
   gtk_widget_class_bind_template_child (widget_class, IdeOmniBar, popover_warnings_label);
   gtk_widget_class_bind_template_child (widget_class, IdeOmniBar, project_label);
+  gtk_widget_class_bind_template_child (widget_class, IdeOmniBar, progress);
 
   g_type_ensure (IDE_TYPE_OMNI_PAUSABLE_ROW);
   g_type_ensure (DZL_TYPE_LIST_BOX);
diff --git a/src/libide/workbench/ide-omni-bar.ui b/src/libide/workbench/ide-omni-bar.ui
index 2d8f5de2e..d6b1b7fc1 100644
--- a/src/libide/workbench/ide-omni-bar.ui
+++ b/src/libide/workbench/ide-omni-bar.ui
@@ -28,94 +28,106 @@
             <property name="above-child">true</property>
             <property name="visible">true</property>
             <child>
-              <object class="GtkBox">
+              <object class="GtkOverlay">
                 <property name="visible">true</property>
-                <property name="margin-end">3</property>
-                <property name="margin-start">3</property>
-                <property name="spacing">6</property>
+                <child type="overlay">
+                  <object class="GtkProgressBar" id="progress">
+                    <style>
+                      <class name="osd"/>
+                    </style>
+                    <property name="halign">fill</property>
+                    <property name="valign">end</property>
+                  </object>
+                </child>
                 <child>
-                  <object class="GtkBox" id="branch_box">
-                    <property name="orientation">horizontal</property>
-                    <property name="spacing">6</property>
+                  <object class="GtkBox">
+                    <property name="hexpand">true</property>
                     <property name="visible">true</property>
+                    <property name="margin-end">3</property>
+                    <property name="margin-start">3</property>
+                    <property name="spacing">6</property>
                     <child>
-                      <object class="GtkLabel" id="project_label">
-                        <property name="ellipsize">end</property>
+                      <object class="GtkBox" id="branch_box">
+                        <property name="orientation">horizontal</property>
+                        <property name="spacing">6</property>
                         <property name="visible">true</property>
-                        <attributes>
-                          <attribute name="weight" value="bold"/>
-                        </attributes>
+                        <child>
+                          <object class="GtkLabel" id="project_label">
+                            <property name="ellipsize">end</property>
+                            <property name="visible">true</property>
+                            <attributes>
+                              <attribute name="weight" value="bold"/>
+                            </attributes>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel">
+                            <property name="label">/</property>
+                            <property name="visible">true</property>
+                            <style>
+                              <class name="dim-label"/>
+                            </style>
+                          </object>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="branch_label">
+                            <property name="ellipsize">end</property>
+                            <property name="visible">true</property>
+                          </object>
+                        </child>
                       </object>
                     </child>
                     <child>
-                      <object class="GtkLabel">
-                        <property name="label">/</property>
-                        <property name="visible">true</property>
+                      <object class="GtkImage" id="build_result_diagnostics_image">
+                        <property name="icon-name">dialog-warning-symbolic</property>
                         <style>
-                          <class name="dim-label"/>
+                          <class name="warning"/>
                         </style>
                       </object>
-                    </child>
-                    <child>
-                      <object class="GtkLabel" id="branch_label">
-                        <property name="ellipsize">end</property>
-                        <property name="visible">true</property>
-                      </object>
-                    </child>
-                  </object>
-                </child>
-                <child>
-                  <object class="GtkImage" id="build_result_diagnostics_image">
-                    <property name="icon-name">dialog-warning-symbolic</property>
-                    <style>
-                      <class name="warning"/>
-                    </style>
-                  </object>
-                  <packing>
-                    <property name="pack-type">end</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkStack" id="message_stack">
-                    <property name="vhomogeneous">false</property>
-                    <property name="hhomogeneous">false</property>
-                    <property name="interpolate-size">true</property>
-                    <property name="transition-type">slide-left</property>
-                    <property name="transition-duration">500</property>
-                    <property name="visible">true</property>
-                    <child>
-                      <object class="GtkLabel" id="config_name_label">
-                        <property name="visible">true</property>
-                        <property name="ellipsize">end</property>
-                        <property name="halign">end</property>
-                      </object>
                       <packing>
-                        <property name="name">config</property>
+                        <property name="pack-type">end</property>
+                        <property name="position">1</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkLabel" id="build_result_mode_label">
-                        <property name="halign">end</property>
+                      <object class="GtkStack" id="message_stack">
+                        <property name="vhomogeneous">false</property>
+                        <property name="hhomogeneous">false</property>
+                        <property name="interpolate-size">true</property>
+                        <property name="transition-type">slide-left</property>
+                        <property name="transition-duration">500</property>
                         <property name="visible">true</property>
-                        <property name="ellipsize">end</property>
+                        <child>
+                          <object class="GtkLabel" id="config_name_label">
+                            <property name="visible">true</property>
+                            <property name="ellipsize">end</property>
+                            <property name="halign">end</property>
+                          </object>
+                          <packing>
+                            <property name="name">config</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="build_result_mode_label">
+                            <property name="halign">end</property>
+                            <property name="visible">true</property>
+                            <property name="ellipsize">end</property>
+                          </object>
+                          <packing>
+                            <property name="name">build</property>
+                          </packing>
+                        </child>
                       </object>
                       <packing>
-                        <property name="name">build</property>
+                        <property name="pack-type">end</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                   </object>
-                  <packing>
-                    <property name="pack-type">end</property>
-                    <property name="position">0</property>
-                  </packing>
                 </child>
               </object>
             </child>
           </object>
-          <packing>
-            <property name="expand">true</property>
-          </packing>
         </child>
       </object>
     </child>
diff --git a/src/libide/workbench/ide-workbench-header-bar.ui 
b/src/libide/workbench/ide-workbench-header-bar.ui
index 2fe83d965..8f5966612 100644
--- a/src/libide/workbench/ide-workbench-header-bar.ui
+++ b/src/libide/workbench/ide-workbench-header-bar.ui
@@ -23,6 +23,7 @@
     </child>
     <child type="title">
       <object class="IdeOmniBar" id="omni_bar">
+        <property name="hexpand">false</property>
         <property name="visible">true</property>
       </object>
     </child>


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