Commit Graph

50046 Commits

Author SHA1 Message Date
Shubham de5c805cbb app: Modify stroke selection dialog
Changed stroke selection dialog to use GtkStackSwitcher instead of radio
buttons. Make options hidden under "Advanced options" visible by
default.
2023-04-25 12:59:35 +00:00
Ekaterine Papava 15e2adde0c Update Georgian translation 2023-04-25 04:33:45 +00:00
Martin 82e201f93b Update Slovenian translation 2023-04-24 20:17:37 +00:00
Martin b333b54842 Update Slovenian translation 2023-04-24 20:14:40 +00:00
Yuri Chornoivan 229221c289 Update Ukrainian translation 2023-04-24 17:10:21 +00:00
Yuri Chornoivan 02d2026419 Update Ukrainian translation 2023-04-24 15:31:30 +00:00
Yuri Chornoivan cd792f831f Update Ukrainian translation 2023-04-24 15:30:23 +00:00
Rodrigo Lledó b557a8e581 Update Spanish translation 2023-04-24 14:51:02 +00:00
Rodrigo Lledó 08cdf546fc Update Spanish translation 2023-04-24 14:26:56 +00:00
Rodrigo Lledó 0161775738 Update Spanish translation 2023-04-24 14:23:53 +00:00
Alx Sa 7e371c7884 libgimpbase: Add Middle Gray fill option
Uses CIELAB's 50% lightness (18.42% luminance) for the Middle Gray
color.
2023-04-24 10:25:58 +00:00
Ekaterine Papava e31a2d3d64 Update Georgian translation 2023-04-24 03:34:10 +00:00
Alx Sa 769e36d7cf core: color pick in image's RGB space
Replaces GimpPickableInterface's pixel_to_srgb () functions with
pixel_to_rgb(). Now GimpRGB's values should be in the correct
image color space from the beginning of the process.
2023-04-23 22:03:29 +00:00
Alexander Shopov 5a9df9e77c Update Bulgarian translation 2023-04-23 21:32:53 +00:00
Sabri Ünal 5b7f9fb8eb Update Turkish translation 2023-04-23 21:10:17 +00:00
Sabri Ünal aa8a4e4504 Update Turkish translation 2023-04-23 20:44:11 +00:00
Alexander Shopov c46c4f64db Update Bulgarian translation 2023-04-23 20:00:59 +00:00
Alx Sa da217088d0 plug-ins: Fix rounding error in PCX load
Some valid PCX/DCX files wouldn't load because the bytes per line
header check can be off by one due to integer division rounding.
This adds 1 to the equation to account for this.
2023-04-23 17:37:45 +00:00
Alx Sa 7bc7273d04 plug-ins: Add support for importing DCX files
DCX files are containers that store up to 1023 PCX files.
The PCX plug-in is rearranged to allow reading multiple PCX images per
file, rather than assuming there's only one image.
2023-04-23 17:37:45 +00:00
Alx Sa 73242fe96a plug-ins: Port file-gif-save to...
...GimpSaveProcedureDialog
2023-04-23 17:35:52 +00:00
Yuri Chornoivan d6b09d4fed Update Ukrainian translation 2023-04-23 13:52:55 +00:00
Alx Sa 222bef78c7 plug-ins: Initial support for Amiga IFF/ILBM
Imports indexed ILBM, Amiga PBM, and ACBM images.
2023-04-22 21:33:27 -04:00
Yuri Chornoivan 8da4e30cdb Update Ukrainian translation 2023-04-22 18:24:51 +00:00
Alexandre Prokoudine dc49ff9d54 Update Russian translation 2023-04-22 14:53:43 +02:00
Martin 521a8613d6 Update Slovenian translation 2023-04-22 09:07:17 +00:00
Ekaterine Papava 6c9ec76878 Update Georgian translation 2023-04-22 05:29:12 +00:00
Alx Sa a05213f82a libgimpwidget: Fix GimpFrame line-spacing property
GimpFrame has a property 'line-spacing'. gimp_frame_get_label_spacing ()
tried to access it as 'line_spacing', so it always returned 0.
Fixing the typo should now return the true spacing value.
2023-04-22 03:01:16 +00:00
Jehan d8c0ddf95f NEWS: update. 2023-04-22 01:57:19 +02:00
Jehan 1584a9ba50 plug-ins: fix the thread rendering the thumbnails all the time.
After testing a bit more, I realized that the thread was constantly re-rendering
the thumbnails, even though I didn't touch the "white-background"
button/argument.
This was not just a completely invisible problem, it actually affected the page
selection (it was very hard to select pages by clicking on them, it was randomly
working, and more often not selecting anything). This is how I realized there
was a problem.

