mirror of
https://github.com/283375/arcaea-offline-pyside-ui.git
synced 2025-04-20 17:50:17 +00:00
refactor: global Settings
class
This commit is contained in:
parent
88bd04ad92
commit
7bc8780cb0
@ -1,4 +1,5 @@
|
||||
from PySide6.QtCore import QDir, QSettings, QUrl
|
||||
import sys
|
||||
from PySide6.QtCore import QSettings, QFileInfo
|
||||
|
||||
__all__ = [
|
||||
"DATABASE_URL",
|
||||
@ -10,7 +11,9 @@ __all__ = [
|
||||
"Settings",
|
||||
]
|
||||
|
||||
DATABASE_URL = "General/DatabaseUrl"
|
||||
# a key without slashes will appear in the "General" section
|
||||
# see https://doc.qt.io/qt-6/qsettings.html#Format-enum for details
|
||||
DATABASE_URL = "DatabaseUrl"
|
||||
|
||||
DEVICES_JSON_FILE = "Ocr/DevicesJsonFile"
|
||||
DEVICE_UUID = "Ocr/DeviceUuid"
|
||||
@ -18,73 +21,76 @@ TESSERACT_FILE = "Ocr/TesseractFile"
|
||||
KNN_MODEL_FILE = "Ocr/KnnModelFile"
|
||||
SIFT_DATABASE_FILE = "Ocr/SiftDatabaseFile"
|
||||
|
||||
ANDREAL_PATH = "Andreal/AndrealFolderPath"
|
||||
ANDREAL_EXECUTABLE = "Andreal/AndrealExecutable"
|
||||
|
||||
|
||||
class Settings(QSettings):
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(
|
||||
QDir.current().absoluteFilePath("arcaea_offline.ini"),
|
||||
QFileInfo(sys.argv[0]).dir().absoluteFilePath("arcaea_offline.ini"),
|
||||
QSettings.Format.IniFormat,
|
||||
parent,
|
||||
)
|
||||
|
||||
def databaseUrl(self) -> str | None:
|
||||
return self.value(DATABASE_URL, None, str)
|
||||
def _strItem(self, key: str) -> str | None:
|
||||
return self.value(key, None, str)
|
||||
|
||||
def _setStrItem(self, key: str, value: str):
|
||||
self.setValue(key, value)
|
||||
self.sync()
|
||||
|
||||
def _resetStrItem(self, key: str):
|
||||
self.setValue(key, None)
|
||||
self.sync()
|
||||
|
||||
def databaseUrl(self):
|
||||
return self._strItem(DATABASE_URL)
|
||||
|
||||
def setDatabaseUrl(self, value: str):
|
||||
self.setValue(DATABASE_URL, value)
|
||||
self.sync()
|
||||
self._setStrItem(DATABASE_URL, value)
|
||||
|
||||
def devicesJsonFile(self) -> str | None:
|
||||
return self.value(DEVICES_JSON_FILE, None, str)
|
||||
def devicesJsonFile(self):
|
||||
return self._strItem(DEVICES_JSON_FILE)
|
||||
|
||||
def setDevicesJsonFile(self, path: str):
|
||||
self.setValue(DEVICES_JSON_FILE, path)
|
||||
self.sync()
|
||||
def setDevicesJsonFile(self, value: str):
|
||||
self._setStrItem(DEVICES_JSON_FILE, value)
|
||||
|
||||
def resetDevicesJsonFile(self):
|
||||
self.setValue(DEVICES_JSON_FILE, None)
|
||||
self.sync()
|
||||
self._resetStrItem(DEVICES_JSON_FILE)
|
||||
|
||||
def deviceUuid(self) -> str | None:
|
||||
return self.value(DEVICE_UUID, None, str)
|
||||
def deviceUuid(self):
|
||||
return self._strItem(DEVICE_UUID)
|
||||
|
||||
def setDeviceUuid(self, uuid: str):
|
||||
self.setValue(DEVICE_UUID, uuid)
|
||||
self.sync()
|
||||
def setDeviceUuid(self, value: str):
|
||||
self._setStrItem(DEVICE_UUID, value)
|
||||
|
||||
def resetDeviceUuid(self):
|
||||
self.setValue(DEVICE_UUID, None)
|
||||
self.sync()
|
||||
self._resetStrItem(DEVICE_UUID)
|
||||
|
||||
def tesseractPath(self):
|
||||
return self.value(TESSERACT_FILE, None, str)
|
||||
return self._strItem(TESSERACT_FILE)
|
||||
|
||||
def setTesseractPath(self, path: str):
|
||||
self.setValue(TESSERACT_FILE, path)
|
||||
self.sync()
|
||||
def setTesseractPath(self, value: str):
|
||||
self._setStrItem(TESSERACT_FILE, value)
|
||||
|
||||
def resetTesseractPath(self):
|
||||
self.setValue(TESSERACT_FILE, None)
|
||||
self.sync()
|
||||
self._resetStrItem(TESSERACT_FILE)
|
||||
|
||||
def knnModelFile(self) -> str | None:
|
||||
return self.value(KNN_MODEL_FILE, None, str)
|
||||
def knnModelFile(self):
|
||||
return self._strItem(KNN_MODEL_FILE)
|
||||
|
||||
def setKnnModelFile(self, path: str):
|
||||
self.setValue(KNN_MODEL_FILE, path)
|
||||
self.sync()
|
||||
def setKnnModelFile(self, value: str):
|
||||
self._setStrItem(KNN_MODEL_FILE, value)
|
||||
|
||||
def resetKnnModelFile(self):
|
||||
self.setValue(KNN_MODEL_FILE, None)
|
||||
self.sync()
|
||||
self._resetStrItem(KNN_MODEL_FILE)
|
||||
|
||||
def siftDatabaseFile(self) -> str | None:
|
||||
return self.value(SIFT_DATABASE_FILE, None, str)
|
||||
def siftDatabaseFile(self):
|
||||
return self._strItem(SIFT_DATABASE_FILE)
|
||||
|
||||
def setSiftDatabaseFile(self, path: str):
|
||||
self.setValue(SIFT_DATABASE_FILE, path)
|
||||
self.sync()
|
||||
def setSiftDatabaseFile(self, value: str):
|
||||
self._setStrItem(SIFT_DATABASE_FILE, value)
|
||||
|
||||
def resetSiftDatabaseFile(self):
|
||||
self.setValue(SIFT_DATABASE_FILE, None)
|
||||
self.sync()
|
||||
self._resetStrItem(SIFT_DATABASE_FILE)
|
||||
|
Loading…
x
Reference in New Issue
Block a user