Commit graph

1164 commits

Author SHA1 Message Date
Michael Natterer
d5edd5308e added an API to specify a "snap_offset" and a "snap_width/height". Needed
2003-04-17  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptoolcontrol.[ch]: added an API to specify a
	"snap_offset" and a "snap_width/height". Needed for tools which
	want to snap to a rectangle and/or a position which is not the
	current cursor position.

	* app/display/gimpdisplayshell.[ch]: removed
	gimp_display_shell_find_guide(), gimp_display_shell_snap_point()
	and gimp_display_shell_snap_rectangle().
	Added gimp_display_shell_snap_coords() which works on GimpCoords
	and gets passed the above snap offsets.

	* app/display/gimpdisplayshell-callbacks.c: use the new snap
	function, using the values from GimpToolControl.

	* app/tools/gimpcroptool.c: set snap offsets so the handles can be
	guide-aligned after creating. Fixes bug #110957.

	* app/tools/gimpeditselectiontool.c: removed snapping code (which
	was broken anyway) and set appropriate snap offsets in
	init_edit_selection().
2003-04-17 02:57:33 +00:00
Michael Natterer
8cee4963fb check for GIMP_IS_DISPLAY(gdisp) again.
2003-04-15  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptool.c: check for GIMP_IS_DISPLAY(gdisp) again.

	* app/tools/gimptool.h: don't #include "gimptoolcontrol.h"

	* app/tools/[all tools].c: #include "gimptoolcontrol.h"
2003-04-15 16:05:52 +00:00
Sven Neumann
032c13098d app/tools/Makefile.am app/tools/gimptoolgui.[ch] removed unused files.
2003-04-15  Sven Neumann  <sven@gimp.org>

	* app/tools/Makefile.am
	* app/tools/gimptoolgui.[ch]
	* app/tools/gimptoolmodule.[ch]: removed unused files.
2003-04-15 14:24:03 +00:00
Sven Neumann
0c399e5c93 Removed support for pluggable tools:
2003-04-15  Sven Neumann  <sven@gimp.org>

	Removed support for pluggable tools:

	* configure.in: bumped version number to 1.3.15.

	* Makefile.am
	* libgimpproxy
	* libgimptool
	* plug-ins/Makefile.am
	* plug-ins/plugin-helper
	* plug-ins/tools: removed libgimpproxy, libgimptool and plug-ins
	that used it.

	* tools/Makefile.am
	* tools/gimp-mkproxy: removed tool that used to generate
	libgimpproxy.

	* app/core/core-enums.h
	* app/core/gimpchannel.h
	* app/display/display-types.h
	* app/widgets/widgets-enums.h: removed proxy-skip/resume stuff.

	* app/core/gimpobject.c: use gimp marshallers.

	* app/tools/Makefile.am
	* app/tools/gimptool.h
	* app/tools/tools-enums.[ch]: moved these files back from
	libgimptool.

	* app/tools/gimptool.c
	* app/tools/gimptoolcontrol.h: merged back functionality from
	libgimptool.

	* app/Makefile.am
	* app/display/gimpdisplay.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/gui/tools-commands.c
	* app/tools/gimpairbrushtool.c
	* app/tools/gimpbucketfilltool.h
	* app/tools/gimpdrawtool.h
	* app/tools/gimpimagemaptool.h
	* app/tools/gimpinktool.h
	* app/tools/gimptoolmodule.c
	* app/tools/tool_manager.c
	* app/tools/tools-types.h
	* app/tools/tools.c
	* tools/pdbgen/Makefile.am: changed accordingly.
2003-04-15 14:20:19 +00:00
Michael Natterer
1d5d809c93 use a smaller preview size for the gradient popup than for the button.
2003-04-15  Michael Natterer  <mitch@gimp.org>

	* app/tools/paint_options.c (gimp_paint_options_gui): use a smaller
	preview size for the gradient popup than for the button.
2003-04-15 11:11:25 +00:00
Michael Natterer
21cd66d275 made gimp_vector_tool_clear_vectors() private. Connect to the vector's
2003-04-14  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpvectortool.[ch]: made
	gimp_vector_tool_clear_vectors() private. Connect to the vector's
	"changed" signal (and do nothing in the callback for now...).
	Alwayws set tool->gdisp in button_press(). Use for() loops to
	iterate strokes. Fixed gimp_vector_tool_set_vectors() to hopefully
	do the right thing in all cases now. s/ptr/list/g. Cleanup.