The reason was simply that I was never actually calling g_cond_wait() because of
a first_loop flag I forgot to set.

Note that docs of g_cond_wait() explains that it is possible that "spurious
wakeup" happen. At first I thought I had this issue, which is why this commit
also adds a boolean flag to check after a wakeup, to make sure that I was in the
"condition met" case and not the "spurious wakeup" one.
Even though I realized afterwards the real reason was much more stupid, I still
left this additional check.

Fortunately this issue doesn't seem to affect the 2.10 code. Or to be more
accurate: the continuous render very likely happens there too, yet it doesn't
break page selection interaction with GTK+2 as far as I can see.
2023-04-22 01:29:42 +02:00
Jehan 179ff7ff4d plug-ins: option to choose whether loading a PDF with white background.
Port commit 41f40f530a from gimp-2-10 branch to the main branch:

    While at first, the idea of always loading PDF with transparency seemed good
    (commit 7aff7e9c70), I realized that a lot of administrative PDF (generated with
    text and vector graphics, rather than scans or alike containing raster) actually
    have transparency. So now all these documents load with transparent background.
    Clearly all the office software are assuming that PDF readers will fill the
    background with white.

    So add a checkbox to decide whether or not to fill the image with white. I don't
    update the PDB procedure. I'll just do this on the main dev branch (while also
    updating a bit the code to newer API).

    Fortunately I regularly open such PDF documents with GIMP and could witness this
    no-transparency expectation before we released GIMP 2.10.34! 😅

As side changes, I also:

* ported file-pdf-load to work with GimpProcedureConfig arguments instead of
  GimpValueArray;
* ported the dialog to GimpProcedureDialog and generating as much of it as
  possible (except for the page selector/preview, and resolution entries);
* renamed the "pdf-password" argument to "password";
* added the "target", "antialias" and "white-background" procedure arguments.

A few issues which would deserve to be looked at more closely in the future:

* adding "width" and "height" arguments and decide how to handle "resolution";
  this will likely be better handled with a new GimpVectorLoadProcedure subclass
  to support vector formats in particular;
* shouldn't page selection be handled in a better way? Probably this could be
  handled by adding a generic logic in GimpLoadProcedure (as multi-page support
  is a common feature across image formats);
* GimpInt32Array arguments ("pages") can't be stored anyway right now.
* the "target" arg should be an enum.
2023-04-22 00:24:24 +02:00
Aurimas Černius 41bd71efb9 Update Lithuanian translation 2023-04-21 19:14:37 +00:00
Jehan 0d95b960c5 app: replace deprecated GLib function.
This fixes:

> app/core/gimpitemlist.c:632:7: warning: ‘g_pattern_match_string’ is deprecated: Use 'g_pattern_spec_match_string' instead [-Wdeprecated-declarations]

The new function appeared in GLib 2.70 which is our current minimum GLib
requirement, so the replacement is fine.
2023-04-21 01:09:35 +02:00
Idriss Fekir 99644ff5c9 Issue 7826: "select all" should not be reapplied
To check if "all" is selected call a function added to to channel interface
"is_full".
2023-04-20 21:49:03 +00:00
Jehan 466349762d app: fix broken preset menus in tool options (tool-options-menu.ui).
Generated actions are not necessarily application-wide actions ("app." prefix of
detailed action name). As is the case here, they can be actions specific to a
group only.
2023-04-20 16:56:49 +02:00
Jehan 4b36bff01a app: get rid of unused variable warning.
Warning was:

