[shotwell/wip/gtk4] Prefs: Fix icons in external editors
- From: Jens Georg <jensgeorg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [shotwell/wip/gtk4] Prefs: Fix icons in external editors
- Date: Tue, 5 Apr 2022 19:47:47 +0000 (UTC)
commit 99abdf11e16c4a4a83e6c36c31ab511d80621ced
Author: Jens Georg <mail jensge org>
Date: Tue Apr 5 21:28:29 2022 +0200
Prefs: Fix icons in external editors
src/dialogs/Preferences.vala | 31 ++++++++-----------------------
1 file changed, 8 insertions(+), 23 deletions(-)
---
diff --git a/src/dialogs/Preferences.vala b/src/dialogs/Preferences.vala
index 7d88a58f..923230bd 100644
--- a/src/dialogs/Preferences.vala
+++ b/src/dialogs/Preferences.vala
@@ -208,14 +208,14 @@ public class PreferencesDialog : Gtk.Dialog {
// populate application ComboBox with app names and icons
Gtk.CellRendererPixbuf pixbuf_renderer = new Gtk.CellRendererPixbuf();
Gtk.CellRendererText text_renderer = new Gtk.CellRendererText();
+ pixbuf_renderer.xpad = 6;
combo_box.clear();
combo_box.pack_start(pixbuf_renderer, false);
combo_box.pack_start(text_renderer, false);
- combo_box.add_attribute(pixbuf_renderer, "pixbuf", 0);
+ combo_box.add_attribute(pixbuf_renderer, "gicon", 0);
combo_box.add_attribute(text_renderer, "text", 1);
- // TODO: need more space between icons and text
- Gtk.ListStore combo_store = new Gtk.ListStore(2, typeof(Gdk.Pixbuf), typeof(string));
+ Gtk.ListStore combo_store = new Gtk.ListStore(2, typeof(GLib.Object), typeof(string));
Gtk.TreeIter iter;
int current_app = -1;
@@ -223,26 +223,11 @@ public class PreferencesDialog : Gtk.Dialog {
foreach (AppInfo app in external_apps) {
combo_store.append(out iter);
- Icon app_icon = app.get_icon();
- try {
- if (app_icon is FileIcon) {
- combo_store.set_value(iter, 0, scale_pixbuf(new Gdk.Pixbuf.from_file(
- ((FileIcon) app_icon).get_file().get_path()), Resources.DEFAULT_ICON_SCALE,
- Gdk.InterpType.BILINEAR, false));
- } else if (app_icon is ThemedIcon) {
- #if 0
- Gdk.Pixbuf icon_pixbuf =
- Gtk.IconTheme.get_default().load_icon(((ThemedIcon) app_icon).get_names()[0],
- Resources.DEFAULT_ICON_SCALE, Gtk.IconLookupFlags.FORCE_SIZE);
-
- combo_store.set_value(iter, 0, icon_pixbuf);
- #endif
- }
- } catch (GLib.Error error) {
- warning("Error loading icon pixbuf: " + error.message);
- }
-
- combo_store.set_value(iter, 1, app.get_name());
+ Icon? app_icon = app.get_icon();
+ if (app_icon != null)
+ combo_store.set (iter, 0, app_icon, 1, app.get_name());
+ else
+ combo_store.set (iter, 1, app.get_name());
if (app.get_commandline() == current_app_executable)
current_app = external_apps.index_of(app);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]