2003-04-14 14:52:00 +00:00
Simon Budig
740983b06f app/vectors/gimpstroke.[ch] Changed vectors->strokes to a GList and
2003-04-14  Simon Budig  <simon@gimp.org>

        * app/vectors/gimpstroke.[ch]
        * app/vectors/gimpvectors.[ch]: Changed vectors->strokes to a
        GList and removed stroke->next. Implemented stuff for duplicating
        strokes. Duplicating a vector works now.

        * app/tools/gimpvectortool.c: added not-yet-used function to
        determine where a click has been. Refcounting stuff changed.

        * app/core/gimpimage-mask-select.c
        * app/paint/gimppaintcore-stroke.c: Changed accordingly.
2003-04-14 00:37:04 +00:00
Michael Natterer
4799083c69 g_memdup() the segments returned by gimp_image_mask_boundary(). Just
2003-04-13  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpeditselectiontool.c (init_edit_selection):
	g_memdup() the segments returned by gimp_image_mask_boundary().
	Just caching the pointers leads to bug #22375 because the image's
	mask boundary changes while we live-move stuff.

	* app/tools/gimpmovetool.c (gimp_move_tool_button_press): pause
	the selection when starting to move a guide, since we also resume
	it when we're finished.

	(both bugs tracked down by Pedro Gimeno).
2003-04-13 11:43:47 +00:00
Michael Natterer
a4be816fa6 app/widgets/gimpcontainerpopup.[ch] added "preview_size" and
2003-04-12  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainerpopup.[ch]
	* app/widgets/gimpviewablebutton.[ch]: added "preview_size" and
	"preview_border_width" parameters to the constructors and use them
	when creating the popup.

	* app/tools/gimptextoptions.c
	* app/tools/paint_options.c
	* app/widgets/gimptemplateeditor.c: changed accordingly. Create the
	icon popup without borders.
2003-04-12 20:02:16 +00:00
Michael Natterer
f82440ff48 made object properties G_PARAM_READWRITE by default. Added flag
2003-04-12  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpconfig-params.h: made object properties
	G_PARAM_READWRITE by default. Added flag GIMP_PARAM_AGGREGATE
	which indicates that an object property is not a reference but a
	real part of its owner.

	* app/config/gimpconfig-deserialize.c: g_object_set_property()
	object properties only if they are not GIMP_PARAM_AGGREGATE.

	* app/config/gimpconfig-utils.c (gimp_config_copy_properties,
	gimp_config_reset_properties): copy and reset GIMP_PARAM_AGGREGATE
	object properties correctly.

	* app/config/gimpconfig-serialize.c: don't call
	gimp_config_writer_open/close() for properties which are handled
	by a GimpConfigIface::serialize_property() implementation.

	* app/core/gimpcontext.c: removed exlicit G_PARAM_WRITABLE from
	object properties since that's the default now. Call
	gimp_config_writer_open/close() when serializing properties.

	* app/core/gimpviewable.c (gimp_viewable_get_property): use
	gimp_viewable_get_stock_id().
	(gimp_viewable_set_stock_id): set stock_id to NULL if the new
	stock_id is the same as viewable_class->default_stock_id.
	Added serialize_property() which skips stock_id serialization
	if it is NULL.

	* app/tools/gimptextoptions.c: made the "text" property
	GIMP_PARAM_AGGREGATE. Added gimp_text_options_set_property()
	(which does nothing).

	* app/widgets/gimptemplateeditor.[ch]: added an optional
	GimpViewableButton to change the template's icon.

	* app/gui/file-new-dialog.c: create it with the icon button so it
	gets some testing.
2003-04-12 19:06:25 +00:00
Michael Natterer
2598142564 added gimp_context_type_to_prop_name().
2003-04-10  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcontext.[ch]: added gimp_context_type_to_prop_name().

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpviewablebutton.[ch]: new widget implementing
	the wheel-scrollable preview button.

	* app/tools/gimptextoptions.c
	* app/tools/paint_options.[ch]: removed the code implementing the
	same and use GimpViewableButton.

	* app/tools/tool_manager.c: added the font to the context
	properties which are remembered per tool. Added an evil hack
	using g_object_set_data() to pass the global_dock_factory to
	tool option GUI constructors.
