Lint picking

This commit is contained in:
Christopher T. Johnson
2024-02-04 15:06:07 -05:00
parent 38aeb76196
commit 61ebe6cc0b
6 changed files with 112 additions and 119 deletions

View File

@@ -1,41 +1,42 @@
import json
import os
from typing import Any, Dict, List, Optional, Type, cast
from PyQt6.QtCore import Qt, pyqtSlot
from PyQt6.QtMultimedia import QMediaDevices
from PyQt6.QtWidgets import QAbstractItemView, QDialog, QListWidgetItem
from PyQt6.QtWidgets import QAbstractItemView, QDialog, QListWidgetItem, QWidget
from ui.Preferences import Ui_Dialog
class Preferences(QDialog, Ui_Dialog):
_instance = None
preferences: Dict[str, str | List[str]]
def __new__(cls):
def __new__(cls: Type[Preferences]) -> Preferences:
if cls._instance:
return cls._instance
cls._instance = super(Preferences, cls).__new__(cls)
return cls._instance
@pyqtSlot(int)
def done(self, r):
def done(self, r: int) -> None:
self.hide()
super().done(r)
return
@pyqtSlot()
def exec(self):
def exec(self) -> int:
self.show()
super().exec()
return
return super().exec()
@pyqtSlot()
def open(self):
def open(self) -> None:
self.show()
super().open()
return
def __init__(self, *args, **kwargs):
def __init__(self, *args: Any, **kwargs: Any) -> None:
super(Preferences, self).__init__(*args, **kwargs)
self.setupUi(self)
self.hide()
@@ -61,7 +62,7 @@ class Preferences(QDialog, Ui_Dialog):
self.setCurrent()
return
def setCurrent(self):
def setCurrent(self) -> None:
if os.path.exists("preferences.json"):
with open("preferences.json", "r") as f:
self.preferences = json.load(f)
@@ -94,12 +95,14 @@ class Preferences(QDialog, Ui_Dialog):
self.phoneticsCombo.setCurrentIndex(index)
return
def get(self, name: str = None):
def get(
self, name: Optional[str] = None
) -> str | List[str] | Dict[str, str | List[str]]:
if not name:
return self.preferences
return self.preferences[name]
def accept(self):
def accept(self) -> None:
self.preferences["readerFont"] = self.readerCombo.currentFont().family()
self.preferences[
"phoneticFont"