> On Wed, 07 Jun 2000, Sven Neumann <[EMAIL PROTECTED]> wrote:
> > [quoting Austin Donnelly <[EMAIL PROTECTED]>]
> > > > I would be very unhappy if changing the layer opacity from 100% to 50%
> > > > would eat up a dozen or more undo-steps since each value_changed signal
> > > > from the slider triggers an undo which causes another undo-step fall 
> > > > off the end of the undo queue. 
> > > 
> > > Oh, sure - that's clearly a bad idea.
> > > 
> > > I was thinking of only pushing the undo when you release the slider.
> > > That doesn't help those using the keyboard to nudge the slider though.
> [...]

I just had an idea re: the undo stack. It shouldn't matter whether changes
are done via keyboard or via mouse. Not pushing an undo on to the stack
until the mouse release would help (ie. when adjusting sliders or spin
buttons) but only affects mouse operations. The more generic solution is to
check the last entry of the undo stack before pushing something on to the
undo stack.

If someone is nudging a given slider, a check would show that the last
operation on the undo stack is a change to that same slider. You would then
throw out that stack entry and push the latest change to the stack. This
assumes that the operation being done a bit at a time does not affect an
image being worked on. If the user nudges different sliders each time, then
you would save each nudge of a slider (for example).

The tricky part might be to determine whether the last item on the undo
stack caused a change to an image. Changes to image previews should
probably be ignored.

I'm not suggesting this be done for 1.2 as I suspect its too likely to wind
up adding bugs to the GIMP. It would help to maximize the use of the undo
stack, however.

Reply via email to