From abefd40bb7cc3a1376959d4545d85b149b3226d4 Mon Sep 17 00:00:00 2001 From: Przemo Firszt Date: Sun, 12 Apr 2015 21:48:57 +0100 Subject: [PATCH] FEM: Add Preferences option to hide materials from user defined directory Signed-off-by: Przemo Firszt --- src/Mod/Fem/Gui/DlgSettingsFem.ui | 86 +++++++++++++++++++++++++++ src/Mod/Fem/Gui/DlgSettingsFemImp.cpp | 2 + src/Mod/Fem/MechanicalMaterial.py | 7 ++- 3 files changed, 92 insertions(+), 3 deletions(-) diff --git a/src/Mod/Fem/Gui/DlgSettingsFem.ui b/src/Mod/Fem/Gui/DlgSettingsFem.ui index faf303e61..0469d81c1 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFem.ui +++ b/src/Mod/Fem/Gui/DlgSettingsFem.ui @@ -189,10 +189,29 @@ + + + + Use materials from user defined directory + + + true + + + UseMaterialsFromCustomDir + + + Mod/Fem + + + + + true + 0 @@ -218,6 +237,9 @@ + + true + 100 @@ -339,5 +361,69 @@ + + cb_use_mat_from_custom_dir + toggled(bool) + l_custom_mat_dir + setDisabled(bool) + + + 93 + 262 + + + 89 + 289 + + + + + cb_use_mat_from_custom_dir + toggled(bool) + fc_custom_mat_dir + setDisabled(bool) + + + 240 + 258 + + + 241 + 285 + + + + + cb_use_mat_from_custom_dir + toggled(bool) + l_custom_mat_dir + setEnabled(bool) + + + 123 + 266 + + + 122 + 297 + + + + + cb_use_mat_from_custom_dir + toggled(bool) + fc_custom_mat_dir + setEnabled(bool) + + + 380 + 266 + + + 380 + 293 + + + diff --git a/src/Mod/Fem/Gui/DlgSettingsFemImp.cpp b/src/Mod/Fem/Gui/DlgSettingsFemImp.cpp index b74925162..dba1a46c8 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFemImp.cpp +++ b/src/Mod/Fem/Gui/DlgSettingsFemImp.cpp @@ -48,6 +48,7 @@ void DlgSettingsFemImp::saveSettings() fc_ccx_binary->onSave(); cb_use_built_in_materials->onSave(); cb_use_mat_from_config_dir->onSave(); + cb_use_mat_from_custom_dir->onSave(); fc_custom_mat_dir->onSave(); } @@ -58,6 +59,7 @@ void DlgSettingsFemImp::loadSettings() fc_ccx_binary->onRestore(); cb_use_built_in_materials->onRestore(); cb_use_mat_from_config_dir->onRestore(); + cb_use_mat_from_custom_dir->onRestore(); fc_custom_mat_dir->onRestore(); } diff --git a/src/Mod/Fem/MechanicalMaterial.py b/src/Mod/Fem/MechanicalMaterial.py index a714c9f12..cb0730d14 100644 --- a/src/Mod/Fem/MechanicalMaterial.py +++ b/src/Mod/Fem/MechanicalMaterial.py @@ -257,9 +257,10 @@ class _MechanicalMaterialTaskPanel: 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","") - self.add_mat_dir(custom_mat_dir, ":/icons/user.svg") + use_mat_from_custom_dir = self.fem_preferences.GetBool("UseMaterialsFromCustomDir") + if use_mat_from_custom_dir: + custom_mat_dir = self.fem_preferences.GetString("CustomMaterialsDir","") + self.add_mat_dir(custom_mat_dir, ":/icons/user.svg") FreeCADGui.addCommand('Fem_MechanicalMaterial',_CommandMechanicalMaterial())