Commit Graph

1976 Commits

Author SHA1 Message Date
Michael Natterer 25a696c7f8 Bug 735906 - Transform tools give unexpected results when transforming...
...certain sets of linked layers

Fix this bug for flip, rotate and general transforms (not for move yet):

gimp_item_linked_flip,rotate,transform(): always transform the passed
item too (do not filter it out of the list of items), so these functions
do the entire job of transforming a linked group now. Transforming the
active item separately didn't work (and is not implementable) if both
a layer and its parent layer group were linked.

flip tool, transform tool, layer->transform callbacks: don't call
gimp_item_foo() *and* (if the item is linked) gimp_item_linked_foo().
Instead call gimp_item_linked_foo() if the item is linked, and
gimp_item_foo() otherwise.

This commit also kills the mis-feature of transforming the selected
pixels of the active layer, and then the linked items completely. We
now either only transform the selected area *or* the linked group.
2015-06-25 12:25:41 +02:00
Michael Natterer 09cd5f6720 app: add ICC data/length parameters to gimp_layer_new_from_gegl_buffer()
and pass them where we know the buffer could be from another image.
Pass "NULL, 0" if we know it's the same image.

Add gimp_layer_new_convert_profile() which takes the newly created
layer and the ICC data/length; call it from both
gimp_layer_new_from_gegl_buffer() and gimp_layer_new_from_pixbuf().

gimp_layer_new_convert_profile() is empty, this is just
infrastructure.
2015-06-20 00:39:44 +02:00
Michael Natterer 6446c007cf app: rename gimp_layer_new_from_buffer() to gimp_layer_new_from_gegl_buffer()
and add new function gimp_layer_new_from_buffer() which takes a
GimpBuffer. This will make sense soon :)
2015-06-20 00:02:11 +02:00
Michael Natterer 7d4948b190 app: use gimp_create_image_from_buffer() to create the debug image graph 2015-06-19 23:49:41 +02:00
Michael Natterer db09d0f3d3 app: move functions to create layers to new files gimplayer-new.[ch] 2015-06-17 13:21:01 +02:00
Michael Natterer ee2f9ee846 app: rename gimp_image_get,set,validate_icc_profile() to _icc_parasite()
to make sure we don't have some _icc_profile() functions that deal
with raw data/size and some that deal with GimpParasite.
2015-06-16 23:56:53 +02:00
Michael Natterer aeb2a6e4ff Bug 646511 - Having the possibility to remove ICC profiles
Add Image -> Color Management -> Discard Color Profile which simply
removes the profile without any conversion.

Also added actions and callbacks for "Assign" and "Convert" but these
are only stubs to be filled as replacement for the remaining code in
the lcms plug-in.
2015-06-15 20:19:32 +02:00
Michael Natterer ba1318dda9 app, menus, plug-ins: add new Submenu Image -> Color Management
and move the color profile menu entries there. Add a mapping so 3rd
party plug-ins get moved to the new location automatically.

Also, add a separator after "Duplicate" and move the "Transform"
submenu to the top of the group that has "Scale", "Resize" etc.
2015-06-15 13:20:04 +02:00
Thomas Manni 22dbdbe1fb app, menus: add gegl:displace to Filters -> Map 2015-06-10 19:43:34 +02:00
Thomas Manni a7b84ded8e Bug 325564 - Use CIE LCH instead of HSL for layer mode Color
Add Hue, Chroma, Color and Lightness layer modes in LCH color space.
2015-06-02 01:37:26 +02:00
Michael Natterer 7e443df00e app: fix some includes in actions/ 2015-05-21 11:30:18 +02:00
Simon Budig c344a0950e app: add absolute actions to the display rotation 2015-05-17 04:13:43 +02:00
Simon Budig 6ce2a2b3ad app: more actions for display rotation 2015-05-17 04:13:43 +02:00
Thomas Manni 912289dbdd Bug 749341 - Gradient Editor corrupts gradient
Check for valid GimpGradientSegmentType and GimpGradientSegmentColor
enum values before updating gradient segment.
2015-05-14 01:53:46 +02:00
Thomas Manni 7d0f63917e Bug 749133 - Named buffer: "Paste selected buffer as a new image" does not work when there is no image
Enable pasting a named buffer when there is no image.
2015-05-08 20:21:50 +02:00
Michael Natterer a110639233 app, menus: add gegl:tile-paper to Filters -> Map 2015-04-30 11:59:49 -04:00
Michael Natterer bc4cf9918f Bug 673501 - Issue with Overlay
GIMP's OVERLAY mode was identical to SOFTLIGHT. This commit fixes the
issue and introduces a NEW_OVERLAY mode and enum value.

