Commit Graph

39803 Commits

Author SHA1 Message Date
3568f1cb3b app: reorder a line in gimp_display_shell_constructed()
just for consistency, no logic is changed.
2018-01-16 21:35:36 +01:00
Ell
7f56393138 app: use GEGL for transform-tools preview
Before you get too exceited -- no, this commit doesn't integrate
transform previews into the image graph :)  We still use a
separate canvas-item overlay, just like before, but instead of
using an impromptu implementation to render the preview, we use
gegl:transform.  We properly adjust the matrix passed to the op
according to the display scale, so that we still render only as
much as needed.

This is both notably faster than the current code, and, for
perspective transforms, more accurate.
2018-01-15 14:58:23 -05:00
47804ff77b app: s/preceptual/perceptual/ in a string. 2018-01-15 17:14:26 +01:00
ac99d61111 Updated French translation (main po file) 2018-01-15 15:23:15 +01:00
ec2c0cb58b Update Spanish translation 2018-01-15 08:07:55 +00:00
c5d78cdd3f NEWS: keep up-to-date. 2018-01-14 23:59:51 +01:00
cb78618d75 Bug 783703: no progress bar changes when exporting to psd format 2018-01-14 23:28:12 +01:00
2707236c34 app: always resize SVG splash images to an ideal size.
Whereas we would only scale *down* big pixel images, we should both
scale up or down vector images since such format is made for display at
any size. This way, a vector splash screen is always displayed at ideal
size, whatever your display size.
2018-01-14 23:10:59 +01:00
7f481a6d16 Update Catalan translation 2018-01-14 21:11:51 +01:00
f1e2b7c892 app: improve splash screen sizing.
Current code was using the dimension of the screen as a max size. That
is really too big. 2/3 of the screen size is an acceptable size being
both well visible and not overwhelming.
Also the current code was cropping, not rescaling, the splash image,
which is obviously not an acceptable solution because on a very small
displays, we would end up with ununderstandable piece of a bigger image.

This new code will allow to ship big size default splash image(s), and
display it in an acceptable size on both low and high density displays.
We indeed got a feedback from someone with a 4K display who was saying
the current dev splash screen was tiny on one's display.

Of course, custom splash can still be at any size; but from now on, we
will need for the *default upstream splash image(s)* to be of huge
dimension in order to show up well everywhere (at least Full HD splash,
which is half of a 4K UHD screen).

Animated splash images are still not resized though and will show up at
their default dimension. This means we cannot ship animated splash
screens as a default for the time being (they can still be installed as
custom splash).
2018-01-14 20:53:02 +01:00
c77ec09fb2 Update Polish translation 2018-01-14 19:23:52 +01:00
b23f231a1a Bug 792470 - Some filters e.g. "Levels" are not added to "Repeat last" history
The four remaining "classic" color tools (Brightness-Contrast, Curves,
Levels and Threshold) are in fact just special UIs for otherwise
completely normal filter ops.

Add normal filter actions for them and invoke them like all
other filters, which makes them show up in the filter history
automatically.

