|
|
|
@ -82,6 +82,7 @@ class App(ui_base.PropertyContainer, QtCore.QObject):
|
|
|
|
|
displayMaterialTheme, displayMaterialThemeChanged = ui_base.Property('displayMaterialTheme', str)
|
|
|
|
|
displayMaterialVariant, displayMaterialVariantChanged = ui_base.Property('displayMaterialVariant', str)
|
|
|
|
|
engineProgram, engineProgramChanged = ui_base.Property('engineProgram', str)
|
|
|
|
|
engineMasterVolume, engineMasterVolumeChanged = ui_base.Property('engineMasterVolume', float)
|
|
|
|
|
|
|
|
|
|
def __init__(self) -> None:
|
|
|
|
|
super().__init__()
|
|
|
|
@ -102,6 +103,8 @@ class App(ui_base.PropertyContainer, QtCore.QObject):
|
|
|
|
|
self._projectWindowComponent = None # type: QtQml.QQmlComponent
|
|
|
|
|
self._window = None # type: QtQuick.QQuickItem
|
|
|
|
|
|
|
|
|
|
self.engineMasterVolumeChanged.connect(self.__engineMasterVolumeChanged)
|
|
|
|
|
|
|
|
|
|
@ui_base.ConstProperty(str)
|
|
|
|
|
def appVersion(self) -> str:
|
|
|
|
|
return noisicaa.__version__
|
|
|
|
@ -194,6 +197,7 @@ class App(ui_base.PropertyContainer, QtCore.QObject):
|
|
|
|
|
self._project.setup()
|
|
|
|
|
if self._window is not None:
|
|
|
|
|
self._window.setProperty('d', self._project)
|
|
|
|
|
self._project.restartEngine()
|
|
|
|
|
|
|
|
|
|
@QtCore.Slot(str)
|
|
|
|
|
def openProject(self, path: str) -> None:
|
|
|
|
@ -211,6 +215,7 @@ class App(ui_base.PropertyContainer, QtCore.QObject):
|
|
|
|
|
self._project.setup()
|
|
|
|
|
if self._window is not None:
|
|
|
|
|
self._window.setProperty('d', self._project)
|
|
|
|
|
self._project.restartEngine()
|
|
|
|
|
|
|
|
|
|
@QtCore.Slot()
|
|
|
|
|
def showEngineProgramWindow(self) -> None:
|
|
|
|
@ -226,3 +231,8 @@ class App(ui_base.PropertyContainer, QtCore.QObject):
|
|
|
|
|
|
|
|
|
|
def __programChanged(self, unused_: object=None) -> None:
|
|
|
|
|
self.engineProgram = self._engine.program_code()
|
|
|
|
|
|
|
|
|
|
def __engineMasterVolumeChanged(self, volume: float) -> None:
|
|
|
|
|
volume = max(0.0, min(volume, 1.0))
|
|
|
|
|
self.settings.setValue('masterVolume', volume)
|
|
|
|
|
self._engine.master_volume = volume
|
|
|
|
|