From b51c787f622db64b964767754e932fb20d0ac183 Mon Sep 17 00:00:00 2001 From: casper Date: Wed, 26 Jan 2022 08:56:33 +0100 Subject: [PATCH] Re-use `Cura.ToolbarButton` in per object settings menu CURA-8684 --- .../PerObjectSettingsPanel.qml | 32 ++++++-- .../PerObjectSettingsTool/ToolBarButton.qml | 79 ------------------- 2 files changed, 24 insertions(+), 87 deletions(-) delete mode 100644 plugins/PerObjectSettingsTool/ToolBarButton.qml diff --git a/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml b/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml index 403dfa499d..6076d7392b 100644 --- a/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml +++ b/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml @@ -77,44 +77,60 @@ Item id: meshTypeButtons spacing: UM.Theme.getSize("default_margin").width - ToolBarButton + Cura.ToolbarButton { id: normalButton text: catalog.i18nc("@label", "Normal model") - iconSource: UM.Theme.getIcon("Infill0"); + toolItem: UM.RecolorImage + { + source: UM.Theme.getIcon("Infill0") + color: UM.Theme.getColor("icon") + } property bool needBorder: true checkable: true onClicked: setMeshType(normalMeshType); z: 4 } - ToolBarButton + Cura.ToolbarButton { id: supportMeshButton text: catalog.i18nc("@label", "Print as support") - iconSource: UM.Theme.getIcon("MeshTypeSupport"); + toolItem: UM.RecolorImage + { + source: UM.Theme.getIcon("MeshTypeSupport") + color: UM.Theme.getColor("icon") + } property bool needBorder: true checkable:true onClicked: setMeshType(supportMeshType) z: 3 } - ToolBarButton + Cura.ToolbarButton { id: overlapMeshButton text: catalog.i18nc("@label", "Modify settings for overlaps") - iconSource: UM.Theme.getIcon("MeshTypeIntersect"); + toolItem: UM.RecolorImage + { + source: UM.Theme.getIcon("MeshTypeIntersect") + color: UM.Theme.getColor("icon") + } property bool needBorder: true checkable:true onClicked: setMeshType(infillMeshType) z: 2 } - ToolBarButton + Cura.ToolbarButton { id: antiOverhangMeshButton text: catalog.i18nc("@label", "Don't support overlaps") - iconSource: UM.Theme.getIcon("BlockSupportOverlaps"); + toolItem: UM.RecolorImage + { + source: UM.Theme.getIcon("BlockSupportOverlaps") + color: UM.Theme.getColor("icon") + } property bool needBorder: true checkable: true onClicked: setMeshType(antiOverhangMeshType) diff --git a/plugins/PerObjectSettingsTool/ToolBarButton.qml b/plugins/PerObjectSettingsTool/ToolBarButton.qml deleted file mode 100644 index 0aa35c3a52..0000000000 --- a/plugins/PerObjectSettingsTool/ToolBarButton.qml +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright (c) 2022 Ultimaker B.V. -// Cura is released under the terms of the LGPLv3 or higher. - -import QtQuick 2.1 -import QtQuick.Controls 2.1 - -import Cura 1.0 as Cura -import UM 1.5 as UM - -Button -{ - id: base - - property alias tooltip: tooltip.text - property alias iconSource: icon.source; - - Cura.ToolTip - { - id: tooltip - visible: base.hovered - targetPoint: Qt.point(parent.x, Math.round(parent.y + parent.height / 2)) - } - - - background: Item - { - implicitWidth: UM.Theme.getSize("button").width - implicitHeight: UM.Theme.getSize("button").height - - Rectangle - { - id: buttonFace - - anchors.fill: parent - property bool down: base.pressed || (base.checkable && base.checked) - - color: - { - if(base.customColor !== undefined && base.customColor !== null) - { - return base.customColor - } - else if(base.checkable && base.checked && base.hovered) - { - return UM.Theme.getColor("toolbar_button_active_hover") - } - else if(base.pressed || (base.checkable && base.checked)) - { - return UM.Theme.getColor("toolbar_button_active") - } - else if(base.hovered) - { - return UM.Theme.getColor("toolbar_button_hover") - } - return UM.Theme.getColor("toolbar_background") - } - Behavior on color { ColorAnimation { duration: 50 } } - - border.width: (base.hasOwnProperty("needBorder") && base.needBorder) ? UM.Theme.getSize("default_lining").width : 0 - border.color: base.checked ? UM.Theme.getColor("icon") : UM.Theme.getColor("lining") - } - } - - contentItem: Item - { - UM.RecolorImage - { - id: icon - - anchors.centerIn: parent - opacity: base.enabled ? 1.0 : 0.2 - width: UM.Theme.getSize("medium_button_icon").width - height: UM.Theme.getSize("medium_button_icon").height - color: UM.Theme.getColor("icon") - - sourceSize: UM.Theme.getSize("medium_button_icon") - } - } -} \ No newline at end of file