2003-04-10 10:34:56 +00:00
Michael Natterer
30b303edb8 fixed boolean logic bug introduced by the fix for bug #110173. Spotted by
2003-04-09  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpeditselectiontool.c
	(gimp_edit_selection_tool_button_release): fixed boolean logic bug
	introduced by the fix for bug #110173. Spotted by Pedro Gimeno.
2003-04-09 16:29:58 +00:00
Michael Natterer
d2fbc95c43 added paint_options_container_scrolled() utility function which
2003-04-09  Michael Natterer  <mitch@gimp.org>

	* app/tools/paint_options.[ch]: added
	paint_options_container_scrolled() utility function which
	wheel-scrolls a container. Use it for the brush and pattern
	previews. Added a gradient preview.

	* app/tools/gimpblendoptions.c: removed the gradient preview here.

	* app/tools/gimptextoptions.c: use the new function to scroll
	the font list.
2003-04-08 22:43:20 +00:00
Michael Natterer
bfe98456e4 removed the pattern preview...
2003-04-08  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpbucketfilloptions.c: removed the pattern preview...

	* app/tools/paint_options.c: ...and added it here so all paint
	tools can use it if needed. Added a pattern preview to the clone
	tool options.
2003-04-08 20:08:37 +00:00
Sven Neumann
0dd49fd559 another patch from Pedro Gimeno that addresses problems displaying the
2003-04-07  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpeditselectiontool.c (selection_transform_segs):
	another patch from Pedro Gimeno that addresses problems displaying
	the selection border (bug #110014).
2003-04-07 16:30:38 +00:00
Sven Neumann
02fec0809b applied a patch from Pedro Gimeno that removes the confusing misfeature of
2003-04-07  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpeditselectiontool.c
	(gimp_edit_selection_tool_button_release): applied a patch from
	Pedro Gimeno that removes the confusing misfeature of anchoring
	the floating selection if it wasn't moved (bug #110173).
2003-04-07 13:22:50 +00:00
Michael Natterer
43356fa076 applied a (modified) patch from Pedro Gimeno that fixes bug #110115.
2003-04-07  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpeditselectiontool.c: applied a (modified) patch
	from Pedro Gimeno that fixes bug #110115.
2003-04-07 09:31:28 +00:00
Sven Neumann
fd4743a9c4 themes/Default/images/Makefile.am
2003-04-04  Sven Neumann  <sven@gimp.org>

	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-gradient-bilinear-16.png
	* themes/Default/images/stock-gradient-conical-asymmetric-16.png
	* themes/Default/images/stock-gradient-conical-symmetric-16.png
	* themes/Default/images/stock-gradient-linear-16.png
	* themes/Default/images/stock-gradient-radial-16.png
	* themes/Default/images/stock-gradient-shapeburst-angular-16.png
	* themes/Default/images/stock-gradient-shapeburst-dimpled-16.png
	* themes/Default/images/stock-gradient-shapeburst-spherical-16.png
	* themes/Default/images/stock-gradient-spiral-anticlockwise-16.png
	* themes/Default/images/stock-gradient-spiral-clockwise-16.png
	* themes/Default/images/stock-gradient-square-16.png
	* libgimpwidgets/gimpstock.[ch]: added new icons drawn by Jimmac.

	* app/tools/gimpblendoptions.c (gimp_blend_options_gui): use the
	new icons in the gradient type menu.
2003-04-04 21:53:54 +00:00
Michael Natterer
9820b157ba the "color" option's label was saying "Size". Changed it to "Color".
2003-04-04  Michael Natterer  <mitch@gimp.org>

	* app/tools/paint_options.c (pressure_options_gui): the "color"
	option's label was saying "Size". Changed it to "Color".
2003-04-04 10:13:13 +00:00
Michael Natterer
4865105f41 don't forget to resume the selection after cancelling a guide drag.
2003-04-03  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpmovetool.c (gimp_move_tool_button_release): don't
	forget to resume the selection after cancelling a guide drag.
	Spotted by Pedro Gimeno.
2003-04-03 17:37:31 +00:00
Sven Neumann
0dad41aec4 use a fixed size for the popup and clamp to a maximum size (should
2003-04-01  Sven Neumann  <sven@gimp.org>

	* app/text/gimpfont.c: use a fixed size for the popup and clamp to
	a maximum size (should actually use GIMP_PREVIEW_MAX_SIZE here).

	* app/text/gimptext.c
	* app/tools/gimptextoptions.c: minor string changes.
2003-04-01 00:35:38 +00:00
Sven Neumann
a8f83bc078 when the user has changed the layer name from the layers dialog, don't
2003-03-31  Sven Neumann  <sven@gimp.org>

	* app/text/gimptextlayer.[ch]: when the user has changed the layer
	name from the layers dialog, don't change it with the text any longer.

	* app/tools/gimpmovetool.c: removed redundant include.

	* app/widgets/gimpcontainerpopup.c
	* app/widgets/widgets-enums.[ch]: fixed spelling.
2003-03-31 17:47:00 +00:00
Sven Neumann
a93e91f38e themes/Default/images/Makefile.am
2003-03-31  Sven Neumann  <sven@gimp.org>

	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-text-dir-ltr-24.png
	* themes/Default/images/stock-text-dir-rtl-24.png: placeholders
	for new icons.

	* libgimpwidgets/gimpstock.[ch]: register the new icons.

	* themes/Default/gtkrc: tweak GtkDialog in "gimp-default-style".

	* app/text/text-enums.[ch]
	* app/text/gimptext.[ch]
	* app/text/gimptextlayout.c: added new enum GimpTextDirection and
	use it instead of PangoDirection.

	* app/widgets/widgets-types.h
	* app/widgets/gimptexteditor.[ch]: made GimpTextEditor a real widget
	and added buttons to switch the text direction.

	* app/tools/gimptextoptions.[ch]
	* app/tools/gimptexttool.c: moved creation of the text editor to the
	text tool options, take care of GimpText::base-direction here.
2003-03-31 15:10:15 +00:00
Michael Natterer
529c5e71c4 added "icon_size" parameters to gimp_enum_stock_box_new[_with_range]().
2003-03-31  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpenummenu.[ch]: added "icon_size" parameters
	to gimp_enum_stock_box_new[_with_range]().

	* app/tools/gimpcurvestool.c
	* app/widgets/gimppropwidgets.c: changed accordingly.

	* app/widgets/gimpeditor.[ch]: added gimp_editor_add_stock_box().

	* app/widgets/widgets-enums.[ch]: register GimpViewType with
	the type system.

	* app/widgets/gimpcontainerpopup.c: use a stock box for the
	view as list/grid buttons.
2003-03-31 12:09:09 +00:00
Simon Budig
6a29d4773e app/tools/gimpvectortool.[ch] app/vectors/gimpbezierstroke.c
2003-03-29  Simon Budig  <simon@gimp.org>

        * app/tools/gimpvectortool.[ch]
        * app/vectors/gimpbezierstroke.c
        * app/vectors/gimpstroke.[ch]
        * app/vectors/vectors-types.h: More vector tool stuff. Control
        handles start to behave...
2003-03-29 04:47:44 +00:00
Michael Natterer
f13f80f04a added "position" and "push_undo" parameters to gimp_image_add_[vh]guide().
2003-03-28  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-guides.[ch]: added "position" and "push_undo"
	parameters to gimp_image_add_[vh]guide(). Start with a refcount
	of 1, not 0 (EEK). Added gimp_image_guide_[un]ref(). Added
	"position" parameter to gimp_image_add_guide(). Added new
	function gimp_image_move_guide(). All functions push guide
	undos correctly and call gimp_image_update_guide() so this
	doesn't need to be done by callers.

	* app/core/gimpimage-crop.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-resize.c
	* app/core/gimpimage-undo-push.c
	* app/core/gimpimage.c
	* app/tools/gimpmeasuretool.c
	* app/xcf/xcf-load.c
	* tools/pdbgen/pdb/guides.pdb: greatly simplyfied all places which
	modify guides: don't fiddle with undo and guide properties
	manually but simply use the API provided.

	* app/tools/gimpmovetool.[ch]: ditto. Changed everything to
	create/move the guide on button_release, not button_press. Enable
	canceling the operation by clicking button3 before releasing
	button1. Keep the guide drawn at its old position until the move
	is finished (fixes bug #75349 and bug #109267).

	* app/pdb/guides_cmds.c: regenerated.
2003-03-28 13:52:01 +00:00
Sven Neumann
4e3b31e989 respect the antialias parameter.
2003-03-28  Sven Neumann  <sven@gimp.org>

	* app/text/gimptext-compat.c: respect the antialias parameter.

	* app/text/gimptext.[ch]
	* app/text/gimptextlayout.c: added autohint property that allows
	to force the use of the Freetype auto-hinter.

	* app/tools/gimptextoptions.c: added check buttons for autohint
	and antialias. You need to patch PangoFT2 if you want to the
	antialias setting to have any effect (see #109370).
2003-03-28 01:35:01 +00:00
Sven Neumann
10faf8d577 added hinting and antialias properties.
2003-03-27  Sven Neumann  <sven@gimp.org>

	* app/text/gimptext.[ch]: added hinting and antialias properties.

	* app/text/gimptextlayout.c: rewrote some parts using the
	PangoFontMap API. Respect hinting and antialias properties.
	(PangoFT2 does not allow to switch antialias off, so that has no
	effect yet.)

	* app/tools/gimptextoptions.c: added a check button that controls
	hinting.
2003-03-27 17:24:53 +00:00
Michael Natterer
af37e71b80 added the scrolled_win to the GimpContainerView struct. Create it in
2003-03-26  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainerview.[ch]: added the scrolled_win
	to the GimpContainerView struct. Create it in init().
	Added gimp_container_view_set_size_request() which adds the
	scrolled_window's scrollbar and frames sizes correctly.

	* app/widgets/gimpcontainergridview.[ch]
	* app/widgets/gimpcontainertreeview.[ch]: removed scrolled windows
	here and use the one from the parent_instance. Use the new utility
	function.

	* app/widgets/gimpcontainertreeview.c: enable searching in the
	name column. Grab the focus in button_press.

	* app/widgets/gimpcontainerpopup.[ch]: added a button_box containing
	zoom in/out, view as list/grid and a button to show the permanently
	open dialog. Added more parameters to gimp_container_popup_new().

	* app/tools/gimpblendoptions.c
	* app/tools/gimpbucketfilloptions.c
	* app/tools/gimptextoptions.c
	* app/tools/paint_options.c: changed accordingly.
2003-03-26 14:56:10 +00:00
Sven Neumann
0ca5b099e5 connect the preview on the context's font object with the font property of
2003-03-26  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptextoptions.c: connect the preview on the
	context's font object with the font property of the text object
	associated to the text tool options.
2003-03-26 01:30:05 +00:00
Sven Neumann
ac014ecf5a fixed the dialog layout I broke 2003-03-26 00:53:25 +00:00
Sven Neumann
10c1e4a7d2 added a gimp_prop_preview on the font property. Doesn't do anything yet
2003-03-26  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptextoptions.c (gimp_text_options_gui): added a
	gimp_prop_preview on the font property. Doesn't do anything yet
	but has a nice popup...
2003-03-26 00:41:26 +00:00
Michael Natterer
8ed375a4ff added GIMP_CONTEXT_PATTERN_MASK to the context properties which are
2003-03-25  Michael Natterer  <mitch@gimp.org>

	* app/tools/tool_manager.c: added GIMP_CONTEXT_PATTERN_MASK to the
	context properties which are remembered per tool options.

	* app/tools/paint_options.[ch]
	* app/tools/gimpblendoptions.c: attach the brush and gradient
	preview to the GtkTable that holds opacity and paint mode.

	* app/tools/gimpbucketfilloptions.c: added a pattern preview
	and popup.
2003-03-25 21:14:48 +00:00
Sven Neumann
28fddfd554 Makefile.am removed this header file.
2003-03-25  Sven Neumann  <sven@gimp.org>

	* Makefile.am
	* gimpintl.h: removed this header file.

	* gimpmiscui.c: include libgimp-intl.h.

	* gimp.c (gimp_main): call setlocale() and bind to the libgimp
	textdomain so that plug-ins don't need to do that explicitely.

	* libgimp/stdplugins-intl.h: added the functionality that used to
	live in gimpintl.h and removed the libgimp related stuff. Got rid
	of the INIT_I18N_UI() macro.

	* plug-ins/*/*.c: removed all occurances of INIT_I18N_UI().
	Plug-ins simply call INIT_I18N() once in their run() function.

	* plug-ins/script-fu/script-fu-intl.h: added the functionality
	that used to live in gimpintl.h and removed the libgimp related
	stuff.

	* app/Makefile.am
	* app/gimp-intl.h: new file that defines the gettext macros for
	the GIMP core.

	* app/*/*.c: include gimp-intl.h instead of libgimp/gimpintl.h.

	* plug-ins/script-fu/scripts/test-sphere.scm: fixed typos.
2003-03-25 16:38:19 +00:00
Sven Neumann
7f22c349db added new functions gimp_enum_menu_set_stock_prefix() and
2003-03-24  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpenummenu.[ch]: added new functions
	gimp_enum_menu_set_stock_prefix() and
	gimp_enum_option_menu_set_stock_prefix() that allow to
	conveniently add stock icons to enum menus.

	* app/tools/gimpcurvestool.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimplevelstool.c: use the new functions here.
2003-03-24 18:04:11 +00:00
Michael Natterer
c40a6f9920 register GimpPaintApplicationMode with the type system.
2003-03-24  Michael Natterer  <mitch@gimp.org>

	* app/paint/paint-enums.[ch]: register GimpPaintApplicationMode
	with the type system.

	* app/paint/gimppaintoptions.[ch]: replaced "gboolean incremental"
	with "GimpPaintApplicationMode application_mode"

	* app/paint/gimpairbrush.c
	* app/paint/gimperaser.c
	* app/paint/gimppaintbrush.c
	* app/paint/gimppencil.c: changed accordingly.

	* tools/pdbgen/pdb/paint_tools.pdb: ditto. Set all paint options
	values using g_object_set().

	* app/widgets/gimppropwidgets.[ch]: added
	gimp_prop_enum_check_button_new() which can represent two
	specified enum values and renders itself "inconsistent" for all
	other values.

	* app/tools/paint_options.c: use it for the "Incremental" toggle.

	* app/pdb/paint_tools_cmds.c
	* tools/pdbgen/enums.pl: regenerated.
2003-03-24 17:58:28 +00:00
Michael Natterer
d1c99beeb4 allow to create a GimpContainerEditor without a popup menu.
2003-03-22  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainereditor.c: allow to create a
	GimpContainerEditor without a popup menu.

	* app/widgets/gimpcellrendererviewable.c: free the event we
	got from gdk_get_current_event().

	* app/widgets/gimpcontainerview.c: check view->hash_table for
	being non-NULL before using it. Be prepared to be destroyed by as
	a result of calling gimp_context_set_foo(view->context, foo).

	* app/widgets/gimpcontainertreeview.[ch]: added
	tree_view->editable_cells and handle *all* mouse clicks in
	gimp_container_tree_view_button_press() (by returning TRUE). Start
	editing on double-click only. Use gtk_tree_view_set_cursor()
	instead of gtk_tree_selection_select_path() to avoid
	selected/focus confusion when the focus enters the widget. Be
	prepeared to be destroyed as a result of item selection.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcontainerpopup.[ch]: new GtkWindow derived
	widget which pops up a selection of any GimpContainer/GimpContext
	combo.

	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimpitemtreeview.c: add the name cell to
	tree_view->editable_cells so it becomes editable.

	* app/tools/gimpblendoptions.c
	* app/tools/paint_options.c: use the new container popup for
	selecting brushes and gradients.
2003-03-22 16:26:11 +00:00
Michael Natterer
906c5a9f38 removed gdisp->draw_guides and gdisp->snap_to_guides.
2003-03-20  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplay.[ch]: removed gdisp->draw_guides
	and gdisp->snap_to_guides.

	* app/display/gimpdisplayshell.[ch]: added shell->snap_to_guides.
	Added the state of guide, selection and active_layer visibility to
	the GimpDisplayShellVisibility struct so they can be configured
	separately for fullscreen mode. Update the popup_factory in
	gimp_display_shell_real_scaled() only if this is the active
	display.

	* app/display/gimpdisplayshell-appearance.[ch]: added accessors
	for selection, active_layer and guide visibility.

	* app/display/gimpdisplayshell-selection.[ch]: changed
	accordingly.  Changed the selection and active_layer toggle
	functions to *_set_hidden().

	* app/display/gimpdisplayshell-callbacks.c
	* app/gui/image-menu.c
	* app/gui/view-commands.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpmovetool.c: changed accordingly.

	* app/gui/gui.c (gui_display_new): update the menubar_factory
	*after* making the new display the active one.
2003-03-20 11:31:33 +00:00
Simon Budig
aac6a44ff0 app/tools/gimpvectortool.[ch] Fixed crashes and weird problems when the
2003-03-20  Simon Budig  <simon@gimp.org>

        * app/tools/gimpvectortool.[ch]
        Fixed crashes and weird problems when the tool changed images or
        images got closed. Fixes Bug #108318.

        * app/vectors/vectors-types.h: More sane names for the
        GimpAnchorType enum.

        * app/vectors/gimpbezierstroke.c
        * app/vectors/gimpstroke.c: changed accordingly.
2003-03-19 23:51:43 +00:00
Michael Natterer
1d7ba472cd added GIMP_UNDO_GROUP_MASK.
2003-03-19  Michael Natterer  <mitch@gimp.org>

	* app/core/core-enums.[ch]: added GIMP_UNDO_GROUP_MASK.

	* app/tools/gimpeditselectiontool.c: use it for mask moving.
	Made the "undo_desc" strings more specific.

	* app/core/gimpundo.c: add it to the list of undo types for
	which mask previews are created.

	* app/core/gimpimage.c: s/Add Layer to Image/Add Layer/g etc.
2003-03-19 16:58:17 +00:00
Sven Neumann
e6ce8202d3 tweaked the dialog layout a little.
2003-03-19  Sven Neumann  <sven@gimp.org>

	* app/tools/gimplevelstool.c: tweaked the dialog layout a little.
2003-03-19 12:23:03 +00:00
Michael Natterer
1329e016d2 app/core/gimpimage-mask.[ch] (gimp_image_mask_translate) added "gboolean
2003-03-18  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage-mask.[ch] (gimp_image_mask_translate)
	* app/core/gimplayer.[ch] (gimp_layer_translate): added
	"gboolean push_undo" parameters.

	* app/core/gimpimage-crop.c
	* app/core/gimpimage-resize.c
	* app/display/gimpdisplayshell-dnd.c
	* app/gui/layers-commands.c
	* app/widgets/gimptoolbox.c
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/selection.pdb: changed accordingly.

	* app/pdb/layer_cmds.c
	* app/pdb/selection_cmds.c: regenerated.

	* app/core/gimpimage-undo-push.c (undo_pop_layer_displace): call
	gimp_layer_translate() with "push_undo == FALSE" instead of
	duplicating gimp_layer_translate()'s code. Use GimpItemUndo for
	GIMP_UNDO_MASK.

	* app/tools/gimpeditselectiontool.c
	(gimp_edit_selection_tool_cursor_key): check if the top undo on
	the stack is of exactly the same type as the undo we would push
	and just don't push it then (compresses layer translate undos and
	fixes bug #86362). Changed stuff work with CAPS_LOCK or other
	modifiers pressed.
2003-03-18 16:42:45 +00:00
Michael Natterer
884b3aa7a3 Made drawable/layer properties (visibility, opacity etc.) undoable (fixes
2003-03-17  Michael Natterer  <mitch@gimp.org>

	Made drawable/layer properties (visibility, opacity etc.)
	undoable (fixes bug #73893).

	* app/core/core-enums.[ch]: added undo types/groups for
	visibility, mode, opacity, linked and preserve_trans.

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpitemundo.[ch]: new GimpUndo subclass which holds a
	ref'ed GimpItem pointer so (1) this doesn't need to be done by all
	undo steps related to an item and (2) the item the undo step is
	for can be determined from outside the undo system.

	* app/core/gimpimage-undo.[ch]: added gimp_image_undo_push_item()
	which returns a new GimpItemUndo.

	* app/core/gimpimage-undo-push.[ch]: use it for all item related
	undo steps. Removed lots of GimpItem, GimpLayer, GimpDrawable
	and GimpVectors pointers from the private undo structs. Added
	undo push functions for the new undo types added above.

	* app/core/gimpdrawable.[ch] (gimp_drawable_set_visible): added
	"gboolean push_undo" parameter.

	* app/core/gimplayer.[ch] (gimp_layer_set_opacity, _mode,
	_preserve_trans, _linked): added "gboolean push_undo" parameters.

	* app/core/gimpimage-mask.c
	* app/core/gimpimage-merge.c
	* app/core/gimplayer-floating-sel.c
	* app/tools/gimpmovetool.c
	* app/xcf/xcf-load.c
	* app/widgets/gimpdrawablelistitem.c
	* app/widgets/gimplayerlistitem.c
	* app/widgets/gimplayerlistview.c: changed accordingly.

	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/layer.pdb: ditto. Added '$undo' paramaters to
	the foo_accessors() functions. Removed $func from foo_accesors()
	because we don't manipulate items without using getters/setters
	any longer.

	* app/pdb/channel_cmds.c
	* app/pdb/layer_cmds.c: regenerated.

	* app/widgets/gimpcellrenderertoggle.[ch]: added "clicked" signal
	which carries an additional "GdkModifierType state" parameter as
	in GimpCellRendererViewable .

	* app/widgets/gimpcontainertreeview.c: emit "clicked" from
	the toggle renderer, not "toggled" so the callbacks get the
	modifier state.

	* app/widgets/gimpdrawabletreeview.c: resurrected the "exclusive
	visible by <shift>+click" feature as in 1.2.

	* app/widgets/gimplayertreeview.c: compress layer opacity undos by
	looking at the top of the undo stack and not pushing an undo if
	there already is a GIMP_UNDO_DRAWABLE_OPACITY for the active
	layer.
2003-03-17 18:02:41 +00:00
Sven Neumann
54cdc69c3e set a window type hint of GDK_WINDOW_TYPE_HINT_UTILITY for info windows
2003-03-16  Sven Neumann  <sven@gimp.org>

	* app/gui/info-dialog.c: set a window type hint of
	GDK_WINDOW_TYPE_HINT_UTILITY for info windows (fixes bug #92175).

	* app/tools/gimpcolorpickertool.c: give the color area more space.
2003-03-16 17:40:38 +00:00
Sven Neumann
70c61f66c2 check for gdk-pixbuf-csource and allow to override it by setting the
2003-03-16  Sven Neumann  <sven@gimp.org>

	* configure.in: check for gdk-pixbuf-csource and allow to override
	it by setting the GDK_PIXBUF_CSOURCE environment variable.

	* themes/Default/images/Makefile.am: use the gdk-pixbuf-csource
	executable that was found at configure time.

	* app/base/levels.c: cosmetic change.

	* app/tools/gimplevelstool.c: allow to pick white, gray and black
	point for all channels. Allows for easy white-point balancing.

	* plug-ins/script-fu/scripts/3dTruchet.scm: restore the foreground
	color when the script is done (see bug #108473).
2003-03-16 17:00:40 +00:00
Sven Neumann
85323a3c2a implemented this function which used to be a an empty stub.
2003-03-15  Sven Neumann  <sven@gimp.org>

	* app/base/levels.c (levels_adjust_by_colors): implemented this
	function which used to be a an empty stub.

	* app/tools/gimplevelstool.c: implemented the missing
	functionality behind the color picker buttons I added some time
	ago.
2003-03-15 15:02:36 +00:00
Sven Neumann
1657c4d62b themes/Default/images/Makefile.am
2003-03-14  Sven Neumann  <sven@gimp.org>

	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-curve-free-16.png
	* themes/Default/images/stock-curve-smooth-16.png: added new icons
	provided by Tuomas Kuosmanen <tigert@gimp.org>.

	* libgimpwidgets/gimpstock.[ch]: register the new icons.

	* app/tools/gimpcurvestool.[ch]: use radio buttons with the new
	curve type icons.
2003-03-14 23:24:37 +00:00
Sven Neumann
edaab6c3b4 app/base/base-enums.[ch] changed CurvesType enum GimpCurveType and
2003-03-14  Sven Neumann  <sven@gimp.org>

	* app/base/base-enums.[ch]
	* app/base/curves.[ch]: changed CurvesType enum GimpCurveType and
	register it with the type system.

	* app/tools/gimpcurvestool.c: use an enum menu here.
2003-03-14 19:58:59 +00:00
Sven Neumann
46c234c774 some cleanup to event handling and drawing code. Doesn't draw outside the
2003-03-14  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpcurvestool.[ch]: some cleanup to event handling
	and drawing code. Doesn't draw outside the expose_event handler
	any longer but could still be improved.
2003-03-14 13:42:39 +00:00
Sven Neumann
632b7f8ac6 app/display/gimpdisplayshell-callbacks.c app/display/gimpdisplayshell.[ch]
2003-03-11  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell.[ch]
	* app/gui/image-menu.c
	* app/gui/view-commands.[ch]: added a fullscreen mode for the
	image display by means of gtk_window_fullscreen/unfullscreen.
	Depends on the window manager implementing _NET_WM_STATE_FULLSCREEN.

	* app/tools/gimpcroptool.c: made gimp_crop_tool_draw() static.

	* app/tools/gimptexttool.[ch]: derive from GimpDrawTool, no real
	changes yet.
2003-03-11 01:22:57 +00:00