Commit Graph

49148 Commits

Author SHA1 Message Date
Yuri Chornoivan 1388d1af9c Update Ukrainian translation 2022-10-29 05:50:46 +00:00
Martin a9ce2b8539 Update Slovenian translation 2022-10-28 06:30:31 +00:00
Zurab Kargareteli 1f635a50aa Update Georgian translation 2022-10-28 04:13:49 +00:00
Jehan f7b026e3f0 build: add glib-networking to cross-built Windows jobs.
This dep is needed for various network GIO modules. Also various moving files
around from lib/gio/modules/ were broken in the new brought back jobs.
2022-10-27 16:23:56 +00:00
Jehan 6e2177bcd2 gitlab-ci: no contents in libexec/ on Windows.
Whatever is here on other platforms is in bin/ on Windows.
2022-10-27 16:23:56 +00:00
Jehan afbb5494fa gitlab-ci: add --output-dll-list option to dll_link.py calls.
I added this option in commit 38d6783299. It makes the script stateful, able to
remember all previously processed DLL, hence making the whole job much faster
and efficient.
2022-10-27 16:23:56 +00:00
Jehan 0b709a99d5 Revert "gitlab-ci: removing win*-nightly jobs."
This reverts commit c11dc69137.
2022-10-27 16:23:56 +00:00
Jehan b76411ff86 po-plug-ins: add missing plug-ins/file-icns/file-icns-save.c in POTFILES. 2022-10-27 14:36:14 +02:00
Jehan 75dd13981a libgimpconfig: more param spec types to ignore (GeglParamFormat). 2022-10-26 23:29:32 +02:00
Martin 43285bce57 Update Slovenian translation 2022-10-26 21:28:54 +00:00
Jehan e5d5be4277 Issue #8062: error when offsetting a layer. 2022-10-26 23:10:51 +02:00
Alx Sa dca12039ea plug-ins: fix #8127 Option to load reduced TIFFs
Adds a toggle to let users load TIFF pages with FILETYPE_REDUCEDIMAGE
tags. The specs do not state that these are always thumbnails, and they 
may have other uses. We assume that if only one page with this metadata
exists then it is a thumbnail; otherwise, the toggle option is 
enabled on load.
2022-10-26 20:34:30 +00:00
Jehan 14c973e522 NEWS: update. 2022-10-26 21:15:40 +02:00
Zurab Kargareteli e1d0b8b4b3 Update Georgian translation 2022-10-26 03:41:39 +00:00
Jehan 92caf44817 libgimp: improve gimp_procedure_add_menu_path() docs regarding localization.
This was the last remaining bit in #8124. Basically I needed to check how
localization of menu paths worked. I was thinking of maybe have 2 arguments to
gimp_procedure_add_menu_path(), one non-localized (for default menu paths) and
one localized by the plug-in (for custom menus). That would break all plug-ins,
but also looking at our code, it's complicated to do right.

Instead let's just keep current API and add an example in function docs. We'll
see how we can improve the API if the very hypothetical problem I am foreseeing
actually happens some day: say a word in English translates to e.g. "Filters" in
some other language, whereas English "Filters" translates to yet another term;
in such case, this new menu would still merge with the default /Filters/ menu
when localized in this language, so we'd have the weird situation where the
custom menu label would have passed through 2 translations somehow.

But let's see how it goes. If we really need, in the future, we can deprecate
gimp_procedure_add_menu_path() and add a gimp_procedure_add_menu_paths() with a
base_path and a custom_path, while the custom_path would be expected to be
already translated.
2022-10-26 01:13:43 +02:00
Jehan 255cab6b43 plug-ins: fix a crash for closing a FILE twice.
Fixes:

> free(): double free detected in tcache 2

The file is closed also after resource_load() runs. Anyway it's better to free
resource on the same level they were created, so I remove the fclose inside the
function.
2022-10-26 00:23:18 +02:00
Jehan f686d2afbf app: zlib saving is now multi-threaded too!
For the same file, which was saving in ~50 secs in RLE (now ~12), and ~80 secs
in zlib. It now saves zlib-encoded XCF in ~35 secs on the same machine with 8
threads.
2022-10-25 20:15:43 +02:00
Jehan 52d1743924 app: reorganized multi-thread saving code.
Contributed code was not wrong, far from it! But the whole memory management was
a bit on the hard-to-read side. For maintainability, I prefer some simpler code,
which contains a bit more allocation but it's reasonable and at least much less
indexes to play with.

Also instead of gegl_parallel_distribute(), then waiting for each set of batches
to entirely finish, I'm using a GThreadPool which I progressively fill with new
batch data. And finally I'm running the gegl_buffer_get() inside the threads (I
know that we have only reads on the buffer at this point; also GEGL has an
internal lock mechanism anyway).
These actually do not provide a huge additional speedup (compared to the initial
speedup by just going multi-threaded), most likely because the I/O are now the
bottleneck anyway (which is quite a good thing!).
2022-10-25 20:15:43 +02:00
Jehan b35bdd2dc9 app: cleaning the previous commit for fast saving of RLE XCF.
- Coding style fixes.
- Removing gimp_gegl_num_processors unknown variable which didn't exist (coming
  from another patch from suzu. See discussion in #4985).
- Removing the `cleanup()` attribute to keep our code as generic as possible
  without specific compiler extensions. Just free memory manually as is expected
  in C.

