Browse Source

Merge branch 'master' into CURA-9005_restyle_print_setting_category

Casper Lamboo 3 years ago
parent
commit
60f7b2dccb

+ 5 - 3
plugins/GCodeReader/FlavorParser.py

@@ -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.
 
 import math
@@ -31,6 +31,8 @@ Position = NamedTuple("Position", [("x", float), ("y", float), ("z", float), ("f
 class FlavorParser:
     """This parser is intended to interpret the common firmware codes among all the different flavors"""
 
+    MAX_EXTRUDER_COUNT = 16
+
     def __init__(self) -> None:
         CuraApplication.getInstance().hideMessageSignal.connect(self._onHideMessage)
         self._cancelled = False
@@ -53,7 +55,7 @@ class FlavorParser:
 
     def _clearValues(self) -> None:
         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_number = 0
         self._previous_z = 0 # type: float
@@ -355,7 +357,7 @@ class FlavorParser:
 
         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]]
         min_layer_number = 0
         negative_layers = 0

+ 4 - 1
plugins/Marketplace/Marketplace.py

@@ -31,8 +31,11 @@ class Marketplace(Extension, QObject):
         # 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
         # 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.checkForUpdates(self._package_manager.local_packages)
+        if preferences.getValue("info/automatic_plugin_update_check"):
+            self._local_package_list.checkForUpdates(self._package_manager.local_packages)
 
         self._package_manager.installedPackagesChanged.connect(self.checkIfRestartNeeded)
 

+ 29 - 12
plugins/Marketplace/resources/qml/PackageCardHeader.qml

@@ -24,7 +24,7 @@ Item
     height: UM.Theme.getSize("card").height
 
     // card icon
-    Image
+    Item
     {
         id: packageItem
         anchors
@@ -35,19 +35,36 @@ Item
         }
         width: UM.Theme.getSize("card_icon").width
         height: width
-        sourceSize.height: height
-        sourceSize.width: width
-        source:
+
+        property bool packageHasIcon: packageData.iconUrl != ""
+
+        Image
         {
-            if (packageData.iconUrl != "")
-            {
-                return packageData.iconUrl
-            }
-            switch (packageData.packageType)
+            visible: parent.packageHasIcon
+            anchors.fill: parent
+            source: packageData.iconUrl
+            sourceSize.height: height
+            sourceSize.width: width
+        }
+
+        UM.RecolorImage
+        {
+            visible: !parent.packageHasIcon
+            anchors.fill: parent
+            sourceSize.height: height
+            sourceSize.width: width
+            color: UM.Theme.getColor("text")
+            source:
             {
-                case "plugin": return "../images/Plugin.svg";
-                case "material": return "../images/Spool.svg";
-                default: return "../images/placeholder.svg";
+                switch (packageData.packageType)
+                {
+                    case "plugin":
+                        return "../images/Plugin.svg";
+                    case "material":
+                        return "../images/Spool.svg";
+                    default:
+                        return "../images/placeholder.svg";
+                }
             }
         }
     }

+ 12 - 12
plugins/UM3NetworkPrinting/resources/qml/MonitorConfigOverrideDialog.qml

@@ -5,6 +5,7 @@ import QtQuick 2.3
 import QtQuick.Controls 2.4
 import QtQuick.Layouts 1.3
 import UM 1.5 as UM
+import Cura 1.5 as Cura
 
 UM.Dialog
 {
@@ -17,12 +18,21 @@ UM.Dialog
     width: minimumWidth
     height: minimumHeight
     title: catalog.i18nc("@title:window", "Configuration Changes")
+    buttonSpacing: UM.Theme.getSize("narrow_margin").width
     rightButtons:
     [
-        Button
+        Cura.TertiaryButton
+        {
+            id: cancelButton
+            text: catalog.i18nc("@action:button", "Cancel")
+            onClicked:
+            {
+                overrideConfirmationDialog.reject()
+            }
+        },
+        Cura.PrimaryButton
         {
             id: overrideButton
-            anchors.margins: UM.Theme.getSize("default_margin").width
             text: catalog.i18nc("@action:button", "Override")
             onClicked:
             {
@@ -49,16 +59,6 @@ UM.Dialog
                 }
                 return true
             }
-        },
-        Button
-        {
-            id: cancelButton
-            anchors.margins: UM.Theme.getSize("default_margin").width
-            text: catalog.i18nc("@action:button", "Cancel")
-            onClicked:
-            {
-                overrideConfirmationDialog.reject()
-            }
         }
     ]
 

