From 580512582bc77c372b3bbdfc33ac303627eec855 Mon Sep 17 00:00:00 2001 From: Jan Grewe Date: Sat, 6 Mar 2021 10:59:44 +0100 Subject: [PATCH] [main] properly exit app, store window geometry --- blipblop/main.py | 18 +++++++++++++++++- blipblop/ui/mainwindow.py | 6 +++--- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/blipblop/main.py b/blipblop/main.py index b9b420a..34817f8 100644 --- a/blipblop/main.py +++ b/blipblop/main.py @@ -1,6 +1,7 @@ #!/usr/bin/python3 import sys from PyQt5.QtWidgets import QApplication +from PyQt5.QtCore import QSettings from blipblop.ui.mainwindow import BlipBlop def main(): @@ -8,11 +9,26 @@ def main(): app.setApplicationName("blipblop") app.setApplicationVersion("0.1") app.setOrganizationDomain("neuroetho.uni-tuebingen.de") + settings = QSettings() + width = settings.value("app/width", 1024) + height = settings.value("app/height", 768) + x = settings.value("app/pos_x", 100) + y = settings.value("app/pos_y", 100) window = BlipBlop() window.setMinimumWidth(800) window.setMinimumHeight(600) + window.resize(width, height) + window.move(x, y) window.show() - sys.exit(app.exec_()) + + code = app.exec_() + pos = window.pos() + settings.setValue("app/width", window.width()) + settings.setValue("app/height", window.height()) + settings.setValue("app/pos_x", pos.x()) + settings.setValue("app/pos_y", pos.y()) + sys.exit(code) + if __name__ == "__main__": main() \ No newline at end of file diff --git a/blipblop/ui/mainwindow.py b/blipblop/ui/mainwindow.py index e2221d3..d1076c0 100644 --- a/blipblop/ui/mainwindow.py +++ b/blipblop/ui/mainwindow.py @@ -1,5 +1,5 @@ import sys -from PyQt5.QtWidgets import QWidget, QFileDialog, QMainWindow, QMenuBar, QToolBar, QAction, QStatusBar, QSizePolicy +from PyQt5.QtWidgets import QApplication, QWidget, QMainWindow, QMenuBar, QToolBar, QAction, QStatusBar, QSizePolicy from PyQt5.QtGui import QKeySequence from PyQt5.QtCore import QSize, QSettings, Qt @@ -61,7 +61,7 @@ class BlipBlop(QMainWindow): self._auditory_task_action = QAction(cnst.get_icon("auditory_task"), "auditory") self._auditory_task_action.setStatusTip("Start measuring auditory reaction times") self._auditory_task_action.setShortcut(QKeySequence("Ctrl+2")) - self._auditory_task_action.setEnabled(False) + self._auditory_task_action.setEnabled(True) self._auditory_task_action.triggered.connect(self.on_auditory) self.create_toolbar() @@ -105,7 +105,7 @@ class BlipBlop(QMainWindow): self.setMenuBar(menu) def on_quit(self, s): - sys.exit() + self.close() def on_new(self): self._cw.reset()