Merge branch 'CURA-8202_Resize_new_icons' into CURA-8011_Replace_extruder_icons

This commit is contained in:
Konstantinos Karmas 2021-07-02 10:35:35 +02:00
commit 7c02e1b5e5
40 changed files with 270 additions and 218 deletions

View file

@ -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:

View file

@ -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)

View file

@ -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
}
}
}
}

View file

@ -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

View file

@ -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

View file

@ -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
}
}

View file

@ -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
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 339 KiB

After

Width:  |  Height:  |  Size: 823 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 218 KiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 439 KiB

View file

@ -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
}

View file

@ -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

View file

@ -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.

View file

@ -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.

View file

@ -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"

View file

@ -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
}
}
}
}
}

View file

@ -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
{

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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:

View file

@ -146,6 +146,7 @@ Item
}
radius: Math.round(width / 2)
color: activeColor
border.color: defaultItemColor
visible: checkbox.checked
}
}

View file

@ -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:

View file

@ -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:

View file

@ -65,7 +65,13 @@ Item
anchors.right: clearFilterButton.left
anchors.rightMargin: Math.round(UM.Theme.getSize("thick_margin").width)
placeholderText: "<img align='middle' src='"+ UM.Theme.getIcon("Magnifier") +"'>" + "<div vertical-align=bottom>" + catalog.i18nc("@label:textbox", "Search settings")
placeholderText:
{
var imageSize = "width='" + UM.Theme.getSize("small_button_icon").width + "' height='" + UM.Theme.getSize("small_button_icon").height
var imageSource = "' src='"+ UM.Theme.getIcon("Magnifier")
var searchPlaceholder = catalog.i18nc("@label:textbox", "Search settings")
return "<img align='middle' " + imageSize + imageSource +"'>" + "<div vertical-align=bottom>" + searchPlaceholder
}
style: TextFieldStyle
{
@ -188,8 +194,8 @@ Item
{
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
width: UM.Theme.getSize("standard_arrow").width
height: UM.Theme.getSize("standard_arrow").height
width: UM.Theme.getSize("medium_button_icon").width
height: UM.Theme.getSize("medium_button_icon").height
sourceSize.width: width
sourceSize.height: height
color: control.hovered ? UM.Theme.getColor("small_button_text_hover") : UM.Theme.getColor("small_button_text")

View file

@ -44,7 +44,6 @@ Item
anchors.top: parent.top
anchors.right: parent.right
spacing: UM.Theme.getSize("default_lining").height
Repeater
{
@ -69,7 +68,8 @@ Item
source: UM.Theme.getIcon(model.icon) != "" ? UM.Theme.getIcon(model.icon) : "file:///" + model.location + "/" + model.icon
color: UM.Theme.getColor("icon")
sourceSize: UM.Theme.getSize("button_icon")
sourceSize.height: Math.round(UM.Theme.getSize("button").height / 2)
sourceSize.width: Math.round(UM.Theme.getSize("button").width / 2)
}
onCheckedChanged:
@ -131,7 +131,6 @@ Item
anchors.topMargin: UM.Theme.getSize("default_margin").height
anchors.top: toolButtons.bottom
anchors.right: parent.right
spacing: UM.Theme.getSize("default_lining").height
Repeater
{

View file

@ -25,22 +25,7 @@ Button
{
implicitWidth: UM.Theme.getSize("button").width
implicitHeight: UM.Theme.getSize("button").height
color:
{
if (base.checked && base.hovered)
{
return UM.Theme.getColor("toolbar_button_active_hover")
}
else if (base.checked)
{
return UM.Theme.getColor("toolbar_button_active")
}
else if(base.hovered)
{
return UM.Theme.getColor("toolbar_button_hover")
}
return UM.Theme.getColor("toolbar_background")
}
color: UM.Theme.getColor("toolbar_background")
radius: UM.Theme.getSize("default_radius").width
Rectangle
@ -84,16 +69,35 @@ Button
color: parent.color
}
}
contentItem: Item
contentItem: Rectangle
{
opacity: parent.enabled ? 1.0 : 0.2
implicitWidth: Math.round(UM.Theme.getSize("button").width * 0.75)
implicitHeight: Math.round(UM.Theme.getSize("button").height * 0.75)
radius: Math.round(width * 0.5)
color:
{
if (base.checked && base.hovered)
{
return UM.Theme.getColor("toolbar_button_active_hover")
}
else if (base.checked)
{
return UM.Theme.getColor("toolbar_button_active")
}
else if(base.hovered)
{
return UM.Theme.getColor("toolbar_button_hover")
}
return UM.Theme.getColor("toolbar_background")
}
Loader
{
id: contentItemLoader
anchors.centerIn: parent
width: UM.Theme.getSize("button_icon").width
height: UM.Theme.getSize("button_icon").height
width: Math.round(UM.Theme.getSize("button").width / 2)
height: Math.round(UM.Theme.getSize("button").height / 2)
}
}

View file

@ -11,5 +11,4 @@ UM.SimpleButton
height: UM.Theme.getSize("small_button").height
hoverColor: UM.Theme.getColor("small_button_text_hover")
color: UM.Theme.getColor("small_button_text")
iconMargin: UM.Theme.getSize("thick_lining").width
}

View file

@ -1,5 +1,5 @@
[4.10.0]
BETA
<i>For an overview of the new features in Cura 4.10, please watch <a href="https://www.youtube.com/watch?v=9PCVeJ_yytk">our video</a>.</i>
*Native CAD import plugin
Ultimaker Professional and Excellence subscribers can now directly import native CAD files into Ultimaker Cura.
@ -36,6 +36,8 @@ When double clicking on a file in the open project dialog in Digital Factory it
- Fixed a bug when the seam was not placed in sharpest corner.
- Fixed the gantry height for S-line printers.
- Fixed a bug where a model is partially below build plate if center selected model is used.
- Fixed a bug where a tootip arrow appeared when the "Manage printers" button is hovered.
- Fixed a bug where assemblies were not arranged in the center of the build plate.
* Printer definitions, profiles and materials.
- Add CC0.4 core and materials for S3 and S5.
@ -51,6 +53,8 @@ When double clicking on a file in the open project dialog in Digital Factory it
- Mingda D3, D4 and Rock3, contributed by cataclism.
- JGAurora A6, contributed by CrissR.
Please, be aware that after version 4.10 Ultimaker Cura will only be supported on operating systems actively maintained by their software manufacturer or community. This means Windows 7 and MacOS 10.13 will no longer be supported. Technically this means Ultimaker will stop testing and developing for such operating systems. However, even though it is no longer supported, there is still a high likelihood the application keeps functioning.
[4.9.1]
* PETG Profile update.
Ultimaker PETG profiles have been added. The Generic PETG profile for 2.85mm filaments has been updated as well.

View file

@ -1,3 +1,3 @@
<h4>Open native CAD files for Ultimaker Professional and Excellence</h4>
<p>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.</br>
<a href="https://ultimaker.com/software/enterprise-software">Learn more</a> about our enterprise software or <a href="https://marketplace.ultimaker.com/app/cura/plugins">download the Native CAD import plugin</a>.</p>
<p>Ultimaker Professional and Excellence subscribers can now directly <a href="https://support.ultimaker.com/hc/en-us/articles/360022116740-Opening-native-CAD-files-in-Ultimaker-Cura">import native CAD files</a> into Ultimaker Cura. This provides users with an even more effective workflow by boosting productivity and increasing first-time right results.</br>
<a href="https://ultimaker.com/software/enterprise-software">Learn more</a> about our enterprise plans to access this feature.</p>

View file

@ -1,2 +1,2 @@
<h4>Get more information!</h4>
<p>Want more information for Ultimaker Cura 4.10 beta and other exciting developments in the Ultimaker platform? Read the <a href="https://ultimaker.com/learn/ultimaker-software-news-roundup">blog post</a>, and don't forget to give us your <a href="https://github.com/Ultimaker/Cura/issues/new/choose">feedback</a>!</p>
<h4>Ultimaker PETG print profiles are now available for the Ultimaker 3</h4>
<p>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. <a href="https://ultimaker.com/materials/petg">Find out more</a>.</p>

View file

@ -0,0 +1,2 @@
<h4>Flow rate</h4>
<p>Thanks to <i>Khani3s</i>, 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.</p>

View file

@ -0,0 +1,2 @@
<h4>Learn more!</h4>
<p>Want more information for Ultimaker Cura 4.10? Read the <a href="https://ultimaker.com/learn/an-improved-engineering-workflow-with-ultimaker-cura-4-10">blog post</a> or watch the <a href="https://www.youtube.com/watch?v=9PCVeJ_yytk">video</a>, and don't forget to give us your <a href="https://github.com/Ultimaker/Cura/issues/new/choose">feedback</a>!</p>

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 30 30" style="enable-background:new 0 0 30 30;" xml:space="preserve">
<g id="Layer_1">
<path d="M24,9c0-1.65-1.35-3-3-3h-9l-1-1H6C4.34,5,3,6.34,3,8v14c0,1.66,1.34,3,3,3h18c1.66,0,3-1.34,3-3V12C27,10.34,25.66,9,24,9
z M25,23H5V7h5.17l4,4H25V23z"/>
</g>
<g id="Comments">
</g>
</svg>

After

Width:  |  Height:  |  Size: 552 B

View file

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 30 30" style="enable-background:new 0 0 30 30;" xml:space="preserve">
<g id="Layer_1">
<g>
<path d="M24,6v18h-2l-2-2H10l-2,2H6V6H24 M26,4H4v22h4.828l2-2h8.343l2,2H26V4L26,4z"/>
<rect x="10" y="18" width="10" height="2"/>
</g>
</g>
<g id="Comments">
</g>
</svg>

After

Width:  |  Height:  |  Size: 534 B

View file

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 24.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 30 30" style="enable-background:new 0 0 30 30;" xml:space="preserve">
<g id="Layer_1">
<g>
<path d="M18,5h-2c-1.1,0-2,0.9-2,2H3v2h11c0,1.1,0.9,2,2,2h2c1.1,0,2-0.9,2-2V7C20,5.9,19.1,5,18,5z M18,9h-2V7h2V9z"/>
<rect x="21" y="7" width="6" height="2"/>
<rect x="25" y="14" width="2" height="2"/>
<path d="M22,12h-2c-1.1,0-2,0.9-2,2H3v2h15c0,1.1,0.9,2,2,2h2c1.1,0,2-0.9,2-2v-2C24,12.9,23.1,12,22,12z M22,16h-2v-2h2V16z"/>
<path d="M12,19h-2c-1.1,0-2,0.9-2,2H3v2h5c0,1.1,0.9,2,2,2h2c1.1,0,2-0.9,2-2v-2C14,19.9,13.1,19,12,19z M12,23h-2v-2h2V23z"/>
<rect x="15" y="21" width="12" height="2"/>
</g>
</g>
<g id="Comments">
</g>
</svg>

After

Width:  |  Height:  |  Size: 907 B

View file

@ -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")
}
}
}

View file

@ -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],