Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Changed: converted undo/redo into a global function

...

Description of desired behavior

...

Global undo/redo

...

As is the case with the clipboard, undo/redo belongs to the workspace-level global functions. Each workspace thus has its own It uses a command history , which records what command was executed in that particular workspace to record which commands were executed on what items and the arguments that were used. Two command histories of two different workspaces are separate and are not merged on a higher level.

Switching workspaces

If the user switches from one workspace to another, the command history is flushed, even though the state of the workspace as such is preserved.

A typical scenario looks like this: you add Undo/redo is used instantly, while you work on a set of items. If you add a folder in asset management, move a couple of images into it, then realize you actually don't need it, you could call undo multiple times. On the other hand, if you add an image in asset management, then switch to your website and add a page you intend to use the image on, but then realize while filling in content that you actually won't need either, you might call undo on the "add page", but you won't switch back to asset management and call undo there to undo the "add image" - the distance between the two tasks is just too large. You rather call "delete image" than trying to figure out, what undo would do.. Right from where you are, you hit undo e.g. three times to remove the paragraph, then the page, then the image you've added.

The undo/redo function So the undo/redo has a similar character as the clipboard: it is a local tool and used in a limited, temporal context.

...

Since the command history not only contains the command that was executed, but also records the item or items it was executed on, it is always clear what has to be undone or redone. It may be, however, that the current selected view can't visualize the action. If you undo an "add image" while looking at the subset of videos, the image will be removed again and you get a confirmation, but the view won't show the changeYou may thus use undo (or redo) even if you're in a different workspace now than you were when you executed the command you intend to undo. A confirmation message is displayed if the operation was undone or redone successfully, else an error message is displayed.

Note that the undo/redo function need not be present in a particular workspace, but every action you take in any workspace is added to the command history and thus may be undone and redone at will.

Preview of undo/redo operation

If a user clicks/taps and holds the undo or redo function, a tooltip will name the type of function as well as the name of the command to be undone or redone (, e.g. "Undo: delete image" or "Redo: paste 4 items" (the tooltip may actually already show on mouse hover). It will also highlight all items in the current view affected by the operation, if possible. This effect disappears again if the mouse button is released or the tap ends. Note that releasing the mouse button or ending the tap does not cause the undo or redo to be executed in this case - you have to click/tap the button again to get this behavior.

...