more testing of pyside6

This commit is contained in:
jdegenstein
2023-10-11 12:11:37 -05:00
parent 8fca86e2c9
commit 960c9fe5ca
13 changed files with 1090 additions and 1035 deletions

View File

@@ -10,72 +10,67 @@ from functools import reduce
from operator import add
from logbook import Logger
from PySide6.QtCore import pyqtSlot, QSettings
from PySide6.QtCore import QSettings
from PySide6.QtCore import Slot as pyqtSlot
class MainMixin(object):
name = 'Main'
org = 'Unknown'
name = "Main"
org = "Unknown"
components = {}
docks = {}
preferences = None
def __init__(self):
self.settings = QSettings(self.org, self.name)
self.settings = QSettings(self.org,self.name)
def registerComponent(self,name,component,dock=None):
def registerComponent(self, name, component, dock=None):
self.components[name] = component
if dock:
self.docks[name] = dock(component)
def saveWindow(self):
self.settings.setValue('geometry',self.saveGeometry())
self.settings.setValue('windowState',self.saveState())
self.settings.setValue("geometry", self.saveGeometry())
self.settings.setValue("windowState", self.saveState())
def restoreWindow(self):
if self.settings.value('geometry'):
self.restoreGeometry(self.settings.value('geometry'))
if self.settings.value('windowState'):
self.restoreState(self.settings.value('windowState'))
if self.settings.value("geometry"):
self.restoreGeometry(self.settings.value("geometry"))
if self.settings.value("windowState"):
self.restoreState(self.settings.value("windowState"))
def savePreferences(self):
settings = self.settings
if self.preferences:
settings.setValue('General',self.preferences.saveState())
settings.setValue("General", self.preferences.saveState())
for comp in (c for c in self.components.values() if c.preferences):
settings.setValue(comp.name,comp.preferences.saveState())
settings.setValue(comp.name, comp.preferences.saveState())
def restorePreferences(self):
settings = self.settings
if self.preferences and settings.value('General'):
self.preferences.restoreState(settings.value('General'),
removeChildren=False)
if self.preferences and settings.value("General"):
self.preferences.restoreState(
settings.value("General"), removeChildren=False
)
for comp in (c for c in self.components.values() if c.preferences):
if settings.value(comp.name):
comp.preferences.restoreState(settings.value(comp.name),
removeChildren=False)
comp.preferences.restoreState(
settings.value(comp.name), removeChildren=False
)
def saveComponentState(self):
settings = self.settings
for comp in self.components.values():
comp.saveComponentState(settings)
def restoreComponentState(self):
settings = self.settings
for comp in self.components.values():
@@ -83,42 +78,32 @@ class MainMixin(object):
class ComponentMixin(object):
name = 'Component'
name = "Component"
preferences = None
_actions = {}
def __init__(self):
if self.preferences:
self.preferences.sigTreeStateChanged.\
connect(self.updatePreferences)
self.preferences.sigTreeStateChanged.connect(self.updatePreferences)
self._logger = Logger(self.name)
def menuActions(self):
return self._actions
def toolbarActions(self):
if len(self._actions) > 0:
return reduce(add,[a for a in self._actions.values()])
return reduce(add, [a for a in self._actions.values()])
else:
return []
@pyqtSlot(object,object)
def updatePreferences(self,*args):
@pyqtSlot(object, object)
def updatePreferences(self, *args):
pass
def saveComponentState(self,store):
def saveComponentState(self, store):
pass
def restoreComponentState(self,store):
def restoreComponentState(self, store):
pass