Commit Graph

14356 Commits

Author SHA1 Message Date
Michael Natterer aaee95d545 app: experimentally color the background curves 2011-02-09 01:07:48 +01:00
Michael Natterer 6c252921af app: handle the inputs generically in GimpDynamicsOutputEditor
instead of having explicit code for each input in all functions.
2011-02-09 00:27:25 +01:00
Michael Natterer 5a28791cfb app: connect to the background curves' "dirty" signal in GimpCurveView
and make sure curves are not added twice to the background list.
Also warn when trying to remove a non-existent background curve.
2011-02-09 00:24:43 +01:00
Michael Natterer 2ed861fb8d Bug 638795 - Brush Dynamics Curve editor stutters
Update the toggles in the treeview only if a boolean property of the
output changes, and not on *each* output change which includes each
tiny curve editing.

Also fix formatting in the whole file.
2011-02-08 22:09:52 +01:00
Alexia Death 9e3aa5c1d2 app: Clean up event eval 2011-02-08 22:10:34 +02:00
Alexia Death f0f47e8d47 app: Remove a bit of code from event eval 2011-02-08 21:21:16 +02:00
Michael Natterer e3b5c55ca2 Bug 597117 - impossible to drop a group as a sibling inside a group
Properly distinguish between dropping after a group and into it, by
having three drop areas on a collapsed row. Still handle expanded rows
as before, but indicate dropping into visually just as on a collapsed
row.
2011-02-08 09:35:38 +01:00
Michael Natterer 3873aa5cac app: gimp_data_duplicate() reset name, filename, writable and deletable
to default values on the copy, so the duplicated data behaves as
documented, even if a subclass copied too much. Makes duplicated
dynamics work.
2011-02-07 19:38:23 +01:00
Michael Natterer 708555a378 app: keep a reference to channels and vectors around removing them
because we temporarily need them after removal from their item trees,
and bad things can happen if they are not kept alive by the undo stack
(like when undo is disabled while loading an image).
2011-02-07 11:35:58 +01:00
Barak Itkin 18b9ba1c87 app: Add some comment documentation to code 2011-02-07 03:29:23 +02:00
Michael Natterer a12af14a59 app: don't forget to free the layer's new name 2011-02-07 00:52:34 +01:00
Michael Natterer 0d2de3e7c1 app: don't gimp_object_set_name() on the image's layer after opening
Instead, use gimp_item_rename(). Also change the name before creating
a display for the image, to avoid confusing the undo dialog.
2011-02-07 00:50:54 +01:00
Michael Natterer ef28d7fee6 app: don't gimp_object_set_name() on an item that's attached to an image
because it bypasses the unique name logic used by gimp_item_rename().
2011-02-06 23:56:24 +01:00
peter sikking, m+mi works 6db80c765d remove garbage I injected 2011-02-06 20:21:20 +01:00
peter sikking, m+mi works 7cb5c67bc8 removing references to ps-menurc 2011-02-06 19:57:59 +01:00
Michael Natterer 92f130fbc3 app: also run device history coords through the axis mapping curve function 2011-02-06 13:26:25 +01:00
Michael Natterer 8d8c6bb9ea configure: build with DISABLE_DEPRECATED also for GTK+ 2.24
Bump the "too new" test to GTK+ 2.26 which will never be released, but
this way we can keep the configure check around for later reuse after
the switch to GTK+ 3.x. Also bump the "too new" GLib and Pango
versions to really future versions so we early-catch deprecations
in the current development cycle.
2011-02-06 12:50:14 +01:00
Michael Natterer f4af9b549e Globally switch to saying "window_id" instead of just "window"
when dealing with native window handles. Also get rid of using
GdkNativeWindow and simply consistently use guint32 all over the
place. This is more obvious and consistent and keeps the diff to the
gtk3-port branch smaller.
2011-02-06 12:07:55 +01:00
Michael Natterer 16b020fc42 app: clean up paint core cleanup 2011-02-06 11:22:23 +01:00
Michael Natterer 012eb1dd93 app: zero the reallocated keys and axes arrays in GimpDeviceInfo 2011-02-06 11:20:07 +01:00
Michael Natterer e309d3cdf8 app: check that the model is not NULL before using it in GimpContainerComboBox
to be safe against GimpContainerView API being called during widget
destruction.
2011-02-06 11:20:07 +01:00
Michael Natterer 11ac0296b9 app: ref/unref the context in gimp_image_editor_set_context() 2011-02-06 11:20:07 +01:00
Michael Natterer 1931cca5ab libgimp: deprecate the entire old gimp_foo_select() API
It's now completely replaced by the new gimp_image_select_foo() functions.
2011-02-06 11:20:07 +01:00
Michael Natterer bc5e0a79ab libgimp: remove "select-transparent" parameters from the new selection API
and use the sample-transparent setting from GimpPDBContext instead.
2011-02-06 11:20:07 +01:00
Michael Natterer d3a291d2df pdb: add "sample-transparent" as GimpPDBContext property
and add PDB API to get/set it.
2011-02-06 11:20:07 +01:00
Michael Natterer c15488d10a libgimp: remove "threshold" parameters from the new selection API
and use the sample-threshold setting from GimpPDBContext instead.
2011-02-06 11:20:07 +01:00
Michael Natterer 2e16d932ec pdb: add "sample-threshold" as GimpPDBContext property
and add PDB API to get/set it.
2011-02-06 11:20:07 +01:00
Michael Natterer f76bcab221 app: move "default-threshold" from GimpGuiConfig to GimpCoreConfig 2011-02-06 11:20:06 +01:00
Alexia Death 1cf5295d2e app: Fix couple of bugs in smooth code 2011-02-06 00:17:51 +02:00
Michael Natterer a116681982 app: move all GimpGroupLayer members to a private struct 2011-02-03 22:30:22 +01:00
Michael Natterer f8e8952147 app: clean up dynamics duplicate implementation 2011-02-03 19:47:52 +01:00
Martin Nordholts 93f63335dc app: End core/gimpdynamics.c with newline
Fix compiler warning.
2011-02-03 08:04:26 +01:00
Martin Nordholts 3e0d0b862a app/tests: Add test-save-and-export
Add some regression tests for how the URIs associated with an image is
handled during, save, import etc.
2011-02-02 22:32:30 +01:00
Martin Nordholts 6c6cf7a881 app: Move import and export URI updates to file_save()
We should handle import-URI and export-URI at a lower level so
e.g. the import URI is reset when gimp_dnd_xds_save_image() is
used.