+ 1 - 1
resources/qml/Actions.qml

@@ -79,7 +79,7 @@ Item
     {
         id: showTroubleShootingAction
         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

+ 1 - 1
resources/qml/Dialogs/DiscardOrKeepProfileChangesDialog.qml

@@ -20,7 +20,7 @@ UM.Dialog
     minimumHeight: UM.Theme.getSize("popup_dialog").height
     width: minimumWidth
     height: minimumHeight
-
+    backgroundColor: UM.Theme.getColor("background_1")
     margin: UM.Theme.getSize("thick_margin").width
 
     property var changesModel: Cura.UserChangesModel { id: userChangesModel }

+ 11 - 3
resources/qml/JobSpecs.qml

@@ -58,16 +58,24 @@ Item
             }
         }
 
-        TextField
+        Cura.TextField
         {
             id: printJobTextfield
             anchors.left: printJobPencilIcon.right
             anchors.leftMargin: UM.Theme.getSize("narrow_margin").width
             height: UM.Theme.getSize("jobspecs_line").height
-            width: Math.max(contentWidth + UM.Theme.getSize("default_margin").width, 50)
+            width: Math.max(contentWidth + UM.Theme.getSize("default_margin").width + 2, 50) // add two pixels to width to prevent inner text from shifting
             maximumLength: 120
             text: PrintInformation === null ? "" : PrintInformation.jobName
             horizontalAlignment: TextInput.AlignLeft
+            onTextChanged:
+            {
+                if (!activeFocus)
+                {
+                    // Text is changed from outside, reset the cursor position.
+                    cursorPosition = 0
+                }
+            }
 
             property string textBeforeEdit: ""
 
@@ -86,12 +94,12 @@ Item
                     PrintInformation.setJobName(new_name, true)
                 }
                 printJobTextfield.focus = false
+                cursorPosition = 0
             }
 
             validator: RegExpValidator {
                 regExp: /^[^\\\/\*\?\|\[\]]*$/
             }
-            font: UM.Theme.getFont("default")
             color: UM.Theme.getColor("text_scene")
             background: Item {}
             selectByMouse: true

+ 4 - 2
resources/qml/MainWindow/ApplicationMenu.qml

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

+ 4 - 2
resources/qml/Menus/ConfigurationMenu/CustomConfiguration.qml

@@ -285,10 +285,11 @@ Item
                     Cura.MaterialMenu
                     {
                         id: materialsMenu
+                        width: materialSelection.width
                         extruderIndex: Cura.ExtruderManager.activeExtruderIndex
                         updateModels: materialSelection.visible
                     }
-                    onClicked: materialsMenu.popup()
+                    onClicked: materialsMenu.popup(0, height - UM.Theme.getSize("default_lining").height)
                 }
 
                 Item
@@ -341,8 +342,9 @@ Item
                     {
                         id: nozzlesMenu
                         extruderIndex: Cura.ExtruderManager.activeExtruderIndex
+                        width: variantSelection.width
                     }
-                    onClicked: nozzlesMenu.popup()
+                    onClicked: nozzlesMenu.popup(0, height - UM.Theme.getSize("default_lining").height)
                 }
             }
 

+ 1 - 0
resources/qml/Preferences/MachinesPage.qml

@@ -21,6 +21,7 @@ UM.ManagementPage
     activeId: Cura.MachineManager.activeMachine !== null ? Cura.MachineManager.activeMachine.id: ""
     activeIndex: activeMachineIndex()
     onHamburgeButtonClicked: menu.popup(content_item, content_item.width - menu.width, hamburger_button.height)
+    hamburgerButtonVisible: Cura.MachineManager.activeMachine !== null
 
     function activeMachineIndex()
     {

Some files were not shown because too many files changed in this diff