[TD]fix preference file handling
This commit is contained in:
committed by
WandererFan
parent
b4c21869f2
commit
74085b609d
@@ -70,6 +70,7 @@
|
||||
|
||||
#include "HatchLine.h"
|
||||
#include "DrawUtil.h"
|
||||
#include "Preferences.h"
|
||||
#include "Geometry.h"
|
||||
#include "DrawPage.h"
|
||||
#include "DrawViewPart.h"
|
||||
@@ -615,19 +616,7 @@ void DrawGeomHatch::unsetupObject(void)
|
||||
|
||||
std::string DrawGeomHatch::prefGeomHatchFile(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";
|
||||
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;
|
||||
return Preferences::patFile();
|
||||
}
|
||||
|
||||
std::string DrawGeomHatch::prefGeomHatchName()
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
|
||||
#include "DrawViewPart.h"
|
||||
#include "DrawUtil.h"
|
||||
#include "Preferences.h"
|
||||
#include "DrawHatch.h"
|
||||
|
||||
#include <Mod/TechDraw/App/DrawHatchPy.h> // generated from DrawHatchPy.xml
|
||||
@@ -261,19 +262,7 @@ void DrawHatch::unsetupObject(void)
|
||||
//standard preference getters
|
||||
std::string DrawHatch::prefSvgHatch(void)
|
||||
{
|
||||
Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter()
|
||||
.GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Files");
|
||||
|
||||
std::string defaultDir = App::Application::getResourceDir() + "Mod/TechDraw/Patterns/";
|
||||
std::string defaultFileName = defaultDir + "simple.svg";
|
||||
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;
|
||||
return Preferences::svgFile();
|
||||
}
|
||||
|
||||
App::Color DrawHatch::prefSvgHatchColor(void)
|
||||
|
||||
@@ -193,6 +193,9 @@ QString Preferences::defaultTemplate()
|
||||
std::string defaultDir = App::Application::getResourceDir() + "Mod/TechDraw/Templates/";
|
||||
std::string defaultFileName = defaultDir + "A4_LandscapeTD.svg";
|
||||
std::string prefFileName = hGrp->GetASCII("TemplateFile",defaultFileName.c_str());
|
||||
if (prefFileName.empty()) {
|
||||
prefFileName = defaultFileName;
|
||||
}
|
||||
QString templateFileName = QString::fromStdString(prefFileName);
|
||||
Base::FileInfo fi(prefFileName);
|
||||
if (!fi.isReadable()) {
|
||||
@@ -209,6 +212,9 @@ QString Preferences::defaultTemplateDir()
|
||||
|
||||
std::string defaultDir = App::Application::getResourceDir() + "Mod/TechDraw/Templates";
|
||||
std::string prefTemplateDir = hGrp->GetASCII("TemplateDir", defaultDir.c_str());
|
||||
if (prefTemplateDir.empty()) {
|
||||
prefTemplateDir = defaultDir;
|
||||
}
|
||||
QString templateDir = QString::fromStdString(prefTemplateDir);
|
||||
Base::FileInfo fi(prefTemplateDir);
|
||||
if (!fi.isReadable()) {
|
||||
@@ -226,6 +232,9 @@ std::string Preferences::lineGroupFile()
|
||||
std::string defaultDir = App::Application::getResourceDir() + "Mod/TechDraw/LineGroup/";
|
||||
std::string defaultFileName = defaultDir + "LineGroup.csv";
|
||||
std::string lgFileName = hGrp->GetASCII("LineGroupFile",defaultFileName.c_str());
|
||||
if (lgFileName.empty()) {
|
||||
lgFileName = defaultFileName;
|
||||
}
|
||||
Base::FileInfo fi(lgFileName);
|
||||
if (!fi.isReadable()) {
|
||||
Base::Console().Warning("Line Group File: %s is not readable\n", lgFileName.c_str());
|
||||
@@ -256,3 +265,40 @@ int Preferences::mattingStyle()
|
||||
int style = hGrp->GetInt("MattingStyle", 0);
|
||||
return style;
|
||||
}
|
||||
|
||||
std::string Preferences::svgFile()
|
||||
{
|
||||
Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter()
|
||||
.GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Files");
|
||||
|
||||
std::string defaultDir = App::Application::getResourceDir() + "Mod/TechDraw/Patterns/";
|
||||
std::string defaultFileName = defaultDir + "simple.svg";
|
||||
std::string prefHatchFile = hGrp->GetASCII("FileHatch",defaultFileName.c_str());
|
||||
if (prefHatchFile.empty()) {
|
||||
prefHatchFile = defaultFileName;
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
std::string Preferences::patFile()
|
||||
{
|
||||
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";
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -71,6 +71,9 @@ static int altDecimals();
|
||||
|
||||
static int mattingStyle();
|
||||
|
||||
static std::string svgFile();
|
||||
static std::string patFile();
|
||||
|
||||
};
|
||||
|
||||
} //end namespace TechDraw
|
||||
|
||||
@@ -25,6 +25,11 @@
|
||||
|
||||
#include "PreCompiled.h"
|
||||
|
||||
#include <App/Application.h>
|
||||
#include <Base/Console.h>
|
||||
#include <Base/Parameter.h>
|
||||
#include <Base/Tools.h>
|
||||
|
||||
#include <Mod/TechDraw/App/DrawHatch.h>
|
||||
#include <Mod/TechDraw/App/DrawGeomHatch.h>
|
||||
|
||||
@@ -97,13 +102,6 @@ void DlgPrefsTechDrawGeneralImp::loadSettings()
|
||||
ui->cbProjAngle->onRestore();
|
||||
ui->cbHiddenLineStyle->onRestore();
|
||||
|
||||
ui->pfc_DefTemp->setFileName(Preferences::defaultTemplate());
|
||||
ui->pfc_DefDir->setFileName(Preferences::defaultTemplateDir());
|
||||
ui->pfc_HatchFile->setFileName(QString::fromStdString(DrawHatch::prefSvgHatch()));
|
||||
ui->pfc_LineGroup->setFileName(QString::fromUtf8(Preferences::lineGroupFile().c_str()));
|
||||
ui->pfc_Welding->setFileName(PreferencesGui::weldingDirectory());
|
||||
ui->pfc_FilePattern->setFileName(QString::fromStdString(DrawGeomHatch::prefGeomHatchFile()));
|
||||
|
||||
ui->pfc_DefTemp->onRestore();
|
||||
ui->pfc_DefDir->onRestore();
|
||||
ui->pfc_HatchFile->onRestore();
|
||||
|
||||
@@ -190,6 +190,9 @@ QString PreferencesGui::weldingDirectory()
|
||||
GetGroup("Preferences")->GetGroup("Mod/TechDraw/Files");
|
||||
|
||||
std::string symbolDir = hGrp->GetASCII("WeldingDir", defaultDir.c_str());
|
||||
if (symbolDir.empty()) {
|
||||
symbolDir = defaultDir;
|
||||
}
|
||||
QString qSymbolDir = QString::fromUtf8(symbolDir.c_str());
|
||||
Base::FileInfo fi(symbolDir);
|
||||
if (!fi.isReadable()) {
|
||||
|
||||
Reference in New Issue
Block a user