Commit Graph

46426 Commits

Author SHA1 Message Date
Tim Sabsch ab269ad142 Update German translation 2020-12-05 18:53:16 +00:00
Jehan cd6e777dcd Issue #6045: File > Debug > Show Image Graph == GIMP_Crash.
The issue has also been fixed on GEGL side (see commit 5ac40e3c3 in
GEGL), but since the fact that "gegl:introspect" relies on a runtime
tool (which is not the best thing), let's make an additional check
within GIMP to make sure we have a proper buffer as a result to
"gegl:introspect". Otherwise we might crash when trying to use this
NULL buffer.
2020-12-05 18:55:59 +01:00
Jehan 1ed87e2d17 app: improve input device axes display "Input Devices" dialog.
- First only show the axes returned by GDK (which means the axes
  returned by the driver if I understand correctly), and even within
  these, ignore the ones set as "ignore" because they are likely bogus
  axes (Carlos said drivers sometimes add a bunch of axis; I am guessing
  this is because many are generic drivers for various models of tablets
  so instead of have variable length of axes, they just set some to be
  ignored).
- Also use the names returned by GDK instead of our fixed set of names.
  The main advantage is that these are more accurate. For instance
  rather than showing just "X" for the firxt axis, the GDK names would
  be "Abs X" for a tablet and "Rel X" for a mouse. The drawbacks is that
  it doesn't look like GDK is actually translating these, and since we
  don't have the strings in our code, we don't either. This will have to
  be figured out.
  Note that we still need to use the fixed set of names
  (axis_use_strings array) when a device is disconnected.
- If some device didn't have any axes at all, don't show an empty list.
  Don't show the curve widget either.
- In the Axes list, select by default the first axis with curve (which
  would be only pressure so far if a device has this axis), because this
  is one of the main feature still doable with this dialog, so it's a
  bit of a time-waste if we don't show this directly. In no axes has a
  curve, just show the first axis in the list.
2020-12-05 01:03:59 +01:00
Thomas Manni 6a169e289f Paint Select tool: add a temporary option to show painted scribbles
For debugging purpose, will be removed on the final tool.
2020-12-04 18:56:28 +01:00
Thomas Manni 69b03cf363 Paint Select tool: correctly handle drawable offsets 2020-12-04 11:57:21 +01:00
Thomas Manni ff23b2c809 Paint Select tool: regroup image mask updates in one place
Also remove the temporary resulting buffer from the tool structure.
2020-12-04 10:09:35 +01:00
Jehan 7ec05c3a50 app: do not show virtual devices and XTEST device in the Input Devices…
… editor.
As discussed with Carlos Garnacho back a few months ago. These devices
are useless from a configuration point of view.
2020-12-03 23:14:49 +01:00
dlatikay 9c85faddaa #5977 prompt to apply layer offset only if there actually is a (non-zero) offset 2020-12-02 20:48:48 +00:00
Yuri Chornoivan 842889b25c Update Ukrainian translation 2020-12-02 07:35:57 +00:00
Jehan 91728164cd libgimpwidgets: allow prop labels on read-only properties.
When creating a label bound to a property, only make the binding
directional if the property is read-write.
This fixes WARNINGs and broken label in the GimpDeviceInfoEditor widget,
such as this one:
> The source object of type GimpDeviceInfo has no writable property called 'vendor-id'
2020-12-02 00:29:09 +01:00
Jehan 965e9ea8b5 plug-ins: return proper non-success status in file-pdf.
When not creating an image, we were always returning with status
GIMP_PDB_EXECUTION_ERROR even though it might have been GIMP_PDB_CANCEL
(which is not handled as an error, this is user choice, hence no dialog
pops up).
2020-12-02 00:20:36 +01:00
Jacob Boerema 08afb7d03b plug-ins: use logging for some messages that seem to be for debugging only.
By using a logging domain we can filter the messages and can choose to
only see them when needed. They seem to be leftovers from coding or
debugging but I don't wanna invest too much time into this.
2020-12-01 13:24:07 -05:00
Jacob Boerema 0ffee001bf plug-ins: improve error handling and use GError in metadata-editor/viewer.
metadata-editor and metadata-viewer did return GIMP_PDB_SUCCESS when
loading the dialog ui failed, we changed this to GIMP_PDB_EXECUTION_ERROR
and now use a GError to report it back to GIMP.

In metadata-editor also improve the error handling when loading the calendar
dialog fails.

The error also only showed in the console so change that to show a dialog
or the error console.
2020-12-01 13:24:07 -05:00
Jacob Boerema 3d9a9fbbf3 plug-ins: fix #2836 GPS data is truncated to the degree when edited.
The string parsing for gps longitude/latitude was not taking all
possible values into account and also the seconds part was
not saved with enough detail.

