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 ------------ 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): 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/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; + } } } 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 diff --git a/resources/settings/fdmprinter.json b/resources/settings/fdmprinter.json index 33da700c79..40f3849349 100644 --- a/resources/settings/fdmprinter.json +++ b/resources/settings/fdmprinter.json @@ -1672,4 +1672,4 @@ } } } -} \ No newline at end of file +} 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 + } + } } } } 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 + } + } + } } } 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; + } } } 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