123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- // Copyright (c) 2018 Ultimaker B.V.
- // Cura is released under the terms of the LGPLv3 or higher.
- import QtQuick 2.7
- import QtQuick.Controls 2.0
- import QtQuick.Controls.Styles 1.4
- import UM 1.2 as UM
- import Cura 1.0 as Cura
- Item
- {
- id: configurationSelector
- property var connectedDevice: Cura.MachineManager.printerOutputDevices.length >= 1 ? Cura.MachineManager.printerOutputDevices[0] : null
- property var panelWidth: control.width
- function switchPopupState()
- {
- popup.opened ? popup.close() : popup.open()
- }
- SyncButton
- {
- id: syncButton
- onClicked: switchPopupState()
- outputDevice: connectedDevice
- }
- Popup
- {
- // TODO Change once updating to Qt5.10 - This property is already in 5.10 but is manually implemented until upgrade
- property bool opened: false
- id: popup
- clip: true
- closePolicy: Popup.CloseOnPressOutsideParent
- y: configurationSelector.height - UM.Theme.getSize("default_lining").height
- x: configurationSelector.width - width
- width: panelWidth
- visible: opened
- padding: UM.Theme.getSize("default_lining").width
- transformOrigin: Popup.Top
- contentItem: ConfigurationListView
- {
- id: configList
- width: panelWidth - 2 * popup.padding
- outputDevice: connectedDevice
- }
- background: Rectangle
- {
- color: UM.Theme.getColor("setting_control")
- border.color: UM.Theme.getColor("setting_control_border")
- }
- exit: Transition
- {
- // This applies a default NumberAnimation to any changes a state change makes to x or y properties
- NumberAnimation { property: "visible"; duration: 75; }
- }
- enter: Transition
- {
- // This applies a default NumberAnimation to any changes a state change makes to x or y properties
- NumberAnimation { property: "visible"; duration: 75; }
- }
- onClosed: opened = false
- onOpened: opened = true
- }
- }
|