Merge remote-tracking branch 'origin/CURA-8688_qt6_cleanup' into CURA-8688_qt6_cleanup

This commit is contained in:
j.delarago 2022-02-18 10:32:21 +01:00
commit e60b8ac30c
15 changed files with 168 additions and 310 deletions

View file

@ -1,9 +1,8 @@
// Copyright (c) 2021 Ultimaker B.V.
// Copyright (c) 2022 Ultimaker B.V.
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.2
import QtQuick.Controls 1.1
import QtQuick.Controls.Styles 1.1
import QtQuick.Controls 2.1
import QtQuick.Layouts 1.1
import UM 1.5 as UM
@ -29,7 +28,8 @@ Item
{
if (!activity)
{
//When there is no mesh in the buildplate; the printJobTextField is set to an empty string so it doesn't set an empty string as a jobName (which is later used for saving the file)
// When there is no mesh in the buildplate; the printJobTextField is set to an empty string so it doesn't
// set an empty string as a jobName (which is later used for saving the file)
PrintInformation.baseName = ""
}
}
@ -64,9 +64,9 @@ Item
anchors.left: printJobPencilIcon.right
anchors.leftMargin: UM.Theme.getSize("narrow_margin").width
height: UM.Theme.getSize("jobspecs_line").height
width: Math.max(__contentWidth + UM.Theme.getSize("default_margin").width, 50)
width: Math.max(contentWidth + UM.Theme.getSize("default_margin").width, 50)
maximumLength: 120
text: (PrintInformation === null) ? "" : PrintInformation.jobName
text: PrintInformation === null ? "" : PrintInformation.jobName
horizontalAlignment: TextInput.AlignLeft
property string textBeforeEdit: ""
@ -91,17 +91,10 @@ Item
validator: RegExpValidator {
regExp: /^[^\\\/\*\?\|\[\]]*$/
}
style: TextFieldStyle
{
textColor: UM.Theme.getColor("text_scene")
font: UM.Theme.getFont("default")
background: Rectangle
{
opacity: 0
border.width: 0
}
}
font: UM.Theme.getFont("default")
color: UM.Theme.getColor("text_scene")
background: Item {}
selectByMouse: true
}
}
@ -125,10 +118,7 @@ Item
anchors.leftMargin: UM.Theme.getSize("default_margin").width
}
Component.onCompleted:
{
base.addAdditionalComponents("jobSpecsButton")
}
Component.onCompleted: base.addAdditionalComponents("jobSpecsButton")
Connections
{

View file

@ -183,7 +183,7 @@ Item
visible: showProgress
}
ProgressBar
UM.ProgressBar
{
id: progressBar;
minimumValue: 0;
@ -218,8 +218,6 @@ Item
return false;
}
}
style: UM.Theme.styles.progressbar;
property string backgroundColor: UM.Theme.getColor("progressbar_background");
property string controlColor: base.statusColor;

View file

