Commit Graph

4359 Commits

Author SHA1 Message Date
cd479ce04e app: add an "auto overlay" API to GimpToolGui
which makes tool dialogs auto-overlay if the canvas is large
enough. Set all tools dialogs except GimpImageMapTool's dialog to
auto.
2014-06-09 03:08:43 +02:00
e2628b9bd0 app: revive gimpdrawable-foreground-extract
Move the extraction graph from the foreground select tool there.
Enable the PDB wrapper again, using default values for now.
Some sytle cleanup in the foreground select tool.
2014-06-03 23:05:23 +02:00
38c86da8e9 app: factor out utility function gimp_get_fill_params()
which returns an error if there is no pattern for GIMP_FILL_PATTERN.
Use it instead of having the same code in 3 variants, and make error
handling consistent with bucket fill.
2014-06-03 14:00:01 +02:00
1416743b5c app: use GimpFillType in gimp_drawable_bucket_fill()
GimpBucketFillMode is now tool- and pdb-only.
2014-06-03 01:34:51 +02:00
425748dab0 libgimpbase, *: rename GimpFillType values: GIMP_FOO_FILL -> GIMP_FILL_FOO
Change all users accordingly and add compat enum values and compat
constants to script-fu and pygimp.
2014-06-03 01:11:32 +02:00
2068c61a85 Bug 730862 - Preview frozen while dragging selection tools...
...(crop, rectangle, etc) in large image zoomed-to-fit

Default to GIMP_MOTION_MODE_COMPRESS in all tools, and override it to
GIMP_MOTION_MODE_EXACT if the tool really needs the exact path of
motion events. This greatly reduces the events processed by the
rectangle tools and makes them much more responsive.
2014-06-02 20:55:33 +02:00
1781b79a16 app: record GimpDrawTool's last draw time *after* it has drawn its stuff
not before. Doesn't seem to change things but it's more correct.
2014-06-02 20:45:31 +02:00
069996d75f app: some random code cleanup 2014-06-02 20:17:39 +02:00
1464bee257 app: use the GParamSpec's nick as label in gimp_prop_spin_scale_new()
if a NULL label was passed. Override this with explicit calls to
gimp_spin_scale_set_label() in the two cases where we really don't
want a label.
2014-06-01 23:39:19 +02:00
0349b8972a app: rename gimpimage-contiguous-region.[ch] to gimppickable-....[ch]
The functions don't need to know about sample_merged, in fact they
used the boolean only to either use the passed image or drawable and
otherwise ran the same code. The sample_merged logic belongs into
their callers (and sometimes not even there).
2014-05-31 09:52:44 +02:00
227cff3af4 app: add gegl:color-rotate to Colors -> Map 2014-05-29 18:34:45 +02:00
00f6973b3c app: add gegl:convolution-matrix to Filters -> Generic 2014-05-29 02:36:59 +02:00
a06d570748 app: rename gimpproptable.[ch] to gimppropgui.[ch] 2014-05-27 02:15:48 +02:00
6923f49b0d app: Fix broken header guards. 2014-05-25 20:50:56 -04:00
7286bbda52 app: use GimpSpinScale in the shear tool dialog 2014-05-25 15:44:38 +02:00
38c0937b8f Bug 723534 - Warp transform tool does not follow active layer
Add GIMP_DIRTY_ACTIVE_DRAWABLE to the warp tool's dirty mask, so it
correctly switches to the new active layer. Also remove
GIMP_DIRTY_IMAGE_STRUCTURE, I don't know why that was there in the
first place.
2014-05-25 15:00:49 +02:00
62cbd3eac3 app: show the region combo only if the op has the "position-dependent" key
otherwise, hide it and default to SELECTION.
2014-05-24 03:06:24 +02:00
bb73acbb15 app: create an empty node with the gegl:nop operation
so we can safely ask for its name (workaround for GEGL warning).
2014-05-24 03:04:26 +02:00
3550132ac7 app: add support for picking GEGL relative-coordinate values
Also, don't link relative coordinates by default, and remove some crap
heuristics that predate property keys.
2014-05-24 01:38:15 +02:00
6c5515c676 app: allow to specify the workarea of GEGL ops in the GEGL tool GUI
Add a combo that switches between "selection" and "entire layer".
Need to find a way to hide that thing when the setting makes no
difference. Also the combo is generally pretty much experimantal.
2014-05-24 01:07:28 +02:00
413846475f app: make GimpOperationTool manage an icon name for the GUI
and add an icon_name parameter to gimp_operation_tool_set_operation().
2014-05-22 23:29:59 +02:00
7ae3612485 app: GimpBrightnessContrastTool: don't call gimp_image_map_tool_preview()
it was redundant because the function already modified the config
object.
2014-05-22 01:25:01 +02:00
ebb663e1c6 Revert "app: add a small delay when applying a GUI change in GimpImageMapTool"
This reverts commit d46a8335e6,
it was a bad idea (like this at least).
2014-05-22 01:17:52 +02:00
d46a8335e6 app: add a small delay when applying a GUI change in GimpImageMapTool
This keeps the tool more responsive for expensive ops, since multiple
fast changes are compressed into one call to gimp_image_map_tool_preview().
2014-05-22 00:50:21 +02:00
4a0e9a2083 app: gegl:noise-cell -> gegl:cell-noise 2014-05-19 01:31:55 +02:00
c899f14f79 app: add gegl:panorama-projection to Filters -> Map 2014-05-17 01:23:24 +02:00
9e1ee4235f app: add gegl:perlin-noise and gegl:simplex-noise to Filters->Render->Clouds 2014-05-17 01:17:30 +02:00
e09453cfbb app: add gegl:tile-glass to Filters -> Artistic 2014-05-16 21:59:30 +02:00
2df26f7fd8 app: GimpOperationTool: change values for color roles property keys
Foreground and background are GIMP concepts; the annotations on GEGL ops
should be about how the operation makes use of the meta-data; not where
it comes from in one particular application using GEGL.

