Commit Graph

548 Commits

Author SHA1 Message Date
2987f012f9 Issue #2087 - Issues discovered by coverity scan
Add missing fclose invocations and fix copy-paste issue.

This issues has been discovered by coverity scan proceeded by Red Hat.

Fixed some mistakes in the patch and added more fclose() (Mitch)

(cherry picked from commit 56c8f8320d)
2018-10-19 11:26:41 +02:00
cb892aa0e6 plug-ins: add more generated files in .gitignore. 2018-09-29 23:16:40 +02:00
1e7d714f0a plug-ins: pygimp: Add autogenerated python files to .gitignore
(cherry picked from commit 0839a55d51)
2018-09-29 23:08:31 +02:00
04688c3111 Use the "with" keyword when dealing with file objects
According to: https://docs.python.org/3.6/tutorial/inputoutput.html
2018-09-29 20:25:40 +00:00
263b4722ca Use assignment operator 2018-09-29 20:25:40 +00:00
6090fd654f "Generator Expressions" improvements
https://www.python.org/dev/peps/pep-0289/
2018-09-29 20:25:40 +00:00
82e59a951d Use list comprehensions
https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions
2018-09-29 20:25:40 +00:00
09d1a3c82f Comparision to None should be done with "is" or "is not"
https://www.python.org/dev/peps/pep-0008/#programming-recommendations
2018-09-29 20:25:40 +00:00
de11e3532c Issue #1970: Python-fu missing in 2.10.4.
Do not set the interpreter to `python2` but to whatever was found by the
AM_PATH_PYTHON2() m4 macro.
It looks like the Python2 binary we ship in our DMG may be call "python"
only (without the '2'). Let's just make our code more resilient to
various builds.
I am not sure yet this is the only/actual problem for this issue on
macOS, but this is at least in the right way.

(cherry picked from commit 8f21c9483a)
2018-08-19 12:48:02 +02:00
b810590b44 plug-ins: include the right python source in the distribution.
The python path with directory are generated files and should not be in
the dist. The previous commit was fixing an in-tree `make check` but
this one fixes the `make distcheck` as the dist was packaging the wrong
python files.

(cherry picked from commit 55a7872e1b)
2018-08-18 12:51:59 +02:00
dbb9555d2f Issue #788: also install all python plug-ins in their own directory.
It seems I forgot to also install python plug-ins in a subdirectory
(because they are deactivated on master for the time being). I even
found a year-old patch from myself rotting in the tracker, and which was
doing exactly this.
I redid it, improved to fit changes.
2018-07-18 22:11:39 +02:00
5f700549e7 Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
15075932be Fix Python files:
* Prefer python2 to python that may point on python3 on modern installs.
* Fix indent/spaces consistency.

(cherry picked from commit 2265701268)
2018-06-16 02:57:06 +02:00
3c6f789ca5 plug-ins: recognize "python2" env to launch the python interpreter.
(cherry picked from commit 769325e51b)
2018-06-16 02:57:06 +02:00
42b13216fc m4macros, plug-ins: run more accurately the "python2" interpreter.
Our configure test checks the presence of a Python2, but then uses
"python" as interpreter, which is a problem nowadays as the default
python is set to be Python 3 on some distributions (and this will be
more and more the case). So GIMP may end up trying to run our plug-ins
through Python 3 (which would fail) even if Python 2 is present.
Now AM_PATH_PYTHON2() m4 macro will set $PYTHON to a more accurate
Python version as priority.

Similarly let's use "python2" in the binfmt string for extension search.

(cherry picked from commit 03ea9cac54)
2018-06-16 02:07:02 +02:00
79d55e09e4 Issue #248: Python console doesn't support input()/raw_input().
As noted by Massimo, we can just make the argument of raw_input() an
optional argument.

Also adding a modal implementation for input() so that it doesn't lock
the Python console waiting from input from the plug-in stdin. As noted
in Python doc, input() is equivalent to `eval(raw_input(prompt))`.
Not all that safe, but in the end, it is the developer's responsibility.

(cherry picked from commit 130ef5ce59)

