mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-16 11:17:49 -06:00
Add new pages in add-printer flow
Pages added - Page to select Ultimaker or third party printer - Page with information how to add Ultimaker printer(s) contributes to CURA-8689
This commit is contained in:
parent
24c12fd3eb
commit
5cb67ab8c4
7 changed files with 343 additions and 20 deletions
|
@ -1,166 +0,0 @@
|
|||
// Copyright (c) 2022 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.10
|
||||
import QtQuick.Controls 2.3
|
||||
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.1 as Cura
|
||||
|
||||
|
||||
//
|
||||
// This component contains the content for the "Add a printer" (network) page of the welcome on-boarding process.
|
||||
//
|
||||
Item
|
||||
{
|
||||
UM.I18nCatalog { id: catalog; name: "cura" }
|
||||
|
||||
UM.Label
|
||||
{
|
||||
id: titleLabel
|
||||
anchors.top: parent.top
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
text: catalog.i18nc("@label", "Add a printer")
|
||||
color: UM.Theme.getColor("primary_button")
|
||||
font: UM.Theme.getFont("huge")
|
||||
}
|
||||
|
||||
DropDownWidget
|
||||
{
|
||||
id: addNetworkPrinterDropDown
|
||||
|
||||
anchors.top: titleLabel.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.topMargin: UM.Theme.getSize("wide_margin").height
|
||||
|
||||
title: catalog.i18nc("@label", "Add a networked printer")
|
||||
contentShown: true // by default expand the network printer list
|
||||
|
||||
onClicked:
|
||||
{
|
||||
addLocalPrinterDropDown.contentShown = !contentShown
|
||||
}
|
||||
|
||||
contentComponent: networkPrinterListComponent
|
||||
Component
|
||||
{
|
||||
id: networkPrinterListComponent
|
||||
AddNetworkPrinterScrollView
|
||||
{
|
||||
id: networkPrinterScrollView
|
||||
|
||||
maxItemCountAtOnce: 9 // show at max 9 items at once, otherwise you need to scroll.
|
||||
|
||||
onRefreshButtonClicked:
|
||||
{
|
||||
UM.OutputDeviceManager.startDiscovery()
|
||||
}
|
||||
|
||||
onAddByIpButtonClicked:
|
||||
{
|
||||
base.goToPage("add_printer_by_ip")
|
||||
}
|
||||
|
||||
onAddCloudPrinterButtonClicked:
|
||||
{
|
||||
base.goToPage("add_cloud_printers")
|
||||
if (!Cura.API.account.isLoggedIn)
|
||||
{
|
||||
Cura.API.account.login()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DropDownWidget
|
||||
{
|
||||
id: addLocalPrinterDropDown
|
||||
|
||||
anchors.top: addNetworkPrinterDropDown.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
||||
|
||||
title: catalog.i18nc("@label", "Add a non-networked printer")
|
||||
|
||||
onClicked:
|
||||
{
|
||||
addNetworkPrinterDropDown.contentShown = !contentShown
|
||||
}
|
||||
|
||||
contentComponent: localPrinterListComponent
|
||||
Component
|
||||
{
|
||||
id: localPrinterListComponent
|
||||
AddLocalPrinterScrollView
|
||||
{
|
||||
id: localPrinterView
|
||||
height: backButton.y - addLocalPrinterDropDown.y - UM.Theme.getSize("expandable_component_content_header").height - UM.Theme.getSize("default_margin").height
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// This "Back" button only shows in the "Add Machine" dialog, which has "previous_page_button_text" set to "Cancel"
|
||||
Cura.SecondaryButton
|
||||
{
|
||||
id: backButton
|
||||
anchors.left: parent.left
|
||||
anchors.bottom: parent.bottom
|
||||
visible: base.currentItem.previous_page_button_text ? true : false
|
||||
text: base.currentItem.previous_page_button_text ? base.currentItem.previous_page_button_text : ""
|
||||
onClicked:
|
||||
{
|
||||
base.endWizard()
|
||||
}
|
||||
}
|
||||
|
||||
Cura.PrimaryButton
|
||||
{
|
||||
id: nextButton
|
||||
anchors.right: parent.right
|
||||
anchors.bottom: parent.bottom
|
||||
enabled:
|
||||
{
|
||||
// If the network printer dropdown is expanded, make sure that there is a selected item
|
||||
if (addNetworkPrinterDropDown.contentShown)
|
||||
{
|
||||
return addNetworkPrinterDropDown.contentItem.currentItem != null
|
||||
}
|
||||
else
|
||||
{
|
||||
// Printer name cannot be empty
|
||||
const localPrinterItem = addLocalPrinterDropDown.contentItem.currentItem
|
||||
const isPrinterNameValid = addLocalPrinterDropDown.contentItem.isPrinterNameValid
|
||||
return localPrinterItem != null && isPrinterNameValid
|
||||
}
|
||||
}
|
||||
|
||||
text: base.currentItem.next_page_button_text
|
||||
onClicked:
|
||||
{
|
||||
// Create a network printer or a local printer according to the selection
|
||||
if (addNetworkPrinterDropDown.contentShown)
|
||||
{
|
||||
// Create a network printer
|
||||
const networkPrinterItem = addNetworkPrinterDropDown.contentItem.currentItem
|
||||
CuraApplication.getDiscoveredPrintersModel().createMachineFromDiscoveredPrinter(networkPrinterItem)
|
||||
|
||||
// After the networked machine has been created, go to the next page
|
||||
base.showNextPage()
|
||||
}
|
||||
else
|
||||
{
|
||||
// Create a local printer
|
||||
const localPrinterItem = addLocalPrinterDropDown.contentItem.currentItem
|
||||
const printerName = addLocalPrinterDropDown.contentItem.printerName
|
||||
if(Cura.MachineManager.addMachine(localPrinterItem.id, printerName))
|
||||
{
|
||||
base.showNextPage()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue