Commit Graph

42831 Commits

Author SHA1 Message Date
8cfdf13af0 Update Japanese translation 2019-01-30 14:28:24 +00:00
b41d60455f libgimp: formats with space are only for layers
gimp_drawable_get_format(): don't add the image's layer profile space
to channel and mask formats, it's only for layers.
2019-01-30 11:26:01 +01:00
08d75d795e Update Spanish translation 2019-01-30 07:48:05 +00:00
08b4b944dc app: remove GimpDrawableFilter's own color profile conversion hack
it's wrong and harmful after space invasion.
2019-01-28 20:13:12 +01:00
78dd964000 Update Japanese translation 2019-01-28 17:26:44 +00:00
f7c94a8a8c app: apply constraining to opacity scales as well.
In paint options as well in layer list.
I also updated an opacity spin scale in GimpBrushSelect core widget, but
this one doesn't look like it is used anywhere anymore.
2019-01-28 17:43:43 +01:00
3c7fc5527f Updated Danish translation of gimp-plug-ins 2019-01-28 13:12:15 +01:00
abecf6c845 Update Japanese translation 2019-01-27 15:24:34 +00:00
07e3c1c15b Issue #2863 - Improve error reporting for scripts
gimp_plug_in_handle_proc_install(): print the procedure name when
bailing out of a wrong proc install call. For an obsolete full-path
menu label, also print the label. Original patch by Liam Quin.
2019-01-27 13:24:06 +01:00
8f0ed2422f Update Hungarian translation
(cherry picked from commit 316c47da6f)
2019-01-26 21:38:16 +00:00
Ell
b295a33aaf Issue #1119 - Unable to give a layer group as a parameter to a python script
Pickle gimp.GroupLayer the same way we pickle gimp.Layer, so that
layer-group parameters can be properly saved.

All credit goes to Ofnuts :)
2019-01-26 16:02:21 -05:00
a776232e14 Update Japanese translation 2019-01-26 16:16:45 +00:00
7a7ecda4f1 plug-ins: optionally define several float.h macros for MinGW64.
This plug-in failed to cross-build because these macros were not defined
in the `float.h` of my MinGW64 environment (and they are used in some
ilmbase headers). Just define them ourselves if they are absent. I do
this only on MinGW environment because these should really be defined on
Linux (and other UNIX-like, I guess?) and if they are not, we may have a
bigger issue.
2019-01-26 16:42:15 +01:00
586107ccbb Update Polish translation 2019-01-26 11:25:24 +01:00
fc657184a0 Undo some (unnecessary) changes. 2019-01-25 19:08:28 +00:00
fc8303dd0a (source modifs) Fix: Rename macros as it conflicts with Mingw headers.
* DATADIR -> GIMPDATADIR
* SYSCONFDIR -> GIMPSYSCONFDIR
* DATADIR -> SYSDATADIR (tools/)
2019-01-25 19:08:28 +00:00
bff3903f37 app: new gimp_spin_scale_set_constrain_drag() and use it on paint...
... tools' brush options.
After discussions, it turned out that many people disliked that the spin
scale for brush size (and some other options) get you fractional values.
How often do you actually need to get a 4.32 pixel-size brush? And even
how meaningful is it? On the other hand, you usually want a 4 or a 5
pixel size brush and it's nearly impossible to get (exactly) by dragging
the scale widget.
It is so annoying that some even resort to edit the value with keyboard!
So I am adding an optional "constrain" feature to GimpSpinScale. It will
still be possible to get fractional values when constraining is on, for
instance with keyboard edit (the arrow incrementation also will keep any
fractional part). So the interaction for such scales is simply reversed
so that you get integers easily, and fractional parts with a bit more
effort.

