Make the Add Printer dialog less spartan

This commit is contained in:
fieldOfView 2018-10-05 21:41:35 +02:00
parent 88c19aa11d
commit 2fb7d8a253

View file

@ -45,10 +45,46 @@ UM.Dialog
} }
signal machineAdded(string id) signal machineAdded(string id)
function getMachineName() function getMachineName()
{ {
var name = machineList.model.getItem(machineList.currentIndex) != undefined ? machineList.model.getItem(machineList.currentIndex).name : "" return machineList.model.getItem(machineList.currentIndex) != undefined ? machineList.model.getItem(machineList.currentIndex).name : "";
return name }
function getMachineMetaDataEntry(key)
{
var metadata = machineList.model.getItem(machineList.currentIndex) != undefined ? machineList.model.getItem(machineList.currentIndex).metadata : undefined;
if (metadata)
{
return metadata[key];
}
return undefined;
}
Label {
id: titleLabel
anchors {
top: parent.top
left: parent.left
topMargin: UM.Theme.getSize("default_margin")
}
text: catalog.i18nc("@title:tab", "Add a printer to Cura")
font.pointSize: 18
}
Label
{
id: captionLabel
anchors
{
left: parent.left
top: titleLabel.bottom
topMargin: UM.Theme.getSize("default_margin")
}
text: catalog.i18nc("@title:tab", "Select the printer you want to use from the list below.\n\nIf your printer is not in the list, use the \"Custom FFF Printer\" from the \"Custom\" category and match adjust the settings to match your printer in the next dialog.")
width: parent.width
wrapMode: Text.WordWrap
} }
ScrollView ScrollView
@ -57,13 +93,21 @@ UM.Dialog
anchors anchors
{ {
left: parent.left; top: captionLabel.visible ? captionLabel.bottom : parent.top;
top: parent.top; topMargin: captionLabel.visible ? UM.Theme.getSize("default_margin").height : 0;
right: parent.right; bottom: addPrinterButton.top;
bottom: machineNameRow.top;
bottomMargin: UM.Theme.getSize("default_margin").height bottomMargin: UM.Theme.getSize("default_margin").height
} }
width: Math.round(parent.width * 0.45)
frameVisible: true;
Rectangle {
parent: viewport
anchors.fill: parent
color: palette.light
}
ListView ListView
{ {
id: machineList id: machineList
@ -184,22 +228,65 @@ UM.Dialog
} }
} }
Row Column
{ {
id: machineNameRow anchors
anchors.bottom:parent.bottom {
spacing: UM.Theme.getSize("default_margin").width top: machinesHolder.top
left: machinesHolder.right
right: parent.right
leftMargin: UM.Theme.getSize("default_margin").width
}
spacing: UM.Theme.getSize("default_margin").height
Label
{
width: parent.width
wrapMode: Text.WordWrap
text: getMachineName()
font.pointSize: 16
elide: Text.ElideRight
}
Grid
{
width: parent.width
columns: 2
rowSpacing: UM.Theme.getSize("default_lining").height
columnSpacing: UM.Theme.getSize("default_margin").width
verticalItemAlignment: Grid.AlignVCenter
Label Label
{ {
text: catalog.i18nc("@label", "Printer Name:") wrapMode: Text.WordWrap
anchors.verticalCenter: machineName.verticalCenter text: catalog.i18nc("@label", "Manufacturer")
}
Label
{
width: Math.floor(parent.width * 0.65)
wrapMode: Text.WordWrap
text: getMachineMetaDataEntry("manufacturer")
}
Label
{
wrapMode: Text.WordWrap
text: catalog.i18nc("@label", "Author")
}
Label
{
width: Math.floor(parent.width * 0.75)
wrapMode: Text.WordWrap
text: getMachineMetaDataEntry("author")
}
Label
{
wrapMode: Text.WordWrap
text: catalog.i18nc("@label", "Printer Name")
} }
TextField TextField
{ {
id: machineName id: machineName
text: getMachineName() text: getMachineName()
width: Math.floor(parent.width * 0.75)
implicitWidth: UM.Theme.getSize("standard_list_input").width implicitWidth: UM.Theme.getSize("standard_list_input").width
maximumLength: 40 maximumLength: 40
//validator: Cura.MachineNameValidator { } //TODO: Gives a segfault in PyQt5.6. For now, we must use a signal on text changed. //validator: Cura.MachineNameValidator { } //TODO: Gives a segfault in PyQt5.6. For now, we must use a signal on text changed.
@ -212,6 +299,7 @@ UM.Dialog
property var machine_name_validator: Cura.MachineNameValidator { } property var machine_name_validator: Cura.MachineNameValidator { }
} }
} }
}
Button Button
{ {