Commit graph

44567 commits

Author SHA1 Message Date
Michael Natterer
26a744f44d plug-ins: register thumbnail procedures before load procedures
so registering the thumbnail loader with the load procedure can
perform some checks for procedure existence and signature.
2019-09-10 19:36:54 +02:00
Jehan
5621de52fc libgimp: have both annotations for GObject Introspection and gtk-docs.
GTK-docs needs the struct member documentations in the main struct
comment. So let's get this back, while keeping the proper GI
introspection for each method this time.
As discussed with Mitch.
2019-09-10 18:13:26 +02:00
Ell
1b3c1fb9cb app: fix CRITICAL in GimpNavigationEditor
... after commit 2c9a8a567b.  Don't
use the same function as a handler for GimpContext::display-changed
and GimpContext::image-changed -- their signatures are different.
2019-09-10 17:55:58 +03:00
Jehan
49640ebfee plug-ins: fix warning on JavaScript goat exercise.
The exact warning was:
> (goat-exercise-gjs:26895): Gjs-WARNING **: 15:59:18.382: Some code
> called array.toString() on a Uint8Array instance. Previously this
> would have interpreted the bytes of the array as a string, but that is
> nonstandard. In the future this will return the bytes as
> comma-separated digits. For the time being, the old behavior has been
> preserved, but please fix your code anyway to explicitly call
> ByteArray.toString(array).  (Note that array.toString() may have been
> called implicitly.)
2019-09-10 16:06:48 +02:00
Jehan
183f00baf9 libgimp: fix GimpPlugInClass methods introspection.
Commit 005143a43e completely broke all the
introspected plug-ins, so I am reverting only the relevant changes.

If some things need to be improved in this part of the docs, let's do it
without breaking major stuff.
In particular: abstract methods must be properly documented (with
parameters, return values and annotations) like any function, and must
be named Class::method, e.g. GimpPlugInClass::query_procedures.
Other we break GObject Introspection, i.e. we break all plug-ins using
these.
2019-09-10 15:22:54 +02:00
Jehan
b73519830e app: gimp-register-magic-load-handler renamed in a previous commit.
Cf. commit 0745043ddb.
2019-09-10 15:03:28 +02:00
Ell
2c9a8a567b app: clear navigation editor when last image is closed
In GimpNavigationEditor, make sure to clear the editor's shell when
the last image is closed, even though the corresponding display is
stil alive, so that we don't needlessly extend the lifetime of the
image.  This is necessary after the recent GimpImageViewable
changes, since the editor now (indirectly) holds a reference on the
image.
2019-09-10 15:15:42 +03:00
Michael Natterer
0745043ddb pdb, libgimp: remove _gimp_register_load_handler()
and rename _gimp_register_magic_load_handler() to
_gimp_register_load_handler().
2019-09-10 12:29:17 +02:00
Michael Natterer
b1683ce692 app: remove all check for the <Load> and <Save> menu prefixes
they are an ancient concept not supported any longer.
2019-09-10 12:14:57 +02:00
Michael Natterer
a20fb094d9 libgimp: remove gimp_plug_in_create_procedure() from the API
no plug-in code ever needs to call it.
2019-09-10 12:11:32 +02:00
Michael Natterer
34489d1b13 libgimp: add section docs for GimpPlugIn with general information
and document the members of GimpProcedureClass. Also various
doc fixes.
2019-09-10 11:17:12 +02:00
Michael Natterer
005143a43e libgimp, devel-docs: fix docs for GimpPlugInClass and its members 2019-09-09 20:53:39 +02:00
Félix Piédallu
36d6896a92 Fix INSTALL.in 2019-09-09 18:15:13 +00:00
Félix Piédallu
46f706a403 [libgimp,app] add missing includes for windows 2019-09-09 18:15:13 +00:00
Félix Piédallu
0792cb65f4 [devel-docs] move version file to deduplicate code 2019-09-09 18:15:13 +00:00
Sabri Ünal
a60ac57207 Missing mnemonics on several file dialogs
This path corrects missing mnemonics on several save/open/export dialogs.

