Commit graph

43132 commits

Author SHA1 Message Date
Michael Schumacher
3755f9c9f1 build: add GitLab CI .gitlab-ci.yml file 2019-09-06 20:01:16 +02:00
Ell
10e6a3b309 app: add "show all" support to the Perspective Clone tool
... by adapting GimpPerspectiveClone to handle buffers with
arbitrary extents.  Note that the tool doesn't seem to work well in
"sample merged" mode to begin with, but this is unrelated.

(cherry picked from commit 19c693a937)
2019-09-06 20:10:47 +03:00
Ell
e372cc185f app: add "show all" support to the Clone tool
... by using gimp_paint_core_get_image_pickable() in
GimpSourceCore, and adapting it to handle source buffers with
arbitrary extents.

(cherry picked from commit c5bf595fe6)
2019-09-06 20:10:46 +03:00
Ell
9fe7177bc7 app: add "show all" support to the Smudge tool
... by using gimp_paint_core_get_image_pickable() in GimpSmude.

(cherry picked from commit 84656cb3d4)
2019-09-06 20:10:45 +03:00
Ell
86ecd4d04f app: add gimp_paint_core_{set_show_all,get_image_pickable}()
GimpPaintCore operates indipendently of a display, and hence needs
to be explictly told when operating in "show all" mode, affecting
the result of paint tools operating in "sample merged" mode.  Add
gimp_paint_core_set_show_all() for that purpose, and call it,
passing the current display's "show all" mode, in GimpPaintTool.
This controls which pickable (the image itself, or its projection)
is used as the sampling source, as per
GimpPaintCore::saved_proj_buffer, and as returned by the new
gimp_paint_core_get_image_pickable() function.

(cherry picked from commit 2523808e4a)
2019-09-06 20:10:45 +03:00
Michael Natterer
2d5f759ac1 Issue #3655 - Cannot edit long lines of metadata (no scroll bar)
Set the crollbar policy to automatic.
2019-09-06 17:35:53 +02:00
Massimo Valentini
19a8e76339 Issue 2206: Error message when opening "MULTICHANNEL" PSD...
...files (file attached)

(cherry picked from commit 0a1e9d1190)
2019-09-06 17:27:15 +02:00
Michael Natterer
07f8662dc0 Revert the *enums.c part of the last commit
- it was changing generated files
- no dialog-specific mnemonics on generic enum labels
2019-09-06 09:46:48 +03:00
Ell
09c7714021 app: add "show all" support to the bucket-fill tool in "fill similar colors" mode
In the bucket-fill tool, allow using the tool outside the canvas
bounds with "sample merged" active in "fill similar colors" mode,
when the current display is in "show all" mode.  Additionally,
ignore "sample merged" in "fill whole selection" mode, on which it
has no effect.

(cherry picked from commit 17f8cff6f6)
2019-09-05 18:04:22 +03:00
Ell
897426c4e1 app: in gimp_pickable_contiguous_region_by_seed(), add support for arbitrary buffer extents
(cherry picked from commit 99759a57e8)
2019-09-05 18:04:21 +03:00
Ell
f4b179c09e app: in gimp_gegl_mask_bounds(), add support for arbitrary buffer extents
(cherry picked from commit 6df0be91ba)
2019-09-05 18:04:21 +03:00
Ell
16c676809c app: fix gimp_gegl_mask_bounds()
(cherry picked from commit ddbff867a1)
2019-09-05 18:04:20 +03:00
Sabri Ünal
4b607550cb Missing mnemonics on Preferences 2019-09-05 12:47:06 +00:00
Sabri Ünal
a02958c5ce Missing mnemonics on several file dialogs
This path corrects missing mnemonics on several save/open/export dialogs.

save: file
open: file, dds, fits, tiff
export: bmp, dds, fli, gbr, gih, mng, pat, pnm, pdf, raw, sunras, sgi, webp
2019-09-05 12:46:14 +00:00
Sabri Ünal
35df110a05 Missing mnemonics on several dialogs
paste as brush, paste as pattern, select to new brush, select to new pattern
fill selection outline, fill path, stroke selection, distort, rounded rectangle
indexed color conversion, merge visible layers, new guide, new guide (by percent)
image properties, newsprint, fractal explorer, sample colorize, new layer

metadata editor (just a button), spyroplus (only common buttons)
2019-09-05 12:44:17 +00:00
Alexandre Prokoudine
9eb579aa08 More updates to Russian translation 2019-09-05 15:04:45 +03:00
Alexandre Prokoudine
45f91ae188 Update Russian translation 2019-09-05 14:47:25 +03:00
Ell
668d8b2ee1 app: update image-projection priority rect when switching displays
Update the image-projection priority rect to the current display's
viewport when the display becomes active, so that the right region
is rendered first when switching between different displays of the
same image.

