Commit graph

583 commits

Author SHA1 Message Date
Michael Natterer 3ed7073f9a fill empty "default" with a "break" (#9431). g_path_is_absolute wants a
2000-04-26  Michael Natterer  <mitch@gimp.org>

	* app/free_select.c: fill empty "default" with a "break" (#9431).
	* libgimp/gimpenv.c: g_path_is_absolute wants a parameter (#9400).
2000-04-26 00:17:54 +00:00
Sven Neumann 763e495d06 cleaned up the messy spanish translation someone added
fixed compiler warnings, changed some gints to gbooleans

cleaned up namespace and documentation

updated libgimp documentation



--Sven
2000-04-22 19:46:23 +00:00
Garry R. Osgood 0b0742afdc app/bezier_select.c Closes the most recent bezier segfault report; about
2000-04-22 Garry R. Osgood <gosgood@idt.net>
* app/bezier_select.c
Closes the most recent bezier segfault report;
about plotting anchor points on- and off-image.
unable to cite because bugs.gnome.org is not
well. Andrew Thomas handled the only other
buglet I'm aware of at this time.
2000-04-22 18:48:51 +00:00
BST 2000 dfb76fdb64 app/bezier_select.c
Sat Apr 22 14:01:06 BST 2000 <alt@gimp.org>

	* app/bezier_select.c

	Fixed problem pointed out by Garry R. Osgood (manipulating
	control points where curve is closed). Thanks
	again Garry for pointing it out.
2000-04-22 13:09:44 +00:00
Michael Natterer 63dc6ed333 app/fuzzy_select.c app/selection_options.h moved the "Threshold" scale
2000-04-20  Michael Natterer  <mitch@gimp.org>

	* app/fuzzy_select.c
	* app/selection_options.h
	* app/tool_options.c: moved the "Threshold" scale from the fuzzy
	select options to the selection options structure, so none of the
	selection tools needs it's own tools options structure.

	* app/bucket_fill.c: moved "Threshold" after "Sample Merged" as in
	the fuzzy select options.
2000-04-20 15:57:13 +00:00
Michael Natterer 236e4856c0 app/bucket_fill.c app/by_color_select.c app/fuzzy_select.c made the
2000-04-19  Michael Natterer  <mitch@gimp.org>

	* app/bucket_fill.c
	* app/by_color_select.c
	* app/fuzzy_select.c
	* app/preferences_dialog.c: made the "default_threshold" gimprc
	variable work as advertized:

	- initialize the thresholds with it.
	- use it for "Reset".
	- added a widget to the "Tool Options" preferences page.
	- noticed that the "Reset" button of "By Color Select" doesn't
	  behave like all the other "Reset" buttons and changed it to
	  reset the ui, not the selection.
	  (There is now a "None" button and because it was so trivial, I
	  couldn't resist to add "All" and "Invert" buttons, too)

	* libgimp/Makefile.am
	* libgimp/gimpui.c: new file.
	* libgimp/gimpui.h: new function gimp_ui_init() which will be
	called by all plugins which have a ui (not only by those with a
	preview because plugins should always follow gimp's colormap
	installation policy).

	Could someone please check if the FIXME stuff in the function
	is the right thing to do (TM). Does GdkRGB allocate the correct
	colors for the widgets in all cases or do we have to find another
	way to ensure this across processes (gtk instances)?
2000-04-19 14:02:05 +00:00
jtl 5c816c6b38 *** empty log message *** 2000-04-16 12:10:24 +00:00
Michael Natterer 74156c69bd one more fix... 2000-04-13 00:38:04 +00:00
Michael Natterer b88a1ff1ff push an undo group when adding horizontal and vertical guides with
2000-04-13  Michael Natterer  <mitch@gimp.org>

	* app/measure.c: push an undo group when adding horizontal and
	vertical guides with Ctrl+Alt.
2000-04-13 00:23:10 +00:00
Sven Neumann 9a55c77635 use GIMP_HAVE_PARASITES instead of _PARASITES_H, which wasn't defined
* plug-ins/common/gif.c: use GIMP_HAVE_PARASITES instead of
_PARASITES_H, which wasn't defined anymore. Makes comment
parasites work with GIFs again.

* app/measure.c: pressing ALT anywhere outside the handles allows
to move the measure lines.


--Sven
2000-04-12 21:21:36 +00:00
Sven Neumann 31df3ca344 various minor fixes and updates to the german translation
--Sven
2000-04-11 16:34:42 +00:00
Sven Neumann 949b6e3f34 changed GIMP_MIN_RESOLUTION to 5e-3,
a bunch of small cleanups here and there


--Sven
2000-04-06 18:59:48 +00:00
Sven Neumann 743516bfb0 if we cannot load the font we'd like to use, use the gtk+ default font.
* app/app_procs.c: if we cannot load the font we'd like to use,
use the gtk+ default font. Fixes bug #8359.

* app/about_dialog.c
* app/install.c: properly ref/unref fonts

* app/text_tool.[ch]: code cleanup (do not rely on TRUE being 1)

* app/tips_dialog.c: code cleanup and less resizing


--Sven
2000-04-05 22:59:44 +00:00
Michael Natterer 8ed5f8ce06 app/color_panel.[ch] app/color_picker.c removed the public function
2000-04-03  Michael Natterer  <mitch@gimp.org>

	* app/color_panel.[ch]
	* app/color_picker.c
	* app/qmask.c: removed the public function color_panel_free() and
	fake a real widget's behaviour by connecting to the panel widget's
	"destroy" signal.

	* app/channels_dialog.c
	* app/layers_dialog.c: cleaned up and sync'ed the code where
	possible (without changing the logic).
2000-04-03 15:40:30 +00:00
Andy Thomas a677128f0a Sun Apr 2 16:55:47 BST 2000
* app/bezier_select.c

	Curves/Path tool
	Fixed propblem with deleting points. You can now delete the first
	and last point on any open curve (as well as mid-points).

	Also fixed some problems where some points would leave the markers
	on screen after they had been deleted.

	Note you have always been able to delete whole curves by pressing
	the "shift" key when over a point to be deleted in "remove mode".
2000-04-02 16:33:28 +00:00
Garry R. Osgood b9afb940c2 gimp/app/bezier_select.c No fooling, #6903 was not that hard to close; in
2000-04-01 Garry R. Osgood <gosgood@idt.net>

* gimp/app/bezier_select.c
No fooling, #6903 was not that hard to close;
in bezier_edit_point_on_curve(),when point
deletion reduces a curve below the minimum
with which the implementation can cope (2
anchors, four controls) we put it out of its
misery with an invocation of delete_whole_curve().
2000-04-02 01:33:26 +00:00
Manish Singh 5bbe56d364 use the proper local variable on creation, not the uninitialized one.
* app/by_color_select.c: use the proper local variable on creation, not the
uninitialized one. Fixes bug #8149.

-Yosh
2000-03-31 12:23:11 +00:00
Michael Natterer c497d9c140 app/bezier_select.h app/bezier_selectP.h app/by_color_select.[ch]
2000-03-29  Michael Natterer  <mitch@gimp.org>

	* app/bezier_select.h
	* app/bezier_selectP.h
	* app/by_color_select.[ch]
	* app/ellipse_select.[ch]
	* app/free_select.[ch]
	* app/move.[ch]
	* app/rect_select.[ch]: kindof selection tools code review:

	- use SelectOps instead of int.
	- removed some unused prototyped and callbacks.
	- don't show the SELECTION_MOVE_MASK cursor if there is no
	  selection and don't try to move the mask in that case.
	- re(?)-enabled moving the selection mask even if there is a
	  floating selection.
	- usual bunch of cleanups.
2000-03-28 23:39:32 +00:00
Sven Neumann b7940e1ebf new function gimp_dialog_hide() that calls gdk_window_withdraw() after
gtk_widget_hide() so dialogs actually go away even if the user iconified
them before. Should fix bugs #2961, #5293, #6441 and #7849.


--Sven
2000-03-28 23:02:05 +00:00
Sven Neumann e585b34327 hide the file_selector when the main dialog is unmapped
* app/curves.c:
* app/levels.c: hide the file_selector when the main dialog is unmapped

* app/fileops.c: indentation


--Sven
2000-03-27 19:57:02 +00:00
Michael Natterer e89a344148 the button_press and cursor_update functions were still doing checks on
2000-03-27  Michael Natterer  <mitch@gimp.org>

	* app/transform_core.c: the button_press and cursor_update
	functions were still doing checks on the active layer instead of
	the active drawable.
	Fixing this automatically made the layers mask transformable.
2000-03-27 00:55:28 +00:00
Garry R. Osgood 3baaaaa33b gimp/app/bezier_select.c in bezier_add_point(), when a BEZIER_MOVE type
2000-03-26 Garry R. Osgood <gosgood@idt.net>

* gimp/app/bezier_select.c
in bezier_add_point(), when a BEZIER_MOVE type
point is being added to a path with at least
one extant segment, the point is re-typed
to a BEZIER_ANCHOR (which is old behavior)
and designated as the current anchor
(which is new behaviour). With this change,
motion events move the (second) control point
and indicia are properly updated. This closes
#6225.
2000-03-26 22:42:14 +00:00
Michael Natterer 5735b2adcd add an "add_alpha" parameter to allow selected regions to be extracted
2000-03-26  Michael Natterer  <mitch@gimp.org>

	* app/gimage_mask.[ch] (gimage_mask_extract): add an "add_alpha"
	parameter to allow selected regions to be extracted without having
	an alpha channel added.

	* app/global_edit.c: pass add_alpha = TRUE.

	* app/transform_core.[ch]: made the transform core work on
	non-layer drawables even if no selection is present. Fixes #7485
	and #7555.

	- transform_core_cut(): extract the mask without alpha if
	  operating on a non-layer without having a selection.
	- transform_core_paste(): return a boolean indicating success
	  instead of a layer and handle channels correctly.
	- transform_core_do(): if the "floating_tiles" passed to the
	  function are from an un-floated non-layer, treat the whole
	  non-layer as alpha channel and never enter the loop which
	  transforms the (not present) color channels.
	  Also clip the result to ensure that the channel never grows
	  larger then the image.

	* app/tools_cmds.c
	* tools/pdbgen/pdb/tools.pdb: transform_core_paste() returns a
	gboolean now.
2000-03-26 18:39:03 +00:00
Michael Natterer 3e64ff6a1b new global variable "gimp_busy" which gets set/unset whenever busy cursors
2000-03-25  Michael Natterer  <mitch@gimp.org>

	* app/cursorutil.[ch]: new global variable "gimp_busy" which gets
	set/unset whenever busy cursors are added/removed.

	* app/info_dialog.c: register the info dialogs with the dialog
	handler.

	* app/fuzzy_select.[ch]: cleanups.

	Here starts the ugly workaround which simulates something like
	locking. If it works, it will close lots of bugs, if not, it's
	easy to remove again.

	So far, I didn't find strange side effects but Gimp is told to be
	a complex program :-) Please test this.

	* app/context_manager.c: don't allow tool changes if gimp_busy
	is TRUE.

	* app/disp_callbacks.c: don't allow mouse and key events in the
	display_canvas if gimp_busy is TRUE.
	(except if the current tool is FUZZY_SELECT and it is ACTIVE,
	 which is very ugly)
	Also block other stuff like dropping colors/patterns etc.

	* app/gdisplay_ops.c: don't close any display while Gimp is
	busy. This is not really what we want but at least it prevents
	crashes.
2000-03-25 18:17:01 +00:00
Stanislav Brabec b08f5860df i18n fix 2000-03-25 13:12:01 +00:00
Michael Natterer 919958e6b8 really cleaning up this time
--Mitch
2000-03-21 17:47:32 +00:00
Sven Neumann c6b6cd9d7a app/fileops.c when reverting an image, reconnect all affected views to the
* app/fileops.c
* app/gdisplay.[ch]: when reverting an image, reconnect all
  affected views to the reverted version. This fixes one of the
  bugs Tigert pointed out at GUADEC.

* app/gimage_mask.[ch]
* app/flip_tool.c: cleanups


--Sven & Mitch
2000-03-21 03:19:11 +00:00
SHIRASAKI Yasuhiro 22634f1990 added missing argument for error message.
* app/text_tool.c: added missing argument for error message.

-- yasuhiro
2000-03-16 10:03:01 +00:00
Sven Neumann c104ee5fda renamed "Custom from Editor" to "Custom Gradient" and added the
possibility to drop gradients onto the blend tooloptions to set
the blend mode and the gradient in one move.


--Sven
2000-03-10 01:57:10 +00:00
Sven Neumann 79757c8248 for indexed images set Index in the info_window to N/A if sample_merged or
* app/color_picker.c: for indexed images set Index in the info_window
  to N/A if sample_merged or sample_average is active.


--Sven
2000-03-09 13:02:11 +00:00
Sven Neumann ad55aef27e gimp_drawable_get_color_at() now silently returns NULL again if the
* app/gimpdrawable.c: gimp_drawable_get_color_at() now silently
returns NULL again if the coordinates are out of range. A lot of
code using this function relies on this feature and correctly
checks the return value. No need to emit critical warnings here.

The GTK_CHECK_TYPE macro test for obj != NULL, no need to do this
check twice. Removed lots of unnecessary calls to g_return_if_fail().

* app/color_picker.c: with the old behaviour of
gimp_drawable_get_color_at() the code is a bit simpler.

* app/fuzzy_select.c: fuzzy_select relied on drawable_offsets()
returning off_x = off_y = 0 if drawable == NULL. Decided to change
this here, fixes bug #7077.

* app/gimpimage.[ch]: Even though we made bad experiences with the
changes in gimpdrawable.c, I have introduced similar argument checks
here.

* app/image_map.c: indentation


--Sven
2000-03-09 11:58:03 +00:00
Tor Lillqvist 85f0393bae app/cursorutil.c (gtkutil_compress_motion) Guard against gdk_event_get
2000-03-08  Tor Lillqvist  <tml@iki.fi>

* app/cursorutil.c (gtkutil_compress_motion)
* app/edit_selection.c (process_event_queue_keys): Guard against
gdk_event_get returning NULL (which can happen at least on Win32).

* libgimp/gimp.def: Add a couple of new entry points.

* plug-ins/makefile.{cygwin,msc}: Update according to the source
file changes. Fix some typos in the .msc file.

Fixes by Hans Breuer:

* app/resize.c: Add some more includes.

* libgimp/gimpenv.c
* plug-ins/gflare/gflare.c: Win32 header lossage fixup.
2000-03-08 18:32:31 +00:00
Michael Natterer 5759a5fff6 immediate cursor_update feedback on modifier events.
2000-03-07  Michael Natterer  <mitch@gimp.org>

	* app/by_color_select.c: immediate cursor_update feedback on
	modifier events.

	* libgimp/gimpwidgets.c: one more s/private_tip/help_data/
2000-03-07 20:00:07 +00:00
Michael Natterer 21e95fdf43 Makefile.am cursors/selection_move.xbm cursors/selection_move_mask.xbm new
2000-03-04  Michael Natterer  <mitch@gimp.org>

	* Makefile.am
	* cursors/selection_move.xbm
	* cursors/selection_move_mask.xbm
	* app/cursorutil.[ch]: new cursor for moving the selection
	mask. Looks imho nicer than the ugly GDK_DIAMOND_CROSS.

	* app/move.c
	* app/rect_select.c: use the new cursor.

	* app/paint_core.c: check for the statusbar's context_id in the
	cursor_update function. Fixes gdk_criticals with the line preview
	(which doesn't need a mouse click). Minor cleanups.

	* app/tool_options.c: put the paint_pressure options in a
	GtkHWrapBox instead of a GtkHBox. Makes the size of the dialog a
	bit less locale-dependent.

	* plug-ins/common/xbm.c: use accessor functions instead of using
	the parasite's fields directly.
2000-03-05 00:06:11 +00:00
Manish Singh da1069cac2 I lied. Real 1.1.18 stuff
-Yosh
2000-03-04 03:39:19 +00:00
Michael Natterer 83bb5a38b8 s/"Only"/"only"/
2000-03-03  Michael Natterer  <mitch@gimp.org>

	* app/crop.c: s/"Only"/"only"/

	* app/iscissors.c: one more cursor_update fix. This time I don't
	claim that it's _really_ correct.

	* app/tool_options.c: don't add a separator after
	opacity/paint_mode if a paint pressure options box follows.

	* cursors/bad.xbm
	* cursors/bad_mask.xbm: made it FAT (no need to use thin lines
	which show as much as possible of the image below because the
	cursor indicates that no operation is possible).

	* libgimp/gimpprotocol.[ch]: s/int/gboolean/ where appopriate,
	indentation paranoia.

	_gp_*_read(): free the already allocated parts of the message if
	reading a subsequent part fails. These cleanups will probably occur
	shortly before the process crashes, but at least they make the
	search for real leaks easier.

	* plug-ins/common/uniteditor.c: some more tooltips.

	* plug-ins/common/xbm.c: store the image comment in the
	"gimp-comment" parasite and the hot spot in the new "hot-spot"
	parasite. Added ui for entering the hot spot.

	* docs/parasites.txt: documented the new "hot-spot" parasite.
2000-03-04 00:24:39 +00:00
Michael Natterer f4917054a9 this time cursor_update feedback is _really_ correct: for closed curves,
2000-03-03  Michael Natterer  <mitch@gimp.org>

	* app/iscissors.c: this time cursor_update feedback is _really_
	correct: for closed curves, show the "point" cursor if a mouse
	click will modify the curve and the "bad" cursor if a mouse click
	will do nothing. Seems it was not too hard to understand how it
	works...

	* plug-ins/common/uniteditor.c: for consistency, did a
	s/"Delete","Undelete"/"Don't Save","Save"/.
2000-03-03 13:01:49 +00:00
Michael Natterer 6e48bd16b7 Iscissors was using rect_select_cursor_update which is totally wrong since
2000-03-02  Michael Natterer  <mitch@gimp.org>

	* app/iscissors.c: Iscissors was using rect_select_cursor_update
	which is totally wrong since the oper_update_func tool method was
	introduced (in fact it didn't even give correct feedback before).

	Added oper_update_func, modifier_key_func, cursor_update_func for
	Iscissors which give correct cursor_update feedback now. The only
	remaining inconsistency occurs when a curve is closed: There's no
	way to find out if the mouse is over a control point/line or
	outside (without touching the Iscissors engine, which I didn't
	want to do because I don't understand how it works ;-).
2000-03-02 20:09:12 +00:00
Sven Neumann ea39b49cc8 fixed my latest "fix"
--Sven
2000-03-02 00:03:28 +00:00
Michael Natterer 9004346179 added a modifier_key_func which gives immediate cursor_update feedback on
2000-03-02  Michael Natterer  <mitch@gimp.org>

	* app/rect_select.[ch]: added a modifier_key_func which gives
	immediate cursor_update feedback on modifier key events.

	* app/ellipse_select.c
	* app/free_select.c
	* app/fuzzy_select.c
	* app/rect_selectP.h: call the new function.
	Added current_[x|y] fields to the tools' structures which get
	updated from the "motion" functions. They have to appear in the
	same order in all structures because the modifier_key_func treats
	them all as rectangular selection tools.
	This is ugly and cries for a object hierarchy of tools.
2000-03-01 23:22:43 +00:00
Michael Natterer 723662a460 Makefile.am a proper naming scheme for all cursor files. Added zoom_in and
2000-03-01  Michael Natterer  <mitch@gimp.org>

	* Makefile.am
	* cursors/*: a proper naming scheme for all cursor files. Added
	zoom_in and zoom_out cursors.

	* app/bezier_select.c
	* app/by_color_select.c
	* app/cursorutil.[ch]
	* app/rect_select.c
	* app/scale.[ch]: changed according to the new cursor names. Some
	minor fixes.

	* app/magnify.[ch]: made the zoom_in/zoom_out toggle a proper
	tool_toggle and show cursors for the two modes.

	* plug-ins/print/print-util.c: patch from Robert Kravitz which
	fixes printing layers with alpha.
2000-03-01 19:32:41 +00:00
Sven Neumann 9a8a390b65 return without warning if popup_timeout is already set. Suppresses warning
* app/gimpcontextpreview.c: return without warning if popup_timeout
   is already set. Suppresses warning that occured on double-click.

 * app/layers_dialog.[ch]
 * app/menus.c: added "Delete Mask" menu entry and removed dialog
   asking if mask is to applied or discarded on "Apply Mask".

 * app/tools.c: Magnify is not a transform tool


--Sven
2000-02-29 23:19:14 +00:00
Sven Neumann e00de7cbb9 fixed off-by-one error for the x coordinate fixed scaling without
* app/measure.c: fixed off-by-one error for the x coordinate
* app/transform_core.c: fixed scaling without interpolation (bug #6681)


--Sven
2000-02-28 22:56:06 +00:00
GMT 2000 Adam D. Moss f5b589820b added gtkutil_compress_motion() utility function to seek and destroy
Mon Feb 28 19:11:39 GMT 2000  Adam D. Moss <adam@gimp.org>

	* app/cursorutil.c app/cursorutil.h:
	added gtkutil_compress_motion() utility function to seek and
	destroy outstanding pointer motion events from the gdk event queue
	for a given widget.

	* app/edit_selection.c:305: Use gtkutil_compress_motion() to
	do a more thorough job of tracking motion (something recently
	started interleaving our motion events with others, largely
	nullifying the effectiveness of GDK_POINTER_MOTION_HINT_MASK).

	* app/edit_selection.c:704: Yikes, the key-press snooping code
	was turning part of the event queue back-to-front with each
	compressed key-press.  (Still looks a bit bogus overall; looks
	as though it could transplant a whole chunk of the start of
	the event queue right onto the end.  I'll probably disable it
	unless someone points out that I'm a doofus.)
2000-02-28 19:25:42 +00:00
Garry R. Osgood bdbb45d87c gimp/app/by_color_select.c gimp/app/color_picker.c gimp/app/gimpdrawable.c
2000-02-27 Garry R. Osgood <gosgood@idt.net>

* gimp/app/by_color_select.c
* gimp/app/color_picker.c
* gimp/app/gimpdrawable.c
* gimp/app/image_map.c
* gimp/app/paint_core.c
Inadvertent logic error in g_return_val_if_fail()
style sanity checks implemented in
gimp_drawable_get_color_at() gave rise to
segment violation reported in #6624;
error admitted out-of-bounds x&y that
do not map to tiles. Closes #6624.
GTK-critical warnings which result from
this new sanity check require that
gimp_drawable_get_color_at() clients
perform initial culling of out-of-bounds
x & y coordinates.
2000-02-28 02:40:44 +00:00
Michael Natterer ae38b99c21 another leak: don't allocate the PaintPressureOptions structure twice for
2000-02-24  Michael Natterer  <mitch@gimp.org>

	* app/tool_options.c: another leak: don't allocate the
	PaintPressureOptions structure twice for one tool.
2000-02-24 02:11:10 +00:00
Sven Neumann 40779fe370 quick GUI fix for the text_tool
--Sven
2000-02-24 00:51:00 +00:00
Sven Neumann 8dead13522 fixed bug #6526
--Sven
2000-02-23 23:42:25 +00:00
Michael Natterer 863b24917c it's more intelligent to implement the parent_context stuff with
2000-02-22  Michael Natterer  <mitch@gimp.org>

	* app/gimpcontext.[ch]: it's more intelligent to implement the
	parent_context stuff with gtk_signal_connect_object() instead of
	having internal callbacks for each context attribute.
	Exported the existing gimp_context_*_changed() functions and
	changed them to do nothing but emitting the signal.

	* app/app_procs.c
	* app/tools.c
	* app/transform_tool.c: use gimp_context_tool_changed() instead of
	gtk_signal_emit_by_name().
2000-02-22 17:06:44 +00:00
Sven Neumann e836901c83 more places with Solaris compilation problems
--Sven
2000-02-21 12:05:45 +00:00