Note: it is untested on master since we don't have Python right now, but
I don't see why it would not work here as well!
2018-06-15 18:44:27 +02:00
27ac4363b0 plug-ins: if GIMP_UNSTABLE, install test script-fu and pygimp scripts 2018-05-20 21:06:34 +02:00
109b0fe4b1 pygimp: some speculative Table->Grid changes 2018-05-20 21:06:34 +02:00
aa67a0228b Bug 795620 - Missing gegl in rpath of python/gimp.so
gegl was not listed as a dependency of python/gimp.so, which
omitted it from rpath, breaking the plug-ins on Nix, which relies
on rpaths.
2018-04-28 11:53:44 +02:00
4a77ff2d3d Bug 795557 - Misc. typo fixes in source, comments and doxygen (pt3)
Found via `codespell` and grep.
2018-04-25 23:49:06 +02:00
b80036e14f pdb: deprecated gimp-layer-translate
and port all plug-ins/scripts to gimp-item-transform-translate.
2018-04-23 15:49:23 +02:00
147c09f19e Bug 795161 - Misc. typo fixes in source comments and doxygen
Found via `codespell`
Follow-up to  commit 7fdb963e01
2018-04-18 21:06:57 +02:00
657c39dc74 plug-ins, themes: use the "normal text" color as stdout color of...
... the python console.
It was using "selected text", which is most often inverted color (close
if not identical to the background color). As a consequence, it made
stdout output unreadable by default, forcing themes to always define a
style for the python console. Using "normal text" is a much better
choice to default to something readable from a parent style.

As a consequence, I also removed "python-fu-console" styling from the
System theme, where there should be as few theming as possible.
2018-01-09 18:41:59 +01:00
e663526de9 Bug 753736: GIMP Python green prompt is virtually...
... unreadable to those with certain type of color blindness
2018-01-09 17:44:37 +01:00
7ccf5d2624 Bug 761140: importing gimpui module causes plugin query failure
After commit f51acf3bfb the python console no longer
initialized gimpui, because it is no longer part of module
initialization.

If the plug-in is run noninteractively and it imports
gimpui explicitely it is now necessary to call gimp_ui_init ()
at the right time
2018-01-06 12:12:16 +01:00
6b4b8c95c7 Bug 792197 - inconsistent use of tabs and spaces in indentation
Turn tabs into spaces.
2018-01-04 13:25:26 +01:00
cd4a0a185c Bug 783336: exported openraster (.ora) missing...
...mergedimage.png

fix also the thumbnail creation, that:
must be 8 bit; should not be upscaled; should not have frame
or decoration, that I interpreted as when there are transparent
areas they should not be blended with a background color,
so instead of image_flatten use  image_merge_visible_layers
(also for the merged_image)
2018-01-01 16:00:30 +01:00
e6c1c14a94 pdb, libgimp: change the gimp-drawable-invert API again
Remove the invert-linear and invert-non-linear variants and simply add
"gboolean linear" to gimp-drawable-invert. This should actually be an
enum but I didn't find a good name right now...
2017-09-03 21:28:47 +02:00
2e6c39ed9c pdb, libgimp: rename gimp_drawable_invert() to _invert_non_linear()
and add gimp_drawable_invert_linear(). Also, finally deprecate
gimp_invert() and port all its uses in plug-ins and scripts to
gimp_drawable_invert_non_linear() so the result is the same.
2017-08-30 12:27:17 +02:00
e16c8a2352 Move the new "default_new_layer_mode" APIs to the image...
...in both the core and libgimp.

Images now know what the default mode for new layers is:

- NORMAL for empty images
- NORMAL for images with any non-legacy layer
- NORMAL_LEGAVY for images with only legacy layers

This changes behavior when layers are created from the UI, but *also*
when created by plug-ins (yes there is a compat issue here):

- Most (all?) single-layer file importers now create NORMAL layers
- Screenshot, Webpage etc also create NORMAL layers

Scripts that create images from scratch (logos etc) should not be
affected because they usually have NORMAL_LEGACY hardcoded.