(cherry picked from commit 582930aa61)
2019-09-05 13:56:46 +03:00
Ell
a9ed7767cf app: make "show canvas boundary" insensitive when "show all" is disabled
... since the canvas boundary is only shown in "show all" mode.

(cherry picked from commit 43e91d632e)
2019-09-05 13:20:01 +03:00
Ell
2038de0dc2 app: various fixes in gimp_display_shell_set_show_all()
(cherry picked from commit 19817877a5)
2019-09-05 13:20:00 +03:00
Ell
877acad596 app: fix a few compilation warnings 2019-09-04 20:56:24 +03:00
Ell
8ed929b272 app: fix transform-tool preview/bounds in show-all mode when transforming entire image
In the transform tools, when transforming the entire image in show-
all mode, don't crop the preview and the transform bounds to the
size of the canvas.
2019-09-04 20:56:24 +03:00
Ell
5b428a115d app: add support for show-all mode in GimpCanvasPassePartout
Don't clip the outer rect to the size of the canvas in show-all
mode.
2019-09-04 20:56:24 +03:00
Ell
f5ffc7d831 app: add support for show-all mode in GimpCanvasGrid
Don't crop the grid to the canvas size in show-all mode.
2019-09-04 20:56:24 +03:00
Ell
a0bdb2541d app: add gimp_canvas_item_untransform_viewport()
... which untransforms the viewport from display space to the
item's coordinate space (i.e., scaled and translated image space).
2019-09-04 20:56:24 +03:00
Ell
5e59e5c002 app: add support for color picking in "show all" mode
Add a show_all parameter to gimp_image_pick_color(), which, when
TRUE, allows picking colors outside the canvas bounds in sample-
merged mode.  Forward the display's "show all" mode through this
parameter where applicable (in particular, in the color-picker tool
and the pointer dockable).
2019-09-04 20:56:24 +03:00
Ell
8b90240928 app: fix gimp_projection_get_pixel_at() for general bounding boxes 2019-09-04 20:56:24 +03:00
Ell
06018d766f app: fix out-of-bounds rendering when alpha channel is invisible
When the image's alpha channel is invisible, paint regions outside
the image contents as black, instead of using a checkboard pattern.
This is especially notable when viewing the image in "show all"
mode.
2019-09-04 20:56:24 +03:00
Ell
66d1981f3a app: in GimpEditSelectionTool, freeze moved items' previews
... to avoid unnecessarily updating their previews while dragging,
and, in particular, to avoid updating the image's GimpImageViewable
size in show-all mode.
2019-09-04 20:56:24 +03:00
Ell
4eef2297b6 app: show full image contents in GimpNavigationEditor
In GimpNavigation{Editor,View}, show the full image contents when
the corresponding display is in "show all" mode.  Additionally,
when the display's "show canvas boundary" is active, show the
canvas boundary in the navigation view as well.
2019-09-04 20:56:23 +03:00
Ell
61535e0756 app: handle GimpImageViewable in GimpViewRendererImage
Allow using a GimpImageViewable as the source for a
GimpViewRenderer, by allowing GimpViewRendererImage to handle this
type of viewables.
2019-09-04 20:56:23 +03:00
Ell
b8377fd341 app: add GimpImageViewable class
Add a new GimpImageViewable class, which acts as a proxy viewable
for an image.  Unlike the image itself, whose preview is always
restricted to the size of the canvas, a GimpImageViewable provides
a show-all property, which controls whether the preview includes
the full image contents.  We're going to use GimpImageViewable as
the source viewable for GimpNavigationView.
2019-09-04 20:56:23 +03:00
Ell
4d2b713a08 app: defer GimpViewable::size-changed signal emission while frozen
In GimpViewable, defer emission of the size-changed signal while
the viewable's preview is frozen, and only emit the signal once
thawed.
2019-09-04 20:56:23 +03:00
Ell
214cda5403 app, menus: add "show canvas boundary" display option
Add a "show canvas boundary" display option, and a corresponding
"View" menu item and default-apperance preferences option.  When
enabled (the default), the canvas boundary is shown as an orange/
black dashed line in "show all" mode.
2019-09-04 20:56:23 +03:00
Ell
f0b7d0a2e2 app: improve display scroll/zoom-related behavior in "show all" mode
In "show all" mode, the image is thought to be "infinite"; this
commit improves the overall scrolling/zooming behavior in this mode
according to this assumption.  In cases where a specific image size
is needed (e.g., for the scrollbar bounds, fit-image-in-window,
etc.), the image's full bounding box is used; however, in cases
where a center point is needed (e.g., for the zoomed-out scrollbar
bounds, center-image-in-window), the canvas center, rather than the
bounding-box center, is still used.
2019-09-04 20:56:23 +03:00
Ell
1f76013d1e app: add "clip" parameter to gimp_display_shell_untransform_viewport()
... which specifies whether to clip the viewport to the canvas
(previously, it would always be clipped).  Use the appropriate
value in all callers, depending on the shell's "show all" mode.  In
particular, this commit avoids clipping the image projection's
priority rect to the canvas in "show all" mode.
2019-09-04 20:56:23 +03:00
Ell
162665e42b app, menus: add "show all" mode to GimpDisplayShell; "View -> Show All" toggle
Add a "show all" mode to GimpDisplayShell, controlled through a
corresponding "View -> Show All" menu item.  When enabled, the
entire image content is displayed, instead of cropping the image
to the canvas size.  More generally, the display behaves as if the
canvas were infinite.  The following commits improve the overall
behavior in this mode.

