diff --git a/plugins/3MFReader/WorkspaceDialog.qml b/plugins/3MFReader/WorkspaceDialog.qml index 6ac7ac701e..d0250abfd8 100644 --- a/plugins/3MFReader/WorkspaceDialog.qml +++ b/plugins/3MFReader/WorkspaceDialog.qml @@ -451,26 +451,72 @@ UM.Dialog } } - buttonWarningText: "The material used in this project is currently not installed in Cura.
Install the material profile and reopen the project." - buttonWarning: manager.missingPackages.length > 0 + property bool warning: manager.missingPackages.length > 0 + + footerComponent: Rectangle + { + color: warning ? UM.Theme.getColor("warning") : "transparent" + anchors.bottom: parent.bottom + width: parent.width + height: childrenRect.height + 2 * base.margin + + Column + { + height: childrenRect.height + spacing: base.margin + + anchors.margins: base.margin + anchors.left: parent.left + anchors.right: parent.right + anchors.top: parent.top + + RowLayout + { + id: warningRow + height: childrenRect.height + visible: warning + spacing: base.margin + UM.ColorImage + { + width: UM.Theme.getSize("extruder_icon").width + height: UM.Theme.getSize("extruder_icon").height + source: UM.Theme.getIcon("Warning") + } + + UM.Label + { + id: warningText + text: "The material used in this project is currently not installed in Cura.
Install the material profile and reopen the project." + } + } + + Loader + { + width: parent.width + height: childrenRect.height + sourceComponent: buttonRow + } + } + } + buttonSpacing: UM.Theme.getSize("default_margin").width rightButtons: [ Cura.TertiaryButton { - visible: !buttonWarning + visible: !warning text: catalog.i18nc("@action:button", "Cancel") onClicked: reject() }, Cura.PrimaryButton { - visible: !buttonWarning + visible: !warning text: catalog.i18nc("@action:button", "Open") onClicked: accept() }, Cura.TertiaryButton { - visible: buttonWarning + visible: warning text: catalog.i18nc("@action:button", "Open project anyway") onClicked: { manager.showMissingMaterialsWarning(); @@ -479,7 +525,7 @@ UM.Dialog }, Cura.PrimaryButton { - visible: buttonWarning + visible: warning text: catalog.i18nc("@action:button", "Install missing material") onClicked: manager.installMissingPackages() } diff --git a/resources/qml/ColorDialog.qml b/resources/qml/ColorDialog.qml index 49adcf0cca..e5216a3404 100644 --- a/resources/qml/ColorDialog.qml +++ b/resources/qml/ColorDialog.qml @@ -29,7 +29,7 @@ UM.Dialog // the size of the dialog ourselves. // Ugly workaround for windows having overlapping elements due to incorrect dialog width minimumWidth: content.width + (Qt.platform.os == "windows" ? 4 * margin : 2 * margin) - minimumHeight: content.height + buttonArea.height + (Qt.platform.os == "windows" ? 5 * margin : 3 * margin) + minimumHeight: content.height + footer.height + (Qt.platform.os == "windows" ? 5 * margin : 3 * margin) property alias color: colorInput.text property var swatchColors: [