From 4c00dfed50be49146b848ba8cdec896639a591b2 Mon Sep 17 00:00:00 2001 From: Andreas Huber Date: Fri, 29 Oct 2021 10:09:49 +0200 Subject: [PATCH] keep track of recent files --- fulltabwidget.py | 6 ++++-- main.py | 13 +++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/fulltabwidget.py b/fulltabwidget.py index 1eb4a9d..af1cd04 100644 --- a/fulltabwidget.py +++ b/fulltabwidget.py @@ -20,13 +20,15 @@ class FullTabWidget(QWidget): splitter = QSplitter() splitter.setOrientation(Qt.Orientation.Vertical) splitter.setHandleWidth(5) - #splitter.setStyleSheet("QSplitter::handle{background: #cccccc;}") + # splitter.setStyleSheet("QSplitter::handle{background: #cccccc;}") splitter.addWidget(self.file_view) splitter.addWidget(self.filter_hit_view) self.layout.addWidget(splitter) + def get_file(self) -> str: + self.file_view.get_file() def destruct(self): self.file_view.destruct() - self.filter_hit_view.destruct() \ No newline at end of file + self.filter_hit_view.destruct() diff --git a/main.py b/main.py index cbe896b..00d6fc0 100644 --- a/main.py +++ b/main.py @@ -1,4 +1,5 @@ import logging +import os import signal from PyQt6 import QtCore @@ -86,6 +87,18 @@ class MainWindow(QMainWindow): dialog = QFileDialog(self) (selected_file, _filter) = dialog.getOpenFileName(caption=self.tr("Open File")) self.tabs.create_tab(selected_file) + self._remember_recent_file(selected_file) + + def _remember_recent_file(self, file: str): + recent_files = self.settings.session.get('general', 'recent_files', fallback='') + files = recent_files.split(os.pathsep) + if file in files: + files.remove(file) + if "" in files: + files.remove("") + files.insert(0, file) + recent_files = os.pathsep.join(files[:5]) + self.settings.set_session('general', 'recent_files', recent_files) def closeEvent(self, event): self.destruct()