For altitude lets also increase the detail a bit from .1m to
.10m.
2020-12-01 13:24:07 -05:00
Jacob Boerema 0318054cb4 plug-ins: improve formatting of gps data in metadata-editor.
Also add tooltips that explain how to correctly add gps
longitude, latitude and altitude values.
2020-12-01 13:24:07 -05:00
Jacob Boerema c4fa4fcda0 plug-ins: use g_log instead of g_printerr when setting tag fails.
By using g_log with G_LOG_LEVEL_MESSAGE and empty domain
name we make sure the failure to write a tag will be seen by
the user in GIMP's user interface (error console or error
dialog).
2020-12-01 13:24:07 -05:00
Jacob Boerema a048c8f2a4 plug-ins: fix crash in metadata-editor when licensor phone data was NULL. 2020-12-01 13:24:06 -05:00
Jacob Boerema 3ce15f534b plug-ins: fix incorrect formatting when switching between m and ft for gps altitude. 2020-12-01 13:24:06 -05:00
Jacob Boerema 34407a6b7e plug-ins: improve formatting of gps data in metadata-viewer.
Adding metadata-tags to meson.build and Makefile.am for
the metadata-viewer since until now it was only used in
the metadata-editor.

The Exif gps metadata tags for longitude, latitude and
altitude get special handling to show them with more
precision and let the string parts be translated.
2020-12-01 13:24:06 -05:00
Jacob Boerema 8db1555838 plug-ins: add functions for formatting gps metadata. 2020-12-01 13:24:06 -05:00
Jacob Boerema 23fa5c7ef7 plug-ins: improve casing in metadata-tags.
The abbreviations M for meter and FT for foot/feet were written in uppercase.
However the offical abbreviations are lowercase so let's just follow that and
make them lowercase here too.

Above and Below Sea Level were using camel case with every word starting
with an uppercase letter and were used on the label of a combobox option
for gps altitude reference. Using standard casing with only the first word
using a capital seems better in this case.
a capital
2020-12-01 13:24:06 -05:00
Jacob Boerema aa2027cc18 plug-ins: refactor saving longitude/latitude in metadata editor.
Saving of longitude and latitude was duplicating the same code,
except that in latitude it forgot to free some strings.

Let's move this code into it's own function to make it easier to 
improve it.
2020-12-01 13:24:06 -05:00
Michael Schumacher abdea8a4cf gitlab-ci: expire distribution stage artifacts after 2 days 2020-11-30 23:31:30 +01:00
Jehan b74471e446 NEWS: update. 2020-11-30 00:41:27 +01:00
Jehan c85e4c8db4 Issue #5813: Hidden rulers in GIMP 2.99 still take the same place. 2020-11-29 12:46:29 +01:00
Asier Sarasua Garmendia f96e7a8f68 Update Basque translation 2020-11-29 08:37:22 +00:00
Asier Sarasua Garmendia 980f0a1efc Update Basque translation 2020-11-29 08:35:58 +00:00
Thomas Manni b94121f53f app/actions: fix Apply Layer Mask 2020-11-26 17:54:41 +01:00
Jehan 6f09e099d6 Issue #5992: Mask to Selection isn't selecting the right place. 2020-11-26 16:18:04 +01:00
Jordi Mas bb03641794 Update Catalan translation 2020-11-26 14:14:17 +01:00
Jordi Mas 10bc6a11d3 Update Catalan translation 2020-11-26 10:53:07 +01:00
Yuri Chornoivan 69d187f320 Update Ukrainian translation 2020-11-26 07:55:18 +00:00
Jehan 0e8acc5dd6 Issue #5985: GIMP crashed when deleting paths. 2020-11-26 02:16:59 +01:00
Jehan 733986513a Issue #5967: Inconvenient focus in PNG export.
Make sure that the OK button ("Export", etc.) is always the default
action in a GimpProcedureDialog. This allows to quickly validate the
default settings.
2020-11-26 01:57:53 +01:00
Jehan 222c820024 libgimp, plug-ins: make mnemonic unique.
The various generic metadata options did not have mnemonic in the base
language (US English).
Also add or fix metadata in file-png|jpeg|tiff so that every option has
a unique mnemonic.
2020-11-26 01:37:17 +01:00
Jehan b7d55fa066 libgimp, libgimpwidgets: fix gimp_prop_scale_entry_new() for integer…
… properties.
Also a forgotten fix in a call of this function in GimpProcedureDialog.
2020-11-26 00:28:14 +01:00
Michael Schumacher 00573560d4 libgimp: add gimp_procedure_dialog_get_scale_entry to gimpui.def 2020-11-25 23:57:21 +01:00
Jehan 731537befd plug-ins: port file-jpeg export procedure to new API.
This is nearly 600 lines less for basically the same logics! Removed
code is in particular all the GUI code is favor of the new GUI
generation.
I also cleaned a lot of stuff, removing many global variables or ugly
pieces of code. I also removed a lot of redundant code of things which
are now generic, such as handling of "gimp-comment" parasite (this is
now handled by GimpSaveProcedure and GimpImageMetadata) as well as
saving previous run's values (this is also handled generically).

