Add undo/redo action for dialogEdit

This commit is contained in:
Pyramond
2025-06-21 13:43:59 +02:00
parent 49c09b8d2e
commit 3fa9853a12
3 changed files with 51 additions and 1 deletions
+11 -1
View File
@@ -65,6 +65,16 @@ MainWindow::MainWindow(QWidget *parent)
}
});
connect(ui->dialogEdit, &QPlainTextEdit::textChanged, this, [this]() {
static QString previousText = ui->dialogEdit->toPlainText();
if (m_handlingUndoRedo) return;
QString currentText = ui->dialogEdit->toPlainText();
if (currentText != previousText) {
undoStack->push(new PlainTextEditCommand(ui->dialogEdit, previousText, currentText, this));
previousText = currentText;
}
});
connect(ui->actionEditUndo, &QAction::triggered, undoStack, &QUndoStack::undo);
connect(ui->actionEditRedo, &QAction::triggered, undoStack, &QUndoStack::redo);
currentPath->getStep().append(Step());
@@ -997,4 +1007,4 @@ void MainWindow::on_actionFont_color_triggered()
void MainWindow::on_addStep_clicked()
{
this->addNewStep();
}
}