It is not turned on by default (some feature actually need precision and
we don't want to break the sliders for these) and for the time being, I
only applied it to all the brush settings in paint tools. Now that it
exist, we may want to apply this to more scales in various parts of
GIMP.
2019-01-25 18:21:05 +01:00
8e0135362e libgimpbase: display thread id of the calling thread as hexadecimal...
... on macOS.
The debugger running on macOS is usually lldb and (from the reports we
get) it looks like lldb displays the tid as hexadecimal on macOS
(whereas lldb displays decimal tid on Linux! I know, it's confusing, yet
consistent with crash report experience!). So let's just do the same,
making it easy to quickly copy-search in order to look up the crashing
thread (without having to convert from decimal to hexa).
This is a bit of an approximation as I imagine we could have gdb on
macOS or whatever edge case. Let's say it's good for the common case and
still not an error otherwise (just a base conversion away).
2019-01-25 12:19:44 +01:00
Ell
9851bc8962 plug-ins: avoid running pygimp plug-ins derived from gimpplugin.plugin at each startup
When initializing a pygimp plug-in derived from gimpplugin.plugin,
only pass the plug-in's init() and quit() functions to gimp.main()
if the plug-in actually implements them, instead of passing the
default NOP versions.  This avoids plug-ins that don't implement
init() from being registered as having an init function, causing
them to be run at each startup.
2019-01-25 04:34:22 -05:00
43fb9242ca Typo 2019-01-24 22:11:31 +00:00
47d08b0e0e Update Swedish translation
(cherry picked from commit 7a0a3f47c7)
2019-01-24 21:48:57 +00:00
f508e24f0c Issue #2848: some sentences have no translation. 2019-01-24 16:14:46 +01:00
Ell
2cd7938f02 app: in gimp:gradient, improve adaptive supersampling
In gimp:gradient, when using adaptive supersampling, render the
gradient tile-by-tile, using an iterator, instead of row-by-row.
This significantly improves performance, while also avoiding the
assumption that gimp_adaptive_supersample_area() works row-by-row.

Additionally, when not using supersampling, use a single GRand
instance, since the separation to distinct seed and per-tile
instances, which was a threading optimization (commit
7f39e41254), is no longer needed.
2019-01-24 04:15:22 -05:00
Ell
33d5eb2090 libgimpcolor: in gimp_adaptive_supersample_area(), use scratch allocator
In gimp_adaptive_supersample_area(), use the scratch allocator for
temporary buffers, instead of the regular allocator.
2019-01-24 04:15:21 -05:00
c3061c13d4 desktop: add rewrite of the Spyrogimp in appdata <release> tag.
It is well worth listing there!
2019-01-24 01:35:11 +01:00
e91028df2f plug-ins: clean the new Spyrogimp, rename it and remove old version...
... from menus.
The script-fu version is still available through pdb (for scripts) and
even in the action search. But in menus, only the new Python version
will be shown. Also update the description and name of the old version
to make clear it is deprecated in favor of the new plug-in.
Finally rename the new version to simply "plug-in-spyrogimp" (dropping
the "-plus" part as we should consider it as a replacement rather than
as another plug-in, which the "plus" would imply). Anyway the old one
was called "script-fu-spyrogimp", so there is no name clash.

While at it, do some trailing whitespace cleaning in the new plug-in.

(cherry picked from commit 8729f9a662)
2019-01-24 01:15:41 +01:00
a702c6a327 plug-ins: Spyrogimp plugin rewrite.
Comment by reviewer (Jehan):

This was submitted through gimp-developer mailing list, by the same
author as the original Spyrogimp in script-fu, but this time in Python.

It does more than the original plug-in, with some automatic preview (by
drawing directly on a temporary layer, not as a GEGL preview), and using
the current tool options (current brush, etc.). The new API is similar
yet different. The much evolved possibilities makes that I don't think
it is worth trying to map 1-1 the new API to the old one, so I just let
the old plug-in next to the new one, with a different name.

Note finally that the author also contributed a new Spyrograph operation
to GEGL, yet with the comment: "The GEGL spyrograph operation is very
basic, and untested from gimp. I intend to keep developing it, since I
thought that on-canvas interaction would be very user-friendly. However,
I am not sure I will be able to get it work in a way that makes the
on-canvas interaction interactive enough.

Even if I do, it will not do what the Python plugin can do. It will be
much more basic."

So let's just integrate this evolved version of Spyrogimp for now. :-)
See: https://mail.gnome.org/archives/gimp-developer-list/2018-September/msg00008.html

(cherry picked from commit 529583430d)
2019-01-24 01:15:40 +01:00
c0fed5afd6 desktop: check that no remaining TODOs are in appdata file.
Before each release, we prepare now a <release> tag. Unfortunately some
details are not always well known for sure in advance, in particular the
date of release (plans are made to be broken!), and also the release
news URL (since the date is in the URL). So I usually leave them as TODO
and until now, I never forgot to update them just before release. But
there is always the risk of forgetting.
Now the test for the appdata files will also look for remaining "TODO"
in the file if and only if the micro version is even (which means it's a
release). So we won't ever forget to update the file as long as we run
`make check` on the last commit (which we always do obviously).
2019-01-23 23:48:02 +01:00
f83271a39b desktop: reenable validity tests for appdata file.
It got disabled in commit 0492157dd2 because of a bug in appstream-util,
which has been fixed for monthes now. Let's just reenable it and assume
anyone who wants to run a `make check` on GIMP uses a recent
distribution with up-to-date system tools.
2019-01-23 23:03:36 +01:00
cfe1941ac7 desktop: add <url> tags to <release>.
Cf. recent update of the appstream spec.
See also: https://github.com/ximion/appstream/pull/160
2019-01-23 22:39:48 +01:00
Ell
4fefa44574 devel-docs: in performance-logs.md, fix markers-page section number 2019-01-23 16:36:04 -05:00
Ell
dafb63fd66 tools: in performance-log-viewer.py, add markers view
Add a "markers" page to the performance-log viewer, which lists
the event markers contained in the log, and allows navigating
between them.

Update docs accordingly.
2019-01-23 16:33:25 -05:00
Ell
5a6548a4b6 tools: in performance-log-viewer.py, some cleanup 2019-01-23 16:33:24 -05:00
Ell
17270bb3aa devel-docs: fix performance-log profile-view function-column description 2019-01-23 16:33:24 -05:00
3274d86e79 Update Japanese translation 2019-01-23 17:04:45 +00:00
9c13058d54 app: allow more motion events with line art bucket fill.
When a fill zone was a bit too segmented, you'd want to just stroke
across it. But it was leaving some pieces uncolored, even though the
pointer dragged through it! The exact motion mode allows more events.

Note: I don't set it in the similar color filling (where it could have
been useful too) mostly because it is harder to remove events then (even
if a point was already filled, it could still serve as a seed for more
filling if threshold > 0), thus implied too much processing. Anyway in
all my tests, it was more a problem for line art filling anyway.
2019-01-23 16:59:45 +01:00
66bde0875b Update Swedish translation
(cherry picked from commit 0ca82d41f3)
2019-01-22 21:48:53 +00:00
6013a3b144 Update Swedish translation
(cherry picked from commit 9ad93d170b)
2019-01-22 21:42:50 +00:00
2163113cdc Updated Danish translation of gimp-script-fu 2019-01-22 16:26:33 +01:00
51d6da5da8 Updated Danish translation of gimp-plug-ins 2019-01-22 16:26:30 +01:00
cf94f611c9 Updated Danish translation of gimp-libgimp 2019-01-22 16:26:28 +01:00
f3ed7d4b43 Update Japanese translation 2019-01-22 12:48:02 +00:00
Ell
a472696012 app: fix rectangle-select tool rounded-corners option
In GimpToolRectangle, fix the type of the cornder_radius field, so
that non-integer radii are properly displayed.