Testing on a 115MiB XCF file, saving went down (on my machine, as average on
saving a few times) from about 50 seconds to 15 seconds.
This first version is already pretty neat, though we can probably do even
better.
2022-10-25 20:15:43 +02:00
suzu_11 a51434beb4 Issue #4985: Parallelize xcf_save_tile_rle to reduce time when saving xcf file. 2022-10-25 20:15:43 +02:00
Hugo Carvalho 586980a635 Update Portuguese translation 2022-10-25 16:34:09 +00:00
Alx Sa 08fedaa55a plug-ins: Add initial ICNS export support
This adds the ability to export to the most "compatible" modern ICNS
format for a particular layer.
2022-10-24 23:46:17 +00:00
Zurab Kargareteli 869c9bdcdf Update Georgian translation 2022-10-24 21:16:01 +00:00
Michael Schumacher 149358021e app: Add GDK_SCROLL_MASK to gimpviewablebutton initialization.
This makes these buttons respond to scroll wheels again, a regression encountered in GIMP 2.99.x.
Code location and fix found by Massimo Valentini.

Fixes issue #6929.
2022-10-24 00:27:13 +02:00
Jordi Mas ce6626163e Update Catalan translation 2022-10-22 15:45:52 +02:00
Yuri Chornoivan 9ed613ced8 Update Ukrainian translation 2022-10-21 14:41:23 +00:00
Hugo Carvalho 72f696e3e2 Update Portuguese translation 2022-10-21 12:26:45 +00:00
Martin df6464dfe2 Update Slovenian translation 2022-10-21 08:44:19 +00:00
Jehan 8f288bf722 libgimp: add gimp_image_list_selected_drawables().
Similar to other functions, we want a variant which returns a GList.
2022-10-20 23:17:07 +02:00
Jehan 831cb91303 app: remove gimp_image_get_active_drawable() usage in colormap actions. 2022-10-20 23:17:07 +02:00
Jehan 81969a0651 app, devel-docs: add a new "Vectors Structure" in the XCF format.
Instead of storing vectors as properties, they have their own structure, which
make them able to store and load all the usual and common properties of other
items. In other words, it makes XCF now able to store locks, color tags and
several selected paths.
2022-10-20 23:17:07 +02:00
Asier Sarasua Garmendia 32cf103939 Update Basque translation 2022-10-20 20:20:10 +00:00
Asier Sarasua Garmendia caf0006d1e Update Basque translation 2022-10-20 18:59:24 +00:00
Jehan a77c64fafe app, pdb: fixing gimp_vectors_export*() libgimp API.
It seems I forgot to fix some usage of core gimp_vectors_export*(),
which now take a list of paths (not a single path anymore since commit
9fc8260c7c), as these were used by PDB functions.
2022-10-20 19:07:16 +02:00
Jehan 759ee663f0 app, pdb: fix a few "incompatible pointer type" conversions.
That's the problem when there are still too many old warnings hiding the
new ones!
2022-10-20 18:56:24 +02:00
Jehan b73278f1a8 app, libgimp, pdb: add missing functions for selected items.
Missing functions were:
* gimp_image_get_selected_channels()
* gimp_image_get_selected_vectors()
* gimp_image_list_selected_channels()
* gimp_image_list_selected_vectors()
* gimp_image_set_selected_channels()
* gimp_image_set_selected_vectors()
* gimp_image_take_selected_channels()
* gimp_image_take_selected_vectors()

There are discussions of renaming GimpVectors to GimpPath, which would
also be consistent with the GUI and make the always-plural less akward
in API. We'll see. For now keeping named like this.
2022-10-20 18:25:43 +02:00
Martin 0c6f7b167a Update Slovenian translation 2022-10-19 14:45:38 +00:00
Yuri Chornoivan 1b507376c4 Update Ukrainian translation 2022-10-19 14:41:18 +00:00
Jehan 6dc48f571c app: fix logic in gimp_edit_selection_tool_translate().
We should not check if all items are locked, but if one item is locked. It is
enough to forbid the translation from happening.
Otherwise it is currently possible to bypass position lock by using keyboard
arrows for layers or channels.
2022-10-19 15:47:11 +02:00
Jehan 789f52c412 app: make moving vectors with keyboard arrows multi-selection aware.
And this is one less usage of gimp_image_get_active_vectors()!
2022-10-19 15:41:23 +02:00
Jehan 48bebb8a27 app: replace one more usage of gimp_image_get_active_drawable(). 2022-10-19 15:14:14 +02:00
Jehan 74b4951e50 app: remove a gimp_image_get_active_drawable() in select actions.
The action "select-float" should probably only work for a single selected
drawable anyway since a floating selection can only be stacked on one drawable
at a time.
2022-10-19 15:09:38 +02:00
Jehan 6716d06aa1 app: remove one more gimp_image_get_active_drawable().
Actions "vectors-fill*" and "vectors-stroke*" require a single drawable to paint
to. So action logic is unchange. I only replace gimp_image_get_active_drawable()
by gimp_image_get_selected_drawables() and counting the drawables.
2022-10-18 22:36:24 +02:00
Jehan 6eb78ca11f app: remaining drawable actions are now multi-layer aware. 2022-10-18 22:19:44 +02:00
Jehan 85adfb46c8 app: make "drawable-lock-content|position" multi-drawable aware. 2022-10-18 22:06:21 +02:00
Yuri Chornoivan 564c37d06b Update Ukrainian translation 2022-10-18 18:48:43 +00:00
Jehan cff1ae4176 app: remove one more usage of gimp_image_get_active_vectors().
For "text-tool-text-along-path", it makes sense to keep it only usable when a
single path is selected.
2022-10-18 16:35:59 +02:00
Hugo Carvalho 9dd33e0234 Update Portuguese translation 2022-10-18 11:11:46 +00:00
Hugo Carvalho cd7b2fd99b Update Portuguese translation 2022-10-18 11:01:34 +00:00
Martin 0056b0b2f7 Update Slovenian translation 2022-10-18 04:24:27 +00:00