save: file
open: file, dds, fits, tiff
export: bmp, dds, fli, gbr, gih, mng, pat, pnm, pdf, raw, sunras, sgi, webp
2019-09-09 18:06:29 +00:00
Ell
d93fefb174 Issue #3876 - The tool options of some transform tools are vertically centered ...
... in their dockable dialog

In GimpChainButton, override GtkWidget::compute_expand() to avoid
inheriting [hv]expand from the button's chain lines, so that these
propeties don't in turn propagate to the widget's ancestors,
screwing with their layout.
2019-09-09 16:53:52 +03:00
Michael Natterer
a88aa27942 app: use GError in all gimpplugin-proc.[ch] functions, not gimp_message() 2019-09-09 12:10:32 +02:00
Michael Natterer
b587740a10 libgimp: make sure the GimpPlugIn and GimpPDB singletons get destroyed
Break reference cycles between the objects and the procedures they
keep by moving procedure destruction to dispose() and calling
g_object_run_dispose() before unrefing PLUG_IN and PDB in gimp.c.

Also some formatting and "Since: 3.0" annotation .
2019-09-09 11:16:39 +02:00
Daniel Mustieles
32c764dc60 Update Spanish translation 2019-09-09 07:55:23 +00:00
Michael Natterer
bde70bcdab pdb: avoid duplicate argument names in gimp-plugins-query
Also rename all arguments to make more sense.
2019-09-09 01:51:33 +02:00
Michael Natterer
d745dc86c5 libgimp: warn on attempts to install or uninstall a GimpPDBprocedure 2019-09-09 01:46:26 +02:00
Michael Natterer
41fa670434 Rename all "nparams" and "nreturn_vals" members in the wire protocol
to "n_params" and "n_return_vals".
2019-09-09 01:00:54 +02:00
Michael Natterer
64572b00f5 app: clean up gimp_plug_in_handle_proc_install()
Remove the hack that turns the first integer argument into
enum GimpRunMode and simplify the UTF-8 validation code.
2019-09-09 00:42:24 +02:00
Michael Natterer
22a780c9d1 pdb: add gimp_pdb_set_proc_documentation() and _attribution()
and all the needed code in libgimp/ and app/ to set them on a
procedure using the new API. Remove the strings from GPProcInstall.
2019-09-09 00:36:24 +02:00
Michael Natterer
5a57256a24 libgimp: no need to set NULL strings on GimpPDBProcedure 2019-09-09 00:35:56 +02:00
Michael Natterer
5f60f5422b app: remove some procedure code duplication
Move the mnemonic and ellipsis removal code to
gimp_procedure_real_get_label() and cache the generated label in
GimpProcedure. Remove the same code from GimpPlugInProcedure and
GimpGeglProcedure.
2019-09-09 00:05:13 +02:00
Michael Natterer
5341c42852 app: remove "help_id" from GimpGeglProcedure
GimpProcedure handles it just right now.
2019-09-08 23:44:13 +02:00
Michael Natterer
6b0486174d app, pdb: split GimpProcedure's "strings" into "help" and "attribution" 2019-09-08 23:40:34 +02:00
Michael Natterer
26c8286675 app, pdb: take "deprecated" out of GimpProcedure's "strings" API
and add gimp_procedure_set_deprecated().
2019-09-08 23:23:32 +02:00
Michael Natterer
1716666bd1 app: keep the help_id in GimpProcedure not GimpPlugInProcedure 2019-09-08 22:25:26 +02:00
Michael Natterer
f6dc18a516 app: remove code duplication in gimpplugin-proc.c
and get rid of a redundant sanity check.
2019-09-08 22:23:28 +02:00
Michael Natterer
453b4f4aa2 pdb: add gimp_pdb_set_proc_menu_label()
and all the needed code in libgimp/ and app/ to set a plug-in
procedure's menu label using the new API. Remove the menu label from
GPProcInstall.
2019-09-08 17:30:54 +02:00
Michael Natterer
33c84ceb08 plug-ins: don't set a NULL menu label in script_fu_script_install_proc() 2019-09-08 17:27:27 +02:00
Michael Natterer
2a62287439 pdb: add gimp_pdb_set_proc_image_types()
and all the needed code in libgimp/ and app/ to set a plug-in
procedure's image types using the new API. Remove the image types from
GPProcInstall.
2019-09-08 16:54:08 +02:00
Michael Natterer
d75a25c565 app: move the plug-in procedure setters to gimpplugin-proc.[ch]
because there are going to be much more more.
2019-09-08 16:38:31 +02:00
Michael Natterer
303ccbedad pdb: move gimp_plugin_icon_register_invoker() from "plugin" to "pdb"
and call it gimp_pdb_set_proc_icon(). Change icon registration code in
libgimp/ and app/ so it's now possible to register icons for temporary
procedures.
2019-09-08 16:22:32 +02:00
Michael Natterer
d89adebff8 pdb: move gimp_plugin_menu_register() from the "plugin" to the "pdb" group
and call it gimp_pdb_add_proc_menu_path(). Move around and rename some
code in app/ to prepare for more procedure setters to work this way.
2019-09-08 15:53:37 +02:00
Michael Natterer
7a9517c261 plug-ins: fix film to succeed again and not always do nothing 2019-09-08 15:51:51 +02:00
Michael Natterer
e82c80bf5f pdb: rename all procedure query procedures to gimp-pdb-get-proc-foo 2019-09-08 15:07:24 +02:00
Michael Natterer
388776df07 Simplify the plug-in query API and fix plugin-browser
- remove the menu path and image types from "gimp-plugins-query",
  they are available via GimpProcedure, also reorder and rename
  its remaining return values to make sense
