app: more removal of item link related code.

- removing the GIMP_ITEM_SET_LINKED enum value.
- removing gimp_image_item_list_linked(). Now we should directly use
  gimp_image_item_list_filter() instead.
- "preview-linked" option for transform tools is no more.
This commit is contained in:
Jehan 2021-12-16 00:08:15 +01:00
parent 2ce84b5245
commit aab4ea2bd6
9 changed files with 3 additions and 102 deletions

View file

@ -831,7 +831,6 @@ gimp_item_set_get_type (void)
{ GIMP_ITEM_SET_ALL, "GIMP_ITEM_SET_ALL", "all" },
{ GIMP_ITEM_SET_IMAGE_SIZED, "GIMP_ITEM_SET_IMAGE_SIZED", "image-sized" },
{ GIMP_ITEM_SET_VISIBLE, "GIMP_ITEM_SET_VISIBLE", "visible" },
{ GIMP_ITEM_SET_LINKED, "GIMP_ITEM_SET_LINKED", "linked" },
{ 0, NULL, NULL }
};
@ -841,7 +840,6 @@ gimp_item_set_get_type (void)
{ GIMP_ITEM_SET_ALL, NC_("item-set", "All layers"), NULL },
{ GIMP_ITEM_SET_IMAGE_SIZED, NC_("item-set", "Image-sized layers"), NULL },
{ GIMP_ITEM_SET_VISIBLE, NC_("item-set", "All visible layers"), NULL },
{ GIMP_ITEM_SET_LINKED, NC_("item-set", "All linked layers"), NULL },
{ 0, NULL, NULL }
};

View file

@ -391,7 +391,6 @@ typedef enum /*< pdb-skip >*/
GIMP_ITEM_SET_ALL, /*< desc="All layers" >*/
GIMP_ITEM_SET_IMAGE_SIZED, /*< desc="Image-sized layers" >*/
GIMP_ITEM_SET_VISIBLE, /*< desc="All visible layers" >*/
GIMP_ITEM_SET_LINKED /*< desc="All linked layers" >*/
} GimpItemSet;

View file

@ -360,68 +360,6 @@ gimp_image_item_list_get_list (GimpImage *image,
return g_list_reverse (return_list);
}
/**
* gimp_image_item_list_linked:
* @image:
* @items: the original list of items. This list is untouched.
*
* Returns: a newly allocated list of items, containing @items and their
* linked items if relevant. Note that the returned list is also
* filtered by removing redundant children, so the result may sometimes
* be smaller than the original list.
* The order of the list is not meaningful and not guaranteed to stay
* the same even if the contents is not changed.
*/
GList *
gimp_image_item_list_linked (GimpImage *image,
GList *items)
{
GList *new_items = NULL;
GList *iter;
GimpItemTypeMask type = 0;
gboolean linked = FALSE;
g_return_val_if_fail (GIMP_IS_IMAGE (image), NULL);
g_return_val_if_fail (g_list_length (items) > 0, NULL);
for (iter = items; iter; iter = iter->next)
{
GimpItem *item;
g_return_val_if_fail (GIMP_IS_ITEM (iter->data), NULL);
g_return_val_if_fail (image == gimp_item_get_image (iter->data), NULL);
item = iter->data;
if (gimp_item_get_linked (item))
linked = TRUE;
if (GIMP_IS_LAYER (item))
type |= GIMP_ITEM_TYPE_LAYERS;
else if (GIMP_IS_VECTORS (item))
type |= GIMP_ITEM_TYPE_VECTORS;
else if (GIMP_IS_CHANNEL (item))
type |= GIMP_ITEM_TYPE_CHANNELS;
}
if (linked)
{
new_items = gimp_image_item_list_get_list (image, type, GIMP_ITEM_SET_LINKED);
for (iter = items; iter; iter = iter->next)
if (! g_list_find (new_items, iter->data))
new_items = g_list_prepend (new_items, iter->data);
}
else
{
new_items = g_list_copy (items);
}
new_items = gimp_image_item_list_filter (new_items);
return new_items;
}
static GList *
gimp_image_item_list_remove_children (GList *list,
const GimpItem *parent)

View file

@ -57,9 +57,6 @@ GList * gimp_image_item_list_get_list (GimpImage *image,
GimpItemTypeMask type,
GimpItemSet set);
GList * gimp_image_item_list_linked (GimpImage *image,
GList *items);
GList * gimp_image_item_list_filter (GList *list);

View file

@ -2785,9 +2785,6 @@ gimp_item_is_in_set (GimpItem *item,
case GIMP_ITEM_SET_VISIBLE:
return gimp_item_get_visible (item);
case GIMP_ITEM_SET_LINKED:
return gimp_item_get_linked (item);
}
return FALSE;

