123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- // Copyright (c) 2017 Ultimaker B.V.
- // Cura is released under the terms of the LGPLv3 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.2 as UM
- import Cura 1.0 as Cura
- import "Menus"
- ToolButton {
- id: base
- property var isNetworkPrinter: Cura.MachineManager.activeMachineNetworkKey != ""
- property var printerStatus: Cura.MachineManager.printerOutputDevices.length != 0 ? "connected" : "disconnected"
- text: isNetworkPrinter ? Cura.MachineManager.activeMachineNetworkGroupName : Cura.MachineManager.activeMachineName
- tooltip: Cura.MachineManager.activeMachineName
- style: ButtonStyle {
- background: Rectangle {
- color: {
- if (control.pressed) {
- return UM.Theme.getColor("sidebar_header_active");
- }
- else if (control.hovered) {
- return UM.Theme.getColor("sidebar_header_hover");
- }
- else {
- return UM.Theme.getColor("sidebar_header_bar");
- }
- }
- Behavior on color { ColorAnimation { duration: 50; } }
- UM.RecolorImage {
- id: downArrow
- anchors.verticalCenter: parent.verticalCenter
- anchors.right: parent.right
- anchors.rightMargin: UM.Theme.getSize("default_margin").width
- width: UM.Theme.getSize("standard_arrow").width
- height: UM.Theme.getSize("standard_arrow").height
- sourceSize.width: width
- sourceSize.height: width
- color: UM.Theme.getColor("text_emphasis")
- source: UM.Theme.getIcon("arrow_bottom")
- }
- PrinterStatusIcon {
- id: printerStatusIcon
- visible: isNetworkPrinter
- status: printerStatus
- anchors {
- verticalCenter: parent.verticalCenter
- left: parent.left
- leftMargin: UM.Theme.getSize("sidebar_margin").width
- }
- }
- Label {
- id: sidebarComboBoxLabel
- color: UM.Theme.getColor("sidebar_header_text_active")
- text: control.text;
- elide: Text.ElideRight;
- anchors.left: isNetworkPrinter ? printerStatusIcon.right : parent.left;
- anchors.leftMargin: isNetworkPrinter ? UM.Theme.getSize("sidebar_lining").width : UM.Theme.getSize("sidebar_margin").width
- anchors.right: downArrow.left;
- anchors.rightMargin: control.rightMargin;
- anchors.verticalCenter: parent.verticalCenter;
- font: UM.Theme.getFont("medium_bold")
- }
- }
- label: Label {}
- }
- menu: PrinterMenu { }
- // Make the toolbutton react when the outputdevice changes
- Connections
- {
- target: Cura.MachineManager
- onOutputDevicesChanged:
- {
- base.isNetworkPrinter = Cura.MachineManager.activeMachineNetworkKey != ""
- }
- }
- }
|