- remove the "menu_path" parameter to gimp_proc_view_new(),
  it can also ask GimpProcedure
- adapt plugin-browser to the new API and make it use GimpProcedure
- fix plugin-browser's tree view to show all menu hierarchies
  completely, it was still expecting menu paths that contain
  the menu label too
2019-09-08 14:59:09 +02:00
Piotr Drąg
f2db331fb7 Update Polish translation 2019-09-08 12:07:51 +02:00
Michael Natterer
d7e69b2bbb libgimp: show the newly introspectable stuff in GimpProcView 2019-09-07 21:12:01 +02:00
Michael Natterer
5c16fc205d libgimp: use the new API in GimpPDBProcedure
GimpProcedure should be the only API needed to introspect procedures.
2019-09-07 21:09:22 +02:00
Michael Natterer
48692e58c3 pdb: add pdb API to get a procedure's image types, menu label and menu paths 2019-09-07 21:08:13 +02:00
Michael Natterer
a85ad31da0 app: change gimp_plug_in_procedure_add_menu_path() again
to use the real type names in error messages, they are now the actual
API.
2019-09-07 21:05:58 +02:00
Balázs Meskó
b06f119288 Update Hungarian translation 2019-09-07 18:09:45 +00:00
Balázs Úr
5cab6c816a Update Hungarian translation 2019-09-07 18:09:27 +00:00
Michael Natterer
dbacef4fe2 plug-ins: revert temp hack in gimp_plug_in_procedure_add_menu_path()
run-mode is now always a proper enum, don't tell the user that
it can also be an integer.
2019-09-07 20:03:35 +02:00
Michael Natterer
a63779e5a8 app: remove obsolete check from gimp_plug_in_menu_register()
Plug-ins can't set a full menu path at procedure installation time any
longer, no need to check and warn about it here.
2019-09-07 20:02:01 +02:00