diff --git a/app/actions/tools-actions.c b/app/actions/tools-actions.c index ef4fe50bd6..4758dcb6f2 100644 --- a/app/actions/tools-actions.c +++ b/app/actions/tools-actions.c @@ -63,6 +63,12 @@ static const GimpStringActionEntry tools_alternative_actions[] = NC_("tools-action", "_Arbitrary Rotation..."), "", NC_("tools-action", "Rotate by an arbitrary angle"), "gimp-rotate-layer", + GIMP_HELP_TOOL_ROTATE }, + + { "tools-rotate-image-arbitrary", GIMP_ICON_TOOL_ROTATE, + NC_("tools-action", "_Arbitrary Rotation..."), "", + NC_("tools-action", "Rotate by an arbitrary angle"), + "gimp-rotate-image", GIMP_HELP_TOOL_ROTATE } }; diff --git a/app/actions/tools-commands.c b/app/actions/tools-commands.c index 6b4e7ffc7e..f5bd9986de 100644 --- a/app/actions/tools-commands.c +++ b/app/actions/tools-commands.c @@ -80,13 +80,21 @@ tools_select_cmd_callback (GimpAction *action, tool_name = g_variant_get_string (value, NULL); - /* special case gimp-rotate-tool being called from the Layer menu */ + /* special case gimp-rotate-tool being called from the Image or Layer + * menus + */ if (strcmp (tool_name, "gimp-rotate-layer") == 0) { tool_name = "gimp-rotate-tool"; set_transform_type = TRUE; transform_type = GIMP_TRANSFORM_TYPE_LAYER; } + else if (strcmp (tool_name, "gimp-rotate-image") == 0) + { + tool_name = "gimp-rotate-tool"; + set_transform_type = TRUE; + transform_type = GIMP_TRANSFORM_TYPE_IMAGE; + } tool_info = gimp_get_tool_info (gimp, tool_name); diff --git a/menus/image-menu.xml.in b/menus/image-menu.xml.in index 11b1604f92..6b8b6de956 100644 --- a/menus/image-menu.xml.in +++ b/menus/image-menu.xml.in @@ -402,6 +402,7 @@ +