Commit Graph

42818 Commits

Author SHA1 Message Date
Jehan 3b59e6f61e app: allow picking layer in paint tools on alt-click.
When working with a lot of layers, it is common to have to switch easily
between layers. And having to go back to the layer list is annoying and
also sometimes not practical at all when you can't find easily the right
layer. This is a first step in an experiment for such a feature, worked
together with Aryeom as advisor (and originator of the feature idea).
For now I apply this only to paint tools, though we are considering
having it as a generic modifier too, working whatever the tool. Yet we
wouldn't be able to use alt-left click (as it is used already in some
tools).
How it works is simply that in any paint tool, alt-click allows to
switch to the topmost layer having a visible pixel at the clicked
position.
2019-01-07 23:08:48 +01:00
Michael Natterer 479fd5b24b libgimpbase: more metadata fixes for tags that can appear multiple times
gimp_metadata_add() which is used to set blobs or EXIF, XMP and IPTC
on a GimpMetadata also needs the logic to set "multiple" tags in one
go, or it will lose all but the first one.
2019-01-07 21:38:12 +01:00
Michael Natterer 62de94c7fd Issue #763 - GTK3 GIT Set Keyboard Shortcut Broken
Simply remove our own button-press handler and let GTK+ do its job,
apparently this works just as intended in GTK+ 3.x now.
2019-01-07 11:46:07 +01:00
Ell 4b4fffbd0e app: in bucket fill tool, don't calculate line art of layer groups
... since they can't be used with the fill tool.
2019-01-07 04:27:24 -05:00
Michael Natterer 19320235f1 Issue #1004 - file-pdf-load crashes in lcms when opening PDF with...
...color profile

The issue is fixed in poppler 0.50, but since this is git master, we
now depend on poppler >= 0.69 and poppler-data >= 0.4.9
2019-01-07 03:34:41 +01:00
Michael Natterer ee6b629fa3 Issue #1358 - Increase default size of "extended input device dialog"...
...for a less cramped look

With a minimum width of 300 instead of 200 pixels, much less device
names are cut off and need horizontal scrolling.
2019-01-07 00:42:58 +01:00
Ell 823d4a0d24 app: in bucket-fill tool, avoid calculating line art when not in line-art mode
In the bucket-fill tool, don't pre-calculate the line art when not
using a line-art fill area.  Also, misc. cleanup.
2019-01-06 16:30:41 -05:00
Piotr Drąg 879ad52477 Update Polish translation 2019-01-06 19:21:49 +01:00
Michael Natterer d708ac0b21 Issue #1437 - 2.10 Image Metadata "keywords" corrupt
We were not taking into account tags that can appear multiple times,
such as "keyword", they are handled by gexiv2 with the
get_tag_multiple() and set_tag_multiple() functions.

gimp_metadata_deserialize_text(): when deserializing our XML format,
check if a tag is already set on the metadata as "multiple" and if yes
retrieve it, append the new value and set it again.

gimp_image_metadata_save_finish(): take care of "multiple" values when
copying tags to new metadata created for saving.

This should preserve all values across an "import, edit, export".

Thing will still break when using the metadata editor, it doesn't
handle multiple values at all, but that code is very hard to
understand.
2019-01-06 17:52:19 +01:00
Ell 889e2e26ee app: remove gimp-scratch; replace with gegl-scratch
The scratch allocator has been moved to GEGL (commit
gegl@b99032d799dda3436ffa8c1cc28f8b0d34fb965d).  Remove gimp-
scratch, and replace all its uses with gegl-scratch.
2019-01-06 07:37:19 -05:00
Michael Natterer 5fffadba54 Issue #1793 - Move Guillotine tool to a different position in menus...
...(and rename it)

Move it into the "Crop" group of the image menu and call it "Slice
Using Guides".
2019-01-05 14:56:24 +01:00
Michael Natterer 99764000be Issue #2260 - "Selection to Path Advanced Settings" dialog not scrollable
Put the entire dialog content into a scrolled window.
2019-01-05 14:16:55 +01:00
Michael Natterer 08a31a01f8 plug-ins: set a minimum height on the unit editor's scrolled window 2019-01-05 14:15:01 +01:00
Michael Natterer 55219ffaf1 Issue #2751 - Some Translated sentences appear as Untranslated
Pass the translation context to gimp_action_group_add_*_actions() to
make action translations work.
2019-01-05 02:57:23 +01:00
Ryuta Fujii 7435be68cc Update Japanese translation
(cherry picked from commit 73597b4efd)
2019-01-04 21:32:25 +00:00
Ell d39ac2a3f0 app: small fix to last commit 2019-01-04 15:32:16 -05:00
Ell 471efee769 app: in GimpHistogramEditor, don't block when creating bg histogram
In GimpHistogramEditor, when the drawable preview is frozen, don't
duplicate the main histogram as the bg histogram if calculation is
still ongoing, since this will block until histogram calculation is
complete.  In particular, this creates a noticeable stall when
beginning a paint stroke while the histogram is being calculated.