- change gimp:overlay-mode to be a real (svg-ish) overlay mode
- when compositing, map OVERLAY to gimp:softlight-mode
- when compisiting, map NEW_OVERLAY to gimp:overlay-mode
- bump the XCF version when NEW_OVERLAY is used
- map OVERLAY to SOFTLIGHT when loading and saving XCF
- map OVERLAY to softlight in all PDB setters
- map OVERLAY to softlight when deserializing a GimpContext
- change all paint mode menus to show an entry for NEW_OVERLAY
  instead of OVERLAY
- change PSP, PSD and OpenRaster to use NEW_OVERLAY

These changes should (redundantly) make sure that no OVERLAY enum
value is used in the core any longer because it gets mapped to
SOFTLIGHT at all entry points, with the downside of introducing a
setter/getter asymmetry when OVERLAY was set in a PDB api.
2015-04-29 13:32:58 -04:00
Jehan 13dd855107 app: indentation fixes. 2015-04-01 00:00:26 +02:00
Jehan 5217900748 configure/app: libmypaint becomes an optional dependency. 2015-03-30 22:38:35 +02:00
Jehan 5460c414db app: move the MyPaint brush into the playground. 2015-03-30 22:38:35 +02:00
Michael Natterer 6ea9b5c3cf app: connect the MyPaint brush radius to the tool tip size action 2015-03-30 22:38:35 +02:00
Michael Natterer e44e738267 app: add gegl:edge to Filters -> Edge-Detect 2015-03-03 22:55:39 +01:00
Michael Natterer afc3d4281e app: don't let updating the gradient editor actions dirty the gradient
...at least not most of the time, gradients are beasts. Also some
unrelated minor cleanup.
2015-02-24 20:58:19 +01:00
Michael Natterer d3600ab379 app: add File -> Copy Image Location 2015-02-17 13:33:10 +01:00
Michael Natterer b6eba9bd1f app: consistent labels and tooltips for the "Show in File Manager" actions 2015-02-17 13:05:21 +01:00
Michael Natterer 39db88d0a5 app: add much more "Show in file manager" menu items
Brushes, patterns, documents, ...
2015-02-16 20:29:31 +01:00
Michael Natterer e448cc3173 libgimpbase, app: implement File -> Show in File Manager
Add gimp_file_show_in_file_manager() to libgimpbase and a menu item
in app which shows the image's file (if any) in the file manager.

