[swell-foop/arnaudb/code-improvements: 4/9] Use GtkBuilder even more.



commit b090b32ecbb63aafea804249ec06d22490acdbfe
Author: Arnaud Bonatti <arnaud bonatti gmail com>
Date:   Sat May 2 00:36:12 2020 +0200

    Use GtkBuilder even more.

 data/meson.build                      |  5 -----
 src/org.gnome.SwellFoop.gresource.xml |  1 +
 src/swell-foop.vala                   | 14 +++-----------
 3 files changed, 4 insertions(+), 16 deletions(-)
---
diff --git a/data/meson.build b/data/meson.build
index f08b126..a02796d 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -9,11 +9,6 @@ install_subdir('themes',
   install_dir: pkgdatadir,
 )
 
-# UI files
-install_data('preferences.ui',
-  install_dir: pkgdatadir,
-)
-
 desktop = 'org.gnome.SwellFoop.desktop'
 
 # Desktop file
diff --git a/src/org.gnome.SwellFoop.gresource.xml b/src/org.gnome.SwellFoop.gresource.xml
index a8e2438..f2ea4fc 100644
--- a/src/org.gnome.SwellFoop.gresource.xml
+++ b/src/org.gnome.SwellFoop.gresource.xml
@@ -2,6 +2,7 @@
 <gresources>
   <gresource prefix="/org/gnome/SwellFoop/ui">
     <file preprocess="xml-stripblanks" alias="first-run-stack.ui">../data/first-run-stack.ui</file>
+    <file preprocess="xml-stripblanks" alias="preferences.ui">../data/preferences.ui</file>
     <file alias="swell-foop.css">../data/swell-foop.css</file>
     <file preprocess="xml-stripblanks" alias="swell-foop.ui">../data/swell-foop.ui</file>
   </gresource>
diff --git a/src/swell-foop.vala b/src/swell-foop.vala
index 90d1a5a..27d2788 100644
--- a/src/swell-foop.vala
+++ b/src/swell-foop.vala
@@ -77,22 +77,14 @@ public class SwellFoop : Gtk.Application
             return;
         }
 
-        var preferences_builder = new Gtk.Builder ();
-        try
-        {
-            preferences_builder.add_from_file (Path.build_filename (Config.DATADIR, "preferences.ui", null));
-        }
-        catch (Error e)
-        {
-            warning ("Could not load preferences UI: %s", e.message);
-        }
+        var preferences_builder = new Gtk.Builder.from_resource ("/org/gnome/SwellFoop/ui/preferences.ui");
 
         preferences_dialog = (Gtk.Dialog) preferences_builder.get_object ("preferences");
         preferences_dialog.transient_for = window;
         preferences_dialog.modal = true;
 
         /* Theme */
-        var theme_combo = preferences_builder.get_object ("theme-selector") as Gtk.ComboBox;
+        var theme_combo = (Gtk.ComboBox) preferences_builder.get_object ("theme-selector");
         var model = (Gtk.ListStore) theme_combo.model;
         Gtk.TreeIter iter;
         model.append (out iter);
@@ -105,7 +97,7 @@ public class SwellFoop : Gtk.Application
             theme_combo.set_active_iter (iter);
 
         /* Board size */
-        var size_combo = preferences_builder.get_object ("size-selector") as Gtk.ComboBox;
+        var size_combo = (Gtk.ComboBox) preferences_builder.get_object ("size-selector");
         model = (Gtk.ListStore) size_combo.model;
         for (int i = 0; i < sizes.length; i++)
         {


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