diff --git a/src/Mod/TechDraw/App/DrawGeomHatch.cpp b/src/Mod/TechDraw/App/DrawGeomHatch.cpp index cd73af2e33..00a703e5d4 100644 --- a/src/Mod/TechDraw/App/DrawGeomHatch.cpp +++ b/src/Mod/TechDraw/App/DrawGeomHatch.cpp @@ -106,8 +106,6 @@ DrawGeomHatch::DrawGeomHatch(void) m_saveFile = ""; m_saveName = ""; -// getParameters(); - std::string patFilter("pat files (*.pat *.PAT);;All files (*)"); FilePattern.setFilter(patFilter); @@ -538,31 +536,6 @@ TopoDS_Face DrawGeomHatch::extractFace(DrawViewPart* source, int iface ) return result; } -void DrawGeomHatch::getParameters(void) -{ - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/PAT"); - - std::string defaultDir = App::Application::getResourceDir() + "Mod/TechDraw/PAT/"; - std::string defaultFileName = defaultDir + "FCPAT.pat"; - QString patternFileName = QString::fromStdString(hGrp->GetASCII("FilePattern",defaultFileName.c_str())); - if (patternFileName.isEmpty()) { - patternFileName = QString::fromStdString(defaultFileName); - } - QFileInfo tfi(patternFileName); - if (tfi.isReadable()) { - FilePattern.setValue(patternFileName.toUtf8().constData()); - } else { - Base::Console().Error("DrawGeomHatch: PAT file: %s Not Found\n",patternFileName.toUtf8().constData()); - } - hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/PAT"); - std::string defaultNamePattern = "Diamond"; - NamePattern.setValue(hGrp->GetASCII("NamePattern",defaultNamePattern.c_str())); - -} - - PyObject *DrawGeomHatch::getPyObject(void) { if (PythonObject.is(Py::_None())) { @@ -646,9 +619,12 @@ std::string DrawGeomHatch::prefGeomHatchFile(void) std::string defaultDir = App::Application::getResourceDir() + "Mod/TechDraw/PAT/"; std::string defaultFileName = defaultDir + "FCPAT.pat"; - std::string result = hGrp->GetASCII("FilePattern", defaultFileName.c_str()); - if (result.empty()) { + std::string prefHatchFile = hGrp->GetASCII("FilePattern", defaultFileName.c_str()); + std::string result = prefHatchFile; + Base::FileInfo fi(result); + if (!fi.isReadable()) { result = defaultFileName; + Base::Console().Warning("Pat Hatch File: %s is not readable\n", prefHatchFile.c_str()); } return result; } diff --git a/src/Mod/TechDraw/App/DrawGeomHatch.h b/src/Mod/TechDraw/App/DrawGeomHatch.h index 630c928619..085b2f0ae6 100644 --- a/src/Mod/TechDraw/App/DrawGeomHatch.h +++ b/src/Mod/TechDraw/App/DrawGeomHatch.h @@ -101,7 +101,6 @@ protected: void makeLineSets(void); - void getParameters(void); std::vector getDecodedSpecsFromFile(); std::vector m_lineSets; std::string m_saveFile; diff --git a/src/Mod/TechDraw/App/DrawHatch.cpp b/src/Mod/TechDraw/App/DrawHatch.cpp index 36aa2ec79c..82cecded34 100644 --- a/src/Mod/TechDraw/App/DrawHatch.cpp +++ b/src/Mod/TechDraw/App/DrawHatch.cpp @@ -266,9 +266,12 @@ std::string DrawHatch::prefSvgHatch(void) std::string defaultDir = App::Application::getResourceDir() + "Mod/TechDraw/Patterns/"; std::string defaultFileName = defaultDir + "simple.svg"; - std::string result = hGrp->GetASCII("FileHatch",defaultFileName.c_str()); - if (result.empty()) { + std::string prefHatchFile = hGrp->GetASCII("FileHatch",defaultFileName.c_str()); + std::string result = prefHatchFile; + Base::FileInfo fi(result); + if (!fi.isReadable()) { result = defaultFileName; + Base::Console().Warning("Svg Hatch File: %s is not readable\n", prefHatchFile.c_str()); } return result; } diff --git a/src/Mod/TechDraw/App/Preferences.cpp b/src/Mod/TechDraw/App/Preferences.cpp index 21fff4b28c..433e76ffe8 100644 --- a/src/Mod/TechDraw/App/Preferences.cpp +++ b/src/Mod/TechDraw/App/Preferences.cpp @@ -33,6 +33,7 @@ #include #include #include +#include #include #include @@ -191,9 +192,12 @@ QString Preferences::defaultTemplate() GetGroup("Mod/TechDraw/Files"); std::string defaultDir = App::Application::getResourceDir() + "Mod/TechDraw/Templates/"; std::string defaultFileName = defaultDir + "A4_LandscapeTD.svg"; - QString templateFileName = QString::fromStdString(hGrp->GetASCII("TemplateFile",defaultFileName.c_str())); - if (templateFileName.isEmpty()) { + std::string prefFileName = hGrp->GetASCII("TemplateFile",defaultFileName.c_str()); + QString templateFileName = QString::fromStdString(prefFileName); + Base::FileInfo fi(prefFileName); + if (!fi.isReadable()) { templateFileName = QString::fromStdString(defaultFileName); + Base::Console().Warning("Template File: %s is not readable\n", prefFileName.c_str()); } return templateFileName; } @@ -204,7 +208,13 @@ QString Preferences::defaultTemplateDir() .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Files"); std::string defaultDir = App::Application::getResourceDir() + "Mod/TechDraw/Templates"; - QString templateDir = QString::fromStdString(hGrp->GetASCII("TemplateDir", defaultDir.c_str())); + std::string prefTemplateDir = hGrp->GetASCII("TemplateDir", defaultDir.c_str()); + QString templateDir = QString::fromStdString(prefTemplateDir); + Base::FileInfo fi(prefTemplateDir); + if (!fi.isReadable()) { + templateDir = QString::fromStdString(defaultDir); + Base::Console().Warning("Template Directory: %s is not readable\n", prefTemplateDir.c_str()); + } return templateDir; } @@ -215,7 +225,11 @@ std::string Preferences::lineGroupFile() GetGroup("Preferences")->GetGroup("Mod/TechDraw/Files"); std::string defaultDir = App::Application::getResourceDir() + "Mod/TechDraw/LineGroup/"; std::string defaultFileName = defaultDir + "LineGroup.csv"; - std::string lgFileName = hGrp->GetASCII("LineGroupFile",defaultFileName.c_str()); + Base::FileInfo fi(lgFileName); + if (!fi.isReadable()) { + lgFileName = defaultFileName; + Base::Console().Warning("Line Group File: %s is not readable\n", lgFileName.c_str()); + } return lgFileName; } diff --git a/src/Mod/TechDraw/Gui/PreferencesGui.cpp b/src/Mod/TechDraw/Gui/PreferencesGui.cpp index 7ef0388c2e..aa6ba842bf 100644 --- a/src/Mod/TechDraw/Gui/PreferencesGui.cpp +++ b/src/Mod/TechDraw/Gui/PreferencesGui.cpp @@ -202,6 +202,12 @@ QString PreferencesGui::weldingDirectory() std::string symbolDir = hGrp->GetASCII("WeldingDir", defaultDir.c_str()); QString qSymbolDir = QString::fromUtf8(symbolDir.c_str()); + Base::FileInfo fi(symbolDir); + if (!fi.isReadable()) { + qSymbolDir = QString::fromUtf8(defaultDir.c_str()); + Base::Console().Warning("Welding Directory: %s is not readable\n", symbolDir.c_str()); + + } return qSymbolDir; }