Instead, defer the creation of the bg histogram to the completion
of the calculation of the main histogram.
2019-01-04 15:18:18 -05:00
Ell 626208b17c app: write floating-point vars using C locale in performance logs
When writing floating-point instrumentation variables in
performance logs, always use the C locale, rather than the current
locale.
2019-01-04 13:04:18 -05:00
Michael Natterer a0263f40d0 Issue #2446 - DPI information is not stored in clipboard
Set the "x-dpi" and "y-dpi" options on the GdkPixbuf set on the
clipboard. There is not much more we can do, getting that value across
the clipboard is out of our control, but at least we set the vlaues
now.
2019-01-04 18:11:12 +01:00
Michael Natterer b505f3a5c0 libgimp: make sure plug-ins follow the core's theme
Add a GFileMonitor on "theme.css" and reload the theme when it
changes, also update "gtk-application-prefer-dark-theme" in the same
callback.
2019-01-04 16:39:39 +01:00
Michael Natterer ce55cfa7b2 pdb: remove gimp_get_theme_dir() and gimp_get_icon_theme_dir() 2019-01-04 16:00:25 +01:00
Michael Natterer 53aa2bb211 app: put the * { -gtk-icon-style: regular|symbolic; } into theme.css
instead of manually appending it after the file is generated, this way
it automatically applies to plug-ins too.
2019-01-04 15:25:40 +01:00
Michael Natterer 39406b83d3 Issue #2136 - On-image UI for adjusting Linear Motion Blur
Add on-canvas GUI (simple lines) for circular, linear and zoom motion
blur. The restrictions in the interaction show pretty well that there
is room for improvement here, the line is just a bit too generic, but
it's better than nothing.
2019-01-04 14:38:49 +01:00
Ell 5561da87e6 app: in GimpHistogramEditor, cancel ongoing async upon update
In gimp_histogram_editor_update(), cancel any ongoing histogram-
calculation async before restarting the idle source.  The async
will have been canceled anyway when recalculating the histogram
once the idle source is run, but we can cancel it as soon as we
know the histogram is outdated.
2019-01-04 08:16:52 -05:00
Ell d56d663eaa app: In GimpHistogram, align copied buffer region to tile rect
In gimp_histogram_calculate_async(), align the copied region of the
drawable and mask buffers to the tile grid, so that all copied
tiles are COWed.
2019-01-04 08:16:51 -05:00
Michael Natterer 0a1ecdf4ee Issue #2540 - block width / height slider of the pixelize filter don't...
...have the same scaling

gimp_prop_widget_new_from_pspec(): when restricting the scale to the
actual op area for pixel-coordinate and pixel-distance properties,
only use the max value in the axis direction for pixel-coordinate; for
pixel-distance make sure we use the same value on both axes, simply
use MAX (area.width, area.height).
2019-01-03 22:19:48 +01:00
Michael Natterer fc4add7c2b Issue #1538 - Crash when adding file to already opened image and...
...closing this image while the file is being loaded

Ref the image around all calls to file_open_layers() and
gimp_image_add_layers() so it stays around even if the user closes the
display in the meantime.
2019-01-03 16:46:00 +01:00
Michael Natterer 24233bc4ec tools: fix perl warning about unescaped left brace in gimp-mkenums
Simply use "\{" instead of "{" for matching a literal "{".

(cherry picked from commit 4a294f6d6a)
2019-01-03 15:22:43 +01:00
Michael Natterer 331b13277b AUTHORS: regenerated 2019-01-03 15:05:11 +01:00
Michael Natterer b9265e7cde Issue #2685 - Crash when distributing layers horizontally
Fix xcf-load.c to correct out-of-range item offsets (simply set them
to 0), so XCF files that are broken this way can still be recovered.

