diff --git a/cura/PrinterOutput/FirmwareUpdater.py b/cura/PrinterOutput/FirmwareUpdater.py index 56e260a7f0..80269b97a3 100644 --- a/cura/PrinterOutput/FirmwareUpdater.py +++ b/cura/PrinterOutput/FirmwareUpdater.py @@ -33,6 +33,10 @@ class FirmwareUpdater(QObject): else: self._firmware_file = firmware_file + if self._firmware_file == "": + self._setFirmwareUpdateState(FirmwareUpdateState.firmware_not_found_error) + return + self._setFirmwareUpdateState(FirmwareUpdateState.updating) self._update_firmware_thread.start() diff --git a/plugins/ImageReader/ImageReaderUI.py b/plugins/ImageReader/ImageReaderUI.py index 2a46a32c30..bae818f822 100644 --- a/plugins/ImageReader/ImageReaderUI.py +++ b/plugins/ImageReader/ImageReaderUI.py @@ -92,13 +92,21 @@ class ImageReaderUI(QObject): def onOkButtonClicked(self): self._cancelled = False self._ui_view.close() - self._ui_lock.release() + try: + self._ui_lock.release() + except RuntimeError: + # We don't really care if it was held or not. Just make sure it's not held now + pass @pyqtSlot() def onCancelButtonClicked(self): self._cancelled = True self._ui_view.close() - self._ui_lock.release() + try: + self._ui_lock.release() + except RuntimeError: + # We don't really care if it was held or not. Just make sure it's not held now + pass @pyqtSlot(str) def onWidthChanged(self, value): diff --git a/resources/definitions/anet3d.def.json b/resources/definitions/anet3d.def.json index 5caf171487..1381a6c6ee 100644 --- a/resources/definitions/anet3d.def.json +++ b/resources/definitions/anet3d.def.json @@ -85,7 +85,7 @@ "infill_before_walls": { "value": true }, "infill_overlap": { "value": 30.0 }, "skin_overlap": { "value": 10.0 }, - "infill_wipe_dist": { "value": 1.0 }, + "infill_wipe_dist": { "value": 0 }, "wall_0_wipe_dist": { "value": 0.2 }, "fill_perimeter_gaps": { "value": "'everywhere'" }, diff --git a/resources/qml/ActionButton.qml b/resources/qml/ActionButton.qml index 6d28d0ed52..d55c64029b 100644 --- a/resources/qml/ActionButton.qml +++ b/resources/qml/ActionButton.qml @@ -86,10 +86,20 @@ Button renderType: Text.NativeRendering height: parent.height anchors.verticalCenter: parent.verticalCenter - width: fixedWidthMode ? button.width - button.leftPadding - button.rightPadding : ((maximumWidth != 0 && contentWidth > maximumWidth) ? maximumWidth : undefined) horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter elide: Text.ElideRight + + Binding + { + // When settting width directly, an unjust binding loop warning would be triggered, + // because button.width is part of this expression. + // Using parent.width is fine in fixedWidthMode. + target: buttonText + property: "width" + value: button.fixedWidthMode ? button.width - button.leftPadding - button.rightPadding + : ((maximumWidth != 0 && contentWidth > maximumWidth) ? maximumWidth : undefined) + } } //Right side icon. Only displayed if isIconOnRightSide. diff --git a/resources/qml/ActionPanel/ActionPanelWidget.qml b/resources/qml/ActionPanel/ActionPanelWidget.qml index 4d9a5eeb69..deb7275e78 100644 --- a/resources/qml/ActionPanel/ActionPanelWidget.qml +++ b/resources/qml/ActionPanel/ActionPanelWidget.qml @@ -15,6 +15,7 @@ import Cura 1.0 as Cura Item { id: base + width: actionPanelWidget.width + additionalComponents.width height: childrenRect.height visible: CuraApplication.platformActivity