From d9098ff06dec336affc38214585f368eeb3eab43 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Wed, 2 Dec 2015 14:27:58 +0100 Subject: [PATCH] SimpleMode small fixes & additions --- resources/qml/SidebarSimple.qml | 120 ++++++++++------- resources/themes/cura/icons/dense.svg | 19 +-- resources/themes/cura/icons/dot.svg | 11 ++ resources/themes/cura/icons/hollow.svg | 13 ++ resources/themes/cura/icons/solid.svg | 179 +++++++++++++++++++++++-- resources/themes/cura/icons/sparse.svg | 8 +- resources/themes/cura/styles.qml | 8 +- resources/themes/cura/theme.json | 2 + 8 files changed, 286 insertions(+), 74 deletions(-) create mode 100644 resources/themes/cura/icons/dot.svg create mode 100644 resources/themes/cura/icons/hollow.svg diff --git a/resources/qml/SidebarSimple.qml b/resources/qml/SidebarSimple.qml index 2a912bb203..0c461faaec 100644 --- a/resources/qml/SidebarSimple.qml +++ b/resources/qml/SidebarSimple.qml @@ -28,7 +28,7 @@ Item id: speedCellLeft anchors.top: parent.top anchors.left: parent.left - width: base.width/100* 45 - UM.Theme.sizes.default_margin.width + width: base.width/100*35 - UM.Theme.sizes.default_margin.width height: childrenRect.height Label{ @@ -49,11 +49,13 @@ Item anchors.left: speedCellLeft.right anchors.top: speedCellLeft.top anchors.topMargin: UM.Theme.sizes.default_margin.height - width: parent.width/100*55 - UM.Theme.sizes.default_margin.width + width: parent.width/100*65 - UM.Theme.sizes.default_margin.width height: childrenRect.height CheckBox{ id: normalSpeedCheckBox + property bool hovered_ex: false + anchors.top: parent.top anchors.left: parent.left @@ -63,25 +65,30 @@ Item exclusiveGroup: speedCheckBoxGroup checked: UM.ActiveProfile.valid ? UM.ActiveProfile.settingValues.speed_print <= 60 : true; - onClicked: - { - UM.MachineManager.setSettingValue("speed_print", 60) - } MouseArea { anchors.fill: parent - acceptedButtons: Qt.NoButton hoverEnabled: true - onEntered: { - base.showTooltip(normalSpeedCheckBox, Qt.point(-speedCellRight.x, parent.height), + onClicked: + { + UM.MachineManager.setSettingValue("speed_print", 60) + } + onEntered: + { + parent.hovered_ex = true + base.showTooltip(normalSpeedCheckBox, Qt.point(-speedCellRight.x, parent.height), catalog.i18nc("@label", "Use normal printing speed. This will result in high quality prints.")); } - onExited: { + onExited: + { + parent.hovered_ex = false base.hideTooltip(); } } } CheckBox{ id: highSpeedCheckBox + property bool hovered_ex: false + anchors.top: parent.top anchors.left: normalSpeedCheckBox.right anchors.leftMargin: UM.Theme.sizes.default_margin.width @@ -92,19 +99,22 @@ Item exclusiveGroup: speedCheckBoxGroup checked: UM.ActiveProfile.valid ? UM.ActiveProfile.settingValues.speed_print > 60 : true; - onClicked: - { - UM.MachineManager.setSettingValue("speed_print", 100) - } MouseArea { anchors.fill: parent - acceptedButtons: Qt.NoButton hoverEnabled: true - onEntered: { - base.showTooltip(normalSpeedCheckBox, Qt.point(-speedCellRight.x, parent.height), - catalog.i18nc("@label", "Use high printing speed. This will reduce printing time, but may affect the quality of the print.")); + onClicked: + { + UM.MachineManager.setSettingValue("speed_print", 100) } - onExited: { + onEntered: + { + parent.hovered_ex = true + base.showTooltip(normalSpeedCheckBox, Qt.point(-speedCellRight.x, parent.height), + catalog.i18nc("@label", "Use high printing speed. This will reduce printing time, but may affect the quality of the print.")); + } + onExited: + { + parent.hovered_ex = false base.hideTooltip(); } } @@ -117,7 +127,7 @@ Item anchors.top: speedCellRight.bottom anchors.topMargin: UM.Theme.sizes.default_margin.height anchors.left: parent.left - width: base.width/100* 45 - UM.Theme.sizes.default_margin.width + width: base.width/100* 35 - UM.Theme.sizes.default_margin.width height: childrenRect.height < UM.Theme.sizes.simple_mode_infill_caption.height ? UM.Theme.sizes.simple_mode_infill_caption.height : childrenRect.height Label{ @@ -148,7 +158,7 @@ Item id: infillCellRight height: childrenRect.height; - width: base.width / 100 * 55 + width: base.width / 100 * 65 spacing: UM.Theme.sizes.default_margin.width anchors.left: infillCellLeft.right @@ -183,10 +193,10 @@ Item Rectangle{ id: infillIconLining - width: (infillCellRight.width - 2 * UM.Theme.sizes.default_margin.width) / 3; + width: (infillCellRight.width - 3 * UM.Theme.sizes.default_margin.width) / 4; height: width - border.color: (infillListView.activeIndex == index) ? UM.Theme.colors.setting_control_selected : + border.color: (infillListView.activeIndex == index) ? UM.Theme.colors.setting_control_selected : (mousearea.containsMouse ? UM.Theme.colors.setting_control_border_highlight : UM.Theme.colors.setting_control_border) border.width: UM.Theme.sizes.default_lining.width color: infillListView.activeIndex == index ? UM.Theme.colors.setting_control_selected : "transparent" @@ -194,7 +204,7 @@ Item UM.RecolorImage { id: infillIcon anchors.fill: parent; - anchors.margins: UM.Theme.sizes.default_margin.width + anchors.margins: UM.Theme.sizes.infill_button_margin.width sourceSize.width: width sourceSize.height: width @@ -214,7 +224,7 @@ Item } } onEntered: { - base.showTooltip(infillCellRight, Qt.point(-infillCellRight.x, parent.height), model.text); + base.showTooltip(infillCellRight, Qt.point(-infillCellRight.x, parent.height), model.text); } onExited: { base.hideTooltip(); @@ -237,9 +247,15 @@ Item Component.onCompleted: { infillModel.append({ - name: catalog.i18nc("@label", "Sparse"), + name: catalog.i18nc("@label", "Hollow"), + percentage: 0, + text: catalog.i18nc("@label", "No (0%) infill will leave your model hollow at the cost of low strength"), + icon: "hollow" + }) + infillModel.append({ + name: catalog.i18nc("@label", "Light"), percentage: 20, - text: catalog.i18nc("@label", "Sparse (20%) infill will give your model an average strength"), + text: catalog.i18nc("@label", "Light (20%) infill will give your model an average strength"), icon: "sparse" }) infillModel.append({ @@ -263,7 +279,7 @@ Item anchors.top: infillCellRight.bottom anchors.topMargin: UM.Theme.sizes.default_margin.height anchors.left: parent.left - width: parent.width/100*45 - UM.Theme.sizes.default_margin.width + width: parent.width/100*35 - UM.Theme.sizes.default_margin.width height: childrenRect.height Label{ @@ -279,11 +295,13 @@ Item id: helpersCellRight anchors.top: helpersCellLeft.top anchors.left: helpersCellLeft.right - width: parent.width/100*55 - UM.Theme.sizes.default_margin.width + width: parent.width/100*65 - UM.Theme.sizes.default_margin.width height: childrenRect.height CheckBox{ id: brimCheckBox + property bool hovered_ex: false + anchors.top: parent.top anchors.left: parent.left @@ -292,25 +310,31 @@ Item style: UM.Theme.styles.checkbox; checked: UM.ActiveProfile.valid ? UM.ActiveProfile.settingValues.adhesion_type == "brim" : false; - onClicked: - { - UM.MachineManager.setSettingValue("adhesion_type", "brim") - } MouseArea { anchors.fill: parent - acceptedButtons: Qt.NoButton hoverEnabled: true - onEntered: { - base.showTooltip(brimCheckBox, Qt.point(-helpersCellRight.x, parent.height), + onClicked: + { + parent.checked = !parent.checked + UM.MachineManager.setSettingValue("adhesion_type", parent.checked?"brim":"skirt") + } + onEntered: + { + parent.hovered_ex = true + base.showTooltip(brimCheckBox, Qt.point(-helpersCellRight.x, parent.height), catalog.i18nc("@label", "Enable printing a brim. This will add a single-layer-thick flat area around your object which is easy to cut off afterwards.")); } - onExited: { + onExited: + { + parent.hovered_ex = false base.hideTooltip(); } } } CheckBox{ id: supportCheckBox + property bool hovered_ex: false + anchors.top: brimCheckBox.bottom anchors.topMargin: UM.Theme.sizes.default_lining.height anchors.left: parent.left @@ -320,19 +344,23 @@ Item style: UM.Theme.styles.checkbox; checked: UM.ActiveProfile.valid ? UM.ActiveProfile.settingValues.support_enable : false; - onClicked: - { - UM.MachineManager.setSettingValue("support_enable", checked) - } MouseArea { anchors.fill: parent - acceptedButtons: Qt.NoButton hoverEnabled: true - onEntered: { - base.showTooltip(supportCheckBox, Qt.point(-helpersCellRight.x, parent.height), - catalog.i18nc("@label", "Enable printing support structures. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air.")); + onClicked: + { + parent.checked = !parent.checked + UM.MachineManager.setSettingValue("support_enable", parent.checked) } - onExited: { + onEntered: + { + parent.hovered_ex = true + base.showTooltip(supportCheckBox, Qt.point(-helpersCellRight.x, parent.height), + catalog.i18nc("@label", "Enable printing support structures. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air.")); + } + onExited: + { + parent.hovered_ex = false base.hideTooltip(); } } diff --git a/resources/themes/cura/icons/dense.svg b/resources/themes/cura/icons/dense.svg index 44097c21de..9c527ecc92 100644 --- a/resources/themes/cura/icons/dense.svg +++ b/resources/themes/cura/icons/dense.svg @@ -3,17 +3,12 @@ - - - - - - - - - - - - + + + diff --git a/resources/themes/cura/icons/dot.svg b/resources/themes/cura/icons/dot.svg new file mode 100644 index 0000000000..e1f093bed0 --- /dev/null +++ b/resources/themes/cura/icons/dot.svg @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/resources/themes/cura/icons/hollow.svg b/resources/themes/cura/icons/hollow.svg new file mode 100644 index 0000000000..49d1749acc --- /dev/null +++ b/resources/themes/cura/icons/hollow.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/resources/themes/cura/icons/solid.svg b/resources/themes/cura/icons/solid.svg index 9c527ecc92..622b07e4fa 100644 --- a/resources/themes/cura/icons/solid.svg +++ b/resources/themes/cura/icons/solid.svg @@ -1,14 +1,171 @@ - + - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + \ No newline at end of file diff --git a/resources/themes/cura/icons/sparse.svg b/resources/themes/cura/icons/sparse.svg index e32a7345b1..44097c21de 100644 --- a/resources/themes/cura/icons/sparse.svg +++ b/resources/themes/cura/icons/sparse.svg @@ -9,7 +9,11 @@ - - + + + + + + diff --git a/resources/themes/cura/styles.qml b/resources/themes/cura/styles.qml index 2d60c7b6ea..3badda3133 100644 --- a/resources/themes/cura/styles.qml +++ b/resources/themes/cura/styles.qml @@ -425,11 +425,13 @@ QtObject { implicitWidth: UM.Theme.sizes.checkbox.width; implicitHeight: UM.Theme.sizes.checkbox.height; - color: control.hovered ? UM.Theme.colors.checkbox_hover : UM.Theme.colors.checkbox; + color: (control.hovered || control.hovered_ex) ? UM.Theme.colors.checkbox_hover : UM.Theme.colors.checkbox; Behavior on color { ColorAnimation { duration: 50; } } + radius: control.exclusiveGroup ? UM.Theme.sizes.checkbox.width / 2 : 0 + border.width: UM.Theme.sizes.default_lining.width; - border.color: control.hovered ? UM.Theme.colors.checkbox_border_hover : UM.Theme.colors.checkbox_border; + border.color: (control.hovered || control.hovered_ex) ? UM.Theme.colors.checkbox_border_hover : UM.Theme.colors.checkbox_border; UM.RecolorImage { anchors.verticalCenter: parent.verticalCenter @@ -439,7 +441,7 @@ QtObject { sourceSize.width: width sourceSize.height: width color: UM.Theme.colors.checkbox_mark - source: UM.Theme.icons.check + source: control.exclusiveGroup ? UM.Theme.icons.dot : UM.Theme.icons.check opacity: control.checked Behavior on opacity { NumberAnimation { duration: 100; } } } diff --git a/resources/themes/cura/theme.json b/resources/themes/cura/theme.json index 6a875094f1..9d37d28431 100644 --- a/resources/themes/cura/theme.json +++ b/resources/themes/cura/theme.json @@ -234,6 +234,8 @@ "message_close": [1.25, 1.25], "message_button": [6.0, 1.8], + "infill_button_margin": [0.5, 0.5], + "per_object_settings_button": [2.0, 2.0], "per_object_settings_panel": [24.0, 10.0], "per_object_settings_panel_border": [0.1, 0.1],