🟢 piker/ui/_window.py for window geometry persistence
🛠️ piker/ui/_window.py -> Save and restore window size between sessions 🛠️ piker/ui/qt.py -> Added QSettings import for configuration managementmacos_fixed_with_readme
parent
5e3cd1fc6b
commit
18b66e5506
|
@ -37,6 +37,7 @@ from piker.ui.qt import (
|
|||
QStatusBar,
|
||||
QScreen,
|
||||
QCloseEvent,
|
||||
QSettings,
|
||||
)
|
||||
from ..log import get_logger
|
||||
from ._style import _font_small, hcolor
|
||||
|
@ -181,6 +182,13 @@ class MainWindow(QMainWindow):
|
|||
self._status_label: QLabel = None
|
||||
self._size: tuple[int, int] | None = None
|
||||
|
||||
# restore window geometry from previous session
|
||||
settings = QSettings('pikers', 'piker')
|
||||
geometry = settings.value('windowGeometry')
|
||||
if geometry is not None:
|
||||
self.restoreGeometry(geometry)
|
||||
log.debug('Restored window geometry from previous session')
|
||||
|
||||
@property
|
||||
def mode_label(self) -> QLabel:
|
||||
|
||||
|
@ -217,6 +225,11 @@ class MainWindow(QMainWindow):
|
|||
'''Cancel the root actor asap.
|
||||
|
||||
'''
|
||||
# save window geometry for next session
|
||||
settings = QSettings('pikers', 'piker')
|
||||
settings.setValue('windowGeometry', self.saveGeometry())
|
||||
log.debug('Saved window geometry for next session')
|
||||
|
||||
# raising KBI seems to get intercepted by by Qt so just use the system.
|
||||
os.kill(os.getpid(), signal.SIGINT)
|
||||
|
||||
|
|
|
@ -44,6 +44,7 @@ from PyQt6.QtCore import (
|
|||
QItemSelectionModel,
|
||||
pyqtBoundSignal,
|
||||
pyqtRemoveInputHook,
|
||||
QSettings,
|
||||
)
|
||||
|
||||
align_flag: EnumType = Qt.AlignmentFlag
|
||||
|
|
Loading…
Reference in New Issue