Move to QSettings for database credentials.

fixes: #1
This commit is contained in:
Christopher T. Johnson
2025-02-24 16:32:12 -05:00
parent f68e6c65cc
commit 92ad7efaad
5 changed files with 50 additions and 10 deletions

View File

@@ -1,6 +1,6 @@
from typing import NoReturn, cast
from PySide6.QtCore import QCoreApplication, QObject, QRect, Signal
from PySide6.QtCore import QByteArray, QCoreApplication, QObject, QRect, QSettings, Signal
from PySide6.QtGui import QColor, QFont
from PySide6.QtSql import QSqlQuery
from PySide6.QtWidgets import QStyleOptionViewItem, QWidget
@@ -28,3 +28,24 @@ class QStyleOptionViewItemInit(QStyleOptionViewItem):
widget: QWidget
font: QFont
text: str
def openSettings(group:str|None = None) -> QSettings:
settings = QSettings("Troglodite Services", "SCOTUS Watch")
if group is not None:
settings.beginGroup(group)
return settings
def readGeometry(widget:QWidget) -> None:
settings = openSettings(widget.objectName())
geometry = settings.value('geometry', QByteArray())
assert isinstance(geometry, QByteArray)
if not geometry.isEmpty():
widget.restoreGeometry(geometry)
settings.endGroup()
return
def writeGeometry(widget: QWidget) -> None:
settings = openSettings(widget.objectName())
settings.setValue('geometry', widget.saveGeometry())
settings.endGroup()
return