Commit graph

2034 commits

Author SHA1 Message Date
Sven Neumann 615ad68d78 documentation based on a patch from Tom Lechner (bug #346959).
2006-07-10  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpdrawtool.c: documentation based on a patch from
	Tom Lechner (bug #346959).
2006-07-10 07:21:09 +00:00
Sven Neumann dd5962fa67 Applied patch from Zbigniew Chyla (bug 345982):
2006-06-27  Sven Neumann  <sven@gimp.org>

	Applied patch from Zbigniew Chyla (bug 345982):

	* app/widgets/gimpactiongroup.c
(gimp_action_group_add_string_actions)
	strip translation context from translated entries[i].label.

	* app/tools/gimpmagnifytool.c: added translation context.
2006-06-27 20:11:31 +00:00
Sven Neumann 9282180296 Applied patch from Zbigniew Chyla (bug 345982):
2006-06-27  Sven Neumann  <sven@gimp.org>

	Applied patch from Zbigniew Chyla (bug 345982):

	* app/tools/gimptransformtool.[ch]: added undo_desc field for
	storing undo string and use that, not tool_info->blurb.

	* app/tools/gimpfliptool.c
	* app/tools/gimpperspectivetool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpsheartool.c: set undo_desc.
2006-06-27 20:05:56 +00:00
Sven Neumann 12e0bf9090 app/core/gimpchannel-select.c app/core/gimpdrawable-bucket-fill.c
2006-06-27  Sven Neumann  <sven@gimp.org>

	* app/core/gimpchannel-select.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpimage-crop.c
	* app/dialogs/image-scale-dialog.c
	* app/tools/gimpforegroundselecttool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpmovetool.c
	* plug-ins/gfig/gfig-dialog.c: applied patch from Zbigniew Chyla
	that adds translation context to some problematic strings
	(bug #345982).
2006-06-27 19:39:48 +00:00
Sven Neumann 9c445e8d47 do not call bounds() and recalc() with a NULL display. Added sanity checks
2006-06-27  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptransformtool.c
(gimp_transform_tool_notify_type):
	do not call bounds() and recalc() with a NULL display.  Added
	sanity checks for the display parameter to both functions.
	Fixes bug #345791.
2006-06-27 18:52:24 +00:00
Sven Neumann 2ec2502644 removed unused includes and stubs.
2006-06-27  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpalignoptions.c: removed unused includes and stubs.
2006-06-27 10:42:03 +00:00
Michael Natterer de603f4f86 always upchain.
2006-06-22  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptransformtool.c: (gimp_transform_tool_control):
	always upchain.

	(gimp_transform_tool_cursor_update): use the small crosshair
	instead of GIMP_CURSOR_MOUSE as default cursor to avoid hotspot
	jumping.

	(gimp_transform_tool_doit): call prepare() after bounds().
2006-06-22 10:15:39 +00:00
Sven Neumann 4a265d02cd don't attempt to reorder to a position >= container->num_children.
2006-06-21  Sven Neumann  <sven@gimp.org>

	* app/tools/gimp-tools.c (gimp_tools_restore): don't attempt to
	reorder to a position >= container->num_children.
2006-06-21 21:59:03 +00:00
William Skaggs 018618d31e Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangleselecttool.c: Always use crosshair cursor
	if shift or ctrl are down; fixes bug #345551.
2006-06-21 20:55:06 +00:00
William Skaggs c646d2eee5 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangleselecttool.c: if there is a floating selection
	and mouse is clicked outside it without movement, anchor it.

	* app/tools/gimprectangletool.c: corner handle area was scaling
	improperly when image was zoomed.
2006-06-21 15:25:10 +00:00
Sven Neumann 7caa909385 added TRANSFORM_HANDLE_NONE (will get rid of TRANSFORM_CREATING later).
2006-06-20  Sven Neumann  <sven@gimp.org>

	* app/tools/tools-enums.h: added TRANSFORM_HANDLE_NONE (will
	get rid of TRANSFORM_CREATING later).

	* app/tools/gimptransformtool.[ch]: added member "use_handles" and
	default to FALSE for all "use_foo" variables.  Only deal with the
	handles the specific transform tool asks for.  Set cursors
	according to the active handle.

	* app/tools/gimpfliptool.c
	* app/tools/gimpperspectivetool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpsheartool.c: changed accordingly.
2006-06-20 08:22:39 +00:00
Sven Neumann 7e82d1623d app/actions/error-console-commands.c app/display/gimpdisplayshell-draw.c
2006-06-19  Sven Neumann  <sven@gimp.org>

	* app/actions/error-console-commands.c
	* app/display/gimpdisplayshell-draw.c
	* app/display/gimpdisplayshell-scale.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimptexttool.c
	* app/widgets/gimpcellrendereraccel.c
	* app/widgets/gimpviewabledialog.c
	* app/widgets/gimpviewrenderer.c: changed casts in calls to
	g_object_add_weak_pointer() to silence compiler warnings.
2006-06-19 17:50:40 +00:00
Sven Neumann 5f7e1ac363 cleanup.
2006-06-19  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpscaletool.c (gimp_scale_tool_motion): cleanup.

	* app/tools/gimptransformtool.c
(gimp_transform_tool_cursor_update):
	simplified; removed checks that didn't change the cursor anyway.
2006-06-19 08:15:50 +00:00
Michael Natterer ff1d2973ac added virtual functions GimpTool::has_display(), which returns whether any
2006-06-18  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptool.[ch]: added virtual functions
	GimpTool::has_display(), which returns whether any tool subclass
	keeps a pointer to the passed display; and GimpTool::has_image()
	which returns a display based on a passed image, or NULL if no
	display matches. Added default implementation of
	GimpTool::control() which sets tool->display to NULL on HALT.

	* app/tools/gimpclonetool.c
	* app/tools/gimpdrawtool.c: implement both functions.

	* app/tools/gimpclonetool.c: removed weak pointer hacks that are
	no longer needed now (and were incomplete anyway).

	* app/tools/tool_manager.c (tool_manager_select_tool)
	(tool_manager_control_active)
	(tool_manager_image_clean_dirty): use the new functions instead of
	peeking around in tool subclasses (and forgetting tools that may
	have display pointers, like the clone tool)

	* app/display/gimpdisplay.c (gimp_display_delete): removed
	fiddling with tool internals here too, control(HALT) on the tool
	is now sufficient to remove any reference to the closed display.
2006-06-18 19:58:49 +00:00
Sven Neumann df7310625a renamed TransformAction enum values to something more descriptive.
2006-06-18  Sven Neumann  <sven@gimp.org>

	* app/tools/tools-enums.h: renamed TransformAction enum values
to
	something more descriptive.

	* app/tools/gimpperspectivetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpsheartool.c
	* app/tools/gimptransformtool.c: changed accordingly.
2006-06-18 17:44:06 +00:00
William Skaggs 27be3ce242 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangleselecttool.c: Fix sporadic crash
	resulting from previous change.
2006-06-14 20:19:49 +00:00
William Skaggs a26b124251 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangleselecttool.c: As suggested by Joao,
	halt tool on changes to selection or image size.
2006-06-14 16:25:19 +00:00
William Skaggs c1d109da12 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimpbycolorselect.c: fix crash when changing
	threshold with no display active.
2006-06-14 15:19:32 +00:00
William Skaggs b01efbffdc Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimpbycolorselect.[ch]: allow modifying threshold
	without having to re-click on image each time.  Fixes
	bug #126748.
2006-06-13 23:47:20 +00:00
William Skaggs 354d247c67 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangleselecttool.c: don't autoshrink when
	there is no display; fixes crash reported by Carol.
2006-06-12 22:17:52 +00:00
William Skaggs 131aad120c Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangleselecttool.c
	* app/tools/gimprectangletool.c: fix three issues identified by
	jimmac: (1) when shift or ctrl are pressed, should start a new
	rect regardless of pointer loc; (2) zoom was incorrectly affecting
	width of sensitive areas; (3) must emit "rectangle-changed" after
	keyboard-driven rectangle movement.
2006-06-12 21:15:22 +00:00
William Skaggs a442179713 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimpellipseselecttool.c (gimp_ellipse_select_tool_draw):
	Call gimp_rectangle_tool_draw.
2006-06-12 00:36:56 +00:00
William Skaggs 77c4b0541e Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangleselecttool.c: handle situations
	where the user "flips" the rectangle while modifying it.
	This solution is not perfect, but better than before.

	* app/tools/gimprectangletool.c: remove unneeded variable.
2006-06-11 23:59:33 +00:00
William Skaggs 990e475d77 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangleselecttool.c
	* app/tools/gimprectangletool.c: make auto-shrink work.  Does
	the wrong thing for ellipse-select, though.
2006-06-11 18:52:42 +00:00
William Skaggs ca059c11d6 Bill Skaggs <weskaggs@primate.ucdavis.edu>
Following up on previous commit, with assist from yosh.

	* app/tools/gimpnewrectselectoptions.[ch]
	* app/tools/gimpnewrectselecttool.[ch]: removed

	* app/tools/gimprectangleselectoptions.[ch]: magic-moved
	from gimpnewrectselectoptions.[ch]

	* app/tools/gimprectangleselecttool.[ch]: magic-moved
	from gimpnewrectselecttool.[ch]

	* app/tools/Makefile.am
	* app/tools/gimp-tools.c
	* app/tools/gimpellipseselecttool.c
	* app/tools/gimpellipseselecttool.h
	* app/tools/gimpselectionoptions.c: change file names to
	refer to moved files.
2006-06-10 21:34:12 +00:00
William Skaggs 36ee184375 Bill Skaggs <weskaggs@primate.ucdavis.edu>
Here is the big change-over, finally.

	* app/tools/gimprectselecttool.[ch]: removed.

	* app/tools/Makefile.am
	* app/tools/gimp-tools.c
	* app/tools/gimpellipseselecttool.c
	* app/tools/gimpellipseselecttool.h
	* app/tools/gimpnewrectselectoptions.c
	* app/tools/gimpnewrectselectoptions.h
	* app/tools/gimpnewrectselecttool.c
	* app/tools/gimpnewrectselecttool.h
	* app/tools/gimpselectionoptions.c
	* app/widgets/gimptoolbox.c
	* menus/image-menu.xml.in: get rid of the "new" in everything
	referring to the new rect select tool, except filenames.  This
	will wait for yosh to perform cvs-magic-foo.

	* app/tools/gimprectangleoptions.[ch]
	* app/tools/gimprectangletool.[ch]: fix a couple of minor
	problems that popped up during testing.
2006-06-10 18:24:58 +00:00
William Skaggs 4742424b78 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimpcroptool.c
	* app/tools/gimpellipseselecttool.c
	* app/tools/gimprectangletool.[ch]: code cleanups

	* app/tools/gimpnewrectselecttool.[ch]: try to do what
	the user intuitively expects when deciding which selection
	operation to perform.  When modifying an existing rectangle,
	always use the operation with which it was created.
2006-06-10 16:49:07 +00:00
William Skaggs c4ffc27293 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimpcropoptions.c: clean up code.

	* app/tools/gimpnewrectselecttool.c: really remove some
	commented-out code.

	* app/tools/gimprectangleoptions.[ch]: add "aspect-square"
	and "controls-expanded" properties.  Show "Make square" and
	"Expand from center" in options so that we don't need modifier
	keys to do this.  Place numerical entries inside an expander
	and hide them by default.
2006-06-10 01:39:10 +00:00
William Skaggs e732c769c9 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/core/core-enums.[ch]: add GimpAlignReferenceType enum

	* app/core/gimpimage-arrange.c: support using a channel as
	reference for alignment.

	* app/tools/gimpaligntool.[ch]: support aligning with a list item,
	image, selection, active layer, active channel, or active path.
	Now similar in form and function to Inkscape Align/Distribute
	dialog.
2006-06-09 21:52:45 +00:00
William Skaggs 9dbc0ee193 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/core/core-enums.[ch]: add GIMP_ARRANGE_FOO values
	to GimpAlignmentType, and change CENTER to HCENTER,
	MIDDLE to VCENTER.

	* app/core/gimpimage-arrange.c: extensively rewritten
	to handle arrangement of objects, and to do the
	required sorting of lists by offset.

	* app/tools/gimpaligntool.[ch]: added ability to arrange
	groups of layers etc with constant spacing.  Also try
	to change things so that the tool aligns with the
	object that users expect intuitively.
2006-06-08 22:15:45 +00:00
William Skaggs 40db64f48c Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/core/gimpimage-arrange.[ch]: added, utility function for
	aligning and arranging things in an image.

	* app/core/gimpitem-align.[ch}: removed, no longer needed.

	* app/core/gimpimage-item-list.[ch] (gimp_image_item_list_align):
	removed this function, no longer used.

	* app/core/Makefile.am: changes described above.

	* app/core/gimpguide.c: remove bit of cruft left accidentally.

	* app/tools/gimpalignoptions.[ch]: remove "alignment type"
	option, not needed at this point.

	* app/tools/gimpaligntool.[ch]: numerous changes, most
	importantly ability to align guides, and use them for
	alignment.  More work coming on this tool.
2006-06-07 21:29:54 +00:00
Sven Neumann 8ad41a0f1a removed extra semicolon to fix build on Solaris (bug #344203).
2006-06-07  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpnewrectselecttool.c: removed extra semicolon to
	fix build on Solaris (bug #344203).
2006-06-07 20:07:54 +00:00
Michael Natterer 7499fc89ff added gimp_guide_get_ID().
2006-06-07  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpguide.[ch]: added gimp_guide_get_ID().

	* app/core/gimpimage-crop.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-flip.c
	* app/core/gimpimage-guides.c
	* app/core/gimpimage-resize.c
	* app/core/gimpimage-rotate.c
	* app/core/gimpimage-scale.c
	* app/core/gimpimage-snap.c
	* app/core/gimpimage-undo-push.c
	* app/display/gimpdisplayshell-draw.c
	* app/display/gimpdisplayshell.c
	* app/tools/gimpmovetool.c
	* app/xcf/xcf-save.c
	* tools/pdbgen/pdb/guides.pdb: use accessors instead of accessing
	GimpGuide's struct members directly.

	* app/pdb/guides_cmds.c: regenerated.
2006-06-07 15:49:59 +00:00
Michael Natterer 1cb89bf43f cosmetic cleanup.
2006-06-07  Michael Natterer  <mitch@gimp.org>

	* app/actions/context-commands.c: cosmetic cleanup.

	* app/core/core-types.h: move the GimpGuide typedef to the
	"misc objects" section.

	* app/tools/gimpforegroundselecttool.c: cosmetic cleanup.

	* app/tools/gimpmeasuretool.c (gimp_measure_tool_cursor_update):
	use the new corner and side cursors instead of using X cursors.

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_tool_events): renamed local variable
	"update_cursor" to "update_sw_cursor", it has confused me too
	often...
2006-06-07 07:30:40 +00:00
William Skaggs a49cc445b8 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/core/gimpguide.c
	* app/core/gimpguide.h: new files, implementing GuideGimp as a GimpObject

	* app/core/Makefile.am: add new files as sources

	* app/core/gimpimage-guides.h
	* app/core/gimpimage-guides.c: use the new object instead of defining
	GimpGuide here as a struct.

	* app/core/gimpimage-crop.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-flip.c
	* app/core/gimpimage-resize.c
	* app/core/gimpimage-rotate.c
	* app/core/gimpimage-scale.c
	* app/core/gimpimage-snap.c
	* app/core/gimpimage-undo-push.c
	* app/core/gimpimage.c
	* app/display/gimpdisplayshell-draw.c
	* app/display/gimpdisplayshell.c
	* app/pdb/guides_cmds.c
	* app/tools/gimpmovetool.c
	* app/xcf/xcf-save.c
	* tools/pdbgen/pdb/guides.pdb: include "core/gimpguide.h", and use
	g_object_ref/unref instead of gimp_image_guide_ref/unref.
2006-06-06 22:48:57 +00:00
Sven Neumann 09c605e28f initialize guide with the option's guide value.
2006-06-07  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c
(gimp_rectangle_tool_initialize):
	initialize guide with the option's guide value.
	(gimp_rectangle_tool_notify_guide): always sync with the
option's
	guide value, even when tool->display is NULL.
2006-06-06 22:24:36 +00:00
Karine Delvare 5113488f94 added guide notification.
2006-06-06  Karine Delvare  <edhel@gimp.org>

	* app/tools/gimprectangle.c: added guide notification.
2006-06-06 21:06:06 +00:00
Sven Neumann 73bdbfb43a removed unused variable; other cleanups.
2006-06-06  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_draw):
removed
	unused variable; other cleanups.
2006-06-06 19:25:53 +00:00
Karine Delvare 0dc6775637 cleanup, moved the guide drawing to a utility function.
2006-06-06  Karine Delvare  <edhel@gimp.org>

	* app/tools/gimprectangletool.c: cleanup, moved the guide drawing
	to a utility function.
2006-06-06 19:14:25 +00:00
Sven Neumann 563af4aea9 minor cleanup.
2006-06-06  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_notify_highlight): minor cleanup.
2006-06-06 18:07:04 +00:00
Michael Natterer b18a520b3f flush the image after changing it.
2006-06-06  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpnewrectselecttool.c
	(gimp_new_rect_select_tool_cancel)
	(gimp_new_rect_select_tool_rectangle_changed): flush the image
	after changing it.

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_halt): don't
	flush it here.
2006-06-06 08:04:49 +00:00
Michael Natterer 64032cbaca subtract 1 from outlined width/height instead of adding 1 to filled.
2006-06-05  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpdrawtool.c
	(gimp_draw_tool_draw_rectangle_by_anchor)
	(gimp_draw_tool_draw_arc_by_anchor): subtract 1 from outlined
	width/height instead of adding 1 to filled.
2006-06-05 21:39:23 +00:00
Michael Natterer 5e30f2f1d6 use GimpDrawTool API, not GimpCanvas one. Some cleanup.
2006-06-05  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_draw): use
	GimpDrawTool API, not GimpCanvas one. Some cleanup.
