Commit Graph

163 Commits

Author SHA1 Message Date
bf8db4adc8 Honest, guv, it's not a feature - it's a tightly integrated package of
Mon Sep 20 12:51:30 EDT 1999  Austin Donnelly  <austin@gimp.org>

	Honest, guv, it's not a feature - it's a tightly integrated
	package of undo system cleanups and fixes.

	NEW FILES:
	* app/undo_history.c: window showing recent undo (and redo) steps
	    available.
	* app/undo_types.h: broken out of undo.h to fix circular includes.

	MODIFIED FILES:
	* app/Makefile.am: compile undo_history.c
	* app/channel.h: use enum for channel undo type, not just magic
	    numbers.
	* app/layer.h: same for layer undos.
	* app/commands.c: edit_show_undo_history_cmd_callback() function to
	    pull up undo history window.
	* app/commands.h: prototype for above.
	* app/gdisplay.c: make undo / redo menu items sensitive according
	    to whether they would do anything.  Would be easy to change
	    the text to say what would be undone/redone, but I don't know
	    the GTK.
	* app/gimpimage.c: new signal emitted by gimage:
	    UNDO_EVENT. gimp_image_undo_event() function to emit it.
	* app/gimpimage.h: prototype for above.
	* app/gimpimageP.h: pushing_undo_group member is now an undo_type,
	    not an int.  Keep undo history widget here too (if created).
	* app/menus.c: add "Edit/Undo history..." to image menu.
	* app/undo.c: new types: enums undo_type and undo_state rather than
	    ints and magic numbers.  All undo_pop_* and undo_free_*
	    functions made static.  New static function
	    undo_type_to_name().  Issue undo event signals on various
	    important events (eg undo pushed, undo popped etc).
	    undo_push() now takes a "dirties_image" arg to say whether
	    image should be dirtied.  Layer moves now dirty the image.  A
	    couple of g_return_if_fails () on undo_pop and undo_redo to
	    assert we're not in the middle of an undo group.
	    undo_get_{undo,redo}_name() to peek at names of top items on
	    undo and redo stacks resp.   undo_map_over_{undo,redo}_stack()
	    to run a function for each item or group on stack.  Layer and
	    channel undos use symbolic names rather than 0 or 1.  Array
	    mapping undo types to names.
	* app/undo.h: split out undo types to undo_types.h.  Prototypes
	    for functions described above.  undo_event_t enum.
	    undo_history_new() prototype lives here too.

	Random other fixes:
	* app/gimpdrawable.c
	* app/image_render.c: default labels in switches to keep egcs happy.

	* app/nav_window.c: some fixes to (sort of) cope with image res !=
	    screen res.  Still needs work to handle non-square pixels
	    properly.

	* app/paths_dialog.c: bad idea to call gimp_image_dirty()
	    directly.  Even though it's currently commented out.
1999-09-20 17:15:20 +00:00
d045b9667a app/nav_window.c app/floating_sel.c
Sat Sep 11 22:45:12 BST 1999 Andy Thomas <alt@gimp.org>

	* app/nav_window.c
	* app/floating_sel.c

	Hopefully fix for nav_popup when using tablets.
	Also applied the patch supplied by Garry R. Osgood. Thanks.
1999-09-11 21:51:08 +00:00
c9c420f1cf app/disp_callbacks.c app/gdisplay_color.c app/image_new.c i18n fixes.
1999-09-06  Tomas Ogren  <stric@ing.umu.se>

* app/disp_callbacks.c app/gdisplay_color.c app/image_new.c
* app/info_dialog.c app/nav_window.c app/qmask.c app/undo.c:
i18n fixes.
1999-09-06 00:07:03 +00:00
56f506a780 app/gdisplay.c app/gdisplay.h app/gimprc.h app/gimprc.c app/nav_window.c
Sat Sep  4 23:21:10 BST 1999 Andy Thomas <alt@gimp.org>

	* app/gdisplay.c
	* app/gdisplay.h
	* app/gimprc.h
	* app/gimprc.c
	* app/nav_window.c
	* app/nav_window.h
	* app/preferences_dialog.c

	The nav preview size can now be configured. The size applies
	to both the "popup" and dialog window.
1999-09-04 22:27:20 +00:00
f380edd704 app/gdisplay.c app/gdisplay.h app/interface.c app/nav_window.c
Wed Sep  1 23:18:21 BST 1999 Andy Thomas <alt@gimp.org>

	* app/gdisplay.c
	* app/gdisplay.h
	* app/interface.c
	* app/nav_window.c
	* app/nav_window.h
	* pixmap/navbutton.xpm (new)

	New popup navigation window. press the icon that appears in
	the bottom right-hand corner of the image display. A navigation
	window will appear that will allow you to scroll around the image if
	the area shown is smaller than the overall image size. Thanks to tml
        for the idea.
