From c4380d84597df7d9eff547dec3ef069da9854da4 Mon Sep 17 00:00:00 2001 From: ivovk9 Date: Wed, 26 May 2021 13:06:07 +0200 Subject: [PATCH 01/31] Creasee 3D printers Creasee 3D printers --- creasee_cs20.def.json | 31 +++++++++++++++++++++++++++++++ creasee_cs30.def.json | 31 +++++++++++++++++++++++++++++++ creasee_extruder_0.def.json | 15 +++++++++++++++ 3 files changed, 77 insertions(+) create mode 100644 creasee_cs20.def.json create mode 100644 creasee_cs30.def.json create mode 100644 creasee_extruder_0.def.json diff --git a/creasee_cs20.def.json b/creasee_cs20.def.json new file mode 100644 index 0000000000..2ca872957d --- /dev/null +++ b/creasee_cs20.def.json @@ -0,0 +1,31 @@ +{ + "version": 2, + "name": "Creasee CS20", + "inherits": "creasee", + "metadata": { + "visible": true, + "machine_extruder_trains": + { + "0": "creasee_extruder_0" + } + }, + + "overrides": { + "machine_name": { "default_value": "Creasee CS20" }, + "machine_width": { + "default_value": 220 + }, + "machine_depth": { + "default_value": 220 + }, + "machine_height": { + "default_value": 250 + }, + "machine_start_gcode": { + "default_value": "G28 ;Home\nG1 Z15.0 F2000 ;Move the platform" + }, + "machine_end_gcode": { + "default_value": "M104 S0\nM140 S0\nG92 E0\nG1 E-10 F2000\nG28 X0 Y0\nM84" + } + } +} diff --git a/creasee_cs30.def.json b/creasee_cs30.def.json new file mode 100644 index 0000000000..ce02732570 --- /dev/null +++ b/creasee_cs30.def.json @@ -0,0 +1,31 @@ +{ + "version": 2, + "name": "Creasee CS30", + "inherits": "creasee", + "metadata": { + "visible": true, + "machine_extruder_trains": + { + "0": "creasee_extruder_0" + } + }, + + "overrides": { + "machine_name": { "default_value": "Creasee CS30" }, + "machine_width": { + "default_value": 300 + }, + "machine_depth": { + "default_value": 300 + }, + "machine_height": { + "default_value": 400 + }, + "machine_start_gcode": { + "default_value": "G28 ;Home\nG1 Z15.0 F2000 ;Move the platform" + }, + "machine_end_gcode": { + "default_value": "M104 S0\nM140 S0\nG92 E0\nG1 E-10 F2000\nG28 X0 Y0\nM84" + } + } +} diff --git a/creasee_extruder_0.def.json b/creasee_extruder_0.def.json new file mode 100644 index 0000000000..8b8f13b9ae --- /dev/null +++ b/creasee_extruder_0.def.json @@ -0,0 +1,15 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "creasee", + "position": "0" + }, + + "overrides": { + "extruder_nr": { "default_value": 0 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 } + } +} From 18ea18989d0b12297c92d2eb2e3bee64944eacf0 Mon Sep 17 00:00:00 2001 From: ivovk9 Date: Tue, 1 Jun 2021 16:21:58 +0200 Subject: [PATCH 02/31] Update creasee_cs20.def.json some small changes in the file. --- creasee_cs20.def.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/creasee_cs20.def.json b/creasee_cs20.def.json index 2ca872957d..a3720fe710 100644 --- a/creasee_cs20.def.json +++ b/creasee_cs20.def.json @@ -1,9 +1,10 @@ { "version": 2, "name": "Creasee CS20", - "inherits": "creasee", + "inherits": "fdmprinter", "metadata": { "visible": true, + "manufacturer": "CREASEE", "machine_extruder_trains": { "0": "creasee_extruder_0" From 7eeb92817d7666c7c6786b51fd6ce8496e497c64 Mon Sep 17 00:00:00 2001 From: ivovk9 Date: Tue, 1 Jun 2021 16:24:58 +0200 Subject: [PATCH 03/31] Update creasee_cs30.def.json small changes in the file. --- creasee_cs30.def.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/creasee_cs30.def.json b/creasee_cs30.def.json index ce02732570..954cd4fee3 100644 --- a/creasee_cs30.def.json +++ b/creasee_cs30.def.json @@ -1,9 +1,10 @@ { "version": 2, "name": "Creasee CS30", - "inherits": "creasee", + "inherits": "fdmprinter", "metadata": { "visible": true, + "manufacturer": "CREASEE", "machine_extruder_trains": { "0": "creasee_extruder_0" From 16e2ebd4890ad205bdd734947640ebcb2b3a87bb Mon Sep 17 00:00:00 2001 From: ivovk9 Date: Fri, 25 Jun 2021 09:01:06 +0200 Subject: [PATCH 04/31] moved files to folders moved files to folders --- resources/definitions/creasee_cs20.def.json | 32 +++++++++++++++++++ resources/definitions/creasee_cs30.def.json | 32 +++++++++++++++++++ .../extruders/creasee_extruder_0.def.json | 15 +++++++++ 3 files changed, 79 insertions(+) create mode 100644 resources/definitions/creasee_cs20.def.json create mode 100644 resources/definitions/creasee_cs30.def.json create mode 100644 resources/extruders/creasee_extruder_0.def.json diff --git a/resources/definitions/creasee_cs20.def.json b/resources/definitions/creasee_cs20.def.json new file mode 100644 index 0000000000..a3720fe710 --- /dev/null +++ b/resources/definitions/creasee_cs20.def.json @@ -0,0 +1,32 @@ +{ + "version": 2, + "name": "Creasee CS20", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "manufacturer": "CREASEE", + "machine_extruder_trains": + { + "0": "creasee_extruder_0" + } + }, + + "overrides": { + "machine_name": { "default_value": "Creasee CS20" }, + "machine_width": { + "default_value": 220 + }, + "machine_depth": { + "default_value": 220 + }, + "machine_height": { + "default_value": 250 + }, + "machine_start_gcode": { + "default_value": "G28 ;Home\nG1 Z15.0 F2000 ;Move the platform" + }, + "machine_end_gcode": { + "default_value": "M104 S0\nM140 S0\nG92 E0\nG1 E-10 F2000\nG28 X0 Y0\nM84" + } + } +} diff --git a/resources/definitions/creasee_cs30.def.json b/resources/definitions/creasee_cs30.def.json new file mode 100644 index 0000000000..954cd4fee3 --- /dev/null +++ b/resources/definitions/creasee_cs30.def.json @@ -0,0 +1,32 @@ +{ + "version": 2, + "name": "Creasee CS30", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "manufacturer": "CREASEE", + "machine_extruder_trains": + { + "0": "creasee_extruder_0" + } + }, + + "overrides": { + "machine_name": { "default_value": "Creasee CS30" }, + "machine_width": { + "default_value": 300 + }, + "machine_depth": { + "default_value": 300 + }, + "machine_height": { + "default_value": 400 + }, + "machine_start_gcode": { + "default_value": "G28 ;Home\nG1 Z15.0 F2000 ;Move the platform" + }, + "machine_end_gcode": { + "default_value": "M104 S0\nM140 S0\nG92 E0\nG1 E-10 F2000\nG28 X0 Y0\nM84" + } + } +} diff --git a/resources/extruders/creasee_extruder_0.def.json b/resources/extruders/creasee_extruder_0.def.json new file mode 100644 index 0000000000..8b8f13b9ae --- /dev/null +++ b/resources/extruders/creasee_extruder_0.def.json @@ -0,0 +1,15 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "creasee", + "position": "0" + }, + + "overrides": { + "extruder_nr": { "default_value": 0 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 } + } +} From e5d77a46d6aa3509449085b52905846ad199d49d Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Wed, 30 Jun 2021 17:04:55 +0200 Subject: [PATCH 05/31] Remove 'roundedness' and 'shadow' from action-buttons. Per the new UI design. Keep them as deprecated properties, so we may not need a major API/SDK increase just yet. contributes to CURA-8012 --- resources/qml/ActionButton.qml | 67 +++++++++++++------ .../ActionPanel/OutputDevicesActionButton.qml | 7 +- resources/qml/PrimaryButton.qml | 4 +- resources/qml/SecondaryButton.qml | 4 +- resources/qml/TertiaryButton.qml | 4 +- 5 files changed, 50 insertions(+), 36 deletions(-) diff --git a/resources/qml/ActionButton.qml b/resources/qml/ActionButton.qml index 0c1be007b5..c5c0c0be08 100644 --- a/resources/qml/ActionButton.qml +++ b/resources/qml/ActionButton.qml @@ -1,4 +1,4 @@ -// Copyright (c) 2020 Ultimaker B.V. +// Copyright (c) 2021 Ultimaker B.V. // Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.7 @@ -18,7 +18,6 @@ Button property alias textFont: buttonText.font property alias cornerRadius: backgroundRect.radius property alias tooltip: tooltip.tooltipText - property alias cornerSide: backgroundRect.cornerSide property color color: UM.Theme.getColor("primary") property color hoverColor: UM.Theme.getColor("primary_hover") @@ -29,8 +28,6 @@ Button property color outlineColor: color property color outlineHoverColor: hoverColor property color outlineDisabledColor: outlineColor - property alias shadowColor: shadow.color - property alias shadowEnabled: shadow.visible property alias busy: busyIndicator.visible property bool underlineTextOnHover: false @@ -46,6 +43,49 @@ Button // but it can exceed a maximum, then this value have to be set. property int maximumWidth: 0 + // These properties are deprecated. + // To (maybe) prevent a major SDK upgrade, mark them as deprecated instead of just outright removing them. + // Note, if you still want rounded corners, use (something based on) Cura.RoundedRectangle. + property alias cornerSide: deprecatedProperties.cornerSide + property alias shadowColor: deprecatedProperties.shadowColor + property alias shadowEnabled: deprecatedProperties.shadowEnabled + + Item + { + id: deprecatedProperties + + visible: false + enabled: false + width: 0 + height: 0 + + property var cornerSide: null + property var shadowColor: null + property var shadowEnabled: null + + onCornerSideChanged: + { + if (cornerSide != null) + { + CuraApplication.writeToLog("w", "'ActionButton.cornerSide' is deprecated since 4.11. Rounded corners can still be made with 'Cura.RoundedRectangle'."); + } + } + onShadowColorChanged: + { + if (shadowColor != null) + { + CuraApplication.writeToLog("w", "'ActionButton.shadowColor' is deprecated since 4.11.") + } + } + onShadowEnabledChanged: + { + if (shadowEnabled != null) + { + CuraApplication.writeToLog("w", "'ActionButton.shadowEnabled' is deprecated since 4.11.") + } + } + } + leftPadding: UM.Theme.getSize("default_margin").width rightPadding: UM.Theme.getSize("default_margin").width height: UM.Theme.getSize("action_button").height @@ -127,29 +167,14 @@ Button } } - background: Cura.RoundedRectangle + background: Rectangle { id: backgroundRect - cornerSide: Cura.RoundedRectangle.Direction.All color: button.enabled ? (button.hovered ? button.hoverColor : button.color) : button.disabledColor - radius: UM.Theme.getSize("action_button_radius").width border.width: UM.Theme.getSize("default_lining").width border.color: button.enabled ? (button.hovered ? button.outlineHoverColor : button.outlineColor) : button.outlineDisabledColor } - DropShadow - { - id: shadow - // Don't blur the shadow - radius: 0 - anchors.fill: backgroundRect - source: backgroundRect - verticalOffset: 2 - visible: false - // Should always be drawn behind the background. - z: backgroundRect.z - 1 - } - Cura.ToolTip { id: tooltip @@ -189,4 +214,4 @@ Button duration: 2500 } } -} \ No newline at end of file +} diff --git a/resources/qml/ActionPanel/OutputDevicesActionButton.qml b/resources/qml/ActionPanel/OutputDevicesActionButton.qml index 6d1a1d83dd..0a49c59c77 100644 --- a/resources/qml/ActionPanel/OutputDevicesActionButton.qml +++ b/resources/qml/ActionPanel/OutputDevicesActionButton.qml @@ -1,4 +1,4 @@ -// Copyright (c) 2018 Ultimaker B.V. +// Copyright (c) 2021 Ultimaker B.V. // Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.7 @@ -23,7 +23,6 @@ Item id: saveToButton height: parent.height fixedWidthMode: true - cornerSide: deviceSelectionMenu.visible ? Cura.RoundedRectangle.Direction.Left : Cura.RoundedRectangle.Direction.All anchors { @@ -48,10 +47,6 @@ Item id: deviceSelectionMenu height: parent.height - shadowEnabled: true - shadowColor: UM.Theme.getColor("primary_shadow") - cornerSide: Cura.RoundedRectangle.Direction.Right - anchors { top: parent.top diff --git a/resources/qml/PrimaryButton.qml b/resources/qml/PrimaryButton.qml index fca63d2cdb..52c460bde4 100644 --- a/resources/qml/PrimaryButton.qml +++ b/resources/qml/PrimaryButton.qml @@ -1,4 +1,4 @@ -// Copyright (c) 2018 Ultimaker B.V. +// Copyright (c) 2021 Ultimaker B.V. // Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 @@ -9,8 +9,6 @@ import Cura 1.1 as Cura Cura.ActionButton { - shadowEnabled: true - shadowColor: enabled ? UM.Theme.getColor("primary_button_shadow"): UM.Theme.getColor("action_button_disabled_shadow") color: UM.Theme.getColor("primary_button") textColor: UM.Theme.getColor("primary_button_text") outlineColor: "transparent" diff --git a/resources/qml/SecondaryButton.qml b/resources/qml/SecondaryButton.qml index f03d8acdfa..09c4efa025 100644 --- a/resources/qml/SecondaryButton.qml +++ b/resources/qml/SecondaryButton.qml @@ -1,4 +1,4 @@ -// Copyright (c) 2018 Ultimaker B.V. +// Copyright (c) 2021 Ultimaker B.V. // Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 @@ -9,8 +9,6 @@ import Cura 1.1 as Cura Cura.ActionButton { - shadowEnabled: true - shadowColor: enabled ? UM.Theme.getColor("secondary_button_shadow"): UM.Theme.getColor("action_button_disabled_shadow") color: UM.Theme.getColor("secondary_button") textColor: UM.Theme.getColor("secondary_button_text") outlineColor: "transparent" diff --git a/resources/qml/TertiaryButton.qml b/resources/qml/TertiaryButton.qml index eb714c22f6..76684b6ef2 100644 --- a/resources/qml/TertiaryButton.qml +++ b/resources/qml/TertiaryButton.qml @@ -1,4 +1,4 @@ -// Copyright (c) 2020 Ultimaker B.V. +// Copyright (c) 2021 Ultimaker B.V. // Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.2 @@ -9,8 +9,6 @@ import Cura 1.1 as Cura Cura.ActionButton { - shadowEnabled: true - shadowColor: enabled ? UM.Theme.getColor("secondary_button_shadow"): UM.Theme.getColor("action_button_disabled_shadow") color: "transparent" textColor: UM.Theme.getColor("text_link") outlineColor: "transparent" From 375529c2f0702e6df5ea9194abe15057be0d8393 Mon Sep 17 00:00:00 2001 From: ivovk9 Date: Thu, 1 Jul 2021 09:57:06 +0200 Subject: [PATCH 06/31] new edits and files new edits and files --- creasee_cs20.def.json | 32 ------------------- creasee_cs30.def.json | 32 ------------------- resources/definitions/creasee_cs30.def.json | 2 +- .../extruders/creasee_extruder_0.def.json | 2 +- .../extruders/creasee_extruder_1.def.json | 2 +- 5 files changed, 3 insertions(+), 67 deletions(-) delete mode 100644 creasee_cs20.def.json delete mode 100644 creasee_cs30.def.json rename creasee_extruder_0.def.json => resources/extruders/creasee_extruder_1.def.json (89%) diff --git a/creasee_cs20.def.json b/creasee_cs20.def.json deleted file mode 100644 index a3720fe710..0000000000 --- a/creasee_cs20.def.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "version": 2, - "name": "Creasee CS20", - "inherits": "fdmprinter", - "metadata": { - "visible": true, - "manufacturer": "CREASEE", - "machine_extruder_trains": - { - "0": "creasee_extruder_0" - } - }, - - "overrides": { - "machine_name": { "default_value": "Creasee CS20" }, - "machine_width": { - "default_value": 220 - }, - "machine_depth": { - "default_value": 220 - }, - "machine_height": { - "default_value": 250 - }, - "machine_start_gcode": { - "default_value": "G28 ;Home\nG1 Z15.0 F2000 ;Move the platform" - }, - "machine_end_gcode": { - "default_value": "M104 S0\nM140 S0\nG92 E0\nG1 E-10 F2000\nG28 X0 Y0\nM84" - } - } -} diff --git a/creasee_cs30.def.json b/creasee_cs30.def.json deleted file mode 100644 index 954cd4fee3..0000000000 --- a/creasee_cs30.def.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "version": 2, - "name": "Creasee CS30", - "inherits": "fdmprinter", - "metadata": { - "visible": true, - "manufacturer": "CREASEE", - "machine_extruder_trains": - { - "0": "creasee_extruder_0" - } - }, - - "overrides": { - "machine_name": { "default_value": "Creasee CS30" }, - "machine_width": { - "default_value": 300 - }, - "machine_depth": { - "default_value": 300 - }, - "machine_height": { - "default_value": 400 - }, - "machine_start_gcode": { - "default_value": "G28 ;Home\nG1 Z15.0 F2000 ;Move the platform" - }, - "machine_end_gcode": { - "default_value": "M104 S0\nM140 S0\nG92 E0\nG1 E-10 F2000\nG28 X0 Y0\nM84" - } - } -} diff --git a/resources/definitions/creasee_cs30.def.json b/resources/definitions/creasee_cs30.def.json index 954cd4fee3..b879ecddc0 100644 --- a/resources/definitions/creasee_cs30.def.json +++ b/resources/definitions/creasee_cs30.def.json @@ -7,7 +7,7 @@ "manufacturer": "CREASEE", "machine_extruder_trains": { - "0": "creasee_extruder_0" + "0": "creasee_extruder_1" } }, diff --git a/resources/extruders/creasee_extruder_0.def.json b/resources/extruders/creasee_extruder_0.def.json index 8b8f13b9ae..abefa6b1c8 100644 --- a/resources/extruders/creasee_extruder_0.def.json +++ b/resources/extruders/creasee_extruder_0.def.json @@ -3,7 +3,7 @@ "name": "Extruder 1", "inherits": "fdmextruder", "metadata": { - "machine": "creasee", + "machine": "creasee_cs20", "position": "0" }, diff --git a/creasee_extruder_0.def.json b/resources/extruders/creasee_extruder_1.def.json similarity index 89% rename from creasee_extruder_0.def.json rename to resources/extruders/creasee_extruder_1.def.json index 8b8f13b9ae..747e1c48f8 100644 --- a/creasee_extruder_0.def.json +++ b/resources/extruders/creasee_extruder_1.def.json @@ -3,7 +3,7 @@ "name": "Extruder 1", "inherits": "fdmextruder", "metadata": { - "machine": "creasee", + "machine": "creasee_cs30", "position": "0" }, From e3dc5bc460d7e6deb570c1a7a98c33e54c602671 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Fri, 2 Jul 2021 09:39:33 +0200 Subject: [PATCH 07/31] Adjust color-scheme for button restyle. Also changed ligh theme. part of CURA-8012 --- resources/qml/ActionButton.qml | 6 +++--- .../ActionPanel/OutputDevicesActionButton.qml | 19 ++++++------------- resources/qml/SecondaryButton.qml | 2 +- resources/qml/TertiaryButton.qml | 10 +++++----- resources/themes/cura-light/theme.json | 16 ++++++++-------- 5 files changed, 23 insertions(+), 30 deletions(-) diff --git a/resources/qml/ActionButton.qml b/resources/qml/ActionButton.qml index c5c0c0be08..1593ee931c 100644 --- a/resources/qml/ActionButton.qml +++ b/resources/qml/ActionButton.qml @@ -24,10 +24,10 @@ Button property color disabledColor: color property color textColor: UM.Theme.getColor("button_text") property color textHoverColor: textColor - property color textDisabledColor: textColor + property color textDisabledColor: disabledColor property color outlineColor: color - property color outlineHoverColor: hoverColor - property color outlineDisabledColor: outlineColor + property color outlineHoverColor: outlineColor + property color outlineDisabledColor: disabledColor property alias busy: busyIndicator.visible property bool underlineTextOnHover: false diff --git a/resources/qml/ActionPanel/OutputDevicesActionButton.qml b/resources/qml/ActionPanel/OutputDevicesActionButton.qml index 0a49c59c77..48416e69fd 100644 --- a/resources/qml/ActionPanel/OutputDevicesActionButton.qml +++ b/resources/qml/ActionPanel/OutputDevicesActionButton.qml @@ -42,7 +42,7 @@ Item } } - Cura.ActionButton + Cura.PrimaryButton { id: deviceSelectionMenu height: parent.height @@ -56,7 +56,7 @@ Item leftPadding: UM.Theme.getSize("narrow_margin").width //Need more space than usual here for wide text. rightPadding: UM.Theme.getSize("narrow_margin").width iconSource: popup.opened ? UM.Theme.getIcon("ChevronSingleUp") : UM.Theme.getIcon("ChevronSingleDown") - color: UM.Theme.getColor("action_panel_secondary") + color: popup.opened ? hoverColor : UM.Theme.getColor("action_panel_secondary") visible: (devicesModel.deviceCount > 1) onClicked: popup.opened ? popup.close() : popup.open() @@ -65,6 +65,7 @@ Item { id: popup padding: 0 + spacing: 0 y: -height x: parent.width - width @@ -73,17 +74,16 @@ Item contentItem: ColumnLayout { + spacing: 0 + Repeater { model: devicesModel - delegate: Cura.ActionButton + delegate: Cura.PrimaryButton { text: model.description visible: model.id != UM.OutputDeviceManager.activeDevice // Don't show the active device in the list - color: "transparent" - cornerRadius: 0 - hoverColor: UM.Theme.getColor("primary") Layout.fillWidth: true // The total width of the popup should be defined by the largest button. By stating that each // button should be minimally the size of it's content (aka; implicitWidth) we can ensure that. @@ -97,13 +97,6 @@ Item } } } - - background: Rectangle - { - opacity: visible ? 1 : 0 - Behavior on opacity { NumberAnimation { duration: 100 } } - color: UM.Theme.getColor("action_panel_secondary") - } } } diff --git a/resources/qml/SecondaryButton.qml b/resources/qml/SecondaryButton.qml index 09c4efa025..ba4e0bb2c1 100644 --- a/resources/qml/SecondaryButton.qml +++ b/resources/qml/SecondaryButton.qml @@ -11,7 +11,7 @@ Cura.ActionButton { color: UM.Theme.getColor("secondary_button") textColor: UM.Theme.getColor("secondary_button_text") - outlineColor: "transparent" + outlineColor: UM.Theme.getColor("secondary_button_text") disabledColor: UM.Theme.getColor("action_button_disabled") textDisabledColor: UM.Theme.getColor("action_button_disabled_text") hoverColor: UM.Theme.getColor("secondary_button_hover") diff --git a/resources/qml/TertiaryButton.qml b/resources/qml/TertiaryButton.qml index 76684b6ef2..8f78ea1a3b 100644 --- a/resources/qml/TertiaryButton.qml +++ b/resources/qml/TertiaryButton.qml @@ -9,11 +9,11 @@ import Cura 1.1 as Cura Cura.ActionButton { - color: "transparent" - textColor: UM.Theme.getColor("text_link") + color: UM.Theme.getColor("secondary_button") + textColor: UM.Theme.getColor("secondary_button_text") outlineColor: "transparent" + outlineDisabledColor: "transparent" disabledColor: UM.Theme.getColor("action_button_disabled") textDisabledColor: UM.Theme.getColor("action_button_disabled_text") - hoverColor: "transparent" - underlineTextOnHover: true -} + hoverColor: UM.Theme.getColor("secondary_button_hover") +} \ No newline at end of file diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json index 5245d21455..e63867fa79 100644 --- a/resources/themes/cura-light/theme.json +++ b/resources/themes/cura-light/theme.json @@ -168,15 +168,15 @@ "icon": [8, 7, 63, 255], - "primary_button": [38, 113, 231, 255], + "primary_button": [25, 110, 240, 255], "primary_button_shadow": [27, 95, 202, 255], - "primary_button_hover": [81, 145, 247, 255], + "primary_button_hover": [16, 70, 156, 255], "primary_button_text": [255, 255, 255, 255], - "secondary_button": [240, 240, 240, 255], + "secondary_button": [255, 255, 255, 0], "secondary_button_shadow": [216, 216, 216, 255], - "secondary_button_hover": [228, 228, 228, 255], - "secondary_button_text": [30, 102, 215, 255], + "secondary_button_hover": [232, 240, 253, 255], + "secondary_button_text": [25, 110, 240, 255], "main_window_header_background": [8, 7, 63, 255], "main_window_header_background_gradient": [25, 23, 91, 255], @@ -196,7 +196,7 @@ "machine_selector_text_active": [255, 255, 255, 255], "machine_selector_printer_icon": [8, 7, 63, 255], - "action_panel_secondary": [27, 95, 202, 255], + "action_panel_secondary": [25, 110, 240, 255], "first_run_shadow": [50, 50, 50, 255], @@ -266,8 +266,8 @@ "action_button_active_text": [0, 0, 0, 255], "action_button_active_border": [50, 130, 255, 255], "action_button_disabled": [245, 245, 245, 255], - "action_button_disabled_text": [127, 127, 127, 255], - "action_button_disabled_border": [245, 245, 245, 255], + "action_button_disabled_text": [196, 196, 196, 255], + "action_button_disabled_border": [196, 196, 196, 255], "action_button_shadow": [223, 223, 223, 255], "action_button_disabled_shadow": [228, 228, 228, 255], From 952e02676fa53603b2ef0d13ec5193e2ee6de4a2 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Fri, 2 Jul 2021 13:24:02 +0200 Subject: [PATCH 08/31] Tweaks for restyling benefitting the dark theme. part of CURA-8012 --- resources/qml/TertiaryButton.qml | 6 +++--- resources/themes/cura-dark/theme.json | 10 +++++++--- resources/themes/cura-light/theme.json | 2 +- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/resources/qml/TertiaryButton.qml b/resources/qml/TertiaryButton.qml index 8f78ea1a3b..035b0d1da7 100644 --- a/resources/qml/TertiaryButton.qml +++ b/resources/qml/TertiaryButton.qml @@ -9,11 +9,11 @@ import Cura 1.1 as Cura Cura.ActionButton { - color: UM.Theme.getColor("secondary_button") - textColor: UM.Theme.getColor("secondary_button_text") + color: "transparent" + textColor: UM.Theme.getColor("text_link") outlineColor: "transparent" outlineDisabledColor: "transparent" - disabledColor: UM.Theme.getColor("action_button_disabled") + disabledColor: "transparent" textDisabledColor: UM.Theme.getColor("action_button_disabled_text") hoverColor: UM.Theme.getColor("secondary_button_hover") } \ No newline at end of file diff --git a/resources/themes/cura-dark/theme.json b/resources/themes/cura-dark/theme.json index e3266b923b..f15c1abf2c 100644 --- a/resources/themes/cura-dark/theme.json +++ b/resources/themes/cura-dark/theme.json @@ -16,6 +16,10 @@ "primary_text": [255, 255, 255, 204], "secondary": [95, 95, 95, 255], + "secondary_button": [0, 0, 0, 0], + "secondary_button_hover": [85, 85, 87, 255], + "secondary_button_text": [255, 255, 255, 255], + "icon": [204, 204, 204, 255], "toolbar_background": [39, 44, 48, 255], "toolbar_button_active": [95, 95, 95, 255], @@ -32,7 +36,7 @@ "text": [255, 255, 255, 204], "text_detail": [255, 255, 255, 172], - "text_link": [255, 255, 255, 127], + "text_link": [25, 110, 240, 255], "text_inactive": [255, 255, 255, 88], "text_hover": [255, 255, 255, 204], "text_pressed": [255, 255, 255, 204], @@ -87,8 +91,8 @@ "action_button_active": [39, 44, 48, 30], "action_button_active_text": [255, 255, 255, 255], "action_button_active_border": [255, 255, 255, 100], - "action_button_disabled": [19, 24, 28, 255], - "action_button_disabled_text": [200, 200, 200, 80], + "action_button_disabled": [85, 85, 87, 255], + "action_button_disabled_text": [103, 103, 104, 255], "action_button_disabled_border": [255, 255, 255, 30], "scrollbar_background": [39, 44, 48, 0], diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json index e63867fa79..98062746ae 100644 --- a/resources/themes/cura-light/theme.json +++ b/resources/themes/cura-light/theme.json @@ -210,7 +210,7 @@ "text": [25, 25, 25, 255], "text_detail": [174, 174, 174, 128], - "text_link": [50, 130, 255, 255], + "text_link": [25, 110, 240, 255], "text_inactive": [174, 174, 174, 255], "text_pressed": [50, 130, 255, 255], "text_subtext": [0, 0, 0, 255], From 1c73077f7ec4e5f644a2374d453f69da6eeb7021 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Fri, 2 Jul 2021 13:54:34 +0200 Subject: [PATCH 09/31] More dark theme tweaks. part of CURA-8012 --- resources/themes/cura-dark/theme.json | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/resources/themes/cura-dark/theme.json b/resources/themes/cura-dark/theme.json index f15c1abf2c..8d68bb0d5b 100644 --- a/resources/themes/cura-dark/theme.json +++ b/resources/themes/cura-dark/theme.json @@ -5,7 +5,7 @@ }, "colors": { - "main_background": [39, 44, 48, 255], + "main_background": [31, 31, 32, 255], "message_background": [39, 44, 48, 255], "wide_lining": [31, 36, 39, 255], "thick_lining": [255, 255, 255, 60], @@ -20,13 +20,16 @@ "secondary_button_hover": [85, 85, 87, 255], "secondary_button_text": [255, 255, 255, 255], - "icon": [204, 204, 204, 255], + "icon": [255, 255, 255, 255], "toolbar_background": [39, 44, 48, 255], - "toolbar_button_active": [95, 95, 95, 255], - "toolbar_button_hover": [95, 95, 95, 255], - "toolbar_button_active_hover": [95, 95, 95, 255], + "toolbar_button_active": [57, 57, 58, 255], + "toolbar_button_hover": [57, 57, 58, 255], + "toolbar_button_active_hover": [57, 57, 58, 255], "main_window_header_button_text_inactive": [128, 128, 128, 255], + "main_window_header_background": [14, 14, 14, 255], + "main_window_header_background_gradient": [32, 32, 32, 255], + "main_window_header_button_background_hovered": [46, 46, 46, 255], "account_sync_state_icon": [255, 255, 255, 204], From ff19d1dd6349c9556fbe76d060d1b6e5d1cb735b Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 5 Jul 2021 15:44:50 +0200 Subject: [PATCH 10/31] Rename small_black to small_emphasis Still not a great name, but it's better than the old one CURA-8011 CURA-8202 --- resources/qml/ExtruderIcon.qml | 2 +- resources/themes/cura-light/theme.json | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/resources/qml/ExtruderIcon.qml b/resources/qml/ExtruderIcon.qml index be67515196..f33e345b68 100644 --- a/resources/qml/ExtruderIcon.qml +++ b/resources/qml/ExtruderIcon.qml @@ -47,7 +47,7 @@ Item id: extruderNumberText anchors.centerIn: parent text: index + 1 - font: UM.Theme.getFont("small_black") + font: UM.Theme.getFont("small_emphasis") color: UM.Theme.getColor("text") width: contentWidth height: contentHeight diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json index f505a248e4..e34d498e74 100644 --- a/resources/themes/cura-light/theme.json +++ b/resources/themes/cura-light/theme.json @@ -148,22 +148,22 @@ "weight": 50, "family": "Noto Sans" }, - "small_black": { + "small_emphasis": { "size": 0.9, "weight": 100, "family": "Noto Sans" }, - "small_black_ja_JP": { + "small_emphasis_ja_JP": { "size": 0.9, "weight": 100, "family": "Noto Sans" }, - "small_black_zh_CN": { + "small_emphasis_zh_CN": { "size": 0.9, "weight": 100, "family": "Noto Sans" }, - "small_black_zh_TW": { + "small_emphasis_zh_TW": { "size": 0.9, "weight": 100, "family": "Noto Sans" From 5ae4ad54295c8280167d8ad52eb51df43279b84e Mon Sep 17 00:00:00 2001 From: Konstantinos Karmas Date: Mon, 5 Jul 2021 17:33:03 +0200 Subject: [PATCH 11/31] Center the material label if no variant in the ConfigurationMenu header CURA-8011 --- .../ConfigurationMenu/ConfigurationMenu.qml | 35 ++++--------------- 1 file changed, 6 insertions(+), 29 deletions(-) diff --git a/resources/qml/Menus/ConfigurationMenu/ConfigurationMenu.qml b/resources/qml/Menus/ConfigurationMenu/ConfigurationMenu.qml index 75bb7d0787..43ccde461e 100644 --- a/resources/qml/Menus/ConfigurationMenu/ConfigurationMenu.qml +++ b/resources/qml/Menus/ConfigurationMenu/ConfigurationMenu.qml @@ -59,10 +59,10 @@ Cura.ExpandablePopup anchors.verticalCenter: parent.verticalCenter } - Item + ColumnLayout { - height: childrenRect.height opacity: model.enabled ? 1 : UM.Theme.getColor("extruder_disabled").a + spacing: 0 anchors { left: extruderIcon.right @@ -81,13 +81,8 @@ Cura.ExpandablePopup font: UM.Theme.getFont("default") color: UM.Theme.getColor("text") renderType: Text.NativeRendering + width: parent.width - anchors - { - top: parent.top - left: parent.left - right: parent.right - } visible: !truncated } @@ -100,13 +95,7 @@ Cura.ExpandablePopup font: UM.Theme.getFont("default") color: UM.Theme.getColor("text") renderType: Text.NativeRendering - - anchors - { - top: parent.top - left: parent.left - right: parent.right - } + width: parent.width visible: !materialBrandColorTypeLabel.visible && !truncated } @@ -120,13 +109,7 @@ Cura.ExpandablePopup font: UM.Theme.getFont("default") color: UM.Theme.getColor("text") renderType: Text.NativeRendering - - anchors - { - top: parent.top - left: parent.left - right: parent.right - } + width: parent.width visible: !materialBrandColorTypeLabel.visible && !materialColorTypeLabel.visible } // Label that shows the name of the variant @@ -141,13 +124,7 @@ Cura.ExpandablePopup font: UM.Theme.getFont("default_bold") color: UM.Theme.getColor("text") renderType: Text.NativeRendering - - anchors - { - left: parent.left - top: materialBrandColorTypeLabel.bottom - right: parent.right - } + width: parent.width } } } From f92c6594dad91d5f7de2c59ede7e78f4504285db Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 5 Jul 2021 17:55:01 +0200 Subject: [PATCH 12/31] Remove stylised caps for Creasee manufacturer We'd like to keep the list of manufacturers and printers a bit more fair, without some manufacturers/printers getting more attention than others. The printers didn't have stylised caps here either. Contributes to issue CURA-8364. --- resources/definitions/creasee_cs20.def.json | 2 +- resources/definitions/creasee_cs30.def.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/definitions/creasee_cs20.def.json b/resources/definitions/creasee_cs20.def.json index a3720fe710..ab30f3dd1c 100644 --- a/resources/definitions/creasee_cs20.def.json +++ b/resources/definitions/creasee_cs20.def.json @@ -4,7 +4,7 @@ "inherits": "fdmprinter", "metadata": { "visible": true, - "manufacturer": "CREASEE", + "manufacturer": "Creasee", "machine_extruder_trains": { "0": "creasee_extruder_0" diff --git a/resources/definitions/creasee_cs30.def.json b/resources/definitions/creasee_cs30.def.json index b879ecddc0..7d6a5090bb 100644 --- a/resources/definitions/creasee_cs30.def.json +++ b/resources/definitions/creasee_cs30.def.json @@ -4,7 +4,7 @@ "inherits": "fdmprinter", "metadata": { "visible": true, - "manufacturer": "CREASEE", + "manufacturer": "Creasee", "machine_extruder_trains": { "0": "creasee_extruder_1" From e4710dd921245d031074a53e10f11c98d7844e02 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Tue, 6 Jul 2021 09:06:47 +0200 Subject: [PATCH 13/31] ActionButton is a RoundedRectangle once more. We want to deprecate the API, not break it (yet). part of CURA-8012 --- resources/qml/ActionButton.qml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/resources/qml/ActionButton.qml b/resources/qml/ActionButton.qml index 1593ee931c..31d5c35d2c 100644 --- a/resources/qml/ActionButton.qml +++ b/resources/qml/ActionButton.qml @@ -167,12 +167,16 @@ Button } } - background: Rectangle + background: Cura.RoundedRectangle { id: backgroundRect color: button.enabled ? (button.hovered ? button.hoverColor : button.color) : button.disabledColor border.width: UM.Theme.getSize("default_lining").width border.color: button.enabled ? (button.hovered ? button.outlineHoverColor : button.outlineColor) : button.outlineDisabledColor + + // Disable the rounded-ness of this rectangle. We can't use a normal Rectangle here yet, as the API/SDK has only just been deprecated. + radius: 0 + cornerSide: Cura.RoundedRectangle.Direction.None } Cura.ToolTip From a42fee48340f72842e0a340fc090321eff71ed23 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Tue, 6 Jul 2021 09:25:10 +0200 Subject: [PATCH 14/31] Put the dark-theme bg back the way it was. Not really part of this ticket. Also no buttons are directly on the background anyway. part of CURA-8012 --- resources/themes/cura-dark/theme.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/themes/cura-dark/theme.json b/resources/themes/cura-dark/theme.json index 8d68bb0d5b..0d6fa2f260 100644 --- a/resources/themes/cura-dark/theme.json +++ b/resources/themes/cura-dark/theme.json @@ -5,7 +5,7 @@ }, "colors": { - "main_background": [31, 31, 32, 255], + "main_background": [39, 44, 48, 255], "message_background": [39, 44, 48, 255], "wide_lining": [31, 36, 39, 255], "thick_lining": [255, 255, 255, 60], From acf3f2d02a1a0cf393cf6e10d381a4a28dd1376e Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Tue, 6 Jul 2021 09:37:48 +0200 Subject: [PATCH 15/31] Let Tertiary button have its own hover entry. Secondary button entries should not be re-used here. part of CURA-8012 --- resources/qml/TertiaryButton.qml | 2 +- resources/themes/cura-dark/theme.json | 2 ++ resources/themes/cura-light/theme.json | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/resources/qml/TertiaryButton.qml b/resources/qml/TertiaryButton.qml index 035b0d1da7..4a352420df 100644 --- a/resources/qml/TertiaryButton.qml +++ b/resources/qml/TertiaryButton.qml @@ -15,5 +15,5 @@ Cura.ActionButton outlineDisabledColor: "transparent" disabledColor: "transparent" textDisabledColor: UM.Theme.getColor("action_button_disabled_text") - hoverColor: UM.Theme.getColor("secondary_button_hover") + hoverColor: UM.Theme.getColor("tertiary_button_hover") } \ No newline at end of file diff --git a/resources/themes/cura-dark/theme.json b/resources/themes/cura-dark/theme.json index 0d6fa2f260..de10488162 100644 --- a/resources/themes/cura-dark/theme.json +++ b/resources/themes/cura-dark/theme.json @@ -20,6 +20,8 @@ "secondary_button_hover": [85, 85, 87, 255], "secondary_button_text": [255, 255, 255, 255], + "tertiary_button_hover": [85, 85, 87, 255], + "icon": [255, 255, 255, 255], "toolbar_background": [39, 44, 48, 255], "toolbar_button_active": [57, 57, 58, 255], diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json index 98062746ae..03e5678945 100644 --- a/resources/themes/cura-light/theme.json +++ b/resources/themes/cura-light/theme.json @@ -178,6 +178,8 @@ "secondary_button_hover": [232, 240, 253, 255], "secondary_button_text": [25, 110, 240, 255], + "tertiary_button_hover": [232, 240, 253, 255], + "main_window_header_background": [8, 7, 63, 255], "main_window_header_background_gradient": [25, 23, 91, 255], "main_window_header_button_text_active": [8, 7, 63, 255], From fe0f4605476f19482a350429af6a807473ec6c5a Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 6 Jul 2021 11:33:50 +0200 Subject: [PATCH 16/31] Set default z hop speed to max allowed value for maylan m200 Fixes Ultimaker/Cura#10083 --- resources/definitions/malyan_m200.def.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/definitions/malyan_m200.def.json b/resources/definitions/malyan_m200.def.json index c853f8f772..e9980724cb 100644 --- a/resources/definitions/malyan_m200.def.json +++ b/resources/definitions/malyan_m200.def.json @@ -80,6 +80,7 @@ "retraction_amount" : { "default_value": 4.5}, "retraction_speed" : { "default_value": 40}, "coasting_enable": { "default_value": true }, - "prime_tower_enable": { "default_value": false} + "prime_tower_enable": { "default_value": false}, + "speed_z_hop": {"default_value": 1.5} } } From b7e60ca4135ac44ecf9830d7886a2d9386d2f2b2 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 6 Jul 2021 11:37:30 +0200 Subject: [PATCH 17/31] Set z hop speed to max for Tevo Tarantula Fixes Ultimaker/Cura#10085 --- resources/definitions/tevo_tarantula.def.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/definitions/tevo_tarantula.def.json b/resources/definitions/tevo_tarantula.def.json index eee773cd74..8efa9c4f87 100644 --- a/resources/definitions/tevo_tarantula.def.json +++ b/resources/definitions/tevo_tarantula.def.json @@ -47,6 +47,7 @@ "machine_max_acceleration_y": { "default_value": 2650 }, "acceleration_print": { "default_value": 2650 }, "machine_start_gcode": { "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z15.0 F9000 ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F9000\n;Put printing message on LCD screen\nM117 Printing..." }, - "machine_end_gcode": { "default_value": "M104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more\nG90 ;absolute positioning\nG1 X0 Y200 F3600 ;move extruder out of the way by moving the baseplate to the front for easier access to printed object\nM84 ;steppers off" } + "machine_end_gcode": { "default_value": "M104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more\nG90 ;absolute positioning\nG1 X0 Y200 F3600 ;move extruder out of the way by moving the baseplate to the front for easier access to printed object\nM84 ;steppers off" }, + "speed_z_hop": {"default_value": 3} } } From 6634fca88740c1f21bce5dd2aacd3923654c0a73 Mon Sep 17 00:00:00 2001 From: pbr-research <76119933+pbr-research@users.noreply.github.com> Date: Tue, 6 Jul 2021 15:12:44 +0530 Subject: [PATCH 18/31] Add PBR 3D Gen-I printer definition (#9307) * Add new printer PBR_3D.def.json Adding new Profile definition for PBR 3D. * Create pbr_3d.extruder_0.def.json Adding extruder profile for PBR 3D * Delete pbr_3d.def.json * Delete pbr_3d.extruder_0.def.json * Adding PBR 3D Gen-I printer definition. This is an printer definition for our printer. * Adding PBR 3D Gen-I Printer Extruder definition This is an extruder definition for our printer. * Adding buildplate definition for PBR 3D Gen-I This is a buildplate definition for our printer. * Update pbr3d_g1.def.json * Add files via upload --- resources/definitions/pbr3d_g1.def.json | 45 ++++++++++++++++++ .../extruders/pbr3d_g1_extruder_0.def.json | 15 ++++++ resources/meshes/pbr3d_g1_buildplate.stl | Bin 0 -> 113884 bytes 3 files changed, 60 insertions(+) create mode 100644 resources/definitions/pbr3d_g1.def.json create mode 100644 resources/extruders/pbr3d_g1_extruder_0.def.json create mode 100644 resources/meshes/pbr3d_g1_buildplate.stl diff --git a/resources/definitions/pbr3d_g1.def.json b/resources/definitions/pbr3d_g1.def.json new file mode 100644 index 0000000000..fbe1d5bfc6 --- /dev/null +++ b/resources/definitions/pbr3d_g1.def.json @@ -0,0 +1,45 @@ +{ + "version": 2, + "name": "PBR 3D Gen-I", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "Kapil H. Sonone, Prof. Bahubali P. Fuladi", + "manufacturer": "PBR Research", + "file_formats": "text/x-gcode", + "platform": "pbr3d_g1_buildplate.stl", + "platform_offset": [0, -5, 0], + "machine_extruder_trains": + { + "0": "pbr3d_g1_extruder_0" + } + }, + + "overrides": { + "machine_name": { "default_value": "PBR 3D Gen-I" }, + "machine_heated_bed": { + "default_value": true + }, + "machine_width": { + "default_value": 200 + }, + "machine_height": { + "default_value": 200 + }, + "machine_depth": { + "default_value": 200 + }, + "machine_center_is_zero": { + "default_value": false + }, + "gantry_height": { + "value": "200" + }, + "machine_start_gcode": { + "default_value": "G28 ;Home\nG1 Z15.0 F6000 ;Move the Platform down 15mm\n;Prime the extruder\nG92 E0\nG1 F200 E3\nG92 E0" + }, + "machine_end_gcode": { + "default_value": "M104 S0\nM140 S0\n;Retract the Filament\nG92 E1\nG1 E-1 F300\nG28 X0 Y0\nM84" + } + } +} diff --git a/resources/extruders/pbr3d_g1_extruder_0.def.json b/resources/extruders/pbr3d_g1_extruder_0.def.json new file mode 100644 index 0000000000..3a79fe4f20 --- /dev/null +++ b/resources/extruders/pbr3d_g1_extruder_0.def.json @@ -0,0 +1,15 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "pbr3d_g1", + "position": "0" + }, + + "overrides": { + "extruder_nr": { "default_value": 0 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 } + } +} diff --git a/resources/meshes/pbr3d_g1_buildplate.stl b/resources/meshes/pbr3d_g1_buildplate.stl new file mode 100644 index 0000000000000000000000000000000000000000..1f7b77bd7855ab4520a6a012bb402cf7aeb57e8c GIT binary patch literal 113884 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 Date: Tue, 6 Jul 2021 11:45:04 +0200 Subject: [PATCH 19/31] Set Z speed for dagoma disco --- resources/definitions/dagoma_disco.def.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/definitions/dagoma_disco.def.json b/resources/definitions/dagoma_disco.def.json index bf098b8b4a..89773d9c0e 100644 --- a/resources/definitions/dagoma_disco.def.json +++ b/resources/definitions/dagoma_disco.def.json @@ -73,6 +73,7 @@ "machine_steps_per_mm_x": { "default_value": 80 }, "machine_steps_per_mm_y": { "default_value": 80 }, "machine_steps_per_mm_z": { "default_value": 2560 }, - "machine_steps_per_mm_e": { "default_value": 98 } + "machine_steps_per_mm_e": { "default_value": 98 }, + "speed_z_hop": {"default_value": 4} } } From 11b6e680b2d3eeda67288b02879bfdc77bc4ad04 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 6 Jul 2021 11:45:51 +0200 Subject: [PATCH 20/31] Remove incorrect value from makermade profile No idea why it worked in the first place, but a max speed of 0 is impossible! --- resources/definitions/maker_made_300x.def.json | 1 - 1 file changed, 1 deletion(-) diff --git a/resources/definitions/maker_made_300x.def.json b/resources/definitions/maker_made_300x.def.json index 9651aaf5f3..ae112af5d1 100644 --- a/resources/definitions/maker_made_300x.def.json +++ b/resources/definitions/maker_made_300x.def.json @@ -96,7 +96,6 @@ "speed_travel": {"value": 150}, "speed_layer_0": {"value": 10}, "speed_travel_layer_0": {"value": 50}, - "machine_max_feedrate_z": {"value": 0}, "speed_slowdown_layers": {"value": 2}, "speed_equalize_flow_enabled": {"value": false }, "acceleration_enabled": {"value": false }, From 401f3d0df6d0f3471f231ff57d7b3bd242081adb Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 6 Jul 2021 11:47:47 +0200 Subject: [PATCH 21/31] Set default z-hop speed to allowed value --- resources/definitions/printrbot_play.def.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/definitions/printrbot_play.def.json b/resources/definitions/printrbot_play.def.json index e3c0c85d80..b1f7e72967 100644 --- a/resources/definitions/printrbot_play.def.json +++ b/resources/definitions/printrbot_play.def.json @@ -45,6 +45,7 @@ }, "machine_end_gcode": { "default_value": "M104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nM84 ;steppers off\nG90 ;absolute positioning" - } + }, + "speed_z_hop": {"default_value": 5} } } From d0411a95fd5d70fdc228072dc954c69a661d7bce Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 6 Jul 2021 11:53:41 +0200 Subject: [PATCH 22/31] Fixed rigid3d zhop speed --- resources/definitions/rigid3d_base.def.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/definitions/rigid3d_base.def.json b/resources/definitions/rigid3d_base.def.json index 76ed115a57..de6365c415 100644 --- a/resources/definitions/rigid3d_base.def.json +++ b/resources/definitions/rigid3d_base.def.json @@ -146,7 +146,8 @@ "adaptive_layer_height_variation_step": { "value": 0.04 }, "top_bottom_thickness": {"value": "layer_height_0 + layer_height * 3" }, - "wall_thickness": {"value": "line_width * 2" } + "wall_thickness": {"value": "line_width * 2" }, + "speed_z_hop": {"default_value": 8} } } \ No newline at end of file From 38bec36f6bc58715e06ff769446dfc935d5cbd22 Mon Sep 17 00:00:00 2001 From: Konstantinos Karmas Date: Tue, 6 Jul 2021 13:45:24 +0200 Subject: [PATCH 23/31] Revert Tertiary button to its previous style The styling of the Tertiary button (to not look like a link anymore) and the introduction of the Quatertiary button (as the link button) will happen in a separate ticket in the future. CURA-8012 --- resources/qml/TertiaryButton.qml | 8 ++++---- resources/themes/cura-dark/theme.json | 2 -- resources/themes/cura-light/theme.json | 2 -- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/resources/qml/TertiaryButton.qml b/resources/qml/TertiaryButton.qml index 4a352420df..76684b6ef2 100644 --- a/resources/qml/TertiaryButton.qml +++ b/resources/qml/TertiaryButton.qml @@ -12,8 +12,8 @@ Cura.ActionButton color: "transparent" textColor: UM.Theme.getColor("text_link") outlineColor: "transparent" - outlineDisabledColor: "transparent" - disabledColor: "transparent" + disabledColor: UM.Theme.getColor("action_button_disabled") textDisabledColor: UM.Theme.getColor("action_button_disabled_text") - hoverColor: UM.Theme.getColor("tertiary_button_hover") -} \ No newline at end of file + hoverColor: "transparent" + underlineTextOnHover: true +} diff --git a/resources/themes/cura-dark/theme.json b/resources/themes/cura-dark/theme.json index de10488162..0d6fa2f260 100644 --- a/resources/themes/cura-dark/theme.json +++ b/resources/themes/cura-dark/theme.json @@ -20,8 +20,6 @@ "secondary_button_hover": [85, 85, 87, 255], "secondary_button_text": [255, 255, 255, 255], - "tertiary_button_hover": [85, 85, 87, 255], - "icon": [255, 255, 255, 255], "toolbar_background": [39, 44, 48, 255], "toolbar_button_active": [57, 57, 58, 255], diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json index 03e5678945..98062746ae 100644 --- a/resources/themes/cura-light/theme.json +++ b/resources/themes/cura-light/theme.json @@ -178,8 +178,6 @@ "secondary_button_hover": [232, 240, 253, 255], "secondary_button_text": [25, 110, 240, 255], - "tertiary_button_hover": [232, 240, 253, 255], - "main_window_header_background": [8, 7, 63, 255], "main_window_header_background_gradient": [25, 23, 91, 255], "main_window_header_button_text_active": [8, 7, 63, 255], From d4c254dcab3ebf9ff2fce29ea6ff29efa873cc3d Mon Sep 17 00:00:00 2001 From: Konstantinos Karmas Date: Tue, 6 Jul 2021 13:59:05 +0200 Subject: [PATCH 24/31] Make the Link button in the Messages similar to the Cura Tertiary button CURA-8012 --- resources/qml/Cura.qml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index db910d1798..191ae712d4 100644 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -429,6 +429,14 @@ UM.MainWindow height: UM.Theme.getSize("message_action_button").height } } + link: Component + { + Cura.TertiaryButton + { + text: model.name + height: UM.Theme.getSize("message_action_button").height + } + } } } From b850d8c18e023e9c3536d3e3daa32b1337dfa4a6 Mon Sep 17 00:00:00 2001 From: Konstantinos Karmas Date: Tue, 6 Jul 2021 14:10:19 +0200 Subject: [PATCH 25/31] Center the extruder icon in the tabRowButton in the custom print settings CURA-8011 and CURA-8202 --- .../qml/PrintSetupSelector/Custom/CustomPrintSetup.qml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/qml/PrintSetupSelector/Custom/CustomPrintSetup.qml b/resources/qml/PrintSetupSelector/Custom/CustomPrintSetup.qml index 120aca9228..cde2cd8dfc 100644 --- a/resources/qml/PrintSetupSelector/Custom/CustomPrintSetup.qml +++ b/resources/qml/PrintSetupSelector/Custom/CustomPrintSetup.qml @@ -226,12 +226,12 @@ Item { Cura.ExtruderIcon { - anchors.horizontalCenter: parent.horizontalCenter + anchors.centerIn: parent materialColor: model.color extruderEnabled: model.enabled iconVariant: "default" - width: UM.Theme.getSize("medium_button_icon").width - height: UM.Theme.getSize("medium_button_icon").height + height: parent.height + width: height } } onClicked: From d2c0a1f32e91c7f287a93d90cb9e39e680c9635c Mon Sep 17 00:00:00 2001 From: Konstantinos Karmas Date: Tue, 6 Jul 2021 14:13:19 +0200 Subject: [PATCH 26/31] Change height of message buttons to be the same with all other action buttons CURA-8012 --- resources/themes/cura-light/theme.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json index 98062746ae..0e40778f02 100644 --- a/resources/themes/cura-light/theme.json +++ b/resources/themes/cura-light/theme.json @@ -589,7 +589,7 @@ "message": [30.0, 5.0], "message_close": [1, 1], "message_radius": [0.25, 0.25], - "message_action_button": [0, 2.0], + "message_action_button": [0, 2.5], "message_image": [15.0, 5.0], "infill_button_margin": [0.5, 0.5], From 92293e70086112b889bdc96d56b29904d8381f92 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 6 Jul 2021 16:17:55 +0200 Subject: [PATCH 27/31] Make checkbox mark colours same as text colours The new icon set changes the checkmark to something a lot thinner and more subtle. Making it darker compensates for that a bit. --- resources/themes/cura-light/theme.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json index e34d498e74..bf4542b444 100644 --- a/resources/themes/cura-light/theme.json +++ b/resources/themes/cura-light/theme.json @@ -350,7 +350,7 @@ "checkbox_hover": [255, 255, 255, 255], "checkbox_border": [199, 199, 199, 255], "checkbox_border_hover": [50, 130, 255, 255], - "checkbox_mark": [50, 130, 255, 255], + "checkbox_mark": [35, 35, 35, 255], "checkbox_disabled": [223, 223, 223, 255], "checkbox_text": [35, 35, 35, 255], From 8e5485330fe974cd76ea86c7850ba86df76da536 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 7 Jul 2021 10:27:53 +0200 Subject: [PATCH 28/31] Align sizes of prepare and preview menus For some reason, the prepare menu is still one pixel too small. I think it's got to do with that one being a layout rather than a normal row. Contributes to issue CURA-8202. --- plugins/PrepareStage/PrepareMenu.qml | 8 +++----- plugins/PreviewStage/PreviewMenu.qml | 10 ++++------ 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/plugins/PrepareStage/PrepareMenu.qml b/plugins/PrepareStage/PrepareMenu.qml index 82f61da069..2d3814309e 100644 --- a/plugins/PrepareStage/PrepareMenu.qml +++ b/plugins/PrepareStage/PrepareMenu.qml @@ -23,16 +23,14 @@ Item { left: parent.left right: parent.right - leftMargin: UM.Theme.getSize("wide_margin").width - rightMargin: UM.Theme.getSize("wide_margin").width + leftMargin: UM.Theme.getSize("wide_margin").width * 2 + rightMargin: UM.Theme.getSize("wide_margin").width * 2 } // Item to ensure that all of the buttons are nicely centered. Item { - anchors.horizontalCenter: parent.horizontalCenter - width: parent.width - 2 * UM.Theme.getSize("wide_margin").width - height: parent.height + anchors.fill: parent RowLayout { diff --git a/plugins/PreviewStage/PreviewMenu.qml b/plugins/PreviewStage/PreviewMenu.qml index c6f9d64756..9e039896c6 100644 --- a/plugins/PreviewStage/PreviewMenu.qml +++ b/plugins/PreviewStage/PreviewMenu.qml @@ -24,17 +24,15 @@ Item { left: parent.left right: parent.right - leftMargin: UM.Theme.getSize("wide_margin").width - rightMargin: UM.Theme.getSize("wide_margin").width + leftMargin: UM.Theme.getSize("wide_margin").width * 2 + rightMargin: UM.Theme.getSize("wide_margin").width * 2 } Row { id: stageMenuRow - anchors.horizontalCenter: parent.horizontalCenter - width: parent.width - 2 * UM.Theme.getSize("wide_margin").width - height: parent.height + anchors.fill: parent // This is a trick to make sure that the borders of the two adjacent buttons' borders overlap. Otherwise // there will be double border (one from each button) spacing: -UM.Theme.getSize("default_lining").width @@ -52,7 +50,7 @@ Item { id: viewPanel height: parent.height - width: source != "" ? (previewMenu.width - viewsSelector.width - printSetupSelectorItem.width) : 0 + width: source != "" ? (parent.width - viewsSelector.width - printSetupSelectorItem.width) : 0 source: UM.Controller.activeView != null && UM.Controller.activeView.stageMenuComponent != null ? UM.Controller.activeView.stageMenuComponent : "" } From 1975d053b061cd514df80152b34f3566103ead8d Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 7 Jul 2021 10:32:30 +0200 Subject: [PATCH 29/31] Split solid and 100% infill icons into two icons Both have different margins for their different use cases. Contributes to issue CURA-8202. --- .../RecommendedInfillDensitySelector.qml | 2 +- .../themes/cura-light/icons/default/Infill100.svg | 3 +++ resources/themes/cura-light/icons/default/Solid.svg | 13 +++---------- 3 files changed, 7 insertions(+), 11 deletions(-) create mode 100644 resources/themes/cura-light/icons/default/Infill100.svg diff --git a/resources/qml/PrintSetupSelector/Recommended/RecommendedInfillDensitySelector.qml b/resources/qml/PrintSetupSelector/Recommended/RecommendedInfillDensitySelector.qml index a29b69c924..705a3e95ef 100644 --- a/resources/qml/PrintSetupSelector/Recommended/RecommendedInfillDensitySelector.qml +++ b/resources/qml/PrintSetupSelector/Recommended/RecommendedInfillDensitySelector.qml @@ -43,7 +43,7 @@ Item { return UM.Theme.getIcon("Infill2") } - return UM.Theme.getIcon("Solid") + return UM.Theme.getIcon("Infill100") } } diff --git a/resources/themes/cura-light/icons/default/Infill100.svg b/resources/themes/cura-light/icons/default/Infill100.svg new file mode 100644 index 0000000000..d136666990 --- /dev/null +++ b/resources/themes/cura-light/icons/default/Infill100.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/resources/themes/cura-light/icons/default/Solid.svg b/resources/themes/cura-light/icons/default/Solid.svg index 34367b7bc7..608a56a3e3 100644 --- a/resources/themes/cura-light/icons/default/Solid.svg +++ b/resources/themes/cura-light/icons/default/Solid.svg @@ -1,10 +1,3 @@ - - - - - - - - - - + + + \ No newline at end of file From 52018a60489971a00346cc6d85aec6c073993ba5 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 7 Jul 2021 10:57:14 +0200 Subject: [PATCH 30/31] Adjust size and margin of guide book icon The icon was rendered at a too small size, such that it would get a different line width or look-and-feel than the rest. However making it bigger doesn't properly centre it either. To centre it we also reduced the margin. Contributes to issue CURA-8202. --- .../qml/Menus/ConfigurationMenu/CustomConfiguration.qml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/qml/Menus/ConfigurationMenu/CustomConfiguration.qml b/resources/qml/Menus/ConfigurationMenu/CustomConfiguration.qml index 7d1393151f..8376693ad1 100644 --- a/resources/qml/Menus/ConfigurationMenu/CustomConfiguration.qml +++ b/resources/qml/Menus/ConfigurationMenu/CustomConfiguration.qml @@ -302,15 +302,15 @@ Item } Item { - width: instructionButton.width + 2 * UM.Theme.getSize("default_margin").width + width: instructionButton.width + 2 * UM.Theme.getSize("narrow_margin").width height: instructionButton.visible ? materialSelection.height: 0 Button { id: instructionButton hoverEnabled: true contentItem: Item {} - height: 0.5 * materialSelection.height - width: height + height: UM.Theme.getSize("small_button").height + width: UM.Theme.getSize("small_button").width anchors.centerIn: parent background: UM.RecolorImage { From ba6e79c81f5f4d13cc25d3c47c41d10dc470539c Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Wed, 7 Jul 2021 11:27:07 +0200 Subject: [PATCH 31/31] Rework parts of camera button The new button should be consistent with the looks of the tool buttons. I've given it the same size as the inner part of the tool buttons, reworked the background so that it matches. I'm also giving it the 'secondary button' style which is also used for one other button. But that other detail button should get the same style anyway so that's fine too. I've also turned this icon into an actual button. That way it can get focus when using keyboard navigation and works better with tools for blind and such. Contributes to issue CURA-8202. --- .../resources/qml/CameraButton.qml | 50 ++++++++----------- resources/themes/cura-light/theme.json | 2 +- 2 files changed, 23 insertions(+), 29 deletions(-) diff --git a/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml b/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml index 2e3d17ceb0..8dca61ec38 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/CameraButton.qml @@ -1,23 +1,26 @@ -// Copyright (c) 2019 Ultimaker B.V. +// Copyright (c) 2021 Ultimaker B.V. // Cura is released under the terms of the LGPLv3 or higher. import QtQuick 2.3 -import QtQuick.Controls 1.4 +import QtQuick.Controls 2.4 import QtQuick.Controls.Styles 1.3 import UM 1.3 as UM import Cura 1.0 as Cura -Rectangle +Button { - id: base - - property var enabled: true - property var iconSource: null - color: enabled ? UM.Theme.getColor("monitor_icon_primary") : UM.Theme.getColor("monitor_icon_disabled") - height: width - radius: Math.round(0.5 * width) - width: 24 * screenScaleFactor + width: UM.Theme.getSize("button").width * 0.75 //Matching the size of the content of tool buttons. + height: UM.Theme.getSize("button").height * 0.75 + + hoverEnabled: true + + background: Rectangle + { + anchors.fill: parent + radius: 0.5 * width + color: parent.enabled ? (parent.hovered ? UM.Theme.getColor("monitor_secondary_button_hover") : "transparent") : UM.Theme.getColor("monitor_icon_disabled") + } UM.RecolorImage { @@ -27,30 +30,21 @@ Rectangle horizontalCenter: parent.horizontalCenter verticalCenter: parent.verticalCenter } - color: UM.Theme.getColor("monitor_icon_accent") + color: UM.Theme.getColor("primary") height: width source: iconSource width: Math.round(parent.width / 2) } - MouseArea + onClicked: { - id: clickArea - anchors.fill: parent - hoverEnabled: base.enabled - onClicked: + if (OutputDevice.activeCameraUrl != "") { - if (base.enabled) - { - if (OutputDevice.activeCameraUrl != "") - { - OutputDevice.setActiveCameraUrl("") - } - else - { - OutputDevice.setActiveCameraUrl(modelData.cameraUrl) - } - } + OutputDevice.setActiveCameraUrl("") + } + else + { + OutputDevice.setActiveCameraUrl(modelData.cameraUrl) } } } diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json index bf4542b444..9ad8c03d07 100644 --- a/resources/themes/cura-light/theme.json +++ b/resources/themes/cura-light/theme.json @@ -437,7 +437,7 @@ "monitor_icon_accent": [255, 255, 255, 255], "monitor_icon_disabled": [238, 238, 238, 255], - "monitor_secondary_button_hover": [228, 228, 228, 255], + "monitor_secondary_button_hover": [232, 242, 252, 255], "monitor_secondary_button": [240, 240, 240, 255], "monitor_secondary_button_text": [30, 102, 215, 255], "monitor_secondary_button_shadow": [216, 216, 216, 255],