Note that Advanced Options used to be in an expander. For now I chose to
get them immediately visible (still in their own "Advanced Options"
section, but it's now a normal frame, not an expander hidden by default)
since lately we got some input that many "advanced options" in various
dialogs should not be hidden away. So let's try like this for now (even
though it packs quite a lot of options in the same dialog!).

I thoroughly tested, yet that were so many changes that bugs may have
sneaked in. Please anyone, test JPEG export!
2020-11-25 23:02:36 +01:00
Jehan 87062e22ec libgimp: new gimp_procedure_dialog_get_scale_entry() function.
Though a GimpScaleEntry could already be created with
gimp_procedure_dialog_get_widget(), this specific function allows to add
a factor to the property range.
2020-11-25 12:25:59 +01:00
Jordi Mas f678aeba77 Update Catalan translation 2020-11-25 09:15:51 +01:00
Jehan 2ea5dec56e libgimpwidgets: improved gimp_prop_scale_entry_new(), new function…
… gimp_label_spin_set_digits() and deleted gimp_prop_opacity_entry_new()

- The "digits" argument for the number of decimal places in
  gimp_prop_scale_entry_new() is now mostly useless since GimpLabelSpin
  (hence GimpScaleEntry too) got a nice estimation algorithm of sensible
  values.
- Add gimp_label_spin_set_digits() function to manually set the digits
  property when we don't like the estimated value.
- Also add a new "factor" argument to gimp_prop_scale_entry_new(). Its
  role is to allow a GimpScaleEntry showing a factored range, typically
  a [0, 100] range for some types of [0, 1] properties.
- Remove gimp_prop_opacity_entry_new() which was basically a
  special-case of gimp_prop_scale_entry_new() and which can now be
  easily reproduced by simply set factor=100.0.
- Update all usage of gimp_prop_scale_entry_new() in app/ and plug-ins/
  with updated arguments. It is interesting to note that all existing
  usage were either integers (digits=1) or when double, the estimated
  decimal places are the same as the ones which were manually set (hence
  showing the generic estimation is not too bad). So the new function
  gimp_label_spin_set_digits() was not even needed once in current code.
2020-11-25 02:32:22 +01:00
Jehan 8d5008d76f libgimp, libgimpbase, libgimpwidgets: new gimp_range_estimate_settings()
Similar code was used in 2 places basically (GimpLabelSpin and
GimpProcedureDialog) so just make it an utils function. It's good anyway
to have a generic function to estimate suitable increments and decimal
places depending on a range.

As a consequence also gimp_label_spin_new() now takes a gint digits
(instead of guint), with -1 meaning we want digits computed from the
range.
Similarly gimp_prop_scale_entry_new() docs adds the -1 meaning too.
2020-11-25 01:34:36 +01:00
Jehan 9ca18c37cd INSTALL: add information about GEGL options to enable for the…
… experimental tool "Paint Select".
2020-11-24 22:07:26 +01:00
Jehan 78fabc1e47 icons: (meson) install the new icons for the Paint Select tool. 2020-11-24 21:59:45 +01:00
Jehan 31111d2802 app: mark the paint select tool as experimental.
Otherwise it breaks the toolbox organization with a "missing tools in
toolrc file" error while scanning toolrc.
2020-11-24 21:43:11 +01:00
Jehan 9f6fbe8aca app: fix generated tool-enums.c and deactivate Paint Select tool…
… checkbox in Preferences when GEGL operation "gegl:paint-select" is
missing.

Otherwise the tool won't appear and you don't understand why.
2020-11-24 21:26:04 +01:00
Jehan 3fb2ff1b9d libgimp: improvements to GimpProcedureDialog API.
- New gimp_procedure_dialog_fill_box(_list)() functions to create a
  GtkBox in the layout.
- Generating widgets for parameters of type double (and computing
  appropriate "ok defaults" digits for these, depending on the min-max
  range of the property).
2020-11-24 20:55:03 +01:00
Jehan e53ce2fde9 libgimp: output a "saving metadata failed" message when relevant.
Similar to the message present in file-jpeg. The latter will anyway
disappear when we will have finally ported file-jpeg to newer
GimpSaveProcedure API, and it's better to have it outputted here so that
it will work for every export formats.
2020-11-24 20:55:03 +01:00
Thomas Manni 5bbc7899bc menus: remove PaintSelect tool from the menus...
...as long as it stays in the playground.
2020-11-24 20:13:04 +01:00
Yuri Chornoivan 0b27fec6f9 Update Ukrainian translation 2020-11-24 19:07:24 +00:00