2006-06-05 20:48:58 +00:00
Karine Delvare 23f86e93b8 added GimpRectangleGuide enum.
2006-06-05  Karine Delvare  <edhel@gimp.org>

	* app/tools/tools-enums.[ch]: added GimpRectangleGuide enum.

	* app/tools/gimpcropoptions.c
	* app/tools/gimprectangleoptions.[ch]
	* app/tools/gimprectangletool.c: added GimpRectangleGuide option to
	draw guides inside the rectangle. Fixes bug #323669.
2006-06-05 18:50:13 +00:00
Michael Natterer d2911f6aee removed enum GimpRectangleMode.
2006-06-05  Michael Natterer  <mitch@gimp.org>

	* app/tools/tools-enums.[ch]: removed enum GimpRectangleMode.

	* app/tools/gimprectangletool.[ch]: added virtual function
	GimpRectangleTool::cancel(). Added public wrapper for it. Removed
	coordinates paramaters from gimp_rectangle_tool_execute(). Removed
	gimp_rectangle_tool_response(), need to call either execute() or
	cancel() now. Added gimp_rectangle_tool_halt() which disconnects
	the tool from the display without canceling it.

	* app/tools/gimpcroptool.c: changed accordingly.

	* app/tools/gimpnewrectselecttool.c: moved the rectangle creating
	code from the execute() implementation to the new function
	gimp_new_rect_select_tool_rect_select(). Added cancel()
	implementation which pops the remembered undo step if
	appropriate. Call the new rect_select() wrapper from
	rectangle_changed() so we don't create the rectangle on both
	button_release *and* execute(), breaking modifiers and stuff.
