From 1d5b4709fee28aa60b6861c0d8147c57ad25f22a Mon Sep 17 00:00:00 2001 From: Przemo Firszt Date: Sun, 12 Apr 2015 21:35:38 +0100 Subject: [PATCH] FEM: Add Preferences option to hide materials from .FreeCAD/Materials directory Signed-off-by: Przemo Firszt --- src/Mod/Fem/Gui/DlgSettingsFem.ui | 16 ++++++++++++++++ src/Mod/Fem/Gui/DlgSettingsFemImp.cpp | 2 ++ src/Mod/Fem/MechanicalMaterial.py | 6 ++++-- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/Mod/Fem/Gui/DlgSettingsFem.ui b/src/Mod/Fem/Gui/DlgSettingsFem.ui index e626a7647..faf303e61 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFem.ui +++ b/src/Mod/Fem/Gui/DlgSettingsFem.ui @@ -173,6 +173,22 @@ + + + + Use materials from .FreeCAD/Materials directory + + + true + + + UseMaterialsFromConfigDir + + + Mod/Fem + + + diff --git a/src/Mod/Fem/Gui/DlgSettingsFemImp.cpp b/src/Mod/Fem/Gui/DlgSettingsFemImp.cpp index a2c315331..b74925162 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFemImp.cpp +++ b/src/Mod/Fem/Gui/DlgSettingsFemImp.cpp @@ -47,6 +47,7 @@ void DlgSettingsFemImp::saveSettings() fc_ext_editor->onSave(); fc_ccx_binary->onSave(); cb_use_built_in_materials->onSave(); + cb_use_mat_from_config_dir->onSave(); fc_custom_mat_dir->onSave(); } @@ -56,6 +57,7 @@ void DlgSettingsFemImp::loadSettings() fc_ext_editor->onRestore(); fc_ccx_binary->onRestore(); cb_use_built_in_materials->onRestore(); + cb_use_mat_from_config_dir->onRestore(); fc_custom_mat_dir->onRestore(); } diff --git a/src/Mod/Fem/MechanicalMaterial.py b/src/Mod/Fem/MechanicalMaterial.py index 1d34576f1..a714c9f12 100644 --- a/src/Mod/Fem/MechanicalMaterial.py +++ b/src/Mod/Fem/MechanicalMaterial.py @@ -252,8 +252,10 @@ class _MechanicalMaterialTaskPanel: 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") + use_mat_from_config_dir = self.fem_preferences.GetBool("UseMaterialsFromConfigDir") + if use_mat_from_config_dir: + user_mat_dirname = FreeCAD.getUserAppDataDir() + "Materials" + self.add_mat_dir(user_mat_dirname, ":/icons/preferences-general.svg") self.fem_preferences = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Fem") custom_mat_dir = self.fem_preferences.GetString("CustomMaterialsDir","")