> gimpsourcetool.c:232:22: warning: unused variable ‘paint_tool’
2023-04-20 15:38:17 +02:00
Jehan c6906e77da app: get rid of dummy "*-menu" and "*-popup" actions.
With our old code, we needed dummy actions for every submenu. This is not needed
anymore. Actions are only for end menu items (items which actually do something,
not just open a submenu).
Get rid of them all, as well as the code to ignore any action ending with such
suffixes in action-listing pieces of code.
2023-04-20 15:36:11 +02:00
Jehan 8a8914bc21 app: a bit of code cleanup.
Especially some remnants of when Gimp(Toggle|Radio)Action were not descendants
of GimpActionImpl and had to reimplement GimpAction interface.

Also fixing a few details here and there.
2023-04-20 15:36:11 +02:00
Jehan e3bb3bf57f app: fix address sanitizer error.
The error is:

> app/widgets/gimpdeviceinfo.c:387:13: runtime error: null pointer passed as argument 1, which is declared to never be nul
2023-04-20 15:36:11 +02:00
Jehan 86693d1839 app: free GimpActionGroup's action list in dispose().
This helps make sure we break circular references as soon as possible when
destroying an action group. I also steal the pointer before freeing objects to
make sure the list is empty immediately and any further signal from the actions
won't affect this group.
2023-04-20 15:36:11 +02:00
Jehan d5aa4f73ac app: add a "color" property to GimpMenuModel.
Note that it will only work for a model attached to a GimpMenu. In particular,
it won't work for the menu bar set to a GtkApplication with gtk_application_set_menubar().

In other words, it won't work on macOS where we let the OS handle the menu.
2023-04-20 15:36:11 +02:00
Martin ec4ac18178 Update Slovenian translation 2023-04-20 10:59:10 +00:00
Martin 8bcc7545fc Update Slovenian translation 2023-04-20 10:29:00 +00:00
Ekaterine Papava cd1490dba3 Update Georgian translation 2023-04-20 05:28:28 +00:00
Ekaterine Papava 636a8758da Update Georgian translation 2023-04-20 05:26:20 +00:00
Yuri Chornoivan 2161c31e54 Update Ukrainian translation 2023-04-19 16:36:07 +00:00
Yuri Chornoivan 3a11d3ff30 Update Ukrainian translation 2023-04-19 15:37:35 +00:00
Jehan 564103fdc1 app: allow changing submenu's labels with gimp_menu_model_set_title().
Use this for the "View > Zoom" and "View > Flip & Rotate" submenus which used to
display the zoom level and rotation angle. This regression is now fixed.
2023-04-19 15:21:48 +02:00
Alx Sa 66716e4d04 plug-ins: Port file-xbm to GimpSaveProcedureDialog 2023-04-19 12:32:06 +00:00
Jehan b0916fe701 Issue #9362: ordered argument format in printf requires no argument "holes".
Though it actually worked in some cases, and failed in others (I have not
figured out which build option exactly makes the format with hole work anyway),
printf manual actually explicitly says:

> There may be no gaps in the numbers of arguments specified using '$'; for
> example, if arguments 1 and 3 are specified, argument 2 must also be specified
> somewhere in the format string.

This explained while it was crashing GIMP (again, only with some build options,
or lack of build options):

> *** invalid %N$ use detected ***

There were 2 possible solutions for this: either ensure that the order number is
always used, but that defeats the purpose of plural localization. Instead I
reorder the argument so that the file name (which must always be shown for sure)
is first in arguments. This way, even if the order number is sometimes omitted
(be it in English or in any language), we avoid the crash.
2023-04-19 14:30:11 +02:00
Alx Sa e3074df900 tools: Correct Fixed Size toggle behavior
gimp_rectangle_options_fixed_rule_changed is called when either the
checkbox or the dropdown for Fixed Size is changed.
However, the "fixed-size-active" property was not updated until after
it ran, so the toggle behavior is inverted.
This checks to see if the toggle was changed and updates the boolean 
before setting the size field as (in)sensitive.
2023-04-18 01:37:25 +00:00