[gnome-software] Move the feature tile assets to XML



commit cb453e9b0ea69d351561b9da9d13ee269b4923f3
Author: Richard Hughes <richard hughsie com>
Date:   Thu May 11 12:16:37 2017 +0100

    Move the feature tile assets to XML
    
    This allows the designers to easily edit them using gnome-software-editor.

 contrib/gnome-software.spec.in              |    1 +
 data/{ => assets}/featured-ardour-bg.png    |  Bin 46124 -> 46124 bytes
 data/{ => assets}/featured-ardour.png       |  Bin 111837 -> 111837 bytes
 data/{ => assets}/featured-blender.png      |  Bin 93848 -> 93848 bytes
 data/{ => assets}/featured-builder-bg.jpg   |  Bin 412770 -> 412770 bytes
 data/{ => assets}/featured-builder.png      |  Bin 196205 -> 196205 bytes
 data/{ => assets}/featured-chess.png        |  Bin 196551 -> 196551 bytes
 data/{ => assets}/featured-firefox.png      |  Bin 99347 -> 99347 bytes
 data/{ => assets}/featured-gimp.png         |  Bin 99031 -> 99031 bytes
 data/{ => assets}/featured-gnome-sudoku.png |  Bin 53762 -> 53762 bytes
 data/{ => assets}/featured-inkscape.svg     |    0
 data/{ => assets}/featured-maps-bg.png      |  Bin 306261 -> 306261 bytes
 data/{ => assets}/featured-maps.png         |  Bin 46939 -> 46939 bytes
 data/{ => assets}/featured-mypaint.png      |  Bin 314346 -> 314346 bytes
 data/{ => assets}/featured-polari.svg       |    0
 data/{ => assets}/featured-transmission.png |  Bin 91054 -> 91054 bytes
 data/{ => assets}/featured-weather-bg.png   |  Bin 22240 -> 22240 bytes
 data/{ => assets}/featured-weather.png      |  Bin 151137 -> 151137 bytes
 data/assets/meson.build                     |   26 +++
 data/assets/org.gnome.Software.Featured.xml |  218 +++++++++++++++++++++++++++
 data/{ => assets}/upgrade-bg.png            |  Bin 308691 -> 308691 bytes
 data/meson.build                            |   24 +---
 plugins/core/gs-plugin-hardcoded-featured.c |  136 -----------------
 23 files changed, 246 insertions(+), 159 deletions(-)
---
diff --git a/contrib/gnome-software.spec.in b/contrib/gnome-software.spec.in
index 49467f7..dd7e43b 100644
--- a/contrib/gnome-software.spec.in
+++ b/contrib/gnome-software.spec.in
@@ -205,6 +205,7 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
 %{_datadir}/gnome-shell/search-providers/org.gnome.Software-search-provider.ini
 %{_datadir}/glib-2.0/schemas/org.gnome.software.gschema.xml
 %{_datadir}/glib-2.0/schemas/org.gnome.software-fedora.gschema.override
+%{_datadir}/app-info/xmls/org.gnome.Software.Featured.xml
 %{_libexecdir}/gnome-software-cmd
 %{_libexecdir}/gnome-software-restarter
 
