1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- // Copyright (c) 2015 Ultimaker B.V.
- // Cura is released under the terms of the AGPLv3 or higher.
- 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
- RowLayout {
- id: buttons;
- anchors.bottom: parent.bottom;
- anchors.left: parent.left;
- spacing: 1
- Repeater {
- id: repeat
- model: UM.Models.toolModel
- Button {
- text: model.name;
- iconSource: UM.Theme.icons[model.icon];
- checkable: true;
- checked: model.active;
- style: UM.Theme.styles.tool_button;
- //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);
- }
- }
- }
- }
- Rectangle {
- width: base.width - 10
- height: base.height
- z: parent.z - 1
- anchors.verticalCenter: parent.verticalCenter
- anchors.horizontalCenter: parent.horizontalCenter
- color: UM.Theme.colors.button_lining
- }
- Rectangle {
- id: panelBackground;
- anchors.left: parent.left;
- anchors.top: buttons.bottom;
- width: panel.item ? Math.max(panel.width + 2 * UM.Theme.sizes.default_margin.width) : 0;
- height: panel.item ? panel.height + 2 * UM.Theme.sizes.default_margin.height : 0;
- opacity: panel.item ? 1 : 0
- Behavior on opacity { NumberAnimation { duration: 100 } }
- color: UM.Theme.colors.tool_panel_background;
- Loader {
- id: panel
- x: UM.Theme.sizes.default_margin.width;
- y: UM.Theme.sizes.default_margin.height;
- source: UM.ActiveTool.valid ? UM.ActiveTool.activeToolPanel : "";
- }
- }
- }
|