123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380 |
- // 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.Window 2.1
- import UM 1.1 as UM
- Item
- {
- id: wizardPage
- property string title
- property int leftRow: wizardPage.width*0.40
- property int rightRow: wizardPage.width*0.60
- anchors.fill: parent;
- property bool x_min_pressed: false
- property bool y_min_pressed: false
- property bool z_min_pressed: false
- property bool heater_works: false
- property int extruder_target_temp: 0
- property int bed_target_temp: 0
- UM.I18nCatalog { id: catalog; name:"cura"}
- property var checkupProgress: {
- "connection": false,
- "endstopX": wizardPage.x_min_pressed,
- "endstopY": wizardPage.y_min_pressed,
- "endstopZ": wizardPage.z_min_pressed,
- "nozzleTemp": false,
- "bedTemp": false
- }
- property variant printer_connection: {
- if (Cura.USBPrinterManager.connectedPrinterList.rowCount() != 0){
- wizardPage.checkupProgress.connection = true
- return Cura.USBPrinterManager.connectedPrinterList.getItem(0).printer
- }
- else {
- return null
- }
- }
- function checkTotalCheckUp(){
- var allDone = true
- for(var property in checkupProgress){
- if (checkupProgress[property] == false){
- allDone = false
- }
- }
- if (allDone == true){
- skipCheckButton.enabled = false
- resultText.visible = true
- }
- }
- Component.onCompleted:
- {
- if (printer_connection != null){
- printer_connection.startPollEndstop()
- }
- }
- Component.onDestruction:
- {
- if (printer_connection != null){
- printer_connection.stopPollEndstop()
- }
- }
- Label
- {
- id: pageTitle
- width: parent.width
- text: catalog.i18nc("@title", "Check Printer")
- wrapMode: Text.WordWrap
- font.pointSize: 18;
- }
- Label
- {
- id: pageDescription
- anchors.top: pageTitle.bottom
- anchors.topMargin: UM.Theme.getSize("default_margin").height
- width: parent.width
- wrapMode: Text.WordWrap
- text: catalog.i18nc("@label","It's a good idea to do a few sanity checks on your Ultimaker. You can skip this step if you know your machine is functional");
- }
- Item{
- id: startStopButtons
- anchors.top: pageDescription.bottom
- anchors.topMargin: UM.Theme.getSize("default_margin").height
- anchors.horizontalCenter: parent.horizontalCenter
- height: childrenRect.height
- width: startCheckButton.width + skipCheckButton.width + UM.Theme.getSize("default_margin").height < wizardPage.width ? startCheckButton.width + skipCheckButton.width + UM.Theme.getSize("default_margin").height : wizardPage.width
- Button
- {
- id: startCheckButton
- anchors.top: parent.top
- anchors.left: parent.left
- //enabled: !alreadyTested
- text: catalog.i18nc("@action:button","Start Printer Check");
- onClicked: {
- checkupContent.visible = true
- startCheckButton.enabled = false
- printer_connection.homeHead()
- }
- }
- Button
- {
- id: skipCheckButton
- anchors.top: parent.width < wizardPage.width ? parent.top : startCheckButton.bottom
- anchors.topMargin: parent.width < wizardPage.width ? 0 : UM.Theme.getSize("default_margin").height/2
- anchors.left: parent.width < wizardPage.width ? startCheckButton.right : parent.left
- anchors.leftMargin: parent.width < wizardPage.width ? UM.Theme.getSize("default_margin").width : 0
- //enabled: !alreadyTested
- text: catalog.i18nc("@action:button","Skip Printer Check");
- onClicked: {
- base.currentPage += 1
- }
- }
- }
- Item{
- id: checkupContent
- anchors.top: startStopButtons.bottom
- anchors.topMargin: UM.Theme.getSize("default_margin").height
- visible: false
- //////////////////////////////////////////////////////////
- Label
- {
- id: connectionLabel
- width: wizardPage.leftRow
- anchors.left: parent.left
- anchors.top: parent.top
- wrapMode: Text.WordWrap
- text: catalog.i18nc("@label","Connection: ")
- }
- Label
- {
- id: connectionStatus
- width: wizardPage.rightRow
- anchors.left: connectionLabel.right
- anchors.top: parent.top
- wrapMode: Text.WordWrap
- text: Cura.USBPrinterManager.connectedPrinterList.rowCount() > 0 || base.addOriginalProgress.checkUp[0] ? catalog.i18nc("@info:status","Done"):catalog.i18nc("@info:status","Incomplete")
- }
- //////////////////////////////////////////////////////////
- Label
- {
- id: endstopXLabel
- width: wizardPage.leftRow
- anchors.left: parent.left
- anchors.top: connectionLabel.bottom
- wrapMode: Text.WordWrap
- text: catalog.i18nc("@label","Min endstop X: ")
- }
- Label
- {
- id: endstopXStatus
- width: wizardPage.rightRow
- anchors.left: endstopXLabel.right
- anchors.top: connectionLabel.bottom
- wrapMode: Text.WordWrap
- text: x_min_pressed ? catalog.i18nc("@info:status","Works") : catalog.i18nc("@info:status","Not checked")
- }
- //////////////////////////////////////////////////////////////
- Label
- {
- id: endstopYLabel
- width: wizardPage.leftRow
- anchors.left: parent.left
- anchors.top: endstopXLabel.bottom
- wrapMode: Text.WordWrap
- text: catalog.i18nc("@label","Min endstop Y: ")
- }
- Label
- {
- id: endstopYStatus
- width: wizardPage.rightRow
- anchors.left: endstopYLabel.right
- anchors.top: endstopXLabel.bottom
- wrapMode: Text.WordWrap
- text: y_min_pressed ? catalog.i18nc("@info:status","Works") : catalog.i18nc("@info:status","Not checked")
- }
- /////////////////////////////////////////////////////////////////////
- Label
- {
- id: endstopZLabel
- width: wizardPage.leftRow
- anchors.left: parent.left
- anchors.top: endstopYLabel.bottom
- wrapMode: Text.WordWrap
- text: catalog.i18nc("@label","Min endstop Z: ")
- }
- Label
- {
- id: endstopZStatus
- width: wizardPage.rightRow
- anchors.left: endstopZLabel.right
- anchors.top: endstopYLabel.bottom
- wrapMode: Text.WordWrap
- text: z_min_pressed ? catalog.i18nc("@info:status","Works") : catalog.i18nc("@info:status","Not checked")
- }
- ////////////////////////////////////////////////////////////
- Label
- {
- id: nozzleTempLabel
- width: wizardPage.leftRow
- anchors.left: parent.left
- anchors.top: endstopZLabel.bottom
- wrapMode: Text.WordWrap
- text: catalog.i18nc("@label","Nozzle temperature check: ")
- }
- Label
- {
- id: nozzleTempStatus
- width: wizardPage.rightRow * 0.4
- anchors.top: nozzleTempLabel.top
- anchors.left: nozzleTempLabel.right
- wrapMode: Text.WordWrap
- text: catalog.i18nc("@info:status","Not checked")
- }
- Item
- {
- id: nozzleTempButton
- width: wizardPage.rightRow * 0.3
- height: nozzleTemp.height
- anchors.top: nozzleTempLabel.top
- anchors.left: bedTempStatus.right
- anchors.leftMargin: UM.Theme.getSize("default_margin").width/2
- Button
- {
- height: nozzleTemp.height - 2
- anchors.verticalCenter: parent.verticalCenter
- anchors.horizontalCenter: parent.horizontalCenter
- text: catalog.i18nc("@action:button","Start Heating")
- onClicked:
- {
- if(printer_connection != null)
- {
- nozzleTempStatus.text = catalog.i18nc("@info:progress","Checking")
- printer_connection.setTargetHotendTemperature(0, 190)
- wizardPage.extruder_target_temp = 190
- }
- }
- }
- }
- Label
- {
- id: nozzleTemp
- anchors.top: nozzleTempLabel.top
- anchors.left: nozzleTempButton.right
- anchors.leftMargin: UM.Theme.getSize("default_margin").width
- width: wizardPage.rightRow * 0.2
- wrapMode: Text.WordWrap
- text: printer_connection != null ? printer_connection.hotendTemperatures[0] + "°C" : "0°C"
- font.bold: true
- }
- /////////////////////////////////////////////////////////////////////////////
- Label
- {
- id: bedTempLabel
- width: wizardPage.leftRow
- anchors.left: parent.left
- anchors.top: nozzleTempLabel.bottom
- wrapMode: Text.WordWrap
- text: catalog.i18nc("@label","bed temperature check:")
- }
- Label
- {
- id: bedTempStatus
- width: wizardPage.rightRow * 0.4
- anchors.top: bedTempLabel.top
- anchors.left: bedTempLabel.right
- wrapMode: Text.WordWrap
- text: catalog.i18nc("@info:status","Not checked")
- }
- Item
- {
- id: bedTempButton
- width: wizardPage.rightRow * 0.3
- height: bedTemp.height
- anchors.top: bedTempLabel.top
- anchors.left: bedTempStatus.right
- anchors.leftMargin: UM.Theme.getSize("default_margin").width/2
- Button
- {
- height: bedTemp.height - 2
- anchors.verticalCenter: parent.verticalCenter
- anchors.horizontalCenter: parent.horizontalCenter
- text: catalog.i18nc("@action:button","Start Heating")
- onClicked:
- {
- if(printer_connection != null)
- {
- bedTempStatus.text = catalog.i18nc("@info:progress","Checking")
- printer_connection.setTargetBedTemperature(60)
- wizardPage.bed_target_temp = 60
- }
- }
- }
- }
- Label
- {
- id: bedTemp
- width: wizardPage.rightRow * 0.2
- anchors.top: bedTempLabel.top
- anchors.left: bedTempButton.right
- anchors.leftMargin: UM.Theme.getSize("default_margin").width
- wrapMode: Text.WordWrap
- text: printer_connection != null ? printer_connection.bedTemperature + "°C": "0°C"
- font.bold: true
- }
- Label
- {
- id: resultText
- visible: false
- anchors.top: bedTemp.bottom
- anchors.topMargin: UM.Theme.getSize("default_margin").height
- anchors.left: parent.left
- width: parent.width
- wrapMode: Text.WordWrap
- text: catalog.i18nc("@label", "Everything is in order! You're done with your CheckUp.")
- }
- }
- Connections
- {
- target: printer_connection
- onEndstopStateChanged:
- {
- if(key == "x_min")
- {
- x_min_pressed = true
- checkTotalCheckUp()
- }
- if(key == "y_min")
- {
- y_min_pressed = true
- checkTotalCheckUp()
- }
- if(key == "z_min")
- {
- z_min_pressed = true
- checkTotalCheckUp()
- }
- }
- onHotendTemperaturesChanged:
- {
- if(printer_connection.hotendTemperatures[0] > wizardPage.extruder_target_temp - 10 && printer_connection.hotendTemperatures[0] < wizardPage.extruder_target_temp + 10)
- {
- if(printer_connection != null)
- {
- nozzleTempStatus.text = catalog.i18nc("@info:status","Works")
- wizardPage.checkupProgress.nozzleTemp = true
- checkTotalCheckUp()
- printer_connection.setTargetHotendTemperature(0, 0)
- }
- }
- }
- onBedTemperatureChanged:
- {
- if(printer_connection.bedTemperature > wizardPage.bed_target_temp - 5 && printer_connection.bedTemperature < wizardPage.bed_target_temp + 5)
- {
- bedTempStatus.text = catalog.i18nc("@info:status","Works")
- wizardPage.checkupProgress.bedTemp = true
- checkTotalCheckUp()
- printer_connection.setTargetBedTemperature(0)
- }
- }
- }
- ExclusiveGroup
- {
- id: printerGroup;
- }
- }
|