diff --git a/plugins/3MFReader/WorkspaceDialog.qml b/plugins/3MFReader/WorkspaceDialog.qml
index 450f01fbd5..898b1ea993 100644
--- a/plugins/3MFReader/WorkspaceDialog.qml
+++ b/plugins/3MFReader/WorkspaceDialog.qml
@@ -6,7 +6,7 @@ import QtQuick.Controls 2.3
import QtQuick.Layouts 1.3
import QtQuick.Window 2.2
-import UM 1.1 as UM
+import UM 1.5 as UM
import Cura 1.1 as Cura
UM.Dialog
@@ -19,9 +19,7 @@ UM.Dialog
width: minimumWidth
height: Math.max(dialogSummaryItem.height + 2 * buttonsItem.height, minimumHeight) // 2 * button height to also have some extra space around the button relative to the button size
- property int comboboxHeight: 15 * screenScaleFactor
- property int spacerHeight: 10 * screenScaleFactor
- property int doubleSpacerHeight: 20 * screenScaleFactor
+ property int comboboxHeight: UM.Theme.getSize("default_margin").height
onClosing: manager.notifyClosed()
onVisibleChanged:
@@ -46,10 +44,6 @@ UM.Dialog
id: catalog
name: "cura"
}
- SystemPalette
- {
- id: palette
- }
ListModel
{
@@ -68,45 +62,39 @@ UM.Dialog
{
width: parent.width
height: childrenRect.height
- spacing: 2 * screenScaleFactor
- Label
+ spacing: UM.Theme.getSize("default_margin").height
+
+ Column
{
- 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: doubleSpacerHeight
- width: height
+ height: cildrenRect.height
+
+ UM.Label
+ {
+ id: titleLabel
+ text: catalog.i18nc("@action:title", "Summary - Cura Project")
+ font: UM.Theme.getFont("large")
+ }
+
+ Rectangle
+ {
+ id: separator
+ color: UM.Theme.getColor("text")
+ width: parent.width
+ height: UM.Theme.getSize("default_lining").height
+ }
}
- Row
+ Item
{
- height: childrenRect.height
width: parent.width
- Label
- {
- text: catalog.i18nc("@action:label", "Printer settings")
- font.bold: true
- width: (parent.width / 3) | 0
- }
- Item
- {
- // spacer
- height: spacerHeight
- width: (parent.width / 3) | 0
- }
+ height: childrenRect.height
+
UM.TooltipArea
{
id: machineResolveStrategyTooltip
+ anchors.top: parent.top
+ anchors.right: parent.right
width: (parent.width / 3) | 0
height: visible ? comboboxHeight : 0
visible: base.visible && machineResolveComboBox.model.count > 1
@@ -157,64 +145,65 @@ UM.Dialog
}
}
}
- }
- Row
- {
- width: parent.width
- height: childrenRect.height
- Label
+
+ Column
{
- text: catalog.i18nc("@action:label", "Type")
- width: (parent.width / 3) | 0
- }
- Label
- {
- text: manager.machineType
- width: (parent.width / 3) | 0
+ width: parent.width
+ height: cildrenRect.height
+
+ UM.Label
+ {
+ id: printer_settings_label
+ text: catalog.i18nc("@action:label", "Printer settings")
+ font: UM.Theme.getFont("default_bold")
+ }
+
+ Row
+ {
+ width: parent.width
+ height: childrenRect.height
+
+ UM.Label
+ {
+ text: catalog.i18nc("@action:label", "Type")
+ width: (parent.width / 3) | 0
+ }
+ UM.Label
+ {
+ text: manager.machineType
+ width: (parent.width / 3) | 0
+ }
+ }
+
+ Row
+ {
+ width: parent.width
+ height: childrenRect.height
+
+ UM.Label
+ {
+ text: catalog.i18nc("@action:label", manager.isPrinterGroup ? "Printer Group" : "Printer Name")
+ width: (parent.width / 3) | 0
+ }
+ UM.Label
+ {
+ text: manager.machineName
+ width: (parent.width / 3) | 0
+ wrapMode: Text.WordWrap
+ }
+ }
}
}
- Row
+ Item
{
width: parent.width
height: childrenRect.height
- Label
- {
- text: catalog.i18nc("@action:label", manager.isPrinterGroup ? "Printer Group" : "Printer Name")
- width: (parent.width / 3) | 0
- }
- Label
- {
- text: manager.machineName
- width: (parent.width / 3) | 0
- wrapMode: Text.WordWrap
- }
- }
- Item // Spacer
- {
- height: doubleSpacerHeight
- width: height
- }
- Row
- {
- height: childrenRect.height
- width: parent.width
- Label
- {
- text: catalog.i18nc("@action:label", "Profile settings")
- font.bold: true
- width: (parent.width / 3) | 0
- }
- Item
- {
- // spacer
- height: spacerHeight
- width: (parent.width / 3) | 0
- }
UM.TooltipArea
{
- id: qualityChangesResolveTooltip
+ anchors.right: parent.right
+ anchors.top: parent.top
width: (parent.width / 3) | 0
height: visible ? comboboxHeight : 0
visible: manager.qualityChangesConflict
@@ -232,96 +221,105 @@ UM.Dialog
}
}
}
+
+ Column
+ {
+ width: parent.width
+ height: cildrenRect.height
+
+ UM.Label
+ {
+ text: catalog.i18nc("@action:label", "Profile settings")
+ font: UM.Theme.getFont("default_bold")
+ }
+
+ Row
+ {
+ width: parent.width
+ height: childrenRect.height
+
+ UM.Label
+ {
+ text: catalog.i18nc("@action:label", "Name")
+ width: (parent.width / 3) | 0
+ }
+ UM.Label
+ {
+ text: manager.qualityName
+ width: (parent.width / 3) | 0
+ wrapMode: Text.WordWrap
+ }
+ }
+
+ Row
+ {
+ width: parent.width
+ height: childrenRect.height
+
+ UM.Label
+ {
+ text: catalog.i18nc("@action:label", "Intent")
+ width: (parent.width / 3) | 0
+ }
+ UM.Label
+ {
+ text: manager.intentName
+ width: (parent.width / 3) | 0
+ wrapMode: Text.WordWrap
+ }
+ }
+
+ Row
+ {
+ width: parent.width
+ height: childrenRect.height
+
+ UM.Label
+ {
+ text: catalog.i18nc("@action:label", "Not in profile")
+ visible: manager.numUserSettings != 0
+ width: (parent.width / 3) | 0
+ }
+ UM.Label
+ {
+ text: catalog.i18ncp("@action:label", "%1 override", "%1 overrides", manager.numUserSettings).arg(manager.numUserSettings)
+ visible: manager.numUserSettings != 0
+ width: (parent.width / 3) | 0
+ }
+ }
+
+ Row
+ {
+ width: parent.width
+ height: childrenRect.height
+
+ UM.Label
+ {
+ text: catalog.i18nc("@action:label", "Derivative from")
+ visible: manager.numSettingsOverridenByQualityChanges != 0
+ width: (parent.width / 3) | 0
+ }
+ UM.Label
+ {
+ text: catalog.i18ncp("@action:label", "%1, %2 override", "%1, %2 overrides", manager.numSettingsOverridenByQualityChanges).arg(manager.qualityType).arg(manager.numSettingsOverridenByQualityChanges)
+ width: (parent.width / 3) | 0
+ visible: manager.numSettingsOverridenByQualityChanges != 0
+ wrapMode: Text.WordWrap
+ }
+ }
+ }
}
- Row
+
+ Item
{
width: parent.width
height: childrenRect.height
- Label
- {
- text: catalog.i18nc("@action:label", "Name")
- width: (parent.width / 3) | 0
- }
- Label
- {
- text: manager.qualityName
- width: (parent.width / 3) | 0
- wrapMode: Text.WordWrap
- }
- }
- Row
- {
- width: parent.width
- height: childrenRect.height
- Label
- {
- text: catalog.i18nc("@action:label", "Intent")
- width: (parent.width / 3) | 0
- }
- Label
- {
- text: manager.intentName
- width: (parent.width / 3) | 0
- wrapMode: Text.WordWrap
- }
- }
- Row
- {
- width: parent.width
- height: manager.numUserSettings != 0 ? childrenRect.height : 0
- Label
- {
- text: catalog.i18nc("@action:label", "Not in profile")
- width: (parent.width / 3) | 0
- }
- Label
- {
- text: catalog.i18ncp("@action:label", "%1 override", "%1 overrides", manager.numUserSettings).arg(manager.numUserSettings)
- width: (parent.width / 3) | 0
- }
- visible: manager.numUserSettings != 0
- }
- Row
- {
- width: parent.width
- height: manager.numSettingsOverridenByQualityChanges != 0 ? childrenRect.height : 0
- Label
- {
- text: catalog.i18nc("@action:label", "Derivative from")
- width: (parent.width / 3) | 0
- }
- Label
- {
- text: catalog.i18ncp("@action:label", "%1, %2 override", "%1, %2 overrides", manager.numSettingsOverridenByQualityChanges).arg(manager.qualityType).arg(manager.numSettingsOverridenByQualityChanges)
- width: (parent.width / 3) | 0
- wrapMode: Text.WordWrap
- }
- visible: manager.numSettingsOverridenByQualityChanges != 0
- }
- Item // Spacer
- {
- height: doubleSpacerHeight
- width: height
- }
- Row
- {
- height: childrenRect.height
- width: parent.width
- Label
- {
- text: catalog.i18nc("@action:label", "Material settings")
- font.bold: true
- width: (parent.width / 3) | 0
- }
- Item
- {
- // spacer
- height: spacerHeight
- width: (parent.width / 3) | 0
- }
+
UM.TooltipArea
{
id: materialResolveTooltip
+ anchors.right: parent.right
+ anchors.top: parent.top
width: (parent.width / 3) | 0
height: visible ? comboboxHeight : 0
visible: manager.materialConflict
@@ -339,76 +337,91 @@ UM.Dialog
}
}
}
+
+ Column
+ {
+ width: parent.width
+ height: cildrenRect.height
+ Row
+ {
+ height: childrenRect.height
+ width: parent.width
+ spacing: UM.Theme.getSize("narrow_margin").width
+
+ UM.Label
+ {
+ text: catalog.i18nc("@action:label", "Material settings")
+ font: UM.Theme.getFont("default_bold")
+ width: (parent.width / 3) | 0
+ }
+ }
+
+ Repeater
+ {
+ model: manager.materialLabels
+ delegate: Row
+ {
+ width: parent.width
+ height: childrenRect.height
+ UM.Label
+ {
+ text: catalog.i18nc("@action:label", "Name")
+ width: (parent.width / 3) | 0
+ }
+ UM.Label
+ {
+ text: modelData
+ width: (parent.width / 3) | 0
+ wrapMode: Text.WordWrap
+ }
+ }
+ }
+ }
}
- Repeater
+ Column
{
- model: manager.materialLabels
- delegate: Row
+ width: parent.width
+ height: cildrenRect.height
+
+ UM.Label
+ {
+ text: catalog.i18nc("@action:label", "Setting visibility")
+ font: UM.Theme.getFont("default_bold")
+ }
+ Row
{
width: parent.width
height: childrenRect.height
- Label
+ UM.Label
{
- text: catalog.i18nc("@action:label", "Name")
+ text: catalog.i18nc("@action:label", "Mode")
width: (parent.width / 3) | 0
}
- Label
+ UM.Label
{
- text: modelData
+ text: manager.activeMode
+ width: (parent.width / 3) | 0
+ }
+ }
+ Row
+ {
+ width: parent.width
+ height: childrenRect.height
+ visible: manager.hasVisibleSettingsField
+ UM.Label
+ {
+ text: catalog.i18nc("@action:label", "Visible settings:")
+ width: (parent.width / 3) | 0
+ }
+ UM.Label
+ {
+ text: catalog.i18nc("@action:label", "%1 out of %2" ).arg(manager.numVisibleSettings).arg(manager.totalNumberOfSettings)
width: (parent.width / 3) | 0
- wrapMode: Text.WordWrap
}
}
}
- Item // Spacer
- {
- height: doubleSpacerHeight
- 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", "Mode")
- width: (parent.width / 3) | 0
- }
- Label
- {
- text: manager.activeMode
- width: (parent.width / 3) | 0
- }
- }
- Row
- {
- width: parent.width
- height: childrenRect.height
- visible: manager.hasVisibleSettingsField
- Label
- {
- text: catalog.i18nc("@action:label", "Visible settings:")
- width: (parent.width / 3) | 0
- }
- Label
- {
- text: catalog.i18nc("@action:label", "%1 out of %2" ).arg(manager.numVisibleSettings).arg(manager.totalNumberOfSettings)
- width: (parent.width / 3) | 0
- }
- }
- Item // Spacer
- {
- height: spacerHeight
- width: height
- }
Row
{
width: parent.width
@@ -418,12 +431,10 @@ UM.Dialog
{
width: warningLabel.height
height: width
-
source: UM.Theme.getIcon("Information")
- color: palette.text
-
+ color: UM.Theme.getColor("text")
}
- Label
+ UM.Label
{
id: warningLabel
text: catalog.i18nc("@action:warning", "Loading a project will clear all models on the build plate.")
@@ -432,44 +443,22 @@ UM.Dialog
}
}
}
- Item
- {
- id: buttonsItem
- width: parent.width
- height: childrenRect.height
- anchors.bottom: parent.bottom
- anchors.right: parent.right
- Button
+
+ buttonSpacing: UM.Theme.getSize("default_margin").width
+
+ rightButtons: [
+ Cura.TertiaryButton
{
- id: cancel_button
- text: catalog.i18nc("@action:button","Cancel");
- onClicked: { manager.onCancelButtonClicked() }
- enabled: true
- anchors.bottom: parent.bottom
- anchors.right: ok_button.left
- anchors.rightMargin: 2 * screenScaleFactor
- }
- Button
+ text: catalog.i18nc("@action:button", "Cancel")
+ onClicked: reject()
+ },
+ Cura.PrimaryButton
{
- id: ok_button
- anchors.right: parent.right
- anchors.bottom: parent.bottom
- text: catalog.i18nc("@action:button","Open");
- onClicked: { manager.closeBackend(); manager.onOkButtonClicked() }
+ text: catalog.i18nc("@action:button", "Open")
+ onClicked: accept()
}
- }
+ ]
-
- function accept() {
- manager.closeBackend();
- manager.onOkButtonClicked();
- base.visible = false;
- base.accept();
- }
-
- function reject() {
- manager.onCancelButtonClicked();
- base.visible = false;
- base.rejected();
- }
+ onRejected: manager.onCancelButtonClicked()
+ onAccepted: manager.onOkButtonClicked()
}
diff --git a/plugins/CuraDrive/src/qml/components/BackupListItem.qml b/plugins/CuraDrive/src/qml/components/BackupListItem.qml
index 41e3fb0bf6..a3b9770718 100644
--- a/plugins/CuraDrive/src/qml/components/BackupListItem.qml
+++ b/plugins/CuraDrive/src/qml/components/BackupListItem.qml
@@ -87,7 +87,7 @@ Item
anchors.top: dataRow.bottom
}
- UM.MessageDialog
+ Cura.MessageDialog
{
id: confirmDeleteDialog
title: catalog.i18nc("@dialog:title", "Delete Backup")
@@ -96,7 +96,7 @@ Item
onAccepted: CuraDrive.deleteBackup(modelData.backup_id)
}
- UM.MessageDialog
+ Cura.MessageDialog
{
id: confirmRestoreDialog
title: catalog.i18nc("@dialog:title", "Restore Backup")
diff --git a/plugins/DigitalLibrary/resources/qml/Table.qml b/plugins/DigitalLibrary/resources/qml/Table.qml
index 0f539675a0..c4aafc1ce4 100644
--- a/plugins/DigitalLibrary/resources/qml/Table.qml
+++ b/plugins/DigitalLibrary/resources/qml/Table.qml
@@ -35,7 +35,8 @@ Item
model: columnHeaders
Rectangle
{
- width: Math.max(1, Math.round(tableBase.width / headerRepeater.count))
+ //minimumWidth: Math.max(1, Math.round(tableBase.width / headerRepeater.count))
+ width: 300
height: UM.Theme.getSize("section").height
color: UM.Theme.getColor("secondary")
diff --git a/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml b/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml
index 47387daa28..c679c4328c 100644
--- a/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml
+++ b/plugins/FirmwareUpdater/FirmwareUpdaterMachineAction.qml
@@ -49,7 +49,7 @@ Cura.MachineAction
width: childrenRect.width
spacing: UM.Theme.getSize("default_margin").width
property string firmwareName: Cura.MachineManager.activeMachine.getDefaultFirmwareName()
- Button
+ Cura.SecondaryButton
{
id: autoUpgradeButton
text: catalog.i18nc("@action:button", "Automatically upgrade Firmware")
@@ -60,7 +60,7 @@ Cura.MachineAction
activeOutputDevice.updateFirmware(parent.firmwareName);
}
}
- Button
+ Cura.SecondaryButton
{
id: manualUpgradeButton
text: catalog.i18nc("@action:button", "Upload custom Firmware")
@@ -173,7 +173,7 @@ Cura.MachineAction
}
rightButtons: [
- Button
+ Cura.SecondaryButton
{
text: catalog.i18nc("@action:button", "Close")
enabled: manager.firmwareUpdater != null ? manager.firmwareUpdater.firmwareUpdateState != 1 : true
diff --git a/plugins/ImageReader/ConfigUI.qml b/plugins/ImageReader/ConfigUI.qml
index 4b3035f271..ff79e4e31d 100644
--- a/plugins/ImageReader/ConfigUI.qml
+++ b/plugins/ImageReader/ConfigUI.qml
@@ -11,26 +11,25 @@ import Cura 1.0 as Cura
UM.Dialog
{
- title: catalog.i18nc("@title:window", "Convert Image...")
+ title: catalog.i18nc("@title:window", "Convert Image")
minimumWidth: grid.width + 2 * UM.Theme.getSize("default_margin").height
minimumHeight: UM.Theme.getSize("modal_window_minimum").height
width: minimumWidth
height: minimumHeight
-
-
GridLayout
{
UM.I18nCatalog { id: catalog; name: "cura" }
id: grid
- columnSpacing: UM.Theme.getSize("default_margin").width
- rowSpacing: UM.Theme.getSize("thin_margin").height
+ columnSpacing: UM.Theme.getSize("narrow_margin").width
+ rowSpacing: UM.Theme.getSize("narrow_margin").height
columns: 2
UM.Label
{
Layout.fillWidth: true
+ Layout.minimumWidth: UM.Theme.getSize("setting_control").width
text: catalog.i18nc("@action:label", "Height (mm)")
Layout.alignment: Qt.AlignVCenter
@@ -45,6 +44,7 @@ UM.Dialog
{
id: peak_height
Layout.fillWidth: true
+ Layout.minimumWidth: UM.Theme.getSize("setting_control").width
selectByMouse: true
objectName: "Peak_Height"
validator: RegExpValidator { regExp: /^\d{0,3}([\,|\.]\d*)?$/ }
@@ -62,6 +62,7 @@ UM.Dialog
UM.Label
{
Layout.fillWidth: true
+ Layout.minimumWidth: UM.Theme.getSize("setting_control").width
text: catalog.i18nc("@action:label", "Base (mm)")
Layout.alignment: Qt.AlignVCenter
@@ -78,6 +79,7 @@ UM.Dialog
id: base_height
selectByMouse: true
Layout.fillWidth: true
+ Layout.minimumWidth: UM.Theme.getSize("setting_control").width
objectName: "Base_Height"
validator: RegExpValidator { regExp: /^\d{0,3}([\,|\.]\d*)?$/ }
onTextChanged: manager.onBaseHeightChanged(text)
@@ -94,6 +96,7 @@ UM.Dialog
UM.Label
{
Layout.fillWidth: true
+ Layout.minimumWidth: UM.Theme.getSize("setting_control").width
text: catalog.i18nc("@action:label", "Width (mm)")
Layout.alignment: Qt.AlignVCenter
@@ -110,6 +113,7 @@ UM.Dialog
selectByMouse: true
objectName: "Width"
Layout.fillWidth: true
+ Layout.minimumWidth: UM.Theme.getSize("setting_control").width
focus: true
validator: RegExpValidator { regExp: /^[1-9]\d{0,2}([\,|\.]\d*)?$/ }
onTextChanged: manager.onWidthChanged(text)
@@ -126,6 +130,7 @@ UM.Dialog
UM.Label
{
Layout.fillWidth: true
+ Layout.minimumWidth: UM.Theme.getSize("setting_control").width
text: catalog.i18nc("@action:label", "Depth (mm)")
Layout.alignment: Qt.AlignVCenter
@@ -140,6 +145,7 @@ UM.Dialog
{
id: depth
Layout.fillWidth: true
+ Layout.minimumWidth: UM.Theme.getSize("setting_control").width
selectByMouse: true
objectName: "Depth"
focus: true
@@ -158,6 +164,7 @@ UM.Dialog
UM.Label
{
Layout.fillWidth: true
+ Layout.minimumWidth: UM.Theme.getSize("setting_control").width
text: ""
Layout.alignment: Qt.AlignVCenter
@@ -172,9 +179,14 @@ UM.Dialog
{
id: lighter_is_higher
Layout.fillWidth: true
- Layout.preferredHeight: UM.Theme.getSize("toolbox_action_button").height
+ Layout.minimumWidth: UM.Theme.getSize("setting_control").width
+ Layout.preferredHeight: UM.Theme.getSize("setting_control").height
objectName: "Lighter_Is_Higher"
- model: [catalog.i18nc("@item:inlistbox", "Darker is higher"), catalog.i18nc("@item:inlistbox", "Lighter is higher")]
+ textRole: "text"
+ model: [
+ { text: catalog.i18nc("@item:inlistbox", "Darker is higher") },
+ { text: catalog.i18nc("@item:inlistbox", "Lighter is higher") }
+ ]
onCurrentIndexChanged: { manager.onImageColorInvertChanged(currentIndex) }
}
@@ -189,6 +201,7 @@ UM.Dialog
UM.Label
{
Layout.fillWidth: true
+ Layout.minimumWidth: UM.Theme.getSize("setting_control").width
text: catalog.i18nc("@action:label", "Color Model")
Layout.alignment: Qt.AlignVCenter
@@ -203,10 +216,15 @@ UM.Dialog
{
id: color_model
Layout.fillWidth: true
+ Layout.minimumWidth: UM.Theme.getSize("setting_control").width
+ Layout.preferredHeight: UM.Theme.getSize("setting_control").height
objectName: "ColorModel"
- model: [catalog.i18nc("@item:inlistbox", "Linear"), catalog.i18nc("@item:inlistbox", "Translucency")]
+ textRole: "text"
+ model: [
+ { text: catalog.i18nc("@item:inlistbox", "Linear") },
+ { text: catalog.i18nc("@item:inlistbox", "Translucency") }
+ ]
onCurrentIndexChanged: { manager.onColorModelChanged(currentIndex) }
- Layout.preferredHeight: UM.Theme.getSize("toolbox_action_button").height
}
Cura.ToolTip
@@ -220,6 +238,7 @@ UM.Dialog
UM.Label
{
Layout.fillWidth: true
+ Layout.minimumWidth: UM.Theme.getSize("setting_control").width
text: catalog.i18nc("@action:label", "1mm Transmittance (%)")
Layout.alignment: Qt.AlignVCenter
@@ -232,25 +251,26 @@ UM.Dialog
Cura.TextField
{
- id: transmittance
Layout.fillWidth: true
+ Layout.minimumWidth: UM.Theme.getSize("setting_control").width
selectByMouse: true
objectName: "Transmittance"
validator: RegExpValidator { regExp: /^[1-9]\d{0,2}([\,|\.]\d*)?$/ }
onTextChanged: manager.onTransmittanceChanged(text)
- }
- Cura.ToolTip
- {
- text: catalog.i18nc("@info:tooltip", "The percentage of light penetrating a print with a thickness of 1 millimeter. Lowering this value increases the contrast in dark regions and decreases the contrast in light regions of the image.")
- visible: transmittance.hovered || transmittance_label.containsMouse
- targetPoint: Qt.point(transmittance.x + Math.round(transmittance.width / 2), 0)
- y: transmittance.y + transmittance.height + UM.Theme.getSize("default_margin").height
+ Cura.ToolTip
+ {
+ text: catalog.i18nc("@info:tooltip", "The percentage of light penetrating a print with a thickness of 1 millimeter. Lowering this value increases the contrast in dark regions and decreases the contrast in light regions of the image.")
+ visible: parent.hovered || transmittance_label.containsMouse
+ targetPoint: Qt.point(parent.x + Math.round(parent.width / 2), 0)
+ y: parent.y + parent.height + UM.Theme.getSize("default_margin").height
+ }
}
UM.Label
{
Layout.fillWidth: true
+ Layout.minimumWidth: UM.Theme.getSize("setting_control").width
text: catalog.i18nc("@action:label", "Smoothing")
Layout.alignment: Qt.AlignVCenter
@@ -262,14 +282,15 @@ UM.Dialog
}
}
- Slider
+ Cura.SpinBox
{
id: smoothing
Layout.fillWidth: true
+ Layout.minimumWidth: UM.Theme.getSize("setting_control").width
objectName: "Smoothing"
to: 100.0
stepSize: 1.0
- onValueChanged: { manager.onSmoothingChanged(value) }
+ onValueChanged: manager.onSmoothingChanged(value)
}
Cura.ToolTip
@@ -293,18 +314,20 @@ UM.Dialog
onAccepted: manager.onOkButtonClicked()
onRejected: manager.onCancelButtonClicked()
+ buttonSpacing: UM.Theme.getSize("default_margin").width
+
rightButtons: [
- Button
- {
- id: ok_button
- text: catalog.i18nc("@action:button", "OK")
- onClicked: manager.onOkButtonClicked()
- },
- Button
+ Cura.TertiaryButton
{
id: cancel_button
text: catalog.i18nc("@action:button", "Cancel")
onClicked: manager.onCancelButtonClicked()
+ },
+ Cura.PrimaryButton
+ {
+ id: ok_button
+ text: catalog.i18nc("@action:button", "OK")
+ onClicked: manager.onOkButtonClicked()
}
]
}
diff --git a/plugins/MachineSettingsAction/MachineSettingsAction.qml b/plugins/MachineSettingsAction/MachineSettingsAction.qml
index 0f0ffac8cd..7f72fea4c3 100644
--- a/plugins/MachineSettingsAction/MachineSettingsAction.qml
+++ b/plugins/MachineSettingsAction/MachineSettingsAction.qml
@@ -5,7 +5,7 @@ import QtQuick 2.10
import QtQuick.Controls 2.3
import QtQuick.Layouts 1.3
-import UM 1.3 as UM
+import UM 1.5 as UM
import Cura 1.1 as Cura
@@ -88,7 +88,7 @@ Cura.MachineAction
}
}
- Label
+ UM.Label
{
id: machineNameLabel
anchors.top: parent.top
@@ -97,7 +97,6 @@ Cura.MachineAction
text: Cura.MachineManager.activeMachine.name
horizontalAlignment: Text.AlignHCenter
font: UM.Theme.getFont("large_bold")
- renderType: Text.NativeRendering
}
UM.TabRow
diff --git a/plugins/Marketplace/resources/qml/Marketplace.qml b/plugins/Marketplace/resources/qml/Marketplace.qml
index 5a30141b32..8fcba852bd 100644
--- a/plugins/Marketplace/resources/qml/Marketplace.qml
+++ b/plugins/Marketplace/resources/qml/Marketplace.qml
@@ -64,8 +64,8 @@ Window
// Page title.
Item
{
- implicitWidth: parent.width
- implicitHeight: childrenRect.height + UM.Theme.getSize("default_margin").height
+ Layout.preferredWidth: parent.width
+ Layout.preferredHeight: childrenRect.height + UM.Theme.getSize("default_margin").height
Label
{
diff --git a/plugins/PerObjectSettingsTool/PerObjectCategory.qml b/plugins/PerObjectSettingsTool/PerObjectCategory.qml
index 3f95d4e021..3d0b1d826e 100644
--- a/plugins/PerObjectSettingsTool/PerObjectCategory.qml
+++ b/plugins/PerObjectSettingsTool/PerObjectCategory.qml
@@ -11,19 +11,28 @@ import ".."
Button {
id: base;
- background: Item { }
+ background: Rectangle {
+ color: UM.Theme.getColor("category_background")
+ }
contentItem: Row
{
spacing: UM.Theme.getSize("default_lining").width
- UM.RecolorImage
+ Item //Wrapper to give space before icon with fixed width. This allows aligning checkbox with category icon.
{
- anchors.verticalCenter: parent.verticalCenter
- height: (label.height / 2) | 0
+ height: label.height
width: height
- source: base.checked ? UM.Theme.getIcon("ChevronSingleDown") : UM.Theme.getIcon("ChevronSingleRight");
- color: base.hovered ? palette.highlight : palette.buttonText
+ anchors.verticalCenter: parent.verticalCenter
+
+ UM.RecolorImage
+ {
+ anchors.verticalCenter: parent.verticalCenter
+ height: (label.height / 2) | 0
+ width: height
+ source: base.checked ? UM.Theme.getIcon("ChevronSingleDown") : UM.Theme.getIcon("ChevronSingleRight")
+ color: base.hovered ? UM.Theme.getColor("primary_button_hover"): UM.Theme.getColor("text")
+ }
}
UM.RecolorImage
{
@@ -31,22 +40,20 @@ Button {
height: label.height
width: height
source: UM.Theme.getIcon(definition.icon)
- color: base.hovered ? palette.highlight : palette.buttonText
+ color: base.hovered ? UM.Theme.getColor("primary_button_hover") : UM.Theme.getColor("text")
}
UM.Label
{
id: label
anchors.verticalCenter: parent.verticalCenter
text: base.text
- color: base.hovered ? palette.highlight : palette.buttonText
+ color: base.hovered ? UM.Theme.getColor("primary_button_hover") : UM.Theme.getColor("text")
font.bold: true
}
-
- SystemPalette { id: palette }
}
- signal showTooltip(string text);
- signal hideTooltip();
+ signal showTooltip(string text)
+ signal hideTooltip()
signal contextMenuRequested()
text: definition.label
diff --git a/plugins/PerObjectSettingsTool/PerObjectItem.qml b/plugins/PerObjectSettingsTool/PerObjectItem.qml
index ac78da7850..0c8015541e 100644
--- a/plugins/PerObjectSettingsTool/PerObjectItem.qml
+++ b/plugins/PerObjectSettingsTool/PerObjectItem.qml
@@ -10,16 +10,25 @@ import Cura 1.0 as Cura
UM.TooltipArea
{
- x: model.depth * UM.Theme.getSize("default_margin").width;
- text: model.description;
+ x: model.depth * UM.Theme.getSize("default_margin").width
+ text: model.description
- width: childrenRect.width;
- height: childrenRect.height;
+ width: childrenRect.width
+ height: childrenRect.height
+
+ Item
+ {
+ id: spacer
+ // Align checkbox with PerObjectCategory icon
+ width: UM.Theme.getSize("default_margin").width
+ }
UM.CheckBox
{
id: check
+ anchors.left: spacer.right
+
text: definition.label
checked: addedSettingsModel.getVisible(model.key)
diff --git a/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml b/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml
index 94016636db..03e1da7d35 100644
--- a/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml
+++ b/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml
@@ -425,8 +425,6 @@ Item
storeIndex: 0
}
- SystemPalette { id: palette }
-
Component
{
id: settingTextField
diff --git a/plugins/PerObjectSettingsTool/SettingPickDialog.qml b/plugins/PerObjectSettingsTool/SettingPickDialog.qml
index 33710acc06..d7d8091121 100644
--- a/plugins/PerObjectSettingsTool/SettingPickDialog.qml
+++ b/plugins/PerObjectSettingsTool/SettingPickDialog.qml
@@ -13,7 +13,8 @@ UM.Dialog
id: settingPickDialog
title: catalog.i18nc("@title:window", "Select Settings to Customize for this model")
- width: screenScaleFactor * 360
+ width: UM.Theme.getSize("small_popup_dialog").width
+ backgroundColor: UM.Theme.getColor("background_1")
property var additional_excluded_settings
@@ -78,12 +79,13 @@ UM.Dialog
anchors
{
top: filterInput.bottom
+ topMargin: UM.Theme.getSize("default_margin").height
left: parent.left
right: parent.right
bottom: parent.bottom
}
- ScrollBar.vertical: UM.ScrollBar {}
+ ScrollBar.vertical: UM.ScrollBar { id: scrollBar }
clip: true
model: UM.SettingDefinitionsModel
@@ -104,7 +106,7 @@ UM.Dialog
{
id: loader
- width: listview.width
+ width: listview.width - scrollBar.width
height: model.type != undefined ? UM.Theme.getSize("section").height : 0
property var definition: model
@@ -126,10 +128,10 @@ UM.Dialog
}
rightButtons: [
- Button
+ Cura.TertiaryButton
{
text: catalog.i18nc("@action:button", "Close")
- onClicked: settingPickDialog.visible = false
+ onClicked: reject()
}
]
}
\ No newline at end of file
diff --git a/plugins/PostProcessingPlugin/PostProcessingPlugin.qml b/plugins/PostProcessingPlugin/PostProcessingPlugin.qml
index 24dc141fef..9c59f9e879 100644
--- a/plugins/PostProcessingPlugin/PostProcessingPlugin.qml
+++ b/plugins/PostProcessingPlugin/PostProcessingPlugin.qml
@@ -15,14 +15,15 @@ UM.Dialog
id: dialog
title: catalog.i18nc("@title:window", "Post Processing Plugin")
- width: 700 * screenScaleFactor;
- height: 500 * screenScaleFactor;
- minimumWidth: 400 * screenScaleFactor;
- minimumHeight: 250 * screenScaleFactor;
+ width: 700 * screenScaleFactor
+ height: 500 * screenScaleFactor
+ minimumWidth: 400 * screenScaleFactor
+ minimumHeight: 250 * screenScaleFactor
onVisibleChanged:
{
- if(!visible) //Whenever the window is closed (either via the "Close" button or the X on the window frame), we want to update it in the stack.
+ // Whenever the window is closed (either via the "Close" button or the X on the window frame), we want to update it in the stack.
+ if (!visible)
{
manager.writeScriptsToStack()
}
@@ -35,8 +36,7 @@ UM.Dialog
property int columnWidth: Math.round((base.width / 2) - UM.Theme.getSize("default_margin").width)
property int textMargin: UM.Theme.getSize("narrow_margin").width
property string activeScriptName
- SystemPalette{ id: palette }
- SystemPalette{ id: disabledPalette; colorGroup: SystemPalette.Disabled }
+
anchors.fill: parent
ButtonGroup
@@ -51,14 +51,12 @@ UM.Dialog
spacing: base.textMargin
- Label
+ UM.Label
{
id: activeScriptsHeader
text: catalog.i18nc("@label", "Post Processing Scripts")
anchors.left: parent.left
- anchors.leftMargin: base.textMargin
anchors.right: parent.right
- anchors.rightMargin: base.textMargin
font: UM.Theme.getFont("large_bold")
elide: Text.ElideRight
}
@@ -68,7 +66,6 @@ UM.Dialog
anchors
{
left: parent.left
- leftMargin: UM.Theme.getSize("default_margin").width
right: parent.right
rightMargin: base.textMargin
}
@@ -80,166 +77,168 @@ UM.Dialog
id: activeScriptsScrollBar
}
model: manager.scriptList
- delegate: Item
+
+ delegate: Button
{
+ id: activeScriptButton
+
width: parent.width - activeScriptsScrollBar.width
- height: activeScriptButton.height
- Button
- {
- id: activeScriptButton
- text: manager.getScriptLabelByKey(modelData.toString())
- ButtonGroup.group: selectedScriptGroup
- width: parent.width
- height: UM.Theme.getSize("setting").height
- checkable: true
+ height: UM.Theme.getSize("standard_list_lineheight").height
- checked:
+ ButtonGroup.group: selectedScriptGroup
+ checkable: true
+
+ checked:
+ {
+ if (manager.selectedScriptIndex == index)
{
- if (manager.selectedScriptIndex == index)
- {
- base.activeScriptName = manager.getScriptLabelByKey(modelData.toString())
- return true
- }
- else
- {
- return false
- }
- }
- onClicked:
- {
- forceActiveFocus()
- manager.setSelectedScriptIndex(index)
base.activeScriptName = manager.getScriptLabelByKey(modelData.toString())
+ return true
}
-
- background: Rectangle
+ else
{
- color: activeScriptButton.checked ? palette.highlight : "transparent"
+ return false
}
- contentItem: Label
- {
- wrapMode: Text.Wrap
- text: activeScriptButton.text
- elide: Text.ElideRight
- color: activeScriptButton.checked ? palette.highlightedText : palette.text
- }
-
}
- Button
+ background: Rectangle
{
- id: removeButton
- text: "x"
- width: 20 * screenScaleFactor
- height: 20 * screenScaleFactor
- anchors.right: parent.right
- anchors.verticalCenter: parent.verticalCenter
- onClicked: manager.removeScriptByIndex(index)
- contentItem: Item
+ color: activeScriptButton.checked ? UM.Theme.getColor("background_3") : "transparent"
+ }
+
+ onClicked:
+ {
+ forceActiveFocus()
+ manager.setSelectedScriptIndex(index)
+ base.activeScriptName = manager.getScriptLabelByKey(modelData.toString())
+ }
+
+ RowLayout
+ {
+ anchors.fill: parent
+
+ UM.Label
{
+ Layout.fillWidth: true
+ text: manager.getScriptLabelByKey(modelData.toString())
+ }
+
+ Item
+ {
+ id: downButton
+ Layout.preferredWidth: height
+ Layout.fillHeight: true
+ enabled: index != manager.scriptList.length - 1
+
+ MouseArea
+ {
+ anchors.fill: parent
+ onClicked:
+ {
+ if (manager.selectedScriptIndex == index)
+ {
+ manager.setSelectedScriptIndex(index + 1)
+ }
+ return manager.moveScript(index, index + 1)
+ }
+ }
+
UM.RecolorImage
{
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
- width: Math.round(removeButton.width / 2.7)
- height: Math.round(removeButton.height / 2.7)
- sourceSize.height: width
- color: palette.text
- source: UM.Theme.getIcon("Cancel")
- }
- }
-
- }
- Button
- {
- id: downButton
- text: ""
- anchors.right: removeButton.left
- anchors.verticalCenter: parent.verticalCenter
- enabled: index != manager.scriptList.length - 1
- width: 20 * screenScaleFactor
- height: 20 * screenScaleFactor
- onClicked:
- {
- if (manager.selectedScriptIndex == index)
- {
- manager.setSelectedScriptIndex(index + 1)
- }
- return manager.moveScript(index, index + 1)
- }
- contentItem: Item
- {
- UM.RecolorImage
- {
- anchors.verticalCenter: parent.verticalCenter
- anchors.horizontalCenter: parent.horizontalCenter
- width: Math.round(downButton.width / 2.5)
- height: Math.round(downButton.height / 2.5)
- sourceSize.height: width
- color: downButton.enabled ? palette.text : disabledPalette.text
+ width: UM.Theme.getSize("standard_arrow").width
+ height: UM.Theme.getSize("standard_arrow").height
+ sourceSize.width: width
+ sourceSize.height: height
+ color: parent.enabled ? UM.Theme.getColor("text") : UM.Theme.getColor("text_disabled")
source: UM.Theme.getIcon("ChevronSingleDown")
}
}
- }
- Button
- {
- id: upButton
- text: ""
- enabled: index != 0
- width: 20 * screenScaleFactor
- height: 20 * screenScaleFactor
- anchors.right: downButton.left
- anchors.verticalCenter: parent.verticalCenter
- onClicked:
+ Item
{
- if (manager.selectedScriptIndex == index)
+ id: upButton
+ Layout.preferredWidth: height
+ Layout.fillHeight: true
+ enabled: index != 0
+
+ MouseArea
{
- manager.setSelectedScriptIndex(index - 1)
+ anchors.fill: parent
+ onClicked:
+ {
+ if (manager.selectedScriptIndex == index)
+ {
+ manager.setSelectedScriptIndex(index - 1)
+ }
+ return manager.moveScript(index, index - 1)
+ }
}
- return manager.moveScript(index, index - 1)
- }
- contentItem: Item
- {
+
UM.RecolorImage
{
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
- width: Math.round(upButton.width / 2.5)
- height: Math.round(upButton.height / 2.5)
- sourceSize.height: width
- color: upButton.enabled ? palette.text : disabledPalette.text
+ width: UM.Theme.getSize("standard_arrow").width
+ height: UM.Theme.getSize("standard_arrow").height
+ sourceSize.width: width
+ sourceSize.height: height
+ color: upButton.enabled ? UM.Theme.getColor("text") : UM.Theme.getColor("text_disabled")
source: UM.Theme.getIcon("ChevronSingleUp")
}
}
+
+ Item
+ {
+ id: removeButton
+ Layout.preferredWidth: height
+ Layout.fillHeight: true
+
+ MouseArea
+ {
+ anchors.fill: parent
+ onClicked: manager.removeScriptByIndex(index)
+ }
+
+ UM.RecolorImage
+ {
+ anchors.verticalCenter: parent.verticalCenter
+ anchors.horizontalCenter: parent.horizontalCenter
+ width: UM.Theme.getSize("standard_arrow").width
+ height: UM.Theme.getSize("standard_arrow").height
+ sourceSize.width: width
+ sourceSize.height: height
+ color: UM.Theme.getColor("text")
+ source: UM.Theme.getIcon("Cancel")
+ }
+ }
}
}
}
- Button
+ Cura.SecondaryButton
{
id: addButton
text: catalog.i18nc("@action", "Add a script")
- anchors.left: parent.left
- anchors.leftMargin: base.textMargin
onClicked: scriptsMenu.open()
}
- Menu
+ }
+
+ Cura.Menu
+ {
+ id: scriptsMenu
+
+ Models.Instantiator
{
- id: scriptsMenu
- width: parent.width
+ model: manager.loadedScriptList
- Models.Instantiator
+ Cura.MenuItem
{
- model: manager.loadedScriptList
-
- MenuItem
- {
- text: manager.getScriptLabelByKey(modelData.toString())
- onTriggered: manager.addScriptToList(modelData.toString())
- }
-
- onObjectAdded: scriptsMenu.insertItem(index, object)
- onObjectRemoved: scriptsMenu.removeItem(object)
+ text: manager.getScriptLabelByKey(modelData.toString())
+ onTriggered: manager.addScriptToList(modelData.toString())
}
+
+ onObjectAdded: scriptsMenu.insertItem(index, object)
+ onObjectRemoved: scriptsMenu.removeItem(object)
}
}
@@ -304,16 +303,9 @@ UM.Dialog
width: listview.width
height:
{
- if(provider.properties.enabled == "True")
+ if (provider.properties.enabled == "True" && model.type != undefined)
{
- if(model.type != undefined)
- {
- return UM.Theme.getSize("section").height
- }
- else
- {
- return 0
- }
+ return UM.Theme.getSize("section").height;
}
else
{
@@ -393,10 +385,10 @@ UM.Dialog
function onShowTooltip(text)
{
- tooltip.text = text
- var position = settingLoader.mapToItem(settingsPanel, settingsPanel.x, 0)
- tooltip.show(position)
- tooltip.target.x = position.x + 1
+ tooltip.text = text;
+ var position = settingLoader.mapToItem(settingsPanel, settingsPanel.x, 0);
+ tooltip.show(position);
+ tooltip.target.x = position.x + 1;
}
function onHideTooltip() { tooltip.hide() }
@@ -453,7 +445,7 @@ UM.Dialog
}
}
- rightButtons: Button
+ rightButtons: Cura.TertiaryButton
{
text: catalog.i18nc("@action:button", "Close")
onClicked: dialog.accept()
diff --git a/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml b/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml
index 587ab61613..e68f552f7b 100644
--- a/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml
+++ b/plugins/UM3NetworkPrinting/resources/qml/DiscoverUM3Action.qml
@@ -35,8 +35,8 @@ Cura.MachineAction
id: discoverUM3Action
spacing: UM.Theme.getSize("default_margin").height
- SystemPalette { id: palette }
UM.I18nCatalog { id: catalog; name:"cura" }
+
UM.Label
{
id: pageTitle
@@ -53,9 +53,9 @@ Cura.MachineAction
Row
{
- spacing: UM.Theme.getSize("default_lining").width
+ spacing: UM.Theme.getSize("thin_margin").width
- Button
+ Cura.SecondaryButton
{
id: addButton
text: catalog.i18nc("@action:button", "Add");
@@ -65,7 +65,7 @@ Cura.MachineAction
}
}
- Button
+ Cura.SecondaryButton
{
id: editButton
text: catalog.i18nc("@action:button", "Edit")
@@ -76,7 +76,7 @@ Cura.MachineAction
}
}
- Button
+ Cura.SecondaryButton
{
id: removeButton
text: catalog.i18nc("@action:button", "Remove")
@@ -84,7 +84,7 @@ Cura.MachineAction
onClicked: manager.removeManualDevice(base.selectedDevice.key, base.selectedDevice.ipAddress)
}
- Button
+ Cura.SecondaryButton
{
id: rediscoverButton
text: catalog.i18nc("@action:button", "Refresh")
@@ -122,23 +122,18 @@ Cura.MachineAction
base.completeProperties = base.selectedDevice != null && base.selectedDevice.getProperty("incomplete") != "true";
}
Component.onCompleted: manager.startDiscovery()
- delegate: Rectangle
+
+ delegate: UM.Label
{
- height: printNameLabel.height
- color: ListView.isCurrentItem ? palette.highlight : index % 2 ? palette.base : palette.alternateBase
+ id: printNameLabel
width: listview.width
- Label
- {
- id: printNameLabel
- height: contentHeight
- anchors.left: parent.left
- anchors.leftMargin: UM.Theme.getSize("default_margin").width
- anchors.right: parent.right
- text: listview.model[index].name
- color: parent.ListView.isCurrentItem ? palette.highlightedText : palette.text
- elide: Text.ElideRight
- renderType: Text.NativeRendering
- }
+ height: contentHeight
+ anchors.left: parent.left
+ anchors.leftMargin: UM.Theme.getSize("default_margin").width
+
+ anchors.right: parent.right
+ text: listview.model[index].name
+ elide: Text.ElideRight
MouseArea
{
@@ -151,6 +146,11 @@ Cura.MachineAction
}
}
}
+
+ background: Rectangle
+ {
+ color: parent.ListView.isCurrentItem ? UM.Theme.getColor("background_3") : "transparent"
+ }
}
}
UM.Label
@@ -175,20 +175,19 @@ Cura.MachineAction
font: UM.Theme.getFont("large_bold")
elide: Text.ElideRight
}
- Grid
+ GridLayout
{
visible: base.completeProperties
width: parent.width
columns: 2
- property real labelWidth: Math.round(width * 0.5)
UM.Label
{
- width: labelWidth
+ Layout.fillWidth: true
text: catalog.i18nc("@label", "Type")
}
UM.Label
{
- width: labelWidth
+ Layout.fillWidth: true
text:
{
if (base.selectedDevice) {
@@ -199,22 +198,22 @@ Cura.MachineAction
}
UM.Label
{
- width: labelWidth
+ Layout.fillWidth: true
text: catalog.i18nc("@label", "Firmware version")
}
UM.Label
{
- width: labelWidth
+ Layout.fillWidth: true
text: base.selectedDevice ? base.selectedDevice.firmwareVersion : ""
}
UM.Label
{
- width: labelWidth
+ Layout.fillWidth: true
text: catalog.i18nc("@label", "Address")
}
UM.Label
{
- width: labelWidth
+ Layout.fillWidth: true
text: base.selectedDevice ? base.selectedDevice.ipAddress : ""
}
}
@@ -246,7 +245,7 @@ Cura.MachineAction
text: catalog.i18nc("@label", "The printer at this address has not yet responded." )
}
- Button
+ Cura.SecondaryButton
{
text: catalog.i18nc("@action:button", "Connect")
enabled: (base.selectedDevice && base.completeProperties && base.selectedDevice.clusterSize > 0) ? true : false
@@ -256,7 +255,7 @@ Cura.MachineAction
}
}
- UM.MessageDialog
+ Cura.MessageDialog
{
id: invalidIPAddressMessageDialog
title: catalog.i18nc("@title:window", "Invalid IP address")
@@ -264,7 +263,7 @@ Cura.MachineAction
standardButtons: Dialog.Ok
}
- Dialog
+ Cura.MessageDialog
{
id: manualPrinterDialog
property string printerKey
@@ -273,6 +272,7 @@ Cura.MachineAction
title: catalog.i18nc("@title:window", "Printer Address")
width: UM.Theme.getSize("small_popup_dialog").width
+ height: UM.Theme.getSize("small_popup_dialog").height
anchors.centerIn: Overlay.overlay
diff --git a/plugins/UM3NetworkPrinting/resources/qml/MonitorContextMenu.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorContextMenu.qml
index d95ca8a88e..03e9477d08 100644
--- a/plugins/UM3NetworkPrinting/resources/qml/MonitorContextMenu.qml
+++ b/plugins/UM3NetworkPrinting/resources/qml/MonitorContextMenu.qml
@@ -4,6 +4,7 @@
import QtQuick 2.3
import QtQuick.Controls 2.15
import UM 1.5 as UM
+import Cura 1.6 as Cura
/**
* A MonitorInfoBlurb is an extension of the GenericPopUp used to show static information (vs. interactive context
@@ -133,7 +134,7 @@ Item
}
}
- UM.MessageDialog
+ Cura.MessageDialog
{
id: sendToTopConfirmationDialog
onAccepted: OutputDevice.sendJobToTop(printJob.key)
@@ -142,7 +143,7 @@ Item
title: catalog.i18nc("@window:title", "Move print job to top")
}
- UM.MessageDialog
+ Cura.MessageDialog
{
id: deleteConfirmationDialog
onAccepted: OutputDevice.deleteJobFromQueue(printJob.key)
@@ -151,7 +152,7 @@ Item
title: catalog.i18nc("@window:title", "Delete print job")
}
- UM.MessageDialog
+ Cura.MessageDialog
{
id: abortConfirmationDialog
onAccepted: printJob.setState("abort")
diff --git a/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterCard.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterCard.qml
index e3da51f966..df701b1d1f 100644
--- a/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterCard.qml
+++ b/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterCard.qml
@@ -392,6 +392,7 @@ Item
id: printerJobNameLabel
color: printer && printer.activePrintJob && printer.activePrintJob.isActive ? UM.Theme.getColor("text") : UM.Theme.getColor("monitor_text_disabled")
elide: Text.ElideRight
+ wrapMode: Text.NoWrap
font: UM.Theme.getFont("large") // 16pt, bold
text: printer && printer.activePrintJob ? printer.activePrintJob.name : catalog.i18nc("@label", "Untitled")
width: parent.width
diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml
index 67a3617033..371754e9e0 100644
--- a/resources/qml/Cura.qml
+++ b/resources/qml/Cura.qml
@@ -2,11 +2,9 @@
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.7
-import QtQuick.Controls 1.4
-import QtQuick.Layouts 1.1
+import QtQuick.Controls 2.15
import QtQuick.Dialogs 1.2
import QtGraphicalEffects 1.0
-import QtQuick.Controls 2.15 as NewControls
import UM 1.5 as UM
import Cura 1.1 as Cura
@@ -585,7 +583,7 @@ UM.MainWindow
}
}
- UM.MessageDialog
+ Cura.MessageDialog
{
id: exitConfirmationDialog
title: catalog.i18nc("@title:window %1 is the application name", "Closing %1").arg(CuraApplication.applicationDisplayName)
@@ -743,14 +741,14 @@ UM.MainWindow
}
}
- UM.MessageDialog
+ Cura.MessageDialog
{
id: packageInstallDialog
title: catalog.i18nc("@window:title", "Install Package")
standardButtons: StandardButton.Ok
}
- UM.MessageDialog
+ Cura.MessageDialog
{
id: infoMultipleFilesWithGcodeDialog
title: catalog.i18nc("@title:window", "Open File(s)")
diff --git a/resources/qml/Dialogs/AboutDialog.qml b/resources/qml/Dialogs/AboutDialog.qml
index d917656c9f..e6d15af2d9 100644
--- a/resources/qml/Dialogs/AboutDialog.qml
+++ b/resources/qml/Dialogs/AboutDialog.qml
@@ -50,7 +50,7 @@ UM.Dialog
UM.I18nCatalog{id: catalog; name: "cura"}
}
- Label
+ UM.Label
{
id: version
@@ -63,7 +63,7 @@ UM.Dialog
}
}
- Label
+ UM.Label
{
id: description
width: parent.width
@@ -76,7 +76,7 @@ UM.Dialog
anchors.topMargin: UM.Theme.getSize("default_margin").height
}
- Label
+ UM.Label
{
id: creditsNotes
width: parent.width
@@ -105,20 +105,20 @@ UM.Dialog
delegate: Row
{
spacing: UM.Theme.getSize("narrow_margin").width
- Label
+ UM.Label
{
text: "%2".arg(model.url).arg(model.name)
width: (projectsList.width * 0.25) | 0
elide: Text.ElideRight
onLinkActivated: Qt.openUrlExternally(link)
}
- Label
+ UM.Label
{
text: model.description
elide: Text.ElideRight
width: ((projectsList.width * 0.6) | 0) - parent.spacing * 2 - projectsListScrollBar.width
}
- Label
+ UM.Label
{
text: model.license
elide: Text.ElideRight
@@ -165,12 +165,11 @@ UM.Dialog
}
}
- rightButtons: Cura.SecondaryButton
+ rightButtons: Cura.TertiaryButton
{
//: Close about dialog button
id: closeButton
text: catalog.i18nc("@action:button", "Close")
-
- onClicked: base.visible = false;
+ onClicked: reject()
}
}
diff --git a/resources/qml/Dialogs/AskOpenAsProjectOrModelsDialog.qml b/resources/qml/Dialogs/AskOpenAsProjectOrModelsDialog.qml
index 3bd72bf68f..23e01b5e46 100644
--- a/resources/qml/Dialogs/AskOpenAsProjectOrModelsDialog.qml
+++ b/resources/qml/Dialogs/AskOpenAsProjectOrModelsDialog.qml
@@ -76,7 +76,7 @@ UM.Dialog
anchors.fill: parent
spacing: UM.Theme.getSize("default_margin").height
- Label
+ UM.Label
{
id: questionText
width: parent.width
diff --git a/resources/qml/Dialogs/DiscardOrKeepProfileChangesDialog.qml b/resources/qml/Dialogs/DiscardOrKeepProfileChangesDialog.qml
index f6124147a2..11aeac1722 100644
--- a/resources/qml/Dialogs/DiscardOrKeepProfileChangesDialog.qml
+++ b/resources/qml/Dialogs/DiscardOrKeepProfileChangesDialog.qml
@@ -21,6 +21,8 @@ UM.Dialog
width: minimumWidth
height: minimumHeight
+ margin: UM.Theme.getSize("thick_margin").width
+
property var changesModel: Cura.UserChangesModel { id: userChangesModel }
onVisibilityChanged:
@@ -91,6 +93,9 @@ UM.Dialog
leftButtons: [
Cura.ComboBox
{
+ implicitHeight: UM.Theme.getSize("combobox_wide").height
+ implicitWidth: UM.Theme.getSize("combobox_wide").width
+
id: discardOrKeepProfileChangesDropDownButton
textRole: "text"
diff --git a/resources/qml/Dialogs/MessageDialog.qml b/resources/qml/Dialogs/MessageDialog.qml
new file mode 100644
index 0000000000..0735064548
--- /dev/null
+++ b/resources/qml/Dialogs/MessageDialog.qml
@@ -0,0 +1,20 @@
+// Copyright (c) 2022 Ultimaker B.V.
+// Cura is released under the terms of the LGPLv3 or higher.
+
+import UM 1.5 as UM
+import Cura 1.5 as Cura
+
+// Wrapper around the UM.MessageBox with the primary/secondarybuttons
+// set to Cura.PrimaryButton and Cura.SecondaryButton respectively
+UM.MessageDialog
+{
+ primaryButton: Cura.PrimaryButton
+ {
+ text: model.text
+ }
+
+ secondaryButton: Cura.TertiaryButton
+ {
+ text: model.text
+ }
+}
\ No newline at end of file
diff --git a/resources/qml/Dialogs/WorkspaceSummaryDialog.qml b/resources/qml/Dialogs/WorkspaceSummaryDialog.qml
index 27a7fd734f..c5c7248a98 100644
--- a/resources/qml/Dialogs/WorkspaceSummaryDialog.qml
+++ b/resources/qml/Dialogs/WorkspaceSummaryDialog.qml
@@ -45,11 +45,7 @@ UM.Dialog
visibilityHandler: UM.SettingPreferenceVisibilityHandler { }
}
- SystemPalette
- {
- id: palette
- }
- Label
+ UM.Label
{
id: mainHeading
width: parent.width
@@ -86,7 +82,7 @@ UM.Dialog
spacing: UM.Theme.getSize("default_margin").height
Column
{
- Label
+ UM.Label
{
id: settingsHeading
text: catalog.i18nc("@action:label", "Printer settings")
@@ -96,14 +92,14 @@ UM.Dialog
{
width: parent.width
height: childrenRect.height
- Label
+ UM.Label
{
text: catalog.i18nc("@action:label", "Type")
width: Math.floor(scroll.width / 3) | 0
}
- Label
+ UM.Label
{
- text: (Cura.MachineManager.activeMachine == null) ? "" : Cura.MachineManager.activeMachine.definition.name
+ text: Cura.MachineManager.activeMachine == null ? "" : Cura.MachineManager.activeMachine.definition.name
width: Math.floor(scroll.width / 3) | 0
}
}
@@ -111,12 +107,12 @@ UM.Dialog
{
width: parent.width
height: childrenRect.height
- Label
+ UM.Label
{
text: Cura.MachineManager.activeMachineNetworkGroupName != "" ? catalog.i18nc("@action:label", "Printer Group") : catalog.i18nc("@action:label", "Name")
width: Math.floor(scroll.width / 3) | 0
}
- Label
+ UM.Label
{
text:
{
@@ -155,7 +151,7 @@ UM.Dialog
var material_name = extruder.material.name
return (material_name !== undefined) ? material_name : ""
}
- Label
+ UM.Label
{
text: {
var extruder = Number(modelData.position)
@@ -179,7 +175,7 @@ UM.Dialog
width: parent.width
height: childrenRect.height
- Label
+ UM.Label
{
text:
{
@@ -192,7 +188,7 @@ UM.Dialog
width: Math.floor(scroll.width / 3) | 0
enabled: modelData.isEnabled
}
- Label
+ UM.Label
{
text:
{
@@ -212,7 +208,7 @@ UM.Dialog
{
width: parent.width
height: childrenRect.height
- Label
+ UM.Label
{
text: catalog.i18nc("@action:label", "Profile settings")
font.bold: true
@@ -220,12 +216,12 @@ UM.Dialog
Row
{
width: parent.width
- Label
+ UM.Label
{
text: catalog.i18nc("@action:label", "Not in profile")
width: Math.floor(scroll.width / 3) | 0
}
- Label
+ UM.Label
{
text: catalog.i18ncp("@action:label", "%1 override", "%1 overrides", Cura.MachineManager.numUserSettings).arg(Cura.MachineManager.numUserSettings)
width: Math.floor(scroll.width / 3) | 0
@@ -236,12 +232,12 @@ UM.Dialog
{
width: parent.width
height: childrenRect.height
- Label
+ UM.Label
{
text: catalog.i18nc("@action:label", "Name")
width: Math.floor(scroll.width / 3) | 0
}
- Label
+ UM.Label
{
text: Cura.MachineManager.activeQualityOrQualityChangesName
width: Math.floor(scroll.width / 3) | 0
@@ -253,12 +249,12 @@ UM.Dialog
{
width: parent.width
height: childrenRect.height
- Label
+ UM.Label
{
text: catalog.i18nc("@action:label", "Intent")
width: Math.floor(scroll.width / 3) | 0
}
- Label
+ UM.Label
{
text: Cura.MachineManager.activeIntentCategory
width: Math.floor(scroll.width / 3) | 0
@@ -273,10 +269,9 @@ UM.Dialog
leftButtons:
[
- CheckBox
+ UM.CheckBox
{
id: dontShowAgainCheckbox
- anchors.left: parent.left
text: catalog.i18nc("@action:label", "Don't show project summary on save again")
checked: dontShowAgain
}
diff --git a/resources/qml/ExpandableComponent.qml b/resources/qml/ExpandableComponent.qml
index 8821bcbb98..e5eab3bd93 100644
--- a/resources/qml/ExpandableComponent.qml
+++ b/resources/qml/ExpandableComponent.qml
@@ -30,8 +30,8 @@ Item
property color contentBackgroundColor: UM.Theme.getColor("action_button")
property color headerBackgroundColor: UM.Theme.getColor("action_button")
- property color headerActiveColor: UM.Theme.getColor("secondary")
- property color headerHoverColor: UM.Theme.getColor("action_button_hovered")
+ property color headerActiveColor: UM.Theme.getColor("expandable_active")
+ property color headerHoverColor: UM.Theme.getColor("expandable_hover")
property alias enabled: mouseArea.enabled
diff --git a/resources/qml/ExpandableComponentHeader.qml b/resources/qml/ExpandableComponentHeader.qml
index 831267acbe..7176f0978b 100644
--- a/resources/qml/ExpandableComponentHeader.qml
+++ b/resources/qml/ExpandableComponentHeader.qml
@@ -16,7 +16,7 @@ Cura.RoundedRectangle
property alias xPosCloseButton: closeButton.left
height: UM.Theme.getSize("expandable_component_content_header").height
- color: UM.Theme.getColor("secondary")
+ color: UM.Theme.getColor("background_1")
cornerSide: Cura.RoundedRectangle.Direction.Up
border.width: UM.Theme.getSize("default_lining").width
border.color: UM.Theme.getColor("lining")
@@ -27,7 +27,6 @@ Cura.RoundedRectangle
id: headerLabel
text: ""
font: UM.Theme.getFont("medium")
- color: UM.Theme.getColor("small_button_text")
height: parent.height
anchors
diff --git a/resources/qml/ExpandablePopup.qml b/resources/qml/ExpandablePopup.qml
index 4e9393b086..219608a762 100644
--- a/resources/qml/ExpandablePopup.qml
+++ b/resources/qml/ExpandablePopup.qml
@@ -30,8 +30,8 @@ Item
property color contentBackgroundColor: UM.Theme.getColor("action_button")
property color headerBackgroundColor: UM.Theme.getColor("action_button")
- property color headerActiveColor: UM.Theme.getColor("secondary")
- property color headerHoverColor: UM.Theme.getColor("action_button_hovered")
+ property color headerActiveColor: UM.Theme.getColor("expandable_active")
+ property color headerHoverColor: UM.Theme.getColor("expandable_hover")
property alias mouseArea: headerMouseArea
property alias enabled: headerMouseArea.enabled
diff --git a/resources/qml/MachineSettings/NumericTextFieldWithUnit.qml b/resources/qml/MachineSettings/NumericTextFieldWithUnit.qml
index 23859e40ec..0e1f296cfa 100644
--- a/resources/qml/MachineSettings/NumericTextFieldWithUnit.qml
+++ b/resources/qml/MachineSettings/NumericTextFieldWithUnit.qml
@@ -83,13 +83,12 @@ UM.TooltipArea
height: numericTextFieldWithUnit.controlHeight
// Background is a rounded-cornered box with filled color as state indication (normal, warning, error, etc.)
- background: Rectangle
+ background: UM.UnderlineBackground
{
anchors.fill: parent
anchors.margins: Math.round(UM.Theme.getSize("default_lining").width)
- radius: UM.Theme.getSize("setting_control_radius").width
- border.color:
+ liningColor:
{
if (!textFieldWithUnit.enabled)
{
@@ -108,9 +107,9 @@ UM.TooltipArea
// Validation is OK.
if (textFieldWithUnit.hovered || textFieldWithUnit.activeFocus)
{
- return UM.Theme.getColor("setting_control_border_highlight")
+ return UM.Theme.getColor("border_main_light")
}
- return UM.Theme.getColor("setting_control_border")
+ return UM.Theme.getColor("border_field_light")
}
color:
diff --git a/resources/qml/MainWindow/ApplicationMenu.qml b/resources/qml/MainWindow/ApplicationMenu.qml
index 0ed1662943..bf3781331a 100644
--- a/resources/qml/MainWindow/ApplicationMenu.qml
+++ b/resources/qml/MainWindow/ApplicationMenu.qml
@@ -20,13 +20,35 @@ Item
{
id: applicationMenu
width: parent.width
- FileMenu {}
+ height: UM.Theme.getSize("context_menu").height
+ background: Rectangle {
+ color: UM.Theme.getColor("background_1")
+ }
+
+ delegate: MenuBarItem
+ {
+ id: menuBarItem
+
+ contentItem: UM.Label
+ {
+ text: menuBarItem.text.replace(new RegExp("&([A-Za-z])"), function (match, character)
+ {
+ return `${character}`;
+ })
+ horizontalAlignment: Text.AlignLeft
+ verticalAlignment: Text.AlignVCenter
+ }
+
+ background: Rectangle
+ {
+ color: menuBarItem.highlighted ? UM.Theme.getColor("background_2") : "transparent"
+ }
+ }
+
+ FileMenu {}
EditMenu {}
ViewMenu {}
-
- background: Rectangle {}
-
SettingsMenu
{
//On MacOS, don't translate the "Settings" word.
@@ -38,13 +60,9 @@ Item
//- https://doc.qt.io/qt-5/qmenubar.html#qmenubar-as-a-global-menu-bar
title: (Qt.platform.os == "osx") ? "&Settings" : catalog.i18nc("@title:menu menubar:toplevel", "&Settings")
}
-
ExtensionMenu { id: extensionMenu }
-
PreferencesMenu {}
-
HelpMenu {}
-
}
@@ -60,7 +78,7 @@ Item
onAccepted: UM.OutputDeviceManager.requestWriteToDevice("local_file", PrintInformation.jobName, args)
}
- UM.MessageDialog
+ Cura.MessageDialog
{
id: newProjectDialog
@@ -97,7 +115,6 @@ Item
target: Cura.Actions.browsePackages
function onTriggered()
{
- print("beepboop")
extensionMenu.extensionModel.callExtensionMethod("Marketplace", "show")
}
}
diff --git a/resources/qml/MainWindow/MainWindowHeader.qml b/resources/qml/MainWindow/MainWindowHeader.qml
index c38e1bb4ab..3f22879992 100644
--- a/resources/qml/MainWindow/MainWindowHeader.qml
+++ b/resources/qml/MainWindow/MainWindowHeader.qml
@@ -78,7 +78,6 @@ Item
background: Rectangle
{
radius: UM.Theme.getSize("action_button_radius").width
- width: contents.width
color:
{
if (stageSelectorButton.checked)
diff --git a/resources/qml/Menus/ConfigurationMenu/CustomConfiguration.qml b/resources/qml/Menus/ConfigurationMenu/CustomConfiguration.qml
index 8a637f3870..f3cef1a819 100644
--- a/resources/qml/Menus/ConfigurationMenu/CustomConfiguration.qml
+++ b/resources/qml/Menus/ConfigurationMenu/CustomConfiguration.qml
@@ -278,6 +278,7 @@ Item
width: selectors.controlWidth
height: parent.height
+ anchors.verticalCenter: parent.verticalCenter
focusPolicy: Qt.ClickFocus
@@ -289,6 +290,7 @@ Item
}
onClicked: materialsMenu.popup()
}
+
Item
{
width: instructionButton.width + 2 * UM.Theme.getSize("narrow_margin").width
@@ -331,6 +333,7 @@ Item
tooltip: text
height: parent.height
width: selectors.controlWidth
+ anchors.verticalCenter: parent.verticalCenter
focusPolicy: Qt.ClickFocus
enabled: enabledCheckbox.checked
diff --git a/resources/qml/Menus/ContextMenu.qml b/resources/qml/Menus/ContextMenu.qml
index f25b3f70e5..1bba79e2c1 100644
--- a/resources/qml/Menus/ContextMenu.qml
+++ b/resources/qml/Menus/ContextMenu.qml
@@ -133,6 +133,7 @@ Cura.Menu
focus: true
from: 1
to: 99
+ width: 2 * UM.Theme.getSize("button").width
}
}
}
diff --git a/resources/qml/Menus/MaterialMenu.qml b/resources/qml/Menus/MaterialMenu.qml
index da5d6a071b..e6d7fbc3e9 100644
--- a/resources/qml/Menus/MaterialMenu.qml
+++ b/resources/qml/Menus/MaterialMenu.qml
@@ -108,7 +108,7 @@ Cura.Menu
Instantiator
{
model: brandMaterials
- delegate: Menu
+ delegate: Cura.Menu
{
id: brandMaterialsMenu
title: materialName
diff --git a/resources/qml/Menus/PrinterTypeMenu.qml b/resources/qml/Menus/PrinterTypeMenu.qml
index c959b97c5b..17986ac1b8 100644
--- a/resources/qml/Menus/PrinterTypeMenu.qml
+++ b/resources/qml/Menus/PrinterTypeMenu.qml
@@ -7,7 +7,7 @@ import QtQuick.Controls 2.4
import UM 1.5 as UM
import Cura 1.0 as Cura
-Menu
+Cura.Menu
{
id: menu
title: "Printer type"
diff --git a/resources/qml/MonitorButton.qml b/resources/qml/MonitorButton.qml
index 4876b01fb3..7e9219a7dc 100644
--- a/resources/qml/MonitorButton.qml
+++ b/resources/qml/MonitorButton.qml
@@ -319,7 +319,7 @@ Item
onClicked: confirmationDialog.visible = true
}
- UM.MessageDialog
+ Cura.MessageDialog
{
id: confirmationDialog
diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml
index d6c1861dde..8fbaadc5c3 100644
--- a/resources/qml/Preferences/GeneralPage.qml
+++ b/resources/qml/Preferences/GeneralPage.qml
@@ -14,7 +14,7 @@ UM.PreferencesPage
title: catalog.i18nc("@title:tab", "General")
id: generalPreferencesPage
- width: parent.width
+ width: parent ? parent.width: 0
function setDefaultLanguage(languageCode)
{
@@ -554,8 +554,8 @@ UM.PreferencesPage
model: comboBoxList
textRole: "text"
- width: UM.Theme.getSize("setting_control").width
- height: UM.Theme.getSize("setting_control").height
+ width: UM.Theme.getSize("combobox_wide").width
+ height: UM.Theme.getSize("combobox_wide").height
currentIndex:
{
@@ -711,8 +711,8 @@ UM.PreferencesPage
Cura.ComboBox
{
id: choiceOnOpenProjectDropDownButton
- width: UM.Theme.getSize("setting_control").width
- height: UM.Theme.getSize("setting_control").height
+ width: UM.Theme.getSize("combobox_wide").width
+ height: UM.Theme.getSize("combobox_wide").height
model: ListModel
{
@@ -779,8 +779,8 @@ UM.PreferencesPage
Cura.ComboBox
{
id: choiceOnProfileOverrideDropDownButton
- width: UM.Theme.getSize("setting_control").width
- height: UM.Theme.getSize("setting_control").height
+ width: UM.Theme.getSize("combobox_wide").width
+ height: UM.Theme.getSize("combobox_wide").height
model: ListModel
{
id: discardOrKeepProfileListModel
@@ -849,6 +849,7 @@ UM.PreferencesPage
hoverBackgroundColor: UM.Theme.getColor("secondary_button_hover")
backgroundRadius: width / 2
height: UM.Theme.getSize("small_button_icon").height
+ color: UM.Theme.getColor("small_button_text")
width: height
}
}
@@ -894,7 +895,7 @@ UM.PreferencesPage
text: catalog.i18nc("@info:tooltip", "When checking for updates, only check for stable releases.")
anchors.left: parent.left
anchors.leftMargin: UM.Theme.getSize("default_margin").width
- RadioButton
+ Cura.RadioButton
{
id: checkUpdatesOptionStable
text: catalog.i18nc("@option:radio", "Stable releases only")
@@ -910,7 +911,7 @@ UM.PreferencesPage
text: catalog.i18nc("@info:tooltip", "When checking for updates, check for both stable and for beta releases.")
anchors.left: parent.left
anchors.leftMargin: UM.Theme.getSize("default_margin").width
- RadioButton
+ Cura.RadioButton
{
id: checkUpdatesOptionBeta
text: catalog.i18nc("@option:radio", "Stable and Beta releases")
diff --git a/resources/qml/Preferences/MachinesPage.qml b/resources/qml/Preferences/MachinesPage.qml
index e51fce09f0..b1a5d7f19b 100644
--- a/resources/qml/Preferences/MachinesPage.qml
+++ b/resources/qml/Preferences/MachinesPage.qml
@@ -125,7 +125,7 @@ UM.ManagementPage
}
}
- UM.RenameDialog
+ Cura.RenameDialog
{
id: renameDialog
object: base.currentItem && base.currentItem.name ? base.currentItem.name : ""
diff --git a/resources/qml/Preferences/Materials/MaterialsPage.qml b/resources/qml/Preferences/Materials/MaterialsPage.qml
index 2e4ded685d..c9e6cf07a1 100644
--- a/resources/qml/Preferences/Materials/MaterialsPage.qml
+++ b/resources/qml/Preferences/Materials/MaterialsPage.qml
@@ -310,7 +310,7 @@ Item
}
// Dialogs
- UM.MessageDialog
+ Cura.MessageDialog
{
id: confirmRemoveMaterialDialog
title: catalog.i18nc("@title:window", "Confirm Remove")
@@ -337,7 +337,7 @@ Item
{
const result = Cura.ContainerManager.importMaterialContainer(fileUrl);
- const messageDialog = Qt.createQmlObject("import UM 1.5 as UM; UM.MessageDialog { onClosed: destroy() }", base);
+ const messageDialog = Qt.createQmlObject("import Cura 1.5 as Cura; Cura.MessageDialog { onClosed: destroy() }", base);
messageDialog.standardButtons = Dialog.Ok;
messageDialog.title = catalog.i18nc("@title:window", "Import Material");
switch (result.status)
@@ -365,7 +365,7 @@ Item
{
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);
+ const messageDialog = Qt.createQmlObject("import Cura 1.5 as Cura; Cura.MessageDialog { onClosed: destroy() }", base);
messageDialog.title = catalog.i18nc("@title:window", "Export Material");
messageDialog.standardButtons = Dialog.Ok;
switch (result.status)
diff --git a/resources/qml/Preferences/Materials/MaterialsSyncDialog.qml b/resources/qml/Preferences/Materials/MaterialsSyncDialog.qml
index 0360e2c94b..e592be6d5d 100644
--- a/resources/qml/Preferences/Materials/MaterialsSyncDialog.qml
+++ b/resources/qml/Preferences/Materials/MaterialsSyncDialog.qml
@@ -266,7 +266,7 @@ Window
border.color: UM.Theme.getColor("lining")
border.width: UM.Theme.getSize("default_lining").width
width: printerList.width - printerListScrollBar.width
- height: UM.Theme.getSize("card").height
+ height: UM.Theme.getSize("machine_selector_icon").height + 2 * UM.Theme.getSize("default_margin").height
property string syncStatus:
{
diff --git a/resources/qml/Preferences/Materials/MaterialsView.qml b/resources/qml/Preferences/Materials/MaterialsView.qml
index d71a6f398f..915d36ff57 100644
--- a/resources/qml/Preferences/Materials/MaterialsView.qml
+++ b/resources/qml/Preferences/Materials/MaterialsView.qml
@@ -119,7 +119,7 @@ Item
width: base.width
property real rowHeight: brandTextField.height + UM.Theme.getSize("default_lining").height
- UM.MessageDialog
+ Cura.MessageDialog
{
id: confirmDiameterChangeDialog
diff --git a/resources/qml/Preferences/ProfilesPage.qml b/resources/qml/Preferences/ProfilesPage.qml
index f9d5d9c4b3..dcf02bc738 100644
--- a/resources/qml/Preferences/ProfilesPage.qml
+++ b/resources/qml/Preferences/ProfilesPage.qml
@@ -137,14 +137,14 @@ UM.ManagementPage
base.toActivateNewQuality = false;
}
}
- UM.MessageDialog
+ Cura.MessageDialog
{
id: messageDialog
standardButtons: Dialog.Ok
}
// Dialog to request a name when creating a new profile
- UM.RenameDialog
+ Cura.RenameDialog
{
id: createQualityDialog
title: catalog.i18nc("@title:window", "Create Profile")
@@ -233,7 +233,7 @@ UM.ManagementPage
}
// Dialog to request a name when duplicating a new profile
- UM.RenameDialog
+ Cura.RenameDialog
{
id: duplicateQualityDialog
title: catalog.i18nc("@title:window", "Duplicate Profile")
@@ -245,7 +245,7 @@ UM.ManagementPage
}
// Confirmation dialog for removing a profile
- UM.MessageDialog
+ Cura.MessageDialog
{
id: confirmRemoveQualityDialog
@@ -263,7 +263,7 @@ UM.ManagementPage
}
// Dialog to rename a quality profile
- UM.RenameDialog
+ Cura.RenameDialog
{
id: renameQualityDialog
title: catalog.i18nc("@title:window", "Rename Profile")
@@ -293,11 +293,6 @@ UM.ManagementPage
}
}
- SystemPalette
- {
- id: palette
- }
-
Column
{
id: detailsPanelHeaderColumn
diff --git a/resources/qml/Preferences/RenameDialog.qml b/resources/qml/Preferences/RenameDialog.qml
new file mode 100644
index 0000000000..6e4c628114
--- /dev/null
+++ b/resources/qml/Preferences/RenameDialog.qml
@@ -0,0 +1,86 @@
+// Copyright (c) 2022 Ultimaker B.V.
+// Uranium is released under the terms of the LGPLv3 or higher.
+
+import QtQuick 2.1
+import QtQuick.Controls 2.0
+import QtQuick.Window 2.1
+
+import UM 1.5 as UM
+import Cura 1.0 as Cura
+
+UM.Dialog
+{
+ id: base
+
+ buttonSpacing: UM.Theme.getSize("default_margin").width
+
+ property string object: ""
+
+ property alias newName: nameField.text
+ property bool validName: true
+ property string validationError
+ property string dialogTitle: catalog.i18nc("@title:window", "Rename")
+ property string explanation: catalog.i18nc("@info", "Please provide a new name.")
+
+ title: dialogTitle
+
+ minimumWidth: UM.Theme.getSize("small_popup_dialog").width
+ minimumHeight: UM.Theme.getSize("small_popup_dialog").height
+ width: minimumWidth
+ height: minimumHeight
+
+ property variant catalog: UM.I18nCatalog { name: "cura" }
+
+ signal textChanged(string text)
+ signal selectText()
+ onSelectText:
+ {
+ nameField.selectAll();
+ nameField.focus = true;
+ }
+
+ Column
+ {
+ anchors.fill: parent
+
+ UM.Label
+ {
+ text: base.explanation + "\n" //Newline to make some space using system theming.
+ width: parent.width
+ wrapMode: Text.WordWrap
+ }
+
+ Cura.TextField
+ {
+ id: nameField
+ width: parent.width
+ text: base.object
+ maximumLength: 40
+ selectByMouse: true
+ onTextChanged: base.textChanged(text)
+ }
+
+ UM.Label
+ {
+ visible: !base.validName
+ text: base.validationError
+ }
+ }
+
+ rightButtons: [
+ Cura.SecondaryButton
+ {
+ id: cancelButton
+ text: catalog.i18nc("@action:button","Cancel")
+ onClicked: base.reject()
+ },
+ Cura.PrimaryButton
+ {
+ id: okButton
+ text: catalog.i18nc("@action:button", "OK")
+ onClicked: base.accept()
+ enabled: base.validName
+ }
+ ]
+}
+
diff --git a/resources/qml/Preferences/SettingVisibilityPage.qml b/resources/qml/Preferences/SettingVisibilityPage.qml
index 5923fa4769..a29818ad4e 100644
--- a/resources/qml/Preferences/SettingVisibilityPage.qml
+++ b/resources/qml/Preferences/SettingVisibilityPage.qml
@@ -84,7 +84,7 @@ UM.PreferencesPage
}
}
- TextField
+ Cura.TextField
{
id: filter
@@ -105,7 +105,7 @@ UM.PreferencesPage
Cura.ComboBox
{
id: visibilityPreset
- width: 150 * screenScaleFactor
+ width: UM.Theme.getSize("action_button").width
anchors
{
top: parent.top
@@ -189,7 +189,6 @@ UM.PreferencesPage
}
UM.I18nCatalog { name: "cura" }
- SystemPalette { id: palette }
Component
{
diff --git a/resources/qml/PrintSetupHeaderButton.qml b/resources/qml/PrintSetupHeaderButton.qml
index 2583c6b84e..e41f95f778 100644
--- a/resources/qml/PrintSetupHeaderButton.qml
+++ b/resources/qml/PrintSetupHeaderButton.qml
@@ -36,7 +36,7 @@ ToolButton
{
target: background
color: UM.Theme.getColor("setting_control_disabled")
- border.color: UM.Theme.getColor("setting_control_disabled_border")
+ liningColor: UM.Theme.getColor("setting_control_disabled_border")
}
},
State
@@ -47,7 +47,7 @@ ToolButton
{
target: background
color: UM.Theme.getColor("setting_validation_error_background")
- border.color: UM.Theme.getColor("setting_validation_error")
+ liningColor: UM.Theme.getColor("setting_validation_error")
}
},
State
@@ -58,7 +58,7 @@ ToolButton
{
target: background
color: UM.Theme.getColor("setting_validation_warning_background")
- border.color: UM.Theme.getColor("setting_validation_warning")
+ liningColor: UM.Theme.getColor("setting_validation_warning")
}
},
State
@@ -69,7 +69,7 @@ ToolButton
{
target: background
color: UM.Theme.getColor("setting_control")
- border.color: UM.Theme.getColor("setting_control_border_highlight")
+ liningColor: UM.Theme.getColor("border_main_light")
}
},
State
@@ -80,20 +80,15 @@ ToolButton
{
target: background
color: UM.Theme.getColor("setting_control")
- border.color: UM.Theme.getColor("setting_control_border")
+ liningColor: UM.Theme.getColor("border_field_light")
}
}
]
- background: Rectangle
+ background: UM.UnderlineBackground
{
id: background
- radius: UM.Theme.getSize("setting_control_radius").width
- border.width: UM.Theme.getSize("default_lining").width
- color: UM.Theme.getColor("setting_control")
- border.color: UM.Theme.getColor("setting_control_border")
-
UM.RecolorImage
{
id: downArrow
diff --git a/resources/qml/PrintSetupSelector/Custom/CustomPrintSetup.qml b/resources/qml/PrintSetupSelector/Custom/CustomPrintSetup.qml
index 94d55d563d..440c9e4e78 100644
--- a/resources/qml/PrintSetupSelector/Custom/CustomPrintSetup.qml
+++ b/resources/qml/PrintSetupSelector/Custom/CustomPrintSetup.qml
@@ -126,13 +126,10 @@ Item
}
}
- background: Rectangle
+ background: UM.UnderlineBackground
{
id: backgroundItem
- border.color: intentSelection.hovered ? UM.Theme.getColor("setting_control_border_highlight") : UM.Theme.getColor("setting_control_border")
- border.width: UM.Theme.getSize("default_lining").width
- radius: UM.Theme.getSize("default_radius").width
- color: UM.Theme.getColor("main_background")
+ liningColor: intentSelection.hovered ? UM.Theme.getColor("border_main_light") : UM.Theme.getColor("border_field_light")
}
UM.SimpleButton
diff --git a/resources/qml/PrintSetupSelector/Recommended/RecommendedInfillDensitySelector.qml b/resources/qml/PrintSetupSelector/Recommended/RecommendedInfillDensitySelector.qml
index 143eccd042..434945e172 100644
--- a/resources/qml/PrintSetupSelector/Recommended/RecommendedInfillDensitySelector.qml
+++ b/resources/qml/PrintSetupSelector/Recommended/RecommendedInfillDensitySelector.qml
@@ -1,9 +1,8 @@
-// Copyright (c) 2018 Ultimaker B.V.
+// Copyright (c) 2022 Ultimaker B.V.
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.7
-import QtQuick.Controls 1.4
-import QtQuick.Controls.Styles 1.4
+import QtQuick.Controls 2.15
import UM 1.5 as UM
import Cura 1.0 as Cura
@@ -87,10 +86,9 @@ Item
width: parent.width
height: UM.Theme.getSize("print_setup_slider_handle").height // The handle is the widest element of the slider
- minimumValue: 0
- maximumValue: 100
+ from: 0
+ to: 100
stepSize: 1
- tickmarksEnabled: true
// disable slider when gradual support is enabled
enabled: parseInt(infillSteps.properties.value) == 0
@@ -98,53 +96,37 @@ Item
// set initial value from stack
value: parseInt(infillDensity.properties.value)
- style: SliderStyle
+ //Draw line
+ background: Rectangle
{
- //Draw line
- groove: Item
- {
- Rectangle
- {
- height: UM.Theme.getSize("print_setup_slider_groove").height
- width: control.width - UM.Theme.getSize("print_setup_slider_handle").width
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.verticalCenter: parent.verticalCenter
- color: control.enabled ? UM.Theme.getColor("quality_slider_available") : UM.Theme.getColor("quality_slider_unavailable")
- }
- }
+ id: backgroundLine
+ height: UM.Theme.getSize("print_setup_slider_groove").height
+ width: infillSlider.width - UM.Theme.getSize("print_setup_slider_handle").width
+ anchors.horizontalCenter: parent.horizontalCenter
+ anchors.verticalCenter: parent.verticalCenter
+ color: infillSlider.enabled ? UM.Theme.getColor("quality_slider_available") : UM.Theme.getColor("quality_slider_unavailable")
- handle: Rectangle
- {
- id: handleButton
- color: control.enabled ? UM.Theme.getColor("primary") : UM.Theme.getColor("quality_slider_unavailable")
- implicitWidth: UM.Theme.getSize("print_setup_slider_handle").width
- implicitHeight: implicitWidth
- radius: Math.round(implicitWidth / 2)
- border.color: UM.Theme.getColor("slider_groove_fill")
- border.width: UM.Theme.getSize("default_lining").height
- }
-
- tickmarks: Repeater
+ Repeater
{
id: repeater
- model: control.maximumValue / control.stepSize + 1
+ anchors.fill: parent
+ model: infillSlider.to / infillSlider.stepSize + 1
Rectangle
{
- color: control.enabled ? UM.Theme.getColor("quality_slider_available") : UM.Theme.getColor("quality_slider_unavailable")
+ color: infillSlider.enabled ? UM.Theme.getColor("quality_slider_available") : UM.Theme.getColor("quality_slider_unavailable")
implicitWidth: UM.Theme.getSize("print_setup_slider_tickmarks").width
implicitHeight: UM.Theme.getSize("print_setup_slider_tickmarks").height
anchors.verticalCenter: parent.verticalCenter
// Do not use Math.round otherwise the tickmarks won't be aligned
- x: ((styleData.handleWidth / 2) - (implicitWidth / 2) + (index * ((repeater.width - styleData.handleWidth) / (repeater.count-1))))
- radius: Math.round(implicitWidth / 2)
+ x: ((handleButton.width / 2) - (backgroundLine.implicitWidth / 2) + (index * ((repeater.width - handleButton.width) / (repeater.count-1))))
+ radius: Math.round(backgroundLine.implicitWidth / 2)
visible: (index % 10) == 0 // Only show steps of 10%
- Label
+ UM.Label
{
text: index
- font: UM.Theme.getFont("default")
visible: (index % 20) == 0 // Only show steps of 20%
anchors.horizontalCenter: parent.horizontalCenter
y: UM.Theme.getSize("thin_margin").height
@@ -155,29 +137,46 @@ Item
}
}
- onValueChanged:
+ handle: Rectangle
{
- // Don't round the value if it's already the same
- if (parseInt(infillDensity.properties.value) == infillSlider.value)
+ id: handleButton
+ x: infillSlider.leftPadding + infillSlider.visualPosition * (infillSlider.availableWidth - width)
+ y: infillSlider.topPadding + infillSlider.availableHeight / 2 - height / 2
+ color: infillSlider.enabled ? UM.Theme.getColor("primary") : UM.Theme.getColor("quality_slider_unavailable")
+ implicitWidth: UM.Theme.getSize("print_setup_slider_handle").width
+ implicitHeight: implicitWidth
+ radius: Math.round(implicitWidth / 2)
+ border.color: UM.Theme.getColor("slider_groove_fill")
+ border.width: UM.Theme.getSize("default_lining").height
+ }
+
+ Connections
+ {
+ target: infillSlider
+ function onValueChanged()
{
- return
- }
+ // Don't round the value if it's already the same
+ if (parseInt(infillDensity.properties.value) == infillSlider.value)
+ {
+ return
+ }
- // Round the slider value to the nearest multiple of 10 (simulate step size of 10)
- var roundedSliderValue = Math.round(infillSlider.value / 10) * 10
+ // Round the slider value to the nearest multiple of 10 (simulate step size of 10)
+ var roundedSliderValue = Math.round(infillSlider.value / 10) * 10
- // Update the slider value to represent the rounded value
- infillSlider.value = roundedSliderValue
+ // Update the slider value to represent the rounded value
+ infillSlider.value = roundedSliderValue
- // Update value only if the Recommended mode is Active,
- // Otherwise if I change the value in the Custom mode the Recommended view will try to repeat
- // same operation
- var active_mode = UM.Preferences.getValue("cura/active_mode")
+ // Update value only if the Recommended mode is Active,
+ // Otherwise if I change the value in the Custom mode the Recommended view will try to repeat
+ // same operation
+ const active_mode = UM.Preferences.getValue("cura/active_mode")
- if (active_mode == 0 || active_mode == "simple")
- {
- Cura.MachineManager.setSettingForAllExtruders("infill_sparse_density", "value", roundedSliderValue)
- Cura.MachineManager.resetSettingForAllExtruders("infill_line_distance")
+ if (active_mode == 0 || active_mode == "simple")
+ {
+ Cura.MachineManager.setSettingForAllExtruders("infill_sparse_density", "value", roundedSliderValue)
+ Cura.MachineManager.resetSettingForAllExtruders("infill_line_distance")
+ }
}
}
}
diff --git a/resources/qml/PrintSetupSelector/Recommended/RecommendedQualityProfileSelector.qml b/resources/qml/PrintSetupSelector/Recommended/RecommendedQualityProfileSelector.qml
index 1d924a9223..1176142b3b 100644
--- a/resources/qml/PrintSetupSelector/Recommended/RecommendedQualityProfileSelector.qml
+++ b/resources/qml/PrintSetupSelector/Recommended/RecommendedQualityProfileSelector.qml
@@ -1,9 +1,8 @@
-// Copyright (c) 2019 Ultimaker B.V.
+// Copyright (c) 2022 Ultimaker B.V.
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.10
-import QtQuick.Controls 1.4
-import QtQuick.Controls 2.3 as Controls2
+import QtQuick.Controls 2.3
import UM 1.2 as UM
import Cura 1.6 as Cura
@@ -29,7 +28,7 @@ Item
spacing: UM.Theme.getSize("default_margin").height
- Controls2.ButtonGroup
+ ButtonGroup
{
id: activeProfileButtonGroup
exclusive: true
diff --git a/resources/qml/PrinterOutput/ExtruderBox.qml b/resources/qml/PrinterOutput/ExtruderBox.qml
index b36faf262d..d1d28b3cfe 100644
--- a/resources/qml/PrinterOutput/ExtruderBox.qml
+++ b/resources/qml/PrinterOutput/ExtruderBox.qml
@@ -1,9 +1,8 @@
-//Copyright (c) 2019 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.Layouts 1.1
+import QtQuick.Controls 2.1
import UM 1.2 as UM
import Cura 1.0 as Cura
@@ -35,17 +34,17 @@ Item
id: background
anchors.fill: parent
- Label //Extruder name.
+ // Extruder name.
+ UM.Label
{
text: Cura.MachineManager.activeMachine.extruderList[position].name !== "" ? Cura.MachineManager.activeMachine.extruderList[position].name : catalog.i18nc("@label", "Extruder")
- color: UM.Theme.getColor("text")
- font: UM.Theme.getFont("default")
anchors.left: parent.left
anchors.top: parent.top
anchors.margins: UM.Theme.getSize("default_margin").width
}
- Label //Target temperature.
+ // Target temperature.
+ UM.Label
{
id: extruderTargetTemperature
text: Math.round(extruderModel.targetHotendTemperature) + "°C"
@@ -55,7 +54,8 @@ Item
anchors.rightMargin: UM.Theme.getSize("default_margin").width
anchors.bottom: extruderCurrentTemperature.bottom
- MouseArea //For tooltip.
+ //For tooltip.
+ MouseArea
{
id: extruderTargetTemperatureTooltipArea
hoverEnabled: true
@@ -77,17 +77,20 @@ Item
}
}
}
- Label //Temperature indication.
+
+ //Temperature indication.
+ UM.Label
{
id: extruderCurrentTemperature
text: Math.round(extruderModel.hotendTemperature) + "°C"
- color: UM.Theme.getColor("text")
font: UM.Theme.getFont("large_bold")
anchors.right: extruderTargetTemperature.left
anchors.top: parent.top
anchors.margins: UM.Theme.getSize("default_margin").width
- MouseArea //For tooltip.
+
+ //For tooltip.
+ MouseArea
{
id: extruderCurrentTemperatureTooltipArea
hoverEnabled: true
@@ -110,7 +113,8 @@ Item
}
}
- Rectangle //Input field for pre-heat temperature.
+ //Input field for pre-heat temperature.
+ Rectangle
{
id: preheatTemperatureControl
color: !enabled ? UM.Theme.getColor("setting_control_disabled") : showError ? UM.Theme.getColor("setting_validation_error_background") : UM.Theme.getColor("setting_validation_ok")
@@ -152,14 +156,16 @@ Item
width: UM.Theme.getSize("monitor_preheat_temperature_control").width
height: UM.Theme.getSize("monitor_preheat_temperature_control").height
visible: extruderModel != null ? enabled && extruderModel.canPreHeatHotends && !extruderModel.isPreheating : true
- Rectangle //Highlight of input field.
+ //Highlight of input field.
+ Rectangle
{
anchors.fill: parent
anchors.margins: UM.Theme.getSize("default_lining").width
color: UM.Theme.getColor("setting_control_highlight")
opacity: preheatTemperatureControl.hovered ? 1.0 : 0
}
- MouseArea //Change cursor on hovering.
+ //Change cursor on hovering.
+ MouseArea
{
id: preheatTemperatureInputMouseArea
hoverEnabled: true
@@ -182,7 +188,7 @@ Item
}
}
}
- Label
+ UM.Label
{
id: unit
anchors.right: parent.right
@@ -191,7 +197,6 @@ Item
text: "°C";
color: UM.Theme.getColor("setting_unit")
- font: UM.Theme.getFont("default")
}
TextInput
{
@@ -299,7 +304,8 @@ Item
}
}
- Rectangle //Material colour indication.
+ //Material colour indication.
+ Rectangle
{
id: materialColor
width: Math.floor(materialName.height * 0.75)
@@ -313,7 +319,8 @@ Item
anchors.leftMargin: UM.Theme.getSize("default_margin").width
anchors.verticalCenter: materialName.verticalCenter
- MouseArea //For tooltip.
+ //For tooltip.
+ MouseArea
{
id: materialColorTooltipArea
hoverEnabled: true
@@ -335,17 +342,17 @@ Item
}
}
}
- Label //Material name.
+ //Material name.
+ UM.Label
{
id: materialName
text: extruderModel.activeMaterial != null ? extruderModel.activeMaterial.type : ""
- font: UM.Theme.getFont("default")
- color: UM.Theme.getColor("text")
anchors.left: materialColor.right
anchors.bottom: parent.bottom
anchors.margins: UM.Theme.getSize("default_margin").width
- MouseArea //For tooltip.
+ //For tooltip.
+ MouseArea
{
id: materialNameTooltipArea
hoverEnabled: true
@@ -367,17 +374,18 @@ Item
}
}
}
- Label //Variant name.
+
+ //Variant name.
+ UM.Label
{
id: variantName
text: extruderModel.hotendID
- font: UM.Theme.getFont("default")
- color: UM.Theme.getColor("text")
anchors.right: parent.right
anchors.bottom: parent.bottom
anchors.margins: UM.Theme.getSize("default_margin").width
- MouseArea //For tooltip.
+ //For tooltip.
+ MouseArea
{
id: variantNameTooltipArea
hoverEnabled: true
@@ -388,7 +396,7 @@ Item
{
base.showTooltip(
base,
- {x: 0, y: parent.mapToItem(base, 0, -parent.height / 4).y},
+ { x: 0, y: parent.mapToItem(base, 0, -parent.height / 4).y },
catalog.i18nc("@tooltip", "The nozzle inserted in this extruder.")
);
}
diff --git a/resources/qml/PrinterOutput/HeatedBedBox.qml b/resources/qml/PrinterOutput/HeatedBedBox.qml
index 82a8d8c6b7..9343ca8826 100644
--- a/resources/qml/PrinterOutput/HeatedBedBox.qml
+++ b/resources/qml/PrinterOutput/HeatedBedBox.qml
@@ -1,9 +1,8 @@
-// Copyright (c) 2017 Ultimaker B.V.
+// Copyright (c) 2022 Ultimaker B.V.
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.10
-import QtQuick.Controls 1.4
-import QtQuick.Layouts 1.3
+import QtQuick.Controls 2.4
import UM 1.2 as UM
import Cura 1.0 as Cura
@@ -20,17 +19,17 @@ Item
color: UM.Theme.getColor("main_background")
anchors.fill: parent
- Label //Build plate label.
+ // Build plate label.
+ UM.Label
{
text: catalog.i18nc("@label", "Build plate")
- font: UM.Theme.getFont("default")
- color: UM.Theme.getColor("text")
anchors.left: parent.left
anchors.top: parent.top
anchors.margins: UM.Theme.getSize("default_margin").width
}
- Label //Target temperature.
+ // Target temperature.
+ UM.Label
{
id: bedTargetTemperature
text: printerModel != null ? printerModel.targetBedTemperature + "°C" : ""
@@ -40,7 +39,8 @@ Item
anchors.rightMargin: UM.Theme.getSize("default_margin").width
anchors.bottom: bedCurrentTemperature.bottom
- MouseArea //For tooltip.
+ // For tooltip.
+ MouseArea
{
id: bedTargetTemperatureTooltipArea
hoverEnabled: true
@@ -62,17 +62,18 @@ Item
}
}
}
- Label //Current temperature.
+ // Current temperature.
+ UM.Label
{
id: bedCurrentTemperature
text: printerModel != null ? printerModel.bedTemperature + "°C" : ""
font: UM.Theme.getFont("large_bold")
- color: UM.Theme.getColor("text")
anchors.right: bedTargetTemperature.left
anchors.top: parent.top
anchors.margins: UM.Theme.getSize("default_margin").width
- MouseArea //For tooltip.
+ //For tooltip.
+ MouseArea
{
id: bedTemperatureTooltipArea
hoverEnabled: true
@@ -94,7 +95,8 @@ Item
}
}
}
- Rectangle //Input field for pre-heat temperature.
+ //Input field for pre-heat temperature.
+ Rectangle
{
id: preheatTemperatureControl
color: !enabled ? UM.Theme.getColor("setting_control_disabled") : showError ? UM.Theme.getColor("setting_validation_error_background") : UM.Theme.getColor("setting_validation_ok")
@@ -166,7 +168,7 @@ Item
}
}
}
- Label
+ UM.Label
{
id: unit
anchors.right: parent.right
@@ -175,7 +177,6 @@ Item
text: "°C";
color: UM.Theme.getColor("setting_unit")
- font: UM.Theme.getFont("default")
}
TextInput
{
@@ -213,7 +214,8 @@ Item
}
}
- Cura.SecondaryButton // The pre-heat button.
+ // The pre-heat button.
+ Cura.SecondaryButton
{
id: preheatButton
height: UM.Theme.getSize("setting_control").height
@@ -248,14 +250,15 @@ Item
text:
{
- if(printerModel == null)
+ if (printerModel == null)
{
return ""
}
- if(printerModel.isPreheating )
+ if (printerModel.isPreheating )
{
return catalog.i18nc("@button Cancel pre-heating", "Cancel")
- } else
+ }
+ else
{
return catalog.i18nc("@button", "Pre-heat")
}
@@ -279,7 +282,7 @@ Item
{
base.showTooltip(
base,
- {x: 0, y: preheatButton.mapToItem(base, 0, 0).y},
+ { x: 0, y: preheatButton.mapToItem(base, 0, 0).y },
catalog.i18nc("@tooltip of pre-heat", "Heat the bed in advance before printing. You can continue adjusting your print while it is heating, and you won't have to wait for the bed to heat up when you're ready to print.")
);
}
diff --git a/resources/qml/PrinterOutput/ManualPrinterControl.qml b/resources/qml/PrinterOutput/ManualPrinterControl.qml
index bf987b282f..f53a45905c 100644
--- a/resources/qml/PrinterOutput/ManualPrinterControl.qml
+++ b/resources/qml/PrinterOutput/ManualPrinterControl.qml
@@ -3,7 +3,6 @@
import QtQuick 2.10
import QtQuick.Controls 2.1
-import QtQuick.Layouts 1.3
import UM 1.5 as UM
import Cura 1.0 as Cura
diff --git a/resources/qml/PrinterOutput/MonitorItem.qml b/resources/qml/PrinterOutput/MonitorItem.qml
index 4cf66630e9..a6e78ba837 100644
--- a/resources/qml/PrinterOutput/MonitorItem.qml
+++ b/resources/qml/PrinterOutput/MonitorItem.qml
@@ -1,8 +1,7 @@
-// Copyright (c) 2017 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.Layouts 1.1
import UM 1.5 as UM
import Cura 1.0 as Cura
diff --git a/resources/qml/PrinterOutput/OutputDeviceHeader.qml b/resources/qml/PrinterOutput/OutputDeviceHeader.qml
index 9ad946b6af..56c8fcb936 100644
--- a/resources/qml/PrinterOutput/OutputDeviceHeader.qml
+++ b/resources/qml/PrinterOutput/OutputDeviceHeader.qml
@@ -1,7 +1,9 @@
+// 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.Layouts 1.1
+import QtQuick.Controls 2.1
import UM 1.2 as UM
import Cura 1.0 as Cura
@@ -27,7 +29,7 @@ Item
height: childrenRect.height
color: UM.Theme.getColor("setting_category")
- Label
+ UM.Label
{
id: outputDeviceNameLabel
font: UM.Theme.getFont("large_bold")
@@ -38,7 +40,7 @@ Item
text: outputDevice != null ? outputDevice.activePrinter.name : ""
}
- Label
+ UM.Label
{
id: outputDeviceAddressLabel
text: (outputDevice != null && outputDevice.address != null) ? outputDevice.address : ""
@@ -49,11 +51,10 @@ Item
anchors.margins: UM.Theme.getSize("default_margin").width
}
- Label
+ UM.Label
{
text: outputDevice != null ? "" : catalog.i18nc("@info:status", "The printer is not connected.")
color: outputDevice != null && outputDevice.acceptsCommands ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text")
- font: UM.Theme.getFont("default")
wrapMode: Text.WordWrap
anchors.left: parent.left
anchors.leftMargin: UM.Theme.getSize("default_margin").width
diff --git a/resources/qml/SecondaryButton.qml b/resources/qml/SecondaryButton.qml
index ba4e0bb2c1..d8027af3fc 100644
--- a/resources/qml/SecondaryButton.qml
+++ b/resources/qml/SecondaryButton.qml
@@ -11,7 +11,7 @@ Cura.ActionButton
{
color: UM.Theme.getColor("secondary_button")
textColor: UM.Theme.getColor("secondary_button_text")
- outlineColor: UM.Theme.getColor("secondary_button_text")
+ outlineColor: UM.Theme.getColor("border_accent_1")
disabledColor: UM.Theme.getColor("action_button_disabled")
textDisabledColor: UM.Theme.getColor("action_button_disabled_text")
hoverColor: UM.Theme.getColor("secondary_button_hover")
diff --git a/resources/qml/Settings/SettingExtruder.qml b/resources/qml/Settings/SettingExtruder.qml
index a7aaa99fb2..6b2ac55066 100644
--- a/resources/qml/Settings/SettingExtruder.qml
+++ b/resources/qml/Settings/SettingExtruder.qml
@@ -5,14 +5,14 @@ import QtQuick 2.7
import QtQuick.Controls 2.0
import UM 1.5 as UM
-import Cura 1.0 as Cura
+import Cura 1.5 as Cura
SettingItem
{
id: base
property var focusItem: control
- contents: ComboBox
+ contents: Cura.ComboBox
{
id: control
anchors.fill: parent
@@ -113,7 +113,7 @@ SettingItem
color: UM.Theme.getColor("setting_control_button");
}
- background: Rectangle
+ background: UM.UnderlineBackground
{
color:
{
@@ -127,9 +127,7 @@ SettingItem
}
return UM.Theme.getColor("setting_control")
}
- radius: UM.Theme.getSize("setting_control_radius").width
- border.width: UM.Theme.getSize("default_lining").width
- border.color:
+ liningColor:
{
if (!enabled)
{
@@ -137,9 +135,9 @@ SettingItem
}
if (control.hovered || control.activeFocus)
{
- return UM.Theme.getColor("setting_control_border_highlight")
+ return UM.Theme.getColor("border_main_light")
}
- return UM.Theme.getColor("setting_control_border")
+ return UM.Theme.getColor("border_field_light")
}
}
@@ -227,7 +225,6 @@ SettingItem
background: Rectangle
{
color: parent.highlighted ? UM.Theme.getColor("setting_control_highlight") : "transparent"
- border.color: parent.highlighted ? UM.Theme.getColor("setting_control_border_highlight") : "transparent"
}
}
}
diff --git a/resources/qml/Settings/SettingOptionalExtruder.qml b/resources/qml/Settings/SettingOptionalExtruder.qml
index 1f4a021009..1ac7afe967 100644
--- a/resources/qml/Settings/SettingOptionalExtruder.qml
+++ b/resources/qml/Settings/SettingOptionalExtruder.qml
@@ -5,7 +5,7 @@ import QtQuick 2.7
import QtQuick.Controls 2.0
import UM 1.5 as UM
-import Cura 1.0 as Cura
+import Cura 1.5 as Cura
SettingItem
{
@@ -19,7 +19,7 @@ SettingItem
// this extra property to keep the ExtrudersModel and use this in the rest of the code.
property var extrudersWithOptionalModel: CuraApplication.getExtrudersModelWithOptional()
- contents: ComboBox
+ contents: Cura.ComboBox
{
id: control
anchors.fill: parent
@@ -111,26 +111,24 @@ SettingItem
sourceSize.width: width + 5 * screenScaleFactor
sourceSize.height: width + 5 * screenScaleFactor
- color: UM.Theme.getColor("setting_control_button");
+ color: UM.Theme.getColor("setting_control_button")
}
- background: Rectangle
+ background: UM.UnderlineBackground
{
color:
{
if (!enabled)
{
- return UM.Theme.getColor("setting_control_disabled");
+ return UM.Theme.getColor("setting_control_disabled")
}
- if (control.hovered || control.activeFocus)
+ if (control.hovered || base.activeFocus)
{
- return UM.Theme.getColor("setting_control_highlight");
+ return UM.Theme.getColor("setting_control_highlight")
}
- return UM.Theme.getColor("setting_control");
+ return UM.Theme.getColor("setting_control")
}
- radius: UM.Theme.getSize("setting_control_radius").width
- border.width: UM.Theme.getSize("default_lining").width
- border.color:
+ liningColor:
{
if (!enabled)
{
@@ -138,9 +136,9 @@ SettingItem
}
if (control.hovered || control.activeFocus)
{
- return UM.Theme.getColor("setting_control_border_highlight")
+ return UM.Theme.getColor("border_main_light")
}
- return UM.Theme.getColor("setting_control_border")
+ return UM.Theme.getColor("border_field_light")
}
}
@@ -214,7 +212,7 @@ SettingItem
if (model.enabled) {
UM.Theme.getColor("setting_control_text")
} else {
- UM.Theme.getColor("action_button_disabled_text");
+ UM.Theme.getColor("action_button_disabled_text")
}
}
elide: Text.ElideRight
@@ -237,7 +235,6 @@ SettingItem
background: Rectangle
{
color: parent.highlighted ? UM.Theme.getColor("setting_control_highlight") : "transparent"
- border.color: parent.highlighted ? UM.Theme.getColor("setting_control_border_highlight") : "transparent"
}
}
}
diff --git a/resources/qml/Settings/SettingTextField.qml b/resources/qml/Settings/SettingTextField.qml
index e6afb9e8e3..83b5d2a987 100644
--- a/resources/qml/Settings/SettingTextField.qml
+++ b/resources/qml/Settings/SettingTextField.qml
@@ -26,15 +26,13 @@ SettingItem
}
}
- contents: Rectangle
+ contents: UM.UnderlineBackground
{
id: control
anchors.fill: parent
- radius: UM.Theme.getSize("setting_control_radius").width
- border.width: UM.Theme.getSize("default_lining").width
- border.color:
+ liningColor:
{
if(!enabled)
{
@@ -54,9 +52,9 @@ SettingItem
//Validation is OK.
if(hovered || input.activeFocus)
{
- return UM.Theme.getColor("setting_control_border_highlight")
+ return UM.Theme.getColor("border_main_light")
}
- return UM.Theme.getColor("setting_control_border")
+ return UM.Theme.getColor("border_field_light")
}
color: {
diff --git a/resources/qml/Settings/SettingView.qml b/resources/qml/Settings/SettingView.qml
index 48c658e4e7..2ab98081e7 100644
--- a/resources/qml/Settings/SettingView.qml
+++ b/resources/qml/Settings/SettingView.qml
@@ -409,7 +409,7 @@ Item
}
}
- Menu
+ Cura.Menu
{
id: contextMenu
diff --git a/resources/qml/SpinBox.qml b/resources/qml/SpinBox.qml
index d064da4f18..3c5a4d95e2 100644
--- a/resources/qml/SpinBox.qml
+++ b/resources/qml/SpinBox.qml
@@ -4,6 +4,9 @@
import QtQuick 2.2
import QtQuick.Controls 2.15
+import UM 1.5 as UM
+import Cura 1.5 as Cura
+
// This component extends the funtionality of QtControls 2.x Spinboxes to
// - be able to contain fractional values
// - hava a "prefix" and a "suffix". A validator is added that recognizes this pre-, suf-fix combo. When adding a custom
@@ -33,11 +36,15 @@ Item
signal editingFinished()
implicitWidth: spinBox.implicitWidth
implicitHeight: spinBox.implicitHeight
+
SpinBox
{
id: spinBox
anchors.fill: base
editable: base.editable
+ topPadding: 0
+ bottomPadding: 0
+ padding: UM.Theme.getSize("narrow_margin").width
// The stepSize of the SpinBox is intentionally set to be always `1`
// As SpinBoxes can only contain integer values the `base.stepSize` is concidered the precision/resolution
@@ -65,20 +72,60 @@ Item
base.value = value * base.stepSize;
}
- contentItem: TextField
+ background: Item {}
+
+ contentItem: Cura.TextField
{
text: spinBox.textFromValue(spinBox.value, spinBox.locale)
- selectByMouse: base.editable
- background: Item {}
validator: base.validator
onActiveFocusChanged:
{
- if(!activeFocus)
+ if (!activeFocus)
{
base.editingFinished();
}
}
}
+
+ down.indicator: Rectangle
+ {
+ x: spinBox.mirrored ? parent.width - width : 0
+ height: parent.height
+ width: height
+
+ UM.UnderlineBackground {
+ color: spinBox.down.pressed ? spinBox.palette.mid : UM.Theme.getColor("detail_background")
+ }
+
+ UM.RecolorImage
+ {
+ anchors.centerIn: parent
+ height: parent.height / 2.5
+ width: height
+ color: enabled ? UM.Theme.getColor("text") : UM.Theme.getColor("text_disabled")
+ source: UM.Theme.getIcon("Minus")
+ }
+ }
+
+ up.indicator: Rectangle
+ {
+ x: spinBox.mirrored ? 0 : parent.width - width
+ height: parent.height
+ width: height
+
+ UM.UnderlineBackground {
+ color: spinBox.up.pressed ? spinBox.palette.mid : UM.Theme.getColor("detail_background")
+ }
+
+ UM.RecolorImage
+ {
+ anchors.centerIn: parent
+ height: parent.height / 2.5
+ width: height
+ color: enabled ? UM.Theme.getColor("text") : UM.Theme.getColor("text_disabled")
+ source: UM.Theme.getIcon("Plus")
+ }
+ }
}
}
diff --git a/resources/qml/Widgets/ComboBox.qml b/resources/qml/Widgets/ComboBox.qml
index 6420f41823..f84772e609 100644
--- a/resources/qml/Widgets/ComboBox.qml
+++ b/resources/qml/Widgets/ComboBox.qml
@@ -26,29 +26,18 @@ ComboBox
{
name: "disabled"
when: !control.enabled
- PropertyChanges { target: backgroundRectangle.border; color: UM.Theme.getColor("setting_control_disabled_border")}
- PropertyChanges { target: backgroundRectangle; color: UM.Theme.getColor("setting_control_disabled")}
+ PropertyChanges { target: background; color: UM.Theme.getColor("setting_control_disabled")}
PropertyChanges { target: contentLabel; color: UM.Theme.getColor("setting_control_disabled_text")}
},
State
{
name: "highlighted"
when: control.hovered || control.activeFocus
- PropertyChanges { target: backgroundRectangle.border; color: UM.Theme.getColor("setting_control_border_highlight") }
- PropertyChanges { target: backgroundRectangle; color: UM.Theme.getColor("setting_control_highlight")}
+ PropertyChanges { target: background; liningColor: UM.Theme.getColor("border_main_light")}
}
]
- background: Rectangle
- {
- id: backgroundRectangle
- color: UM.Theme.getColor("setting_control")
-
- radius: UM.Theme.getSize("setting_control_radius").width
- border.width: UM.Theme.getSize("default_lining").width
- border.color: UM.Theme.getColor("setting_control_border")
-
- }
+ background: UM.UnderlineBackground{}
indicator: UM.RecolorImage
{
@@ -157,7 +146,6 @@ ComboBox
Rectangle
{
color: delegateItem.highlighted ? UM.Theme.getColor("setting_control_highlight") : "transparent"
- border.color: delegateItem.highlighted ? UM.Theme.getColor("setting_control_border_highlight") : "transparent"
anchors.fill: parent
}
text: delegateLabel.truncated ? delegateItem.text : ""
diff --git a/resources/qml/Widgets/Menu.qml b/resources/qml/Widgets/Menu.qml
index 0aa320df19..b3cdfc6967 100644
--- a/resources/qml/Widgets/Menu.qml
+++ b/resources/qml/Widgets/Menu.qml
@@ -21,7 +21,7 @@ UM.Menu
delegate: Cura.MenuItem {}
background: Rectangle
{
- color: UM.Theme.getColor("setting_control")
- border.color: UM.Theme.getColor("setting_control_border")
+ color: UM.Theme.getColor("main_background")
+ border.color: UM.Theme.getColor("lining")
}
}
\ No newline at end of file
diff --git a/resources/qml/Widgets/MenuItem.qml b/resources/qml/Widgets/MenuItem.qml
index aacc5354cd..36098e1197 100644
--- a/resources/qml/Widgets/MenuItem.qml
+++ b/resources/qml/Widgets/MenuItem.qml
@@ -48,7 +48,6 @@ UM.MenuItem
y: UM.Theme.getSize("default_lining").width
width: menuItem.width - 2 * UM.Theme.getSize("default_lining").width
height: menuItem.height - 2 * UM.Theme.getSize("default_lining").height
-
- color: menuItem.highlighted ? UM.Theme.getColor("secondary"): UM.Theme.getColor("setting_control_highlight")
+ color: menuItem.highlighted ? UM.Theme.getColor("background_2"): UM.Theme.getColor("background_1")
}
}
\ No newline at end of file
diff --git a/resources/qml/Widgets/RadioButton.qml b/resources/qml/Widgets/RadioButton.qml
index 18347b69da..428eb8a4e5 100644
--- a/resources/qml/Widgets/RadioButton.qml
+++ b/resources/qml/Widgets/RadioButton.qml
@@ -17,6 +17,31 @@ RadioButton
font: UM.Theme.getFont("default")
+ states: [
+ State {
+ name: "checked"
+ when: radioButton.checked
+ PropertyChanges
+ {
+ target: indicator
+ color: UM.Theme.getColor("accent_1")
+ border.width: 0
+ }
+ },
+ State
+ {
+ name: "disabled"
+ when: !radioButton.enabled
+ PropertyChanges { target: indicator; color: UM.Theme.getColor("background_1")}
+ },
+ State
+ {
+ name: "highlighted"
+ when: radioButton.hovered || radioButton.activeFocus
+ PropertyChanges { target: indicator; border.color: UM.Theme.getColor("border_main_light")}
+ }
+ ]
+
background: Item
{
anchors.fill: parent
@@ -29,8 +54,9 @@ RadioButton
anchors.verticalCenter: parent.verticalCenter
anchors.alignWhenCentered: false
radius: width / 2
+ color: UM.Theme.getColor("background_2")
border.width: UM.Theme.getSize("default_lining").width
- border.color: radioButton.hovered ? UM.Theme.getColor("small_button_text") : UM.Theme.getColor("small_button_text_hover")
+ border.color: UM.Theme.getColor("text_disabled")
Rectangle
{
@@ -38,7 +64,7 @@ RadioButton
height: width
anchors.centerIn: parent
radius: width / 2
- color: radioButton.hovered ? UM.Theme.getColor("primary_button_hover") : UM.Theme.getColor("primary_button")
+ color: radioButton.enabled ? UM.Theme.getColor("background_2") : UM.Theme.getColor("background_1")
visible: radioButton.checked
}
}
diff --git a/resources/qml/Widgets/TextField.qml b/resources/qml/Widgets/TextField.qml
index b995c34f10..7803c17396 100644
--- a/resources/qml/Widgets/TextField.qml
+++ b/resources/qml/Widgets/TextField.qml
@@ -4,7 +4,7 @@
import QtQuick 2.10
import QtQuick.Controls 2.3
-import UM 1.3 as UM
+import UM 1.5 as UM
import Cura 1.1 as Cura
@@ -17,11 +17,14 @@ TextField
property alias leftIcon: iconLeft.source
+ height: UM.Theme.getSize("setting_control").height
+
hoverEnabled: true
selectByMouse: true
font: UM.Theme.getFont("default")
color: UM.Theme.getColor("text")
renderType: Text.NativeRendering
+ selectionColor: UM.Theme.getColor("text_selection")
leftPadding: iconLeft.visible ? iconLeft.width + UM.Theme.getSize("default_margin").width * 2 : UM.Theme.getSize("thin_margin").width
states: [
@@ -29,45 +32,25 @@ TextField
{
name: "disabled"
when: !textField.enabled
- PropertyChanges { target: backgroundRectangle.border; color: UM.Theme.getColor("setting_control_disabled_border")}
PropertyChanges { target: backgroundRectangle; color: UM.Theme.getColor("setting_control_disabled")}
},
State
{
name: "invalid"
when: !textField.acceptableInput
- PropertyChanges { target: backgroundRectangle.border; color: UM.Theme.getColor("setting_validation_error")}
PropertyChanges { target: backgroundRectangle; color: UM.Theme.getColor("setting_validation_error_background")}
},
State
{
name: "hovered"
when: textField.hovered || textField.activeFocus
- PropertyChanges { target: backgroundRectangle.border; color: UM.Theme.getColor("setting_control_border_highlight") }
+ PropertyChanges { target: backgroundRectangle; liningColor: UM.Theme.getColor("border_main_light")}
}
]
- background: Rectangle
+ background: UM.UnderlineBackground
{
id: backgroundRectangle
-
- color: UM.Theme.getColor("main_background")
-
- radius: UM.Theme.getSize("setting_control_radius").width
-
- border.color:
- {
- if (!textField.enabled)
- {
- return UM.Theme.getColor("setting_control_disabled_border")
- }
- if (textField.hovered || textField.activeFocus)
- {
- return UM.Theme.getColor("setting_control_border_highlight")
- }
- return UM.Theme.getColor("setting_control_border")
- }
-
//Optional icon added on the left hand side.
UM.RecolorImage
{
diff --git a/resources/qml/qmldir b/resources/qml/qmldir
index 2d5839f798..8ddacc56e4 100644
--- a/resources/qml/qmldir
+++ b/resources/qml/qmldir
@@ -47,3 +47,4 @@ GcodeTextArea 1.0 GcodeTextArea.qml
NumericTextFieldWithUnit 1.0 NumericTextFieldWithUnit.qml
PrintHeadMinMaxTextField 1.0 PrintHeadMinMaxTextField.qml
SimpleCheckBox 1.0 SimpleCheckBox.qml
+RenameDialog 1.0 RenameDialog.qml
diff --git a/resources/themes/cura-dark/theme.json b/resources/themes/cura-dark/theme.json
index dd31a5aafa..8f45471344 100644
--- a/resources/themes/cura-dark/theme.json
+++ b/resources/themes/cura-dark/theme.json
@@ -4,41 +4,70 @@
"inherits": "cura-light"
},
+ "base_colors":
+ {
+ "background_1": [31, 31, 32, 255],
+ "background_2": [57, 57, 58, 255],
+ "background_3": [85, 85, 87, 255],
+ "background_4": [23, 23, 23, 255],
+
+ "accent_1": [25, 110, 240, 255],
+ "accent_2": [16, 70, 156, 255],
+ "border_main": [212, 212, 212, 255],
+ "border_accent_1": [255, 255, 255, 255],
+ "border_accent_2": [16, 70, 156, 255],
+ "border_field": [57, 57, 58, 255],
+
+ "text_default": [255, 255, 255, 255],
+ "text_disabled": [118, 118, 118, 255],
+ "text_primary_button": [255, 255, 255, 255],
+ "text_secondary_button": [255, 255, 255, 255],
+ "text_link_hover": [156, 195, 255, 255],
+ "text_lighter": [243, 243, 243, 255]
+ },
+
"colors": {
- "main_background": [39, 44, 48, 255],
- "detail_background": [63, 63, 63, 255],
- "message_background": [39, 44, 48, 255],
+ "main_background": "background_1",
+ "detail_background": "background_2",
+ "message_background": "background_1",
"wide_lining": [31, 36, 39, 255],
"thick_lining": [255, 255, 255, 60],
- "lining": [64, 69, 72, 255],
- "viewport_overlay": [30, 36, 39, 255],
+ "lining": "border_main",
+ "viewport_overlay": "background_1",
"primary": [12, 169, 227, 255],
- "primary_text": [255, 255, 255, 204],
+ "primary_text": "text_default",
"secondary": [95, 95, 95, 255],
- "secondary_button": [39, 44, 48, 255],
- "secondary_button_hover": [85, 85, 87, 255],
+ "expandable_active": "background_2",
+ "expandable_hover": "background_2",
+
+ "secondary_button": "background_1",
+ "secondary_button_hover": "background_3",
"secondary_button_text": [255, 255, 255, 255],
- "icon": [255, 255, 255, 255],
- "toolbar_background": [39, 44, 48, 255],
- "toolbar_button_active": [57, 57, 58, 255],
- "toolbar_button_hover": [57, 57, 58, 255],
- "toolbar_button_active_hover": [57, 57, 58, 255],
+ "icon": "text_default",
+ "toolbar_background": "background_1",
+ "toolbar_button_active": "background_3",
+ "toolbar_button_hover": "background_3",
+ "toolbar_button_active_hover": "background_3",
- "main_window_header_button_text_inactive": [128, 128, 128, 255],
- "main_window_header_background": [14, 14, 14, 255],
- "main_window_header_background_gradient": [32, 32, 32, 255],
+ "main_window_header_button_background_inactive": "background_4",
+ "main_window_header_button_text_inactive": "text_primary_button",
+ "main_window_header_button_text_active": "background_4",
+ "main_window_header_background": "background_4",
+ "main_window_header_background_gradient": "background_4",
"main_window_header_button_background_hovered": [46, 46, 46, 255],
+ "secondary_button_text": "text_secondary_button",
+
"account_sync_state_icon": [255, 255, 255, 204],
"machine_selector_printer_icon": [204, 204, 204, 255],
- "text": [255, 255, 255, 204],
+ "text": "text_default",
"text_detail": [255, 255, 255, 172],
- "text_link": [25, 110, 240, 255],
+ "text_link": "accent_1",
"text_inactive": [255, 255, 255, 88],
"text_hover": [255, 255, 255, 204],
"text_scene": [255, 255, 255, 162],
@@ -51,7 +80,7 @@
"button": [39, 44, 48, 255],
"button_hover": [39, 44, 48, 255],
- "button_text": [255, 255, 255, 197],
+ "button_text": "text_default",
"button_disabled": [39, 44, 48, 255],
"button_disabled_text": [255, 255, 255, 101],
@@ -74,28 +103,37 @@
"tab_active_text": [255, 255, 255, 255],
"tab_background": [39, 44, 48, 255],
- "action_button": [39, 44, 48, 255],
+ "action_button": "background_1",
+ "action_button_text": [255, 255, 255, 200],
+ "action_button_border": "border_main",
"action_button_hovered": [79, 85, 89, 255],
- "action_button_disabled": [85, 85, 87, 255],
- "action_button_disabled_text": [103, 103, 104, 255],
+ "action_button_hovered_text": "text_default",
+ "action_button_hovered_border": "border_main",
+ "action_button_active": [39, 44, 48, 30],
+ "action_button_active_text": "text_default",
+ "action_button_active_border": [255, 255, 255, 100],
+ "action_button_disabled": "background_3",
+ "action_button_disabled_text": "text_disabled",
+ "action_button_disabled_border": [255, 255, 255, 30],
"scrollbar_background": [39, 44, 48, 0],
"scrollbar_handle": [255, 255, 255, 105],
"scrollbar_handle_hover": [255, 255, 255, 255],
"scrollbar_handle_down": [255, 255, 255, 255],
- "setting_category": [75, 80, 83, 255],
+ "setting_category": "background_3",
"setting_category_disabled": [75, 80, 83, 255],
- "setting_category_hover": [75, 80, 83, 255],
+ "setting_category_hover": "background_3",
"setting_category_text": [255, 255, 255, 152],
"setting_category_disabled_text": [255, 255, 255, 101],
"setting_category_active_text": [255, 255, 255, 204],
- "setting_control": [43, 48, 52, 255],
- "setting_control_highlight": [43, 48, 52, 255],
+ "setting_control": "background_2",
+ "setting_control_selected": [34, 39, 42, 38],
+ "setting_control_highlight": "background_3",
"setting_control_border": [255, 255, 255, 38],
"setting_control_border_highlight": [12, 169, 227, 255],
- "setting_control_text": [255, 255, 255, 181],
+ "setting_control_text": "text_default",
"setting_control_button": [255, 255, 255, 127],
"setting_control_button_hover": [255, 255, 255, 204],
"setting_control_disabled": [34, 39, 42, 255],
@@ -106,7 +144,7 @@
"setting_validation_error": [212, 31, 53, 255],
"setting_validation_warning_background": [62, 54, 46, 255],
"setting_validation_warning": [245, 166, 35, 255],
- "setting_validation_ok": [43, 48, 52, 255],
+ "setting_validation_ok": "background_2",
"progressbar_background": [255, 255, 255, 48],
"progressbar_control": [255, 255, 255, 197],
@@ -117,19 +155,23 @@
"slider_handle": [255, 255, 255, 255],
"slider_handle_active": [68, 192, 255, 255],
- "checkbox": [43, 48, 52, 255],
+ "checkbox": "background_1",
"checkbox_hover": [43, 48, 52, 255],
- "checkbox_border": [255, 255, 255, 38],
- "checkbox_border_hover": [255, 255, 255, 38],
- "checkbox_mark": [255, 255, 255, 181],
- "checkbox_text": [255, 255, 255, 181],
+ "checkbox_border": "text_disabled",
+ "checkbox_border_hover": "border_main",
+ "checkbox_mark": "text_default",
+ "checkbox_square": "text_disabled",
+ "checkbox_text": "text_default",
+ "checkbox_disabled": "background_2",
- "tooltip": [39, 44, 48, 255],
- "tooltip_text": [255, 255, 255, 204],
+ "category_background": "background_3",
- "tool_panel_background": [39, 44, 48, 255],
+ "tooltip": "background_2",
+ "tooltip_text": "text_default",
- "viewport_background": [31, 36, 39, 255],
+ "tool_panel_background": "background_1",
+
+ "viewport_background": "background_1",
"volume_outline": [12, 169, 227, 128],
"buildplate": [169, 169, 169, 255],
"buildplate_grid_minor": [154, 154, 155, 255],
@@ -153,8 +195,8 @@
"monitor_card_background": [51, 53, 54, 255],
"monitor_card_hover": [84, 89, 95, 255],
- "monitor_stage_background": [30, 36, 39, 255],
- "monitor_stage_background_fade": [30, 36, 39, 102],
+ "monitor_stage_background": "background_1",
+ "monitor_stage_background_fade": "background_1",
"monitor_progress_bar_deactive": [102, 102, 102, 255],
"monitor_progress_bar_empty": [67, 67, 67, 255],
diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json
index 1072427559..ba18e5d0d2 100644
--- a/resources/themes/cura-light/theme.json
+++ b/resources/themes/cura-light/theme.json
@@ -170,9 +170,31 @@
}
},
+ "base_colors": {
+ "background_1": [255, 255, 255, 255],
+ "background_2": [243, 243, 243, 255],
+ "background_3": [232, 240, 253, 255],
+ "background_4": [3, 12, 66, 255],
+
+ "accent_1": [25, 110, 240, 255],
+ "accent_2": [16, 70, 156, 255],
+ "border_main": [212, 212, 212, 255],
+ "border_accent_1": [25, 110, 240, 255],
+ "border_accent_2": [16, 70, 156, 255],
+ "border_field": [180, 180, 180, 255],
+
+ "text_default": [0, 14, 26, 255],
+ "text_disabled": [180, 180, 180, 255],
+ "text_primary_button": [255, 255, 255, 255],
+ "text_secondary_button": [25, 110, 240, 255],
+ "text_link_hover": [16, 70, 156, 255],
+ "text_lighter": [108, 108, 108, 255]
+ },
+
"colors": {
- "main_background": [255, 255, 255, 255],
- "detail_background": [243, 243, 243, 255],
+
+ "main_background": "background_1",
+ "detail_background": "background_2",
"wide_lining": [245, 245, 245, 255],
"thick_lining": [180, 180, 180, 255],
"lining": [192, 193, 194, 255],
@@ -182,18 +204,23 @@
"primary_hover": [48, 182, 231, 255],
"primary_text": [255, 255, 255, 255],
"text_selection": [156, 195, 255, 127],
+ "border": [127, 127, 127, 255],
+ "border_field": [180, 180, 180, 255],
"secondary": [240, 240, 240, 255],
+ "expandable_active": [240, 240, 240, 255],
+ "expandable_hover": [232, 242, 252, 255],
+
"icon": [8, 7, 63, 255],
- "primary_button": [25, 110, 240, 255],
+ "primary_button": "accent_1",
"primary_button_hover": [16, 70, 156, 255],
"primary_button_text": [255, 255, 255, 255],
- "secondary_button": [255, 255, 255, 255],
+ "secondary_button": "background_1",
"secondary_button_shadow": [216, 216, 216, 255],
"secondary_button_hover": [232, 240, 253, 255],
- "secondary_button_text": [25, 110, 240, 255],
+ "secondary_button_text": "accent_1",
"main_window_header_background": [8, 7, 63, 255],
"main_window_header_background_gradient": [25, 23, 91, 255],
@@ -209,7 +236,7 @@
"machine_selector_printer_icon": [8, 7, 63, 255],
- "action_panel_secondary": [25, 110, 240, 255],
+ "action_panel_secondary": "accent_1",
"first_run_shadow": [50, 50, 50, 255],
@@ -222,6 +249,7 @@
"window_disabled_background": [0, 0, 0, 255],
"text": [25, 25, 25, 255],
+ "text_disabled": [180, 180, 180, 255],
"text_detail": [174, 174, 174, 128],
"text_link": [25, 110, 240, 255],
"text_inactive": [174, 174, 174, 255],
@@ -265,8 +293,8 @@
"setting_category_disabled_text": [24, 41, 77, 101],
"setting_category_active_text": [35, 35, 35, 255],
- "setting_control": [255, 255, 255, 255],
- "setting_control_highlight": [255, 255, 255, 255],
+ "setting_control": "background_2",
+ "setting_control_highlight": "background_3",
"setting_control_border": [199, 199, 199, 255],
"setting_control_border_highlight": [50, 130, 255, 255],
"setting_control_text": [35, 35, 35, 255],
@@ -280,7 +308,7 @@
"setting_validation_error": [127, 127, 127, 255],
"setting_validation_warning_background": [255, 145, 62, 255],
"setting_validation_warning": [127, 127, 127, 255],
- "setting_validation_ok": [255, 255, 255, 255],
+ "setting_validation_ok": "background_2",
"material_compatibility_warning": [243, 166, 59, 255],
@@ -297,13 +325,15 @@
"quality_slider_available": [0, 0, 0, 255],
"checkbox": [255, 255, 255, 255],
- "checkbox_hover": [255, 255, 255, 255],
+ "checkbox_hover": "border_main",
"checkbox_border": [180, 180, 180, 255],
"checkbox_border_hover": [25, 110, 240, 255],
"checkbox_mark": [35, 35, 35, 255],
- "checkbox_disabled": [223, 223, 223, 255],
+ "checkbox_disabled": "background_2",
"checkbox_text": [0, 12, 26, 255],
+ "category_background": "background_2",
+
"tooltip": [25, 25, 25, 255],
"tooltip_text": [255, 255, 255, 255],
@@ -397,7 +427,10 @@
"cloud_unavailable": [153, 153, 153, 255],
"connection_badge_background": [255, 255, 255, 255],
"warning_badge_background": [0, 0, 0, 255],
- "error_badge_background": [255, 255, 255, 255]
+ "error_badge_background": [255, 255, 255, 255],
+
+ "border_field_light": [180, 180, 180, 255],
+ "border_main_light": [212, 212, 212, 255]
},
"sizes": {
@@ -489,6 +522,8 @@
"medium_button": [2.5, 2.5],
"medium_button_icon": [2, 2],
+ "context_menu": [20, 2],
+
"favorites_row": [2, 2],
"favorites_button": [2, 2],
"favorites_button_icon": [1.2, 1.2],
@@ -519,6 +554,9 @@
"checkbox_mark": [1, 1],
"checkbox_radius": [0.25, 0.25],
+ "spinbox": [6.0, 3.0],
+ "combobox_wide": [14, 2],
+
"tooltip": [20.0, 10.0],
"tooltip_margins": [1.0, 1.0],
"tooltip_arrow_margins": [2.0, 2.0],