[gnome-boxes] unattended-setup-box: Show hint if internet needed



commit 9e54be6bcc6676f5362b6af0133d30dc8f48fcf5
Author: Lasse Schuirmann <lasse schuirmann gmail com>
Date:   Fri Aug 15 15:14:33 2014 +0200

    unattended-setup-box: Show hint if internet needed
    
    https://bugzilla.gnome.org/show_bug.cgi?id=734675

 data/ui/unattended-setup-box.ui |   30 ++++++++++++++++++++++++++++++
 src/unattended-installer.vala   |    2 +-
 src/unattended-setup-box.vala   |    9 ++++++++-
 3 files changed, 39 insertions(+), 2 deletions(-)
---
diff --git a/data/ui/unattended-setup-box.ui b/data/ui/unattended-setup-box.ui
index 74f3270..90b0103 100644
--- a/data/ui/unattended-setup-box.ui
+++ b/data/ui/unattended-setup-box.ui
@@ -9,6 +9,36 @@
     <property name="halign">center</property>
     <property name="valign">center</property>
     <child>
+      <object class="GtkInfoBar" id="needs_internet_bar">
+        <property name="visible">False</property>
+        <property name="halign">fill</property>
+        <property name="spacing">0</property>
+        <property name="message-type">info</property>
+        <child internal-child="content_area">
+          <object class="GtkContainer" id="needs_internet_container">
+            <property name="visible">True</property>
+
+            <child>
+              <object class="GtkImage" id="needs_internet_image">
+                <property name="visible">True</property>
+                <property name="icon-name">dialog-information</property>
+                <property name="icon-size">3</property>
+              </object>
+            </child>
+
+            <child>
+              <object class="GtkLabel" id="needs_internet_label">
+                <property name="visible">True</property>
+                <property name="wrap">True</property>
+                <property name="halign">start</property>
+                <property name="hexpand">True</property>
+              </object>
+            </child>
+          </object>
+        </child>
+      </object>
+    </child>
+    <child>
       <object class="GtkLabel" id="setup_label">
         <property name="label" translatable="yes">Choose express install to automatically preconfigure the 
box with optimal settings.</property>
         <property name="visible">True</property>
diff --git a/src/unattended-installer.vala b/src/unattended-installer.vala
index c9e0394..390b542 100644
--- a/src/unattended-installer.vala
+++ b/src/unattended-installer.vala
@@ -100,7 +100,7 @@ private class Boxes.UnattendedInstaller: InstallerMedia {
         kbd = lang;
         product_key_format = get_product_key_format ();
 
-        setup_box = new UnattendedSetupBox (os_media.live, product_key_format, false);
+        setup_box = new UnattendedSetupBox (os_media.live, product_key_format, false, label);
         setup_box.notify["ready-to-create"].connect (() => {
             notify_property ("ready-to-create");
         });
diff --git a/src/unattended-setup-box.vala b/src/unattended-setup-box.vala
index fb4f3d5..a402d08 100644
--- a/src/unattended-setup-box.vala
+++ b/src/unattended-setup-box.vala
@@ -67,6 +67,10 @@ private class Boxes.UnattendedSetupBox : Gtk.Box {
     public signal void user_wants_to_create (); // User wants to already create the VM
 
     [GtkChild]
+    private Gtk.InfoBar needs_internet_bar;
+    [GtkChild]
+    private Gtk.Label needs_internet_label;
+    [GtkChild]
     private Gtk.Grid setup_grid;
     [GtkChild]
     private Gtk.Label express_label;
@@ -87,11 +91,14 @@ private class Boxes.UnattendedSetupBox : Gtk.Box {
 
     private string? product_key_format;
 
-    public UnattendedSetupBox (bool live, string? product_key_format, bool needs_internet) {
+    public UnattendedSetupBox (bool live, string? product_key_format, bool needs_internet, string os_name) {
         this.product_key_format = product_key_format;
         username_entry.text = Environment.get_user_name ();
 
         setup_express_toggle (live, needs_internet);
+        var msg = _("Express installation of %s requires an internet connection.").printf (os_name);
+        needs_internet_label.label = msg;
+        needs_internet_bar.visible = needs_internet;
 
         if (product_key_format != null) {
             product_key_label.visible = true;


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