old names:

"role", "foreground-color",
"role", "background-color",

new names:
"role", "color-primary",
"role", "color-secondary",
2014-05-16 17:05:50 +02:00
befb871b6e app: GimpOperationTool sync the op with drawable/context in reset() 2014-05-16 16:28:24 +02:00
f50b215d16 app: add a default impl of GimpImageMapTool::reset()
and chain up where possible instead of duplicating that code.
2014-05-16 16:22:31 +02:00
86988e7d67 app: GimpOperationTool: don't crash GimpGeglTool 2014-05-16 08:21:33 +02:00
58b096e02e app: fix x/y copy-paste confusion in last commit 2014-05-16 03:17:08 +02:00
dac7201ead app: follow GEGL propertiy keys convention change
and clean up the magic a bit.
2014-05-16 03:10:01 +02:00
0dd1a4b552 app: sync the op with the drawable/image/gimp in GimpOperationTool
which currently means setting FG/BG color on properties with the
right GEGL property keys, and the output size of source ops.
2014-05-16 02:32:16 +02:00
8be52f6aa7 app, libgimp*: pass translated blurbs to GIMP_CONFIG_INSTALL_PROP_FOO()
instead of passing N_()-strings; and remove gettext() calls on these
strings when using them. Reduces complexitx, and fixes double- and
untranslated strings. Also enables to treat properties of GIMP and
GEGL objects the same way, which was totally broken before.
2014-05-14 23:34:01 +02:00
65a65947d9 app, libgimp: replace GTK_STOCK_FOO by icon names
unless it's a stock ID used for an action button, will address that
later.
2014-05-11 22:49:22 +02:00
17167594ea app: use the newly added libgimpwidgets icon name APIs 2014-05-07 21:32:09 +02:00
0d2d1c3752 app: port most of app's GUI from stock IDs to icon names
There is still quite some stock ID rendering around, stay tuned...
2014-05-07 15:30:38 +02:00
23037b5230 app: convert all stock IDs kept around by the core by icon names
Particularly GimpViewable's stock_id. Make sure old config files
containing stock IDs are still properly parsed.
2014-05-07 01:01:56 +02:00
a601e21281 app: add gegl:noise-cell and gegl:noise-reduction to the menus 2014-05-05 02:06:10 +02:00
84ce7f1a9a app: add a "Gamma hack" toggle to the GimpImageMap dialog 2014-05-04 20:42:58 +02:00
242ccacdcc app: s/paint_brush/paintbrush/ in the paintbrush action code 2014-05-03 22:55:05 +02:00
7d398da360 app: connect the warp tool's effect size to the standard tool size action 2014-05-03 20:24:09 +02:00
a2f6d60a42 app: Return NULL if assertion fails 2014-05-02 23:32:53 +05:30
843866e7e7 app: make things behave more reasonable with multiple monitors
There is now a preference option that determines whether windows
should be opened on the same monitor as before. It should be disabled
when the machine gets monitors plugged/unplugged dynamically ("laptop")
and enabled when there is a static multi-monitor setup ("wokstation").
This is merely the current simplistic policy on top of the newly added
underlying infrastructure:

- pass integer monitor numbers around in all places where we already
  pass around a GdkScreen. Pass the "current" monitor to these changed
  APIs, where "current" is either the monitor where the action-triggering
  widget is, or if that is unavailable the monitor where the mouse is.

- add gimp_widget_get_monitor() in order to easily get to the monitor,
  just like gtk_widget_get_screen().

- add screen and monitor parameters in some places that were missed
  before.

- in sessionrc, save all window positions relative to the window's
  monitor, and save the monitor separately, if it's not the screen's
  primary monitor.

- when restoring window positions, use the stored monitor when the new
  prefs options says so (use the screen's primary monitor if there is
  no stored monitor), otherwise use current monitor that is now passed
  around.
2014-05-02 03:01:23 +02:00
b60e1779cd app: pass a GimpGradient to gimp_drawable_blend(), not a GimpBlendMode
The blend mode is now only a PDB compat enum, translate between
GimpBlendMode and the built-in gradients in the gimp-edit-blend PDB
wrapper.
2014-04-30 09:17:42 +02:00
b196a42d8e app: add missing include in gimpseamlesscloneoptions.c 2014-04-30 00:05:47 +02:00
5ca9240d74 app: display a status error when seamless cloning without foreground image. 2014-04-30 09:11:31 +12:00
8f410b927a app: optimize and add progress information to seamless clone
Display information when seamless clone is being processed.
Also ensure that I don't compute again when no properties is changed.
2014-04-30 09:10:31 +12:00