diff --git a/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml b/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml index 6390f29bf4..109b66a11b 100644 --- a/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml +++ b/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml @@ -40,7 +40,8 @@ Item // update active type label for (var button in meshTypeButtons.children) { - if (meshTypeButtons.children[button].checked){ + if (meshTypeButtons.children[button].checked) + { meshTypeLabel.text = catalog.i18nc("@label", "Mesh Type") + ": " + meshTypeButtons.children[button].text break } @@ -130,7 +131,7 @@ Item } - Label + Label { id: meshTypeLabel font: UM.Theme.getFont("default") @@ -321,10 +322,7 @@ Item Connections { target: inheritStackProvider - onPropertiesChanged: - { - provider.forcePropertiesChanged() - } + onPropertiesChanged: provider.forcePropertiesChanged() } Connections @@ -460,5 +458,4 @@ Item Cura.SettingUnknown { } } - } diff --git a/plugins/PerObjectSettingsTool/SettingPickDialog.qml b/plugins/PerObjectSettingsTool/SettingPickDialog.qml index 812a941e8d..4e9295c05a 100644 --- a/plugins/PerObjectSettingsTool/SettingPickDialog.qml +++ b/plugins/PerObjectSettingsTool/SettingPickDialog.qml @@ -7,130 +7,129 @@ import Cura 1.0 as Cura import ".." UM.Dialog +{ + id: settingPickDialog + + title: catalog.i18nc("@title:window", "Select Settings to Customize for this model") + width: screenScaleFactor * 360 + + property var additional_excluded_settings + + onVisibilityChanged: { - id: settingPickDialog - - title: catalog.i18nc("@title:window", "Select Settings to Customize for this model") - width: screenScaleFactor * 360 - - property var additional_excluded_settings - - onVisibilityChanged: + // force updating the model to sync it with addedSettingsModel + if (visible) { - // force updating the model to sync it with addedSettingsModel - if (visible) - { - listview.model.forceUpdate() - updateFilter() - } + listview.model.forceUpdate() + updateFilter() + } + } + + function updateFilter() + { + var new_filter = {} + new_filter["settable_per_mesh"] = true + // Don't filter on "settable_per_meshgroup" any more when `printSequencePropertyProvider.properties.value` + // is set to "one_at_a_time", because the current backend architecture isn't ready for that. + + if (filterInput.text != "") + { + new_filter["i18n_label"] = "*" + filterInput.text } - function updateFilter() + listview.model.filter = new_filter + } + + TextField + { + id: filterInput + + anchors { - var new_filter = {} - new_filter["settable_per_mesh"] = true - // Don't filter on "settable_per_meshgroup" any more when `printSequencePropertyProvider.properties.value` - // is set to "one_at_a_time", because the current backend architecture isn't ready for that. - - if (filterInput.text != "") - { - new_filter["i18n_label"] = "*" + filterInput.text - } - - listview.model.filter = new_filter + top: parent.top + left: parent.left + right: toggleShowAll.left + rightMargin: UM.Theme.getSize("default_margin").width } - TextField { - id: filterInput + placeholderText: catalog.i18nc("@label:textbox", "Filter...") - anchors { - top: parent.top - left: parent.left - right: toggleShowAll.left - rightMargin: UM.Theme.getSize("default_margin").width - } + onTextChanged: settingPickDialog.updateFilter() + } - placeholderText: catalog.i18nc("@label:textbox", "Filter...") + CheckBox + { + id: toggleShowAll - onTextChanged: settingPickDialog.updateFilter() + anchors + { + top: parent.top + right: parent.right } - CheckBox + text: catalog.i18nc("@label:checkbox", "Show all") + checked: listview.model.showAll + onClicked: listview.model.showAll = checked + } + + ScrollView + { + id: scrollView + + anchors { - id: toggleShowAll - - anchors { - top: parent.top - right: parent.right - } - - text: catalog.i18nc("@label:checkbox", "Show all") - checked: listview.model.showAll - onClicked: - { - listview.model.showAll = checked - } + top: filterInput.bottom + left: parent.left + right: parent.right + bottom: parent.bottom } - - ScrollView + ListView { - id: scrollView - - anchors + id:listview + model: UM.SettingDefinitionsModel { - top: filterInput.bottom - left: parent.left - right: parent.right - bottom: parent.bottom - } - ListView - { - 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 + } + } + delegate:Loader + { + id: loader + + width: parent.width + height: model.type != undefined ? UM.Theme.getSize("section").height : 0 + + property var definition: model + property var settingDefinitionsModel: definitionsModel + + asynchronous: true + source: + { + switch(model.type) { - 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 + case "category": + return "PerObjectCategory.qml" + default: + return "PerObjectItem.qml" } } - delegate:Loader - { - id: loader - - width: parent.width - height: model.type != undefined ? UM.Theme.getSize("section").height : 0 - - property var definition: model - property var settingDefinitionsModel: definitionsModel - - asynchronous: true - source: - { - switch(model.type) - { - case "category": - return "PerObjectCategory.qml" - default: - return "PerObjectItem.qml" - } - } - } - Component.onCompleted: settingPickDialog.updateFilter() } + Component.onCompleted: settingPickDialog.updateFilter() } + } - rightButtons: [ - Button { - text: catalog.i18nc("@action:button", "Close") - onClicked: { - settingPickDialog.visible = false - } - } - ] - } \ No newline at end of file + rightButtons: [ + Button + { + text: catalog.i18nc("@action:button", "Close") + onClicked: settingPickDialog.visible = false + } + ] +} \ No newline at end of file