From 640043a4584fe6273601b70cca0224f28d4712b8 Mon Sep 17 00:00:00 2001 From: tassaron Date: Fri, 6 May 2022 00:49:03 -0400 Subject: undoStack dialog's creation moved to __init__. And the automatically added "greeting" components don't show in undo history --- src/gui/mainwindow.py | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/src/gui/mainwindow.py b/src/gui/mainwindow.py index b526c07..340324a 100644 --- a/src/gui/mainwindow.py +++ b/src/gui/mainwindow.py @@ -80,7 +80,13 @@ class MainWindow(QtWidgets.QMainWindow): self.undoStack.setUndoLimit(undoLimit) self.undoStack.undo = disableWhenEncoding(self.undoStack.undo) self.undoStack.redo = disableWhenEncoding(self.undoStack.redo) - self.undoDialog = None + + # Create Undo Dialog - A standard QUndoView on a standard QDialog + self.undoDialog = QtWidgets.QDialog(self) + undoView = QtWidgets.QUndoView(self.undoStack) + layout = QtWidgets.QVBoxLayout() + layout.addWidget(undoView) + self.undoDialog.setLayout(layout) # Create Preset Manager self.presetManager = PresetManager(self) @@ -437,8 +443,8 @@ class MainWindow(QtWidgets.QMainWindow): # Add initial components if none are in the list if not self.core.selectedComponents: - self.addComponent(0, 1) - self.addComponent(0, 0) + self.core.insertComponent(0, 0, self) + self.core.insertComponent(1, 1, self) def __repr__(self): return ( @@ -707,10 +713,8 @@ class MainWindow(QtWidgets.QMainWindow): self.pushButton_undo.setEnabled(False) self.menuButton_newProject.setEnabled(False) self.menuButton_openProject.setEnabled(False) - # Close undo history if open - if self.undoDialog is not None: - self.undoDialog.close() - self.undoDialog = None + # Close undo history dialog if open + self.undoDialog.close() # Show label under progress bar on macOS if sys.platform == 'darwin': self.progressLabel.setHidden(False) @@ -775,16 +779,6 @@ class MainWindow(QtWidgets.QMainWindow): @disableWhenEncoding def showUndoStack(self): - self.undoDialog = QtWidgets.QDialog(self) - def closeUndoDialog(self, *args): - self.undoDialog = None - super().closeEvent(*args) - self.undoDialog.closeEvent = closeUndoDialog - # Add standard QUndoView to standard QDialog - undoView = QtWidgets.QUndoView(self.undoStack) - layout = QtWidgets.QVBoxLayout() - layout.addWidget(undoView) - self.undoDialog.setLayout(layout) self.undoDialog.show() def showFfmpegCommand(self): -- cgit v1.2.3