Commit Graph

46686 Commits

Author SHA1 Message Date
de739bde23 app: better code to handle GimpDeviceInfo axes.
Axis names can now be returned with gimp_device_info_get_axis_name() and
I added a dedicated function gimp_device_info_ignore_axis() to handle
the case of an axis to ignore.
I also improved the code with less redundancy to handle the axes data
(both the use and name arrays will always exist and be created and will
be n_axes size, hence avoiding bad out-of-bound reads). This includes
some code refactorization avoiding near code duplication to make sure we
always have the same logics, by creating the gimp_device_info_updated()
static function.
2020-12-08 20:28:25 +01:00
a60d5fc2e0 gitlab: comment out bug reporting howto text.
Use the same syntax as was already in the bug template because some
people are still leaving out the howto text in the middle of their own
bug/feature description.
2020-12-08 15:43:41 +01:00
822d875589 Update Swedish translation 2020-12-07 20:08:09 +00:00
12fcf4b930 Update Ukrainian translation 2020-12-06 12:49:21 +00:00
502dcf7d19 Update Ukrainian translation 2020-12-06 12:44:55 +00:00
685d938c1a Update Polish translation 2020-12-06 13:03:05 +01:00
d6913fd622 Update POTFILES.in 2020-12-06 12:54:21 +01:00
fc4fedeb68 gitlab-ci: disable building file-mng for gimp-win32 explicitly.
We were not building it by not installing libmng until now. But graphviz
must have pulled libmng. So disable explicitly the option in GIMP
configure step.
2020-12-05 21:43:27 +01:00
7df9bf1396 gitlab-ci: graphviz (for the dot tool) is now a dependency for GEGL. 2020-12-05 20:58:15 +01:00
bfd26069f3 Update German translation 2020-12-05 19:09:02 +00:00
ab269ad142 Update German translation 2020-12-05 18:53:16 +00:00
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
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
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
69b03cf363 Paint Select tool: correctly handle drawable offsets 2020-12-04 11:57:21 +01:00
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
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
9c85faddaa #5977 prompt to apply layer offset only if there actually is a (non-zero) offset 2020-12-02 20:48:48 +00:00
842889b25c Update Ukrainian translation 2020-12-02 07:35:57 +00:00
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
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
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
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
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
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
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
a048c8f2a4 plug-ins: fix crash in metadata-editor when licensor phone data was NULL. 2020-12-01 13:24:06 -05:00
3ce15f534b plug-ins: fix incorrect formatting when switching between m and ft for gps altitude. 2020-12-01 13:24:06 -05:00
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
8db1555838 plug-ins: add functions for formatting gps metadata. 2020-12-01 13:24:06 -05:00
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
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
abdea8a4cf gitlab-ci: expire distribution stage artifacts after 2 days 2020-11-30 23:31:30 +01:00
b74471e446 NEWS: update. 2020-11-30 00:41:27 +01:00
c85e4c8db4 Issue #5813: Hidden rulers in GIMP 2.99 still take the same place. 2020-11-29 12:46:29 +01:00
f96e7a8f68 Update Basque translation 2020-11-29 08:37:22 +00:00
980f0a1efc Update Basque translation 2020-11-29 08:35:58 +00:00
b94121f53f app/actions: fix Apply Layer Mask 2020-11-26 17:54:41 +01:00
6f09e099d6 Issue #5992: Mask to Selection isn't selecting the right place. 2020-11-26 16:18:04 +01:00
bb03641794 Update Catalan translation 2020-11-26 14:14:17 +01:00
10bc6a11d3 Update Catalan translation 2020-11-26 10:53:07 +01:00
69d187f320 Update Ukrainian translation 2020-11-26 07:55:18 +00:00
0e8acc5dd6 Issue #5985: GIMP crashed when deleting paths. 2020-11-26 02:16:59 +01:00
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
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
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
00573560d4 libgimp: add gimp_procedure_dialog_get_scale_entry to gimpui.def 2020-11-25 23:57:21 +01:00
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
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
f678aeba77 Update Catalan translation 2020-11-25 09:15:51 +01:00