2006-06-05 17:14:16 +00:00
Sven Neumann 84bac48c7c formatting.
2006-06-05  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c: formatting.
2006-06-05 11:18:43 +00:00
William Skaggs 26db965dd5 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangletool.c:
	* app/tools/gimpnewrectselecttool.c: enable canceling of
	current action by holding down mouse button 3.
2006-06-04 20:34:46 +00:00
Michael Natterer a787ce388f strcmp() the property name, so we don't change the size on random property
2006-06-04  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpscaletool.c (gimp_scale_tool_size_notify):
	strcmp() the property name, so we don't change the size on random
	property changes. Fixes the tool reverting to the previous
	width/height on each new transform (destroying the previous size
	box causes it to emit stuff like "notify::visible").

	(gimp_scale_tool_prepare): additionally, disconnect from the size
	box before destroying it (paranoia).
2006-06-04 19:27:21 +00:00
William Skaggs 2139012641 ll Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimpnewrectselectoptions.c: turn highlighting
	off by default.
2006-06-04 18:47:11 +00:00
William Skaggs e9e265309d Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangletool.c (gimp_rectangle_tool_draw):
	draw anchors in corners; clean up code a bit.

	* app/tools/gimpnewrectselecttool.c: actually remove some code
	previously commented out.
2006-06-04 18:21:56 +00:00