Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGhostkeeper <rubend@tutanota.com>2022-01-31 18:53:45 +0300
committerGhostkeeper <rubend@tutanota.com>2022-01-31 18:53:45 +0300
commit6db4a55f6e597fd4a34ca2426225481d60f3474f (patch)
treeb70979066d60fbcc15f7f7528e9445a31f2ac60e /plugins/PerObjectSettingsTool
parent4cb4e0e38c9c8a5b2221f4d99a63f4b559fcd185 (diff)
parentb96f58799c34b3f8ddf9a3718d57e8323a7d1dfc (diff)
Merge branch 'replace_controls_1_for_controls_2' into CURA-8684_QtControls_replacement_Buttons,_Actions_&_'Exclusivity'
Conflicts: plugins/ImageReader/ConfigUI.qml plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml plugins/PerObjectSettingsTool/SettingPickDialog.qml resources/qml/Dialogs/DiscardOrKeepProfileChangesDialog.qml resources/qml/Menus/ConfigurationMenu/CustomConfiguration.qml resources/qml/Preferences/GeneralPage.qml resources/qml/Preferences/Materials/MaterialsPage.qml resources/qml/Preferences/Materials/MaterialsView.qml resources/qml/Preferences/ProfilesPage.qml These conflicts are all arising from headers/includes being updated at the same time, or from the two branches marking the other one's components as needing OldControls. This introduced more OldControls markers which don't get marked as merge conflicts by Git. This happens when an element could just be left as the original name but from the new import (e.g. a Button stays a Button in Controls 2, but should be marked as from OldControls on the branch that doesn't update the Button).
Diffstat (limited to 'plugins/PerObjectSettingsTool')
-rw-r--r--plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml292
-rw-r--r--plugins/PerObjectSettingsTool/SettingPickDialog.qml76
2 files changed, 182 insertions, 186 deletions
diff --git a/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml b/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml
index 6076d7392b..943c58ce76 100644
--- a/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml
+++ b/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml
@@ -1,8 +1,8 @@
-// Copyright (c) 2021 Ultimaker B.V.
-// Uranium is released under the terms of the LGPLv3 or higher.
+//Copyright (c) 2022 Ultimaker B.V.
+//Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.2
-import QtQuick.Controls 2.1
+import QtQuick.Controls 2.15
import QtQuick.Controls 1.2 as OldControls
import QtQuick.Controls.Styles 1.2
@@ -192,186 +192,184 @@ Item
height: Math.min(contents.count * (UM.Theme.getSize("section").height + UM.Theme.getSize("default_lining").height), maximumHeight)
visible: currentMeshType != "anti_overhang_mesh"
- OldControls.ScrollView
+ ListView
{
+ id: contents
height: parent.height
width: UM.Theme.getSize("setting").width + UM.Theme.getSize("default_margin").width
- style: UM.Theme.styles.scrollview
- ListView
- {
- id: contents
- spacing: UM.Theme.getSize("default_lining").height
+ ScrollBar.vertical: UM.ScrollBar {}
+ clip: true
+ spacing: UM.Theme.getSize("default_lining").height
- model: UM.SettingDefinitionsModel
+ model: UM.SettingDefinitionsModel
+ {
+ id: addedSettingsModel
+ containerId: Cura.MachineManager.activeMachine != null ? Cura.MachineManager.activeMachine.definition.id: ""
+ expanded: [ "*" ]
+ filter:
{
- id: addedSettingsModel
- containerId: Cura.MachineManager.activeMachine != null ? Cura.MachineManager.activeMachine.definition.id: ""
- expanded: [ "*" ]
- filter:
+ if (printSequencePropertyProvider.properties.value == "one_at_a_time")
{
- if (printSequencePropertyProvider.properties.value == "one_at_a_time")
- {
- return {"settable_per_meshgroup": true}
- }
- return {"settable_per_mesh": true}
- }
- exclude:
- {
- var excluded_settings = [ "support_mesh", "anti_overhang_mesh", "cutting_mesh", "infill_mesh" ]
-
- if (currentMeshType == "support_mesh")
- {
- excluded_settings = excluded_settings.concat(base.allCategoriesExceptSupport)
- }
- return excluded_settings
+ return {"settable_per_meshgroup": true}
}
+ return {"settable_per_mesh": true}
+ }
+ exclude:
+ {
+ var excluded_settings = [ "support_mesh", "anti_overhang_mesh", "cutting_mesh", "infill_mesh" ]
- visibilityHandler: Cura.PerObjectSettingVisibilityHandler
+ if (currentMeshType == "support_mesh")
{
- id: visibility_handler
- selectedObjectId: UM.ActiveTool.properties.getValue("SelectedObjectId")
+ excluded_settings = excluded_settings.concat(base.allCategoriesExceptSupport)
}
+ return excluded_settings
+ }
- // For some reason the model object is updated after removing him from the memory and
- // it happens only on Windows. For this reason, set the destroyed value manually.
- Component.onDestruction:
- {
- setDestroyed(true)
- }
+ visibilityHandler: Cura.PerObjectSettingVisibilityHandler
+ {
+ id: visibility_handler
+ selectedObjectId: UM.ActiveTool.properties.getValue("SelectedObjectId")
+ }
+
+ // For some reason the model object is updated after removing him from the memory and
+ // it happens only on Windows. For this reason, set the destroyed value manually.
+ Component.onDestruction:
+ {
+ setDestroyed(true)
}
+ }
- delegate: Row
+ delegate: Row
+ {
+ spacing: - UM.Theme.getSize("default_margin").width
+ Loader
{
- spacing: - UM.Theme.getSize("default_margin").width
- Loader
+ id: settingLoader
+ width: UM.Theme.getSize("setting").width
+ height: UM.Theme.getSize("section").height
+ enabled: provider.properties.enabled === "True"
+ property var definition: model
+ property var settingDefinitionsModel: addedSettingsModel
+ property var propertyProvider: provider
+ property var globalPropertyProvider: inheritStackProvider
+ property var externalResetHandler: false
+
+ //Qt5.4.2 and earlier has a bug where this causes a crash: https://bugreports.qt.io/browse/QTBUG-35989
+ //In addition, while it works for 5.5 and higher, the ordering of the actual combo box drop down changes,
+ //causing nasty issues when selecting different options. So disable asynchronous loading of enum type completely.
+ asynchronous: model.type != "enum" && model.type != "extruder"
+
+ onLoaded:
{
- id: settingLoader
- width: UM.Theme.getSize("setting").width
- height: UM.Theme.getSize("section").height
- enabled: provider.properties.enabled === "True"
- property var definition: model
- property var settingDefinitionsModel: addedSettingsModel
- property var propertyProvider: provider
- property var globalPropertyProvider: inheritStackProvider
- property var externalResetHandler: false
-
- //Qt5.4.2 and earlier has a bug where this causes a crash: https://bugreports.qt.io/browse/QTBUG-35989
- //In addition, while it works for 5.5 and higher, the ordering of the actual combo box drop down changes,
- //causing nasty issues when selecting different options. So disable asynchronous loading of enum type completely.
- asynchronous: model.type != "enum" && model.type != "extruder"
-
- onLoaded:
- {
- settingLoader.item.showRevertButton = false
- settingLoader.item.showInheritButton = false
- settingLoader.item.showLinkedSettingIcon = false
- settingLoader.item.doDepthIndentation = false
- settingLoader.item.doQualityUserSettingEmphasis = false
- }
+ settingLoader.item.showRevertButton = false
+ settingLoader.item.showInheritButton = false
+ settingLoader.item.showLinkedSettingIcon = false
+ settingLoader.item.doDepthIndentation = false
+ settingLoader.item.doQualityUserSettingEmphasis = false
+ }
- sourceComponent:
+ sourceComponent:
+ {
+ switch(model.type)
{
- switch(model.type)
- {
- case "int":
- return settingTextField
- case "[int]":
- return settingTextField
- case "float":
- return settingTextField
- case "enum":
- return settingComboBox
- case "extruder":
- return settingExtruder
- case "optional_extruder":
- return settingOptionalExtruder
- case "bool":
- return settingCheckBox
- case "str":
- return settingTextField
- case "category":
- return settingCategory
- default:
- return settingUnknown
- }
+ case "int":
+ return settingTextField
+ case "[int]":
+ return settingTextField
+ case "float":
+ return settingTextField
+ case "enum":
+ return settingComboBox
+ case "extruder":
+ return settingExtruder
+ case "optional_extruder":
+ return settingOptionalExtruder
+ case "bool":
+ return settingCheckBox
+ case "str":
+ return settingTextField
+ case "category":
+ return settingCategory
+ default:
+ return settingUnknown
}
}
+ }
- Button
- {
- width: Math.round(UM.Theme.getSize("setting").height / 2)
- height: UM.Theme.getSize("setting").height
+ Button
+ {
+ width: Math.round(UM.Theme.getSize("setting").height / 2)
+ height: UM.Theme.getSize("setting").height
- onClicked: addedSettingsModel.setVisible(model.key, false)
+ onClicked: addedSettingsModel.setVisible(model.key, false)
- background: Item
+ background: Item
+ {
+ UM.RecolorImage
{
- UM.RecolorImage
- {
- anchors.verticalCenter: parent.verticalCenter
- width: parent.width
- height: width
- sourceSize.height: width
- color: parent.hovered ? UM.Theme.getColor("setting_control_button_hover") : UM.Theme.getColor("setting_control_button")
- source: UM.Theme.getIcon("Minus")
- }
+ anchors.verticalCenter: parent.verticalCenter
+ width: parent.width
+ height: width
+ sourceSize.height: width
+ color: parent.hovered ? UM.Theme.getColor("setting_control_button_hover") : UM.Theme.getColor("setting_control_button")
+ source: UM.Theme.getIcon("Minus")
}
}
+ }
- // Specialty provider that only watches global_inherits (we can't filter on what property changed we get events
- // so we bypass that to make a dedicated provider).
- UM.SettingPropertyProvider
- {
- id: provider
+ // Specialty provider that only watches global_inherits (we can't filter on what property changed we get events
+ // so we bypass that to make a dedicated provider).
+ UM.SettingPropertyProvider
+ {
+ id: provider
- containerStackId: UM.ActiveTool.properties.getValue("ContainerID")
- key: model.key
- watchedProperties: [ "value", "enabled", "validationState" ]
- storeIndex: 0
- removeUnusedValue: false
- }
+ containerStackId: UM.ActiveTool.properties.getValue("ContainerID")
+ key: model.key
+ watchedProperties: [ "value", "enabled", "validationState" ]
+ storeIndex: 0
+ removeUnusedValue: false
+ }
- UM.SettingPropertyProvider
- {
- id: inheritStackProvider
- containerStackId: UM.ActiveTool.properties.getValue("ContainerID")
- key: model.key
- watchedProperties: [ "limit_to_extruder" ]
- }
+ UM.SettingPropertyProvider
+ {
+ id: inheritStackProvider
+ containerStackId: UM.ActiveTool.properties.getValue("ContainerID")
+ key: model.key
+ watchedProperties: [ "limit_to_extruder" ]
+ }
- Connections
- {
- target: inheritStackProvider
- function onPropertiesChanged() { provider.forcePropertiesChanged() }
- }
+ Connections
+ {
+ target: inheritStackProvider
+ function onPropertiesChanged() { provider.forcePropertiesChanged() }
+ }
- Connections
+ Connections
+ {
+ target: UM.ActiveTool
+ function onPropertiesChanged()
{
- target: UM.ActiveTool
- function onPropertiesChanged()
+ // the values cannot be bound with UM.ActiveTool.properties.getValue() calls,
+ // so here we connect to the signal and update the those values.
+ if (typeof UM.ActiveTool.properties.getValue("SelectedObjectId") !== "undefined")
+ {
+ const selectedObjectId = UM.ActiveTool.properties.getValue("SelectedObjectId")
+ if (addedSettingsModel.visibilityHandler.selectedObjectId != selectedObjectId)
+ {
+ addedSettingsModel.visibilityHandler.selectedObjectId = selectedObjectId
+ }
+ }
+ if (typeof UM.ActiveTool.properties.getValue("ContainerID") !== "undefined")
{
- // the values cannot be bound with UM.ActiveTool.properties.getValue() calls,
- // so here we connect to the signal and update the those values.
- if (typeof UM.ActiveTool.properties.getValue("SelectedObjectId") !== "undefined")
+ const containerId = UM.ActiveTool.properties.getValue("ContainerID")
+ if (provider.containerStackId != containerId)
{
- const selectedObjectId = UM.ActiveTool.properties.getValue("SelectedObjectId")
- if (addedSettingsModel.visibilityHandler.selectedObjectId != selectedObjectId)
- {
- addedSettingsModel.visibilityHandler.selectedObjectId = selectedObjectId
- }
+ provider.containerStackId = containerId
}
- if (typeof UM.ActiveTool.properties.getValue("ContainerID") !== "undefined")
+ if (inheritStackProvider.containerStackId != containerId)
{
- const containerId = UM.ActiveTool.properties.getValue("ContainerID")
- if (provider.containerStackId != containerId)
- {
- provider.containerStackId = containerId
- }
- if (inheritStackProvider.containerStackId != containerId)
- {
- inheritStackProvider.containerStackId = containerId
- }
+ inheritStackProvider.containerStackId = containerId
}
}
}
diff --git a/plugins/PerObjectSettingsTool/SettingPickDialog.qml b/plugins/PerObjectSettingsTool/SettingPickDialog.qml
index 6d5a4be099..1c79a02c97 100644
--- a/plugins/PerObjectSettingsTool/SettingPickDialog.qml
+++ b/plugins/PerObjectSettingsTool/SettingPickDialog.qml
@@ -1,11 +1,10 @@
-// Copyright (c) 2022 Ultimaker B.V.
-// Uranium is released under the terms of the LGPLv3 or higher.
+//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.2 as OldControls
-import QtQuick.Controls 2.0
+import QtQuick.Controls 2.2
-import UM 1.2 as UM
+import UM 1.5 as UM
import Cura 1.0 as Cura
import ".."
@@ -72,10 +71,9 @@ UM.Dialog
text: catalog.i18nc("@label:checkbox", "Show all")
}
- OldControls.ScrollView
+ ListView
{
- id: scrollView
-
+ id: listview
anchors
{
top: filterInput.bottom
@@ -83,47 +81,47 @@ UM.Dialog
right: parent.right
bottom: parent.bottom
}
- ListView
+
+ ScrollBar.vertical: UM.ScrollBar {}
+ clip: true
+
+ model: UM.SettingDefinitionsModel
{
- id: listview
- model: UM.SettingDefinitionsModel
+ id: definitionsModel
+ containerId: Cura.MachineManager.activeMachine != null ? Cura.MachineManager.activeMachine.definition.id: ""
+ visibilityHandler: UM.SettingPreferenceVisibilityHandler {}
+ expanded: [ "*" ]
+ exclude:
{
- id: definitionsModel
- containerId: Cura.MachineManager.activeMachine != null ? Cura.MachineManager.activeMachine.definition.id: ""
- visibilityHandler: UM.SettingPreferenceVisibilityHandler {}
- expanded: [ "*" ]
- exclude:
- {
- var excluded_settings = [ "machine_settings", "command_line_settings", "support_mesh", "anti_overhang_mesh", "cutting_mesh", "infill_mesh" ]
- excluded_settings = excluded_settings.concat(settingPickDialog.additional_excluded_settings)
- return excluded_settings
- }
- showAll: toggleShowAll.checked || filterInput.text !== ""
+ var excluded_settings = [ "machine_settings", "command_line_settings", "support_mesh", "anti_overhang_mesh", "cutting_mesh", "infill_mesh" ]
+ excluded_settings = excluded_settings.concat(settingPickDialog.additional_excluded_settings)
+ return excluded_settings
}
- delegate: Loader
- {
- id: loader
+ showAll: toggleShowAll.checked || filterInput.text !== ""
+ }
+ delegate: Loader
+ {
+ id: loader
- width: listview.width
- height: model.type != undefined ? UM.Theme.getSize("section").height : 0
+ width: listview.width
+ height: model.type != undefined ? UM.Theme.getSize("section").height : 0
- property var definition: model
- property var settingDefinitionsModel: definitionsModel
+ property var definition: model
+ property var settingDefinitionsModel: definitionsModel
- asynchronous: true
- source:
+ asynchronous: true
+ source:
+ {
+ switch(model.type)
{
- switch(model.type)
- {
- case "category":
- return "PerObjectCategory.qml"
- default:
- return "PerObjectItem.qml"
- }
+ case "category":
+ return "PerObjectCategory.qml"
+ default:
+ return "PerObjectItem.qml"
}
}
- Component.onCompleted: settingPickDialog.updateFilter()
}
+ Component.onCompleted: settingPickDialog.updateFilter()
}
rightButtons: [