1
1
mirror of https://gitlab.gnome.org/GNOME/gimp.git synced 2025-10-06 05:22:40 +02:00

app: add "gint old_index" argument to GimpContainer::reorder()

This commit is contained in:
Michael Natterer
2025-08-08 17:01:50 +02:00
parent 7e280c9b58
commit e9b2b1ad7b
16 changed files with 58 additions and 21 deletions

View File

@@ -59,6 +59,7 @@ static void file_actions_last_opened_update (GimpContainer *container,
static void file_actions_last_opened_reorder (GimpContainer *container,
GimpImagefile *unused1,
gint unused2,
gint unused3,
GimpActionGroup *group);
static void file_actions_close_all_update (GimpContainer *images,
GimpObject *unused,
@@ -434,6 +435,7 @@ static void
file_actions_last_opened_reorder (GimpContainer *container,
GimpImagefile *unused1,
gint unused2,
gint unused3,
GimpActionGroup *group)
{
file_actions_last_opened_update (container, unused1, group);

View File

@@ -59,7 +59,8 @@ static void windows_actions_display_remove (GimpContainer *conta
GimpActionGroup *group);
static void windows_actions_display_reorder (GimpContainer *container,
GimpDisplay *display,
gint position,
gint old_index,
gint new_index,
GimpActionGroup *group);
static void windows_actions_image_notify (GimpDisplay *display,
const GParamSpec *unused,
@@ -336,6 +337,7 @@ windows_actions_display_remove (GimpContainer *container,
static void
windows_actions_display_reorder (GimpContainer *container,
GimpDisplay *display,
gint old_index,
gint new_index,
GimpActionGroup *group)
{

View File

@@ -108,6 +108,7 @@ static void gimp_container_real_remove (GimpContainer *container,
GimpObject *object);
static void gimp_container_real_reorder (GimpContainer *container,
GimpObject *object,
gint old_index,
gint new_index);
static GType gimp_container_get_item_type (GListModel *list);
@@ -172,9 +173,10 @@ gimp_container_class_init (GimpContainerClass *klass)
G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET (GimpContainerClass, reorder),
NULL, NULL,
gimp_marshal_VOID__OBJECT_INT,
G_TYPE_NONE, 2,
gimp_marshal_VOID__OBJECT_INT_INT,
G_TYPE_NONE, 3,
GIMP_TYPE_OBJECT,
G_TYPE_INT,
G_TYPE_INT);
container_signals[FREEZE] =
@@ -363,6 +365,7 @@ gimp_container_real_remove (GimpContainer *container,
static void
gimp_container_real_reorder (GimpContainer *container,
GimpObject *object,
gint old_index,
gint new_index)
{
}
@@ -834,7 +837,7 @@ gimp_container_reorder (GimpContainer *container,
GimpObject *object,
gint new_index)
{
gint index;
gint old_index;
g_return_val_if_fail (GIMP_IS_CONTAINER (container), FALSE);
g_return_val_if_fail (object != NULL, FALSE);
@@ -848,19 +851,19 @@ gimp_container_reorder (GimpContainer *container,
if (new_index == -1)
new_index = container->priv->n_children - 1;
index = gimp_container_get_child_index (container, object);
old_index = gimp_container_get_child_index (container, object);
if (index == -1)
if (old_index == -1)
{
g_warning ("%s: container %p does not contain object %p",
G_STRFUNC, container, object);
return FALSE;
}
if (index != new_index)
if (old_index != new_index)
{
g_signal_emit (container, container_signals[REORDER], 0,
object, new_index);
object, old_index, new_index);
if (container->priv->freeze_count == 0 &&
container->priv->suspend_items_changed == 0)
@@ -868,9 +871,9 @@ gimp_container_reorder (GimpContainer *container,
gint new_index = gimp_container_get_child_index (container, object);
g_list_model_items_changed (G_LIST_MODEL (container),
MIN (index, new_index),
ABS (index - new_index) + 1,
ABS (index - new_index) + 1);
MIN (old_index, new_index),
ABS (old_index - new_index) + 1,
ABS (old_index - new_index) + 1);
}
}

View File

@@ -56,6 +56,7 @@ struct _GimpContainerClass
GimpObject *object);
void (* reorder) (GimpContainer *container,
GimpObject *object,
gint old_index,
gint new_index);
void (* freeze) (GimpContainer *container);
void (* thaw) (GimpContainer *container);

View File

@@ -173,6 +173,7 @@ static void gimp_drawable_filter_lock_alpha_changed (GimpLayer
static void gimp_drawable_filter_reorder (GimpFilterStack *stack,
GimpDrawableFilter *reordered_filter,
gint old_index,
gint new_index,
GimpDrawableFilter *filter);
@@ -2015,6 +2016,7 @@ gimp_drawable_filter_lock_alpha_changed (GimpLayer *layer,
static void
gimp_drawable_filter_reorder (GimpFilterStack *stack,
GimpDrawableFilter *reordered_filter,
gint old_index,
gint new_index,
GimpDrawableFilter *filter)
{
@@ -2032,6 +2034,8 @@ gimp_drawable_filter_reorder (GimpFilterStack *stack,
* it's organized.
*/
GIMP_IS_DRAWABLE_FILTER (GIMP_LIST (stack)->queue->head->data))
gimp_drawable_filter_sync_format (GIMP_LIST (stack)->queue->head->data);
{
gimp_drawable_filter_sync_format (GIMP_LIST (stack)->queue->head->data);
}
}
}

View File

@@ -47,6 +47,7 @@ static void gimp_drawable_stack_remove (GimpContainer *container
GimpObject *object);
static void gimp_drawable_stack_reorder (GimpContainer *container,
GimpObject *object,
gint old_index,
gint new_index);
static void gimp_drawable_stack_drawable_update (GimpItem *item,
@@ -142,11 +143,13 @@ gimp_drawable_stack_remove (GimpContainer *container,
static void
gimp_drawable_stack_reorder (GimpContainer *container,
GimpObject *object,
gint old_index,
gint new_index)
{
GimpDrawableStack *stack = GIMP_DRAWABLE_STACK (container);
GIMP_CONTAINER_CLASS (parent_class)->reorder (container, object, new_index);
GIMP_CONTAINER_CLASS (parent_class)->reorder (container, object,
old_index, new_index);
if (gimp_filter_get_active (GIMP_FILTER (object)))
gimp_drawable_stack_drawable_active (GIMP_ITEM (object), stack);

View File

@@ -40,6 +40,7 @@ static void gimp_filter_stack_remove (GimpContainer *container,
GimpObject *object);
static void gimp_filter_stack_reorder (GimpContainer *container,
GimpObject *object,
gint old_index,
gint new_index);
static void gimp_filter_stack_add_node (GimpFilterStack *stack,
@@ -147,6 +148,7 @@ gimp_filter_stack_remove (GimpContainer *container,
static void
gimp_filter_stack_reorder (GimpContainer *container,
GimpObject *object,
gint old_index,
gint new_index)
{
GimpFilterStack *stack = GIMP_FILTER_STACK (container);
@@ -155,7 +157,8 @@ gimp_filter_stack_reorder (GimpContainer *container,
if (stack->graph && gimp_filter_get_active (filter))
gimp_filter_stack_remove_node (stack, filter);
GIMP_CONTAINER_CLASS (parent_class)->reorder (container, object, new_index);
GIMP_CONTAINER_CLASS (parent_class)->reorder (container, object,
old_index, new_index);
if (gimp_filter_get_active (filter))
{

View File

@@ -39,6 +39,7 @@ static void gimp_layer_stack_remove (GimpContainer *container
GimpObject *object);
static void gimp_layer_stack_reorder (GimpContainer *container,
GimpObject *object,
gint old_index,
gint new_index);
static void gimp_layer_stack_layer_active (GimpLayer *layer,
@@ -130,6 +131,7 @@ gimp_layer_stack_remove (GimpContainer *container,
static void
gimp_layer_stack_reorder (GimpContainer *container,
GimpObject *object,
gint old_index,
gint new_index)
{
GimpLayerStack *stack = GIMP_LAYER_STACK (container);
@@ -142,7 +144,8 @@ gimp_layer_stack_reorder (GimpContainer *container,
if (update_backdrop)
index = gimp_container_get_child_index (container, object);
GIMP_CONTAINER_CLASS (parent_class)->reorder (container, object, new_index);
GIMP_CONTAINER_CLASS (parent_class)->reorder (container, object,
old_index, new_index);
if (update_backdrop)
gimp_layer_stack_update_range (stack, index, new_index);

View File

@@ -61,6 +61,7 @@ static void gimp_list_remove (GimpContainer *conta
GimpObject *object);
static void gimp_list_reorder (GimpContainer *container,
GimpObject *object,
gint old_index,
gint new_index);
static void gimp_list_clear (GimpContainer *container);
static gboolean gimp_list_have (GimpContainer *container,
@@ -297,6 +298,7 @@ gimp_list_remove (GimpContainer *container,
static void
gimp_list_reorder (GimpContainer *container,
GimpObject *object,
gint old_index,
gint new_index)
{
GimpList *list = GIMP_LIST (container);
@@ -308,7 +310,8 @@ gimp_list_reorder (GimpContainer *container,
else
g_queue_push_nth (list->queue, object, new_index);
GIMP_CONTAINER_CLASS (parent_class)->reorder (container, object, new_index);
GIMP_CONTAINER_CLASS (parent_class)->reorder (container, object,
old_index, new_index);
}
static void

View File

@@ -50,6 +50,7 @@ VOID: INT, INT, BOOLEAN, BOOLEAN
VOID: INT, OBJECT
VOID: OBJECT, BOOLEAN
VOID: OBJECT, INT
VOID: OBJECT, INT, INT
VOID: OBJECT, OBJECT
VOID: OBJECT, POINTER
VOID: OBJECT, STRING, STRING

View File

@@ -66,6 +66,7 @@ static void gimp_tree_proxy_container_remove (GimpContainer *container,
GimpTreeProxy *tree_proxy);
static void gimp_tree_proxy_container_reorder (GimpContainer *container,
GimpObject *object,
gint old_index,
gint new_index,
GimpTreeProxy *tree_proxy);
static void gimp_tree_proxy_container_freeze (GimpContainer *container,
@@ -213,6 +214,7 @@ gimp_tree_proxy_container_remove (GimpContainer *container,
static void
gimp_tree_proxy_container_reorder (GimpContainer *container,
GimpObject *object,
gint old_index,
gint new_index,
GimpTreeProxy *tree_proxy)
{

View File

@@ -99,6 +99,7 @@ static void gimp_tool_widget_group_children_remove (GimpContaine
GimpToolWidgetGroup *group);
static void gimp_tool_widget_group_children_reorder (GimpContainer *container,
GimpToolWidget *child,
gint old_index,
gint new_index,
GimpToolWidgetGroup *group);
@@ -513,6 +514,7 @@ gimp_tool_widget_group_children_remove (GimpContainer *container,
static void
gimp_tool_widget_group_children_reorder (GimpContainer *container,
GimpToolWidget *child,
gint old_index,
gint new_index,
GimpToolWidgetGroup *group)
{

View File

@@ -57,6 +57,7 @@ static void windows_menu_display_remove (GimpContainer *con
GimpUIManager *manager);
static void windows_menu_display_reorder (GimpContainer *container,
GimpDisplay *display,
gint old_index,
gint new_index,
GimpUIManager *manager);
static void windows_menu_image_notify (GimpDisplay *display,
@@ -175,6 +176,7 @@ windows_menu_display_remove (GimpContainer *container,
static void
windows_menu_display_reorder (GimpContainer *container,
GimpDisplay *display,
gint old_index,
gint new_index,
GimpUIManager *manager)
{

View File

@@ -56,6 +56,7 @@ static void gimp_container_view_remove (GimpContainerView *view,
static void gimp_container_view_reorder (GimpContainerView *view,
GimpViewable *viewable,
gint old_index,
gint new_index,
GimpContainer *container);
@@ -355,6 +356,7 @@ gimp_container_view_remove (GimpContainerView *view,
static void
gimp_container_view_reorder (GimpContainerView *view,
GimpViewable *viewable,
gint old_index,
gint new_index,
GimpContainer *container)
{

View File

@@ -133,6 +133,7 @@ static void gimp_tool_button_tool_remove (GimpContainer *c
GimpToolButton *tool_button);
static void gimp_tool_button_tool_reorder (GimpContainer *container,
GimpToolInfo *tool_info,
gint old_index,
gint new_index,
GimpToolButton *tool_button);
@@ -788,6 +789,7 @@ gimp_tool_button_tool_remove (GimpContainer *container,
static void
gimp_tool_button_tool_reorder (GimpContainer *container,
GimpToolInfo *tool_info,
gint old_index,
gint new_index,
GimpToolButton *tool_button)
{

View File

@@ -86,7 +86,8 @@ static void gimp_tool_palette_tool_remove (GimpContainer *containe
GimpToolPalette *palette);
static void gimp_tool_palette_tool_reorder (GimpContainer *container,
GimpToolItem *tool_item,
gint index,
gint old_index,
gint new_index,
GimpToolPalette *palette);
static void gimp_tool_palette_add_button (GimpToolPalette *palette,
@@ -430,7 +431,8 @@ gimp_tool_palette_tool_remove (GimpContainer *container,
static void
gimp_tool_palette_tool_reorder (GimpContainer *container,
GimpToolItem *tool_item,
gint index,
gint old_index,
gint new_index,
GimpToolPalette *palette)
{
GimpToolPalettePrivate *private = GET_PRIVATE (palette);
@@ -440,9 +442,9 @@ gimp_tool_palette_tool_reorder (GimpContainer *container,
if (tool_button)
{
gtk_tool_item_group_set_item_position (
GTK_TOOL_ITEM_GROUP (private->group),
GTK_TOOL_ITEM (tool_button), index);
gtk_tool_item_group_set_item_position
(GTK_TOOL_ITEM_GROUP (private->group),
GTK_TOOL_ITEM (tool_button), new_index);
}
}