diff --git a/data/featured-inkscape.svg b/data/assets/featured-inkscape.svg
similarity index 100%
rename from data/featured-inkscape.svg
rename to data/assets/featured-inkscape.svg
diff --git a/data/featured-polari.svg b/data/assets/featured-polari.svg
similarity index 100%
rename from data/featured-polari.svg
rename to data/assets/featured-polari.svg
diff --git a/data/assets/meson.build b/data/assets/meson.build
new file mode 100644
index 0000000..dda34a1
--- /dev/null
+++ b/data/assets/meson.build
@@ -0,0 +1,26 @@
+install_data([
+  'upgrade-bg.png',
+  'featured-ardour.png',
+  'featured-ardour-bg.png',
+  'featured-blender.png',
+  'featured-builder.png',
+  'featured-builder-bg.jpg',
+  'featured-chess.png',
+  'featured-firefox.png',
+  'featured-gimp.png',
+  'featured-gnome-sudoku.png',
+  'featured-inkscape.svg',
+  'featured-maps.png',
+  'featured-maps-bg.png',
+  'featured-mypaint.png',
+  'featured-polari.svg',
+  'featured-transmission.png',
+  'featured-weather.png',
+  'featured-weather-bg.png'
+  ],
+  install_dir : 'share/gnome-software'
+)
+
+install_data('org.gnome.Software.Featured.xml',
+  install_dir : 'share/app-info/xmls'
+)
diff --git a/data/assets/org.gnome.Software.Featured.xml b/data/assets/org.gnome.Software.Featured.xml
new file mode 100644
index 0000000..b0f6f51
--- /dev/null
+++ b/data/assets/org.gnome.Software.Featured.xml
@@ -0,0 +1,218 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<components version="0.8">
+  <component type="desktop">
+    <id>ardour5.desktop</id>
+    <metadata>
+      <value key="GnomeSoftware::FeatureTile-css">border-color: #333333;
+text-shadow: 0 1px 1px rgba(0,0,0,0.5);
+color: #ffffff;
+outline-offset: 0;
+outline-color: alpha(#ffffff, 0.75);
+outline-style: dashed;
+outline-offset: 2px;
+background:
+ url('file://@datadir@/gnome-software/featured-ardour.png')
+ 30% 49% / 33% no-repeat,
+ url('file://@datadir@/gnome-software/featured-ardour-bg.png')
+ center center / 100% auto no-repeat,
+ linear-gradient(to bottom, #373936, #60625e);
+</value>
+    </metadata>
+  </component>
+  <component type="desktop">
+    <id>blender.desktop</id>
+    <categories>
+      <category>Featured</category>
+    </categories>
+    <kudos>
+      <kudo>GnomeSoftware::popular</kudo>
+    </kudos>
+    <metadata>
+      <value key="GnomeSoftware::FeatureTile-css">border-color: #783d03;
+text-shadow: 0 1px 1px rgba(0,0,0,0.5);
+color: #ffffff;
+outline-offset: 0;
+outline-color: alpha(#ffffff, 0.75);
+outline-style: dashed;
+outline-offset: 2px;
+background:
+ url('file://@datadir@/gnome-software/featured-blender.png')
+ 10% 40% / 50% auto no-repeat, -gtk-gradient (radial,
+ center bottom, 0, center center, 1,
+ from(#fcbf83), to(#c06105));
+</value>
+    </metadata>
+  </component>
+  <component type="desktop">
+    <id>firefox.desktop</id>
+    <metadata>
+      <value key="GnomeSoftware::FeatureTile-css">border-color: #babdb6;
+text-shadow: 0 1px 1px rgba(255,255,255,0.7);
+color: #888a85;
+outline-offset: 0;
+outline-color: alpha(#888a85, 0.75);
+outline-style: dashed;
+outline-offset: 2px;
+background:
+ url('file://@datadir@/gnome-software/featured-firefox.png')
+ 10% center / 40% auto no-repeat,
+ linear-gradient(to bottom, #d3d7cf, #eeeeec);
+</value>
+    </metadata>
+  </component>
+  <component type="desktop">
+    <id>gimp.desktop</id>
+    <metadata>
+      <value key="GnomeSoftware::FeatureTile-css">border-color: #2a6c10;
+text-shadow: 0 1px 1px rgba(255,255,255,0.7);
+color: #333;
+outline-offset: 0;
+outline-color: alpha(#333, 0.75);
+outline-style: dashed;
+outline-offset: 2px;
+background:
+ url('file://@datadir@/gnome-software/featured-gimp.png')
+ left 50% / 50% auto no-repeat,
+ linear-gradient(to bottom, #8ac674, #cbddc3);
+</value>
+    </metadata>
+  </component>
+  <component type="desktop">
+    <id>gnome-chess.desktop</id>
+    <metadata>
+      <value key="GnomeSoftware::FeatureTile-css">border-color: #2e3436;
+text-shadow: 0 1px 1px rgba(0,0,0,0.5);
+color: #ffffff;
+outline-offset: 0;
+outline-color: alpha(#ffffff, 0.75);
+outline-style: dashed;
+outline-offset: 2px;
+background:
+ url('file://@datadir@/gnome-software/featured-chess.png')
+ 10% center / 40% auto no-repeat,
+ linear-gradient(to bottom, #555753, #888a85);
+</value>
+    </metadata>
+  </component>
+  <component type="desktop">
+    <id>inkscape.desktop</id>
+    <metadata>
+      <value key="GnomeSoftware::FeatureTile-css">border-color: #819a6b;
+text-shadow: none;
+color: #606060;
+outline-offset: 0;
+outline-color: alpha(#ffffff, 0.75);
+outline-style: dashed;
+outline-offset: 2px;
+ background:
+ url('file://@datadir@/gnome-software/featured-inkscape.svg')
+ 20% / 60% auto no-repeat,
+ linear-gradient(to bottom, #ffffff, #e2e2e2);
+</value>
+    </metadata>
+  </component>
+  <component type="desktop">
+    <id>mypaint.desktop</id>
+    <metadata>
+      <value key="GnomeSoftware::FeatureTile-css">border-color: #4c52aa;
+color: #362d89;
+outline-offset: 0;
+outline-color: alpha(#362d89, 0.75);
+outline-style: dashed;
+outline-offset: 2px;
+background:
+ url('file://@datadir@/gnome-software/featured-mypaint.png')
+ left 67% / 50% auto no-repeat,
+ linear-gradient(to bottom, #8fa5d9, #d8e0ef);
+</value>
+    </metadata>
+  </component>
+  <component type="desktop">
+    <id>org.gnome.Builder.desktop</id>
+    <metadata>
+      <value key="GnomeSoftware::FeatureTile-css">border-color: #000000;
+text-shadow: 0 1px 1px rgba(0,0,0,0.5);
+color: #ffffff;
+outline-offset: 0;
+outline-color: alpha(#ffffff, 0.75);
+outline-style: dashed;
+outline-offset: 2px;
+background:
+ url('file://@datadir@/gnome-software/featured-builder.png')
+ left center / 100% auto no-repeat,
+ url('file://@datadir@/gnome-software/featured-builder-bg.jpg')
+ center / cover no-repeat;
+</value>
+    </metadata>
+  </component>
+  <component type="desktop">
+    <id>org.gnome.Maps.desktop</id>
+    <metadata>
+      <value key="GnomeSoftware::FeatureTile-css">border-color: #ff0000;
+text-shadow: 0 1px 1px rgba(255,255,255,0.5);
+color: #000000;
+outline-offset: 0;
+outline-color: alpha(#000000, 0.75);
+outline-style: dashed;
+outline-offset: 2px;
+background:
+ url('file://@datadir@/gnome-software/featured-maps.png')
+ 20% -5px / 230px auto no-repeat,
+ url('file://@datadir@/gnome-software/featured-maps-bg.png')
+ bottom center / contain no-repeat;
+</value>
+    </metadata>
+  </component>
+  <component type="desktop">
+    <id>org.gnome.Polari.desktop</id>
+    <metadata>
+      <value key="GnomeSoftware::FeatureTile-css">border-color: #4e9a06;
+text-shadow: 0 2px #418e64;
+color: #a8c74f;
+outline-offset: 0;
+outline-color: alpha(#a8c74f, 0.75);
+outline-style: dashed;
+outline-offset: 2px;
+background:
+ url('file://@datadir@/gnome-software/featured-polari.svg')
+ 70% 80% / 120% auto no-repeat, #43a570;
+</value>
+    </metadata>
+  </component>
+  <component type="desktop">
+    <id>org.gnome.Weather.Application.desktop</id>
+    <metadata>
+      <value key="GnomeSoftware::FeatureTile-css">border-color: #d8e0ef;
+text-shadow: 0 1px 1px rgba(0,0,0,0.5);
+color: #ffffff;
+outline-offset: 0;
+outline-color: alpha(#ffffff, 0.75);
+outline-style: dashed;
+outline-offset: 2px;
+background:
+ url('file://@datadir@/gnome-software/featured-weather.png')
+ left 80% / 50% auto no-repeat,
+ url('file://@datadir@/gnome-software/featured-weather-bg.png'),
+ linear-gradient(to bottom, #25486d, #6693ce);
+</value>
+    </metadata>
+  </component>
+  <component type="desktop">
+    <id>transmission-gtk.desktop</id>
+    <metadata>
+      <value key="GnomeSoftware::FeatureTile-css">border-color: #a40000;
+text-shadow: 0 1px 1px rgba(0,0,0,0.5);
+color: #ffffff;
+outline-offset: 0;
+outline-color: alpha(#ffffff, 0.75);
+outline-style: dashed;
+outline-offset: 2px;
+background:
+ url('file://@datadir@/gnome-software/featured-transmission.png')
+ 10% 20% / 427px auto no-repeat, -gtk-gradient (radial,
+ center bottom, 0, center center, 0.8,
+ from(#ffc124), to(#b75200));
+</value>
+    </metadata>
+  </component>
+</components>
diff --git a/data/meson.build b/data/meson.build
index 67977fa..8c94c8f 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -1,5 +1,6 @@
 subdir('appdata')
 subdir('icons')
+subdir('assets')
 
 compiled = gnome.compile_schemas()
 install_data('org.gnome.software.gschema.xml',
@@ -15,26 +16,3 @@ if get_option('enable-external-appstream')
     configuration : conf
   )
 endif
-
-install_data([
-  'upgrade-bg.png',
-  'featured-ardour.png',
-  'featured-ardour-bg.png',
-  'featured-blender.png',
-  'featured-builder.png',
-  'featured-builder-bg.jpg',
-  'featured-chess.png',
-  'featured-firefox.png',
-  'featured-gimp.png',
-  'featured-gnome-sudoku.png',
-  'featured-inkscape.svg',
-  'featured-maps.png',
-  'featured-maps-bg.png',
-  'featured-mypaint.png',
-  'featured-polari.svg',
-  'featured-transmission.png',
-  'featured-weather.png',
-  'featured-weather-bg.png'
-  ],
-  install_dir : 'share/gnome-software'
-)
diff --git a/plugins/core/gs-plugin-hardcoded-featured.c b/plugins/core/gs-plugin-hardcoded-featured.c
index 11f797c..23efa94 100644
--- a/plugins/core/gs-plugin-hardcoded-featured.c
+++ b/plugins/core/gs-plugin-hardcoded-featured.c
@@ -34,129 +34,6 @@ struct {
        const gchar *id;
        const gchar *css;
 } myapps[] = {
-       { "ardour5.desktop",
-               "border-color: #333333;\n"
-               "text-shadow: 0 1px 1px rgba(0,0,0,0.5);\n"
-               "color: #ffffff;\n"
-               "outline-offset: 0;\n"
-               "outline-color: alpha(#ffffff, 0.75);\n"
-               "outline-style: dashed;\n"
-               "outline-offset: 2px;\n"
-               "background:"
-               " url('@datadir@/gnome-software/featured-ardour.png')"
-               " 30% 49% / 33% no-repeat,"
-               " url('@datadir@/gnome-software/featured-ardour-bg.png')"
-               " center center / 100% auto no-repeat,"
-               " linear-gradient(to bottom, #373936, #60625e);" },
-       { "blender.desktop",
-               "border-color: #783d03;\n"
-               "text-shadow: 0 1px 1px rgba(0,0,0,0.5);\n"
-               "color: #ffffff;\n"
-               "outline-offset: 0;\n"
-               "outline-color: alpha(#ffffff, 0.75);\n"
-               "outline-style: dashed;\n"
-               "outline-offset: 2px;\n"
-               "background:"
-               " url('@datadir@/gnome-software/featured-blender.png')"
-               " 10% 40% / 50% auto no-repeat, -gtk-gradient (radial,"
-               " center bottom, 0, center center, 1,"
-               " from(#fcbf83), to(#c06105));" },
-       { "gnome-chess.desktop",
-               "border-color: #2e3436;\n"
-               "text-shadow: 0 1px 1px rgba(0,0,0,0.5);\n"
-               "color: #ffffff;\n"
-               "outline-offset: 0;\n"
-               "outline-color: alpha(#ffffff, 0.75);\n"
-               "outline-style: dashed;\n"
-               "outline-offset: 2px;\n"
-               "background:"
-               " url('@datadir@/gnome-software/featured-chess.png')"
-               " 10% center / 40% auto no-repeat,"
-               " linear-gradient(to bottom, #555753, #888a85);" },
-       { "firefox.desktop",
-               "border-color: #babdb6;\n"
-               "text-shadow: 0 1px 1px rgba(255,255,255,0.7);\n"
-               "color: #888a85;\n"
-               "outline-offset: 0;\n"
-               "outline-color: alpha(#888a85, 0.75);\n"
-               "outline-style: dashed;\n"
-               "outline-offset: 2px;\n"
-               "background:"
-               " url('@datadir@/gnome-software/featured-firefox.png')"
-               " 10% center / 40% auto no-repeat,"
-               " linear-gradient(to bottom, #d3d7cf, #eeeeec);" },
-       { "gimp.desktop",
-               "border-color: #2a6c10;\n"
-               "text-shadow: 0 1px 1px rgba(255,255,255,0.7);\n"
-               "color: #333;\n"
-               "outline-offset: 0;\n"
-               "outline-color: alpha(#333, 0.75);\n"
-               "outline-style: dashed;\n"
-               "outline-offset: 2px;\n"
-               "background:"
-               " url('@datadir@/gnome-software/featured-gimp.png')"
-               " left 50% / 50% auto no-repeat,"
-               " linear-gradient(to bottom, #8ac674, #cbddc3);" },
-       { "inkscape.desktop",
-               "border-color: #819a6b;\n"
-               "text-shadow: none;\n"
-               "color: #606060;\n"
-               "outline-offset: 0;\n"
-               "outline-color: alpha(#ffffff, 0.75);\n"
-               "outline-style: dashed;\n"
-               "outline-offset: 2px;\n"
-               " background:"
-               " url('@datadir@/gnome-software/featured-inkscape.svg')"
-               " 20% / 60% auto no-repeat,"
-               " linear-gradient(to bottom, #ffffff, #e2e2e2);" },
-       { "mypaint.desktop",
-               "border-color: #4c52aa;\n"
-               "color: #362d89;\n"
-               "outline-offset: 0;\n"
-               "outline-color: alpha(#362d89, 0.75);\n"
-               "outline-style: dashed;\n"
-               "outline-offset: 2px;\n"
-               "background:"
-               " url('@datadir@/gnome-software/featured-mypaint.png')"
-               " left 67% / 50% auto no-repeat,"
-               " linear-gradient(to bottom, #8fa5d9, #d8e0ef);" },
-       { "org.gnome.Polari.desktop",
-               "border-color: #4e9a06;\n"
-               "text-shadow: 0 2px #418e64;\n"
-               "color: #a8c74f;\n"
-               "outline-offset: 0;\n"
-               "outline-color: alpha(#a8c74f, 0.75);\n"
-               "outline-style: dashed;\n"
-               "outline-offset: 2px;\n"
-               "background:"
-               " url('@datadir@/gnome-software/featured-polari.svg')"
-               " 70% 80% / 120% auto no-repeat, #43a570;" },
-       { "org.gnome.Weather.Application.desktop",
-               "border-color: #d8e0ef;\n"
-               "text-shadow: 0 1px 1px rgba(0,0,0,0.5);\n"
-               "color: #ffffff;\n"
-               "outline-offset: 0;\n"
-               "outline-color: alpha(#ffffff, 0.75);\n"
-               "outline-style: dashed;\n"
-               "outline-offset: 2px;\n"
-               "background:"
-               " url('@datadir@/gnome-software/featured-weather.png')"
-               " left 80% / 50% auto no-repeat,"
-               " url('@datadir@/gnome-software/featured-weather-bg.png'),"
-               " linear-gradient(to bottom, #25486d, #6693ce);" },
-       { "transmission-gtk.desktop",
-               "border-color: #a40000;\n"
-               "text-shadow: 0 1px 1px rgba(0,0,0,0.5);\n"
-               "color: #ffffff;\n"
-               "outline-offset: 0;\n"
-               "outline-color: alpha(#ffffff, 0.75);\n"
-               "outline-style: dashed;\n"
-               "outline-offset: 2px;\n"
-               "background:"
-               " url('@datadir@/gnome-software/featured-transmission.png')"
-               " 10% 20% / 427px auto no-repeat, -gtk-gradient (radial,"
-               " center bottom, 0, center center, 0.8,"
-               " from(#ffc124), to(#b75200));" },
        { "org.gnome.Builder.desktop",
                "border-color: #000000;\n"
                "text-shadow: 0 1px 1px rgba(0,0,0,0.5);\n"
@@ -170,19 +47,6 @@ struct {
                " left center / 100% auto no-repeat,"
                " url('@datadir@/gnome-software/featured-builder-bg.jpg')"
                " center / cover no-repeat;" },
-       { "org.gnome.Maps.desktop",
-               "border-color: #ff0000;\n"
-               "text-shadow: 0 1px 1px rgba(255,255,255,0.5);\n"
-               "color: #000000;\n"
-               "outline-offset: 0;\n"
-               "outline-color: alpha(#000000, 0.75);\n"
-               "outline-style: dashed;\n"
-               "outline-offset: 2px;\n"
-               "background:"
-               " url('@datadir@/gnome-software/featured-maps.png')"
-               " 20% -5px / 230px auto no-repeat,"
-               " url('@datadir@/gnome-software/featured-maps-bg.png')"
-               " bottom center / contain no-repeat;" },
        { NULL, NULL }
 };
 


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