[gnome-boxes] icon-view: Show machine.status also in IconView



commit 8b51cf4d771244c13f381191a66e82ba841f4168
Author: Felipe Borges <felipeborges gnome org>
Date:   Fri Feb 11 13:36:43 2022 +0100

    icon-view: Show machine.status also in IconView
    
    We already show this in ListView, and this gives the user a reliable
    way of knowing that an Express installation is ongoing.

 data/ui/icon-view-child.ui | 10 ++++++++++
 src/icon-view-child.vala   |  3 +++
 src/libvirt-machine.vala   |  1 +
 3 files changed, 14 insertions(+)
---
diff --git a/data/ui/icon-view-child.ui b/data/ui/icon-view-child.ui
index 95ade0ce..83c453df 100644
--- a/data/ui/icon-view-child.ui
+++ b/data/ui/icon-view-child.ui
@@ -35,5 +35,15 @@
       </packing>
     </child>
 
+    <child>
+      <object class="GtkLabel" id="machine_status">
+        <property name="visible">True</property>
+        <property name="margin-top">6</property>
+        <style>
+          <class name="dim-label"/>
+        </style>
+      </object>
+    </child>
+
   </template>
 </interface>
diff --git a/src/icon-view-child.vala b/src/icon-view-child.vala
index f55b4ef5..8b42646a 100644
--- a/src/icon-view-child.vala
+++ b/src/icon-view-child.vala
@@ -13,6 +13,8 @@
     public unowned Boxes.Thumbnail thumbnail;
     [GtkChild]
     private unowned Gtk.Label machine_name;
+    [GtkChild]
+    private unowned Gtk.Label machine_status;
 
     public IconViewChild (CollectionItem item) {
         this.item = item;
@@ -23,6 +25,7 @@ public IconViewChild (CollectionItem item) {
         machine.notify["pixbuf"].connect (update_thumbnail);
 
         machine.bind_property ("name", machine_name, "label", BindingFlags.SYNC_CREATE);
+        machine.bind_property ("status", machine_status, "label", BindingFlags.SYNC_CREATE);
     }
 
     private void update_thumbnail () {
diff --git a/src/libvirt-machine.vala b/src/libvirt-machine.vala
index bd16c42a..054f7228 100644
--- a/src/libvirt-machine.vala
+++ b/src/libvirt-machine.vala
@@ -394,6 +394,7 @@ public async void suspend () throws GLib.Error {
 
     private void cancel_vm_creation () {
         vm_creator = null;
+        status = null;
     }
 
     public void force_shutdown () {


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