The only small hack needed is to special case them in
gimp_gegl_procedure_execute_async() so the right tools are created
instead of the default GimpOperationTool. Also, blacklist the
automatically generated tools actions from action search and the
shortcut editor.
2018-01-14 15:42:29 +01:00
458e313000 Rename gimp.appdata.xml.in to org.gimp.GIMP.appdata.xml.in.in.
I completely forgot to rename the appstream file according to the new
ID. While doing so, I also make it a .in.in file, with initial
processing by the autotools. Indeed I need @GIMP_COMMAND@ to be replaced
by AC_CONFIG_FILES().
Finally I fix a badly closed XML tag (which reminds me I should always
test a commit, even when it's a simple non-C 1-liner change!).
2018-01-14 03:54:17 +01:00
b1d413dbd9 NEWS: RGBE export added and AppStream update. 2018-01-14 02:35:34 +01:00
54dda25cfc desktop: update the appdata to take care of the id change.
From AppStream docs:
«
In previous AppStream releases, the <id/> was used to associate metainfo
files with their .desktop files to merge in data from .desktop files
into the AppStream generator's final output. In modern metainfo files,
the component-ID for desktop-application components can be an arbitrary
string (matching the naming rules applying to all AppStream metadata),
while the <launchable/> tag is used to associate .desktop files with
their metainfo files.
»
2018-01-14 02:35:34 +01:00
d39f7d6fbe Bug 791861 - Update appdata.xml AppStream ID to match rDNS-style...
... used for Flatpak.

Additional comments by Jehan after review:
«
This is not only to sync with flatpak. This format is the recommended
format in AppStream spec, even though many historical application still
use the old format.
If ever we decide to propose a dbus service, this may even become
required.
However just changing this is not enough for a proper ID change. I will
make additional change in further commits.
»
2018-01-14 02:35:34 +01:00
4849d41060 plug-ins: check pointer before freeing.
Thanks to Massimo for notifying about it.
2018-01-14 00:56:40 +01:00
35ecf06f56 app: don't add blacklisted/excluded actions to the action history
gimp_action_history_init(): when deserializing the action history,
check each action against gimp_action_history_excluded_action() so
when we decide to exclude an action, it doesn't come back as history
zombie from disk.
2018-01-13 21:29:48 +01:00
afe0c794e6 libgimpbase: increase GIMP_PROTOCOL_VERSION, the config message has changed 2018-01-13 19:00:05 +01:00
dcd4e46441 plug-ins: implement RGBE exporting through GEGL.
While we are at it, let's just add RGBE exporting. It's just as easy.

Also rename s/file-gegl-load-rgbe/file-load-rgbe/. All formats just use
the "file-FORMAT-(load|save)" naming for their procedure, even when
implemented directly through "gegl:load|save".
2018-01-13 01:27:01 +01:00
8965ef8aae NEWS: keep up-to-date. 2018-01-13 00:54:58 +01:00
3cca5a0a7b plug-ins: use only "#?" for RGBE magic number.
It seems that various software use something different after the "#?",
and even Blender code just ended up only use these 2 characters as magic
number. See also bug 792453.
2018-01-13 00:42:06 +01:00
bebb783c03 Update Swedish translation 2018-01-12 22:12:06 +00:00
9799032e4f Bug 792453: Extend the raw data import plugin to open...
... .hdr files (RGBE images)

Expose in GIMP GEGL RGBE file support
2018-01-12 22:00:11 +01:00
89445edee1 Bug 783614 - On a 4k Screen, the text/graphics are too small to...
... be used effectively.
We have had display pixel density detection for quite some time, but I
guess the step I set to switch to the "Huge" icon size (48px for the
toolbox icons) was too high at 300 PPI. Someone with a screen of about
280PPI reported the icons to be far too small on GIMP 2.9.8.
It seems that 240PPI is already even considered as XDPI already. Let's
just set our new "Huge" step at the 250PPI intermediate.

In any case, it seems GIMP 2.10 will have problems with even denser
displays, but the way GTK+2 handles icon sizes with a GTK_ICON_SIZE_*
enum is quite limited. That is quite a problem considering screens
getting denser in pixels nowadays. Hopefully GTK+ 3 will improve the
situation.
2018-01-12 21:03:55 +01:00
341105366d configure: use the poppler-data required version in pkg-config check.
This makes no functional differences since this package has a pkg-config
file only since 0.4.7, our current requirement. This means that
searching for any poppler-data through pkg-config is the same as
searching for this minimum version.
But at least that makes for better output in case of error. People who
wish to build GIMP will have proper error information of the minimum
requirement for poppler-data.
2018-01-12 19:28:01 +01:00
b7e50ac46a Update French translation 2018-01-12 08:40:09 +00:00
9019c7e0f7 devel-docs: don't forget flatpak as an official GIMP binary!
Please don't forget to notify me too of an upcoming release. I need to
update the manifest (for stable releases at Flathub at least, since we
have not set the dev release process yet) and trigger a new build of our
flatpak.
2018-01-12 02:47:32 +01:00
3f7afd5494 Bug 792439 - Status bar: Rotated angle is too close to zoom arrow. 2018-01-12 01:50:51 +01:00
5db03953c0 Bug 785138: .GIH brushes and reference displacement...
...when them have layers with different sizes

properly center smaller brushes loading gih files
and always NUL terminate brushes name
2018-01-12 00:49:59 +01:00
9df67e2134 devel-docs: improve the statistics script.
- Fix language count.
- Update the commit message parsing for language name.
- Add more files to be counted as "documentation".
2018-01-11 23:48:01 +01:00
5b80852c2a devel-docs: add some statistics on C file changes. 2018-01-11 23:43:34 +01:00
794ca251be devel-docs: add some stats on icons. 2018-01-11 23:43:34 +01:00
19741310db devel-docs: add a release-stats.sh
Trying to manually read commits to acknowledge translators, designers,
developers, etc. is just ridiculous. Let's try to have a script doing
the work for us.
You use it like this:
- GIMP 2.9.8 stats: devel-docs/release-stats.sh GIMP_2_9_6 GIMP_2_9_8
- GIMP 2.10 stats: devel-docs/release-stats.sh GIMP_2_8_0
2018-01-11 23:43:34 +01:00
e3a68f9a3a NEWS: update with metadata improvements regarding privacy issues. 2018-01-11 23:35:24 +01:00
13dcd876e5 libgimp: always forgetting we need to update this def file! 2018-01-11 22:17:32 +01:00
82f6baf2bb plug-ins: file export should follow preferences regarding metadata.
Various plug-ins exporting metadata should now follow preferences, which
would override any default. Of course these preferences can still be
overriden by saved settings (global parasite), previous run settings,
and finally through the GUI when interactive.
2018-01-11 22:17:32 +01:00
3061268e25 libgimp: gimp_image_metadata_save_prepare() uses metadata preferences.
gimp_image_metadata_save_prepare() now back to suggesting metadata
flags, but this time with reasonnable base. It indeed uses the presence
of particular metadata, but also whether the preferences asks for this
metadata to be exported by default or not.
2018-01-11 22:17:32 +01:00
4c4fa84f85 app, libgimp, libgimpbase: new gimp_export_(exif|xmp|iptc)() functions.
These allows plug-ins to know the preferences regarding metadata.
2018-01-11 22:17:32 +01:00
c49b8463bd app: adding metadata handling as "Export Policies" in preferences.
These preferences are currently not used anywhere. This is the next
step.
2018-01-11 22:17:32 +01:00
1a23115024 Bug 784176 - Tags are exchanged between different assets...
...on the list dialogs on the Input text area

gimp_container_editor_constructed(): connect the container
view's "select-item" with G_CONNECT_AFTER because the signal
is G_SIGNAL_RUN_LAST. Some quick greps didn't find anything that
would be affected, except fixing this bug. Found by Massimo.
2018-01-11 21:30:37 +01:00
e27ce76a49 Bug 790293 - Scale tool: Ctrl uses top-left corner of selection...
...instead of center

The scale tool implicitly uses GimpToolTransformGrid's "pivot-x" and
"pivot-y" properties, so they need to be properly initialized and
updated to be at the grid's center.

Also add a tool options toggle "Around center".
2018-01-11 20:05:53 +01:00
7eccbe557e Updated French translation for libgimp 2018-01-11 09:04:42 +01:00
9589d9009c pdb: update README with new path. 2018-01-11 05:24:59 +01:00
5e3d4cf131 libgimp: update gimp_image_metadata_save_prepare() description.
The returned flags should not be called "suggested" flags anymore.
Having metadata available in the work image does not mean we want them
exported absolutely, which can be a security risk, especially for the
metadata which are there from the imported image.
2018-01-11 00:44:46 +01:00
096debb0fd Bug 790552 - do not save metadata by default.
This is a privacy concern. Whereas importing metadata is usually a good
idea, exporting it should be a conscious action. A lot of private data
can be leaked through metadata and many people don't realize it (which
also usually means they don't need it). On the other hand, the people
who realize it are the ones who would explicitly edit the metadata and
check what they want to be exported or not.

This is only a first step. Some people may want to always export the
metadata and for these people, there should be abilities to change the
default.
2018-01-11 00:39:22 +01:00
b118e8242b Bug 784647: Crash when choosing debug option Show Image Graph
The attached patch avoids CRITICALs when executing Debug actions
with no images open.
1) do not run projection benchmark unless there is an image
2) memsize of pluginmanager member was incorrectly computed using
   gimp_object functions for 2 GObjects
