[gnome-boxes] machine: Setter for 'info' prop now protected



commit b1aaa7068e7317b533567ab52eabcb3ce5d53cfd
Author: Zeeshan Ali (Khattak) <zeeshanak gnome org>
Date:   Mon Jun 29 19:00:16 2015 +0100

    machine: Setter for 'info' prop now protected
    
    Rather than this property being set by different modules and us easily
    ending up with conflicts, let's consolidate its setting to only Machine
    classes.

 src/libvirt-machine.vala |   15 +++++++++++++++
 src/machine.vala         |    2 +-
 src/vm-creator.vala      |   10 ----------
 src/vm-importer.vala     |    7 -------
 4 files changed, 16 insertions(+), 18 deletions(-)
---
diff --git a/src/libvirt-machine.vala b/src/libvirt-machine.vala
index 54d55fd..b885bfc 100644
--- a/src/libvirt-machine.vala
+++ b/src/libvirt-machine.vala
@@ -195,6 +195,8 @@ private class Boxes.LibvirtMachine: Boxes.Machine {
             state = MachineState.SLEEPING;
         });
         notify["state"].connect (() => {
+            update_info ();
+
             if (state == MachineState.RUNNING) {
                 reconnect_display ();
                 set_stats_enable (true);
@@ -208,6 +210,8 @@ private class Boxes.LibvirtMachine: Boxes.Machine {
         if (state != MachineState.STOPPED)
             load_screenshot ();
         set_screenshot_enable (true);
+
+        update_info ();
     }
 
     private void update_cpu_stat (DomainInfo info, ref MachineStat stat) {
@@ -657,4 +661,15 @@ private class Boxes.LibvirtMachine: Boxes.Machine {
         disconnect (state_notify_id);
         connecting_cancellable.disconnect (cancelled_id);
     }
+
+    private void update_info () {
+        if (VMConfigurator.is_install_config (domain_config))
+            info = _("Installing…");
+        else if (VMConfigurator.is_live_config (domain_config))
+            info = _("Live");
+        else if (VMConfigurator.is_import_config (domain_config))
+            info = _("Importing…");
+        else
+            info = null;
+    }
 }
diff --git a/src/machine.vala b/src/machine.vala
index 966a7d0..fc9a19e 100644
--- a/src/machine.vala
+++ b/src/machine.vala
@@ -9,7 +9,7 @@ private abstract class Boxes.Machine: Boxes.CollectionItem, Boxes.IPropertiesPro
     public Boxes.BoxConfig config;
     public Gdk.Pixbuf? pixbuf { get; set; }
     public bool stay_on_display;
-    public string? info { get; set; }
+    public string? info { get; protected set; }
     public string status { get; set; }
     public bool suspend_at_exit;
 
diff --git a/src/vm-creator.vala b/src/vm-creator.vala
index 23c1553..c17b2c0 100644
--- a/src/vm-creator.vala
+++ b/src/vm-creator.vala
@@ -82,7 +82,6 @@ private class Boxes.VMCreator {
 
         state_changed_id = machine.notify["state"].connect (on_machine_state_changed);
         machine.config.access_last_time = get_real_time ();
-        update_machine_info (machine);
     }
 
     protected virtual async void continue_installation (LibvirtMachine machine) {
@@ -108,7 +107,6 @@ private class Boxes.VMCreator {
 
         state_changed_id = machine.notify["state"].connect (on_machine_state_changed);
         machine.vm_creator = this;
-        update_machine_info (machine);
 
         on_machine_state_changed (machine);
 
@@ -152,7 +150,6 @@ private class Boxes.VMCreator {
                 warning ("Failed to start domain '%s': %s", domain.get_name (), error.message);
             }
             machine.disconnect (state_changed_id);
-            machine.info = null;
             App.app.notify_machine_installed (machine);
             machine.vm_creator = null;
             machine.schedule_autosave ();
@@ -181,13 +178,6 @@ private class Boxes.VMCreator {
         }
     }
 
-    protected virtual void update_machine_info (LibvirtMachine machine) {
-        if (VMConfigurator.is_install_config (machine.domain_config))
-            machine.info = _("Installing…");
-        else
-            machine.info = _("Live");
-    }
-
     protected void set_post_install_config (LibvirtMachine machine) {
         debug ("Setting post-installation configuration on '%s'", machine.name);
         try {
diff --git a/src/vm-importer.vala b/src/vm-importer.vala
index c158540..6f761ad 100644
--- a/src/vm-importer.vala
+++ b/src/vm-importer.vala
@@ -19,7 +19,6 @@ private class Boxes.VMImporter : Boxes.VMCreator {
     public override void launch_vm (LibvirtMachine machine) throws GLib.Error {
         machine.vm_creator = this;
         machine.config.access_last_time = get_real_time ();
-        update_machine_info (machine);
 
         import_vm.begin (machine);
     }
@@ -27,15 +26,10 @@ private class Boxes.VMImporter : Boxes.VMCreator {
     protected override async void continue_installation (LibvirtMachine machine) {
         install_media = yield MediaManager.get_instance ().create_installer_media_from_config 
(machine.domain_config);
         machine.vm_creator = this;
-        update_machine_info (machine);
 
         yield import_vm (machine);
     }
 
-    protected override void update_machine_info (LibvirtMachine machine) {
-        machine.info = _("Importing…");
-    }
-
     private async void import_vm (LibvirtMachine machine) {
         try {
             var destination_path = machine.storage_volume.get_path ();
@@ -65,7 +59,6 @@ private class Boxes.VMImporter : Boxes.VMCreator {
                 warning ("Failed to start domain '%s': %s", machine.domain.get_name (), error.message);
             }
         }
-        machine.info = null;
         machine.vm_creator = null;
     }
 }


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