3rd party plug-ins and scripts will also behave old-style unless they
get ported to gimp_image_get_default_new_layer_mode().
2017-08-21 20:18:00 +02:00
838449254a plug-ins: use gimp_get_default_new_layer_mode() for most new layers
instead of hardcoding NORMAL_LEGACY.
2017-08-20 17:12:46 +02:00
731cc47a22 plug-ins: pyconsole.py must be included in the distribution.
By default, _DATA files are not included. Hence `make distcheck` fails
with:
*** No rule to make target 'pyconsole.py', needed by 'all-am'.
Let's add it back.
2017-06-01 01:12:09 +02:00
320a3db133 plug-in: add python-console.py back to EXTRA_DIST
and change variable names to be like the ones of the main python
plug-in dir.
2017-05-31 23:48:22 +02:00
e985110250 plug-ins: install python-console plug-in in its own subdirectory.
As a consequence of commit efae55a, plug-ins should not install
data/library files alongside on the root plug-ins/ directory. If they
have such files, they should create a subdirectory named as the entry
point file. Obviously we should be the first to follow this guideline.
We had one such plug-in: python-console.py, which is importing
pyconsole.py. Let's have both these files under
plug-ins/python-console/.
2017-05-26 00:15:26 +02:00
f981f83fbc plug-ins: replace deprecated enum values in py-slice plug-in 2017-04-18 06:28:03 +02:00
bc344a9991 Bug 750180 - Fix different ways of writing Plug-in Plug-In Plugin.
It was agreed that we should write "plug-in" consistently. Only possibly
user-visible strings were updated.
Thanks to scootergrisen for a first patch which could not make it
after changing decision on the canonical writing.
2017-03-21 17:52:22 +01:00
Ell
e69e84c7c7 plug-ins: s/HSV_COLOR_LEGACY/HSL_COLOR_LEGACY/ in file-openraster.py
Missed it when renaming the mode.
2017-03-16 09:48:39 -04:00
3cf423f0cd *: rename NORMAL to NORMAL_LEGACY and NORMAL_LINEAR to NORMAL
and make NORMAL_LEGACY immutable.
2017-02-26 16:26:34 +01:00
0a0acc9f2a plug-ins: remove the hardcoded compat enums from script-fu and pygimp
Instead, simply look them up via the type system, and register their
values like they were normal enums.
2017-01-09 16:00:10 +01:00
178794f6f1 libgimpbase: rename enum GimpHueRange's values
and add compat cruft for the old names.
2017-01-09 02:45:16 +01:00
152adbb1bd Rename GIMP_LAYER_MODE_FOO_BROKEN to GIMP_LAYER_MODE_FOO_LEGACY
"Broken" sounds like it needs fixing, but it's legacy compat stuff
that will have to stay for all eternity.
2017-01-09 01:27:20 +01:00
66060e3307 app, libgimp*, plug-ins: replace enum GimpLayerModeEffects by GimpLayerMode
with proper value names. Mark most values as _BROKEN because they use
weird alpha compositing that has to die. Move GimpLayerModeEffects to
libgimpbase, deprecate it, and set it as compat enum for GimpLayerMode.
Add the GimpLayerModeEffects values as compat constants to script-fu
and pygimp.
2017-01-08 23:00:19 +01:00
eb287169c4 Bug 735774: Zarro Boogs found for PF_FILENAME - Ambiguous Entry Dialog
Before commit 20523c61ac
PF_FILE used to open a "open file" filechooser dialog.
That commit, while adding the ability to open
a "save dialog" filechooser dialog using PF_FILENAME,
changed the behavior of the existing gimpfu PF_FILE type.

Restore the previous behavior and update the
built-in plug-ins using a save dialog to the new
PF_FILENAME.
2016-08-01 09:06:12 +02:00
a1a4a067e4 Bug 735774: Zarro Boogs found for PF_FILENAME - Ambiguous Entry Dialog
FileChooser 'action' and 'buttons' should be consistent
and call set_alternative_button_order to be consistent
on platforms using the alternative button order.
2016-07-28 17:57:47 +02:00
f51acf3bfb Bug 761140: importing gimpui module causes plugin query failure
Remove gimp_ui_init call from gimpui module initialization.

Add gimp_ui_init method to gimpui module and call it from
gimpplugin _run method before running the user code.
2016-07-27 19:11:31 +02:00
2f62555d29 Bug 744878 - Python console should not close on Escape key
The code is set up to work without returning early, use a pass instead.
2016-07-25 00:59:04 +02:00
a9b85bff5f Bug 744878 - Python console should not close on Escape key 2016-07-25 00:57:07 +02:00
dd9b0fc55b Bug 768044 - Fix many typos
This fixes many typos in comments and one in a user-visible string (msgid
"center abscisse" changed to "center abscissa" in affected po files. too).
2016-06-26 00:35:24 +02:00
245bbbc107 Bug 623886 - CancelError exception support for gimpfu.py 2016-06-22 01:22:08 +02:00
8a37c928eb app, plug-ins, libgimp*: clean out all remaining trailing spaces/tabs.
Rather than just discovering them by chance, a simple grep and some
search and replace are much more efficient! :-)
Cleaning only done on C and automake files.
2016-06-02 02:04:26 +02:00