In GimpRectangleSelectOptions and GimpToolRectangle, increase the
maximal corner radius.
2019-01-21 11:39:25 -05:00
3dd66e14b1 Updated Danish translation 2019-01-21 14:06:50 +01:00
34cad3a06e Issue #1942 - Smudge Tool with Sample Merged Option
Add a Sample Merged option to smudge, a lot like for heal, just needed
tweaking in more places.
2019-01-20 17:48:04 +01:00
Ell
4db566f0e1 app: fix indentation in gimpmaskundo.h 2019-01-20 10:33:53 -05:00
Ell
7cd768f3d8 app: align mask-undo buffer to tile grid
In GimpMaskUndo, align the copied region to the source buffer's
tile grid, so that all copied tiles are COWed.
2019-01-20 10:06:55 -05:00
1d984542e9 Issue #2828: Scrolling up with a mouse within a drop-down list.
We were doing it all the wrong way, fixing one combo box object at a
time. So this commit basically reverses commits 68a33ab5bd, 6dfca83c2a
and a9a979b2d0 and instead runs the same code in the class code. This
way, all objects based on these base classes will have the fix from
scratch.
These improved various other drop-down lists (I found some of them, and
probably not all) as I fixed all GIMP custom widgets based on
GtkComboBox.

Note that it has to be run after filling the list apparently (I had the
problem especially with GimpIntComboBox if running in the _init() code,
then the list widget showed wrong).
2019-01-20 13:08:36 +01:00
68a33ab5bd Issue #2828: Scrolling up with a mouse within a drop-down list.
Just another instance of the GtkCombo issue, same as #2642.
2019-01-20 11:51:21 +01:00
e269a837cd Issue #266 - Healing Tool - Sample Merged option does not work
gimp_heal_motion(): when sample merged is active, simply initialize
the paint buffer from the projection instead of the drawable.
2019-01-19 18:29:04 +01:00