From 46cd9e081bae95996d438043041eb95b84f5193b Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Wed, 17 Jun 2015 17:38:51 +0200 Subject: [PATCH 1/9] Make sure the tool panel background is at least as wide as the active item This prevents odd rendering issues when items are differently sorted. Contributes to #57 --- resources/qml/Toolbar.qml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/qml/Toolbar.qml b/resources/qml/Toolbar.qml index d5126db481..ec7a6bd839 100644 --- a/resources/qml/Toolbar.qml +++ b/resources/qml/Toolbar.qml @@ -18,6 +18,7 @@ Item { id: activeItemBackground; anchors.bottom: parent.bottom; + anchors.bottomMargin: UM.Theme.sizes.default_margin.height; width: UM.Theme.sizes.button.width; height: UM.Theme.sizes.button.height * 2; @@ -59,7 +60,6 @@ Item { MouseArea { anchors.fill: parent; onClicked: parent.checked ? UM.Controller.setActiveTool(null) : UM.Controller.setActiveTool(model.id); - } } } @@ -72,7 +72,7 @@ Item { anchors.bottom: buttons.top; anchors.bottomMargin: UM.Theme.sizes.default_margin.height; - width: panel.item ? panel.width + 2 * UM.Theme.sizes.default_margin.width : 0; + width: panel.item ? Math.max(panel.width + 2 * UM.Theme.sizes.default_margin.width, activeItemBackground.x + activeItemBackground.width) : 0; height: panel.item ? panel.height + 2 * UM.Theme.sizes.default_margin.height : 0; opacity: panel.item ? 1 : 0 From ddbb952d9ce55bf2f528d6c9c9f0cca5d09dafd4 Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Wed, 17 Jun 2015 17:43:03 +0200 Subject: [PATCH 2/9] Add a background to the tooltip label so long strings also have background Contributes to #57 --- resources/themes/cura/styles.qml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/resources/themes/cura/styles.qml b/resources/themes/cura/styles.qml index 243c12aedb..d172fdb6d0 100644 --- a/resources/themes/cura/styles.qml +++ b/resources/themes/cura/styles.qml @@ -103,12 +103,17 @@ QtObject { opacity: control.hovered ? 1.0 : 0.0; Behavior on opacity { NumberAnimation { duration: 100; } } - Label { - id: label + Rectangle { anchors.horizontalCenter: parent.horizontalCenter; - text: control.text.replace("&", ""); - font: UM.Theme.fonts.button_tooltip; - color: UM.Theme.colors.button_tooltip_text; + width: childrenRect.width; + height: childrenRect.height; + + Label { + id: label + text: control.text.replace("&", ""); + font: UM.Theme.fonts.button_tooltip; + color: UM.Theme.colors.button_tooltip_text; + } } } From 414047d7688139b089188c3009b544bb7c8397b5 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Thu, 18 Jun 2015 12:07:40 +0200 Subject: [PATCH 3/9] bugfix: avoid overlapping walls OFF by default --- resources/settings/fdmprinter.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/settings/fdmprinter.json b/resources/settings/fdmprinter.json index 03ee5d8ee3..42bee91167 100644 --- a/resources/settings/fdmprinter.json +++ b/resources/settings/fdmprinter.json @@ -210,7 +210,7 @@ "label": "Avoid Overlapping Walls", "description": "Remove parts of a wall which share an overlap which would result in overextrusion in some places. These overlaps occur in thin pieces in a model and sharp corners.", "type": "boolean", - "default": true, + "default": false, "visible": false }, "top_bottom_pattern": { From dfb379dfc8c0f15f38cbe903e7a5636d6268d844 Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Fri, 19 Jun 2015 11:58:24 +0200 Subject: [PATCH 4/9] Display the rotation angle when we are performing a rotation Contributes to Asana issue 36760525983768 --- resources/qml/Cura.qml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index 5c6a5c9290..830470c9c6 100644 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -279,6 +279,19 @@ UM.MainWindow { configureMachinesAction: actions.configureMachines; saveAction: actions.save; } + + Rectangle { + x: base.mouseX; + y: base.mouseY; + + width: childrenRect.width; + height: childrenRect.height; + Label { + text: UM.ActiveTool.properties.Rotation != undefined ? "%1°".arg(UM.ActiveTool.properties.Rotation) : ""; + } + + visible: UM.ActiveTool.valid && UM.ActiveTool.properties.Rotation != undefined; + } } } From 86dae6768f8110a189eb8373141cb70e5b52ae42 Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Fri, 19 Jun 2015 12:08:43 +0200 Subject: [PATCH 5/9] Add a precision value to the time/quality slider settings and use that to round values Fixes Asana issue 33676923773310 --- cura/PrintInformation.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cura/PrintInformation.py b/cura/PrintInformation.py index f36f2509cf..fdd835e9a0 100644 --- a/cura/PrintInformation.py +++ b/cura/PrintInformation.py @@ -51,8 +51,8 @@ class PrintInformation(QObject): self._time_quality_changed_timer.timeout.connect(self._updateTimeQualitySettings) self._interpolation_settings = { - "layer_height": { "minimum": "low", "maximum": "high", "curve": "linear" }, - "fill_sparse_density": { "minimum": "low", "maximum": "high", "curve": "linear" } + "layer_height": { "minimum": "low", "maximum": "high", "curve": "linear", "precision": 2 }, + "fill_sparse_density": { "minimum": "low", "maximum": "high", "curve": "linear", "precision": 0 } } self._low_quality_settings = None @@ -196,7 +196,7 @@ class PrintInformation(QObject): else: continue - setting_value = minimum_value + (maximum_value - minimum_value) * (self._time_quality_value / 100) + setting_value = round(minimum_value + (maximum_value - minimum_value) * (self._time_quality_value / 100), options["precision"]) self._current_settings.setSettingValueByKey(key, setting_value) def _onSceneChanged(self, source): From 6ef82c57b6beecfafac486909f1c0b78b2ecfb0d Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Fri, 19 Jun 2015 13:19:03 +0200 Subject: [PATCH 6/9] Do not hide the entire material category for UM2 but just the unused settings Fixes #55 --- resources/settings/ultimaker2.json | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/resources/settings/ultimaker2.json b/resources/settings/ultimaker2.json index d6fc97803a..6cee1d8eb4 100644 --- a/resources/settings/ultimaker2.json +++ b/resources/settings/ultimaker2.json @@ -38,7 +38,20 @@ "categories": { "material": { - "visible": false + "settings": { + "material_print_temperature": { + "visible": false + }, + "material_bed_temperature": { + "visible": false + }, + "material_diameter": { + "visible": false + }, + "material_flow": { + "visible": false + } + } } } } From 5680c889f8aa92d25952c18d00d7532821af8d4f Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Fri, 19 Jun 2015 13:22:24 +0200 Subject: [PATCH 7/9] Hide the bed temperature for UMO The standard UMO has no heated bed, so do not show the setting for it. --- resources/settings/ultimaker_original.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/resources/settings/ultimaker_original.json b/resources/settings/ultimaker_original.json index 07be53e46c..ab8f0290a9 100644 --- a/resources/settings/ultimaker_original.json +++ b/resources/settings/ultimaker_original.json @@ -20,5 +20,15 @@ "machine_nozzle_offset_x_1": { "default": 18.0 }, "machine_nozzle_offset_y_1": { "default": 0.0 }, "machine_gcode_flavor": { "default": "RepRap (Marlin/Sprinter)" } + }, + + "categories": { + "material": { + "settings": { + "material_bed_temperature": { + "visible": false + } + } + } } } From f1ebb3389db352d1ce5bbc00ad0ee17384248900 Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Fri, 19 Jun 2015 13:41:49 +0200 Subject: [PATCH 8/9] Update changelog --- CHANGES | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/CHANGES b/CHANGES index f33001afd5..64858ff8ea 100644 --- a/CHANGES +++ b/CHANGES @@ -7,6 +7,22 @@ Cura 15.06 is a new release built from the ground up on a completely new framework called Uranium. This framework has been designed to make it easier to extend Cura with additional functionality as well as provide a cleaner UI. +Changes since 15.05.94 +---------------------- + +* Added Russian translations +* Fixed: Infill not displayed in layer view +* Fixed: Cannot select/scale/rotate when first activating the tool and then trying to select a model. +* Fixed: Improved font rendering on Windows +* Fixed: Help > Show Documentation crashes Cura on Windows +* Fixed: "There is no disk in the drive" repeating messages on Windows +* Fixed: Retraction settings not visible for Ultimaker2 +* Fixed: Display rotation angle when rotating an object +* Fixed: Time/Quality slider values are properly rounded +* Fixed: Improved clarity of buttons and text +* Fixed: No indication that anything is happening when loading a model +* Fixed: Eject device now works on Windows + Changes since 15.05.93 ---------------------- @@ -123,10 +139,9 @@ Features from earlier versions not (yet) in this release port certain features that we require. * X-Ray view is missing. Will be implemented as a (you might have guessed it) plugin. -* Infill display in the layer view is missing. - Like several other features, the existing implementation of this - functionality is not salvageable and will need to be reimplemented. - +* Fixes: Follow Mesh Surface + Has been removed from the engine, the same result can be + achieved using no infill or top/bottom layers. Known Issues ------------ From 2c139c4037160d2867670e9e1326110a0a549a69 Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Fri, 19 Jun 2015 06:10:55 -0700 Subject: [PATCH 9/9] Bump version to 15.05.95 --- cura/CuraApplication.py | 2 +- installer.nsi | 9 ++++++--- setup.py | 10 +++++++--- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 0c566d2d57..45d4f3a74f 100644 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -50,7 +50,7 @@ class CuraApplication(QtApplication): if not hasattr(sys, "frozen"): Resources.addResourcePath(os.path.join(os.path.abspath(os.path.dirname(__file__)), "..")) - super().__init__(name = "cura", version = "15.05.94") + super().__init__(name = "cura", version = "15.05.95") self.setRequiredPlugins([ "CuraEngineBackend", diff --git a/installer.nsi b/installer.nsi index 1259aeba7a..b5adb4b572 100644 --- a/installer.nsi +++ b/installer.nsi @@ -1,5 +1,5 @@ !ifndef VERSION - !define VERSION 'BETA' + !define VERSION '15.05.95' !endif ; The name of the installer @@ -44,6 +44,9 @@ SetCompressor /SOLID lzma !define MUI_FINISHPAGE_RUN_TEXT "Start Cura ${VERSION}" !define MUI_FINISHPAGE_RUN_FUNCTION "LaunchLink" +;Add an option to show release notes +!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\release_notes.txt" + ; Pages ;!insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_DIRECTORY @@ -101,10 +104,10 @@ FunctionEnd Section "Install Visual Studio 2010 Redistributable" SetOutPath "$INSTDIR" - File "vcredist_2010_x86.exe" + File "vcredist_2010_20110908_x86.exe" IfSilent +2 - ExecWait '"$INSTDIR\vcredist_2010_x86.exe"' + ExecWait '"$INSTDIR\vcredist_2010_20110908_x86.exe" /silent /norestart' SectionEnd diff --git a/setup.py b/setup.py index cfd59c47d2..1c82f07653 100644 --- a/setup.py +++ b/setup.py @@ -22,7 +22,7 @@ def copytree(src, dst, symlinks=False, ignore=None): else: shutil.copy2(s, d) -includes = ["sip", "ctypes", "UM", "PyQt5.QtNetwork", "PyQt5._QOpenGLFunctions_2_0", "serial", "Arcus", "google", "google.protobuf", "google.protobuf.descriptor", "xml.etree", "xml.etree.ElementTree", "src"] +includes = ["sip", "ctypes", "UM", "PyQt5.QtNetwork", "PyQt5._QOpenGLFunctions_2_0", "serial", "Arcus", "google", "google.protobuf", "google.protobuf.descriptor", "xml.etree", "xml.etree.ElementTree", "cura"] # Include all the UM modules in the includes. As py2exe fails to properly find all the dependencies due to the plugin architecture. for dirpath, dirnames, filenames in os.walk(os.path.dirname(UM.__file__)): if "__" in dirpath: @@ -41,7 +41,7 @@ print("Removing previous distribution package") shutil.rmtree("dist", True) setup(name="Cura", - version="2.0", + version="15.05.95", author="Ultimaker", author_email="d.braam@ultimaker.com", url="http://software.ultimaker.com/", @@ -54,7 +54,7 @@ setup(name="Cura", print("Coping Cura plugins.") shutil.copytree(os.path.dirname(UM.__file__) + "/../plugins", "dist/plugins") for path in os.listdir("plugins"): - shutil.copytree("plugins/" + path, "dist/plugins/" + path) + shutil.copytree("plugins/" + path, "dist/plugins/" + path) print("Coping resources.") shutil.copytree(os.path.dirname(UM.__file__) + "/../resources", "dist/resources") copytree("resources", "dist/resources") @@ -70,3 +70,7 @@ for site_package in site.getsitepackages(): shutil.copytree(os.path.join(qt_origin_path, "qml/QtQuick.2"), "dist/qml/QtQuick.2") print("Coping PyQt5 svg library from: %s" % qt_origin_path) shutil.copy(os.path.join(qt_origin_path, "Qt5Svg.dll"), "dist/Qt5Svg.dll") + print("Copying Angle libraries from %s" % qt_origin_path) + shutil.copy(os.path.join(qt_origin_path, "libEGL.dll"), "dist/libEGL.dll") + shutil.copy(os.path.join(qt_origin_path, "libGLESv2.dll"), "dist/libGLESv2.dll") +os.rename("dist/cura_app.exe", "dist/Cura.exe") \ No newline at end of file