Save / Restore basic settings

This commit is contained in:
Andrew Mulbrook 2026-03-22 22:42:12 -05:00
parent 8d531b3304
commit 72d591194f
3 changed files with 24 additions and 0 deletions

View file

@ -10,6 +10,8 @@ from PySide6.QtWidgets import (
QWidget QWidget
) )
from .settings import get_settings
class TroveMainWindow(QMainWindow): class TroveMainWindow(QMainWindow):
def __init__(self): def __init__(self):
super().__init__() super().__init__()
@ -17,6 +19,7 @@ class TroveMainWindow(QMainWindow):
# ── Toolbar ── # ── Toolbar ──
toolbar = QToolBar("Main") toolbar = QToolBar("Main")
toolbar.setObjectName("maintoolbar")
toolbar.setMovable(False) toolbar.setMovable(False)
self.addToolBar(toolbar) self.addToolBar(toolbar)
@ -51,3 +54,18 @@ class TroveMainWindow(QMainWindow):
# ── Status bar ── # ── Status bar ──
self.setStatusBar(QStatusBar()) self.setStatusBar(QStatusBar())
self.statusBar().showMessage("Ready") self.statusBar().showMessage("Ready")
def closeEvent(self, event):
settings = get_settings()
settings.setValue("window/geometry", self.saveGeometry())
settings.setValue("window/state", self.saveState())
super().closeEvent(event)
def restore_settings(self):
settings = get_settings()
geometry = settings.value("window/geometry")
state = settings.value("window/state")
if geometry:
self.restoreGeometry(geometry)
if state:
self.restoreState(state)

View file

@ -17,6 +17,7 @@ def main():
window = TroveMainWindow() window = TroveMainWindow()
window.show() window.show()
window.restore_settings()
sys.exit(app.exec()) sys.exit(app.exec())
if __name__ == '__main__': if __name__ == '__main__':

5
trovedb/qgui/settings.py Normal file
View file

@ -0,0 +1,5 @@
from PySide6.QtCore import QSettings
def get_settings() -> QSettings:
return QSettings("trovedb", "qtrove")