Recommended Posts

I'm not sure why UNDO works the way it works, but when I select an object and move it around, then deselect it, then hit Undo > it is selecting an object again instead of moving it to the previous position. In order to move it back to the previous position, I need to hit Undo twice! I wonder what's the idea behind it. Selecting and deselecting it's not really an action one would like to undo. If I move several objects around 10 times and would like to undo it one by one, I need to hit Undo 20 times! instead of 10.

This is really time consuming and nothing justifies that. Again - selecting an object is not really an action and shouldn't be on treated as one. Ideally, there should be an option to skip selections and make it work as every other software for designers.

Share this post

Link to post

Share on other sites

I agree that selecting and deselecting shouldn't be counted as an action in the history log.

Often I design something, then press undo a lot of times and then I deselect whatever object I changed/moved in order to compare the lay-out without clutter such as UI elements. If I then want to redo again, I cannot because the deselect action counted as an action and the history (or is it called future?) is gone.

Share this post

Link to post

Share on other sites

I understand it's a hard nut to crack, which isn't simply solved by offering a toggle in the preferences (especially considering the macro's). It's good to know that you are aware and I trust you make the best decisions in the end!

Share this post

Link to post

Share on other sites

It's been more than a year and nothing happened, so I want to address this one more time.

This has been an issue since I remember, and it slows down designing dramatically. Object selection shouldn't count as action!

It forces me to press cmd+z many more times then necessary, when I look at history, I see multiple rows named "clear selection" and "set current selection". But these are not "real" actions, only selections, and undoing them takes too much extra time and it's a real pain, as you sometimes need to press cmd+z 20 times in order to undo 10 real actions.

Could you please exclude selecting object from history list? It's a real pain.

Share this post

Link to post

Share on other sites

It was intentional that selection changes are made in command history.

Some commands need to modify the selection as a result of changes they make. If the selection changes don't exist as part of the command timeline it could cause potential problems. For example, you could create a new object, which you then select, then undo the command that created the object. What happens then if you try do another command that uses the current selection? You have a selection that contains an object that no longer exists in the document - it was removed as part of an Undo.

Another example - Convert to Curves replaces a layer object. The internal selection needs to be changed to include the new object, not the source that was converted. The convert command takes charge of replacing the selection. But, if you undo, what is then in the selection? Do you lose the selection because the objects in the selection are no longer in the current state of the document?

Not having selection coupled with command timeline opens up all cans of worms...

SerifLabs team - Affinity Developer

Software engineer - Photographer - Guitarist - Philosopher

iMac 27" Retina 5K (Late 2015), 4.0GHz i7, AMD Radeon R9 M395

MacBook (Early 2015), 1.3GHz Core M, Intel HD 5300

iPad Pro 10.5", 256GB

Share this post

Link to post

Share on other sites

I'm sorry Ben but I don't get this logic at all. How come it has never been a problem in Adobe Illustrator or any graphic design software I used? Whatever happens regarding selection should be taken care under the hood, we just don't want to have selecting objects as part of undo history, because when we click somewhere else and deselect an object, we loose the ability to redo commands that happened later. Object selection is not an action I care about. When I hit "undo" that means I want to undo certain changes I made, not to deselect an object! If I wanted to deselect an object, I'd simply click anywhere outside of it or selected another object.

It looks like you're trying to reinvent the wheel. I've never encounter such counterproductive solution in any other software. Undo should undo recent command applied, not recent command applied to a "selection".

Share this post

Link to post

Share on other sites

There might be something we can do to alleviate selection from clearing redo history - that will be something we need to look into, making no promises. But, there is a certain amount of complexity that would need to be addressed if we did things differently to how we do now.

I also know that other users value the ability to undo selection changes. For some documents, making the selection can require effort - for complicated nested documents - so being able to undo a mistaken change in selection can be a valuable thing.

SerifLabs team - Affinity Developer

Software engineer - Photographer - Guitarist - Philosopher

iMac 27" Retina 5K (Late 2015), 4.0GHz i7, AMD Radeon R9 M395

MacBook (Early 2015), 1.3GHz Core M, Intel HD 5300

iPad Pro 10.5", 256GB

Share this post

Link to post

Share on other sites

I use some 3D programs (like Catia) where selection is counted. And it's good. Why? because when you spent 5mn to select the solids you want to change (whatever action), and you failed for some reason, it's good to undo the action BUT keep the solids selected.

I do understand why some people don't want this behavior, though. Maybe an option in preferences?

Share this post

Link to post

Share on other sites

I personally dislike the status quo because I cannot quickly toggle between a before and after to see the change made without the bounding box or curves being in the way since they are always selected. And, as @Bauke said, if you deselect, the future action is erased. Sometimes the change is subtle, and those extra selection lines are frankly annoying at these times.

Might it be possible to differentiate making a selection with a dedicated selection tool versus the move and other multi-use or irrelevant tools, so that history of purposeful and potentially detailed selections are the only ones recorded? (This should also solve the macro issue as well if I understand it correctly.) I can certainly see the value in being able to recover manual selections, but not automatic ones, like bounding boxes, curves, etc, if you'll allow that distinction.

Share this post

Link to post

Share on other sites

I will be trying some things in 1.7 to help alleviate this. We won't be dropping selection changes in history (that is fairly inbuilt to the way our app works), but what we will do is find some way to better accommodate what people do around a selection, and avoid accidental selection changes from obliterating your redo history.

Share this post

Link to post

Share on other sites

Any updates on this one? Still unable to use AD efficiently, it is really annoying. Each time I try to switch from Illustrator, I go back to it after 5 minutes with AD. Object selection is still recorded as an action for absolutely no reason, and all redo history is gone once you select anything after clicking cmd+z a few times you cannot redo your actions, just because you might have accidentally clicked on any of the objects. This is crazy and it drives me mad. How can I work like this...

Share this post

Link to post

Share on other sites

When you want to see what things look like without the bounding box, don't deselect the object, instead hold the spacebar. Bounding boxes, curves, snapping candidates etc. will be hidden until you release.

Could you use snapshots to help in cases where you need a before and after when making numerous changes to a document?

5 Actions = 5 UNDO's. This is how it works in Illustrator, Photoshop, Indesign, Quark, CorelDraw, Gimp, Pixelmator, and every other piece of software out there. AND - you UNDO > REDO as you please.

Action is applied to an Object X and it's Undone from Object X - not any other object.

With Affinity Designer- 5 Actions = infinite Undo's depending on how many objects you selected/deselected during the process. AND - you gave to be very very VERY careful NOT TO click on any object - because ALL YOU REDO HISTORY WILL BE GONE.

Could you please tell me what's wrong with the way I think? And what's wrong the the way of thinking of all software developers out there who decided not to do it your way?

Share this post

Link to post

Share on other sites

Ironically, Sketch seems to have the reverse problem. Users have requested undoable selection actions as they find it frustrating that it easy to mess up complicated selections. There are a number of plugins to remedy this, but Sketch doesn't provide the solution.

We decided on making selection an action as it addresses this issue, and provides certain internal implementation advantages.

It may just be that you don't like this feature and never will - but there are others that do.

As I said - I have made changes for 1.7. that will stack selection changes in a way that do not truncate the redo history. You can make selection changes, and if you Redo, the selection changes will be abandoned and the next redo command will be applied. if, however, you make a selection change and make an edit to the document, the history will be truncated to your new command.

As far as not having selection changes appear in the history - I'll be honest, it's probably not likely to change any time soon.

Share this post

Link to post

Share on other sites

I understand the feeling, in the very beginning I also found this behavior quite strange and I thought it was a bug. But now I'm used to it and I can see the benefit of easily experimenting with blending, adjustments, effects and so on, especially when you have many layers. Just select the objects you want and apply the effect. If it's not right, then undo -- it will keep the selection -- then try another one. This feature is unique to Affinity Designer, I really like it.