This doesn't fix the original bug, just recovering the crash images.
2019-01-03 15:02:55 +01:00
gaaned92 9e82ace409 Issue #2716 - Windows: Rawtherapee plugin cannot be installed
On Windows, prevent RawTherapee from opening a console window
2019-01-03 14:10:27 +01:00
Jehan be0d41e1ad authors.xml: my name was in duplicate.
Leaving the one without the surname. My surname is not a secret at all,
but I really don't consider it necessary anyway.
Well if some day, another dev came in with the same first name, it will
still be time to update this file. :-)
2019-01-03 00:19:40 +01:00
Jehan a89e503054 Issue #2611: Cannot open certain .pdf files in GIMP.
I am unsure of the problem, but it is fixed by using
poppler_document_new_from_gfile() instead of giving the contents of a
GMappedFile to poppler_document_new_from_data().
Using GFile is anyway usually prefered so I don't dig up more and just
make this change.
2019-01-02 22:54:21 +01:00
Jehan ff2d22d915 plug-ins: a lot of coding style cleanup in file-dds.
Still a lot more to do but pushing WIP to not have it wasted if more
commits come in from others.
Also got rid of some global variables.
2019-01-02 21:41:19 +01:00
Michael Natterer 74c9d835e8 Issue #2617 - Export to C image artifacts
As correctly spotted by Royce Pipkins, the buffer for the drawable's
pixel lines was too small.

Also fix the plug-in to hardcode "R'G'B'[A] u8" so it won't misbehave
on high bit-depth images, and make it work on all sorts of drawables,
not only "RGB*" (it will still always export RGB images).
2019-01-02 21:28:24 +01:00
Jehan e20930e1ff po-python: add the new file-dds plug-in to POTFILES.skip.
Thanks to Piotr Drąg for noting it.
2019-01-02 20:46:44 +01:00
Jehan d1de204dbc plug-ins: "Export as DDS" is translatable.
Thanks to Piotr Drąg for raising my overlooking this.
2019-01-02 20:40:50 +01:00
Michael Natterer 11ed7ee68b po-plug-ins, po-script-fu: update for the DDS plug-in 2019-01-02 20:15:06 +01:00
Jehan 948608e658 plug-ins: get rid of "Show this dialog" checkbox in file-dds.
None of our load plug-ins have such a checkbox, so this is not
consistent. Moreover one you uncheck it, you just can't get back the
dialog until next GIMP restart. That's very bad usability.
2019-01-02 19:34:40 +01:00
Jehan 7e68aa37c1 plug-ins: s/Save as DDS/Export as DDS/
Let's make the GUI title consistent with our naming.
2019-01-02 19:14:30 +01:00
Jehan 8f49fad3da plug-ins: fix a few more warnings.
There are still a bunch of warnings, especially regarding usage of
GtkTable, GtkMisc and some unused functions.
2019-01-02 18:33:46 +01:00
Jehan 67a80c8667 plug-ins: make the file-dds plug-in load correctly.
This commit fixes the following error:

> attempted to install a procedure with a full menu path as menu label,
> this is not supported any longer.

Instead, if we want new items in menu, we should use
gimp_plugin_menu_register(). I add the calls, yet comment them out,
since I don't think we want these various conversion calls into the
provided filters. The proper way for data conversion should be through
babl/GEGL.
2019-01-02 18:33:46 +01:00
Jehan df8a20956b plug-ins: make file-dds compile.
This is still very broken and it doesn't load well. But at least it
compiles!
All build errors (and a few warnings though not all) fixed.
2019-01-02 18:33:46 +01:00
Alexandre Prokoudine 2f3504e06a file-dds: mark some user-vsible messages for translation, expose them to PO files
Unfortunately, no items of comboboxes are currently translatble
due to the way the code is written.
2019-01-02 18:33:46 +01:00
Massimo Valentini d25348ca24 file-dds: support for DXT2/DXT4, initial build and GEGL-related fixes 2019-01-02 18:33:46 +01:00
Alexandre Prokoudine 79bc2dc1ef file-dds: add original source code of the DDS plug-in
This is the code from the 'gimp-2.9' branch of the plug-in,
integrated into GIMP's build system.
2019-01-02 18:33:46 +01:00
Michael Natterer 291e84281a app: fix canvas jumping because of the status bar label being too wide
Set the label to ELLIPSIZE_END and add some packing options, and
switch from using pango attributes to simply prepending the right
number of spaces to leave enough room for the icon. The attributes
were somehow breaking ellipsation.
2019-01-02 17:49:53 +01:00
Michael Natterer 292903b78d app: wrap some overly long lines in gimpbucketfilltool.c
and some other pedantic style fixes.
2019-01-02 16:34:20 +01:00
Michael Natterer b2cb334b47 app, libgimp: forgot to add /*< pdb-skip >*/ to enum GimpBucketFillMode
so it was still exported to libgimp.
2019-01-02 16:18:28 +01:00
Michael Natterer 07e46abb72 app, libgimp*: move enum GimpBucketFillMode to the core
The libgimp API using it is gone.
2019-01-02 16:07:20 +01:00