diff --git a/cura/Machines/Models/ExtrudersModel.py b/cura/Machines/Models/ExtrudersModel.py
index 98865ed37e..e979a1e848 100644
--- a/cura/Machines/Models/ExtrudersModel.py
+++ b/cura/Machines/Models/ExtrudersModel.py
@@ -53,6 +53,9 @@ class ExtrudersModel(ListModel):
EnabledRole = Qt.UserRole + 11
"""Is the extruder enabled?"""
+ MaterialTypeRole = Qt.UserRole + 12
+ """The type of the material (e.g. PLA, ABS, PETG, etc.)."""
+
defaultColors = ["#ffc924", "#86ec21", "#22eeee", "#245bff", "#9124ff", "#ff24c8"]
"""List of colours to display if there is no material or the material has no known colour. """
@@ -75,6 +78,7 @@ class ExtrudersModel(ListModel):
self.addRoleName(self.StackRole, "stack")
self.addRoleName(self.MaterialBrandRole, "material_brand")
self.addRoleName(self.ColorNameRole, "color_name")
+ self.addRoleName(self.MaterialTypeRole, "material_type")
self._update_extruder_timer = QTimer()
self._update_extruder_timer.setInterval(100)
self._update_extruder_timer.setSingleShot(True)
@@ -193,7 +197,8 @@ class ExtrudersModel(ListModel):
"variant": extruder.variant.getName() if extruder.variant else "", # e.g. print core
"stack": extruder,
"material_brand": material_brand,
- "color_name": color_name
+ "color_name": color_name,
+ "material_type": extruder.material.getMetaDataEntry("material") if extruder.material else "",
}
items.append(item)
@@ -218,6 +223,7 @@ class ExtrudersModel(ListModel):
"stack": None,
"material_brand": "",
"color_name": "",
+ "material_type": "",
}
items.append(item)
if self._items != items:
diff --git a/cura/UI/WhatsNewPagesModel.py b/cura/UI/WhatsNewPagesModel.py
index db0f4b3a74..11320a0ebb 100644
--- a/cura/UI/WhatsNewPagesModel.py
+++ b/cura/UI/WhatsNewPagesModel.py
@@ -29,7 +29,7 @@ class WhatsNewPagesModel(WelcomePagesModel):
for filename in files:
basename = os.path.basename(filename)
base, ext = os.path.splitext(basename)
- if ext not in include or not base.isdigit():
+ if ext.lower() not in include or not base.isdigit():
continue
page_no = int(base)
highest = max(highest, page_no)
diff --git a/plugins/PrepareStage/PrepareMenu.qml b/plugins/PrepareStage/PrepareMenu.qml
index 93ecb49677..82f61da069 100644
--- a/plugins/PrepareStage/PrepareMenu.qml
+++ b/plugins/PrepareStage/PrepareMenu.qml
@@ -8,7 +8,6 @@ import QtQuick.Controls 2.3
import UM 1.3 as UM
import Cura 1.1 as Cura
-import QtGraphicalEffects 1.0 // For the dropshadow
Item
{
@@ -42,42 +41,28 @@ Item
anchors.left: openFileButton.right
anchors.right: parent.right
anchors.leftMargin: UM.Theme.getSize("default_margin").width
+ property int machineSelectorWidth: Math.round((width - printSetupSelectorItem.width) / 3)
height: parent.height
- spacing: 0
+ // This is a trick to make sure that the borders of the two adjacent buttons' borders overlap. Otherwise
+ // there will be double border (one from each button)
+ spacing: -UM.Theme.getSize("default_lining").width
Cura.MachineSelector
{
id: machineSelection
headerCornerSide: Cura.RoundedRectangle.Direction.Left
- Layout.minimumWidth: UM.Theme.getSize("machine_selector_widget").width
- Layout.maximumWidth: UM.Theme.getSize("machine_selector_widget").width
+ Layout.preferredWidth: parent.machineSelectorWidth
Layout.fillWidth: true
Layout.fillHeight: true
}
- // Separator line
- Rectangle
- {
- height: parent.height
- width: UM.Theme.getSize("default_lining").width
- color: UM.Theme.getColor("lining")
- }
-
Cura.ConfigurationMenu
{
id: printerSetup
Layout.fillHeight: true
Layout.fillWidth: true
- Layout.preferredWidth: itemRow.width - machineSelection.width - printSetupSelectorItem.width - 2 * UM.Theme.getSize("default_lining").width
- }
-
- // Separator line
- Rectangle
- {
- height: parent.height
- width: UM.Theme.getSize("default_lining").width
- color: UM.Theme.getColor("lining")
+ Layout.preferredWidth: parent.machineSelectorWidth * 2
}
Item
@@ -106,7 +91,7 @@ Item
{
id: buttonIcon
anchors.centerIn: parent
- source: UM.Theme.getIcon("Folder")
+ source: UM.Theme.getIcon("Folder", "medium")
width: UM.Theme.getSize("button_icon").width
height: UM.Theme.getSize("button_icon").height
color: UM.Theme.getColor("icon")
@@ -120,24 +105,12 @@ Item
id: background
height: UM.Theme.getSize("stage_menu").height
width: UM.Theme.getSize("stage_menu").height
+ border.color: UM.Theme.getColor("lining")
+ border.width: UM.Theme.getSize("default_lining").width
radius: UM.Theme.getSize("default_radius").width
color: openFileButton.hovered ? UM.Theme.getColor("action_button_hovered") : UM.Theme.getColor("action_button")
}
-
- DropShadow
- {
- id: shadow
- // Don't blur the shadow
- radius: 0
- anchors.fill: background
- source: background
- verticalOffset: 2
- visible: true
- color: UM.Theme.getColor("action_button_shadow")
- // Should always be drawn behind the background.
- z: background.z - 1
- }
}
}
}
diff --git a/plugins/PreviewStage/PreviewMenu.qml b/plugins/PreviewStage/PreviewMenu.qml
index ff1ccff75f..e6c4a25c4c 100644
--- a/plugins/PreviewStage/PreviewMenu.qml
+++ b/plugins/PreviewStage/PreviewMenu.qml
@@ -35,6 +35,9 @@ Item
anchors.horizontalCenter: parent.horizontalCenter
width: parent.width - 2 * UM.Theme.getSize("wide_margin").width
height: parent.height
+ // This is a trick to make sure that the borders of the two adjacent buttons' borders overlap. Otherwise
+ // there will be double border (one from each button)
+ spacing: -UM.Theme.getSize("default_lining").width
Cura.ViewsSelector
{
@@ -44,17 +47,6 @@ Item
headerCornerSide: Cura.RoundedRectangle.Direction.Left
}
- // Separator line
- Rectangle
- {
- height: parent.height
- // If there is no viewPanel, we only need a single spacer, so hide this one.
- visible: viewPanel.source != ""
- width: visible ? UM.Theme.getSize("default_lining").width : 0
-
- color: UM.Theme.getColor("lining")
- }
-
// This component will grow freely up to complete the width of the row.
Loader
{
@@ -64,14 +56,6 @@ Item
source: UM.Controller.activeView != null && UM.Controller.activeView.stageMenuComponent != null ? UM.Controller.activeView.stageMenuComponent : ""
}
- // Separator line
- Rectangle
- {
- height: parent.height
- width: UM.Theme.getSize("default_lining").width
- color: UM.Theme.getColor("lining")
- }
-
Item
{
id: printSetupSelectorItem
diff --git a/plugins/UM3NetworkPrinting/resources/qml/MonitorBuildplateConfiguration.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorBuildplateConfiguration.qml
index f3002fd25b..0f4aec5424 100644
--- a/plugins/UM3NetworkPrinting/resources/qml/MonitorBuildplateConfiguration.qml
+++ b/plugins/UM3NetworkPrinting/resources/qml/MonitorBuildplateConfiguration.qml
@@ -50,7 +50,7 @@ Item
id: buildplateIcon
anchors.centerIn: parent
color: UM.Theme.getColor("monitor_icon_primary")
- height: parent.height
+ height: UM.Theme.getSize("medium_button_icon").width
source: "../svg/icons/Buildplate.svg"
width: height
visible: buildplate
diff --git a/plugins/UM3NetworkPrinting/resources/qml/MonitorExtruderConfiguration.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorExtruderConfiguration.qml
index ac5f588db3..c305c76ac6 100644
--- a/plugins/UM3NetworkPrinting/resources/qml/MonitorExtruderConfiguration.qml
+++ b/plugins/UM3NetworkPrinting/resources/qml/MonitorExtruderConfiguration.qml
@@ -37,6 +37,7 @@ Item
{
id: extruderIcon
color: UM.Theme.getColor("monitor_skeleton_loading")
+ size: UM.Theme.getSize("button_icon").width
position: 0
}
@@ -46,16 +47,18 @@ Item
anchors
{
left: extruderIcon.right
- leftMargin: 12 * screenScaleFactor // TODO: Theme!
+ leftMargin: UM.Theme.getSize("default_margin").width
+ verticalCenter: extruderIcon.verticalCenter
}
color: materialLabel.visible > 0 ? "transparent" : UM.Theme.getColor("monitor_skeleton_loading")
- height: 18 * screenScaleFactor // TODO: Theme!
+ height: childrenRect.height
width: Math.max(materialLabel.contentWidth, 60 * screenScaleFactor) // TODO: Theme!
radius: 2 * screenScaleFactor // TODO: Theme!
Label
{
id: materialLabel
+ anchors.top: parent.top
color: UM.Theme.getColor("text")
elide: Text.ElideRight
@@ -63,29 +66,13 @@ Item
text: ""
visible: text !== ""
- // FIXED-LINE-HEIGHT:
- height: parent.height
- verticalAlignment: Text.AlignVCenter
renderType: Text.NativeRendering
}
- }
-
- Rectangle
- {
- id: printCoreLabelWrapper
- anchors
- {
- left: materialLabelWrapper.left
- bottom: parent.bottom
- }
- color: printCoreLabel.visible > 0 ? "transparent" : UM.Theme.getColor("monitor_skeleton_loading")
- height: 18 * screenScaleFactor // TODO: Theme!
- width: Math.max(printCoreLabel.contentWidth, 36 * screenScaleFactor) // TODO: Theme!
- radius: 2 * screenScaleFactor // TODO: Theme!
Label
{
id: printCoreLabel
+ anchors.top: materialLabel.bottom
color: UM.Theme.getColor("text")
elide: Text.ElideRight
@@ -93,9 +80,6 @@ Item
text: ""
visible: text !== ""
- // FIXED-LINE-HEIGHT:
- height: parent.height
- verticalAlignment: Text.AlignVCenter
renderType: Text.NativeRendering
}
}
diff --git a/plugins/UM3NetworkPrinting/resources/qml/MonitorIconExtruder.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorIconExtruder.qml
index 79bc0ec25b..ad0e8a6777 100644
--- a/plugins/UM3NetworkPrinting/resources/qml/MonitorIconExtruder.qml
+++ b/plugins/UM3NetworkPrinting/resources/qml/MonitorIconExtruder.qml
@@ -38,6 +38,7 @@ Item
Label
{
id: positionLabel
+ anchors.centerIn: icon
font: UM.Theme.getFont("small")
color: UM.Theme.getColor("text")
height: Math.round(size / 2)
@@ -45,8 +46,6 @@ Item
text: position + 1
verticalAlignment: Text.AlignVCenter
width: Math.round(size / 2)
- x: Math.round(size * 0.25)
- y: Math.round(size * 0.15625)
visible: position >= 0
renderType: Text.NativeRendering
}
diff --git a/resources/images/whats_new/0.png b/resources/images/whats_new/0.png
index 77c7d6cf46..68b06eab10 100644
Binary files a/resources/images/whats_new/0.png and b/resources/images/whats_new/0.png differ
diff --git a/resources/images/whats_new/2.png b/resources/images/whats_new/2.png
index cfaf962d97..9be5228efb 100644
Binary files a/resources/images/whats_new/2.png and b/resources/images/whats_new/2.png differ
diff --git a/resources/images/whats_new/3.PNG b/resources/images/whats_new/3.PNG
new file mode 100644
index 0000000000..b37e50d72b
Binary files /dev/null and b/resources/images/whats_new/3.PNG differ
diff --git a/resources/images/whats_new/4.PNG b/resources/images/whats_new/4.PNG
new file mode 100644
index 0000000000..a78b128aff
Binary files /dev/null and b/resources/images/whats_new/4.PNG differ
diff --git a/resources/qml/Account/AccountWidget.qml b/resources/qml/Account/AccountWidget.qml
index 48c05f8a11..ef1622daee 100644
--- a/resources/qml/Account/AccountWidget.qml
+++ b/resources/qml/Account/AccountWidget.qml
@@ -54,9 +54,10 @@ Item
id: accountWidget
anchors.verticalCenter: parent.verticalCenter
+ anchors.horizontalCenter: signInButton.horizontalCenter
- implicitHeight: UM.Theme.getSize("main_window_header").height
- implicitWidth: UM.Theme.getSize("main_window_header").height
+ implicitHeight: Math.round(0.5 * UM.Theme.getSize("main_window_header").height)
+ implicitWidth: Math.round(0.5 * UM.Theme.getSize("main_window_header").height)
hoverEnabled: true
@@ -68,8 +69,8 @@ Item
{
id: avatar
- width: Math.round(0.8 * accountWidget.width)
- height: Math.round(0.8 * accountWidget.height)
+ width: accountWidget.width
+ height: accountWidget.height
anchors.verticalCenter: accountWidget.verticalCenter
anchors.horizontalCenter: accountWidget.horizontalCenter
@@ -86,7 +87,7 @@ Item
{
id: initialCircle
anchors.centerIn: parent
- width: Math.min(parent.width, parent.height)
+ width: Math.min(accountWidget.width, accountWidget.height)
height: width
radius: width
color: accountWidget.hovered ? UM.Theme.getColor("primary_text") : "transparent"
@@ -141,7 +142,7 @@ Item
borderColor: UM.Theme.getColor("lining")
borderWidth: UM.Theme.getSize("default_lining").width
- target: Qt.point(width - (accountWidget.width / 2), -10)
+ target: Qt.point(width - (signInButton.width / 2), -10)
arrowSize: UM.Theme.getSize("default_arrow").width
}
diff --git a/resources/qml/Account/UserOperations.qml b/resources/qml/Account/UserOperations.qml
index 19e92e0249..f5241596d5 100644
--- a/resources/qml/Account/UserOperations.qml
+++ b/resources/qml/Account/UserOperations.qml
@@ -9,7 +9,7 @@ import Cura 1.1 as Cura
Column
{
- spacing: UM.Theme.getSize("narrow_margin").height
+ spacing: UM.Theme.getSize("default_margin").height
topPadding: UM.Theme.getSize("default_margin").height
bottomPadding: UM.Theme.getSize("default_margin").height
width: childrenRect.width
@@ -18,7 +18,7 @@ Column
{
id: accountInfo
width: childrenRect.width
- height: childrenRect.height
+ height: accountSyncDetailsColumn.height
anchors.left: parent.left
anchors.leftMargin: UM.Theme.getSize("default_margin").width
AvatarImage
@@ -56,6 +56,7 @@ Column
Column
{
+ id: accountSyncDetailsColumn
anchors.left: avatar.right
anchors.leftMargin: UM.Theme.getSize("default_margin").width
spacing: UM.Theme.getSize("narrow_margin").height
diff --git a/resources/qml/ExpandableComponent.qml b/resources/qml/ExpandableComponent.qml
index 58719eb1fe..415d994ceb 100644
--- a/resources/qml/ExpandableComponent.qml
+++ b/resources/qml/ExpandableComponent.qml
@@ -7,8 +7,6 @@ import QtQuick.Controls 2.3
import UM 1.2 as UM
import Cura 1.0 as Cura
-import QtGraphicalEffects 1.0 // For the dropshadow
-
// The expandable component has 2 major sub components:
// * The headerItem; Always visible and should hold some info about what happens if the component is expanded
// * The contentItem; The content that needs to be shown if the component is expanded.
@@ -56,6 +54,11 @@ Item
// How much padding is needed around the header & button
property alias headerPadding: background.padding
+ property alias headerBackgroundBorder: background.border
+
+ // Whether or not to show the background border
+ property bool enableHeaderBackgroundBorder: true
+
// What icon should be displayed on the right.
property alias iconSource: collapseButton.source
@@ -73,11 +76,7 @@ Item
// On what side should the header corners be shown? 1 is down, 2 is left, 3 is up and 4 is right.
property alias headerCornerSide: background.cornerSide
- property alias headerShadowColor: shadow.color
-
- property alias enableHeaderShadow: shadow.visible
-
- property int shadowOffset: 2
+ property int popupOffset: 2
// Prefix used for the dragged position preferences. Preferences not used if empty. Don't translate!
property string dragPreferencesNamePrefix: ""
@@ -120,6 +119,9 @@ Item
id: background
property real padding: UM.Theme.getSize("default_margin").width
+ border.width: base.enableHeaderBackgroundBorder ? UM.Theme.getSize("default_lining").width : 0
+ border.color: UM.Theme.getColor("lining")
+
color: base.enabled ? (base.expanded ? headerActiveColor : headerBackgroundColor) : UM.Theme.getColor("disabled")
anchors.fill: parent
@@ -165,7 +167,7 @@ Item
verticalCenter: parent.verticalCenter
margins: background.padding
}
- source: UM.Theme.getIcon("Pen")
+ source: expanded ? UM.Theme.getIcon("ChevronSingleDown") : UM.Theme.getIcon("ChevronSingleLeft")
visible: source != ""
width: UM.Theme.getSize("standard_arrow").width
height: UM.Theme.getSize("standard_arrow").height
@@ -184,20 +186,6 @@ Item
}
}
- DropShadow
- {
- id: shadow
- // Don't blur the shadow
- radius: 0
- anchors.fill: background
- source: background
- verticalOffset: base.shadowOffset
- visible: true
- color: UM.Theme.getColor("action_button_shadow")
- // Should always be drawn behind the background.
- z: background.z - 1
- }
-
Cura.RoundedRectangle
{
id: contentContainer
@@ -209,7 +197,7 @@ Item
height: childrenRect.height
// Ensure that the content is located directly below the headerItem
- y: dragPreferencesNamePrefix === "" ? (background.height + base.shadowOffset + base.contentSpacingY) : UM.Preferences.getValue(dragPreferencesNamePrefix + dragPreferencesNameY)
+ y: dragPreferencesNamePrefix === "" ? (background.height + base.popupOffset + base.contentSpacingY) : UM.Preferences.getValue(dragPreferencesNamePrefix + dragPreferencesNameY)
// Make the content aligned with the rest, using the property contentAlignment to decide whether is right or left.
// In case of right alignment, the 3x padding is due to left, right and padding between the button & text.
diff --git a/resources/qml/ExpandablePopup.qml b/resources/qml/ExpandablePopup.qml
index b490ad5bc4..da56470bfb 100644
--- a/resources/qml/ExpandablePopup.qml
+++ b/resources/qml/ExpandablePopup.qml
@@ -7,8 +7,6 @@ import QtQuick.Controls 2.3
import UM 1.2 as UM
import Cura 1.0 as Cura
-import QtGraphicalEffects 1.0 // For the dropshadow
-
// The expandable component has 2 major sub components:
// * The headerItem; Always visible and should hold some info about what happens if the component is expanded
// * The contentItem; The content that needs to be shown if the component is expanded.
@@ -50,6 +48,11 @@ Item
// How much padding is needed around the header & button
property alias headerPadding: background.padding
+ property alias headerBackgroundBorder: background.border
+
+ // Whether or not to show the background border
+ property bool enableHeaderBackgroundBorder: true
+
// What icon should be displayed on the right.
property alias iconSource: collapseButton.source
@@ -72,11 +75,7 @@ Item
// Change the contentItem close behaviour
property alias contentClosePolicy : content.closePolicy
- property alias headerShadowColor: shadow.color
-
- property alias enableHeaderShadow: shadow.visible
-
- property int shadowOffset: 2
+ property int popupOffset: 2
onEnabledChanged:
{
@@ -114,6 +113,9 @@ Item
id: background
property real padding: UM.Theme.getSize("default_margin").width
+ border.width: base.enableHeaderBackgroundBorder ? UM.Theme.getSize("default_lining").width : 0
+ border.color: UM.Theme.getColor("lining")
+
color: base.enabled ? headerBackgroundColor : UM.Theme.getColor("disabled")
anchors.fill: parent
@@ -188,26 +190,12 @@ Item
}
- DropShadow
- {
- id: shadow
- // Don't blur the shadow
- radius: 0
- anchors.fill: background
- source: background
- verticalOffset: base.shadowOffset
- visible: true
- color: UM.Theme.getColor("action_button_shadow")
- // Should always be drawn behind the background.
- z: background.z - 1
- }
-
Popup
{
id: content
// Ensure that the content is located directly below the headerItem
- y: background.height + base.shadowOffset
+ y: background.height + base.popupOffset
// Make the content aligned with the rest, using the property contentAlignment to decide whether is right or left.
// In case of right alignment, the 3x padding is due to left, right and padding between the button & text.
diff --git a/resources/qml/MainWindow/MainWindowHeader.qml b/resources/qml/MainWindow/MainWindowHeader.qml
index cb7d5c3d88..c670abb67a 100644
--- a/resources/qml/MainWindow/MainWindowHeader.qml
+++ b/resources/qml/MainWindow/MainWindowHeader.qml
@@ -62,7 +62,7 @@ Item
anchors.verticalCenter: parent.verticalCenter
exclusiveGroup: mainWindowHeaderMenuGroup
style: UM.Theme.styles.main_window_header_tab
- height: UM.Theme.getSize("main_window_header_button").height
+ height: Math.round(0.5 * UM.Theme.getSize("main_window_header").height)
iconSource: model.stage.iconSource
property color overlayColor: "transparent"
diff --git a/resources/qml/Menus/ConfigurationMenu/ConfigurationMenu.qml b/resources/qml/Menus/ConfigurationMenu/ConfigurationMenu.qml
index b088abc830..f55bb0e37c 100644
--- a/resources/qml/Menus/ConfigurationMenu/ConfigurationMenu.qml
+++ b/resources/qml/Menus/ConfigurationMenu/ConfigurationMenu.qml
@@ -56,51 +56,100 @@ Cura.ExpandablePopup
id: extruderIcon
materialColor: model.color
extruderEnabled: model.enabled
- height: parent.height
- width: height
+ width: UM.Theme.getSize("button_icon").width
+ anchors.verticalCenter: parent.verticalCenter
}
- // Label for the brand of the material
- Label
+ Item
{
- id: typeAndBrandNameLabel
-
- text: model.material_brand + " " + model.material
- elide: Text.ElideRight
- font: UM.Theme.getFont("default")
- color: UM.Theme.getColor("text")
- renderType: Text.NativeRendering
- opacity: model.enabled ? 1 : 0.4
- anchors
- {
- top: extruderIcon.top
- left: extruderIcon.right
- leftMargin: UM.Theme.getSize("default_margin").width
- right: parent.right
- rightMargin: UM.Theme.getSize("default_margin").width
- }
- }
- // Label that shows the name of the variant
- Label
- {
- id: variantLabel
-
- visible: Cura.MachineManager.activeMachine ? Cura.MachineManager.activeMachine.hasVariants : false
-
- text: model.variant
- elide: Text.ElideRight
- font: UM.Theme.getFont("default_bold")
- color: UM.Theme.getColor("text")
- renderType: Text.NativeRendering
+ height: childrenRect.height
opacity: model.enabled ? 1 : 0.4
anchors
{
left: extruderIcon.right
leftMargin: UM.Theme.getSize("default_margin").width
- top: typeAndBrandNameLabel.bottom
+ verticalCenter: parent.verticalCenter
right: parent.right
rightMargin: UM.Theme.getSize("default_margin").width
}
+ // Label for the brand of the material
+ Label
+ {
+ id: materialBrandColorTypeLabel
+
+ text: model.material_brand == model.color_name ? model.color_name + " " + model.material_type : model.material_brand + " " + model.color_name + " " + model.material_type
+ elide: Text.ElideRight
+ font: UM.Theme.getFont("default")
+ color: UM.Theme.getColor("text")
+ renderType: Text.NativeRendering
+
+ anchors
+ {
+ top: parent.top
+ left: parent.left
+ right: parent.right
+ }
+ visible: !truncated
+ }
+
+ Label
+ {
+ id: materialColorTypeLabel
+
+ text: model.color_name + " " + model.material_type
+ elide: Text.ElideRight
+ font: UM.Theme.getFont("default")
+ color: UM.Theme.getColor("text")
+ renderType: Text.NativeRendering
+
+ anchors
+ {
+ top: parent.top
+ left: parent.left
+ right: parent.right
+ }
+
+ visible: !materialBrandColorTypeLabel.visible && !truncated
+ }
+
+ Label
+ {
+ id: materialTypeLabel
+
+ text: model.material_type
+ elide: Text.ElideRight
+ font: UM.Theme.getFont("default")
+ color: UM.Theme.getColor("text")
+ renderType: Text.NativeRendering
+
+ anchors
+ {
+ top: parent.top
+ left: parent.left
+ right: parent.right
+ }
+ visible: !materialBrandColorTypeLabel.visible && !materialColorTypeLabel.visible
+ }
+ // Label that shows the name of the variant
+ Label
+ {
+ id: variantLabel
+
+ visible: Cura.MachineManager.activeMachine ? Cura.MachineManager.activeMachine.hasVariants : false
+
+ text: model.variant
+ elide: Text.ElideRight
+ font: UM.Theme.getFont("default_bold")
+ color: UM.Theme.getColor("text")
+ renderType: Text.NativeRendering
+
+ anchors
+ {
+ left: parent.left
+ top: materialBrandColorTypeLabel.bottom
+ right: parent.right
+ }
+ }
}
}
}
diff --git a/resources/qml/PrintSetupSelector/PrintSetupSelectorHeader.qml b/resources/qml/PrintSetupSelector/PrintSetupSelectorHeader.qml
index ff9204655f..3b6fc37eb4 100644
--- a/resources/qml/PrintSetupSelector/PrintSetupSelectorHeader.qml
+++ b/resources/qml/PrintSetupSelector/PrintSetupSelectorHeader.qml
@@ -15,7 +15,8 @@ RowLayout
Cura.IconWithText
{
- source: UM.Theme.getIcon("PrintQuality")
+ source: UM.Theme.getIcon("Sliders", "medium")
+ iconSize: UM.Theme.getSize("button_icon").width
text:
{
if (Cura.MachineManager.activeStack)
@@ -53,6 +54,7 @@ RowLayout
source: UM.Theme.getIcon("Infill1")
text: Cura.MachineManager.activeStack ? parseInt(infillDensity.properties.value) + "%" : "0%"
font: UM.Theme.getFont("medium")
+ iconSize: UM.Theme.getSize("medium_button_icon").width
UM.SettingPropertyProvider
{
@@ -68,6 +70,7 @@ RowLayout
source: UM.Theme.getIcon("Support")
text: supportEnabled.properties.value == "True" ? enabledText : disabledText
font: UM.Theme.getFont("medium")
+ iconSize: UM.Theme.getSize("medium_button_icon").width
UM.SettingPropertyProvider
{
@@ -83,6 +86,7 @@ RowLayout
source: UM.Theme.getIcon("Adhesion")
text: platformAdhesionType.properties.value != "skirt" && platformAdhesionType.properties.value != "none" ? enabledText : disabledText
font: UM.Theme.getFont("medium")
+ iconSize: UM.Theme.getSize("medium_button_icon").width
UM.SettingPropertyProvider
{
diff --git a/resources/qml/PrintSetupSelector/Recommended/RecommendedAdhesionSelector.qml b/resources/qml/PrintSetupSelector/Recommended/RecommendedAdhesionSelector.qml
index df2c1bfae6..a3a5047ee9 100644
--- a/resources/qml/PrintSetupSelector/Recommended/RecommendedAdhesionSelector.qml
+++ b/resources/qml/PrintSetupSelector/Recommended/RecommendedAdhesionSelector.qml
@@ -29,6 +29,7 @@ Item
text: catalog.i18nc("@label", "Adhesion")
font: UM.Theme.getFont("medium")
width: labelColumnWidth
+ iconSize: UM.Theme.getSize("medium_button_icon").width
}
Item
diff --git a/resources/qml/PrintSetupSelector/Recommended/RecommendedInfillDensitySelector.qml b/resources/qml/PrintSetupSelector/Recommended/RecommendedInfillDensitySelector.qml
index 8da97437cf..e79e074883 100644
--- a/resources/qml/PrintSetupSelector/Recommended/RecommendedInfillDensitySelector.qml
+++ b/resources/qml/PrintSetupSelector/Recommended/RecommendedInfillDensitySelector.qml
@@ -65,6 +65,7 @@ Item
text: catalog.i18nc("@label", "Infill") + " (%)"
font: UM.Theme.getFont("medium")
width: labelColumnWidth
+ iconSize: UM.Theme.getSize("medium_button_icon").width
}
Item
@@ -119,6 +120,8 @@ Item
implicitWidth: UM.Theme.getSize("print_setup_slider_handle").width
implicitHeight: implicitWidth
radius: Math.round(implicitWidth / 2)
+ border.color: defaultItemColor
+ border.width: UM.Theme.getSize("default_lining").height
}
tickmarks: Repeater
diff --git a/resources/qml/PrintSetupSelector/Recommended/RecommendedQualityProfileSelector.qml b/resources/qml/PrintSetupSelector/Recommended/RecommendedQualityProfileSelector.qml
index a8e19c7357..0823b5cb62 100644
--- a/resources/qml/PrintSetupSelector/Recommended/RecommendedQualityProfileSelector.qml
+++ b/resources/qml/PrintSetupSelector/Recommended/RecommendedQualityProfileSelector.qml
@@ -52,6 +52,7 @@ Item
text: catalog.i18nc("@label", "Profiles")
font: UM.Theme.getFont("medium")
width: labelColumnWidth
+ iconSize: UM.Theme.getSize("medium_button_icon").width
}
UM.SimpleButton
{
@@ -91,6 +92,7 @@ Item
{
left: profileLabel.right
right: parent.right
+ verticalCenter: profileLabel.verticalCenter
}
model: Cura.QualityProfilesDropDownMenuModel
diff --git a/resources/qml/PrintSetupSelector/Recommended/RecommendedSupportSelector.qml b/resources/qml/PrintSetupSelector/Recommended/RecommendedSupportSelector.qml
index 924dcd5ec4..5fb437b1c2 100644
--- a/resources/qml/PrintSetupSelector/Recommended/RecommendedSupportSelector.qml
+++ b/resources/qml/PrintSetupSelector/Recommended/RecommendedSupportSelector.qml
@@ -30,6 +30,7 @@ Item
text: catalog.i18nc("@label", "Support")
font: UM.Theme.getFont("medium")
width: labelColumnWidth
+ iconSize: UM.Theme.getSize("medium_button_icon").width
}
Item
diff --git a/resources/qml/PrinterSelector/MachineSelector.qml b/resources/qml/PrinterSelector/MachineSelector.qml
index 7c74be1605..dfe51df859 100644
--- a/resources/qml/PrinterSelector/MachineSelector.qml
+++ b/resources/qml/PrinterSelector/MachineSelector.qml
@@ -93,11 +93,11 @@ Cura.ExpandablePopup
{
if (isGroup)
{
- return UM.Theme.getIcon("PrinterTriple")
+ return UM.Theme.getIcon("PrinterTriple", "medium")
}
else if (isNetworkPrinter || isCloudRegistered)
{
- return UM.Theme.getIcon("Printer")
+ return UM.Theme.getIcon("Printer", "medium")
}
else
{
@@ -114,8 +114,9 @@ Cura.ExpandablePopup
anchors
{
bottom: parent.bottom
+ bottomMargin: - height * 1 / 6
left: parent.left
- leftMargin: UM.Theme.getSize("thick_margin").width
+ leftMargin: iconSize - width * 5 / 6
}
source:
diff --git a/resources/qml/RadioCheckbar.qml b/resources/qml/RadioCheckbar.qml
index 0b8709fe7a..5aea771a44 100644
--- a/resources/qml/RadioCheckbar.qml
+++ b/resources/qml/RadioCheckbar.qml
@@ -146,6 +146,7 @@ Item
}
radius: Math.round(width / 2)
color: activeColor
+ border.color: defaultItemColor
visible: checkbox.checked
}
}
diff --git a/resources/qml/Settings/SettingCategory.qml b/resources/qml/Settings/SettingCategory.qml
index a42db9cdcb..5beb6e209e 100644
--- a/resources/qml/Settings/SettingCategory.qml
+++ b/resources/qml/Settings/SettingCategory.qml
@@ -16,10 +16,13 @@ Button
anchors.rightMargin: 2 * UM.Theme.getSize("thin_margin").width
hoverEnabled: true
+ height: UM.Theme.getSize("section_icon_column").height
+
background: Rectangle
{
id: backgroundRectangle
height: UM.Theme.getSize("section").height
+ anchors.verticalCenter: parent.verticalCenter
color:
{
if (!base.enabled)
@@ -107,8 +110,8 @@ Button
source: UM.Theme.getIcon(definition.icon)
width: UM.Theme.getSize("section_icon").width
height: UM.Theme.getSize("section_icon").height
- sourceSize.width: width + 15 * screenScaleFactor
- sourceSize.height: width + 15 * screenScaleFactor
+ sourceSize.width: width
+ sourceSize.height: width
}
onClicked:
@@ -141,8 +144,8 @@ Button
id: settingsButton
visible: base.hovered || settingsButton.hovered
- height: Math.round(base.height * 0.6)
- width: Math.round(base.height * 0.6)
+ height: UM.Theme.getSize("small_button_icon").height
+ width: height
anchors
{
@@ -184,7 +187,7 @@ Button
return false
}
- height: Math.round(parent.height / 2)
+ height: UM.Theme.getSize("small_button_icon").height
width: height
onClicked:
diff --git a/resources/qml/Settings/SettingItem.qml b/resources/qml/Settings/SettingItem.qml
index a377d08cfc..35172fc799 100644
--- a/resources/qml/Settings/SettingItem.qml
+++ b/resources/qml/Settings/SettingItem.qml
@@ -156,7 +156,7 @@ Item
{
id: settingControls
- height: UM.Theme.getSize("section_control").height
+ height: UM.Theme.getSize("small_button_icon").height
spacing: Math.round(UM.Theme.getSize("thick_margin").height / 2)
anchors
@@ -174,6 +174,7 @@ Item
anchors.top: parent.top
anchors.bottom: parent.bottom
+ height: UM.Theme.getSize("small_button_icon").height
width: height
color: UM.Theme.getColor("setting_control_button")
@@ -203,6 +204,7 @@ Item
anchors.top: parent.top
anchors.bottom: parent.bottom
+ height: UM.Theme.getSize("small_button_icon").height
width: height
color: UM.Theme.getColor("setting_control_button")
@@ -286,6 +288,7 @@ Item
anchors.top: parent.top
anchors.bottom: parent.bottom
+ height: UM.Theme.getSize("small_button_icon").height
width: height
onClicked:
diff --git a/resources/qml/Settings/SettingView.qml b/resources/qml/Settings/SettingView.qml
index f038d15ca3..fc920a30e7 100644
--- a/resources/qml/Settings/SettingView.qml
+++ b/resources/qml/Settings/SettingView.qml
@@ -65,7 +65,13 @@ Item
anchors.right: clearFilterButton.left
anchors.rightMargin: Math.round(UM.Theme.getSize("thick_margin").width)
- placeholderText: "" + "
Ultimaker Professional and Excellence subscribers can now directly import native CAD files into Ultimaker Cura. This provides users with an even more effective workflow by boosting productivity and increasing first-time right results. -Learn more about our enterprise software or download the Native CAD import plugin.
\ No newline at end of file +Ultimaker Professional and Excellence subscribers can now directly import native CAD files into Ultimaker Cura. This provides users with an even more effective workflow by boosting productivity and increasing first-time right results. +Learn more about our enterprise plans to access this feature.
\ No newline at end of file diff --git a/resources/texts/whats_new/2.html b/resources/texts/whats_new/2.html index 6b9be5771e..a6f20cb493 100644 --- a/resources/texts/whats_new/2.html +++ b/resources/texts/whats_new/2.html @@ -1,2 +1,2 @@ -Want more information for Ultimaker Cura 4.10 beta and other exciting developments in the Ultimaker platform? Read the blog post, and don't forget to give us your feedback!
\ No newline at end of file +Ultimaker PETG sets the standard for industrial applications and is suitable for a wide range of use cases thanks to its ease of use and versatility. Ultimaker PETG is now fully supported on the Ultimaker 3. Find out more.
\ No newline at end of file diff --git a/resources/texts/whats_new/3.html b/resources/texts/whats_new/3.html new file mode 100644 index 0000000000..a433453bde --- /dev/null +++ b/resources/texts/whats_new/3.html @@ -0,0 +1,2 @@ +Thanks to Khani3s, we have now added the volumetric flow rate (in mm³/s) to the preview mode color schemes. In addition, we tweaked the minimum/maximum color values, making it easier to optimize your print strategy displayed as the flow, layer thickness, line width and speed.
\ No newline at end of file diff --git a/resources/texts/whats_new/4.html b/resources/texts/whats_new/4.html new file mode 100644 index 0000000000..5997ce2408 --- /dev/null +++ b/resources/texts/whats_new/4.html @@ -0,0 +1,2 @@ +Want more information for Ultimaker Cura 4.10? Read the blog post or watch the video, and don't forget to give us your feedback!
\ No newline at end of file diff --git a/resources/themes/cura-light/icons/medium/Folder.svg b/resources/themes/cura-light/icons/medium/Folder.svg new file mode 100644 index 0000000000..8dc9b5ea9f --- /dev/null +++ b/resources/themes/cura-light/icons/medium/Folder.svg @@ -0,0 +1,11 @@ + + + diff --git a/resources/themes/cura-light/icons/medium/Printer.svg b/resources/themes/cura-light/icons/medium/Printer.svg new file mode 100644 index 0000000000..ef67996d48 --- /dev/null +++ b/resources/themes/cura-light/icons/medium/Printer.svg @@ -0,0 +1,13 @@ + + + diff --git a/resources/themes/cura-light/icons/medium/Sliders.svg b/resources/themes/cura-light/icons/medium/Sliders.svg new file mode 100644 index 0000000000..91bd9ae0fd --- /dev/null +++ b/resources/themes/cura-light/icons/medium/Sliders.svg @@ -0,0 +1,17 @@ + + + diff --git a/resources/themes/cura-light/styles.qml b/resources/themes/cura-light/styles.qml index de15866f1a..1320b54f37 100755 --- a/resources/themes/cura-light/styles.qml +++ b/resources/themes/cura-light/styles.qml @@ -252,11 +252,11 @@ QtObject anchors.centerIn: parent opacity: control.enabled ? 1.0 : 0.2 source: control.iconSource - width: UM.Theme.getSize("button_icon").width - height: UM.Theme.getSize("button_icon").height + width: UM.Theme.getSize("medium_button_icon").width + height: UM.Theme.getSize("medium_button_icon").height color: UM.Theme.getColor("icon") - sourceSize: UM.Theme.getSize("button_icon") + sourceSize: UM.Theme.getSize("medium_button_icon") } } } diff --git a/resources/themes/cura-light/theme.json b/resources/themes/cura-light/theme.json index 5245d21455..c45eb00c9e 100644 --- a/resources/themes/cura-light/theme.json +++ b/resources/themes/cura-light/theme.json @@ -482,7 +482,7 @@ "machine_selector_widget": [20.0, 4.0], "machine_selector_widget_content": [25.0, 32.0], - "machine_selector_icon": [2.66, 2.66], + "machine_selector_icon": [2.5, 2.5], "views_selector": [23.0, 4.0], @@ -507,8 +507,8 @@ "section": [0.0, 2], "section_control": [0, 1], - "section_icon": [1.6, 1.6], - "section_icon_column": [2.8, 0.0], + "section_icon": [2, 2], + "section_icon_column": [2.5, 2.5], "rating_star": [1.0, 1.0], "setting": [25.0, 1.8], @@ -537,6 +537,9 @@ "small_button": [2, 2], "small_button_icon": [1.5, 1.5], + "medium_button": [2.5, 2.5], + "medium_button_icon": [2, 2], + "favorites_row": [2, 2], "favorites_button": [2, 2], "favorites_button_icon": [1.2, 1.2],