From a83937183256bde5f68562369d6120dc512846f1 Mon Sep 17 00:00:00 2001 From: Tamara Hogenhout Date: Wed, 2 Sep 2015 17:59:20 +0200 Subject: [PATCH 1/8] 15.10 rework of the automatic filename functionality Contributes to: issue CURA-60 --- resources/qml/SaveButton.qml | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/resources/qml/SaveButton.qml b/resources/qml/SaveButton.qml index 5154af2b74..36404cd991 100644 --- a/resources/qml/SaveButton.qml +++ b/resources/qml/SaveButton.qml @@ -15,33 +15,48 @@ Rectangle { property bool activity: Printer.getPlatformActivity; Behavior on progress { NumberAnimation { duration: 250; } } property int totalHeight: childrenRect.height + property string fileBaseName + property variant activeMachineInstance: UM.MachineManager.activeMachineInstance + + onActiveMachineInstanceChanged: + { + base.createFileName() + } UM.I18nCatalog { id: catalog; name:"cura"} property variant printDuration: PrintInformation.currentPrintTime; property real printMaterialAmount: PrintInformation.materialAmount; - function createFileName(baseName){ - var splitMachineName = UM.Application.machineName.split(" ") + function createFileName(){ + var splitMachineName = UM.MachineManager.activeMachineInstance.split(" ") var abbrMachine = '' for (var i = 0; i < splitMachineName.length; i++){ - if (splitMachineName[i].search(/ultimaker/i) != -1) + if (splitMachineName[i].search(/ultimaker/i) != -1){ abbrMachine += 'UM' - else - abbrMachine += splitMachineName[i].charAt(0) - + } + else{ + if (splitMachineName[i].charAt(0).search(/[0-9]/g) == -1) + abbrMachine += splitMachineName[i].charAt(0) + } var regExpAdditives = /[0-9\+]/g; var resultAdditives = splitMachineName[i].match(regExpAdditives); if (resultAdditives != null){ - for (var j = 0; j < resultAdditives.length; j++){ abbrMachine += resultAdditives[j] } + for (var j = 0; j < resultAdditives.length; j++){ + abbrMachine += resultAdditives[j] + + } } } - printJobTextfield.text = abbrMachine + '_' + baseName + printJobTextfield.text = abbrMachine + '_' + base.fileBaseName } Connections { target: openDialog - onHasMesh: base.createFileName(name) + onHasMesh: { + base.fileBaseName = name + base.createFileName() + } } Rectangle{ From d6fde94e92f482ac655311fb8223c4f69d932918 Mon Sep 17 00:00:00 2001 From: Tamara Hogenhout Date: Thu, 3 Sep 2015 15:50:48 +0200 Subject: [PATCH 2/8] 15.10 adds a ManageProfilesAction Moves it from the button to the bottom of the menu Contributes to: issue CURA-60 --- resources/qml/Actions.qml | 8 +++++ resources/qml/Cura.qml | 6 ++-- resources/qml/ProfileSetup.qml | 63 +++++++++++++++++++--------------- resources/qml/Sidebar.qml | 2 ++ 4 files changed, 49 insertions(+), 30 deletions(-) diff --git a/resources/qml/Actions.qml b/resources/qml/Actions.qml index 338868812b..7d977f2804 100644 --- a/resources/qml/Actions.qml +++ b/resources/qml/Actions.qml @@ -33,6 +33,7 @@ Item property alias addMachine: addMachineAction; property alias configureMachines: settingsAction; + property alias manageProfiles: manageProfilesAction; property alias preferences: preferencesAction; @@ -101,6 +102,13 @@ Item iconName: "configure"; } + Action + { + id: manageProfilesAction; + //: manage profiles action + text: catalog.i18nc("@action","Manage Profiles"); + } + Action { id: documentationAction; diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index 6b0cdf9a7c..27d7e8e53d 100644 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -301,9 +301,9 @@ UM.MainWindow anchors { top: parent.top; - topMargin: UM.Theme.sizes.loadfile_margin.height + //topMargin: UM.Theme.sizes.loadfile_margin.height left: parent.left; - leftMargin: UM.Theme.sizes.loadfile_margin.width + //leftMargin: UM.Theme.sizes.loadfile_margin.width } action: actions.open; } @@ -393,6 +393,7 @@ UM.MainWindow addMachineAction: actions.addMachine; configureMachinesAction: actions.configureMachines; + manageProfilesAction: actions.manageProfiles; } Rectangle @@ -503,6 +504,7 @@ UM.MainWindow preferences.onTriggered: preferences.visible = true; configureMachines.onTriggered: { preferences.visible = true; preferences.setPage(2); } + manageProfiles.onTriggered: { preferences.visible = true; preferences.setPage(4); } documentation.onTriggered: CuraActions.openDocumentation(); reportBug.onTriggered: CuraActions.openBugReportPage(); diff --git a/resources/qml/ProfileSetup.qml b/resources/qml/ProfileSetup.qml index b07ee04a63..104abe9a7d 100644 --- a/resources/qml/ProfileSetup.qml +++ b/resources/qml/ProfileSetup.qml @@ -12,6 +12,7 @@ Column{ id: base; UM.I18nCatalog { id: catalog; name:"cura"} property int totalHeightProfileSetup: childrenRect.height + property Action manageProfilesAction spacing: 0 Rectangle{ @@ -87,17 +88,17 @@ Column{ ToolButton { id: globalProfileSelection text: UM.MachineManager.activeProfile - width: parent.width/100*45 + width: parent.width/100*55 height: UM.Theme.sizes.setting_control.height anchors.right: parent.right - anchors.rightMargin: (UM.Theme.sizes.default_margin.width * 2) + saveProfileButton.width + anchors.rightMargin: UM.Theme.sizes.default_margin.width anchors.verticalCenter: parent.verticalCenter tooltip: UM.MachineManager.activeProfile style: UM.Theme.styles.sidebar_header_button menu: Menu { - id: machineSelectionMenu + id: profileSelectionMenu Instantiator { model: UM.ProfilesModel { } @@ -109,36 +110,42 @@ Column{ exclusiveGroup: profileSelectionMenuGroup; onTriggered: UM.MachineManager.setActiveProfile(model.name) } - onObjectAdded: machineSelectionMenu.insertItem(index, object) - onObjectRemoved: machineSelectionMenu.removeItem(object) + onObjectAdded: profileSelectionMenu.insertItem(index, object) + onObjectRemoved: profileSelectionMenu.removeItem(object) } ExclusiveGroup { id: profileSelectionMenuGroup; } - } - Button { - id: saveProfileButton - visible: true - anchors.top: parent.top - x: globalProfileSelection.width + 2 - width: parent.width/100*25 - text: catalog.i18nc("@action:button", "Save"); - height: parent.height - style: ButtonStyle { - background: Rectangle { - color: control.hovered ? UM.Theme.colors.load_save_button_hover : UM.Theme.colors.load_save_button - Behavior on color { ColorAnimation { duration: 50; } } - width: actualLabel.width + UM.Theme.sizes.default_margin.width - Label { - id: actualLabel - anchors.centerIn: parent - color: UM.Theme.colors.load_save_button_text - font: UM.Theme.fonts.default - text: control.text; - } - } - label: Item { } + MenuSeparator { } + MenuItem { + action: base.manageProfilesAction; + } } +// Button { +// id: saveProfileButton +// visible: true +// anchors.top: parent.top +// x: globalProfileSelection.width + 2 +// width: parent.width/100*25 +// text: catalog.i18nc("@action:button", "Save"); +// height: parent.height +// +// style: ButtonStyle { +// background: Rectangle { +// color: control.hovered ? UM.Theme.colors.load_save_button_hover : UM.Theme.colors.load_save_button +// Behavior on color { ColorAnimation { duration: 50; } } +// width: actualLabel.width + UM.Theme.sizes.default_margin.width +// Label { +// id: actualLabel +// anchors.centerIn: parent +// color: UM.Theme.colors.load_save_button_text +// font: UM.Theme.fonts.default +// text: control.text; +// } +// } +// label: Item { } +// } +// } } } Rectangle{ diff --git a/resources/qml/Sidebar.qml b/resources/qml/Sidebar.qml index d5c3c437ad..e79deaf613 100644 --- a/resources/qml/Sidebar.qml +++ b/resources/qml/Sidebar.qml @@ -14,6 +14,7 @@ Rectangle property Action addMachineAction; property Action configureMachinesAction; + property Action manageProfilesAction; color: UM.Theme.colors.sidebar; UM.I18nCatalog { id: catalog; name:"cura"} @@ -64,6 +65,7 @@ Rectangle ProfileSetup { id: profileItem + manageProfilesAction: base.manageProfilesAction anchors.top: header.bottom width: parent.width height: totalHeightProfileSetup From a0c2bbb8128a5f18f2a81c4e06d221962411d8dd Mon Sep 17 00:00:00 2001 From: Tamara Hogenhout Date: Thu, 3 Sep 2015 15:51:18 +0200 Subject: [PATCH 3/8] 15.10 disables the savebutton textfield Contributes to: issue CURA-60 --- resources/qml/SaveButton.qml | 94 ++++++++++++++++++------------------ 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/resources/qml/SaveButton.qml b/resources/qml/SaveButton.qml index 36404cd991..e48b55921d 100644 --- a/resources/qml/SaveButton.qml +++ b/resources/qml/SaveButton.qml @@ -48,7 +48,7 @@ Rectangle { } } } - printJobTextfield.text = abbrMachine + '_' + base.fileBaseName + //printJobTextfield.text = abbrMachine + '_' + base.fileBaseName } Connections { @@ -59,57 +59,57 @@ Rectangle { } } - Rectangle{ - id: printJobRow - implicitWidth: base.width; - implicitHeight: UM.Theme.sizes.sidebar_header.height - anchors.top: parent.top - color: UM.Theme.colors.sidebar_header_bar - Label{ - id: printJobTextfieldLabel - text: catalog.i18nc("@label","Printjob name"); - anchors.left: parent.left - anchors.leftMargin: UM.Theme.sizes.default_margin.width; - anchors.verticalCenter: parent.verticalCenter - font: UM.Theme.fonts.default; - color: UM.Theme.colors.text_white - } - TextField { - id: printJobTextfield - anchors.right: parent.right - anchors.rightMargin: UM.Theme.sizes.default_margin.width; - anchors.verticalCenter: parent.verticalCenter - width: parent.width/100*55 - height: UM.Theme.sizes.sidebar_inputFields.height - property int unremovableSpacing: 5 - text: '' - onEditingFinished: { - if (printJobTextfield.text != ''){ - printJobTextfield.focus = false - } - } - validator: RegExpValidator { - regExp: /^[^\\ \/ \.]*$/ - } - style: TextFieldStyle{ - textColor: UM.Theme.colors.setting_control_text; - font: UM.Theme.fonts.default; - background: Rectangle { - radius: 0 - implicitWidth: parent.width - implicitHeight: parent.height - border.width: 1; - border.color: UM.Theme.colors.slider_groove_border; - } - } - } - } +// Rectangle{ +// id: printJobRow +// implicitWidth: base.width; +// implicitHeight: UM.Theme.sizes.sidebar_header.height +// anchors.top: parent.top +// color: UM.Theme.colors.sidebar_header_bar +// Label{ +// id: printJobTextfieldLabel +// text: catalog.i18nc("@label","Printjob name"); +// anchors.left: parent.left +// anchors.leftMargin: UM.Theme.sizes.default_margin.width; +// anchors.verticalCenter: parent.verticalCenter +// font: UM.Theme.fonts.default; +// color: UM.Theme.colors.text_white +// } +// TextField { +// id: printJobTextfield +// anchors.right: parent.right +// anchors.rightMargin: UM.Theme.sizes.default_margin.width; +// anchors.verticalCenter: parent.verticalCenter +// width: parent.width/100*55 +// height: UM.Theme.sizes.sidebar_inputFields.height +// property int unremovableSpacing: 5 +// text: '' +// onEditingFinished: { +// if (printJobTextfield.text != ''){ +// printJobTextfield.focus = false +// } +// } +// validator: RegExpValidator { +// regExp: /^[^\\ \/ \.]*$/ +// } +// style: TextFieldStyle{ +// textColor: UM.Theme.colors.setting_control_text; +// font: UM.Theme.fonts.default; +// background: Rectangle { +// radius: 0 +// implicitWidth: parent.width +// implicitHeight: parent.height +// border.width: 1; +// border.color: UM.Theme.colors.slider_groove_border; +// } +// } +// } +// } Rectangle { id: specsRow implicitWidth: base.width implicitHeight: UM.Theme.sizes.sidebar_specs_bar.height - anchors.top: printJobRow.bottom + anchors.top: parent.top Item{ id: time width: (parent.width / 100 * 45) - UM.Theme.sizes.default_margin.width * 2 From 57632f895e15000b1b8c862b1c09f8a5dddc8583 Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Thu, 3 Sep 2015 16:08:41 +0200 Subject: [PATCH 4/8] Fix one at a time iterator to not check things like the platform --- cura/OneAtATimeIterator.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cura/OneAtATimeIterator.py b/cura/OneAtATimeIterator.py index cf767a65ff..0be14e8703 100644 --- a/cura/OneAtATimeIterator.py +++ b/cura/OneAtATimeIterator.py @@ -2,6 +2,7 @@ # Cura is released under the terms of the AGPLv3 or higher. from UM.Scene.Iterator import Iterator +from UM.Scene.SceneNode import SceneNode from functools import cmp_to_key from UM.Application import Application @@ -10,13 +11,16 @@ from UM.Application import Application # Take note that the list of nodes can have children (that may or may not contain mesh data) class OneAtATimeIterator(Iterator.Iterator): def __init__(self, scene_node): - super(OneAtATimeIterator, self).__init__(scene_node) # Call super to make multiple inheritence work. + super().__init__(scene_node) # Call super to make multiple inheritence work. self._hit_map = [[]] self._original_node_list = [] def _fillStack(self): node_list = [] for node in self._scene_node.getChildren(): + if not type(node) is SceneNode: + continue + if node.getBoundingBox().height > Application.getInstance().getMachineManager().getActiveProfile().getSettingValue("gantry_height"): return if node.callDecoration("getConvexHull"): From 45f213cd82ebdb4f5963a217ac4a391d4dc53810 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 3 Sep 2015 16:34:25 +0200 Subject: [PATCH 5/8] Head shape is now also shown in hull --- cura/ConvexHullNode.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/cura/ConvexHullNode.py b/cura/ConvexHullNode.py index 3ea148dce8..4b36a11949 100644 --- a/cura/ConvexHullNode.py +++ b/cura/ConvexHullNode.py @@ -29,16 +29,24 @@ class ConvexHullNode(SceneNode): self._node.parentChanged.connect(self._onNodeParentChanged) self._node.decoratorsChanged.connect(self._onNodeDecoratorsChanged) self._onNodeDecoratorsChanged(self._node) - + self.convexHullHeadMesh = None self._hull = hull hull_points = self._hull.getPoints() + hull_mesh = self.createHullMesh(self._hull.getPoints()) + if hull_mesh: + self.setMeshData(hull_mesh) + convex_hull_head = self._node.callDecoration("getConvexHullHead") + if convex_hull_head: + self.convexHullHeadMesh = self.createHullMesh(convex_hull_head.getPoints()) + + def createHullMesh(self, hull_points): mesh = MeshData() if len(hull_points) > 3: center = (hull_points.min(0) + hull_points.max(0)) / 2.0 mesh.addVertex(center[0], 0.1, center[1]) - else: #Hull has not enough points - return + else: + return None for point in hull_points: mesh.addVertex(point[0], 0.1, point[1]) indices = [] @@ -48,8 +56,7 @@ class ConvexHullNode(SceneNode): indices.append([0, mesh.getVertexCount() - 1, 1]) mesh.addIndices(numpy.array(indices, numpy.int32)) - - self.setMeshData(mesh) + return mesh def getWatchedNode(self): return self._node @@ -61,6 +68,8 @@ class ConvexHullNode(SceneNode): if self.getParent(): self._material.setUniformValue("u_color", self._color) renderer.queueNode(self, material = self._material, transparent = True) + if self.convexHullHeadMesh: + renderer.queueNode(self, material = self._material,transparent = True, mesh = self.convexHullHeadMesh) return True From 6d184ea2810e796e083da0585a4a157c491ac6f3 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 3 Sep 2015 16:38:58 +0200 Subject: [PATCH 6/8] One at a time now has the correct push free behaviour --- cura/PlatformPhysics.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cura/PlatformPhysics.py b/cura/PlatformPhysics.py index c91aaaabde..bf2860d7d6 100644 --- a/cura/PlatformPhysics.py +++ b/cura/PlatformPhysics.py @@ -111,7 +111,11 @@ class PlatformPhysics: # Get the overlap distance for both convex hulls. If this returns None, there is no intersection. try: - overlap = node.callDecoration("getConvexHull").intersectsPolygon(other_node.callDecoration("getConvexHull")) + head_hull = node.callDecoration("getConvexHullHead") + if head_hull: + overlap = head_hull.intersectsPolygon(other_node.callDecoration("getConvexHull")) + else: + overlap = node.callDecoration("getConvexHull").intersectsPolygon(other_node.callDecoration("getConvexHull")) except: overlap = None #It can sometimes occur that the caclulated convex hull has no size, in which case there is no overlap. From 04d1ae0b2260999b0b2552424727017c7fa7377c Mon Sep 17 00:00:00 2001 From: Tamara Hogenhout Date: Thu, 3 Sep 2015 16:42:47 +0200 Subject: [PATCH 7/8] 15.10 minimal version of the simple mode Contributes to: issue CURA-60 --- resources/qml/SidebarSimple.qml | 160 +++++++++++++++++++++++++++++-- resources/themes/cura/theme.json | 2 +- 2 files changed, 153 insertions(+), 9 deletions(-) diff --git a/resources/qml/SidebarSimple.qml b/resources/qml/SidebarSimple.qml index 4da532a837..2f31b26501 100644 --- a/resources/qml/SidebarSimple.qml +++ b/resources/qml/SidebarSimple.qml @@ -11,23 +11,167 @@ import UM 1.1 as UM Item { id: base; - anchors.fill: parent; - anchors.leftMargin: UM.Theme.sizes.default_margin.width; - anchors.rightMargin: UM.Theme.sizes.default_margin.width; property Action configureSettings; - property variant minimumPrintTime: PrintInformation.minimumPrintTime; property variant maximumPrintTime: PrintInformation.maximumPrintTime; Component.onCompleted: PrintInformation.enabled = true Component.onDestruction: PrintInformation.enabled = false UM.I18nCatalog { id: catalog; name:"cura"} - ColumnLayout - { - anchors.fill: parent; +// Rectangle { +// anchors.top: simpleModeGrid.top +// anchors.left: simpleModeGrid.left +// width: simpleModeGrid.width +// height: simpleModeGrid.height +// color: "blue" +// } + + Grid { + id: simpleModeGrid + anchors.fill: parent; + columns: 2 + spacing: 0 + +// Rectangle{ +// id: infillLabelCell +// width: base.width/100*45 +// height: 100 +// Column { +// spacing: 0 +// anchors{ +// top: parent.top +// topMargin: UM.Theme.sizes.default_margin.height +// right: parent.right +// rightMargin: UM.Theme.sizes.default_margin.width +// bottom: parent.bottom +// bottomMargin: UM.Theme.sizes.default_margin.height +// left: parent.left +// leftMargin: UM.Theme.sizes.default_margin.width +// } +// +// Label{ +// id: infillLabel +// //: Infill selection label +// text: catalog.i18nc("@label","Infill:"); +// font: UM.Theme.fonts.default; +// } +// Label{ +// id: infillCaption +// width: infillLabelCell.width - UM.Theme.sizes.default_margin.width +// text: "hier staat overig tekst hier staat overig tekst hier staat overig tekst" +// font: UM.Theme.fonts.caption +// wrapMode: Text.Wrap +// color: UM.Theme.colors.text +// } +// } +// } +// +// Rectangle{ +// id: infillCell +// height: 100 +// width: base.width/100*55 +// Row { +// spacing: 0 +// anchors.right: parent.right +// anchors.rightMargin: UM.Theme.sizes.default_margin.width +// Rectangle { +// id: infillWrapper +// width: infillCell.width/4; +// height: infillCell.height +// Rectangle{ +// id: infillIconLining +// anchors.top: parent.top +// anchors.topMargin: UM.Theme.sizes.default_margin.height +// anchors.horizontalCenter: parent.horizontalCenter +// z: parent.z + 1 +// width: parent.width - UM.Theme.sizes.default_margin.width/2 +// height: parent.width - UM.Theme.sizes.default_margin.width/2 +// color: "grey" +// border.color: "black" +// border.width:1 +// UM.RecolorImage { +// id: infillIcon +// z: parent.z + 1 +// anchors.verticalCenter: parent.verticalCenter +// anchors.horizontalCenter: parent.horizontalCenter +// width: UM.Theme.sizes.save_button_specs_icons.width +// height: UM.Theme.sizes.save_button_specs_icons.height +// sourceSize.width: width +// sourceSize.height: width +// color: UM.Theme.colors.text_hover +// source: UM.Theme.icons.print_time; +// } +// } +// Label{ +// //: Infill version label "light: +// text: catalog.i18nc("@label","Light"); +// anchors.top: infillIconLining.bottom +// anchors.horizontalCenter: parent.horizontalCenter +// font.bold: true +// } +// } +// Rectangle { +// color: "green"; +// width: infillCell.width/4; +// height: infillCell.height +// } +// Rectangle { +// color: "blue"; +// width: infillCell.width/4; +// height: infillCell.height +// } +// Rectangle { +// color: "yellow"; +// width: infillCell.width/4; +// height: infillCell.height +// } +// } +// } + + Rectangle { + width: parent.width/100*45 - UM.Theme.sizes.default_margin.width + height: 100 + Label{ + anchors.left: parent.left + anchors.leftMargin: UM.Theme.sizes.default_margin.width + //: Helpers selection label + text: catalog.i18nc("@label","Helpers:"); + font: UM.Theme.fonts.default; + } + } + Rectangle { + width: parent.width/100*55 - UM.Theme.sizes.default_margin.width + height: 100 + Column { + spacing: 4 + + CheckBox{ + Layout.preferredHeight: UM.Theme.sizes.section.height; + //: Setting enable skirt adhesion checkbox + text: catalog.i18nc("@action:checkbox","Enable Skirt Adhesion"); + style: UM.Theme.styles.checkbox; + checked: Printer.getSettingValue("skirt_line_count"); + onCheckedChanged: Printer.setSettingValue("skirt_line_count", checked); + } + CheckBox{ + Layout.preferredHeight: UM.Theme.sizes.section.height; + + //: Setting enable support checkbox + text: catalog.i18nc("@action:checkbox","Enable Support"); + + style: UM.Theme.styles.checkbox; + + checked: Printer.getSettingValue("support_enable"); + onCheckedChanged: Printer.setSettingValue("support_enable", checked); + } + } + } + } + +/* Item { Layout.fillWidth: true; @@ -130,5 +274,5 @@ Item } Item { Layout.fillWidth: true; Layout.fillHeight: true; } - } + }*/ } diff --git a/resources/themes/cura/theme.json b/resources/themes/cura/theme.json index c4d37d97a4..91023d61b3 100644 --- a/resources/themes/cura/theme.json +++ b/resources/themes/cura/theme.json @@ -121,7 +121,7 @@ "checkbox_hover": [245, 245, 245, 255], "checkbox_border": [174, 174, 174, 255], "checkbox_mark": [35, 35, 35, 255], - "checkbox_text": [140, 144, 154, 255], + "checkbox_text": [0, 0, 0, 255], "tooltip": [255, 225, 146, 255], From 4897c9392a776033121f4429ac11cc518b4204f3 Mon Sep 17 00:00:00 2001 From: Tamara Hogenhout Date: Thu, 3 Sep 2015 17:06:41 +0200 Subject: [PATCH 8/8] 15.10 last minute restyling Contributes to: issue CURA-60 --- resources/qml/SaveButton.qml | 18 ++++--- resources/qml/Toolbar.qml | 2 +- .../themes/cura/icons/setting_per_object.svg | 52 ++++++++++++++++--- 3 files changed, 56 insertions(+), 16 deletions(-) diff --git a/resources/qml/SaveButton.qml b/resources/qml/SaveButton.qml index e48b55921d..50808f9777 100644 --- a/resources/qml/SaveButton.qml +++ b/resources/qml/SaveButton.qml @@ -59,12 +59,14 @@ Rectangle { } } -// Rectangle{ -// id: printJobRow -// implicitWidth: base.width; -// implicitHeight: UM.Theme.sizes.sidebar_header.height -// anchors.top: parent.top -// color: UM.Theme.colors.sidebar_header_bar + Rectangle{ + id: printJobRow + implicitWidth: base.width; + //implicitHeight: UM.Theme.sizes.sidebar_header.height /////////////remove this TODO + implicitHeight: 1 + anchors.top: parent.top + //color: UM.Theme.colors.sidebar_header_bar + color: UM.Theme.colors.setting_control_border // Label{ // id: printJobTextfieldLabel // text: catalog.i18nc("@label","Printjob name"); @@ -103,13 +105,13 @@ Rectangle { // } // } // } -// } + } Rectangle { id: specsRow implicitWidth: base.width implicitHeight: UM.Theme.sizes.sidebar_specs_bar.height - anchors.top: parent.top + anchors.top: printJobRow.bottom Item{ id: time width: (parent.width / 100 * 45) - UM.Theme.sizes.default_margin.width * 2 diff --git a/resources/qml/Toolbar.qml b/resources/qml/Toolbar.qml index ca6b625b1b..2acebf094f 100644 --- a/resources/qml/Toolbar.qml +++ b/resources/qml/Toolbar.qml @@ -28,7 +28,7 @@ Item { model: UM.Models.toolModel Button { - text: model.name; + text: model.name iconSource: UM.Theme.icons[model.icon]; checkable: true; diff --git a/resources/themes/cura/icons/setting_per_object.svg b/resources/themes/cura/icons/setting_per_object.svg index 9c5bd9bc8d..53c8a97d95 100644 --- a/resources/themes/cura/icons/setting_per_object.svg +++ b/resources/themes/cura/icons/setting_per_object.svg @@ -1,7 +1,45 @@ - - - - - + + + +image/svg+xml \ No newline at end of file