Change links and compatibility chart.

This commit is contained in:
Diego Prado Gesto 2019-05-07 08:58:45 +02:00
parent 1736a02d28
commit c3f3b8dd93
3 changed files with 36 additions and 70 deletions

View file

@ -1,9 +1,9 @@
// Copyright (c) 2018 Ultimaker B.V. // Copyright (c) 2019 Ultimaker B.V.
// Toolbox is released under the terms of the LGPLv3 or higher. // Toolbox is released under the terms of the LGPLv3 or higher.
import QtQuick 2.10 import QtQuick 2.10
import QtQuick.Controls 1.4 import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4
import UM 1.1 as UM import UM 1.1 as UM
Item Item
@ -11,52 +11,19 @@ Item
id: base id: base
property var packageData property var packageData
property var technicalDataSheetUrl: property var technicalDataSheetUrl: packageData.links.technicalDataSheet
{ property var safetyDataSheetUrl: packageData.links.safetyDataSheet
var link = undefined property var printingGuidelinesUrl: packageData.links.printingGuidelines
if ("Technical Data Sheet" in packageData.links) property var materialWebsiteUrl: packageData.links.website
{
// HACK: This is the way the old API (used in 3.6-beta) used to do it. For safety it's still here,
// but it can be removed over time.
link = packageData.links["Technical Data Sheet"]
}
else if ("technicalDataSheet" in packageData.links)
{
link = packageData.links["technicalDataSheet"]
}
return link
}
property var safetyDataSheetUrl:
{
var sds_name = "safetyDataSheet"
return (sds_name in packageData.links) ? packageData.links[sds_name] : undefined
}
property var printingGuidelinesUrl:
{
var pg_name = "printingGuidelines"
return (pg_name in packageData.links) ? packageData.links[pg_name] : undefined
}
property var materialWebsiteUrl: height: childrenRect.height
{ onVisibleChanged: packageData.type == "material" && (compatibilityItem.visible || dataSheetLinks.visible)
var pg_name = "website"
return (pg_name in packageData.links) ? packageData.links[pg_name] : undefined
}
anchors.topMargin: UM.Theme.getSize("default_margin").height
height: visible ? childrenRect.height : 0
visible: packageData.type == "material" &&
(packageData.has_configs || technicalDataSheetUrl !== undefined ||
safetyDataSheetUrl !== undefined || printingGuidelinesUrl !== undefined ||
materialWebsiteUrl !== undefined)
Item Item
{ {
id: combatibilityItem id: compatibilityItem
visible: packageData.has_configs visible: packageData.has_configs
width: parent.width width: parent.width
// This is a bit of a hack, but the whole QML is pretty messy right now. This needs a big overhaul.
height: visible ? heading.height + table.height: 0
Label Label
{ {
@ -155,32 +122,32 @@ Item
TableViewColumn TableViewColumn
{ {
role: "machine" role: "machine"
title: "Machine" title: catalog.i18nc("@label table header", "Machine")
width: Math.floor(table.width * 0.25) width: Math.floor(table.width * 0.25)
delegate: columnTextDelegate delegate: columnTextDelegate
} }
TableViewColumn TableViewColumn
{ {
role: "print_core" role: "print_core"
title: "Print Core" title: catalog.i18nc("@label table header", "Print Core")
width: Math.floor(table.width * 0.2) width: Math.floor(table.width * 0.2)
} }
TableViewColumn TableViewColumn
{ {
role: "build_plate" role: "build_plate"
title: "Build Plate" title: catalog.i18nc("@label table header", "Build Plate")
width: Math.floor(table.width * 0.225) width: Math.floor(table.width * 0.225)
} }
TableViewColumn TableViewColumn
{ {
role: "support_material" role: "support_material"
title: "Support" title: catalog.i18nc("@label table header", "Support")
width: Math.floor(table.width * 0.225) width: Math.floor(table.width * 0.225)
} }
TableViewColumn TableViewColumn
{ {
role: "quality" role: "quality"
title: "Quality" title: catalog.i18nc("@label table header", "Quality")
width: Math.floor(table.width * 0.1) width: Math.floor(table.width * 0.1)
} }
} }
@ -188,13 +155,14 @@ Item
Label Label
{ {
id: data_sheet_links id: dataSheetLinks
anchors.top: combatibilityItem.bottom anchors.top: parent.top
anchors.topMargin: UM.Theme.getSize("default_margin").height / 2 anchors.topMargin: UM.Theme.getSize("narrow_margin").height
visible: base.technicalDataSheetUrl !== undefined || visible: base.technicalDataSheetUrl !== undefined ||
base.safetyDataSheetUrl !== undefined || base.printingGuidelinesUrl !== undefined || base.safetyDataSheetUrl !== undefined ||
base.materialWebsiteUrl !== undefined base.printingGuidelinesUrl !== undefined ||
height: visible ? contentHeight : 0 base.materialWebsiteUrl !== undefined
text: text:
{ {
var result = "" var result = ""

View file

@ -10,21 +10,21 @@ Item
{ {
id: tile id: tile
width: detailList.width - UM.Theme.getSize("wide_margin").width width: detailList.width - UM.Theme.getSize("wide_margin").width
height: normalData.height + compatibilityChart.height + 4 * UM.Theme.getSize("default_margin").height height: normalData.height + 2 * UM.Theme.getSize("wide_margin").height
Item Column
{ {
id: normalData id: normalData
height: childrenRect.height
anchors anchors
{ {
top: parent.top
left: parent.left left: parent.left
right: controls.left right: controls.left
rightMargin: UM.Theme.getSize("default_margin").width * 2 + UM.Theme.getSize("toolbox_loader").width rightMargin: UM.Theme.getSize("wide_margin").width
top: parent.top
} }
Label Label
{ {
id: packageName
width: parent.width width: parent.width
height: UM.Theme.getSize("toolbox_property_label").height height: UM.Theme.getSize("toolbox_property_label").height
text: model.name text: model.name
@ -33,9 +33,9 @@ Item
font: UM.Theme.getFont("medium_bold") font: UM.Theme.getFont("medium_bold")
renderType: Text.NativeRendering renderType: Text.NativeRendering
} }
Label Label
{ {
anchors.top: packageName.bottom
width: parent.width width: parent.width
text: model.description text: model.description
maximumLineCount: 25 maximumLineCount: 25
@ -45,6 +45,12 @@ Item
font: UM.Theme.getFont("default") font: UM.Theme.getFont("default")
renderType: Text.NativeRendering renderType: Text.NativeRendering
} }
ToolboxCompatibilityChart
{
width: parent.width
packageData: model
}
} }
ToolboxDetailTileActions ToolboxDetailTileActions
@ -57,20 +63,12 @@ Item
packageData: model packageData: model
} }
ToolboxCompatibilityChart
{
id: compatibilityChart
anchors.top: normalData.bottom
width: normalData.width
packageData: model
}
Rectangle Rectangle
{ {
color: UM.Theme.getColor("lining") color: UM.Theme.getColor("lining")
width: tile.width width: tile.width
height: UM.Theme.getSize("default_lining").height height: UM.Theme.getSize("default_lining").height
anchors.top: compatibilityChart.bottom anchors.top: normalData.bottom
anchors.topMargin: UM.Theme.getSize("default_margin").height + UM.Theme.getSize("wide_margin").height //Normal margin for spacing after chart, wide margin between items. anchors.topMargin: UM.Theme.getSize("default_margin").height + UM.Theme.getSize("wide_margin").height //Normal margin for spacing after chart, wide margin between items.
} }
} }

View file

@ -41,7 +41,7 @@ Item
Column Column
{ {
id: pluginInfo id: pluginInfo
topPadding: Math.floor(UM.Theme.getSize("default_margin").height / 2) topPadding: UM.Theme.getSize("narrow_margin").height
property var color: model.type === "plugin" && !isEnabled ? UM.Theme.getColor("lining") : UM.Theme.getColor("text") property var color: model.type === "plugin" && !isEnabled ? UM.Theme.getColor("lining") : UM.Theme.getColor("text")
width: Math.floor(tileRow.width - (authorInfo.width + pluginActions.width + 2 * tileRow.spacing + ((disableButton.visible) ? disableButton.width + tileRow.spacing : 0))) width: Math.floor(tileRow.width - (authorInfo.width + pluginActions.width + 2 * tileRow.spacing + ((disableButton.visible) ? disableButton.width + tileRow.spacing : 0)))
Label Label