Use .definition to access DefinitionContainer in qml

CURA-3810
This commit is contained in:
Lipu Fei 2017-05-30 12:49:10 +02:00
parent 7be05229d8
commit 8af1cc886f
3 changed files with 4 additions and 10 deletions

View file

@ -5,7 +5,7 @@ import os.path
from typing import Any, Optional
from PyQt5.QtCore import pyqtProperty, pyqtSignal
from PyQt5.QtCore import pyqtProperty, pyqtSignal, QObject
from UM.FlameProfiler import pyqtSlot
from UM.Decorators import override
@ -250,7 +250,7 @@ class CuraContainerStack(ContainerStack):
## Get the definition container.
#
# \return The definition container. Should always be a valid container, but can be equal to the empty InstanceContainer.
@pyqtProperty(DefinitionContainer, fset = setDefinition, notify = pyqtContainersChanged)
@pyqtProperty(QObject, fset = setDefinition, notify = pyqtContainersChanged)
def definition(self) -> DefinitionContainer:
return self._containers[_ContainerIndexes.Definition]

View file

@ -470,16 +470,10 @@ class MachineManager(QObject):
return ""
@pyqtProperty("QObject", notify = globalContainerChanged)
@pyqtProperty(QObject, notify = globalContainerChanged)
def activeMachine(self) -> "GlobalStack":
return self._global_container_stack
@pyqtProperty(str, notify = globalContainerChanged)
def activeMachineDefinitionId(self) -> str:
if self._global_container_stack and self._global_container_stack.definition:
return self._global_container_stack.definition.getId()
return ""
@pyqtProperty(str, notify = activeStackChanged)
def activeStackId(self) -> str:
if self._active_container_stack:

View file

@ -221,7 +221,7 @@ Column
{
// open the material URL with web browser
var version = UM.Application.version;
var machineName = Cura.MachineManager.activeMachineDefinitionId;
var machineName = Cura.MachineManager.activeMachine.definition.id;
var url = "https://ultimaker.com/materialcompatibility/" + version + "/" + machineName;
Qt.openUrlExternally(url);