diff --git a/plugins/Toolbox/resources/qml/ToolboxDetailTile.qml b/plugins/Toolbox/resources/qml/ToolboxDetailTile.qml
index 43f97baf3f..c7bb1f60ac 100644
--- a/plugins/Toolbox/resources/qml/ToolboxDetailTile.qml
+++ b/plugins/Toolbox/resources/qml/ToolboxDetailTile.qml
@@ -54,7 +54,7 @@ Item
anchors.top: tile.top
width: childrenRect.width
height: childrenRect.height
-
+ packageData: model
}
ToolboxCompatibilityChart
diff --git a/plugins/Toolbox/resources/qml/ToolboxDetailTileActions.qml b/plugins/Toolbox/resources/qml/ToolboxDetailTileActions.qml
index 87fc5d6955..60fe095537 100644
--- a/plugins/Toolbox/resources/qml/ToolboxDetailTileActions.qml
+++ b/plugins/Toolbox/resources/qml/ToolboxDetailTileActions.qml
@@ -12,6 +12,7 @@ Column
property bool installed: toolbox.isInstalled(model.id)
property bool canUpdate: toolbox.canUpdate(model.id)
property bool loginRequired: model.login_required && !Cura.API.account.isLoggedIn
+ property var packageData
width: UM.Theme.getSize("toolbox_action_button").width
spacing: UM.Theme.getSize("narrow_margin").height
@@ -66,6 +67,27 @@ Column
}
}
+ Label
+ {
+ property var whereToBuyUrl:
+ {
+ var pg_name = "whereToBuy"
+ return (pg_name in packageData.links) ? packageData.links[pg_name] : undefined
+ }
+
+ renderType: Text.NativeRendering
+ text: catalog.i18nc("@label:The string between and is the highlighted link", "Buy material spools")
+ linkColor: UM.Theme.getColor("text_link")
+ visible: whereToBuyUrl != undefined
+ font: UM.Theme.getFont("default")
+ color: UM.Theme.getColor("text")
+ MouseArea
+ {
+ anchors.fill: parent
+ onClicked: Qt.openUrlExternally(parent.whereToBuyUrl)
+ }
+ }
+
ToolboxProgressButton
{
id: updateButton