Browse Source

Merge branch '2.7'

Lipu Fei 7 years ago
parent
commit
def2e1f203
1 changed files with 9 additions and 1 deletions
  1. 9 1
      cura/Settings/CuraContainerRegistry.py

+ 9 - 1
cura/Settings/CuraContainerRegistry.py

@@ -292,10 +292,18 @@ class CuraContainerRegistry(ContainerRegistry):
             profile.setDefinition(ContainerRegistry.getInstance().findDefinitionContainers(id="fdmprinter")[0])
             profile.setDefinition(ContainerRegistry.getInstance().findDefinitionContainers(id="fdmprinter")[0])
             quality_type_criteria["definition"] = "fdmprinter"
             quality_type_criteria["definition"] = "fdmprinter"
 
 
+        machine_definition = Application.getInstance().getGlobalContainerStack().getBottom()
+        del quality_type_criteria["definition"]
+        materials = None
+        if "material" in quality_type_criteria:
+            materials = ContainerRegistry.getInstance().findInstanceContainers(id = quality_type_criteria["material"])
+            del quality_type_criteria["material"]
+
         # Check to make sure the imported profile actually makes sense in context of the current configuration.
         # Check to make sure the imported profile actually makes sense in context of the current configuration.
         # This prevents issues where importing a "draft" profile for a machine without "draft" qualities would report as
         # This prevents issues where importing a "draft" profile for a machine without "draft" qualities would report as
         # successfully imported but then fail to show up.
         # successfully imported but then fail to show up.
-        qualities = self.findInstanceContainers(**quality_type_criteria)
+        from cura.QualityManager import QualityManager
+        qualities = QualityManager.getInstance()._getFilteredContainersForStack(machine_definition, materials, **quality_type_criteria)
         if not qualities:
         if not qualities:
             return catalog.i18nc("@info:status", "Could not find a quality type {0} for the current configuration.", quality_type)
             return catalog.i18nc("@info:status", "Could not find a quality type {0} for the current configuration.", quality_type)