🟢 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