Browse Source

Use "/<version>/<machineName>" as the material info URL suffix

CURA-3810
Lipu Fei 7 years ago
parent
commit
85e875257b
3 changed files with 14 additions and 1 deletions
  1. 4 0
      cura/CuraApplication.py
  2. 6 0
      cura/Settings/MachineManager.py
  3. 4 1
      resources/qml/SidebarHeader.qml

+ 4 - 0
cura/CuraApplication.py

@@ -1362,3 +1362,7 @@ class CuraApplication(QtApplication):
                     node = node.getParent()
 
                 Selection.add(node)
+
+    @pyqtSlot(result=str)
+    def getCuraVersion(self):
+        return CuraVersion

+ 6 - 0
cura/Settings/MachineManager.py

@@ -474,6 +474,12 @@ class MachineManager(QObject):
     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:

+ 4 - 1
resources/qml/SidebarHeader.qml

@@ -220,7 +220,10 @@ Column
             onClicked:
             {
                 // open the material URL with web browser
-                var url = "https://ultimaker.com/en/resources/23121-materials";
+                var version = CuraApplication.getCuraVersion();
+                var machineName = Cura.MachineManager.activeMachineDefinitionId;
+
+                var url = "https://ultimaker.com/materialcompatibility/" + version + "/" + machineName;
                 Qt.openUrlExternally(url);
             }