This change also simplifies unit testing.
2011-02-02 22:31:27 +01:00
Martin Nordholts 1702822720 app: Fix copy-paste error in file-save-dialog.c
Fix what must have been a copy-paste error, we can not want to set
GIMP_FILE_SAVE_LAST_URI_KEY after we have exported.
2011-02-02 22:31:27 +01:00
Petr Ovtchenkov b370a0ebe6 app: Support building with GTK 2.24 for gimpscalecombobox.h 2011-02-02 22:29:37 +01:00
Martin Nordholts 3728f6f7d7 app/tests: Add gimp_test_utils_create_image_from_dalog() 2011-02-02 22:29:24 +01:00
Martin Nordholts 6ea36f3383 app: Use gimp_image_set_uri()
I forgot to do this...
2011-02-02 22:28:47 +01:00
Martin Nordholts 366cddc856 app: gimp_image_get/set_imported/exported/save_a_copy_uri()
Add more proper core API for GimpImage URI management.
2011-02-02 22:28:46 +01:00
Martin Nordholts 8d61a61c0e app: Remove GIMP_FILE_EXPORT_TO_URI_KEY
Remove GIMP_FILE_EXPORT_TO_URI_KEY which is always identical to
GIMP_FILE_EXPORT_URI_KEY.
2011-02-02 22:28:46 +01:00
Martin Nordholts d449317501 app: Add and use gimp_image_get_string_untitled() 2011-02-02 22:28:46 +01:00
Alexia Death 60a77f6db2 app: Fix and enable duplicate for dynamics 2011-02-02 21:48:10 +02:00
Michael Natterer 6a08376d49 app: add new virtual function GimpItem::unset_removed()
and implement it in GimpLayer to unset the removed flag on the layer
mask. Remove layer mask special casing from gimp_image_add_layer().
Make sure that all an item's children get their removed flag unset in
gimp_item_unset_removed().
2011-02-02 19:42:29 +01:00
Martin Nordholts a69cd7467d app/tests: Update gimpdir/tags.xml
The order is changed after tests are run, make the change already in
the version controlled version.
2011-02-02 08:34:39 +01:00
Alexia Death 75593c3fea app: Fix missing outline with aspect 0.0 2011-02-02 01:04:24 +02:00
Alexia Death 418632916a app: Fix outline offset 2011-02-02 00:58:09 +02:00
Alexia Death 6a89db0f53 app: Minor aspect ratio fixes 2011-02-02 00:33:08 +02:00
Michael Natterer 40e11d7ad1 app: pass the image to g_object_new() in gimp_text_layer_from_layer() 2011-02-01 14:15:46 +01:00
Michael Natterer eacd80446d app: finally get rid of gimp_item_configure() and drawable_configure()
and turn them into gimp_item_new() and gimp_drawable_new()
2011-02-01 12:47:24 +01:00
Michael Natterer ccd3beb8ff app: don't use gimp_drawable_configure() in gimp_drawable_duplicate()
Instead, copy over the needed drawable members manually.
2011-02-01 10:46:53 +01:00
Michael Natterer 5c8ec234cc app: add "image" as construct property to GimpItem
- The image *must* now be passed to g_object_new() when creating items
- Remove the "image" parameter from all item configure() functions
- Set the item's ID in gimp_item_set_image() if it has none yet
2011-02-01 10:28:10 +01:00
Michael Natterer 12e531f512 app: gimp_item_replace_item(): if the item has an ID, remove it from the item hash 2011-01-31 23:53:59 +01:00
Michael Natterer e893e3130c app: don't leak the item's old parasite list in gimp_item_replace_item() 2011-01-31 23:52:41 +01:00
Michael Natterer ad88eb55a2 app: add accessors for GimpItem::parasites and move it to private 2011-01-31 23:51:18 +01:00
Michael Natterer af160141db app: add gimp_item_unset_removed() and move item->removed to private 2011-01-30 21:57:45 +01:00
Michael Natterer fd655490e8 app: move most of GimpItem's members to a private struct 2011-01-30 21:49:51 +01:00
Michael Natterer f63a8fcfe6 app: remove some leftover dead code
probably from before some text layer saving refactoring.
2011-01-30 20:43:01 +01:00
Michael Natterer 90419e0672 app: add "gboolean push_undo" to gimp_item_parasite_attach/detach()
and use this API instead of manually fiddling with the item's
GimpParasiteList.
2011-01-30 20:40:43 +01:00
Michael Natterer 96efc7ea1c app: reset an item's "removed" state as it is added to its parent container
and not "manually" from the resp. undo functions.
2011-01-30 19:36:27 +01:00
Michael Natterer 0428be2944 app: add gimp_item_replace_item() which is a bad hack and documented as such
in order to get rid of fiddling with GimpItem internals inside
gimptextlayer-xcf.c
2011-01-30 19:26:32 +01:00
Michael Natterer cfecdc8b70 app: use accessors instead of using GimpItem members directly 2011-01-30 18:58:05 +01:00
Michael Natterer 70f88c4320 app: don't update the highlight when the rectangle tool is resumed
It causes an infinite invalidation loop.
2011-01-27 21:36:58 +01:00
Michael Natterer 1205a6aedd pdb: add "sample-criterion" as property to the PDB context
See commit below
2011-01-27 21:26:16 +01:00
Michael Natterer bb6083a1eb pdb: add "sample-merged" as property to the PDB context
- add API to get/set the new state
- remove sample-merged parameters from the new gimp_image_select_foo() API
- update procedure documentation
2011-01-27 21:26:16 +01:00
Martin Nordholts ab5bd03a9c Show maintainers after creators in About-dialog
It makes sense to show maintainers after creators in the About-dialog,
do that.
2011-01-27 18:52:00 +01:00
Martin Nordholts 285a42eef3 app: Calculate number of creators in about dialog 2011-01-27 18:52:00 +01:00
Martin Nordholts 480d6e0cf2 app: Add and use gimp_image_get_uri() 2011-01-26 08:19:39 +01:00
Martin Nordholts ac773489e4 app: gimp_image_get_uri() -> gimp_image_get_uri_or_untitled() 2011-01-26 07:55:14 +01:00
Alexia Death 452819143a app: half-sane aspect ratio implementation 2011-01-25 23:28:02 +02:00
Omari Stephens 5cae0bf65c Bug 630748 - display filters do not work
Create and use Cairo-compatible API for display filters. Also
includes logic changes to the display filters to deal with cairo's
ARGB32 pre-multiplied buffer format.
2011-01-25 20:24:42 +01:00
Michael Natterer 47eaecdc9d libgimp: deprecate a bunch of old selection API
namely ellipse_select(), free_select(), rect_select() and
round_rect_select() because they are fully replaced by the new
gimp_image_select_foo() functions. Will deprecate the rest as soon as
I have figured how to put the parameter overkill of the remaining
functions into context properties.
2011-01-25 19:28:30 +01:00
Michael Natterer 9703bed2ef libgimp: reorder the parameters of the new and unused gimp-image-select API
Make the common "image" and "operation" parameters come first.
2011-01-24 14:53:42 +01:00
Martin Nordholts 3c95ed31e0 Fix compiler warning about missing newline 2011-01-24 08:10:01 +01:00
Alexia Death 5f9bd0c044 app: add reset buttons to all brush settings sliders 2011-01-23 18:17:25 +02:00
Alexia Death e41b5699dd app: remove some dead code in imagehoses 2011-01-23 12:24:33 +02:00
Michael Natterer 33479c1086 app: use gegl_node_has_pad() instead of gegl_node_get_pad() 2011-01-22 23:54:25 +01:00
Michael Natterer 3e38686693 app: also bump the babl and gegl versions in sanity.c 2011-01-22 23:53:38 +01:00
Michael Natterer 27179d6219 app: don't duplicate code when setting GimpSpinScale's cursor 2011-01-22 23:23:02 +01:00
Alexia Death 49ed64c69e app: remove dupilcate angle and velocity calculation from imagehoses 2011-01-23 00:09:56 +02:00
Michael Muré 7056d38681 cagetool: implement rubber band selection for edit mode, if the cage is closed 2011-01-22 15:38:35 +01:00
Michael Muré aa98319f1b cage tool: implement options_notify to allow switching back to edit mode
and update fill option
2011-01-22 14:17:28 +01:00
Michael Muré d80c9474cb cagetool: fix regression causing non affine-invariant transformation
+ update in print_cage debug function
2011-01-22 14:17:28 +01:00
Michael Muré 3f581c37b6 cagetool: fix a drawing bug when adding point to the cage while moving cursor 2011-01-22 14:17:28 +01:00
Michael Muré f379f3c467 fix rubber band selection for layer with offset 2011-01-22 14:17:28 +01:00
Michael Muré e7d219d387 Cage tool: add rubber band selection for deform mode 2011-01-22 14:17:28 +01:00
Michael Muré dd28e1fe02 Implementation of the multi-selection in the cage tool and refactoring that come with.
This editing mode should work like the path tool.
The backup of the cages point for undo is replaced by a displacement that affect
all the selected point in CageConfig with commit/reset displacement.
2011-01-22 14:17:28 +01:00
Michael Muré 006c7ab9f4 refactor of the GimpCageConfig with a custom GimpCagePoint data structure 2011-01-22 14:17:28 +01:00
Michael Muré 23193cba2f Rewrite of the cage tool as a state machine 2011-01-22 14:17:28 +01:00
Michael Natterer d155be622d libgimpwidgets: fix ruler motion event tracking on offscreen overlays
Add a list of "track widgets" to GimpRuler and connect to their
motion-notify-event. Correctly translate the motion event's x/y to the
ruler's coordinate system when updating the marker.
2011-01-20 20:26:35 +01:00
Michael Natterer e27b5f6da2 app: remove unused variable in gimp_channel_tree_view_constructed() 2011-01-20 20:26:35 +01:00
Michael Natterer 4186d0114f app: add comment to improve readability 2011-01-20 20:26:34 +01:00
Michael Natterer 550669962b 622863 - Input Devices list is not resizeable
Derive from GtkPaned instead of GtkBox, and change the handle size to
12px via gtkrc so spacing rules are followed.
2011-01-20 20:26:34 +01:00
Michael Natterer eb04265ce3 app: gimp_brush_core_clamp_brush_scale() -> gimp_brush_clamp_scale() 2011-01-17 23:20:49 +01:00
Michael Natterer 202124c438 app: implement GObject::constructed() instead of ::constructor() 2011-01-14 09:38:46 +01:00
Øyvind Kolås cad3778eea gegl-tool: remove render ops from blacklist
This allows fractal-explorer, checkerboard and the newly added grid op to
render.
2011-01-13 23:02:50 +00:00
Michael Natterer 503a9cebce app: implement GObject::constructed() instead of ::constructor() 2011-01-13 10:06:07 +01:00
Michael Natterer c1b3575648 app: implement GObject::constructed() instead of ::constructor() 2011-01-12 23:06:03 +01:00
Michael Natterer 5e4eee4653 app: implement GObject::constructed() instead of ::constructor() 2011-01-12 22:53:58 +01:00
Michael Natterer 229007106e app: don't pass the GtkStyle to gimp_curve_view_draw_grid()
Instead, set the cairo color in expose() before calling
draw_grid(). Also move a few lines of code around to make
the GTK3 port simpler.
2011-01-11 15:38:23 +01:00
Alexia Death 803df9b58a app: Make smooth paint core internal 2011-01-09 22:59:01 +02:00
Michael Natterer 292ac61056 Bug 638042 - Undo/Redo name for toggling "Disable Layer Mask" is incorrect
Apply modified patch from Andrew Church which says "Enable" or
"Disable" and not always "Apply" in the undo description.
2011-01-09 21:44:37 +01:00
Michael Natterer 70574877d3 app: use GimpSpinScale for the new smoothing options
This drops the log scale, but the new widget will get a better
solution for this anyway. Also did some cleanup.
2011-01-09 00:21:10 +01:00
Michael Natterer c29aefccc2 app: fix coding style in the new smoothing code 2011-01-08 22:18:56 +01:00
Alexia Death 339deed1da app: Clean up smooth so it would be acceptable for master 2011-01-08 22:19:27 +02:00
Alexia Death 082aa272a4 app: G-Pen algorithm for GIMP trunk. Now smoothing function works for Ink and Brush tools.
Rebased/fixed to go on top of current master. Next commit will add cleanup.
Had to change author tag because gnome is not accepting random stuff
in email fields. Original author is tarai, from gimp painter project
in sourceforge.
2011-01-08 22:17:26 +02:00
Michael Natterer 4aa36044f7 app: no need to set GTK_UPDATE_DELAYED on the levels scale
because we idle preview anyway in GimpImageMap.
2011-01-07 19:33:45 +01:00
Michael Natterer 6d6ec38085 app: no need to set a GtkRange's update-policy to CONTINUOUS
because it's the default.
2011-01-07 17:18:48 +01:00
Michael Natterer 0f0da4c712 app: various gradient editor changes and fixes
- return TRUE from event handlers if we handled the event
- remove the "instant update" toggle and feature
- move the color area left of the labels now that the toggle is gone
2011-01-07 15:09:17 +01:00
Michael Natterer 5caee48645 app: run all input axes through gimp_device_info_map_axis()
and let that function alone worry about whether there actually is a
curve for that axis.
2010-12-20 20:00:47 +01:00
Michael Natterer 62b0e96609 app: add gimp_devices_add_widget()
which is supposed to set up a widget for tablet events and make sure
the context changes on device changes. "supposed" because everything
is currently horribly broken on GTK+ 2.x. Use the function for all
affected widgets except for the canvas.
2010-12-19 21:23:54 +01:00
Michael Natterer e82e40033a app: some cosmetic cleanup in the item's node handling code 2010-12-19 20:39:18 +01:00
Michael Natterer 1e013e774c app: some cleanup in gimp_paned_box_position_drop_indicator() 2010-12-18 23:28:20 +01:00
Michael Natterer cac40f2db9 app: make themes_apply_theme() private, it's only used in themes.c 2010-12-18 22:42:09 +01:00
Øyvind Kolås 44ceeb246e app: serialize signals from gimpoperationtilesink
These signals fire from threads while the mainloop is blocked by GEGL, since
the callbacks of the signals expect exclusive access a mutex works for
serializing.
2010-12-17 14:35:37 +00:00
Michael Natterer 4609bab1dd app: use gtk_entry_set_width_chars() to override GtkEntry's default width 2010-12-09 23:45:00 +01:00
Michael Natterer bb91ba9d01 app: update the device name's style when devices get added/removed
This can't happen on GTK+ 2.x but why should I keep this generic code
on a branch.
2010-12-09 22:56:58 +01:00
Michael Natterer 9c98b0b804 app: sort present devices to the beginning of the device list
and make sure the core pointer is always first in the list.
2010-12-09 22:02:24 +01:00
Michael Natterer 6e2d56a9b8 app: don't reverse the device list after loading, it's sorted by name 2010-12-09 21:46:01 +01:00
Michael Natterer 8bc0e569ec app: use gimp_object_name_collate() when sorting device names 2010-12-09 21:45:04 +01:00
Michael Natterer d91a1d5b6c app: don't call g_object_set_data() on a NULL object 2010-12-09 20:55:53 +01:00
Michael Natterer 43c593bb3c app: remove obsolete linking workarounds, they break the build on OSX 2010-12-09 15:29:57 +01:00
Mikael Magnusson 60242667be app: don't use -1 for geometry hints where not allowed 2010-12-08 10:18:09 +01:00
Michael Natterer 748fac5c00 app: g_printerr() a warning if grabbing fails
This should not happen, but happens anyway on GTK+ 3.x, so better warn
about it to make debugging easier.
2010-12-07 19:57:13 +01:00
Michael Natterer 0ba0b637f2 app: add gimp_devices_check_callback() with the signature of an event callback
and use it in the toolbox. Will soon be used in more places.
2010-12-06 10:23:15 +01:00
Michael Natterer e50f6aaf0f app: make gimp_devices_select_device() private 2010-12-06 10:18:32 +01:00
Michael Natterer d6f28f2274 Bug 550662 - DND prefers text/plain over text/svg+xml, should be other way around
Move the call to gimp_dnd_uri_list_dest_add() to the end of the DND
setup code because it adds text/plain for legacy URI DND support,
which is way too generic to be handled first.
2010-11-29 22:04:56 +01:00
Michael Natterer 4b729086a9 app: cast GtkTargetEntry.target to gchar* when freeing it
because it was made const in GTK+.
2010-11-29 15:41:38 +01:00
Michael Natterer 36de5a2ab1 Bug 630376 - Crash with text layer / text tools stay on canvas when text info is discarded
Halt the tool when the text layer's text disappears.
2010-11-28 15:28:28 +01:00
Michael Natterer 0b38824448 app: add a "text" property to GimpTextLayer and emit notifications for it 2010-11-28 15:27:35 +01:00
Michael Natterer 54d33500d8 app: move updating the shells' appearance to a utility function
and call that after the UI is reconfigured, instead of having that
code spread across the entire file.
2010-11-28 13:35:09 +01:00
Michael Natterer ffcbe2c165 Bug 622311 - Get rid of status bar grip window in single-window mode
The the presence of docks in the image window into account when
deciding whether to show the statusbar resize grip, and simply call
gimp_display_shell_appearance_update() on all shells when
reconfiguring the UI for single-window-mode (which feels like the
right thing to do anyway).
2010-11-28 13:19:06 +01:00
Michael Natterer 357e25bfd1 app: move the cage tool after all other transform tools, not before them 2010-11-28 13:16:35 +01:00
Michael Natterer fcaf202b52 app: leftover code was setting the sensitivity of an unrelated label 2010-11-27 23:42:28 +01:00
Michael Natterer c4ec18790c Bug 598253 - Bug when copying path from a document to another document
Don't scale the SVG to image size when pasting or importing. SVGs have
a size just as pixel images, and there is no reason not to use that
size as-is.
2010-11-27 22:28:34 +01:00
Michael Natterer b1106845d4 app: the tool-list and tool-grid views are gone, don't try to open them 2010-11-26 10:44:46 +01:00
Michael Natterer bbe0e757b8 app: some GimpImageWindow cleanup
- implement GObject::constructed() instead of ::construct()
- remove the display pause/resume idle hack because any tool
  drawing flickering is gone now by using cairo
