From 32a51db481a6fa83162fb25c71485343154b4c93 Mon Sep 17 00:00:00 2001 From: Przemo Firszt Date: Sun, 12 Apr 2015 21:24:51 +0100 Subject: [PATCH] FEM: Add Preferences option to hide built in materials Signed-off-by: Przemo Firszt --- src/Mod/Fem/Gui/DlgSettingsFem.ui | 16 ++++++++++++++++ src/Mod/Fem/Gui/DlgSettingsFemImp.cpp | 2 ++ src/Mod/Fem/MechanicalMaterial.py | 11 +++++++---- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/src/Mod/Fem/Gui/DlgSettingsFem.ui b/src/Mod/Fem/Gui/DlgSettingsFem.ui index f3fb8c91cde2..e626a7647e81 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFem.ui +++ b/src/Mod/Fem/Gui/DlgSettingsFem.ui @@ -157,6 +157,22 @@ + + + + Use built-in materials + + + true + + + UseBuiltInMaterials + + + Mod/Fem + + + diff --git a/src/Mod/Fem/Gui/DlgSettingsFemImp.cpp b/src/Mod/Fem/Gui/DlgSettingsFemImp.cpp index 9e7e53e461f5..a2c3153310b6 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFemImp.cpp +++ b/src/Mod/Fem/Gui/DlgSettingsFemImp.cpp @@ -46,6 +46,7 @@ void DlgSettingsFemImp::saveSettings() cb_int_editor->onSave(); fc_ext_editor->onSave(); fc_ccx_binary->onSave(); + cb_use_built_in_materials->onSave(); fc_custom_mat_dir->onSave(); } @@ -54,6 +55,7 @@ void DlgSettingsFemImp::loadSettings() cb_int_editor->onRestore(); fc_ext_editor->onRestore(); fc_ccx_binary->onRestore(); + cb_use_built_in_materials->onRestore(); fc_custom_mat_dir->onRestore(); } diff --git a/src/Mod/Fem/MechanicalMaterial.py b/src/Mod/Fem/MechanicalMaterial.py index 19c1e6a587af..1d34576f1346 100644 --- a/src/Mod/Fem/MechanicalMaterial.py +++ b/src/Mod/Fem/MechanicalMaterial.py @@ -246,14 +246,17 @@ def import_materials(self): self.materials = {} self.pathList = [] self.form.cb_materials.clear() - system_mat_dir = FreeCAD.getResourceDir() + "/Mod/Material/StandardMaterial" - self.add_mat_dir(system_mat_dir, ":/icons/freecad.svg") + self.fem_preferences = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Fem") + use_built_in_materials = self.fem_preferences.GetBool("UseBuiltInMaterials") + if use_built_in_materials: + system_mat_dir = FreeCAD.getResourceDir() + "/Mod/Material/StandardMaterial" + self.add_mat_dir(system_mat_dir, ":/icons/freecad.svg") user_mat_dirname = FreeCAD.getUserAppDataDir() + "Materials" self.add_mat_dir(user_mat_dirname, ":/icons/preferences-general.svg") - self.fem_prefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Fem") - custom_mat_dir = self.fem_prefs.GetString("CustomMaterialsDir","") + self.fem_preferences = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Fem") + custom_mat_dir = self.fem_preferences.GetString("CustomMaterialsDir","") self.add_mat_dir(custom_mat_dir, ":/icons/user.svg")