34 QString* TYPreferenceManager::_fileName =
nullptr;
38 if (_prefMngr ==
nullptr)
45 void TYPreferenceManager::completePreferences()
49 _prefMngr->completePreferences(DefaultSettingsFilePath);
52 QString& TYPreferenceManager::getFileName()
54 if (_fileName ==
nullptr)
56 _fileName =
new QString(
"");
61 bool TYPreferenceManager::init(
const QString& regularSettingsFileName,
bool& isCopiedFromDefaultSettings,
62 const std::unique_ptr<QFile> settingsFile)
65 QString effectiveFileName;
67 if (settingsFile ==
nullptr || !settingsFile->exists())
71 ret = copyDefaultSettings(DefaultSettingsFilePath, regularSettingsFileName);
72 isCopiedFromDefaultSettings =
true;
73 effectiveFileName = regularSettingsFileName;
78 effectiveFileName = settingsFile->fileName();
80 setFileName(effectiveFileName);
84 void TYPreferenceManager::reset()
86 getInstance().reset();
89 void TYPreferenceManager::setFileName(
const QString& fileName)
91 getFileName() = fileName;
94 bool TYPreferenceManager::read()
96 if (QFile::exists(getFileName()))
98 return getInstance().readXML(getFileName());
106 bool TYPreferenceManager::write()
108 return getInstance().writeXML(getFileName());
111 bool TYPreferenceManager::exists(
const QString& pref)
113 return getInstance().exists(pref);
116 void TYPreferenceManager::saveGeometryToPreferences(
const QString& pref,
const QWidget* pWidget)
120 getInstance().setBool(pref +
"Maximized", pWidget->isMaximized());
122 QPoint pos = pWidget->pos();
123 QSize size = pWidget->size();
133 if (size.width() <= 0)
137 if (size.height() <= 0)
142 getInstance().setFrame(pref, pos.x(), pos.y(), size.width(), size.height());
145 void TYPreferenceManager::loadGeometryFromPreferences(
const QString& pref, QWidget* pWidget)
149 if (getInstance().getBool(pref +
"Maximized"))
151 pWidget->showMaximized();
155 int posX = 0, posY = 0, sizeX = 0, sizeY = 0;
157 getInstance().getFrame(pref, posX, posY, sizeX, sizeY);
176 pWidget->resize(sizeX, sizeY);
180 void TYPreferenceManager::setSpectre(
const QString& pref,
const TYSpectre* pSpectre)
182 setSpectre(getInstance().getCurrentDirectory(), pref, pSpectre);
185 void TYPreferenceManager::setSpectre(
const QString& dir,
const QString& pref,
const TYSpectre* pSpectre)
187 for (
unsigned int i = 0; i < pSpectre->
getNbValues(); i++)
193 TYSpectre* TYPreferenceManager::getSpectre(
const QString& pref)
195 return getSpectre(getInstance().getCurrentDirectory(), pref);
198 TYSpectre* TYPreferenceManager::getSpectre(
const QString& dir,
const QString& pref)
214 for (
int i = 0; i < nbFreq; i++)
223 bool TYPreferenceManager::copyDefaultSettings(
const QString& sourcePath,
const QString& destinationPath)
225 QFile sourceFile(sourcePath);
226 QFile destinationFile(destinationPath);
229 if (!sourceFile.exists())
231 qDebug() <<
"Source file does not exist:" << sourcePath;
236 if (!sourceFile.open(QIODevice::ReadOnly))
238 qDebug() <<
"Error opening source file for reading:" << sourcePath;
243 if (!destinationFile.open(QIODevice::WriteOnly))
245 qDebug() <<
"Error opening destination file for writing:" << destinationPath;
251 QByteArray fileContent = sourceFile.readAll();
252 if (destinationFile.write(fileContent) == -1)
254 qDebug() <<
"Error writing to destination file:" << destinationPath;
256 destinationFile.close();
260 qDebug() <<
"File copied successfully from" << sourcePath <<
"to" << destinationPath;
264 destinationFile.close();
pour l'application Tympan (fichier header)
static QString getResourcePath()
Systeme de gestion des preferences.
static QString intToString(const int &val)
unsigned int getNbValues() const
Number of values in the spectrum.
double * getTabValReel() override