- some formatting cleanup
- remove some unused local variables
2010-11-26 09:19:36 +01:00
Michael Natterer bbc3943638 app: some cleanup in the new paint options code 2010-11-25 21:30:29 +01:00
Alexia Death 904048cdcb app: Clearly present Fade and Color dynamics options as such 2010-11-25 19:06:16 +02:00
Michael Natterer d46b53f63d Bug 635040 - Edit -> Stroke Path performs no action on an incomplete path
Add error reporting to gimp_drawable_stroke_vectors() and produce the
same warning as the paint core when trying to stroke a path with zero
or one points only.
2010-11-25 11:31:40 +01:00
Michael Natterer 77a5999f13 Bug 634315 - gimptextlayout.c: typo in assignment 2010-11-25 00:04:41 +01:00
Michael Natterer 88f2af98aa app: clean up the dynamics editor
Also fix its sensitivity when a read-only data is set. Fixes bug
curves).
2010-11-24 23:01:50 +01:00
Michael Natterer 65c6264259 app: change icon for brush size reset button and add tooltip 2010-11-24 22:31:56 +01:00
Michael Natterer 7b320c7bf6 Get rid of DOS line endings 2010-11-21 16:09:09 +01:00
Michael Natterer 223ae53fcc app: set the cage tool's dirty mask so it is canceled upon image changes 2010-11-21 14:13:58 +01:00
Michael Natterer ef87b83ff0 app: change toolbox geometry hints to something that's closer to the docs
Feels more correct now when resizing, but not really.
2010-11-20 20:44:16 +01:00
Michael Natterer a598b2d1be app: I don't know what I was thinking when changing these function names... 2010-11-20 20:37:15 +01:00
Michael Natterer 74a09704ba app: some toolbox cleanup
Add precondition checks and assertions for needed members and remove
unused API.
2010-11-20 15:19:48 +01:00
Michael Natterer e4a96c738e app: factor out duplicated code to gimp_tool_palette_get_button_size()
and use that function in GimpToolPalette and GimpToolbox.
2010-11-20 10:20:52 +01:00
Michael Natterer 281969b45d app: add GimpToolPalette which derives from GtkToolPalette
and move all of GimpToolbox' tool button code there.
2010-11-19 23:52:09 +01:00
Michael Natterer b5ece8b364 app: the ink sensitivity spin scales need two decimal digits precision 2010-11-19 15:19:24 +01:00
Michael Natterer 6960dda6f2 app: draw GimpSpinScale's label with style->text, not style->fg 2010-11-19 14:08:37 +01:00
Michael Natterer 04c4eedb4c app: indentation 2010-11-19 12:02:57 +01:00
Alexia Death 2b8605639d app: Disable somewhat obsolete stroke smooth 2010-11-17 19:55:16 +02:00
Alexia Death 20afb328a7 app: Unify direction calculation for painting and stroking 2010-11-17 00:03:07 +02:00
Michael Natterer 7a3dc6ee38 app: remove unused #includes 2010-11-15 00:23:18 +01:00
Michael Natterer 41269d35be app: fix antique copyright header 2010-11-14 22:13:36 +01:00
Michael Natterer dc564954d5 app: namespace the ink blob
Blob -> GimpBlob, blob_foo() -> gimp_blob_foo() etc.
2010-11-14 16:43:21 +01:00
Michael Natterer c4cd420ef8 app: rename GIMP_INK_BLOB_TYPE_ELLIPSE to GIMP_INK_BLOB_TYPE_CIRCLE
- TYPE_SQUARE is also named SQUARE and not RECTANGLE
- serialization doesn't suffer from the changed name because it's the
  default value that never gets serialized
