app: GimpFilteredContainer: update sort_func when the src container's
sort_func changes.
This commit is contained in:
parent
3c02c8bcb7
commit
1a9bea59f1
1 changed files with 19 additions and 0 deletions
|
|
@ -60,6 +60,9 @@ static void gimp_filtered_container_real_src_thaw (GimpFilteredContainer *
|
|||
|
||||
static gboolean gimp_filtered_container_object_matches (GimpFilteredContainer *filtered_container,
|
||||
GimpObject *object);
|
||||
static void gimp_filtered_container_src_sort_func (GimpContainer *src,
|
||||
GParamSpec *pspec,
|
||||
GimpFilteredContainer *filtered_container);
|
||||
static void gimp_filtered_container_src_add (GimpContainer *src_container,
|
||||
GimpObject *obj,
|
||||
GimpFilteredContainer *filtered_container);
|
||||
|
|
@ -148,6 +151,9 @@ gimp_filtered_container_dispose (GObject *object)
|
|||
|
||||
if (filtered_container->src_container)
|
||||
{
|
||||
g_signal_handlers_disconnect_by_func (filtered_container->src_container,
|
||||
gimp_filtered_container_src_sort_func,
|
||||
filtered_container);
|
||||
g_signal_handlers_disconnect_by_func (filtered_container->src_container,
|
||||
gimp_filtered_container_src_add,
|
||||
filtered_container);
|
||||
|
|
@ -188,6 +194,9 @@ gimp_filtered_container_set_property (GObject *object,
|
|||
case PROP_SRC_CONTAINER:
|
||||
filtered_container->src_container = g_value_dup_object (value);
|
||||
|
||||
g_signal_connect (filtered_container->src_container, "notify::sort-func",
|
||||
G_CALLBACK (gimp_filtered_container_src_sort_func),
|
||||
filtered_container);
|
||||
g_signal_connect (filtered_container->src_container, "add",
|
||||
G_CALLBACK (gimp_filtered_container_src_add),
|
||||
filtered_container);
|
||||
|
|
@ -332,6 +341,16 @@ gimp_filtered_container_object_matches (GimpFilteredContainer *filtered_containe
|
|||
filtered_container->filter_data));
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_filtered_container_src_sort_func (GimpContainer *src,
|
||||
GParamSpec *pspec,
|
||||
GimpFilteredContainer *filtered_container)
|
||||
{
|
||||
GCompareFunc sort_func = gimp_list_get_sort_func (GIMP_LIST (src));
|
||||
|
||||
gimp_list_set_sort_func (GIMP_LIST (filtered_container), sort_func);
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_filtered_container_src_add (GimpContainer *src_container,
|
||||
GimpObject *object,
|
||||
|
|
|
|||
Loading…
Reference in a new issue