use QSettings to store window geometry

This commit is contained in:
2021-10-31 07:52:13 +01:00
parent 87eb0a9bf1
commit 59a4173929
2 changed files with 26 additions and 1 deletions

14
main.py
View File

@@ -10,6 +10,7 @@ import sys
import urlutils
from aboutdialog import AboutDialog
from cutesettings import CuteSettings
from ravenui import RavenUI
from settingsstore import SettingsStore
from highlightingdialog import HighlightingDialog
@@ -28,7 +29,8 @@ class MainWindow(QMainWindow):
self.settings = SettingsStore.load()
self.setWindowTitle(self.tr("RavenLog"))
self.setGeometry(0, 0, 640, 480)
self._restore_window()
self.setDockNestingEnabled(True)
self.setAcceptDrops(True)
@@ -135,6 +137,15 @@ class MainWindow(QMainWindow):
file = urlutils.url_to_path(e.mimeData().text())
self.open_file(file)
def _restore_window(self):
qsettings = CuteSettings()
geometry_restored = False
geometry = qsettings.value("mainWindow/geometry")
if geometry:
geometry_restored = self.restoreGeometry(geometry)
if not geometry_restored:
self.setGeometry(0, 0, 800, 600)
def closeEvent(self, event):
self.destruct()
@@ -142,6 +153,7 @@ class MainWindow(QMainWindow):
self.tabs.destruct()
self.close()
SettingsStore.save(self.settings)
CuteSettings().set_value("mainWindow/geometry", self.saveGeometry())
def stop_signal(signum, _stackframe):