keep track of recent files

This commit is contained in:
2021-10-29 10:09:49 +02:00
parent 4f50fd03a4
commit 4c00dfed50
2 changed files with 17 additions and 2 deletions

View File

@@ -26,6 +26,8 @@ class FullTabWidget(QWidget):
self.layout.addWidget(splitter) self.layout.addWidget(splitter)
def get_file(self) -> str:
self.file_view.get_file()
def destruct(self): def destruct(self):
self.file_view.destruct() self.file_view.destruct()

13
main.py
View File

@@ -1,4 +1,5 @@
import logging import logging
import os
import signal import signal
from PyQt6 import QtCore from PyQt6 import QtCore
@@ -86,6 +87,18 @@ class MainWindow(QMainWindow):
dialog = QFileDialog(self) dialog = QFileDialog(self)
(selected_file, _filter) = dialog.getOpenFileName(caption=self.tr("Open File")) (selected_file, _filter) = dialog.getOpenFileName(caption=self.tr("Open File"))
self.tabs.create_tab(selected_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): def closeEvent(self, event):
self.destruct() self.destruct()