Implemented calling the org.freedesktop.FileManager1 interface
and dropped snippets found on stackoverflow for somebody to
turn into working code for OSX and Windows.
2015-02-16 18:40:26 +01:00
Michael Natterer c2371a2de9 app: implement Dilate and Erode as wrappers around gegl:value-propagate
Add them to the "drawable" actions. Remove menu registration for
the value-propagate plug-in's dilate and erode procedures.
2015-02-08 19:56:45 +01:00
Michael Natterer a71d64f701 app: add gegl:value-propagate to Filters -> Distorts 2015-02-06 19:26:52 +01:00
Alexandre Prokoudine 931f4581b7 app: add gegl:diffraction-patterns Filters -> Render -> Pattern 2015-01-21 00:47:11 +03:00
Michael Natterer de8a7972fb app: make gegl:color-enhance insensitive on grayscale drawables 2015-01-13 23:32:56 +01:00
Alexandre Prokoudine fdaed22911 app: add gegl:color-enhance to Color -> Auto 2015-01-13 22:40:13 +03:00
Alexandre Prokoudine 27ec429b43 app: add gegl:lens-flare to Filters -> Light and Shadow 2014-12-31 13:12:53 +03:00
Michael Natterer be5e2e6991 app: add gegl:engrave to Filters -> Distorts 2014-12-15 23:42:57 +01:00
Michael Natterer 41e61719c4 app: add gegl:illusion to Filters -> Map 2014-12-04 20:30:57 +01:00
E.S. Quinn 2fe1a0f5c1 Bug 677914 - Allow keyboard shortcuts for Rate and Flow on airbrush tool
Implement actions to control airbrush rate and flow.
2014-11-30 16:31:17 +01:00
Michael Natterer 01c79a2661 app: add gegl:noise-solid to Filters -> Render -> Noise 2014-11-22 20:45:40 +01:00
Michael Natterer 3a5eaeb3af app: add gegl:sinus to Filters -> Render -> Pattern 2014-11-21 20:49:15 +01:00
Michael Natterer 6c590ac083 app: add gegl:supernova to Filters -> Lights & Shadows 2014-11-18 20:01:09 +01:00
Michael Natterer a8853801a0 app: add gegl:video-degradation to Filters -> Distorts 2014-11-12 22:20:11 +01:00
Michael Natterer 488998031e app: add gegl:color-exchange to Colors -> Map 2014-11-10 22:23:54 +01:00
Michael Natterer 950f753ede Bug 736907 - Compat mode for XCF
- add gimp_image_get,get_xcf_compat_mode()
- add a compat toggle to GimpFileDialog which is shown and sensitive
  only for a save (not export), and if the image structure allows
  to save an old version at all. The button also has a tooltip
  which explains why it is sensitive and what it does
- add "gboolean xcf_compat" to file_save_dialog_save_image()
- in file_save_dialog_save_image(), call image_set_xcf_compat_mode(TRUE)
  only around the call to file_save() and set it to FALSE after saving
- in xcf_save_invoker(), honor the image's XCF compat flag and save an
  RLE-compressed XCF if possible

The above is very convoluted and doesn't pass the "xcf_compat" boolean
directly because we can't change the parameters of gimp-xcf-save, and
because the gimp-xcf-save might be called indirectly.
2014-10-20 22:54:11 +02:00
Michael Natterer 13a626a304 app: add gegl:oilify to Filters -> Artistic 2014-10-11 20:32:31 +02:00
Michael Natterer 98dddc3866 app: OS X specific "About" menu label
Manally picked that change from commit 7a75d4df from gimp-2-8.
2014-09-17 12:22:25 +02:00
Michael Natterer bda1cd049d Bug 735516 - Crop to content fails
Return a new enum GimpAutoShrink { SHRINK, EMPTY, UNSHRINKABLE } from
gimp_pickable_auto_shrink() because a simply boolean FALSE doesn't
distinguish between "not further shrinkable" and "no content". Change
the callers accordingly add a special "already cropped" message where
we only had a "no content" message before.
2014-08-31 17:41:54 +02:00
Michael Natterer 50568ae258 app: add gegl:distance-transform to Filters->Generic as "Distance Map" 2014-08-03 21:34:32 +02:00
Michael Natterer a6601d563b app: some GimpProgress cleanup
- change start() and set_text() to use "format" and "..." instead of
  "message", allowing to format progress messages in place
- s/cancelable/cancellable/
- move "cancellable" to be the second argument of start()
2014-07-12 23:45:20 +02:00
Michael Natterer 39f7401703 app: change Gimp->default_folder from being a path to a GFile
Also fix GimpFileDialog to actually start with that folder, and not in
its parent folder.
2014-07-09 20:12:05 +02:00
Michael Natterer c3573c3c45 app: keep the plug-in executable path around as GFile 2014-07-08 21:09:35 +02:00
Michael Natterer c2f7ec7b16 app: port file-actions and file-commands from URI to GFile 2014-07-08 01:19:39 +02:00