mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-13 01:39:03 +08:00
Make General preference pane scrollable
On some OSes/configurations/screens, the options on the General pane don't fit until the window is resized. Adding a scrollview helps in these cases.
This commit is contained in:
parent
bb030c724b
commit
97d20b4242
@ -58,337 +58,343 @@ UM.PreferencesPage
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Column
|
ScrollView
|
||||||
{
|
{
|
||||||
//: Model used to check if a plugin exists
|
width: parent.width
|
||||||
UM.PluginsModel { id: plugins }
|
height: parent.height
|
||||||
|
|
||||||
//: Language selection label
|
Column
|
||||||
UM.I18nCatalog{id: catalog; name:"cura"}
|
|
||||||
|
|
||||||
Label
|
|
||||||
{
|
{
|
||||||
font.bold: true
|
//: Model used to check if a plugin exists
|
||||||
text: catalog.i18nc("@label","Interface")
|
UM.PluginsModel { id: plugins }
|
||||||
}
|
|
||||||
|
//: Language selection label
|
||||||
|
UM.I18nCatalog{id: catalog; name:"cura"}
|
||||||
|
|
||||||
Row
|
|
||||||
{
|
|
||||||
spacing: UM.Theme.getSize("default_margin").width
|
|
||||||
Label
|
Label
|
||||||
{
|
{
|
||||||
id: languageLabel
|
font.bold: true
|
||||||
text: catalog.i18nc("@label","Language:")
|
text: catalog.i18nc("@label","Interface")
|
||||||
anchors.verticalCenter: languageComboBox.verticalCenter
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ComboBox
|
Row
|
||||||
{
|
{
|
||||||
id: languageComboBox
|
spacing: UM.Theme.getSize("default_margin").width
|
||||||
model: ListModel
|
Label
|
||||||
{
|
{
|
||||||
id: languageList
|
id: languageLabel
|
||||||
|
text: catalog.i18nc("@label","Language:")
|
||||||
|
anchors.verticalCenter: languageComboBox.verticalCenter
|
||||||
|
}
|
||||||
|
|
||||||
Component.onCompleted: {
|
ComboBox
|
||||||
append({ text: "English", code: "en" })
|
{
|
||||||
append({ text: "Deutsch", code: "de" })
|
id: languageComboBox
|
||||||
append({ text: "Español", code: "es" })
|
model: ListModel
|
||||||
append({ text: "Suomi", code: "fi" })
|
{
|
||||||
append({ text: "Français", code: "fr" })
|
id: languageList
|
||||||
append({ text: "Italiano", code: "it" })
|
|
||||||
append({ text: "Nederlands", code: "nl" })
|
Component.onCompleted: {
|
||||||
append({ text: "Português do Brasil", code: "ptbr" })
|
append({ text: "English", code: "en" })
|
||||||
append({ text: "Русский", code: "ru" })
|
append({ text: "Deutsch", code: "de" })
|
||||||
append({ text: "Türkçe", code: "tr" })
|
append({ text: "Español", code: "es" })
|
||||||
|
append({ text: "Suomi", code: "fi" })
|
||||||
|
append({ text: "Français", code: "fr" })
|
||||||
|
append({ text: "Italiano", code: "it" })
|
||||||
|
append({ text: "Nederlands", code: "nl" })
|
||||||
|
append({ text: "Português do Brasil", code: "ptbr" })
|
||||||
|
append({ text: "Русский", code: "ru" })
|
||||||
|
append({ text: "Türkçe", code: "tr" })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
currentIndex:
|
||||||
|
{
|
||||||
|
var code = UM.Preferences.getValue("general/language");
|
||||||
|
for(var i = 0; i < languageList.count; ++i)
|
||||||
|
{
|
||||||
|
if(model.get(i).code == code)
|
||||||
|
{
|
||||||
|
return i
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
onActivated: UM.Preferences.setValue("general/language", model.get(index).code)
|
||||||
|
|
||||||
|
Component.onCompleted:
|
||||||
|
{
|
||||||
|
// Because ListModel is stupid and does not allow using qsTr() for values.
|
||||||
|
for(var i = 0; i < languageList.count; ++i)
|
||||||
|
{
|
||||||
|
languageList.setProperty(i, "text", catalog.i18n(languageList.get(i).text));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Glorious hack time. ComboBox does not update the text properly after changing the
|
||||||
|
// model. So change the indices around to force it to update.
|
||||||
|
currentIndex += 1;
|
||||||
|
currentIndex -= 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
currentIndex:
|
Label
|
||||||
{
|
{
|
||||||
var code = UM.Preferences.getValue("general/language");
|
id: currencyLabel
|
||||||
for(var i = 0; i < languageList.count; ++i)
|
text: catalog.i18nc("@label","Currency:")
|
||||||
|
anchors.verticalCenter: languageComboBox.verticalCenter
|
||||||
|
}
|
||||||
|
TextField
|
||||||
|
{
|
||||||
|
id: currencyField
|
||||||
|
text: UM.Preferences.getValue("cura/currency")
|
||||||
|
onTextChanged: UM.Preferences.setValue("cura/currency", text)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Label
|
||||||
|
{
|
||||||
|
id: languageCaption
|
||||||
|
|
||||||
|
//: Language change warning
|
||||||
|
text: catalog.i18nc("@label", "You will need to restart the application for language changes to have effect.")
|
||||||
|
wrapMode: Text.WordWrap
|
||||||
|
font.italic: true
|
||||||
|
}
|
||||||
|
|
||||||
|
Item
|
||||||
|
{
|
||||||
|
//: Spacer
|
||||||
|
height: UM.Theme.getSize("default_margin").height
|
||||||
|
width: UM.Theme.getSize("default_margin").width
|
||||||
|
}
|
||||||
|
|
||||||
|
Label
|
||||||
|
{
|
||||||
|
font.bold: true
|
||||||
|
text: catalog.i18nc("@label","Viewport behavior")
|
||||||
|
}
|
||||||
|
|
||||||
|
UM.TooltipArea
|
||||||
|
{
|
||||||
|
width: childrenRect.width;
|
||||||
|
height: childrenRect.height;
|
||||||
|
|
||||||
|
text: catalog.i18nc("@info:tooltip","Highlight unsupported areas of the model in red. Without support these areas will not print properly.")
|
||||||
|
|
||||||
|
CheckBox
|
||||||
|
{
|
||||||
|
id: showOverhangCheckbox
|
||||||
|
|
||||||
|
checked: boolCheck(UM.Preferences.getValue("view/show_overhang"))
|
||||||
|
onClicked: UM.Preferences.setValue("view/show_overhang", checked)
|
||||||
|
|
||||||
|
text: catalog.i18nc("@option:check","Display overhang");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
UM.TooltipArea {
|
||||||
|
width: childrenRect.width;
|
||||||
|
height: childrenRect.height;
|
||||||
|
text: catalog.i18nc("@info:tooltip","Moves the camera so the model is in the center of the view when an model is selected")
|
||||||
|
|
||||||
|
CheckBox
|
||||||
|
{
|
||||||
|
id: centerOnSelectCheckbox
|
||||||
|
text: catalog.i18nc("@action:button","Center camera when item is selected");
|
||||||
|
checked: boolCheck(UM.Preferences.getValue("view/center_on_select"))
|
||||||
|
onClicked: UM.Preferences.setValue("view/center_on_select", checked)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
UM.TooltipArea {
|
||||||
|
width: childrenRect.width
|
||||||
|
height: childrenRect.height
|
||||||
|
text: catalog.i18nc("@info:tooltip", "Should models on the platform be moved so that they no longer intersect?")
|
||||||
|
|
||||||
|
CheckBox
|
||||||
|
{
|
||||||
|
id: pushFreeCheckbox
|
||||||
|
text: catalog.i18nc("@option:check", "Ensure models are kept apart")
|
||||||
|
checked: boolCheck(UM.Preferences.getValue("physics/automatic_push_free"))
|
||||||
|
onCheckedChanged: UM.Preferences.setValue("physics/automatic_push_free", checked)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
UM.TooltipArea {
|
||||||
|
width: childrenRect.width
|
||||||
|
height: childrenRect.height
|
||||||
|
text: catalog.i18nc("@info:tooltip", "Should models on the platform be moved down to touch the build plate?")
|
||||||
|
|
||||||
|
CheckBox
|
||||||
|
{
|
||||||
|
id: dropDownCheckbox
|
||||||
|
text: catalog.i18nc("@option:check", "Automatically drop models to the build plate")
|
||||||
|
checked: boolCheck(UM.Preferences.getValue("physics/automatic_drop_down"))
|
||||||
|
onCheckedChanged: UM.Preferences.setValue("physics/automatic_drop_down", checked)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
UM.TooltipArea {
|
||||||
|
width: childrenRect.width;
|
||||||
|
height: childrenRect.height;
|
||||||
|
text: catalog.i18nc("@info:tooltip","Display 5 top layers in layer view or only the top-most layer. Rendering 5 layers takes longer, but may show more information.")
|
||||||
|
|
||||||
|
CheckBox
|
||||||
|
{
|
||||||
|
id: topLayerCountCheckbox
|
||||||
|
text: catalog.i18nc("@action:button","Display five top layers in layer view compatibility mode");
|
||||||
|
checked: UM.Preferences.getValue("view/top_layer_count") == 5
|
||||||
|
onClicked:
|
||||||
{
|
{
|
||||||
if(model.get(i).code == code)
|
if(UM.Preferences.getValue("view/top_layer_count") == 5)
|
||||||
{
|
{
|
||||||
return i
|
UM.Preferences.setValue("view/top_layer_count", 1)
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
UM.Preferences.setValue("view/top_layer_count", 5)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
onActivated: UM.Preferences.setValue("general/language", model.get(index).code)
|
}
|
||||||
|
|
||||||
Component.onCompleted:
|
UM.TooltipArea {
|
||||||
|
width: childrenRect.width
|
||||||
|
height: childrenRect.height
|
||||||
|
text: catalog.i18nc("@info:tooltip", "Should only the top layers be displayed in layerview?")
|
||||||
|
|
||||||
|
CheckBox
|
||||||
{
|
{
|
||||||
// Because ListModel is stupid and does not allow using qsTr() for values.
|
id: topLayersOnlyCheckbox
|
||||||
for(var i = 0; i < languageList.count; ++i)
|
text: catalog.i18nc("@option:check", "Only display top layer(s) in layer view compatibility mode")
|
||||||
{
|
checked: boolCheck(UM.Preferences.getValue("view/only_show_top_layers"))
|
||||||
languageList.setProperty(i, "text", catalog.i18n(languageList.get(i).text));
|
onCheckedChanged: UM.Preferences.setValue("view/only_show_top_layers", checked)
|
||||||
}
|
|
||||||
|
|
||||||
// Glorious hack time. ComboBox does not update the text properly after changing the
|
|
||||||
// model. So change the indices around to force it to update.
|
|
||||||
currentIndex += 1;
|
|
||||||
currentIndex -= 1;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
UM.TooltipArea {
|
||||||
|
width: childrenRect.width
|
||||||
|
height: childrenRect.height
|
||||||
|
text: catalog.i18nc("@info:tooltip", "Should layer be forced into compatibility mode?")
|
||||||
|
|
||||||
|
CheckBox
|
||||||
|
{
|
||||||
|
id: forceLayerViewCompatibilityModeCheckbox
|
||||||
|
text: catalog.i18nc("@option:check", "Force layer view compatibility mode (restart required)")
|
||||||
|
checked: boolCheck(UM.Preferences.getValue("view/force_layer_view_compatibility_mode"))
|
||||||
|
onCheckedChanged: UM.Preferences.setValue("view/force_layer_view_compatibility_mode", checked)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Item
|
||||||
|
{
|
||||||
|
//: Spacer
|
||||||
|
height: UM.Theme.getSize("default_margin").height
|
||||||
|
width: UM.Theme.getSize("default_margin").height
|
||||||
|
}
|
||||||
|
|
||||||
Label
|
Label
|
||||||
{
|
{
|
||||||
id: currencyLabel
|
font.bold: true
|
||||||
text: catalog.i18nc("@label","Currency:")
|
text: catalog.i18nc("@label","Opening files")
|
||||||
anchors.verticalCenter: languageComboBox.verticalCenter
|
|
||||||
}
|
}
|
||||||
TextField
|
|
||||||
{
|
|
||||||
id: currencyField
|
|
||||||
text: UM.Preferences.getValue("cura/currency")
|
|
||||||
onTextChanged: UM.Preferences.setValue("cura/currency", text)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Label
|
UM.TooltipArea {
|
||||||
{
|
width: childrenRect.width
|
||||||
id: languageCaption
|
height: childrenRect.height
|
||||||
|
text: catalog.i18nc("@info:tooltip","Should models be scaled to the build volume if they are too large?")
|
||||||
|
|
||||||
//: Language change warning
|
CheckBox
|
||||||
text: catalog.i18nc("@label", "You will need to restart the application for language changes to have effect.")
|
|
||||||
wrapMode: Text.WordWrap
|
|
||||||
font.italic: true
|
|
||||||
}
|
|
||||||
|
|
||||||
Item
|
|
||||||
{
|
|
||||||
//: Spacer
|
|
||||||
height: UM.Theme.getSize("default_margin").height
|
|
||||||
width: UM.Theme.getSize("default_margin").width
|
|
||||||
}
|
|
||||||
|
|
||||||
Label
|
|
||||||
{
|
|
||||||
font.bold: true
|
|
||||||
text: catalog.i18nc("@label","Viewport behavior")
|
|
||||||
}
|
|
||||||
|
|
||||||
UM.TooltipArea
|
|
||||||
{
|
|
||||||
width: childrenRect.width;
|
|
||||||
height: childrenRect.height;
|
|
||||||
|
|
||||||
text: catalog.i18nc("@info:tooltip","Highlight unsupported areas of the model in red. Without support these areas will not print properly.")
|
|
||||||
|
|
||||||
CheckBox
|
|
||||||
{
|
|
||||||
id: showOverhangCheckbox
|
|
||||||
|
|
||||||
checked: boolCheck(UM.Preferences.getValue("view/show_overhang"))
|
|
||||||
onClicked: UM.Preferences.setValue("view/show_overhang", checked)
|
|
||||||
|
|
||||||
text: catalog.i18nc("@option:check","Display overhang");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
UM.TooltipArea {
|
|
||||||
width: childrenRect.width;
|
|
||||||
height: childrenRect.height;
|
|
||||||
text: catalog.i18nc("@info:tooltip","Moves the camera so the model is in the center of the view when an model is selected")
|
|
||||||
|
|
||||||
CheckBox
|
|
||||||
{
|
|
||||||
id: centerOnSelectCheckbox
|
|
||||||
text: catalog.i18nc("@action:button","Center camera when item is selected");
|
|
||||||
checked: boolCheck(UM.Preferences.getValue("view/center_on_select"))
|
|
||||||
onClicked: UM.Preferences.setValue("view/center_on_select", checked)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
UM.TooltipArea {
|
|
||||||
width: childrenRect.width
|
|
||||||
height: childrenRect.height
|
|
||||||
text: catalog.i18nc("@info:tooltip", "Should models on the platform be moved so that they no longer intersect?")
|
|
||||||
|
|
||||||
CheckBox
|
|
||||||
{
|
|
||||||
id: pushFreeCheckbox
|
|
||||||
text: catalog.i18nc("@option:check", "Ensure models are kept apart")
|
|
||||||
checked: boolCheck(UM.Preferences.getValue("physics/automatic_push_free"))
|
|
||||||
onCheckedChanged: UM.Preferences.setValue("physics/automatic_push_free", checked)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
UM.TooltipArea {
|
|
||||||
width: childrenRect.width
|
|
||||||
height: childrenRect.height
|
|
||||||
text: catalog.i18nc("@info:tooltip", "Should models on the platform be moved down to touch the build plate?")
|
|
||||||
|
|
||||||
CheckBox
|
|
||||||
{
|
|
||||||
id: dropDownCheckbox
|
|
||||||
text: catalog.i18nc("@option:check", "Automatically drop models to the build plate")
|
|
||||||
checked: boolCheck(UM.Preferences.getValue("physics/automatic_drop_down"))
|
|
||||||
onCheckedChanged: UM.Preferences.setValue("physics/automatic_drop_down", checked)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
UM.TooltipArea {
|
|
||||||
width: childrenRect.width;
|
|
||||||
height: childrenRect.height;
|
|
||||||
text: catalog.i18nc("@info:tooltip","Display 5 top layers in layer view or only the top-most layer. Rendering 5 layers takes longer, but may show more information.")
|
|
||||||
|
|
||||||
CheckBox
|
|
||||||
{
|
|
||||||
id: topLayerCountCheckbox
|
|
||||||
text: catalog.i18nc("@action:button","Display five top layers in layer view compatibility mode");
|
|
||||||
checked: UM.Preferences.getValue("view/top_layer_count") == 5
|
|
||||||
onClicked:
|
|
||||||
{
|
{
|
||||||
if(UM.Preferences.getValue("view/top_layer_count") == 5)
|
id: scaleToFitCheckbox
|
||||||
{
|
text: catalog.i18nc("@option:check","Scale large models")
|
||||||
UM.Preferences.setValue("view/top_layer_count", 1)
|
checked: boolCheck(UM.Preferences.getValue("mesh/scale_to_fit"))
|
||||||
}
|
onCheckedChanged: UM.Preferences.setValue("mesh/scale_to_fit", checked)
|
||||||
else
|
|
||||||
{
|
|
||||||
UM.Preferences.setValue("view/top_layer_count", 5)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
UM.TooltipArea {
|
UM.TooltipArea {
|
||||||
width: childrenRect.width
|
width: childrenRect.width
|
||||||
height: childrenRect.height
|
height: childrenRect.height
|
||||||
text: catalog.i18nc("@info:tooltip", "Should only the top layers be displayed in layerview?")
|
text: catalog.i18nc("@info:tooltip","An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?")
|
||||||
|
|
||||||
CheckBox
|
CheckBox
|
||||||
{
|
{
|
||||||
id: topLayersOnlyCheckbox
|
id: scaleTinyCheckbox
|
||||||
text: catalog.i18nc("@option:check", "Only display top layer(s) in layer view compatibility mode")
|
text: catalog.i18nc("@option:check","Scale extremely small models")
|
||||||
checked: boolCheck(UM.Preferences.getValue("view/only_show_top_layers"))
|
checked: boolCheck(UM.Preferences.getValue("mesh/scale_tiny_meshes"))
|
||||||
onCheckedChanged: UM.Preferences.setValue("view/only_show_top_layers", checked)
|
onCheckedChanged: UM.Preferences.setValue("mesh/scale_tiny_meshes", checked)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
UM.TooltipArea {
|
UM.TooltipArea {
|
||||||
width: childrenRect.width
|
width: childrenRect.width
|
||||||
height: childrenRect.height
|
height: childrenRect.height
|
||||||
text: catalog.i18nc("@info:tooltip", "Should layer be forced into compatibility mode?")
|
text: catalog.i18nc("@info:tooltip", "Should a prefix based on the printer name be added to the print job name automatically?")
|
||||||
|
|
||||||
CheckBox
|
CheckBox
|
||||||
{
|
{
|
||||||
id: forceLayerViewCompatibilityModeCheckbox
|
id: prefixJobNameCheckbox
|
||||||
text: catalog.i18nc("@option:check", "Force layer view compatibility mode (restart required)")
|
text: catalog.i18nc("@option:check", "Add machine prefix to job name")
|
||||||
checked: boolCheck(UM.Preferences.getValue("view/force_layer_view_compatibility_mode"))
|
checked: boolCheck(UM.Preferences.getValue("cura/jobname_prefix"))
|
||||||
onCheckedChanged: UM.Preferences.setValue("view/force_layer_view_compatibility_mode", checked)
|
onCheckedChanged: UM.Preferences.setValue("cura/jobname_prefix", checked)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
Item
|
UM.TooltipArea {
|
||||||
{
|
width: childrenRect.width
|
||||||
//: Spacer
|
height: childrenRect.height
|
||||||
height: UM.Theme.getSize("default_margin").height
|
text: catalog.i18nc("@info:tooltip", "Should a summary be shown when saving a project file?")
|
||||||
width: UM.Theme.getSize("default_margin").height
|
|
||||||
}
|
|
||||||
|
|
||||||
Label
|
CheckBox
|
||||||
{
|
{
|
||||||
font.bold: true
|
text: catalog.i18nc("@option:check", "Show summary dialog when saving project")
|
||||||
text: catalog.i18nc("@label","Opening files")
|
checked: boolCheck(UM.Preferences.getValue("cura/dialog_on_project_save"))
|
||||||
}
|
onCheckedChanged: UM.Preferences.setValue("cura/dialog_on_project_save", checked)
|
||||||
|
}
|
||||||
UM.TooltipArea {
|
|
||||||
width: childrenRect.width
|
|
||||||
height: childrenRect.height
|
|
||||||
text: catalog.i18nc("@info:tooltip","Should models be scaled to the build volume if they are too large?")
|
|
||||||
|
|
||||||
CheckBox
|
|
||||||
{
|
|
||||||
id: scaleToFitCheckbox
|
|
||||||
text: catalog.i18nc("@option:check","Scale large models")
|
|
||||||
checked: boolCheck(UM.Preferences.getValue("mesh/scale_to_fit"))
|
|
||||||
onCheckedChanged: UM.Preferences.setValue("mesh/scale_to_fit", checked)
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
UM.TooltipArea {
|
|
||||||
width: childrenRect.width
|
|
||||||
height: childrenRect.height
|
|
||||||
text: catalog.i18nc("@info:tooltip","An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?")
|
|
||||||
|
|
||||||
CheckBox
|
Item
|
||||||
{
|
{
|
||||||
id: scaleTinyCheckbox
|
//: Spacer
|
||||||
text: catalog.i18nc("@option:check","Scale extremely small models")
|
height: UM.Theme.getSize("default_margin").height
|
||||||
checked: boolCheck(UM.Preferences.getValue("mesh/scale_tiny_meshes"))
|
width: UM.Theme.getSize("default_margin").height
|
||||||
onCheckedChanged: UM.Preferences.setValue("mesh/scale_tiny_meshes", checked)
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
UM.TooltipArea {
|
Label
|
||||||
width: childrenRect.width
|
|
||||||
height: childrenRect.height
|
|
||||||
text: catalog.i18nc("@info:tooltip", "Should a prefix based on the printer name be added to the print job name automatically?")
|
|
||||||
|
|
||||||
CheckBox
|
|
||||||
{
|
{
|
||||||
id: prefixJobNameCheckbox
|
font.bold: true
|
||||||
text: catalog.i18nc("@option:check", "Add machine prefix to job name")
|
visible: checkUpdatesCheckbox.visible || sendDataCheckbox.visible
|
||||||
checked: boolCheck(UM.Preferences.getValue("cura/jobname_prefix"))
|
text: catalog.i18nc("@label","Privacy")
|
||||||
onCheckedChanged: UM.Preferences.setValue("cura/jobname_prefix", checked)
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
UM.TooltipArea {
|
UM.TooltipArea {
|
||||||
width: childrenRect.width
|
visible: plugins.find("id", "UpdateChecker") > -1
|
||||||
height: childrenRect.height
|
width: childrenRect.width
|
||||||
text: catalog.i18nc("@info:tooltip", "Should a summary be shown when saving a project file?")
|
height: visible ? childrenRect.height : 0
|
||||||
|
text: catalog.i18nc("@info:tooltip","Should Cura check for updates when the program is started?")
|
||||||
|
|
||||||
CheckBox
|
CheckBox
|
||||||
{
|
{
|
||||||
text: catalog.i18nc("@option:check", "Show summary dialog when saving project")
|
id: checkUpdatesCheckbox
|
||||||
checked: boolCheck(UM.Preferences.getValue("cura/dialog_on_project_save"))
|
text: catalog.i18nc("@option:check","Check for updates on start")
|
||||||
onCheckedChanged: UM.Preferences.setValue("cura/dialog_on_project_save", checked)
|
checked: boolCheck(UM.Preferences.getValue("info/automatic_update_check"))
|
||||||
|
onCheckedChanged: UM.Preferences.setValue("info/automatic_update_check", checked)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
UM.TooltipArea {
|
||||||
|
visible: plugins.find("id", "SliceInfoPlugin") > -1
|
||||||
|
width: childrenRect.width
|
||||||
|
height: visible ? childrenRect.height : 0
|
||||||
|
text: catalog.i18nc("@info:tooltip","Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored.")
|
||||||
|
|
||||||
Item
|
CheckBox
|
||||||
{
|
{
|
||||||
//: Spacer
|
id: sendDataCheckbox
|
||||||
height: UM.Theme.getSize("default_margin").height
|
text: catalog.i18nc("@option:check","Send (anonymous) print information")
|
||||||
width: UM.Theme.getSize("default_margin").height
|
checked: boolCheck(UM.Preferences.getValue("info/send_slice_info"))
|
||||||
}
|
onCheckedChanged: UM.Preferences.setValue("info/send_slice_info", checked)
|
||||||
|
}
|
||||||
Label
|
|
||||||
{
|
|
||||||
font.bold: true
|
|
||||||
visible: checkUpdatesCheckbox.visible || sendDataCheckbox.visible
|
|
||||||
text: catalog.i18nc("@label","Privacy")
|
|
||||||
}
|
|
||||||
|
|
||||||
UM.TooltipArea {
|
|
||||||
visible: plugins.find("id", "UpdateChecker") > -1
|
|
||||||
width: childrenRect.width
|
|
||||||
height: visible ? childrenRect.height : 0
|
|
||||||
text: catalog.i18nc("@info:tooltip","Should Cura check for updates when the program is started?")
|
|
||||||
|
|
||||||
CheckBox
|
|
||||||
{
|
|
||||||
id: checkUpdatesCheckbox
|
|
||||||
text: catalog.i18nc("@option:check","Check for updates on start")
|
|
||||||
checked: boolCheck(UM.Preferences.getValue("info/automatic_update_check"))
|
|
||||||
onCheckedChanged: UM.Preferences.setValue("info/automatic_update_check", checked)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
UM.TooltipArea {
|
|
||||||
visible: plugins.find("id", "SliceInfoPlugin") > -1
|
|
||||||
width: childrenRect.width
|
|
||||||
height: visible ? childrenRect.height : 0
|
|
||||||
text: catalog.i18nc("@info:tooltip","Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored.")
|
|
||||||
|
|
||||||
CheckBox
|
|
||||||
{
|
|
||||||
id: sendDataCheckbox
|
|
||||||
text: catalog.i18nc("@option:check","Send (anonymous) print information")
|
|
||||||
checked: boolCheck(UM.Preferences.getValue("info/send_slice_info"))
|
|
||||||
onCheckedChanged: UM.Preferences.setValue("info/send_slice_info", checked)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user