🟢 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,
|
QStatusBar,
|
||||||
QScreen,
|
QScreen,
|
||||||
QCloseEvent,
|
QCloseEvent,
|
||||||
|
QSettings,
|
||||||
)
|
)
|
||||||
from ..log import get_logger
|
from ..log import get_logger
|
||||||
from ._style import _font_small, hcolor
|
from ._style import _font_small, hcolor
|
||||||
|
@ -181,6 +182,13 @@ class MainWindow(QMainWindow):
|
||||||
self._status_label: QLabel = None
|
self._status_label: QLabel = None
|
||||||
self._size: tuple[int, int] | None = 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
|
@property
|
||||||
def mode_label(self) -> QLabel:
|
def mode_label(self) -> QLabel:
|
||||||
|
|
||||||
|
@ -217,6 +225,11 @@ class MainWindow(QMainWindow):
|
||||||
'''Cancel the root actor asap.
|
'''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.
|
# raising KBI seems to get intercepted by by Qt so just use the system.
|
||||||
os.kill(os.getpid(), signal.SIGINT)
|
os.kill(os.getpid(), signal.SIGINT)
|
||||||
|
|
||||||
|
|
|
@ -44,6 +44,7 @@ from PyQt6.QtCore import (
|
||||||
QItemSelectionModel,
|
QItemSelectionModel,
|
||||||
pyqtBoundSignal,
|
pyqtBoundSignal,
|
||||||
pyqtRemoveInputHook,
|
pyqtRemoveInputHook,
|
||||||
|
QSettings,
|
||||||
)
|
)
|
||||||
|
|
||||||
align_flag: EnumType = Qt.AlignmentFlag
|
align_flag: EnumType = Qt.AlignmentFlag
|
||||||
|
|
Loading…
Reference in New Issue