diff --git a/src/Mod/Fem/Gui/DlgSettingsFemCcxImp.cpp b/src/Mod/Fem/Gui/DlgSettingsFemCcxImp.cpp index f3f5b5ff30..68ed8742cc 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFemCcxImp.cpp +++ b/src/Mod/Fem/Gui/DlgSettingsFemCcxImp.cpp @@ -26,6 +26,7 @@ #include "PreCompiled.h" #ifndef _PreComp_ # include +# include #endif #include @@ -49,6 +50,9 @@ DlgSettingsFemCcxImp::DlgSettingsFemCcxImp(QWidget* parent) // hardware check might fail and then returns 0 if (processor_count > 0) ui->sb_ccx_numcpu->setMaximum(processor_count); + + connect(ui->fc_ccx_binary_path, &Gui::PrefFileChooser::fileNameChanged, + this, &DlgSettingsFemCcxImp::onfileNameChanged); } DlgSettingsFemCcxImp::~DlgSettingsFemCcxImp() @@ -135,4 +139,13 @@ void DlgSettingsFemCcxImp::changeEvent(QEvent* e) } } +void DlgSettingsFemCcxImp::onfileNameChanged(QString FileName) +{ + if (!QFileInfo::exists(FileName)) { + QMessageBox::critical(this, tr("File does not exist"), + tr("The specified executable \n'%1'\n does not exist!\n" + "Specify another file please.").arg(FileName)); + } +} + #include "moc_DlgSettingsFemCcxImp.cpp" diff --git a/src/Mod/Fem/Gui/DlgSettingsFemCcxImp.h b/src/Mod/Fem/Gui/DlgSettingsFemCcxImp.h index 0ef22f5594..4b5d012f30 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFemCcxImp.h +++ b/src/Mod/Fem/Gui/DlgSettingsFemCcxImp.h @@ -40,6 +40,9 @@ public: DlgSettingsFemCcxImp( QWidget* parent = nullptr ); ~DlgSettingsFemCcxImp(); +protected Q_SLOTS: + void onfileNameChanged(QString FileName); + protected: void saveSettings(); void loadSettings(); diff --git a/src/Mod/Fem/Gui/DlgSettingsFemElmerImp.cpp b/src/Mod/Fem/Gui/DlgSettingsFemElmerImp.cpp index cc6a40dc59..57abe66272 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFemElmerImp.cpp +++ b/src/Mod/Fem/Gui/DlgSettingsFemElmerImp.cpp @@ -102,7 +102,6 @@ void DlgSettingsFemElmerImp::onfileNameChanged(QString FileName) QMessageBox::critical(this, tr("File does not exist"), tr("The specified executable \n'%1'\n does not exist!\n" "Specify another file please.").arg(FileName)); - return; } } diff --git a/src/Mod/Fem/Gui/DlgSettingsFemGmshImp.cpp b/src/Mod/Fem/Gui/DlgSettingsFemGmshImp.cpp index 986df854d6..6d1881bc2b 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFemGmshImp.cpp +++ b/src/Mod/Fem/Gui/DlgSettingsFemGmshImp.cpp @@ -23,6 +23,9 @@ ***************************************************************************/ #include "PreCompiled.h" +#ifndef _PreComp_ +# include +#endif #include "DlgSettingsFemGmshImp.h" #include "ui_DlgSettingsFemGmsh.h" @@ -35,6 +38,9 @@ DlgSettingsFemGmshImp::DlgSettingsFemGmshImp(QWidget* parent) , ui(new Ui_DlgSettingsFemGmshImp) { ui->setupUi(this); + + connect(ui->fc_gmsh_binary_path, &Gui::PrefFileChooser::fileNameChanged, + this, &DlgSettingsFemGmshImp::onfileNameChanged); } DlgSettingsFemGmshImp::~DlgSettingsFemGmshImp() @@ -67,4 +73,13 @@ void DlgSettingsFemGmshImp::changeEvent(QEvent* e) } } +void DlgSettingsFemGmshImp::onfileNameChanged(QString FileName) +{ + if (!QFileInfo::exists(FileName)) { + QMessageBox::critical(this, tr("File does not exist"), + tr("The specified executable \n'%1'\n does not exist!\n" + "Specify another file please.").arg(FileName)); + } +} + #include "moc_DlgSettingsFemGmshImp.cpp" diff --git a/src/Mod/Fem/Gui/DlgSettingsFemGmshImp.h b/src/Mod/Fem/Gui/DlgSettingsFemGmshImp.h index cc453e70e7..9144e3015d 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFemGmshImp.h +++ b/src/Mod/Fem/Gui/DlgSettingsFemGmshImp.h @@ -39,6 +39,9 @@ public: DlgSettingsFemGmshImp( QWidget* parent = nullptr ); ~DlgSettingsFemGmshImp(); +protected Q_SLOTS: + void onfileNameChanged(QString FileName); + protected: void saveSettings(); void loadSettings(); diff --git a/src/Mod/Fem/Gui/DlgSettingsFemMystranImp.cpp b/src/Mod/Fem/Gui/DlgSettingsFemMystranImp.cpp index cd86381325..2884725e56 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFemMystranImp.cpp +++ b/src/Mod/Fem/Gui/DlgSettingsFemMystranImp.cpp @@ -23,6 +23,9 @@ ***************************************************************************/ #include "PreCompiled.h" +#ifndef _PreComp_ +# include +#endif #include "DlgSettingsFemMystranImp.h" #include "ui_DlgSettingsFemMystran.h" @@ -35,6 +38,9 @@ DlgSettingsFemMystranImp::DlgSettingsFemMystranImp(QWidget* parent) , ui(new Ui_DlgSettingsFemMystranImp) { ui->setupUi(this); + + connect(ui->fc_mystran_binary_path, &Gui::PrefFileChooser::fileNameChanged, + this, &DlgSettingsFemMystranImp::onfileNameChanged); } DlgSettingsFemMystranImp::~DlgSettingsFemMystranImp() @@ -69,4 +75,13 @@ void DlgSettingsFemMystranImp::changeEvent(QEvent* e) } } +void DlgSettingsFemMystranImp::onfileNameChanged(QString FileName) +{ + if (!QFileInfo::exists(FileName)) { + QMessageBox::critical(this, tr("File does not exist"), + tr("The specified executable \n'%1'\n does not exist!\n" + "Specify another file please.").arg(FileName)); + } +} + #include "moc_DlgSettingsFemMystranImp.cpp" diff --git a/src/Mod/Fem/Gui/DlgSettingsFemMystranImp.h b/src/Mod/Fem/Gui/DlgSettingsFemMystranImp.h index 8938be99e2..605d240054 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFemMystranImp.h +++ b/src/Mod/Fem/Gui/DlgSettingsFemMystranImp.h @@ -40,6 +40,9 @@ public: DlgSettingsFemMystranImp( QWidget* parent = nullptr ); ~DlgSettingsFemMystranImp(); +protected Q_SLOTS: + void onfileNameChanged(QString FileName); + protected: void saveSettings(); void loadSettings();