diff options
author | Casper Lamboo <c.lamboo@ultimaker.com> | 2022-06-29 14:01:09 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-29 14:01:09 +0300 |
commit | f4ee4ad05d0ff704e1bfc5650872da9ba6743490 (patch) | |
tree | 896429429d27e05f6b72d562b520bacfd42ba51e /resources | |
parent | f241638890ac1076546f01593c5ccb3253812d51 (diff) | |
parent | 7700d01cf35b2d0ed7a93580051044257f925b6d (diff) |
Merge pull request #12573 from Ultimaker/CURA-8849_more_intent_fixes
[CURA-8849] more intent fixes
Diffstat (limited to 'resources')
8 files changed, 231 insertions, 209 deletions
diff --git a/resources/qml/IconWithText.qml b/resources/qml/IconWithText.qml index 24f211ae17..df72286943 100644 --- a/resources/qml/IconWithText.qml +++ b/resources/qml/IconWithText.qml @@ -24,6 +24,8 @@ Item property alias wrapMode: label.wrapMode property real spacing: UM.Theme.getSize("narrow_margin").width + property string tooltipText: "" + // These properties can be used in combination with layouts. readonly property real contentWidth: icon.width + margin + label.contentWidth readonly property real minContentWidth: Math.round(icon.width + margin + 0.5 * label.contentWidth) @@ -66,4 +68,13 @@ Item margins: margin } } + + MouseArea + { + enabled: tooltipText != "" + anchors.fill: parent + hoverEnabled: true + onEntered: base.showTooltip(parent, Qt.point(-UM.Theme.getSize("thick_margin").width, 0), tooltipText) + onExited: base.hideTooltip() + } }
\ No newline at end of file diff --git a/resources/qml/PrintSetupSelector/Recommended/RecommendedAdhesionSelector.qml b/resources/qml/PrintSetupSelector/Recommended/RecommendedAdhesionSelector.qml index 74c496f824..8d31d6292d 100644 --- a/resources/qml/PrintSetupSelector/Recommended/RecommendedAdhesionSelector.qml +++ b/resources/qml/PrintSetupSelector/Recommended/RecommendedAdhesionSelector.qml @@ -13,7 +13,7 @@ import Cura 1.0 as Cura Item { id: enableAdhesionRow - height: childrenRect.height + height: enableAdhesionContainer.height property real labelColumnWidth: Math.round(width / 3) property var curaRecommendedMode: Cura.RecommendedMode {} @@ -47,8 +47,6 @@ Item id: enableAdhesionCheckBox anchors.verticalCenter: parent.verticalCenter - property alias _hovered: adhesionMouseArea.containsMouse - //: Setting enable printing build-plate adhesion helper checkbox enabled: recommendedPrintSetup.settingsEnabled @@ -60,22 +58,25 @@ Item id: adhesionMouseArea anchors.fill: parent hoverEnabled: true - - onClicked: - { - curaRecommendedMode.setAdhesion(!parent.checked) - } - - onEntered: - { - base.showTooltip(enableAdhesionCheckBox, Qt.point(-enableAdhesionContainer.x - UM.Theme.getSize("thick_margin").width, 0), - catalog.i18nc("@label", "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards.")); - } - onExited: base.hideTooltip() + // propagateComposedEvents used on adhesionTooltipMouseArea does not work with Controls Components. + // It only works with other MouseAreas, so this is required + onClicked: curaRecommendedMode.setAdhesion(!parent.checked) } } } + MouseArea + { + id: adhesionTooltipMouseArea + anchors.fill: parent + propagateComposedEvents: true + hoverEnabled: true + + onEntered:base.showTooltip(enableAdhesionCheckBox, Qt.point(-enableAdhesionContainer.x - UM.Theme.getSize("thick_margin").width, 0), + catalog.i18nc("@label", "Enable printing a brim or raft. This will add a flat area around or under your object which is easy to cut off afterwards.")); + onExited: base.hideTooltip() + } + UM.SettingPropertyProvider { id: platformAdhesionType diff --git a/resources/qml/PrintSetupSelector/Recommended/RecommendedInfillDensitySelector.qml b/resources/qml/PrintSetupSelector/Recommended/RecommendedInfillDensitySelector.qml index 9e2d73609c..bb3b0cdbec 100644 --- a/resources/qml/PrintSetupSelector/Recommended/RecommendedInfillDensitySelector.qml +++ b/resources/qml/PrintSetupSelector/Recommended/RecommendedInfillDensitySelector.qml @@ -65,6 +65,7 @@ Item font: UM.Theme.getFont("medium") width: labelColumnWidth iconSize: UM.Theme.getSize("medium_button_icon").width + tooltipText: catalog.i18nc("@label", "Gradual infill will gradually increase the amount of infill towards the top.") } Item @@ -102,7 +103,6 @@ Item id: backgroundLine height: UM.Theme.getSize("print_setup_slider_groove").height width: parent.width - UM.Theme.getSize("print_setup_slider_handle").width - implicitWidth: width anchors.horizontalCenter: parent.horizontalCenter anchors.verticalCenter: parent.verticalCenter color: infillSlider.enabled ? UM.Theme.getColor("quality_slider_available") : UM.Theme.getColor("quality_slider_unavailable") diff --git a/resources/qml/PrintSetupSelector/Recommended/RecommendedPrintSetup.qml b/resources/qml/PrintSetupSelector/Recommended/RecommendedPrintSetup.qml index 086e27d41b..94de16141f 100644 --- a/resources/qml/PrintSetupSelector/Recommended/RecommendedPrintSetup.qml +++ b/resources/qml/PrintSetupSelector/Recommended/RecommendedPrintSetup.qml @@ -62,7 +62,7 @@ Item { width: parent.width Layout.fillWidth: true - Layout.topMargin: UM.Theme.getSize("thin_margin").height + Layout.topMargin: UM.Theme.getSize("default_margin").height Layout.bottomMargin: UM.Theme.getSize("thin_margin").height } diff --git a/resources/qml/PrintSetupSelector/Recommended/RecommendedResolutionSelector.qml b/resources/qml/PrintSetupSelector/Recommended/RecommendedResolutionSelector.qml index bbad686514..4f1b49e931 100644 --- a/resources/qml/PrintSetupSelector/Recommended/RecommendedResolutionSelector.qml +++ b/resources/qml/PrintSetupSelector/Recommended/RecommendedResolutionSelector.qml @@ -22,6 +22,7 @@ Item id: resolutionTitle anchors.top: parent.top anchors.left: parent.left + anchors.leftMargin: - UM.Theme.getSize("thick_lining").width source: UM.Theme.getIcon("PrintQuality") text: catalog.i18nc("@label", "Resolution") width: labelColumnWidth diff --git a/resources/qml/PrintSetupSelector/Recommended/RecommendedSupportSelector.qml b/resources/qml/PrintSetupSelector/Recommended/RecommendedSupportSelector.qml index 0b683f0ddf..3e40c16d74 100644 --- a/resources/qml/PrintSetupSelector/Recommended/RecommendedSupportSelector.qml +++ b/resources/qml/PrintSetupSelector/Recommended/RecommendedSupportSelector.qml @@ -14,39 +14,41 @@ import Cura 1.0 as Cura Item { id: enableSupportRow - height: childrenRect.height + height: UM.Theme.getSize("print_setup_big_item").height property real labelColumnWidth: Math.round(width / 3) - Cura.IconWithText - { - id: enableSupportRowTitle - anchors.top: parent.top - anchors.left: parent.left - visible: enableSupportCheckBox.visible - source: UM.Theme.getIcon("Support") - text: catalog.i18nc("@label", "Support") - font: UM.Theme.getFont("medium") - width: labelColumnWidth - iconSize: UM.Theme.getSize("medium_button_icon").width - } - Item { id: enableSupportContainer - height: enableSupportCheckBox.height + width: labelColumnWidth + enableSupportCheckBox.width anchors { - left: enableSupportRowTitle.right - right: parent.right - verticalCenter: enableSupportRowTitle.verticalCenter + left: parent.left + top: parent.top + bottom: parent.bottom + rightMargin: UM.Theme.getSize("thick_margin").width + } + + Cura.IconWithText + { + id: enableSupportRowTitle + anchors.left: parent.left + visible: enableSupportCheckBox.visible + source: UM.Theme.getIcon("Support") + text: catalog.i18nc("@label", "Support") + font: UM.Theme.getFont("medium") + width: labelColumnWidth + iconSize: UM.Theme.getSize("medium_button_icon").width + tooltipText: catalog.i18nc("@label", "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing.") } UM.CheckBox { id: enableSupportCheckBox anchors.verticalCenter: parent.verticalCenter + anchors.left: enableSupportRowTitle.right property alias _hovered: enableSupportMouseArea.containsMouse @@ -60,157 +62,219 @@ Item id: enableSupportMouseArea anchors.fill: parent hoverEnabled: true - + // propagateComposedEvents used on supportToolTipMouseArea does not work with Controls Components. + // It only works with other MouseAreas, so this is required onClicked: supportEnabled.setPropertyValue("value", supportEnabled.properties.value != "True") - - onEntered: - { - base.showTooltip(enableSupportCheckBox, Qt.point(-enableSupportContainer.x - UM.Theme.getSize("thick_margin").width, 0), - catalog.i18nc("@label", "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing.")) - } - onExited: base.hideTooltip() } } - ComboBox + MouseArea { - id: supportExtruderCombobox + id: supportToolTipMouseArea + anchors.fill: parent + propagateComposedEvents: true + hoverEnabled: true + onEntered: base.showTooltip(enableSupportContainer, Qt.point(-enableSupportContainer.x - UM.Theme.getSize("thick_margin").width, 0), + catalog.i18nc("@label", "Generate structures to support parts of the model which have overhangs. Without these structures, such parts would collapse during printing.")) + onExited: base.hideTooltip() + } + } - height: UM.Theme.getSize("print_setup_big_item").height - anchors - { - left: enableSupportCheckBox.right - right: parent.right - leftMargin: UM.Theme.getSize("thick_margin").width - rightMargin: UM.Theme.getSize("thick_margin").width - verticalCenter: parent.verticalCenter - } + ComboBox + { + id: supportExtruderCombobox - enabled: recommendedPrintSetup.settingsEnabled - visible: enableSupportCheckBox.visible && (supportEnabled.properties.value == "True") && (extrudersEnabledCount.properties.value > 1) - textRole: "name" // this solves that the combobox isn't populated in the first time Cura is started + height: UM.Theme.getSize("print_setup_big_item").height + anchors + { + left: enableSupportContainer.right + right: parent.right + leftMargin: UM.Theme.getSize("default_margin").width + rightMargin: UM.Theme.getSize("thick_margin").width + verticalCenter: parent.verticalCenter + } + + enabled: recommendedPrintSetup.settingsEnabled + visible: enableSupportCheckBox.visible && (supportEnabled.properties.value == "True") && (extrudersEnabledCount.properties.value > 1) + textRole: "name" // this solves that the combobox isn't populated in the first time Cura is started - model: extruderModel + model: extruderModel - // knowing the extruder position, try to find the item index in the model - function getIndexByPosition(position) + // knowing the extruder position, try to find the item index in the model + function getIndexByPosition(position) + { + var itemIndex = -1 // if position is not found, return -1 + for (var item_index in model.items) { - var itemIndex = -1 // if position is not found, return -1 - for (var item_index in model.items) + var item = model.getItem(item_index) + if (item.index == position) { - var item = model.getItem(item_index) - if (item.index == position) - { - itemIndex = item_index - break - } + itemIndex = item_index + break } - return itemIndex } + return itemIndex + } + + onActivated: + { + if (model.getItem(index).enabled) + { + forceActiveFocus(); + supportExtruderNr.setPropertyValue("value", model.getItem(index).index); + } else + { + currentIndex = supportExtruderNr.properties.value; // keep the old value + } + } + + currentIndex: (supportExtruderNr.properties.value !== undefined) ? supportExtruderNr.properties.value : 0 - onActivated: + property string color: "#fff" + Connections + { + target: extruderModel + function onModelChanged() { - if (model.getItem(index).enabled) - { - forceActiveFocus(); - supportExtruderNr.setPropertyValue("value", model.getItem(index).index); - } else + var maybeColor = supportExtruderCombobox.model.getItem(supportExtruderCombobox.currentIndex).color + if (maybeColor) { - currentIndex = supportExtruderNr.properties.value; // keep the old value + supportExtruderCombobox.color = maybeColor } } + } + onCurrentIndexChanged: + { + var maybeColor = supportExtruderCombobox.model.getItem(supportExtruderCombobox.currentIndex).color + if(maybeColor) + { + supportExtruderCombobox.color = maybeColor + } + } + + Binding + { + target: supportExtruderCombobox + property: "currentIndex" + value: supportExtruderCombobox.getIndexByPosition(supportExtruderNr.properties.value) + // Sometimes when the value is already changed, the model is still being built. + // The when clause ensures that the current index is not updated when this happens. + when: supportExtruderCombobox.model.count > 0 + } + + indicator: UM.ColorImage + { + id: downArrow + x: supportExtruderCombobox.width - width - supportExtruderCombobox.rightPadding + y: supportExtruderCombobox.topPadding + Math.round((supportExtruderCombobox.availableHeight - height) / 2) + + source: UM.Theme.getIcon("ChevronSingleDown") + width: UM.Theme.getSize("standard_arrow").width + height: UM.Theme.getSize("standard_arrow").height - currentIndex: (supportExtruderNr.properties.value !== undefined) ? supportExtruderNr.properties.value : 0 + color: UM.Theme.getColor("setting_control_button") + } - property string color: "#fff" - Connections + background: Rectangle + { + color: { - target: extruderModel - function onModelChanged() + if (!enabled) + { + return UM.Theme.getColor("setting_control_disabled") + } + if (supportExtruderCombobox.hovered || base.activeFocus) { - var maybeColor = supportExtruderCombobox.model.getItem(supportExtruderCombobox.currentIndex).color - if (maybeColor) - { - supportExtruderCombobox.color = maybeColor - } + return UM.Theme.getColor("setting_control_highlight") } + return UM.Theme.getColor("setting_control") } - onCurrentIndexChanged: + radius: UM.Theme.getSize("setting_control_radius").width + border.width: UM.Theme.getSize("default_lining").width + border.color: { - var maybeColor = supportExtruderCombobox.model.getItem(supportExtruderCombobox.currentIndex).color - if(maybeColor) + if (!enabled) { - supportExtruderCombobox.color = maybeColor + return UM.Theme.getColor("setting_control_disabled_border") + } + if (supportExtruderCombobox.hovered || supportExtruderCombobox.activeFocus) + { + return UM.Theme.getColor("setting_control_border_highlight") } + return UM.Theme.getColor("setting_control_border") } + } - Binding + contentItem: UM.Label + { + anchors.verticalCenter: parent.verticalCenter + anchors.left: parent.left + anchors.leftMargin: UM.Theme.getSize("setting_unit_margin").width + anchors.right: downArrow.left + rightPadding: swatch.width + UM.Theme.getSize("setting_unit_margin").width + + text: supportExtruderCombobox.currentText + textFormat: Text.PlainText + color: enabled ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text") + + elide: Text.ElideLeft + + + background: Rectangle { - target: supportExtruderCombobox - property: "currentIndex" - value: supportExtruderCombobox.getIndexByPosition(supportExtruderNr.properties.value) - // Sometimes when the value is already changed, the model is still being built. - // The when clause ensures that the current index is not updated when this happens. - when: supportExtruderCombobox.model.count > 0 + id: swatch + height: Math.round(parent.height / 2) + width: height + radius: Math.round(width / 2) + anchors.right: parent.right + anchors.verticalCenter: parent.verticalCenter + anchors.rightMargin: UM.Theme.getSize("thin_margin").width + + color: supportExtruderCombobox.color } + } - indicator: UM.ColorImage - { - id: downArrow - x: supportExtruderCombobox.width - width - supportExtruderCombobox.rightPadding - y: supportExtruderCombobox.topPadding + Math.round((supportExtruderCombobox.availableHeight - height) / 2) + popup: Popup + { + y: supportExtruderCombobox.height - UM.Theme.getSize("default_lining").height + width: supportExtruderCombobox.width + implicitHeight: contentItem.implicitHeight + 2 * UM.Theme.getSize("default_lining").width + padding: UM.Theme.getSize("default_lining").width - source: UM.Theme.getIcon("ChevronSingleDown") - width: UM.Theme.getSize("standard_arrow").width - height: UM.Theme.getSize("standard_arrow").height + contentItem: ListView + { + implicitHeight: contentHeight - color: UM.Theme.getColor("setting_control_button") + ScrollBar.vertical: UM.ScrollBar {} + clip: true + model: supportExtruderCombobox.popup.visible ? supportExtruderCombobox.delegateModel : null + currentIndex: supportExtruderCombobox.highlightedIndex } background: Rectangle { - color: - { - if (!enabled) - { - return UM.Theme.getColor("setting_control_disabled") - } - if (supportExtruderCombobox.hovered || base.activeFocus) - { - return UM.Theme.getColor("setting_control_highlight") - } - return UM.Theme.getColor("setting_control") - } - radius: UM.Theme.getSize("setting_control_radius").width - border.width: UM.Theme.getSize("default_lining").width - border.color: - { - if (!enabled) - { - return UM.Theme.getColor("setting_control_disabled_border") - } - if (supportExtruderCombobox.hovered || supportExtruderCombobox.activeFocus) - { - return UM.Theme.getColor("setting_control_border_highlight") - } - return UM.Theme.getColor("setting_control_border") - } + color: UM.Theme.getColor("setting_control") + border.color: UM.Theme.getColor("setting_control_border") } + } + + delegate: ItemDelegate + { + width: supportExtruderCombobox.width - 2 * UM.Theme.getSize("default_lining").width + height: supportExtruderCombobox.height + highlighted: supportExtruderCombobox.highlightedIndex == index contentItem: UM.Label { - anchors.verticalCenter: parent.verticalCenter - anchors.left: parent.left + anchors.fill: parent anchors.leftMargin: UM.Theme.getSize("setting_unit_margin").width - anchors.right: downArrow.left - rightPadding: swatch.width + UM.Theme.getSize("setting_unit_margin").width + anchors.rightMargin: UM.Theme.getSize("setting_unit_margin").width - text: supportExtruderCombobox.currentText - textFormat: Text.PlainText - color: enabled ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text") - - elide: Text.ElideLeft + text: model.name + color: model.enabled ? UM.Theme.getColor("setting_control_text"): UM.Theme.getColor("action_button_disabled_text") + elide: Text.ElideRight + rightPadding: swatch.width + UM.Theme.getSize("setting_unit_margin").width background: Rectangle { @@ -222,71 +286,14 @@ Item anchors.verticalCenter: parent.verticalCenter anchors.rightMargin: UM.Theme.getSize("thin_margin").width - color: supportExtruderCombobox.color - } - } - - popup: Popup - { - y: supportExtruderCombobox.height - UM.Theme.getSize("default_lining").height - width: supportExtruderCombobox.width - implicitHeight: contentItem.implicitHeight + 2 * UM.Theme.getSize("default_lining").width - padding: UM.Theme.getSize("default_lining").width - - contentItem: ListView - { - implicitHeight: contentHeight - - ScrollBar.vertical: UM.ScrollBar {} - clip: true - model: supportExtruderCombobox.popup.visible ? supportExtruderCombobox.delegateModel : null - currentIndex: supportExtruderCombobox.highlightedIndex - } - - background: Rectangle - { - color: UM.Theme.getColor("setting_control") - border.color: UM.Theme.getColor("setting_control_border") + color: supportExtruderCombobox.model.getItem(index).color } } - delegate: ItemDelegate + background: Rectangle { - width: supportExtruderCombobox.width - 2 * UM.Theme.getSize("default_lining").width - height: supportExtruderCombobox.height - highlighted: supportExtruderCombobox.highlightedIndex == index - - contentItem: UM.Label - { - anchors.fill: parent - anchors.leftMargin: UM.Theme.getSize("setting_unit_margin").width - anchors.rightMargin: UM.Theme.getSize("setting_unit_margin").width - - text: model.name - color: model.enabled ? UM.Theme.getColor("setting_control_text"): UM.Theme.getColor("action_button_disabled_text") - - elide: Text.ElideRight - rightPadding: swatch.width + UM.Theme.getSize("setting_unit_margin").width - - background: Rectangle - { - id: swatch - height: Math.round(parent.height / 2) - width: height - radius: Math.round(width / 2) - anchors.right: parent.right - anchors.verticalCenter: parent.verticalCenter - anchors.rightMargin: UM.Theme.getSize("thin_margin").width - - color: supportExtruderCombobox.model.getItem(index).color - } - } - - background: Rectangle - { - color: parent.highlighted ? UM.Theme.getColor("setting_control_highlight") : "transparent" - border.color: parent.highlighted ? UM.Theme.getColor("setting_control_border_highlight") : "transparent" - } + color: parent.highlighted ? UM.Theme.getColor("setting_control_highlight") : "transparent" + border.color: parent.highlighted ? UM.Theme.getColor("setting_control_border_highlight") : "transparent" } } } diff --git a/resources/qml/Settings/SettingItem.qml b/resources/qml/Settings/SettingItem.qml index 228de4a9d6..53f194dfd2 100644 --- a/resources/qml/Settings/SettingItem.qml +++ b/resources/qml/Settings/SettingItem.qml @@ -209,7 +209,7 @@ Item height: UM.Theme.getSize("small_button_icon").height width: height - color: UM.Theme.getColor("setting_control_button") + color: UM.Theme.getColor("accent_1") hoverColor: UM.Theme.getColor("setting_control_button_hover") iconSource: UM.Theme.getIcon("ArrowReset") diff --git a/resources/qml/Widgets/ComboBox.qml b/resources/qml/Widgets/ComboBox.qml index 77e6c489e9..eac85bfb44 100644 --- a/resources/qml/Widgets/ComboBox.qml +++ b/resources/qml/Widgets/ComboBox.qml @@ -56,28 +56,30 @@ ComboBox background: UM.UnderlineBackground { - //Rectangle for highlighting when this combobox needs to pulse. + // Rectangle for highlighting when this combobox needs to pulse. Rectangle { anchors.fill: parent opacity: 0 - color: UM.Theme.getColor("warning") + color: "transparent" + + border.color: UM.Theme.getColor("text_field_border_active") + border.width: UM.Theme.getSize("default_lining").width SequentialAnimation on opacity { id: pulseAnimation running: false - loops: 1 - alwaysRunToEnd: true + loops: 2 PropertyAnimation { to: 1 - duration: 300 + duration: 150 } PropertyAnimation { to: 0 - duration : 2000 + duration : 150 } } } |