diff --git a/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml b/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml index 58fea079e9..fd014d26e1 100644 --- a/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml +++ b/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml @@ -15,141 +15,159 @@ Item var link = undefined if ("Technical Data Sheet" in packageData.links) { + // 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 } - anchors.topMargin: UM.Theme.getSize("default_margin").height height: visible ? childrenRect.height : 0 - visible: packageData.type == "material" && packageData.has_configs - Label + + visible: packageData.type == "material" && (packageData.has_configs || technicalDataSheetUrl != undefined) + + Item { - id: heading - anchors.topMargin: UM.Theme.getSize("default_margin").height + id: combatibilityItem + visible: packageData.has_configs width: parent.width - text: catalog.i18nc("@label", "Compatibility") - wrapMode: Text.WordWrap - color: UM.Theme.getColor("text_medium") - font: UM.Theme.getFont("medium") - } - TableView - { - id: table - anchors.top: heading.bottom - anchors.topMargin: UM.Theme.getSize("default_margin").height - width: parent.width - frameVisible: false + // 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 - // Workaround for scroll issues (QTBUG-49652) - flickableItem.interactive: false - Component.onCompleted: + Label { - for (var i = 0; i < flickableItem.children.length; ++i) - { - flickableItem.children[i].enabled = false - } - } - selectionMode: 0 - model: packageData.supported_configs - headerDelegate: Rectangle - { - color: UM.Theme.getColor("sidebar") - height: UM.Theme.getSize("toolbox_chart_row").height - Label - { - anchors.verticalCenter: parent.verticalCenter - elide: Text.ElideRight - text: styleData.value || "" - color: UM.Theme.getColor("text") - font: UM.Theme.getFont("default_bold") - } - Rectangle - { - anchors.bottom: parent.bottom - height: UM.Theme.getSize("default_lining").height - width: parent.width - color: "black" - } - } - rowDelegate: Item - { - height: UM.Theme.getSize("toolbox_chart_row").height - Label - { - anchors.verticalCenter: parent.verticalCenter - elide: Text.ElideRight - text: styleData.value || "" - color: UM.Theme.getColor("text_medium") - font: UM.Theme.getFont("default") - } - } - itemDelegate: Item - { - height: UM.Theme.getSize("toolbox_chart_row").height - Label - { - anchors.verticalCenter: parent.verticalCenter - elide: Text.ElideRight - text: styleData.value || "" - color: UM.Theme.getColor("text_medium") - font: UM.Theme.getFont("default") - } + id: heading + anchors.topMargin: UM.Theme.getSize("default_margin").height + width: parent.width + text: catalog.i18nc("@label", "Compatibility") + wrapMode: Text.WordWrap + color: UM.Theme.getColor("text_medium") + font: UM.Theme.getFont("medium") } - Component + TableView { - id: columnTextDelegate - Label - { - anchors.fill: parent - verticalAlignment: Text.AlignVCenter - text: styleData.value || "" - elide: Text.ElideRight - color: UM.Theme.getColor("text_medium") - font: UM.Theme.getFont("default") - } - } + id: table + anchors.top: heading.bottom + anchors.topMargin: UM.Theme.getSize("default_margin").height + width: parent.width + frameVisible: false - TableViewColumn - { - role: "machine" - title: "Machine" - width: Math.floor(table.width * 0.25) - delegate: columnTextDelegate - } - TableViewColumn - { - role: "print_core" - title: "Print Core" - width: Math.floor(table.width * 0.2) - } - TableViewColumn - { - role: "build_plate" - title: "Build Plate" - width: Math.floor(table.width * 0.225) - } - TableViewColumn - { - role: "support_material" - title: "Support" - width: Math.floor(table.width * 0.225) - } - TableViewColumn - { - role: "quality" - title: "Quality" - width: Math.floor(table.width * 0.1) + // Workaround for scroll issues (QTBUG-49652) + flickableItem.interactive: false + Component.onCompleted: + { + for (var i = 0; i < flickableItem.children.length; ++i) + { + flickableItem.children[i].enabled = false + } + } + selectionMode: 0 + model: packageData.supported_configs + headerDelegate: Rectangle + { + color: UM.Theme.getColor("sidebar") + height: UM.Theme.getSize("toolbox_chart_row").height + Label + { + anchors.verticalCenter: parent.verticalCenter + elide: Text.ElideRight + text: styleData.value || "" + color: UM.Theme.getColor("text") + font: UM.Theme.getFont("default_bold") + } + Rectangle + { + anchors.bottom: parent.bottom + height: UM.Theme.getSize("default_lining").height + width: parent.width + color: "black" + } + } + rowDelegate: Item + { + height: UM.Theme.getSize("toolbox_chart_row").height + Label + { + anchors.verticalCenter: parent.verticalCenter + elide: Text.ElideRight + text: styleData.value || "" + color: UM.Theme.getColor("text_medium") + font: UM.Theme.getFont("default") + } + } + itemDelegate: Item + { + height: UM.Theme.getSize("toolbox_chart_row").height + Label + { + anchors.verticalCenter: parent.verticalCenter + elide: Text.ElideRight + text: styleData.value || "" + color: UM.Theme.getColor("text_medium") + font: UM.Theme.getFont("default") + } + } + + Component + { + id: columnTextDelegate + Label + { + anchors.fill: parent + verticalAlignment: Text.AlignVCenter + text: styleData.value || "" + elide: Text.ElideRight + color: UM.Theme.getColor("text_medium") + font: UM.Theme.getFont("default") + } + } + + TableViewColumn + { + role: "machine" + title: "Machine" + width: Math.floor(table.width * 0.25) + delegate: columnTextDelegate + } + TableViewColumn + { + role: "print_core" + title: "Print Core" + width: Math.floor(table.width * 0.2) + } + TableViewColumn + { + role: "build_plate" + title: "Build Plate" + width: Math.floor(table.width * 0.225) + } + TableViewColumn + { + role: "support_material" + title: "Support" + width: Math.floor(table.width * 0.225) + } + TableViewColumn + { + role: "quality" + title: "Quality" + width: Math.floor(table.width * 0.1) + } } } Label { id: technical_data_sheet - anchors.top: table.bottom + anchors.top: combatibilityItem.bottom anchors.topMargin: UM.Theme.getSize("default_margin").height / 2 visible: base.technicalDataSheetUrl !== undefined + height: visible ? contentHeight : 0 text: { if (base.technicalDataSheetUrl !== undefined) diff --git a/plugins/VersionUpgrade/VersionUpgrade33to34/__init__.py b/plugins/VersionUpgrade/VersionUpgrade33to34/__init__.py index 8213f195d5..1130c1e9e2 100644 --- a/plugins/VersionUpgrade/VersionUpgrade33to34/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade33to34/__init__.py @@ -11,6 +11,7 @@ def getMetaData(): # From To Upgrade function ("definition_changes", 3000004): ("definition_changes", 4000004, upgrade.upgradeInstanceContainer), ("quality_changes", 3000004): ("quality_changes", 4000004, upgrade.upgradeInstanceContainer), + ("quality", 3000004): ("quality", 4000004, upgrade.upgradeInstanceContainer), ("user", 3000004): ("user", 4000004, upgrade.upgradeInstanceContainer), }, "sources": { @@ -22,6 +23,10 @@ def getMetaData(): "get_version": upgrade.getCfgVersion, "location": {"./quality_changes"} }, + "quality": { + "get_version": upgrade.getCfgVersion, + "location": {"./quality"} + }, "user": { "get_version": upgrade.getCfgVersion, "location": {"./user"} diff --git a/plugins/VersionUpgrade/VersionUpgrade34to35/__init__.py b/plugins/VersionUpgrade/VersionUpgrade34to35/__init__.py index de0fdccb7d..2ea74f6194 100644 --- a/plugins/VersionUpgrade/VersionUpgrade34to35/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade34to35/__init__.py @@ -13,6 +13,7 @@ def getMetaData(): ("definition_changes", 4000004): ("definition_changes", 4000005, upgrade.upgradeInstanceContainer), ("quality_changes", 4000004): ("quality_changes", 4000005, upgrade.upgradeInstanceContainer), + ("quality", 4000004): ("quality", 4000005, upgrade.upgradeInstanceContainer), ("user", 4000004): ("user", 4000005, upgrade.upgradeInstanceContainer), ("machine_stack", 4000004): ("machine_stack", 4000005, upgrade.upgradeStack), @@ -39,6 +40,10 @@ def getMetaData(): "get_version": upgrade.getCfgVersion, "location": {"./quality_changes"} }, + "quality": { + "get_version": upgrade.getCfgVersion, + "location": {"./quality"} + }, "user": { "get_version": upgrade.getCfgVersion, "location": {"./user"}