mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-14 18:27:51 -06:00

This allows us to provide custom actions dependant on the active tool, like reset rotation or scale to max.
57 lines
1.4 KiB
QML
57 lines
1.4 KiB
QML
import QtQuick 2.2
|
|
import QtQuick.Controls 1.1
|
|
import QtQuick.Controls.Styles 1.1
|
|
import QtQuick.Layouts 1.1
|
|
|
|
import UM 1.0 as UM
|
|
|
|
Item {
|
|
id: base;
|
|
|
|
width: buttons.width;
|
|
height: buttons.height + panel.height;
|
|
|
|
RowLayout {
|
|
id: buttons;
|
|
|
|
anchors.bottom: parent.bottom;
|
|
anchors.left: parent.left;
|
|
|
|
spacing: UM.Theme.sizes.default_margin.width * 2;
|
|
|
|
Repeater {
|
|
id: repeat
|
|
|
|
model: UM.Models.toolModel
|
|
|
|
PrinterButton {
|
|
text: model.name;
|
|
iconSource: UM.Theme.icons[model.icon];
|
|
tooltip: model.description;
|
|
|
|
checkable: true;
|
|
checked: model.active;
|
|
|
|
//Workaround since using ToolButton's onClicked would break the binding of the checked property, instead
|
|
//just catch the click so we do not trigger that behaviour.
|
|
MouseArea {
|
|
anchors.fill: parent;
|
|
onClicked: parent.checked ? UM.Controller.setActiveTool(null) : UM.Controller.setActiveTool(model.id);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Loader {
|
|
id: panel
|
|
|
|
anchors.left: parent.left;
|
|
anchors.right: parent.right;
|
|
anchors.bottom: buttons.top;
|
|
anchors.bottomMargin: UM.Theme.sizes.default_margin.height;
|
|
|
|
height: childrenRect.height;
|
|
|
|
source: UM.ActiveTool.valid ? UM.ActiveTool.activeToolPanel : "";
|
|
}
|
|
}
|