Commit Graph

60 Commits

Author SHA1 Message Date
c1aa1b7b3d plug-ins: fix freeing NULL object.
When the plug-in is queried initially for plug-in setup, then freed, the builder
object is not created.
2023-01-27 14:18:20 +01:00
691e0c0272 plug-in: port animation-play to GAction.
Largely inspired by commit dddb23c6. This also gave me a good overview of the
various missing features in GAction (compared to GtkAction) and how we'll have
to implement this in GIMP core. I now have a very clear path of what remains to
be done.
2023-01-27 01:48:33 +01:00
df074bfe09 plug-ins: label and documentation of plug-ins localized plug-in side.
This is the consequence of previous commit. Plug-ins' label and
documentation are now localized before sending these data to GIMP core.
In other words, we replace N_() macros with basic gettext calls.
2022-07-05 12:23:51 +02:00
18c37f7084 plug-ins, libgimp: override set_i18n() for all our core plug-ins.
Hence avoiding the stderr messages. These are going to be localized with
centrally installed catalogs "gimp*-std-plugins", "gimp*-script-fu" and
"gimp*-python".

We now handle core plug-in localizations differently and in particular,
with kind of a reverse logic:

- We don't consider "gimp*-std-plugins" to be the default catalog
  anymore. It made sense in the old world where we would consider the
  core plug-ins to be the most important and numerous ones. But we want
  to push a world where people are even more encouraged to develop their
  own plug-ins. These won't use the standard catalog anymore (because
  there are nearly no reasons that the strings are the same, it's only a
  confusing logic). So let's explicitly set the standard catalogs with
  DEFINE_STD_SET_I18N macro (which maps to a different catalog for
  script-fu plug-ins).
- Doing something similar for Python plug-ins which have again their own
  catalog.
- Getting rid of the INIT_I18N macro since now all the locale domain
  binding is done automatically by libgimp when using the set_i18n()
  method infrastructure.
2022-06-05 01:57:02 +02:00
8d61c4211f plug-ins: replace gimp_checks_get_shades() by gimp_checks_get_colors().
The animation playback now follows user preferences for checkboard
rendering.
Also fixing a small bug there, as the GIMP_CHECK_SIZE_SMALL_CHECKS was
the wrong type (it needed a check type, not a check size parameter).
2022-05-14 17:43:39 +02:00
3afa37cbc6 app, libgimp*, plug-ins: Changed gendered terms to be gender-neutral
Changed a handful of gendered terms to be gender-neutral, and one typo 
of 'he' to 'the' where appropriate.
2021-11-14 11:22:24 +00:00
fa16152757 app, libgimp, pdb, plug-ins: update some more functions to get|set().
s/gimp_image_base_type/gimp_image_get_base_type/
s/gimp_image_width/gimp_image_get_width/
s/gimp_image_height/gimp_image_get_height/

Sorry plug-in developers, more porting work! But really this seems like
the right thing to do in order not to get stuck with inconsistent naming
for many more years to come.
2021-04-06 00:49:07 +02:00
79e608694e plug-ins: fix many GimpImageProcedure to new run() API.
No logics change so far.
2021-04-04 01:40:00 +02:00
df8d5b02ae libgimp, plug-ins: remove the "preview" parameter from gimp_ui_init()
It's dead since a looong time.
2019-09-20 19:56:00 +02:00
dcc89fb611 plug-ins: port crop-zealous to GimpPlugIn 2019-08-31 12:23:34 +02:00
8a78203aed Properly prefix the values of enum GimpPDBProcType
to be GIMP_PDB_PROC_TYPE_PLUGIN, _EXTENSION etc.
2019-08-30 12:52:28 +02:00
0b3e02be10 libgimp: again, redo all APIs returning list of images, items, children
We now have both variants, one returning a GList, and another
returning an array. Turns out that while a list is often nicer,
sometimes a random-access array really keeps the code much simpler.

Adapt all plug-ins, and clean up a bit (like use g_list_reverse() once
instead of iterating the list reversed).
2019-08-27 13:26:27 +02:00
4942acbc46 plug-ins: animation-play ported to new GimpImage/Drawable objects. 2019-08-23 00:56:41 +02:00
15019fef52 plug-ins: port many plug-ins from GimpProcedure to GimpImageProcedure
Also move the call to set_icon_name() after set_menu_label(), all
ported plug-ins should look the same so we are a good example for copy
and paste ;)
2019-08-18 13:45:58 +02:00
ff5dd3f3cf plug-ins: port animation-play to GimpPlugIn 2019-08-14 20:03:06 +02:00
55940b733b libgimpwidgets: add a GDestroyNotify for gimp_help_connect()'s user_data 2019-08-09 13:11:30 +02:00
6bb03dc21a plug-ins: revive animation-play, and draw stuff with cairo
Still lots of deprecated stuff, but mostly GtkAction and friends.
2019-07-22 17:28:20 +02:00
5f700549e7 Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
1d8696cd80 Get rid of gdk_flush() globally, use gdk_display_flush() 2018-05-20 21:06:34 +02:00
6c8cf7876a Replace lots of deprecated gtk_menu_popup(), only GimpUIManager left 2018-05-20 21:06:30 +02:00
ce2cd374ee Replace gdk_cursor_unref() with g_object_unref() 2018-05-20 21:06:28 +02:00
dda54c1df8 Deprecate stock items for good and change all icon defines to GIMP_ICON_*
Try to sort all GIMP_ICON_* defines into FDO categories like in
https://specifications.freedesktop.org/icon-naming-spec/latest/ar01s04.html

