[gnome-boxes] vm-creator,installer-media: Make use of OS variants



commit 4dd0b759b14dad02070ae8651b75a9f570da3f93
Author: Zeeshan Ali (Khattak) <zeeshanak gnome org>
Date:   Fri Nov 29 11:26:42 2013 +0000

    vm-creator,installer-media: Make use of OS variants
    
    If media has any variants, use the name of first variant as the
    label/title and include its id in the VM/volume name.
    
    TODO:
    
    * Proper handling of multivariant media.

 src/installer-media.vala |   11 ++++++++---
 src/vm-creator.vala      |   10 +++++++++-
 2 files changed, 17 insertions(+), 4 deletions(-)
---
diff --git a/src/installer-media.vala b/src/installer-media.vala
index 86a8421..9bc42bc 100644
--- a/src/installer-media.vala
+++ b/src/installer-media.vala
@@ -148,9 +148,14 @@ private class Boxes.InstallerMedia : GLib.Object {
     protected void label_setup (string? label = null) {
         if (label != null)
             this.label = label;
-        else if (os != null)
-            this.label = os.get_name ();
-        else {
+        else if (os != null) {
+            var variants = os_media.get_os_variants ();
+            if (variants.get_length () > 0)
+                // FIXME: Assuming first variant only from multivariant medias.
+                this.label = (variants.get_nth (0) as OsVariant).get_name ();
+            else
+                this.label = os.get_name ();
+        } else {
             // No appropriate label? :( Lets just use filename w/o extensions (if any) then
             var basename = get_utf8_basename (device_file);
             var ext_index = basename.index_of (".");
diff --git a/src/vm-creator.vala b/src/vm-creator.vala
index 97d233f..2005723 100644
--- a/src/vm-creator.vala
+++ b/src/vm-creator.vala
@@ -224,7 +224,15 @@ private class Boxes.VMCreator {
 
     protected virtual void create_domain_base_name_and_title (out string base_name, out string base_title) {
         base_title = install_media.label;
-        base_name = (install_media.os != null) ? install_media.os.short_id : "boxes-unknown";
+        if (install_media.os != null) {
+            base_name = install_media.os.short_id;
+
+            var variants = install_media.os_media.get_os_variants ();
+            if (variants.get_length () > 0)
+                // FIXME: Assuming first variant only from multivariant medias.
+                base_name += "-" + variants.get_nth (0).id;
+        } else
+            base_name = "boxes-unknown";
     }
 
     private void increment_num_reboots (LibvirtMachine machine) {


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