这是indexloc提供的服务,不要输入任何密码
Skip to content

Replace the current undo/redo system with QUndoStack #864

@MrStevns

Description

@MrStevns

To avoid too much discussion on this subject in the roadmap thread, i've made a new issue regarding this enhancement that chchwy mentions in #800

by chchwy:

I was thinking to introduce QUndoStack to have better undo/redo architecture, but haven't got chances to do that. This could also be a preparation step for the undo history window in the future.

QUndoStack:

  • QUndoStack provides convenient undo and redo QAction objects, which can be inserted into a menu or a toolbar.
  • Command compression and macro's
    Command compression is useful when several commands can be compressed into a single command that can be undone and redone in a single operation. For example, when a user types a character in a text editor, a new command is created
  • Clean State
    is usually used to enable and disable the save actions in the application, and to update the document's title to reflect that it contains unsaved changes.
  • QUndoStack is able to delete commands from the stack if the command is no longer needed. One example may be to delete a command when two commands are merged together in such a way that the merged command has no function

It would also be a step towards a undo history, since Qt also provides QUndoView which displays content of a QUndoStack

Metadata

Metadata

Assignees

Type

No type

Projects

Status

High priority

Relationships

None yet

Development

No branches or pull requests

Issue actions