1999-09-01 22:39:44 +00:00
df7ad092f4 app/nav_window.c app/nav_window.h app/gimppreviewcache.h app/layer.c
Fri Aug 27 18:57:50 BST 1999 Andy Thomas <alt@gimp.org>

	* app/nav_window.c
	* app/nav_window.h
	* app/gimppreviewcache.h
	* app/layer.c
	* app/channel.c
	* app/commands.c

	Added some controls to the nav window. Yep. I know that the
	buttons are toooo biGGG.

	Preview cache changes. Now prime preview cache with a image
	so that later we have a better chance of a hit. Still
	needs to be more intelligent at doing this (needs to pick largest
	out of the cache & use its size as the size to prime with).
1999-08-27 19:07:21 +00:00
74f4666495 app/nav_window.c
Tue Aug 24 22:50:28 BST 1999 Andy Thomas <alt@gimp.org>

	* app/nav_window.c

	Preview now updated when image is modified. Done on a two second +
	idle timer. However the preview cache needs modifying since
	the tiles are transversed twice. Once for small previews then for
	larger ones. Should only be done once.
1999-08-24 21:59:32 +00:00
487642b0f9 app/menus.c app/nav_window.c
Mon Aug 23 23:25:05 BST 1999 Andy Thomas <alt@gimp.org>

	* app/menus.c
	* app/nav_window.c

	Nav window code now handles boundary conditions correctly (ie
	you can scroll to the edges of the image now).
	It also has some key bindings:-

	1) Arrow keys work as expected
	2) =/- keys perform zoomin/zoomout. Note these keys are hardcoded
	at present until (if) I find away of finding out how to get the
	current accel. keys for these functions.
	3) Space will raise the display window to the top of the window stack.
	It also updates the preview. This will be changed to happen
	automatically RSN.

	Tearoff menus are now popped up and down (like other dialogs) when
	the tab key is pressed in the image window.
1999-08-23 22:47:36 +00:00
2d65428408 Navigation window shows checkmarked alpha, also previews correctly for
Sat Aug 21 01:06:53 BST 1999  Adam D. Moss  <adam@gimp.org>

	* app/nav_window.c: Navigation window shows checkmarked alpha,
	also previews correctly for greyscale images now.
1999-08-21 00:18:58 +00:00
58d866bcde removed stdio.h inc. 1999-08-20 23:26:08 +00:00
517cf3ed98 Improved pointer tracking when dragging navigator rectangle - less lag.
Sat Aug 21 00:07:37 BST 1999  Adam D. Moss  <adam@gimp.org>

	* app/nav_window.c: Improved pointer tracking when
	dragging navigator rectangle - less lag.  Enabled hourglass
	when computing first thumbnail.
1999-08-20 23:20:23 +00:00
f6858e21d1 Actually use the enum types GimpImageType, GimpImageBaseType,
* app/*.[ch]: Actually use the enum types GimpImageType,
	GimpImageBaseType, LayerModeEffects, PaintApplicationMode,
	BrushApplicationMode, GimpFillType and ConvertPaletteType, instead
	of just int or gint. Hopefully I catched most of the places
	where these should be used.

	Add an enum ConvolutionType, suffix the too general constants
	NORMAL, ABSOLUTE and NEGATIVE with _CONVOL. Use NORMAL_MODE
	instead of NORMAL in some places (this was what was intended). Fix
	some minor gccisms.

	* app/apptypes.h: New file. This file contains the above
	enumeration types, and some opaque struct typedefs. It was
	necessary to collect these in one header that doesn't include
	other headers, because when we started using the above mentioned
	types in the headers, all hell broke loose because of the
	spaghetti-like cross-inclusion mess between headers.

	(An example: Header A includes header B, which includes header C
	which includes A. B uses a type defined in A. This is not defined,
	because A hasn't defined it yet at the point where it includes B,
	and A included from B of course is skipped as we already are
	reading A.)
1999-08-18 23:41:39 +00:00
2557c517b1 app/commands.c app/commands.h app/disp_callbacks.c app/gdisplay.c
Thu Aug 12 21:38:53 BST 1999 Andy Thomas <alt@gimp.org>

	* app/commands.c
	* app/commands.h
	* app/disp_callbacks.c
	* app/gdisplay.c
	* app/gdisplay.h
	* app/info_dialog.c
	* app/info_dialog.h
	* app/info_window.c
	* app/info_window.h
	* app/menus.c
	* app/scale.c
	* app/scroll.c
	* app/scroll.h
	* app/nav_window.c (new)
	* app/nav_window.h (new)
	* pixmap/dropper.xpm (new)

	New "navigator" image (accessed via <Image>/Window Nav..). This gives
	an outline of the location of the current view on an image. Eg if your
	image window is only showing part of an image then the Window Navigation	window will outline the area viewed. You can "drag" the outlined
	square around the viewport and the main image will scroll. Additional
	a single click outside the square will center the image at that
	location.

	Also started to add additional information to a new page inside the
	Window information dialog (currently only pixel value is shown).

	Both these features are currently work in progress and unfinished.
	In particular the Navigator does not keep in step with changes
	to the basic image (however it does keep in step with image size changes	and if you modify the size of the image viewing window). It also
	does not display the transparent areas of images very nicely.
1999-08-12 22:21:04 +00:00