[gimp/wip/Jehan/layers-dockable-refresh: 90/105] app: add an implementation for get_selected() of GimpContainerEntry.
- From: Jehan <jehanp src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp/wip/Jehan/layers-dockable-refresh: 90/105] app: add an implementation for get_selected() of GimpContainerEntry.
- Date: Thu, 23 Dec 2021 00:44:39 +0000 (UTC)
commit f30b9cb2fa3b788afd3e278eb90018a6c074fea1
Author: Jehan <jehan girinstud io>
Date: Wed Nov 3 17:06:35 2021 +0100
app: add an implementation for get_selected() of GimpContainerEntry.
This fixes the container entry never showing (e.g. brush/dynamics) names
because after commit 62ca7b1d89, the class could not properly detect if
the selection changed (as default implementation for this virtual
function does not suit this subclass).
app/widgets/gimpcontainerentry.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
---
diff --git a/app/widgets/gimpcontainerentry.c b/app/widgets/gimpcontainerentry.c
index dc9df67b67..8a05a89779 100644
--- a/app/widgets/gimpcontainerentry.c
+++ b/app/widgets/gimpcontainerentry.c
@@ -65,6 +65,9 @@ static gboolean gimp_container_entry_select_items(GimpContainerView *view,
GList *paths);
static void gimp_container_entry_clear_items (GimpContainerView *view);
static void gimp_container_entry_set_view_size (GimpContainerView *view);
+static gint gimp_container_entry_get_selected (GimpContainerView *view,
+ GList **items,
+ GList **items_data);
static void gimp_container_entry_changed (GtkEntry *entry,
GimpContainerView *view);
@@ -112,6 +115,7 @@ gimp_container_entry_view_iface_init (GimpContainerViewInterface *iface)
iface->select_items = gimp_container_entry_select_items;
iface->clear_items = gimp_container_entry_clear_items;
iface->set_view_size = gimp_container_entry_set_view_size;
+ iface->get_selected = gimp_container_entry_get_selected;
iface->insert_data_free = (GDestroyNotify) gtk_tree_iter_free;
}
@@ -381,6 +385,24 @@ gimp_container_entry_set_view_size (GimpContainerView *view)
gimp_container_tree_store_set_view_size (GIMP_CONTAINER_TREE_STORE (model));
}
+static gint
+gimp_container_entry_get_selected (GimpContainerView *view,
+ GList **items,
+ GList **items_data)
+{
+ GimpContainerEntry *container_entry = GIMP_CONTAINER_ENTRY (view);
+
+ if (items)
+ {
+ if (container_entry->viewable != NULL)
+ *items = g_list_prepend (NULL, container_entry->viewable);
+ else
+ *items = NULL;
+ }
+
+ return container_entry->viewable == NULL ? 0 : 1;
+}
+
static void
gimp_container_entry_changed (GtkEntry *entry,
GimpContainerView *view)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]