diff --git a/b_asic/GUI/main_window.py b/b_asic/GUI/main_window.py index 5d72ea32c07a31688274bf156b3ef48f4b80ccfd..ca5265383ac054e98eb2daf8ea7bea1d8b645e5f 100644 --- a/b_asic/GUI/main_window.py +++ b/b_asic/GUI/main_window.py @@ -101,7 +101,6 @@ class MainWindow(QMainWindow): self.maxFileNr = 4 self.recentFilesList = [] self.recentFilePaths = deque(maxlen=self.maxFileNr) - #self.init_ui() self.add_operations_from_namespace( b_asic.core_operations, self.ui.core_operations_list @@ -139,7 +138,6 @@ class MainWindow(QMainWindow): self.ui.custom_operations_list.itemClicked.connect( self.on_list_widget_item_clicked ) - self.ui.file_menu.aboutToShow.connect(self.updateRecentActionList) self.ui.save_menu.triggered.connect(self.save_work) self.ui.load_menu.triggered.connect(self.load_work) self.ui.load_operations.triggered.connect(self.add_namespace) @@ -233,8 +231,7 @@ class MainWindow(QMainWindow): module, accepted = QFileDialog().getOpenFileName() if not accepted: return - recentFile = QFileInfo(module) - self.recentFilePaths.append(recentFile) + self.addRecentFile(module) self._load_from_file(module) def _load_from_file(self, module) -> None: @@ -266,9 +263,7 @@ class MainWindow(QMainWindow): if positions is None: positions = {} - # print(sfg) for op in sfg.split(): - # print(op) self.create_operation( op, positions[op.graph_id][0:2] if op.graph_id in positions else None, @@ -324,23 +319,35 @@ class MainWindow(QMainWindow): def updateRecentActionList(self): settings = QSettings() - dequelen = len(self.recentFilePaths) + rfp = settings.value("recentFiles") + + dequelen = len(rfp) if dequelen > 0: for i in range(dequelen): action = self.recentFilesList[i] - action.setText(self.recentFilePaths[i].fileName()) - action.setData(self.recentFilePaths[i]) + action.setText(rfp[i].fileName()) + action.setData(rfp[i]) action.setVisible(True) for i in range(dequelen, self.maxFileNr): self.recentFilesList[i].setVisible(False) def openRecent(self, action): - print(type(action)) - print(action) - print(action.data()) - print("openrecent") + self._load_from_file(action.data().filePath()) + + def addRecentFile(self, module): + settings = QSettings() + + rfp = settings.value("recentFiles") + + recentFile = QFileInfo(module) + if recentFile not in rfp: + rfp.append(recentFile) + + settings.setValue("recentFiles", rfp) + + self.updateRecentActionList() def exit_app(self) -> None: self.logger.info("Exiting the application.")