[TD]handle bad preferences in AppImage temp dir
This commit is contained in:
@@ -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<ParameterGrp> 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;
|
||||
}
|
||||
|
||||
@@ -101,7 +101,6 @@ protected:
|
||||
|
||||
void makeLineSets(void);
|
||||
|
||||
void getParameters(void);
|
||||
std::vector<PATLineSpec> getDecodedSpecsFromFile();
|
||||
std::vector<LineSet> m_lineSets;
|
||||
std::string m_saveFile;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
#include <App/Material.h>
|
||||
#include <Base/Console.h>
|
||||
#include <Base/Exception.h>
|
||||
#include <Base/FileInfo.h>
|
||||
#include <Base/Parameter.h>
|
||||
#include <Base/Vector3D.h>
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user