Add a prefernces option to control the default "show all" state.
2019-09-04 20:56:23 +03:00
Ell
5478f34b81 app: in preferences dialog, add "show sample points" toggle
... to the default-appearance options.  It was previously missing.
2019-09-04 20:56:23 +03:00
Ell
cb6b38abab app: in preferences dialog, swap position of default-appearance columns
... to match their menu order.
2019-09-04 20:56:23 +03:00
Ell
ceb8b398ca app: in GimpImage, ignore "show all" when image used as pickable
In GimpImage, make sure the image's pickable interface keeps
behaving as before (i.e., restricted to the canvas size), even when
the image is in "show all" mode.  In contrast, the image's
projection, when used as a pickable, *is* affected by "show all".
2019-09-04 20:56:23 +03:00
Ell
2e30ec353a app: add gimp_image_invalidate_all()
... which invalidates the entire image.  This replaces all calls to
gimp_image_invalidate() with the full canvas size, since the image
content can now be larger than the canvas.
2019-09-04 20:56:23 +03:00
Ell
94cdbacca7 app: add "show all" mode to GimpImage
Add a "show all" mode to GimpImage, which, when active, causes the
image projection's bounding box to be adjusted dynamically to the
combined bounding box of all layers and the canvas.  This mode is
controlled through the new gimp_image_{inc,dec}_show_all()
functions, which should be called by the display; a corresponding
display toggle will be added in the following commits.

Note that from the user's perspective, "show all" is a display
mode, rather than an image mode.  The GimpImage "show all" mode is
therefore merely an implementation detail, and shouldn't have any
effect on displays that don't use "show all" mode, or the PDB.
The ability to use the image with or without taking its "show all"
mode into account will be facilitated by the next commits.
2019-09-04 20:56:23 +03:00
Ell
3587c0a7d2 app: notify GimpProjection::buffer when freeing the projection's buffer
... instead of only when subsequently reallocating it, so that
listeners can respond to the buffer being freed.
2019-09-04 20:56:23 +03:00
Ell
66d7dc76aa app: in GimpProjection, avoid invalidating preview on flush while rendering
In GimpProjection, avoid erroneously invalidating the projectable's
preview when flushing the projection and there's nothing to be
flushed, if the chunk renderer is still running, and hence the
projection is not fully rendered yet.
2019-09-04 20:56:23 +03:00
Ell
e183b8e6ad app: in gimp_gegl_buffer_set_extent(), clear full OOB region
In gimp_gegl_buffer_set_extent(), clear the full now-out-of-bounds
region of the buffer, instead of only full out-of-bounds tiles;
however, we still make sure to clear full tiles, instead of partial
tiles, as much as possible.  This prevents (parts of) the old
content of the buffer from showing when it's enlarged again.  This
is especially relevant for the image projection, once we add
support for a dynamically-expanding canvas in the following
commits, since the projection of a reexpanded buffer can be
temporarily rendered to the display before it's fully
reconstructed, exposing parts of the old content.
2019-09-04 20:56:23 +03:00
Zander Brown
69dc32da80 Update British English translation 2019-08-30 19:19:19 +00:00
Marco Ciampa
d450e27286 Updated Italian translation 2019-08-30 09:32:00 +02:00
Marco Ciampa
e836245f12 Updated Italian translation 2019-08-29 13:09:05 +02:00
Zander Brown
d66a922cd3 Add British English translation 2019-08-27 17:26:47 +00:00
Zander Brown
b6837276b0 Update British English translation 2019-08-27 17:15:32 +00:00