[gnome-boxes] Make Machine.info be a public automatic property



commit 8fcb1c912ec50ab1cc8e833c6f31634ac108c938
Author: Zeeshan Ali (Khattak) <zeeshanak gnome org>
Date:   Mon Aug 20 22:51:51 2012 +0300

    Make Machine.info be a public automatic property
    
    This means that now LibvirtMachine sets this property appropriately.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=682300

 src/libvirt-machine.vala |   16 ----------------
 src/machine.vala         |    2 +-
 src/vm-creator.vala      |   10 ++++++++++
 3 files changed, 11 insertions(+), 17 deletions(-)
---
diff --git a/src/libvirt-machine.vala b/src/libvirt-machine.vala
index 7149d86..a2ee3b3 100644
--- a/src/libvirt-machine.vala
+++ b/src/libvirt-machine.vala
@@ -14,20 +14,6 @@ private class Boxes.LibvirtMachine: Boxes.Machine {
         set { source.set_boolean ("source", "save-on-quit", value); }
     }
 
-    public override string? info {
-        get {
-            if (domain_config == null)
-                return null;
-
-            if (VMConfigurator.is_live_config (domain_config))
-                return _("Live");
-            else if (VMConfigurator.is_install_config (domain_config))
-                return _("Installing...");
-            else
-                return null;
-        }
-    }
-
     private bool _connect_display;
     public override void disconnect_display () {
         stay_on_display = false;
@@ -80,8 +66,6 @@ private class Boxes.LibvirtMachine: Boxes.Machine {
 
             var volume = get_storage_volume (connection, domain, null);
             storage_volume_path = (volume != null)? volume.get_path () : null;
-
-            notify_property ("info");
         } catch (GLib.Error error) {
             critical ("Failed to fetch configuration for domain '%s': %s", domain.get_name (), error.message);
         }
diff --git a/src/machine.vala b/src/machine.vala
index fc9c8a6..2f8e99f 100644
--- a/src/machine.vala
+++ b/src/machine.vala
@@ -10,7 +10,7 @@ private abstract class Boxes.Machine: Boxes.CollectionItem, Boxes.IPropertiesPro
     public Boxes.DisplayConfig config;
     public Gdk.Pixbuf? pixbuf { get; set; }
     public bool stay_on_display;
-    public virtual string? info { get { return null; } }
+    public string? info { get; set; }
 
     private ulong show_id;
     private ulong hide_id;
diff --git a/src/vm-creator.vala b/src/vm-creator.vala
index f864b69..f71c8db 100644
--- a/src/vm-creator.vala
+++ b/src/vm-creator.vala
@@ -16,6 +16,7 @@ private class Boxes.VMCreator {
     public VMCreator.for_install_completion (LibvirtMachine machine) {
         state_changed_id = machine.notify["state"].connect (on_machine_state_changed);
         machine.vm_creator = this;
+        update_machine_info (machine);
 
         on_machine_state_changed (machine);
     }
@@ -69,6 +70,7 @@ private class Boxes.VMCreator {
 
         state_changed_id = machine.notify["state"].connect (on_machine_state_changed);
         machine.vm_creator = this;
+        update_machine_info (machine);
     }
 
     private void on_machine_state_changed (GLib.Object object, GLib.ParamSpec? pspec = null) {
@@ -106,6 +108,7 @@ private class Boxes.VMCreator {
             }
             machine.disconnect (state_changed_id);
             machine.vm_creator = null;
+            machine.info = null;
         } else {
             if (VMConfigurator.is_live_config (machine.domain_config)) {
                 // No installation during live session, so lets delete the VM
@@ -120,6 +123,13 @@ private class Boxes.VMCreator {
         }
     }
 
+    private void update_machine_info (LibvirtMachine machine) {
+        if (VMConfigurator.is_install_config (machine.domain_config))
+            machine.info = _("Installing...");
+        else
+            machine.info = _("Live");
+    }
+
     private void set_post_install_config (LibvirtMachine machine) {
         debug ("Setting post-installation configuration on '%s'", machine.name);
         try {



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