[gnome-boxes/some-assistant-refactoring: 2/5] assistant: Split AssistantDownloadableEntry into its own files




commit 2efcc52f1d75a47c1e2f61ad81496f59e67f8a32
Author: Felipe Borges <felipeborges gnome org>
Date:   Tue Apr 13 15:11:01 2021 +0200

    assistant: Split AssistantDownloadableEntry into its own files

 data/gnome-boxes.gresource.xml                     |  2 +-
 .../downloadable-entry.ui}                         |  2 +-
 src/assistant/downloadable-entry.vala              | 40 +++++++++++++++++++
 src/assistant/downloads-page.vala                  |  2 +-
 src/assistant/index-page.vala                      | 46 +---------------------
 src/assistant/rhel-download-dialog.vala            |  4 +-
 src/downloads-hub.vala                             |  4 +-
 src/meson.build                                    |  1 +
 8 files changed, 50 insertions(+), 51 deletions(-)
---
diff --git a/data/gnome-boxes.gresource.xml b/data/gnome-boxes.gresource.xml
index 48a2b00f..a3ef3b21 100644
--- a/data/gnome-boxes.gresource.xml
+++ b/data/gnome-boxes.gresource.xml
@@ -44,7 +44,6 @@
     <file preprocess="xml-stripblanks">ui/unattended-setup-box.ui</file>
     <file preprocess="xml-stripblanks">ui/wizard.ui</file>
     <file preprocess="xml-stripblanks">ui/wizard-downloads-page.ui</file>
-    <file preprocess="xml-stripblanks">ui/wizard-downloadable-entry.ui</file>
     <file preprocess="xml-stripblanks">ui/wizard-scrolled.ui</file>
     <file preprocess="xml-stripblanks">ui/wizard-source.ui</file>
     <file preprocess="xml-stripblanks">ui/wizard-summary.ui</file>
@@ -52,6 +51,7 @@
     <file preprocess="xml-stripblanks">ui/wizard-web-view.ui</file>
     <file preprocess="xml-stripblanks">ui/wizard-window.ui</file>
     <!-- VM Creation Assistant -->
+    <file preprocess="xml-stripblanks">ui/assistant/downloadable-entry.ui</file>
     <file preprocess="xml-stripblanks">ui/assistant/media-entry.ui</file>
     <file preprocess="xml-stripblanks">ui/assistant/vm-assistant.ui</file>
     <file preprocess="xml-stripblanks">ui/assistant/rhel-download-dialog.ui</file>
diff --git a/data/ui/wizard-downloadable-entry.ui b/data/ui/assistant/downloadable-entry.ui
similarity index 97%
rename from data/ui/wizard-downloadable-entry.ui
rename to data/ui/assistant/downloadable-entry.ui
index 480244e3..5a9b970d 100644
--- a/data/ui/wizard-downloadable-entry.ui
+++ b/data/ui/assistant/downloadable-entry.ui
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <!-- interface-requires gtk+ 3.9 -->
-  <template class="BoxesWizardDownloadableEntry" parent="GtkListBoxRow">
+  <template class="BoxesAssistantDownloadableEntry" parent="GtkListBoxRow">
     <property name="visible">True</property>
 
     <child>
diff --git a/src/assistant/downloadable-entry.vala b/src/assistant/downloadable-entry.vala
new file mode 100644
index 00000000..50f5b9ec
--- /dev/null
+++ b/src/assistant/downloadable-entry.vala
@@ -0,0 +1,40 @@
+[GtkTemplate (ui = "/org/gnome/Boxes/ui/assistant/downloadable-entry.ui")]
+public class Boxes.AssistantDownloadableEntry : Gtk.ListBoxRow {
+    public Osinfo.Os? os;
+
+    [GtkChild]
+    private unowned Gtk.Image media_image;
+    [GtkChild]
+    private unowned Gtk.Label title_label;
+    [GtkChild]
+    private unowned Gtk.Label details_label;
+
+    public string title {
+        get { return title_label.get_text (); }
+        set {
+            title_label.label = value;
+            set_tooltip_text (value);
+        }
+    }
+
+    public string details {
+        get { return details_label.get_text (); }
+        set { details_label.label = value; }
+    }
+    public string url;
+
+    public AssistantDownloadableEntry (Osinfo.Media media) {
+        this.from_os (media.os);
+
+        title = serialize_os_title (media);
+        details = media.os.vendor;
+
+        url = media.url;
+    }
+
+    public AssistantDownloadableEntry.from_os (Osinfo.Os os) {
+        Downloader.fetch_os_logo.begin (media_image, os, 64);
+
+        this.os = os;
+    }
+}
diff --git a/src/assistant/downloads-page.vala b/src/assistant/downloads-page.vala
index 0d4fe1c5..520b68ac 100644
--- a/src/assistant/downloads-page.vala
+++ b/src/assistant/downloads-page.vala
@@ -84,7 +84,7 @@ private async void populate_recommended_list () {
     }
 
     private Gtk.Widget create_downloads_entry (Object item) {
-        return new WizardDownloadableEntry (item as Osinfo.Media);
+        return new AssistantDownloadableEntry (item as Osinfo.Media);
     }
 
     [GtkCallback]