Add defines for all icons we override, rename some icons to their FDO
standard names, and mark the ones we duplicate with a comment so we
don't forget to rename those to standard names in 3.0.
2017-03-05 16:01:59 +01:00
4033415a79 app, libgimpwidgets, plug-ins: kill gtk_scrolled_window_add_with_viewport()
It's deprecated in GTK+ 3.x, so we get rid of some deprecation
warnings. Also, it has always only been a utility function that hides
what is really going on in the widget hierarchy.
2016-09-07 20:12:28 +02:00
97bbd6330d Bug 747389 - Adjust maximum zoom for animation-play plugin up slightly
Change maximum zoom from 300% to 400%, improves usability for sprite
or tile animations.
2015-04-27 23:28:59 -04:00
102a236265 plug-ins: some more stock-id -> icon-name porting 2014-05-12 00:37:42 +02:00
de08267f06 libgimpbase, *: add enum value GIMP_ICON_TYPE_ICON_NAME
and keep GIMP_ICON_TYPE_STOCK_ID as a deprecated alias. Change all
plug-ins accordingly and increase the pluginrc file version number so
it gets regenerated with "icon-name" instead of "stock-id".
2014-05-11 23:56:30 +02:00
e78c3bf3da plug-ins: the frame image in animation-play is always in RGB.
We don't care what the original image type is, because non-RGB images
(in particular indexed ones) render very badly.
gimp_layer_new_from_drawable() will automatically convert the original
layer's type to the destination image's type (RGB) while copying.
2013-10-04 23:53:03 +13:00
7b638d72f6 plug-ins: animation-play gets the image palette for no reason. 2013-10-04 21:33:18 +13:00
7f93fbc19a app: only one mnemonic letter per filter 2013-09-26 11:31:43 +02:00
1bd183c54c plug-ins: any GIMP image must be deleted when animation-play exits.
Other allocated data is allright because it is freed when the process
exits, but not GEGL buffers created with gimp_image_new(), because they
are managed by the main GIMP process. Otherwise the plugin would leak
GeglBuffers each time it is closed.
2013-08-31 16:12:16 +12:00
264d09b417 Rename colour and greyscale to color and grayscale respectively 2013-06-06 23:26:16 +02:00
2368763ddf plug-ins: add some default shortcuts for animation preview.
"space" for play/pause, "f" for next frame and "d" for previous frame.
2013-04-21 08:42:25 +09:00
5c38715cce Bug 338380: zoom and scrolling feature on animation playback plugin. 2013-04-21 08:28:18 +09:00
4c341ff67e plug-ins: animation playback settings are now saved all along the GIMP session. 2013-04-21 08:16:14 +09:00
2bfae573ad plug-ins: give animation playback ability to take into account image updates.
This includes a much better code organization where initialization part can be reused
to free up memory and refresh the display on the fly.
This refresh feature has a UI button and a shortcut (ctrl-r) associated.
It implies any kind of change, additional or removed layers, new image size, etc.
2013-04-21 08:08:06 +09:00
efe4320074 Bug 688380 : drop-down in animation playback to select the default frame disposal. 2013-04-21 07:59:34 +09:00
e42ff36dff Bug 466958 (plug-ins): step-back button for animation playback. 2013-04-21 07:47:56 +09:00
b0a081bc91 plug-ins: the animated frames are generated at initialization, ready for render.
Additionaly a bug on shaping the window around moving non-alpha pixel is fixed.
2013-04-21 07:47:48 +09:00
67dda14e77 plug-ins: cleanup in the recently GEGL-ported plug-ins
Mostly formatting consistency paranoia.
2012-11-27 20:58:05 +01:00
7978506eb4 plug-ins: change the icon when playing in animation-play.
Change the STOCK id from GTK_STOCK_MEDIA_PLAY to GTK_STOCK_MEDIA_PAUSE
when playing, and revert when pausing.
2012-11-02 23:53:41 +01:00
07107fe214 plug-ins: port animation-play to GEGL 2012-09-22 00:46:05 +02:00
f1d4dde36a libgimpwidgets: add gdk_event_triggers_context_menu() to gimp3migration.[ch]
and remove gimp_button_event_triggers_context_menu() again. Update
all callers to use the new function.
2011-10-02 16:23:59 +02:00
dcb4c6e34a plug-ins: use gtk_box_new() 2011-09-30 12:18:24 +02:00
d92cd2f6c8 Add gimp_button_event_triggers_context_menu() and use it
instead of checking for event->button == 3, so context menus
work correctly on the Mac. Didn't change the image menu yet
because thet requires some more refactoring.
2011-09-19 00:47:23 +02:00
83bbb67781 plug-ins: #undef GDK_DISABLE_DEPRECATED so we are 64 bit safe
will revert after 2.7.2 so we see the warnings again.
2011-04-14 21:16:40 +02:00
8c4d99f883 Bug 645456 - Inconsistent window (role) naming scheme
Applied patch from Christoph Kappel which adds a "gimp-" prefix to all
plug-in dialog window roles.
2011-04-08 20:31:34 +02:00
24ee3370b8 Depend on GTK+ >= 2.24.3, cairo >= 1.20.1, gdk-pixbuf >= 2.22.1
and completely separate configure and sanity checks for gdk-pixbuf
from GTK+, because it's now distributed as a separate package. Remove
all sorts of conditional compiling based on GDK_CHECK_VERSION() and
CAIRO_VERSION.
2011-04-06 19:58:24 +02:00
bdf8d3d776 plug-ins: add some GTK_CHECK_VERSION(2,24,0) and use the new GtkComboBoxText 2011-03-17 14:31:39 +01:00
c6a2eaa5c4 plug-ins: use new item API instead of deprecated drawable API 2010-07-09 12:27:36 +02:00
a2c70822d4 Use accessors from GTK+ 2.20 instead of using sealed members directly 2010-04-19 19:21:07 +02:00