2018-01-10 17:06:56 +01:00
21cb905dad Revert "app: use FAST filter when painting xfer surface"
This reverts commit 36258a671a.
This commit was making the rotated canvas rendering quite horrible to
the point that I think it would make the canvas rotation feature barely
usable. See bug 759287, comments 13 to 18.
I think we will need to find other ways to accelerate rendering.
Compromise on quality is possible, but I think that in this case, this
was more than just a compromise. It was more like completely abandonning
quality. We could even see the lines "spiking" while you were rotating!
Like your drawing was alive!
2018-01-10 03:52:54 +01:00
bc5032012e plug-ins: fix some coding-style issues in metadata-editor.
Mostly missing spaces here and there fixed with search and replace
followed by manual verification and retouching.
2018-01-10 03:32:33 +01:00
62ee5d3c7e plug-ins: metadata-editor crashes when strtok() initialized with NULL.
When running strtok() the first time, it needs to be non-NULL so we must
check for the string. This is even more important because NULL actually
has a special meaning in strtok() to indicate further search on the same
string, in a stateful way. So searching with NULL at first call was
crashing the metadata editor plug-in in my case.
I could also imagine it could have reused strings from previous
searches, mixing metadata contents in some edge cases. Anyway that would
be bad as well!

While I was there, I also checked for non-null search string before
strstr() calls, when there was not already such a check before. This
function also requires non-NULL haystack argument.
It feels like this code doesn't do much validity checks, and it's likely
there are more similar issues. I haven't reviewed the whole code, only
this part which was crashing here.
2018-01-10 03:25:24 +01:00