/
VolcanoByte
/
vbCinema
Обзор
Документация
Войти
/
VolcanoByte
/
vbCinema
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
sources/uRecentFiles.py
47 строк
1 KB
Johnny McLaren
Init commit
13 дек 2025, 13:04
13 дек 2025, 13:04
baa2d1c
Код
Авторство
О чём код?
"""Управление списком последних открытых коллекций""" from PyQt6.QtCore import QSettings from uConsts import AppConsts class RecentFiles: def __init__(self, store: QSettings, maxFiles: int = AppConsts.MaxRecentFiles): self.store = store self.maxFiles = maxFiles self.recentFiles = [] self.load() def load(self): for n in range(AppConsts.MaxRecentFiles): if self.store.contains(f'recent_{n}'): self.recentFiles.append(self.store.value(f'recent_{n}')) def save(self): # Сначала удаляем из хранилища for n in range(AppConsts.MaxRecentFiles): if self.store.contains(f'recent_{n}'): self.store.remove(f'recent_{n}') else: break # Теперь вносим в хранилище for n, filename in enumerate(self.recentFiles): self.store.setValue(f'recent_{n}', filename) def add(self, filename: str): if filename in self.recentFiles: self.recentFiles.remove(filename) self.recentFiles.insert(0, filename) self.recentFiles = self.recentFiles[0:self.maxFiles] self.save() def remove(self, filename): if filename in self.recentFiles: self.recentFiles.remove(filename) self.save()