[shotwell/wip/gtk4: 44/88] Remove custom icon loader
- From: Jens Georg <jensgeorg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [shotwell/wip/gtk4: 44/88] Remove custom icon loader
- Date: Mon, 30 May 2022 17:34:43 +0000 (UTC)
commit a84325d8424deb0d6971895a2cb74a9b862df071
Author: Jens Georg <mail jensge org>
Date: Sun Apr 10 10:20:37 2022 +0200
Remove custom icon loader
src/AppWindow.vala | 2 +-
src/Resources.vala | 66 ----------------------------------------
src/plugins/ManifestWidget.vala | 8 +----
src/plugins/SpitInterfaces.vala | 2 +-
src/publishing/PublishingUI.vala | 14 ++++-----
5 files changed, 10 insertions(+), 82 deletions(-)
---
diff --git a/src/AppWindow.vala b/src/AppWindow.vala
index 387f2ad3..697aedb6 100644
--- a/src/AppWindow.vala
+++ b/src/AppWindow.vala
@@ -604,7 +604,7 @@ public abstract class AppWindow : PageWindow {
"license", Resources.LICENSE,
"website-label", _("Visit the Shotwell web site"),
"authors", Resources.AUTHORS,
- "logo", Resources.get_icon(Resources.ICON_ABOUT_LOGO, -1),
+ "logo-icon-name", "shotwell",
"translator-credits", _("translator-credits"),
null
);
diff --git a/src/Resources.vala b/src/Resources.vala
index 08d86a07..40e75d01 100644
--- a/src/Resources.vala
+++ b/src/Resources.vala
@@ -1012,72 +1012,6 @@ along with Shotwell; if not, write to the Free Software Foundation, Inc.,
icon_theme.add_resource_path("/org/gnome/Shotwell/icons/hicolor");
}
- // This method returns a reference to a cached pixbuf that may be shared throughout the system.
- // If the pixbuf is to be modified, make a copy of it.
- public Gdk.Pixbuf? get_icon(string name, int scale = DEFAULT_ICON_SCALE) {
- if (scaled_icon_cache != null) {
- string scaled_name = "%s-%d".printf(name, scale);
- if (scaled_icon_cache.has_key(scaled_name))
- return scaled_icon_cache.get(scaled_name);
- }
-
- // stash icons not available through the UI Manager (i.e. used directly as pixbufs)
- // in the local cache
- if (icon_cache == null)
- icon_cache = new Gee.HashMap<string, Gdk.Pixbuf>();
-
- // fetch from cache and if not present, from disk
- Gdk.Pixbuf? pixbuf = icon_cache.get(name);
- if (pixbuf == null) {
- pixbuf = load_icon(name, scale);
- if (pixbuf == null)
- return null;
-
- icon_cache.set(name, pixbuf);
- }
-
- if (scale <= 0)
- return pixbuf;
-
- Gdk.Pixbuf scaled_pixbuf = scale_pixbuf(pixbuf, scale, Gdk.InterpType.BILINEAR, false);
-
- if (scaled_icon_cache == null)
- scaled_icon_cache = new Gee.HashMap<string, Gdk.Pixbuf>();
-
- scaled_icon_cache.set("%s-%d".printf(name, scale), scaled_pixbuf);
-
- return scaled_pixbuf;
- }
-
- public Gdk.Pixbuf? load_icon(string name, int scale = DEFAULT_ICON_SCALE) {
- #if 0
- Gdk.Pixbuf pixbuf = null;
- try {
- var theme = Gtk.IconTheme.get_default();
- var info = theme.lookup_icon(name, scale, Gtk.IconLookupFlags.GENERIC_FALLBACK);
- pixbuf = info.load_symbolic_for_context(AppWindow.get_instance().get_style_context(), null);
- } catch (Error err) {
- debug("Failed to find icon %s in theme, falling back to resources", name);
- }
-
- if (pixbuf == null) {
- try {
- var path = "/org/gnome/Shotwell/icons/%s".printf(name);
- pixbuf = new Gdk.Pixbuf.from_resource(path);
- } catch (Error err) {
- critical("Unable to load icon %s: %s", name, err.message);
- }
- }
-
- if (pixbuf == null)
- return null;
-
- return (scale > 0) ? scale_pixbuf(pixbuf, scale, Gdk.InterpType.BILINEAR, false) : pixbuf;
- #endif
- // TODO
- return null;
- }
-
// Get the directory where our help files live. Returns a string
// describing the help path we want, or, if we're installed system
// -wide already, returns null.
diff --git a/src/plugins/ManifestWidget.vala b/src/plugins/ManifestWidget.vala
index 2ccff212..44d0e334 100644
--- a/src/plugins/ManifestWidget.vala
+++ b/src/plugins/ManifestWidget.vala
@@ -175,13 +175,7 @@ private class ManifestListView : Gtk.TreeView {
Spit.PluggableInfo info = Spit.PluggableInfo();
pluggable.get_info(ref info);
-
- #if 0
- icon = (info.icons != null && info.icons.length > 0)
- ? info.icons[0]
- : Resources.get_icon(Resources.ICON_GENERIC_PLUGIN, ICON_SIZE);
- #endif
-
+
Gtk.TreeIter plugin_iter;
store.append(out plugin_iter, category_iter);
diff --git a/src/plugins/SpitInterfaces.vala b/src/plugins/SpitInterfaces.vala
index 3e2c70e1..dd2b8a5c 100644
--- a/src/plugins/SpitInterfaces.vala
+++ b/src/plugins/SpitInterfaces.vala
@@ -176,7 +176,7 @@ public struct PluggableInfo {
* An icon representing this plugin at one or more sizes. Shotwell may select an icon
* according to the size that closest fits the control its being drawn in.
*/
- public Gdk.Pixbuf[]? icons;
+ public string icon;
}
/**
diff --git a/src/publishing/PublishingUI.vala b/src/publishing/PublishingUI.vala
index 1461c1d9..78a1605a 100644
--- a/src/publishing/PublishingUI.vala
+++ b/src/publishing/PublishingUI.vala
@@ -77,12 +77,12 @@ public class PublishingDialog : Gtk.Dialog {
}
set_title(title);
- service_selector_box_model = new Gtk.ListStore(2, typeof(Gdk.Pixbuf), typeof(string));
+ service_selector_box_model = new Gtk.ListStore(2, typeof(string), typeof(string));
service_selector_box = new Gtk.ComboBox.with_model(service_selector_box_model);
Gtk.CellRendererPixbuf renderer_pix = new Gtk.CellRendererPixbuf();
service_selector_box.pack_start(renderer_pix,true);
- service_selector_box.add_attribute(renderer_pix, "pixbuf", 0);
+ service_selector_box.add_attribute(renderer_pix, "icon-name", 0);
Gtk.CellRendererText renderer_text = new Gtk.CellRendererText();
service_selector_box.pack_start(renderer_text,true);
@@ -104,17 +104,17 @@ public class PublishingDialog : Gtk.Dialog {
service.get_info(ref info);
- if (null != info.icons && 0 < info.icons.length) {
+ if (info.icon != null) {
// check if the icons object is set -- if set use that icon
- service_selector_box_model.set(iter, 0, info.icons[0], 1,
+ service_selector_box_model.set(iter, 0, info.icon, 1,
service.get_pluggable_name());
// in case the icons object is not set on the next iteration
- info.icons[0] = Resources.get_icon(Resources.ICON_GENERIC_PLUGIN);
+ info.icon = Resources.ICON_GENERIC_PLUGIN;
} else {
// if icons object is null or zero length use a generic icon
- service_selector_box_model.set(iter, 0, Resources.get_icon(
- Resources.ICON_GENERIC_PLUGIN), 1, service.get_pluggable_name());
+ service_selector_box_model.set(iter, 0,
+ Resources.ICON_GENERIC_PLUGIN, 1, service.get_pluggable_name());
}
if (last_used_service == null) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]