diff --git a/src/assistant/index-page.vala b/src/assistant/index-page.vala
index 24454c25..a96b1efd 100644
--- a/src/assistant/index-page.vala
+++ b/src/assistant/index-page.vala
@@ -91,7 +91,7 @@ private void populate_detected_sources_list (int? number_of_items = null) {
     }
 
     private Gtk.Widget add_featured_media_entry (GLib.Object object) {
-        return new WizardDownloadableEntry (object as Osinfo.Media);
+        return new AssistantDownloadableEntry (object as Osinfo.Media);
     }
 
     [GtkCallback]
@@ -123,7 +123,7 @@ private void on_source_media_selected (Gtk.ListBoxRow row) {
 
     [GtkCallback]
     private async void on_featured_media_selected (Gtk.ListBoxRow row) {
-        var entry = row as WizardDownloadableEntry;
+        var entry = row as AssistantDownloadableEntry;
 
         if (entry.os != null && entry.os.id.has_prefix ("http://redhat.com/rhel/";)) {
             (new RHELDownloadDialog (dialog, entry).run ());
@@ -164,45 +164,3 @@ private void on_download_an_os_button_clicked () {
         dialog.previous_button.label = _("Previous");
     }
 }
-
-
-[GtkTemplate (ui = "/org/gnome/Boxes/ui/wizard-downloadable-entry.ui")]
-public class Boxes.WizardDownloadableEntry : Gtk.ListBoxRow {
-    public Osinfo.Os? os;
-
-    [GtkChild]
-    private unowned Gtk.Image media_image;
-    [GtkChild]
-    private unowned Gtk.Label title_label;
-    [GtkChild]
-    private unowned Gtk.Label details_label;
-
-    public string title {
-        get { return title_label.get_text (); }
-        set {
-            title_label.label = value;
-            set_tooltip_text (value);
-        }
-    }
-
-    public string details {
-        get { return details_label.get_text (); }
-        set { details_label.label = value; }
-    }
-    public string url;
-
-    public WizardDownloadableEntry (Osinfo.Media media) {
-        this.from_os (media.os);
-
-        title = serialize_os_title (media);
-        details = media.os.vendor;
-
-        url = media.url;
-    }
-
-    public WizardDownloadableEntry.from_os (Osinfo.Os os) {
-        Downloader.fetch_os_logo.begin (media_image, os, 64);
-
-        this.os = os;
-    }
-}
diff --git a/src/assistant/rhel-download-dialog.vala b/src/assistant/rhel-download-dialog.vala
index f4aab073..cee204b4 100644
--- a/src/assistant/rhel-download-dialog.vala
+++ b/src/assistant/rhel-download-dialog.vala
@@ -15,7 +15,7 @@
 
     private GLib.Cancellable cancellable = new GLib.Cancellable ();
 
-    private WizardDownloadableEntry entry;
+    private AssistantDownloadableEntry entry;
 
     construct {
         var context = web_view.get_context ();
@@ -31,7 +31,7 @@
         });
     }
 
-    public RHELDownloadDialog (VMAssistant dialog, WizardDownloadableEntry entry) {
+    public RHELDownloadDialog (VMAssistant dialog, AssistantDownloadableEntry entry) {
         set_transient_for (App.app.main_window);
         this.entry = entry;
 
diff --git a/src/downloads-hub.vala b/src/downloads-hub.vala
index 2d8ee153..7faac266 100644
--- a/src/downloads-hub.vala
+++ b/src/downloads-hub.vala
@@ -33,7 +33,7 @@ public static DownloadsHub get_default () {
         get { return (n_items > 0); }
     }
 
-    public void add_item (WizardDownloadableEntry entry) {
+    public void add_item (AssistantDownloadableEntry entry) {
         n_items+=1;
 
         var row = new DownloadsHubRow.from_entry (entry);
@@ -160,7 +160,7 @@ private bool draw_button_pie (Widget drawing_area, Cairo.Context context) {
 
     public bool complete = false;
 
-    public DownloadsHubRow.from_entry (WizardDownloadableEntry entry) {
+    public DownloadsHubRow.from_entry (AssistantDownloadableEntry entry) {
         label.label = entry.title;
 
         Downloader.fetch_os_logo.begin (image, entry.os, 64);
diff --git a/src/meson.build b/src/meson.build
index 29a9c7a0..449c5ae8 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -114,6 +114,7 @@ vala_sources = [
   'troubleshoot-log.vala',
   'snapshot-list-row.vala',
   'snapshots-property.vala',
+  'assistant/downloadable-entry.vala',
   'assistant/media-entry.vala',
   'assistant/rhel-download-dialog.vala',
   'assistant/vm-assistant.vala',  


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