diff --git a/src/Mod/Fem/Gui/DlgSettingsFemInOutVtk.ui b/src/Mod/Fem/Gui/DlgSettingsFemInOutVtk.ui
index 6d92bf1ec4..e23095a1c4 100644
--- a/src/Mod/Fem/Gui/DlgSettingsFemInOutVtk.ui
+++ b/src/Mod/Fem/Gui/DlgSettingsFemInOutVtk.ui
@@ -111,7 +111,7 @@ exported from FreeCAD.
Mod/Fem/InOutVtk
-
+
diff --git a/src/Mod/Fem/Gui/DlgSettingsFemInOutVtkImp.cpp b/src/Mod/Fem/Gui/DlgSettingsFemInOutVtkImp.cpp
index 98e437892c..4ad29f1411 100644
--- a/src/Mod/Fem/Gui/DlgSettingsFemInOutVtkImp.cpp
+++ b/src/Mod/Fem/Gui/DlgSettingsFemInOutVtkImp.cpp
@@ -45,29 +45,16 @@ DlgSettingsFemInOutVtkImp::~DlgSettingsFemInOutVtkImp() = default;
void DlgSettingsFemInOutVtkImp::saveSettings()
{
- ParameterGrp::handle hGrp = App::GetApplication().GetParameterGroupByPath(
- "User parameter:BaseApp/Preferences/Mod/Fem/InOutVtk"
- );
- hGrp->SetInt("ImportObject", ui->comboBoxVtkImportObject->currentIndex());
-
ui->comboBoxVtkImportObject->onSave();
- saveExportLevel();
+ ui->cb_export_level->onSave();
}
void DlgSettingsFemInOutVtkImp::loadSettings()
{
ui->comboBoxVtkImportObject->onRestore();
- ParameterGrp::handle hGrp = App::GetApplication().GetParameterGroupByPath(
- "User parameter:BaseApp/Preferences/Mod/Fem/InOutVtk"
- );
- int index = hGrp->GetInt("ImportObject", 0);
- // 0 is standard on first initialize, 0 .. vtk res obj, 1 .. FEM mesh obj, 2 .. FreeCAD res obj
- if (index > -1) {
- ui->comboBoxVtkImportObject->setCurrentIndex(index);
- }
-
populateExportLevel();
+ ui->cb_export_level->onSave();
}
/**
@@ -86,32 +73,20 @@ void DlgSettingsFemInOutVtkImp::changeEvent(QEvent* e)
}
}
-void DlgSettingsFemInOutVtkImp::saveExportLevel() const
-{
- ParameterGrp::handle hGrp = App::GetApplication().GetParameterGroupByPath(
- "User parameter:BaseApp/Preferences/Mod/Fem/InOutVtk"
- );
- hGrp->SetASCII("MeshExportLevel", ui->cb_export_level->currentData().toString().toStdString());
-}
-
void DlgSettingsFemInOutVtkImp::populateExportLevel() const
{
std::list values = {QT_TR_NOOP("All"), QT_TR_NOOP("Highest")};
- auto hGrp = App::GetApplication().GetParameterGroupByPath(
- "User parameter:BaseApp/Preferences/Mod/Fem/InOutVtk"
- );
- std::string current = hGrp->GetASCII("MeshExportLevel", "Highest");
-
- int index = 0;
ui->cb_export_level->clear();
for (const auto& val : values) {
- ui->cb_export_level->addItem(tr(val.c_str()), QString::fromStdString(val));
- if (val == current) {
- ui->cb_export_level->setCurrentIndex(index);
- }
- ++index;
+ ui->cb_export_level->addItem(tr(val.c_str()), QByteArray::fromStdString(val));
}
+
+ // set default index
+ auto hGrp = ui->cb_export_level->getWindowParameter();
+ std::string current = hGrp->GetASCII(ui->cb_export_level->entryName(), "Highest");
+ int index = ui->cb_export_level->findData(QByteArray::fromStdString(current));
+ ui->cb_export_level->setCurrentIndex(index);
}
#include "moc_DlgSettingsFemInOutVtkImp.cpp"
diff --git a/src/Mod/Fem/Gui/DlgSettingsFemInOutVtkImp.h b/src/Mod/Fem/Gui/DlgSettingsFemInOutVtkImp.h
index 85942f0317..d3502efc56 100644
--- a/src/Mod/Fem/Gui/DlgSettingsFemInOutVtkImp.h
+++ b/src/Mod/Fem/Gui/DlgSettingsFemInOutVtkImp.h
@@ -48,7 +48,6 @@ protected:
void changeEvent(QEvent* e) override;
private:
- void saveExportLevel() const;
void populateExportLevel() const;
std::unique_ptr ui;
};