123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- // Copyright (c) 2018 Ultimaker B.V.
- // Cura is released under the terms of the LGPLv3 or higher.
- import QtQuick 2.7
- import QtQuick.Controls 1.4
- import QtQuick.Controls.Styles 1.4
- import UM 1.2 as UM
- import Cura 1.0 as Cura
- Button
- {
- id: base
- property var outputDevice: null
- property var matched: updateOnSync()
- text: matched == true ? catalog.i18nc("@label:extruder label", "Yes") : catalog.i18nc("@label:extruder label", "No")
- width: parent.width
- height: parent.height
- function updateOnSync()
- {
- if (outputDevice != undefined)
- {
- for (var index in outputDevice.uniqueConfigurations)
- {
- var configuration = outputDevice.uniqueConfigurations[index]
- if (Cura.MachineManager.matchesConfiguration(configuration))
- {
- base.matched = true;
- return;
- }
- }
- }
- base.matched = false;
- }
- 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: height
- color: UM.Theme.getColor("text_emphasis")
- source: UM.Theme.getIcon("arrow_bottom")
- }
- UM.RecolorImage
- {
- id: sidebarComboBoxLabel
- anchors.left: parent.left
- anchors.leftMargin: UM.Theme.getSize("default_margin").width
- anchors.verticalCenter: parent.verticalCenter;
- width: UM.Theme.getSize("printer_sync_icon").width
- height: UM.Theme.getSize("printer_sync_icon").height
- color: control.matched ? UM.Theme.getColor("printer_config_matched") : UM.Theme.getColor("printer_config_mismatch")
- source: UM.Theme.getIcon("tab_status_connected")
- sourceSize.width: width
- sourceSize.height: height
- }
- }
- label: Label {}
- }
- Connections
- {
- target: outputDevice
- onUniqueConfigurationsChanged: updateOnSync()
- }
- Connections
- {
- target: Cura.MachineManager
- onCurrentConfigurationChanged: updateOnSync()
- onOutputDevicesChanged: updateOnSync()
- }
- }
|