Merge branch 'master' into CURA-8979_Materials_Preference_Page

# Conflicts:
#	resources/qml/Preferences/ProfilesPage.qml
This commit is contained in:
casper 2022-03-11 13:57:30 +01:00
commit 2f8f56d762
9 changed files with 37 additions and 16 deletions

View File

@ -1,4 +1,4 @@
# Copyright (c) 2021 Ultimaker B.V. # Copyright (c) 2022 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher. # Cura is released under the terms of the LGPLv3 or higher.
import math import math
@ -31,6 +31,8 @@ Position = NamedTuple("Position", [("x", float), ("y", float), ("z", float), ("f
class FlavorParser: class FlavorParser:
"""This parser is intended to interpret the common firmware codes among all the different flavors""" """This parser is intended to interpret the common firmware codes among all the different flavors"""
MAX_EXTRUDER_COUNT = 16
def __init__(self) -> None: def __init__(self) -> None:
CuraApplication.getInstance().hideMessageSignal.connect(self._onHideMessage) CuraApplication.getInstance().hideMessageSignal.connect(self._onHideMessage)
self._cancelled = False self._cancelled = False
@ -53,7 +55,7 @@ class FlavorParser:
def _clearValues(self) -> None: def _clearValues(self) -> None:
self._extruder_number = 0 self._extruder_number = 0
self._extrusion_length_offset = [0] * 8 # type: List[float] self._extrusion_length_offset = [0] * self.MAX_EXTRUDER_COUNT # type: List[float]
self._layer_type = LayerPolygon.Inset0Type self._layer_type = LayerPolygon.Inset0Type
self._layer_number = 0 self._layer_number = 0
self._previous_z = 0 # type: float self._previous_z = 0 # type: float
@ -355,7 +357,7 @@ class FlavorParser:
Logger.log("d", "Parsing g-code...") Logger.log("d", "Parsing g-code...")
current_position = Position(0, 0, 0, 0, [0] * 8) current_position = Position(0, 0, 0, 0, [0] * self.MAX_EXTRUDER_COUNT)
current_path = [] #type: List[List[float]] current_path = [] #type: List[List[float]]
min_layer_number = 0 min_layer_number = 0
negative_layers = 0 negative_layers = 0

View File

@ -31,7 +31,10 @@ class Marketplace(Extension, QObject):
# Not entirely the cleanest code, since the localPackage list also checks the server if there are updates # Not entirely the cleanest code, since the localPackage list also checks the server if there are updates
# Since that in turn will trigger notifications to be shown, we do need to construct it here and make sure # Since that in turn will trigger notifications to be shown, we do need to construct it here and make sure
# that it checks for updates... # that it checks for updates...
preferences = CuraApplication.getInstance().getPreferences()
preferences.addPreference("info/automatic_plugin_update_check", True)
self._local_package_list = LocalPackageList(self) self._local_package_list = LocalPackageList(self)
if preferences.getValue("info/automatic_plugin_update_check"):
self._local_package_list.checkForUpdates(self._package_manager.local_packages) self._local_package_list.checkForUpdates(self._package_manager.local_packages)
self._package_manager.installedPackagesChanged.connect(self.checkIfRestartNeeded) self._package_manager.installedPackagesChanged.connect(self.checkIfRestartNeeded)

View File

@ -79,7 +79,7 @@ Item
{ {
id: showTroubleShootingAction id: showTroubleShootingAction
onTriggered: Qt.openUrlExternally("https://ultimaker.com/en/troubleshooting?utm_source=cura&utm_medium=software&utm_campaign=dropdown-troubleshooting") onTriggered: Qt.openUrlExternally("https://ultimaker.com/en/troubleshooting?utm_source=cura&utm_medium=software&utm_campaign=dropdown-troubleshooting")
text: catalog.i18nc("@action:inmenu", "Show Online Troubleshooting Guide") text: catalog.i18nc("@action:inmenu", "Show Online Troubleshooting")
} }
Action Action

View File

@ -34,14 +34,16 @@ Item
{ {
text: menuBarItem.text.replace(new RegExp("&([A-Za-z])"), function (match, character) text: menuBarItem.text.replace(new RegExp("&([A-Za-z])"), function (match, character)
{ {
return `<u>${character}</u>`; return `<u>${character}</u>`
}) })
horizontalAlignment: Text.AlignLeft horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
} }
leftPadding: UM.Theme.getSize("default_margin").width
rightPadding: UM.Theme.getSize("default_margin").width
background: Rectangle background: Rectangle
{ {
color: menuBarItem.highlighted ? UM.Theme.getColor("background_2") : "transparent" color: menuBarItem.highlighted ? UM.Theme.getColor("background_2") : "transparent"
} }
} }

View File

@ -82,10 +82,10 @@ UM.ManagementPage
enabled: !Cura.MachineManager.stacksHaveErrors enabled: !Cura.MachineManager.stacksHaveErrors
visible: base.canCreateProfile visible: base.canCreateProfile
tooltip: catalog.i18nc("@action:tooltip", "Create new profile from current settings/overrides")
onClicked: onClicked:
{ {
createQualityDialog.object = Cura.ContainerManager.makeUniqueName(base.currentItem.name) createQualityDialog.object = Cura.ContainerManager.makeUniqueName("<new name>")
createQualityDialog.open() createQualityDialog.open()
createQualityDialog.selectText() createQualityDialog.selectText()
} }
@ -105,6 +105,14 @@ UM.ManagementPage
spacing: UM.Theme.getSize("default_margin").height spacing: UM.Theme.getSize("default_margin").height
visible: base.currentItem != null visible: base.currentItem != null
UM.Label
{
anchors.left: parent.left
anchors.right: parent.right
text: catalog.i18nc("@action:label", "Some settings from current profile were overwritten.")
visible: currentSettingsActions.visible
}
Flow Flow
{ {
id: currentSettingsActions id: currentSettingsActions
@ -112,11 +120,14 @@ UM.ManagementPage
visible: base.hasCurrentItem && base.currentItem.name == Cura.MachineManager.activeQualityOrQualityChangesName && base.currentItem.intent_category == Cura.MachineManager.activeIntentCategory visible: base.hasCurrentItem && base.currentItem.name == Cura.MachineManager.activeQualityOrQualityChangesName && base.currentItem.intent_category == Cura.MachineManager.activeIntentCategory
spacing: UM.Theme.getSize("default_margin").width
Cura.SecondaryButton Cura.SecondaryButton
{ {
text: catalog.i18nc("@action:button", "Update profile with current settings/overrides") text: catalog.i18nc("@action:button", "Update profile.")
enabled: Cura.MachineManager.hasUserSettings && objectList.currentIndex && !objectList.currentIndex.is_read_only enabled: Cura.MachineManager.hasUserSettings && objectList.currentIndex && !objectList.currentIndex.is_read_only
onClicked: Cura.ContainerManager.updateQualityChanges() onClicked: Cura.ContainerManager.updateQualityChanges()
tooltip: catalog.i18nc("@action:tooltip", "Update profile with current settings/overrides")
} }
Cura.SecondaryButton Cura.SecondaryButton
@ -145,7 +156,8 @@ UM.ManagementPage
UM.TabRow UM.TabRow
{ {
id: profileExtruderTabs id: profileExtruderTabs
UM.TabRowButton // One extra tab for the global settings. // One extra tab for the global settings.
UM.TabRowButton
{ {
text: catalog.i18nc("@title:tab", "Global Settings") text: catalog.i18nc("@title:tab", "Global Settings")
} }
@ -196,6 +208,8 @@ UM.ManagementPage
Item Item
{ {
id: content_item
anchors.fill: parent
// This connection makes sure that we will switch to the correct quality after the model gets updated // This connection makes sure that we will switch to the correct quality after the model gets updated
Connections Connections
{ {

View File

@ -12,7 +12,8 @@ Cura.ActionButton
color: UM.Theme.getColor("secondary_button") color: UM.Theme.getColor("secondary_button")
textColor: UM.Theme.getColor("secondary_button_text") textColor: UM.Theme.getColor("secondary_button_text")
outlineColor: UM.Theme.getColor("border_accent_1") outlineColor: UM.Theme.getColor("border_accent_1")
disabledColor: UM.Theme.getColor("action_button_disabled") disabledColor: UM.Theme.getColor("secondary_button")
textDisabledColor: UM.Theme.getColor("action_button_disabled_text") textDisabledColor: UM.Theme.getColor("action_button_disabled_text")
hoverColor: UM.Theme.getColor("secondary_button_hover") hoverColor: UM.Theme.getColor("secondary_button_hover")
outlineDisabledColor: UM.Theme.getColor("action_button_disabled_text")
} }

View File

@ -180,7 +180,7 @@ Item
ListView ListView
{ {
id: contents id: contents
maximumFlickVelocity: 1000
anchors anchors
{ {
top: filterContainer.bottom top: filterContainer.bottom

View File

@ -57,9 +57,7 @@ ComboBox
contentItem: UM.Label contentItem: UM.Label
{ {
id: contentLabel id: contentLabel
anchors.left: parent.left leftPadding: UM.Theme.getSize("setting_unit_margin").width + UM.Theme.getSize("default_margin").width
anchors.leftMargin: UM.Theme.getSize("setting_unit_margin").width
anchors.verticalCenter: parent.verticalCenter
anchors.right: downArrow.left anchors.right: downArrow.left
wrapMode: Text.NoWrap wrapMode: Text.NoWrap
text: text:

View File

@ -18,4 +18,5 @@ MenuSeparator
implicitHeight: UM.Theme.getSize("default_lining").height implicitHeight: UM.Theme.getSize("default_lining").height
color: UM.Theme.getColor("setting_control_border") color: UM.Theme.getColor("setting_control_border")
} }
height: visible ? implicitHeight: 0
} }