- a lot of messy code in the ink options can be replaced by a one-liner
  because the enum names now match their resp. stock items
2010-11-14 16:29:42 +01:00
Michael Natterer ae9f6d1b3f app: remove the unused gimp_display_shell_expose_vectors() 2010-11-13 23:02:07 +01:00
Michael Natterer 5cea26b6e5 app: gimp_display_shell_expose_region(): return if the canvas is not realized
All GTK+ exposing functions do the same.
2010-11-13 22:58:43 +01:00
Michael Natterer a9217d4233 app: set the grid canvas item invisible by default 2010-11-13 22:58:10 +01:00
Michael Natterer e4532fe2a8 app: call gimp_canvas_item_begin,end_change() around passe partout changes
Also remove the "highlight" member from the GimpDisplayShell struct.
2010-11-12 20:18:03 +01:00
Michael Natterer 458230bf8d app: use a GimpCanvasPassePartout for drawing the crop highlight
and remove all old drawing logic.
2010-11-12 19:47:51 +01:00
Michael Natterer cca8273f5e app: fix the canvas passe partout's extents 2010-11-12 19:45:01 +01:00
Michael Natterer e7f8758f5c app: remove gimp_image_map_is_busy() again 2010-11-10 19:37:58 +01:00
Michael Natterer dc9018bd14 app: implement GimpTool::options_notify() 2010-11-10 19:08:39 +01:00
Alexia Death 5fa1e9ea40 app: Tell the user how to commit the cage transform 2010-11-10 19:11:49 +02:00
Michael Natterer ef44bfedad app: check for GIMP_BUTTON_RELEASE_CANCEL, not GDK_BUTTON3_MASK 2010-11-10 14:39:30 +01:00
Mikael Magnusson 372bc90f65 app: fix right-click cancelling a transform tool
to only revert back to before the current drag, not do a full reset
2010-11-10 14:39:06 +01:00
Mikael Magnusson d6e76a10d6 app: fix redraw after cancelling a transform tool with right-click cancelling 2010-11-10 14:35:27 +01:00
Michael Natterer 32926c9b6a app: implement GimpTool::options_notify()
instead of connecting to the tool options manually.
2010-11-10 14:20:33 +01:00
Michael Natterer 9e5eca8fd1 app: add virtual function GimpTool::options_notify()
which gets called on each "notify" from the tool options. This way
tool can simply implement this method instead of connecting to
"notify" themselves individually.
2010-11-10 14:18:33 +01:00
Michael Natterer 3b09aaa5f1 app: property ID enums don't need to be public 2010-11-10 11:40:48 +01:00
Michael Natterer 3ac37bbff0 app: formatting; move variables to local scopes 2010-11-10 09:30:07 +01:00
Michael Natterer 6bf13efbc8 app: use gimp_widget_flush_expose() for the statusbar's progress 2010-11-10 00:16:34 +01:00
Michael Natterer 41cad26f12 app: don't run the main loop manually after calling gimp_progress_set_value() 2010-11-10 00:14:22 +01:00
Michael Natterer 1741d39d8b app: gimp_widget_flush_expose() return if the widget is not drawable 2010-11-10 00:13:07 +01:00
Michael Natterer f6a284dc4c app: use a canvas progress in the cage tool
This is a proof-of-concept hack that needs review and comments before
being used generally.
2010-11-09 19:35:54 +01:00
Michael Natterer cff73863c5 app: add GimpCanvasProgress, an on-canvas progress item 2010-11-09 19:35:04 +01:00
Michael Natterer cacf8b550f app: add gimp_widget_flush_expose() utility function
which flushes all pending exposes for a widget without running the
main loop. Useful for updating progress bars without returning to the
main loop.
2010-11-09 19:33:15 +01:00
Michael Natterer 63fcfb15a2 app: use the new shifting API instead of reimplementing it 2010-11-09 11:32:40 +01:00
Michael Natterer 1541d8b666 app: make the shift-coordinates-by-anchor functions public API 2010-11-09 11:27:51 +01:00
Michael Natterer 3f6a70f7fe app: define one more standard tool handle size 2010-11-08 22:48:50 +01:00
Michael Natterer cf0402f069 app: consistent handle sizes for tool drawing
Replace a myriad of defines in different tools by three consistent
sizes defined in gimpdrawtool.h.
2010-11-08 22:37:00 +01:00
Michael Natterer a73348c561 app: fix handle hovering detection, it was using the wrong radius 2010-11-06 00:06:13 +01:00
Michael Natterer 31aa09a11f app: add proper cursors that show what will happen 2010-11-06 00:06:13 +01:00
Alexia Death c791ed0dca app: Fix coordinate adjustment bug in cage tool 2010-11-06 00:52:43 +02:00
Michael Natterer 9d604a545f app: move all the cage modifying logic to button_release()
so any interaction can be canceled by holding BUTTON3 while
releasing. Add additional state "hovering_handle" so we can do proper
drawing that matches what will happen on mouse interaction.
2010-11-05 23:49:48 +01:00
Michael Natterer f4c98fbad6 app: don't use a GimpVector2 for the cursor position
because less code is more readable.
2010-11-05 22:30:10 +01:00
Michael Natterer 9867cf62c3 app: -1000 is a valid cursor position, use G_MINDOUBLE as "no cursor" 2010-11-05 22:25:14 +01:00
Michael Natterer baf964a734 app: rename member handle_moved to moving_handle 2010-11-05 22:21:56 +01:00
Michael Natterer 038a6dd671 app: no need to abort the image map when a handle changes 2010-11-05 21:05:54 +01:00
Michael Natterer 77bb31ba51 app: put the drawn lines into a stroke group 2010-11-05 20:00:20 +01:00
Michael Natterer 86a220bbdf app: remove the preview node and other unneeded stuff
and simplify the code even further.
2010-11-05 19:47:57 +01:00
Michael Natterer 6f31f3d2f6 app: pass the drawable to gimp_cage_tool_create_image_map() 2010-11-05 19:42:42 +01:00
Michael Natterer 2028d547a2 app: use the GimpImageMap as it's meant to be used
Have an incremental live preview of the rendering and actually use the
rendering instead of throwing it away and doing it all over again on
commit. gimp_cage_tool_process() is therefore currently unused but I
left it there for Alexia to fix the tool for layers with masks.
2010-11-05 19:10:03 +01:00
Michael Natterer 71de3d7bdf app: use "pixels/unit" as label for the resolution menu
instead of "pixels/abbreviated unit". This is soon going to be
supported generically by GimpUnitComboBox just as with the old unit
menu.
2010-11-05 16:24:37 +01:00
Michael Natterer e0dad1bf35 app: canonicalize cage op names, and some indentation fixes 2010-11-05 12:45:07 +01:00
Michael Natterer eb3db78b06 app: rename config->cage_vertice_number to config->n_cage_vertices
and some minor cleanup.
2010-11-05 10:04:45 +01:00
Michael Natterer 09aae9a919 app: more minor cage tool cleanup 2010-11-05 09:49:03 +01:00
Michael Natterer c98688873d app: more minor cage cleanup 2010-11-04 22:47:03 +01:00
Michael Natterer a6d85e8d57 app: more formatting cleanup 2010-11-04 22:38:41 +01:00
Michael Natterer f6a8ad61fa app: remove useless box from cage options gui 2010-11-04 22:32:01 +01:00
Michael Natterer 428e8541c3 app: remove unused #includes 2010-11-04 22:30:30 +01:00
Michael Natterer b7a674285f app: derive GimpCageOptions directly from GimpToolOptions 2010-11-04 22:28:47 +01:00
Michael Natterer 33a8c15403 app: large scale formatting cleanup in the new cage code
- move enum to the new gimp-gegl-enums.[ch]
- clean up includes
- spacing
- indentation
- coding style
2010-11-04 22:16:27 +01:00
Martin Nordholts 5ce581f797 app: Use Shift+G for Cage Tool
We can't use Shift+R which is taken by the rotate tool, so use Shift+G
instead. G is for "Green coordinate".
2010-11-04 21:44:31 +01:00
Michael Natterer 26ca306cc9 app: Makefile formatting cleanup 2010-11-04 21:08:51 +01:00
Alexia Death d2563a69fd app: Cleanup in preparation of merge 2010-11-04 20:27:11 +02:00
Alexia Death dfd5470a2e Merge remote branch 'origin/master' into soc-2010-cage-2 2010-11-04 20:00:36 +02:00
Alexia Death 040c415905 app: Fix cage operaton cliping offset 2010-11-04 19:54:07 +02:00
Alexia Death 27c77e6a5e Merge branch 'master' into soc-2010-cage-2 2010-11-04 00:41:45 +02:00
Alexia Death 9b96120c31 app: Make cage tool behave nice with offset layers 2010-11-04 00:26:43 +02:00
Alexia Death e529428a68 app: Make cage tool apply to layer mask as well if one is present 2010-11-04 00:26:04 +02:00
Michael Natterer 9208834880 app: make the blob shape widgets more compact 2010-11-03 09:53:18 +01:00
Michael Natterer aa846ec451 app: use spin scales for the ink options 2010-11-02 23:30:47 +01:00
Michael Natterer d5ff5b6748 app: get rid of more tables in the tool options and fix up spacing a bit 2010-11-02 22:14:34 +01:00
Michael Natterer 6ee6fb9b81 app: use a spin scale for the aspect ratio
even though a non-log scale is totally broken here, but that at least
creates pressure for finding a solution...
2010-11-02 22:01:15 +01:00
Michael Natterer bf14241f26 app: make the brush size reset button smaller 2010-11-02 21:57:37 +01:00
Alexia Death 1ae2ad8566 app: Generic cage cleanup 2010-11-02 21:28:30 +02:00
Alexia Death f09f6dae06 app: Make cage tool work with gegl master 2010-11-02 20:56:53 +02:00
Mikael Magnusson 90e525ca09 app: use a spin scale for the brush size (have to limit size to 1000 temporarily) 2010-11-02 14:41:21 +01:00
Michael Natterer 8f991c5950 app: make the brush, pattern etc selecing boxes more compact
by integrating their label instead of requiring one externally. This
way we get rid of some more labels in the tool options. Also clean up
tool options further (add more spin scales, and some general
reordering and spacing cleanup).
2010-11-02 14:05:47 +01:00
Michael Natterer 9cb69b80be app: minor fixes 2010-11-01 23:38:17 +01:00
Michael Natterer 7af8cc0e4d app: use a spin scale for fade-length 2010-11-01 22:19:59 +01:00
Michael Natterer 7bfdf76a47 app: use the new opacity prop scale 2010-11-01 22:07:55 +01:00
Michael Natterer 37038ab77f app: add an opacity prop scale 2010-11-01 22:07:39 +01:00
Michael Natterer 0a98d16814 app: use spin scales for all trivial cases in tool options 2010-11-01 21:48:59 +01:00
Michael Natterer 8bf497294e app: enable adjustment based prop widgets for all numeric param types 2010-11-01 21:48:19 +01:00
Michael Natterer fc0e19022e app: use a spin scale for the jitter amount 2010-11-01 21:03:01 +01:00
Michael Natterer e84a0eebf9 app: fix gimp_prop_spin_scale_new() by setting the pspec on the right object 2010-11-01 20:54:43 +01:00
Michael Natterer 864e6bdfc0 app: don't show a text cursor when not over the editable text 2010-11-01 20:51:13 +01:00
Michael Natterer 5e58df8aa8 app: use a GimpSpinScale for the brush angle, please test and comment! 2010-11-01 20:04:53 +01:00
Michael Natterer 01f4bad1f6 app: add gimp_prop_spin_scale_new() 2010-11-01 20:04:35 +01:00
Michael Natterer ae3afca697 app: add new widget GimpSpinScale which is a combined spinbutton and scale 2010-11-01 20:03:39 +01:00
Martin Nordholts df0772fcde app: Add 'crop_set_width_without_pending_rect' regression test
Add regression test 'crop_set_width_without_pending_rect' for "Bug
322396 - Crop dimension entering causes crash".
2010-10-31 15:09:03 +01:00
Martin Nordholts 48690d60e1 app: Add gimp_tools_get/set_tool_options_gui()
Add gimp_tools_get_tool_options_gui() and
gimp_tools_set_tool_options_gui() widgets utility functions.
2010-10-31 13:05:15 +01:00
Martin Nordholts cba98e1bc0 app/tests: Run tests on an Xvfb X server if available
Add a configure check for xvfb-run and run tests with that if
available. This makes it possible to easily run UI tests in headless
environments such as a server that does nightly builds; one just needs
to make sure xvfb-run is available.
2010-10-31 08:22:05 +01:00
Michael Natterer 29d63afbb7 pdb: remove gimp-item-to-selection again 2010-10-30 22:19:22 +02:00
Michael Natterer 457a46a04c pdb: add new selection API which has less parameters than the old one
and uses the new context properties instead. This is work in progress
and subject to change. Don't use it in plug-ins/scripts yet!
2010-10-30 22:06:20 +02:00
Michael Natterer 108c6f4e41 pdb: preemtively update context docs for upcoming selection API changes 2010-10-30 21:58:00 +02:00
Alexia Death 8663b22c2a app: Fixes to brush scale->size replacement 2010-10-30 21:38:54 +03:00
Michael Natterer ae742f0920 app: some cleanup in the new brush size code 2010-10-30 19:56:24 +02:00
Alexia Death 5d42803d7f app: Expose brush size in pixels, not as ratio 2010-10-30 19:51:07 +03:00
Michael Natterer b9a7c121a4 app: don't inherit from GtkHBox or GtkVBox
Instead, inherit from GtkBox directly and set the orientation in
init().  Replace more gtk_container_add() by gtk_box_pack_start() in
the reparented classes.
2010-10-30 15:44:46 +02:00
Michael Natterer 060a08da5a app: +1 2010-10-30 15:43:56 +02:00
Michael Natterer 56dee7245a app: and one more 2010-10-30 15:43:17 +02:00
Michael Natterer ebc92dc5b4 app: more gtk_container_add -> gtk_box_pack_start 2010-10-30 15:42:25 +02:00
Michael Natterer b2a2e3200e app: derive GimpDisplayShell from GtkBox instead of GtkVBox
and avoid gtk_container_add() on boxes in some more plavces.
2010-10-30 15:12:20 +02:00
Michael Natterer 79f0f5639b Don't use gtk_container_add() for adding to GtkBoxes
because the packing options are different for GtkH/VBox and GtkBox
itself which is now instantiable. Instead, always use
gtk_box_pack_start() and specify expanding explicitely.
2010-10-30 14:57:56 +02:00