mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-06 22:47:29 -06:00
Refactor skip reset setting
CURA-4760
This commit is contained in:
parent
93599de642
commit
30870c5ef2
2 changed files with 8 additions and 6 deletions
|
@ -22,7 +22,9 @@ class PerObjectSettingVisibilityHandler(UM.Settings.Models.SettingVisibilityHand
|
|||
self._selected_object_id = None
|
||||
self._node = None
|
||||
self._stack = None
|
||||
self._skip_setting = None
|
||||
|
||||
# this is a set of settings that will be skipped if the user chooses to reset.
|
||||
self._skip_reset_setting_set = set()
|
||||
|
||||
def setSelectedObjectId(self, id):
|
||||
if id != self._selected_object_id:
|
||||
|
@ -39,8 +41,8 @@ class PerObjectSettingVisibilityHandler(UM.Settings.Models.SettingVisibilityHand
|
|||
return self._selected_object_id
|
||||
|
||||
@pyqtSlot(str)
|
||||
def setSkipSetting(self, setting_name):
|
||||
self._skip_setting = setting_name
|
||||
def addSkipResetSetting(self, setting_name):
|
||||
self._skip_reset_setting_set.add(setting_name)
|
||||
|
||||
def setVisible(self, visible):
|
||||
if not self._node:
|
||||
|
@ -57,7 +59,7 @@ class PerObjectSettingVisibilityHandler(UM.Settings.Models.SettingVisibilityHand
|
|||
# Remove all instances that are not in visibility list
|
||||
for instance in all_instances:
|
||||
# exceptionally skip setting
|
||||
if self._skip_setting is not None and self._skip_setting == instance.definition.key:
|
||||
if instance.definition.key in self._skip_reset_setting_set:
|
||||
continue
|
||||
if instance.definition.key not in visible:
|
||||
settings.removeInstance(instance.definition.key)
|
||||
|
|
|
@ -324,8 +324,8 @@ Item {
|
|||
// force updating the model to sync it with addedSettingsModel
|
||||
if(visible)
|
||||
{
|
||||
// Set skip setting, it will prevent from restting selected mesh_type
|
||||
contents.model.visibilityHandler.setSkipSetting(meshTypeSelection.model.get(meshTypeSelection.currentIndex).type)
|
||||
// Set skip setting, it will prevent from resetting selected mesh_type
|
||||
contents.model.visibilityHandler.addSkipResetSetting(meshTypeSelection.model.get(meshTypeSelection.currentIndex).type)
|
||||
listview.model.forceUpdate()
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue