From 566b4f126da2b366ec191089856cd267eedc7cef Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 22 Jun 2020 18:25:15 +1000 Subject: Fix T78123: Can't remove preset with brackets in the name --- release/scripts/startup/bl_operators/presets.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'release') diff --git a/release/scripts/startup/bl_operators/presets.py b/release/scripts/startup/bl_operators/presets.py index c83d0b9f4d8..2ea93a1aee9 100644 --- a/release/scripts/startup/bl_operators/presets.py +++ b/release/scripts/startup/bl_operators/presets.py @@ -80,7 +80,8 @@ class AddPresetBase: name = name.lower().strip() name = bpy.path.display_name_to_filepath(name) trans = maketrans_init() - return name.translate(trans) + # Strip surrounding "_" as they are displayed as spaces. + return name.translate(trans).strip("_") def execute(self, context): import os @@ -92,15 +93,16 @@ class AddPresetBase: preset_menu_class = getattr(bpy.types, self.preset_menu) is_xml = getattr(preset_menu_class, "preset_type", None) == 'XML' + is_preset_add = not (self.remove_name or self.remove_active) if is_xml: ext = ".xml" else: ext = ".py" - name = self.name.strip() - if not (self.remove_name or self.remove_active): + name = self.name.strip() if is_preset_add else self.name + if is_preset_add: if not name: return {'FINISHED'} -- cgit v1.2.3