Cura/resources/qml/WorkspaceSummaryDialog.qml
2017-09-28 13:00:43 +02:00

272 lines
7.5 KiB
QML

// Copyright (c) 2016 Ultimaker B.V.
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.1
import QtQuick.Controls 1.1
import QtQuick.Layouts 1.1
import QtQuick.Window 2.1
import UM 1.2 as UM
import Cura 1.0 as Cura
UM.Dialog
{
title: catalog.i18nc("@title:window", "Save Project")
minimumWidth: 500 * screenScaleFactor
minimumHeight: 400 * screenScaleFactor
width: minimumWidth
height: minimumHeight
property int spacerHeight: 10 * screenScaleFactor
property bool dontShowAgain: true
signal yes();
onClosing:
{
UM.Preferences.setValue("cura/dialog_on_project_save", !dontShowAgainCheckbox.checked)
}
onVisibleChanged:
{
if(visible)
{
dontShowAgain = !UM.Preferences.getValue("cura/dialog_on_project_save")
}
}
Item
{
anchors.fill: parent
UM.SettingDefinitionsModel
{
id: definitionsModel
containerId: Cura.MachineManager.activeDefinitionId
showAll: true
exclude: ["command_line_settings"]
showAncestors: true
expanded: ["*"]
visibilityHandler: UM.SettingPreferenceVisibilityHandler { }
}
UM.I18nCatalog
{
id: catalog
name: "cura"
}
SystemPalette
{
id: palette
}
Column
{
anchors.fill: parent
spacing: 2 * screenScaleFactor
Label
{
id: titleLabel
text: catalog.i18nc("@action:title", "Summary - Cura Project")
font.pointSize: 18
}
Rectangle
{
id: separator
color: palette.text
width: parent.width
height: 1
}
Item // Spacer
{
height: spacerHeight
width: height
}
Label
{
text: catalog.i18nc("@action:label", "Printer settings")
font.bold: true
}
Row
{
width: parent.width
height: childrenRect.height
Label
{
text: catalog.i18nc("@action:label", "Type")
width: (parent.width / 3) | 0
}
Label
{
text: Cura.MachineManager.activeDefinitionName
width: (parent.width / 3) | 0
}
}
Row
{
width: parent.width
height: childrenRect.height
Label
{
text: catalog.i18nc("@action:label", "Name")
width: (parent.width / 3) | 0
}
Label
{
text: Cura.MachineManager.activeMachineName
width: (parent.width / 3) | 0
}
}
Repeater
{
model: Cura.MachineManager.activeMaterialNames
delegate: Column
{
Item // Spacer
{
height: spacerHeight
width: height
}
Label
{
text: catalog.i18nc("@action:label", "Extruder %1").arg(index+1)
}
height: childrenRect.height
width: parent.width
Row
{
width: parent.width
height: childrenRect.height
Label
{
text: catalog.i18nc("@action:label", "%1 & material").arg(Cura.MachineManager.activeDefinitionVariantsName)
width: (parent.width / 3) | 0
}
Label
{
text: Cura.MachineManager.activeVariantNames[index] + ", " + modelData
width: (parent.width / 3) | 0
}
}
}
}
Item // Spacer
{
height: spacerHeight
width: height
}
Label
{
text: catalog.i18nc("@action:label", "Profile settings")
font.bold: true
}
Row
{
width: parent.width
Label
{
text: catalog.i18nc("@action:label", "Not in profile")
width: (parent.width / 3) | 0
}
Label
{
text: catalog.i18ncp("@action:label", "%1 override", "%1 overrides", Cura.MachineManager.numUserSettings).arg(Cura.MachineManager.numUserSettings)
width: (parent.width / 3) | 0
}
visible: Cura.MachineManager.numUserSettings
}
Row
{
width: parent.width
height: childrenRect.height
Label
{
text: catalog.i18nc("@action:label", "Name")
width: (parent.width / 3) | 0
}
Label
{
text: Cura.MachineManager.activeQualityName
width: (parent.width / 3) | 0
}
}
Item // Spacer
{
height: spacerHeight
width: height
}
Label
{
text: catalog.i18nc("@action:label", "Setting visibility")
font.bold: true
}
Row
{
width: parent.width
height: childrenRect.height
Label
{
text: catalog.i18nc("@action:label", "Visible settings:")
width: (parent.width / 3) | 0
}
Label
{
text: catalog.i18nc("@action:label", "%1 out of %2" ).arg(definitionsModel.visibleCount).arg(Cura.MachineManager.totalNumberOfSettings)
width: (parent.width / 3) | 0
}
}
Item // Spacer
{
height: spacerHeight
width: height
}
}
CheckBox
{
id: dontShowAgainCheckbox
anchors.bottom: cancel_button.top
anchors.bottomMargin: UM.Theme.getSize("default_margin").height
anchors.left: parent.left
text: catalog.i18nc("@action:label", "Don't show project summary on save again")
checked: dontShowAgain
}
Button
{
id: cancel_button
anchors.bottom: parent.bottom
anchors.right: ok_button.left
anchors.rightMargin: 2
text: catalog.i18nc("@action:button","Cancel");
enabled: true
onClicked: close()
}
Button
{
id: ok_button
anchors.bottom: parent.bottom
anchors.right: parent.right
text: catalog.i18nc("@action:button","Save");
enabled: true
onClicked: {
close()
yes()
}
}
}
}