From d7075e5ac99f3329e72eb4c3634e86dc34be1c98 Mon Sep 17 00:00:00 2001
From: Flavio Tarsetti <Flavio.Tarsetti@idiap.ch>
Date: Wed, 20 Feb 2019 10:10:24 +0100
Subject: [PATCH] [widgets] Save/Restore window state and geometry

---
 beat/editor/widgets/mainwindow.py | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/beat/editor/widgets/mainwindow.py b/beat/editor/widgets/mainwindow.py
index b7ed7c0c..dfd009de 100644
--- a/beat/editor/widgets/mainwindow.py
+++ b/beat/editor/widgets/mainwindow.py
@@ -27,6 +27,7 @@ from PyQt5.QtWidgets import QHBoxLayout
 from PyQt5.QtWidgets import QMainWindow
 from PyQt5.QtWidgets import QWidget
 from PyQt5.QtWidgets import qApp
+from PyQt5.QtCore import QSettings
 
 from .assetbrowser import AssetBrowser
 from .assetwidget import AssetWidget
@@ -42,6 +43,13 @@ class MainWindow(QMainWindow):
 
         super(MainWindow, self).__init__(parent)
 
+        # MainWindow settings
+        self.settings = QSettings("beat", "editor")
+        if not self.settings.value("geometry") is None:
+            self.restoreGeometry(self.settings.value("geometry"))
+        if not self.settings.value("windowState") is None:
+            self.restoreState(self.settings.value("windowState"))
+
         menubar = self.menuBar()
         fileMenu = menubar.addMenu(self.tr("File"))
         quitAction = fileMenu.addAction(self.tr("Quit"))
@@ -71,3 +79,8 @@ class MainWindow(QMainWindow):
     def show_settings(self):
         """Show settings dialog"""
         pass
+
+    def closeEvent(self, event):
+        self.settings.setValue("geometry", self.saveGeometry())
+        self.settings.setValue("windowState", self.saveState())
+        QMainWindow.closeEvent(self, event)
-- 
GitLab