@ -148,7 +148,7 @@ UM.PreferencesPage
UM.I18nCatalog{id: catalog; name: "cura"}
width: preferencesScrollView.width - preferencesScrollBar.width
Label
UM.Label
{
font.bold: true
text: catalog.i18nc("@label", "Interface")
@ -160,7 +160,7 @@ UM.PreferencesPage
columns: 4
width: parent.width
Label
UM.Label
{
id: languageLabel
text: "Language:" //Don't translate this, to make it easier to find the language drop-down if you can't read the current language.
@ -202,7 +202,7 @@ UM.PreferencesPage
}
}
ComboBox
Cura.ComboBox
{
id: languageComboBox
@ -233,13 +233,13 @@ UM.PreferencesPage
}
}
Label
UM.Label
{
id: currencyLabel
text: catalog.i18nc("@label", "Currency:")
}
TextField
Cura.TextField
{
id: currencyField
selectByMouse: true
@ -247,7 +247,7 @@ UM.PreferencesPage
onTextChanged: UM.Preferences.setValue("cura/currency", text)
}
Label
UM.Label
{
id: themeLabel
text: catalog.i18nc("@label","Theme:")
@ -266,7 +266,7 @@ UM.PreferencesPage
}
}
ComboBox
Cura.ComboBox
{
id: themeComboBox
@ -290,7 +290,7 @@ UM.PreferencesPage
}
}
Label
UM.Label
{
id: languageCaption
@ -314,7 +314,7 @@ UM.PreferencesPage
text: catalog.i18nc("@info:tooltip", "Slice automatically when changing settings.")
CheckBox
Cura.CheckBox
{
id: autoSliceCheckbox
checked: boolCheck(UM.Preferences.getValue("general/auto_slice"))
@ -331,7 +331,7 @@ UM.PreferencesPage
width: UM.Theme.getSize("default_margin").width
}
Label
UM.Label
{
font.bold: true
text: catalog.i18nc("@label", "Viewport behavior")
@ -344,7 +344,7 @@ UM.PreferencesPage
text: catalog.i18nc("@info:tooltip", "Highlight unsupported areas of the model in red. Without support these areas will not print properly.")
CheckBox
Cura.CheckBox
{
id: showOverhangCheckbox
@ -363,7 +363,7 @@ UM.PreferencesPage
text: catalog.i18nc("@info:tooltip", "Highlight missing or extraneous surfaces of the model using warning signs. The toolpaths will often be missing parts of the intended geometry.")
CheckBox
Cura.CheckBox
{
id: showXrayErrorCheckbox
@ -380,7 +380,7 @@ UM.PreferencesPage
height: childrenRect.height;
text: catalog.i18nc("@info:tooltip", "Moves the camera so the model is in the center of the view when a model is selected")
CheckBox
Cura.CheckBox
{
id: centerOnSelectCheckbox
text: catalog.i18nc("@action:button","Center camera when item is selected");
@ -395,7 +395,7 @@ UM.PreferencesPage
height: childrenRect.height;
text: catalog.i18nc("@info:tooltip", "Should the default zoom behavior of cura be inverted?")
CheckBox
Cura.CheckBox
{
id: invertZoomCheckbox
text: catalog.i18nc("@action:button", "Invert the direction of camera zoom.");
@ -416,7 +416,7 @@ UM.PreferencesPage
height: childrenRect.height;
text: zoomToMouseCheckbox.enabled ? catalog.i18nc("@info:tooltip", "Should zooming move in the direction of the mouse?") : catalog.i18nc("@info:tooltip", "Zooming towards the mouse is not supported in the orthographic perspective.")
CheckBox
Cura.CheckBox
{
id: zoomToMouseCheckbox
text: catalog.i18nc("@action:button", "Zoom toward mouse direction")
@ -447,7 +447,7 @@ UM.PreferencesPage
height: childrenRect.height
text: catalog.i18nc("@info:tooltip", "Should models on the platform be moved so that they no longer intersect?")
CheckBox
Cura.CheckBox
{
id: pushFreeCheckbox
text: catalog.i18nc("@option:check", "Ensure models are kept apart")
@ -461,7 +461,7 @@ UM.PreferencesPage
height: childrenRect.height
text: catalog.i18nc("@info:tooltip", "Should models on the platform be moved down to touch the build plate?")
CheckBox
Cura.CheckBox
{
id: dropDownCheckbox
text: catalog.i18nc("@option:check", "Automatically drop models to the build plate")
@ -478,7 +478,7 @@ UM.PreferencesPage
text: catalog.i18nc("@info:tooltip","Show caution message in g-code reader.")
CheckBox
Cura.CheckBox
{
id: gcodeShowCautionCheckbox
@ -495,7 +495,7 @@ UM.PreferencesPage
height: childrenRect.height
text: catalog.i18nc("@info:tooltip", "Should layer be forced into compatibility mode?")
CheckBox
Cura.CheckBox
{
id: forceLayerViewCompatibilityModeCheckbox
text: catalog.i18nc("@option:check", "Force layer view compatibility mode (restart required)")
@ -510,7 +510,7 @@ UM.PreferencesPage
height: childrenRect.height
text: catalog.i18nc("@info:tooltip", "Should Cura open at the location it was closed?")
CheckBox
Cura.CheckBox
{
id: restoreWindowPositionCheckbox
text: catalog.i18nc("@option:check", "Restore window position on start")
@ -528,7 +528,7 @@ UM.PreferencesPage
{
spacing: 4 * screenScaleFactor
Label
UM.Label
{
text: catalog.i18nc("@window:text", "Camera rendering:")
}
@ -542,7 +542,7 @@ UM.PreferencesPage
}
}
ComboBox
Cura.ComboBox
{
id: cameraComboBox
@ -573,7 +573,7 @@ UM.PreferencesPage
width: UM.Theme.getSize("default_margin").height
}
Label
UM.Label
{
font.bold: true
text: catalog.i18nc("@label","Opening and saving files")
@ -585,7 +585,7 @@ UM.PreferencesPage
height: childrenRect.height
text: catalog.i18nc("@info:tooltip","Should opening files from the desktop or external applications open in the same instance of Cura?")
CheckBox
Cura.CheckBox
{
id: singleInstanceCheckbox
text: catalog.i18nc("@option:check","Use a single instance of Cura")
@ -601,7 +601,7 @@ UM.PreferencesPage
text: catalog.i18nc("@info:tooltip","Should the build plate be cleared before loading a new model in the single instance of Cura?")
enabled: singleInstanceCheckbox.checked
CheckBox
Cura.CheckBox
{
id: singleInstanceClearBeforeLoadCheckbox
text: catalog.i18nc("@option:check","Clear buildplate before loading model into the single instance")
@ -616,7 +616,7 @@ UM.PreferencesPage
height: childrenRect.height
text: catalog.i18nc("@info:tooltip","Should models be scaled to the build volume if they are too large?")
CheckBox
Cura.CheckBox
{
id: scaleToFitCheckbox
text: catalog.i18nc("@option:check","Scale large models")
@ -631,7 +631,7 @@ UM.PreferencesPage
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
Cura.CheckBox
{
id: scaleTinyCheckbox
text: catalog.i18nc("@option:check","Scale extremely small models")
@ -646,7 +646,7 @@ UM.PreferencesPage
height: childrenRect.height
text: catalog.i18nc("@info:tooltip","Should models be selected after they are loaded?")
CheckBox
Cura.CheckBox
{
id: selectModelsOnLoadCheckbox
text: catalog.i18nc("@option:check","Select models when loaded")
@ -661,7 +661,7 @@ UM.PreferencesPage
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
Cura.CheckBox
{
id: prefixJobNameCheckbox
text: catalog.i18nc("@option:check", "Add machine prefix to job name")
@ -676,7 +676,7 @@ UM.PreferencesPage
height: childrenRect.height
text: catalog.i18nc("@info:tooltip", "Should a summary be shown when saving a project file?")
CheckBox
Cura.CheckBox
{
text: catalog.i18nc("@option:check", "Show summary dialog when saving project")
checked: boolCheck(UM.Preferences.getValue("cura/dialog_on_project_save"))
@ -694,12 +694,12 @@ UM.PreferencesPage
{
spacing: 4 * screenScaleFactor
Label
UM.Label
{
text: catalog.i18nc("@window:text", "Default behavior when opening a project file: ")
}
ComboBox
Cura.ComboBox
{
id: choiceOnOpenProjectDropDownButton
width: Math.round(250 * screenScaleFactor)
@ -755,18 +755,18 @@ UM.PreferencesPage
{
spacing: 4 * screenScaleFactor
Label
UM.Label
{
font.bold: true
text: catalog.i18nc("@label", "Profiles")
}
Label
UM.Label
{
text: catalog.i18nc("@window:text", "Default behavior for changed setting values when switching to a different profile: ")
}
ComboBox
Cura.ComboBox
{
id: choiceOnProfileOverrideDropDownButton
width: Math.round(250 * screenScaleFactor)
@ -810,7 +810,7 @@ UM.PreferencesPage
width: UM.Theme.getSize("default_margin").height
}
Label
UM.Label
{
font.bold: true
text: catalog.i18nc("@label", "Privacy")
@ -821,7 +821,7 @@ UM.PreferencesPage
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
Cura.CheckBox
{
id: sendDataCheckbox
text: catalog.i18nc("@option:check","Send (anonymous) print information")
@ -848,7 +848,7 @@ UM.PreferencesPage
width: UM.Theme.getSize("default_margin").height
}
Label
UM.Label
{
font.bold: true
text: catalog.i18nc("@label", "Updates")
@ -860,7 +860,7 @@ UM.PreferencesPage
height: visible ? childrenRect.height : 0
text: catalog.i18nc("@info:tooltip", "Should Cura check for updates when the program is started?")
CheckBox
Cura.CheckBox
{
id: checkUpdatesCheckbox
text: catalog.i18nc("@option:check","Check for updates on start")
@ -913,7 +913,7 @@ UM.PreferencesPage
height: visible ? childrenRect.height : 0
text: catalog.i18nc("@info:tooltip", "Should an automatic check for new plugins be done every time Cura is started? It is highly recommended that you do not disable this!")
CheckBox
Cura.CheckBox
{
id: pluginNotificationsUpdateCheckbox
text: catalog.i18nc("@option:check", "Get notifications for plugin updates")

View file

@ -335,16 +335,19 @@ Item
folder: CuraApplication.getDefaultPath("dialog_material_path")
onAccepted:
{
var result = Cura.ContainerManager.importMaterialContainer(fileUrl);
const result = Cura.ContainerManager.importMaterialContainer(fileUrl);
const messageDialog = Qt.createQmlObject("import UM 1.5 as UM; UM.MessageDialog { onClosed: destroy() }", base);
messageDialog.standardButtons = Dialog.Ok;
messageDialog.title = catalog.i18nc("@title:window", "Import Material");
if(result.status == "success")
switch (result.status)
{
messageDialog.text = catalog.i18nc("@info:status Don't translate the XML tag <filename>!", "Successfully imported material <filename>%1</filename>").arg(fileUrl);
}
else
{
messageDialog.text = catalog.i18nc("@info:status Don't translate the XML tags <filename> or <message>!", "Could not import material <filename>%1</filename>: <message>%2</message>").arg(fileUrl).arg(result.message);
case "success":
messageDialog.text = catalog.i18nc("@info:status Don't translate the XML tag <filename>!", "Successfully imported material <filename>%1</filename>").arg(fileUrl);
break;
default:
messageDialog.text = catalog.i18nc("@info:status Don't translate the XML tags <filename> or <message>!", "Could not import material <filename>%1</filename>: <message>%2</message>").arg(fileUrl).arg(result.message);
break;
}
messageDialog.open();
CuraApplication.setDefaultPath("dialog_material_path", folder);
@ -360,25 +363,23 @@ Item
folder: CuraApplication.getDefaultPath("dialog_material_path")
onAccepted:
{
var result = Cura.ContainerManager.exportContainer(base.currentItem.root_material_id, selectedNameFilter, fileUrl);
const result = Cura.ContainerManager.exportContainer(base.currentItem.root_material_id, selectedNameFilter, fileUrl);
const messageDialog = Qt.createQmlObject("import UM 1.5 as UM; UM.MessageDialog { onClosed: destroy() }", base);
messageDialog.title = catalog.i18nc("@title:window", "Export Material");
if(result.status == "error")
messageDialog.standardButtons = Dialog.Ok;
switch (result.status)
{
messageDialog.text = catalog.i18nc("@info:status Don't translate the XML tags <filename> and <message>!", "Failed to export material to <filename>%1</filename>: <message>%2</message>").arg(fileUrl).arg(result.message);
messageDialog.open();
}
else if(result.status == "success")
{
messageDialog.text = catalog.i18nc("@info:status Don't translate the XML tag <filename>!", "Successfully exported material to <filename>%1</filename>").arg(result.path);
messageDialog.open();
case "error":
messageDialog.text = catalog.i18nc("@info:status Don't translate the XML tags <filename> and <message>!", "Failed to export material to <filename>%1</filename>: <message>%2</message>").arg(fileUrl).arg(result.message);
break;
case "success":
messageDialog.text = catalog.i18nc("@info:status Don't translate the XML tag <filename>!", "Successfully exported material to <filename>%1</filename>").arg(result.path);
break;
}
messageDialog.open();
CuraApplication.setDefaultPath("dialog_material_path", folder);
}
}
UM.MessageDialog
{
id: messageDialog
}
}

View file

@ -148,32 +148,32 @@ Item
}
Label { width: informationPage.columnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Display Name") }
ReadOnlyTextField
Cura.TextField
{
id: displayNameTextField;
width: informationPage.columnWidth;
text: properties.name;
readOnly: !base.editingEnabled;
enabled: base.editingEnabled;
onEditingFinished: base.updateMaterialDisplayName(properties.name, text)
}
Label { width: informationPage.columnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Brand") }
ReadOnlyTextField
Cura.TextField
{
id: brandTextField;
width: informationPage.columnWidth;
text: properties.brand;
readOnly: !base.editingEnabled;
id: brandTextField
width: informationPage.columnWidth
text: properties.brand
enabled: base.editingEnabled
onEditingFinished: base.updateMaterialBrand(properties.brand, text)
}
Label { width: informationPage.columnWidth; height: parent.rowHeight; verticalAlignment: Qt.AlignVCenter; text: catalog.i18nc("@label", "Material Type") }
ReadOnlyTextField
Cura.TextField
{
id: materialTypeField;
width: informationPage.columnWidth;
text: properties.material;
readOnly: !base.editingEnabled;
id: materialTypeField
width: informationPage.columnWidth
text: properties.material
enabled: base.editingEnabled
onEditingFinished: base.updateMaterialType(properties.material, text)
}
@ -206,12 +206,12 @@ Item
}
// pretty color name text field
ReadOnlyTextField
Cura.TextField
{
id: colorLabel;
width: parent.width - colorSelector.width - parent.spacing
text: properties.color_name;
readOnly: !base.editingEnabled
enabled: base.editingEnabled
onEditingFinished: base.setMetaDataEntry("color_name", properties.color_name, text)
}
@ -363,10 +363,11 @@ Item
ReadOnlyTextArea
{
text: properties.description;
width: 2 * informationPage.columnWidth
width: informationPage.columnWidth * 2
height: 0.75 * informationPage.columnWidth
wrapMode: Text.WordWrap
readOnly: !base.editingEnabled;
readOnly: !base.editingEnabled
onEditingFinished: base.setMetaDataEntry("description", properties.description, text)
}
@ -375,11 +376,11 @@ Item
ReadOnlyTextArea
{
text: properties.adhesion_info;
text: properties.adhesion_info
width: 2 * informationPage.columnWidth
wrapMode: Text.WordWrap
readOnly: !base.editingEnabled;
height: 0.75 * informationPage.columnWidth
readOnly: !base.editingEnabled
onEditingFinished: base.setMetaDataEntry("adhesion_info", properties.adhesion_info, text)
}

View file

@ -2,9 +2,10 @@
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.1
import QtQuick.Controls 1.1
import QtQuick.Controls 2.15
import UM 1.5 as UM
Item
ScrollView
{
id: base
@ -15,27 +16,25 @@ Item
property bool readOnly: false
width: textArea.width
height: textArea.height
TextArea
{
id: textArea
enabled: !base.readOnly
opacity: base.readOnly ? 0.5 : 1.0
selectByMouse: true
anchors.fill: parent
Keys.onReturnPressed:
background: Rectangle
{
base.editingFinished()
radius: UM.Theme.getSize("setting_control_radius").width
color: textArea.enabled ? UM.Theme.getColor("setting_control") : UM.Theme.getColor("setting_control_disabled")
}
Keys.onEnterPressed:
{
base.editingFinished()
}
color: UM.Theme.getColor("text")
font: UM.Theme.getFont("default")
Keys.onReturnPressed: base.editingFinished()
Keys.onEnterPressed: base.editingFinished()
onActiveFocusChanged:
{

View file

@ -1,48 +0,0 @@
// Copyright (c) 2016 Ultimaker B.V.
// Cura is released under the terms of the LGPLv3 or higher.
// Different than the name suggests, it is not always read-only.
import QtQuick 2.1
import QtQuick.Controls 1.1
Item
{
id: base
property alias text: textField.text
signal editingFinished();
property bool readOnly: false
width: textField.width
height: textField.height
TextField
{
id: textField
enabled: !base.readOnly
opacity: base.readOnly ? 0.5 : 1.0
anchors.fill: parent
onEditingFinished: base.editingFinished()
Keys.onEnterPressed: base.editingFinished()
Keys.onReturnPressed: base.editingFinished()
}
Label
{
visible: base.readOnly
text: textField.text
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
anchors.leftMargin: textField.__panel ? textField.__panel.leftMargin : 0
color: palette.buttonText
}
SystemPalette { id: palette }
}

View file

@ -17,8 +17,6 @@ TextField
property alias leftIcon: iconLeft.source
UM.I18nCatalog { id: catalog; name: "cura" }
hoverEnabled: true
selectByMouse: true
font: UM.Theme.getFont("default")