mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-10-13 11:41:29 +08:00

The most important thing to make it work is actually notifying the scene that something has changed -- the rest are just refactorings and (hopefully) optimizations. part of CURA-12543
181 lines
4.7 KiB
QML
181 lines
4.7 KiB
QML
// Copyright (c) 2025 UltiMaker
|
|
// Cura is released under the terms of the LGPLv3 or higher.
|
|
|
|
import QtQuick
|
|
import QtQuick.Layouts
|
|
|
|
import UM 1.7 as UM
|
|
|
|
Item
|
|
{
|
|
id: base
|
|
width: childrenRect.width
|
|
height: childrenRect.height
|
|
UM.I18nCatalog { id: catalog; name: "cura"}
|
|
|
|
ColumnLayout
|
|
{
|
|
RowLayout
|
|
{
|
|
UM.ToolbarButton
|
|
{
|
|
id: paintTypeA
|
|
|
|
text: catalog.i18nc("@action:button", "Paint Type A")
|
|
toolItem: UM.ColorImage
|
|
{
|
|
source: UM.Theme.getIcon("Buildplate")
|
|
color: UM.Theme.getColor("icon")
|
|
}
|
|
property bool needBorder: true
|
|
|
|
z: 2
|
|
|
|
onClicked: UM.Controller.triggerActionWithData("setPaintType", "A")
|
|
}
|
|
|
|
UM.ToolbarButton
|
|
{
|
|
id: paintTypeB
|
|
|
|
text: catalog.i18nc("@action:button", "Paint Type B")
|
|
toolItem: UM.ColorImage
|
|
{
|
|
source: UM.Theme.getIcon("BlackMagic")
|
|
color: UM.Theme.getColor("icon")
|
|
}
|
|
property bool needBorder: true
|
|
|
|
z: 2
|
|
|
|
onClicked: UM.Controller.triggerActionWithData("setPaintType", "B")
|
|
}
|
|
}
|
|
|
|
RowLayout
|
|
{
|
|
UM.ToolbarButton
|
|
{
|
|
id: colorButtonA
|
|
|
|
text: catalog.i18nc("@action:button", "Color A")
|
|
toolItem: UM.ColorImage
|
|
{
|
|
source: UM.Theme.getIcon("Eye")
|
|
color: "purple"
|
|
}
|
|
property bool needBorder: true
|
|
|
|
z: 2
|
|
|
|
onClicked: UM.Controller.triggerActionWithData("setBrushColor", "A")
|
|
}
|
|
|
|
UM.ToolbarButton
|
|
{
|
|
id: colorButtonB
|
|
|
|
text: catalog.i18nc("@action:button", "Color B")
|
|
toolItem: UM.ColorImage
|
|
{
|
|
source: UM.Theme.getIcon("Eye")
|
|
color: "orange"
|
|
}
|
|
property bool needBorder: true
|
|
|
|
z: 2
|
|
|
|
onClicked: UM.Controller.triggerActionWithData("setBrushColor", "B")
|
|
}
|
|
|
|
UM.ToolbarButton
|
|
{
|
|
id: colorButtonC
|
|
|
|
text: catalog.i18nc("@action:button", "Color C")
|
|
toolItem: UM.ColorImage
|
|
{
|
|
source: UM.Theme.getIcon("Eye")
|
|
color: "green"
|
|
}
|
|
property bool needBorder: true
|
|
|
|
z: 2
|
|
|
|
onClicked: UM.Controller.triggerActionWithData("setBrushColor", "C")
|
|
}
|
|
|
|
UM.ToolbarButton
|
|
{
|
|
id: colorButtonD
|
|
|
|
text: catalog.i18nc("@action:button", "Color D")
|
|
toolItem: UM.ColorImage
|
|
{
|
|
source: UM.Theme.getIcon("Eye")
|
|
color: "ghostwhite"
|
|
}
|
|
property bool needBorder: true
|
|
|
|
z: 2
|
|
|
|
onClicked: UM.Controller.triggerActionWithData("setBrushColor", "D")
|
|
}
|
|
}
|
|
|
|
RowLayout
|
|
{
|
|
UM.ToolbarButton
|
|
{
|
|
id: shapeSquareButton
|
|
|
|
text: catalog.i18nc("@action:button", "Square Brush")
|
|
toolItem: UM.ColorImage
|
|
{
|
|
source: UM.Theme.getIcon("MeshTypeNormal")
|
|
color: UM.Theme.getColor("icon")
|
|
}
|
|
property bool needBorder: true
|
|
|
|
z: 2
|
|
|
|
onClicked: UM.Controller.triggerActionWithData("setBrushShape", "A")
|
|
}
|
|
|
|
UM.ToolbarButton
|
|
{
|
|
id: shapeCircleButton
|
|
|
|
text: catalog.i18nc("@action:button", "Round Brush")
|
|
toolItem: UM.ColorImage
|
|
{
|
|
source: UM.Theme.getIcon("CircleOutline")
|
|
color: UM.Theme.getColor("icon")
|
|
}
|
|
property bool needBorder: true
|
|
|
|
z: 2
|
|
|
|
onClicked: UM.Controller.triggerActionWithData("setBrushShape", "B")
|
|
}
|
|
|
|
UM.Slider
|
|
{
|
|
id: shapeSizeSlider
|
|
|
|
from: 1
|
|
to: 40
|
|
value: 10
|
|
|
|
onPressedChanged: function(pressed)
|
|
{
|
|
if(! pressed)
|
|
{
|
|
UM.Controller.triggerActionWithData("setBrushSize", shapeSizeSlider.value)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|