View file

@ -51,7 +51,6 @@ enum
PROP_DIRECTION_LINKED,
PROP_SHOW_PREVIEW,
PROP_COMPOSITED_PREVIEW,
PROP_PREVIEW_LINKED,
PROP_SYNCHRONOUS_PREVIEW,
PROP_PREVIEW_OPACITY,
PROP_GRID_TYPE,
@ -122,13 +121,6 @@ gimp_transform_grid_options_class_init (GimpTransformGridOptionsClass *klass)
FALSE,
GIMP_PARAM_STATIC_STRINGS);
GIMP_CONFIG_PROP_BOOLEAN (object_class, PROP_PREVIEW_LINKED,
"preview-linked",
_("Preview linked items"),
_("Include linked items in the preview"),
FALSE,
GIMP_PARAM_STATIC_STRINGS);
GIMP_CONFIG_PROP_BOOLEAN (object_class, PROP_SYNCHRONOUS_PREVIEW,
"synchronous-preview",
_("Synchronous preview"),
@ -256,9 +248,6 @@ gimp_transform_grid_options_set_property (GObject *object,
case PROP_COMPOSITED_PREVIEW:
options->composited_preview = g_value_get_boolean (value);
break;
case PROP_PREVIEW_LINKED:
options->preview_linked = g_value_get_boolean (value);
break;
case PROP_SYNCHRONOUS_PREVIEW:
options->synchronous_preview = g_value_get_boolean (value);
break;
@ -330,9 +319,6 @@ gimp_transform_grid_options_get_property (GObject *object,
case PROP_COMPOSITED_PREVIEW:
g_value_set_boolean (value, options->composited_preview);
break;
case PROP_PREVIEW_LINKED:
g_value_set_boolean (value, options->preview_linked);
break;
case PROP_SYNCHRONOUS_PREVIEW:
g_value_set_boolean (value, options->synchronous_preview);
break;
@ -449,10 +435,6 @@ gimp_transform_grid_options_gui (GimpToolOptions *tool_options)
vbox3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2);
button = gimp_prop_check_button_new (config, "preview-linked", NULL);
gtk_box_pack_start (GTK_BOX (vbox3), button, FALSE, FALSE, 0);
gtk_widget_show (button);
button = gimp_prop_check_button_new (config, "synchronous-preview", NULL);
gtk_box_pack_start (GTK_BOX (vbox3), button, FALSE, FALSE, 0);
gtk_widget_show (button);

View file

@ -40,7 +40,6 @@ struct _GimpTransformGridOptions
gboolean direction_linked;
gboolean show_preview;
gboolean composited_preview;
gboolean preview_linked;
gboolean synchronous_preview;
gdouble preview_opacity;
GimpGuidesType grid_type;

View file

@ -727,12 +727,6 @@ gimp_transform_grid_tool_options_notify (GimpTool *tool,
gimp_transform_grid_tool_update_preview (tg_tool);
}
}
else if (! strcmp (pspec->name, "preview-linked") &&
tg_tool->filters)
{
gimp_transform_grid_tool_update_filters (tg_tool);
gimp_transform_grid_tool_update_preview (tg_tool);
}
else if (! strcmp (pspec->name, "interpolation") ||
! strcmp (pspec->name, "clip") ||
! strcmp (pspec->name, "preview-opacity"))
@ -1804,10 +1798,7 @@ gimp_transform_grid_tool_update_filters (GimpTransformGridTool *tg_tool)
if (! tg_tool->filters)
return;
if (options->preview_linked)
drawables = gimp_image_item_list_linked (image, tool->drawables);
else
drawables = gimp_image_item_list_filter (g_list_copy (tool->drawables));
drawables = gimp_image_item_list_filter (g_list_copy (tool->drawables));
new_drawables = g_hash_table_new (g_direct_hash, g_direct_equal);

View file

@ -221,7 +221,7 @@ gimp_transform_tool_real_transform (GimpTransformTool *tr_tool,
/* this happens for entire drawables, paths and layer groups */
g_return_val_if_fail (g_list_length (objects) > 0, NULL);
items = gimp_image_item_list_linked (gimp_item_get_image (objects->data), objects);
items = gimp_image_item_list_filter (g_list_copy (objects));
gimp_image_item_list_transform (gimp_item_get_image (objects->data),
items, context,
@ -307,7 +307,7 @@ gimp_transform_tool_confirm (GimpTransformTool *tr_tool,
selected_objects &&
GIMP_IS_ITEM (selected_objects->data))
{
objects = gimp_image_item_list_linked (image, selected_objects);
objects = gimp_image_item_list_filter (g_list_copy (selected_objects));
g_list_free (selected_objects);
}
else