Material: Mateiral editor UI fixes

- Fixed color buttons
- Introduced "Section Color" property
- Fixed named properties
- Added preview icons
- Remember UI dimensions and expanded states
This commit is contained in:
Yorik van Havre
2020-10-27 19:16:58 +01:00
parent 6fda0a2faa
commit cb245845c5
8 changed files with 260 additions and 167 deletions

View File

@@ -99,11 +99,12 @@ def get_material_resources(category='Solid'):
custom_mat_dir = mat_prefs.GetString("CustomMaterialsDir", "")
if os.path.exists(custom_mat_dir):
resources[custom_mat_dir] = ":/icons/user.svg"
else:
FreeCAD.Console.PrintError(
'Custom material directory set by user: {} does not exist.\n'
.format(custom_mat_dir)
)
# fail silently
#else:
# FreeCAD.Console.PrintError(
# 'Custom material directory set by user: {} does not exist.\n'
# .format(custom_mat_dir)
# )
return resources
@@ -229,14 +230,18 @@ def get_material_template(withSpaces=False):
# on attributes, add a space before a capital letter
# will be used for better display in the ui
import re
new_template = []
for group in template_data:
new_group = {}
gg = list(group.keys())[0] # group dict has only one key
# iterating over a dict and changing it is not allowed
# thus it is iterated over a list of the keys
new_group[gg] = {}
for proper in list(group[gg].keys()):
new_proper = re.sub(r"(\w)([A-Z]+)", r"\1 \2", proper)
group[gg][new_proper] = group[gg][proper]
del group[gg][proper]
new_group[gg][new_proper] = group[gg][proper]
new_template.append(new_group)
template_data = new_template
return template_data