mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-26 02:35:38 +08:00
refs #822, set file ts in parser/modelloader
This commit is contained in:
@@ -39,8 +39,9 @@ namespace BlackMisc
|
|||||||
QString CAircraftCfgEntries::convertToQString(bool) const
|
QString CAircraftCfgEntries::convertToQString(bool) const
|
||||||
{
|
{
|
||||||
QString s = "{%1, %2, %3, %4, %5, %6}";
|
QString s = "{%1, %2, %3, %4, %5, %6}";
|
||||||
s = s.arg(this->m_fileName).arg(this->m_index).arg(this->m_title)
|
s = s.
|
||||||
.arg(this->m_atcModel).arg(this->m_atcType).arg(this->m_atcParkingCode);
|
arg(this->m_fileName).arg(this->m_index).
|
||||||
|
arg(this->m_title, this->m_atcModel, this->m_atcType, this->m_atcParkingCode);
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,8 +52,8 @@ namespace BlackMisc
|
|||||||
QString CAircraftCfgEntries::getFileDirectory() const
|
QString CAircraftCfgEntries::getFileDirectory() const
|
||||||
{
|
{
|
||||||
if (this->m_fileName.isEmpty()) { return ""; }
|
if (this->m_fileName.isEmpty()) { return ""; }
|
||||||
QFileInfo fi(this->m_fileName);
|
const QFileInfo fileInfo(this->m_fileName);
|
||||||
return fi.absolutePath();
|
return fileInfo.absolutePath();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString CAircraftCfgEntries::getUiCombinedDescription() const
|
QString CAircraftCfgEntries::getUiCombinedDescription() const
|
||||||
@@ -133,7 +134,9 @@ namespace BlackMisc
|
|||||||
model.setDescription(this->getUiCombinedDescription()); // Manufacturer, variation, type
|
model.setDescription(this->getUiCombinedDescription()); // Manufacturer, variation, type
|
||||||
model.setFileName(this->getFileName());
|
model.setFileName(this->getFileName());
|
||||||
model.setName(this->getSimName());
|
model.setName(this->getSimName());
|
||||||
model.setUtcTimestamp(this->getUtcTimestamp()); // aircraft.cfg file last modified
|
Q_ASSERT_X(this->m_timestampMSecsSinceEpoch >= 0, Q_FUNC_INFO, "Missing file timestamp");
|
||||||
|
model.setMSecsSinceEpoch(this->m_timestampMSecsSinceEpoch); // aircraft.cfg file timestamp
|
||||||
|
model.setFileTimestamp(this->m_timestampMSecsSinceEpoch);
|
||||||
model.setIconPath(this->getThumbnailFileNameChecked());
|
model.setIconPath(this->getThumbnailFileNameChecked());
|
||||||
|
|
||||||
const QString designator(CAircraftIcaoCode::normalizeDesignator(this->getAtcModel()));
|
const QString designator(CAircraftIcaoCode::normalizeDesignator(this->getAtcModel()));
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ namespace BlackMisc
|
|||||||
CAircraftCfgEntriesList CAircraftCfgParser::performParsing(const QString &directory, const QStringList &excludeDirectories, CStatusMessageList &messages, bool *ok)
|
CAircraftCfgEntriesList CAircraftCfgParser::performParsing(const QString &directory, const QStringList &excludeDirectories, CStatusMessageList &messages, bool *ok)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
// function has to be thread safe
|
// function has to be threadsafe
|
||||||
//
|
//
|
||||||
|
|
||||||
*ok = false;
|
*ok = false;
|
||||||
@@ -323,7 +323,13 @@ namespace BlackMisc
|
|||||||
file.close();
|
file.close();
|
||||||
|
|
||||||
// store all entries
|
// store all entries
|
||||||
for (const CAircraftCfgEntries &e : tempEntries)
|
QDateTime fileTimestamp(fileInfo.lastModified());
|
||||||
|
if (!fileTimestamp.isValid() || fileInfo.created() > fileTimestamp)
|
||||||
|
{
|
||||||
|
fileTimestamp = fileInfo.created();
|
||||||
|
}
|
||||||
|
Q_ASSERT_X(fileTimestamp.isValid(), Q_FUNC_INFO, "Missing file timestamp");
|
||||||
|
for (const CAircraftCfgEntries &e : as_const(tempEntries))
|
||||||
{
|
{
|
||||||
if (e.getTitle().isEmpty())
|
if (e.getTitle().isEmpty())
|
||||||
{
|
{
|
||||||
@@ -333,7 +339,7 @@ namespace BlackMisc
|
|||||||
CAircraftCfgEntries newEntries(e);
|
CAircraftCfgEntries newEntries(e);
|
||||||
newEntries.setAtcModel(atcModel);
|
newEntries.setAtcModel(atcModel);
|
||||||
newEntries.setAtcType(atcType);
|
newEntries.setAtcType(atcType);
|
||||||
newEntries.setUtcTimestamp(fileInfo.lastModified());
|
newEntries.setUtcTimestamp(fileTimestamp);
|
||||||
result.push_back(newEntries);
|
result.push_back(newEntries);
|
||||||
}
|
}
|
||||||
*ok = true;
|
*ok = true;
|
||||||
|
|||||||
@@ -165,17 +165,20 @@ namespace BlackMisc
|
|||||||
CAircraftModelList installedModels;
|
CAircraftModelList installedModels;
|
||||||
while (aircraftIt.hasNext())
|
while (aircraftIt.hasNext())
|
||||||
{
|
{
|
||||||
//! \todo KB I would consider exclude dirs here CFileUtils::matchesExcludeDirectory()
|
|
||||||
aircraftIt.next();
|
aircraftIt.next();
|
||||||
|
if (CFileUtils::isExcludedDirectory(aircraftIt.fileInfo(), excludeDirectories, Qt::CaseInsensitive)) { continue; }
|
||||||
|
|
||||||
// <dirname> <filename> for the default model and <dirname> <filename> <texturedir> for the liveries
|
// <dirname> <filename> for the default model and <dirname> <filename> <texturedir> for the liveries
|
||||||
QString modelString = QString("%1 %2").arg(aircraftIt.fileInfo().dir().dirName(), aircraftIt.fileInfo().baseName());
|
const QString dirName(aircraftIt.fileInfo().dir().dirName());
|
||||||
|
const QString modelString = QString("%1 %2").arg(dirName, aircraftIt.fileInfo().baseName());
|
||||||
|
|
||||||
CAircraftModel model;
|
CAircraftModel model;
|
||||||
model.setModelType(CAircraftModel::TypeOwnSimulatorModel);
|
model.setModelType(CAircraftModel::TypeOwnSimulatorModel);
|
||||||
model.setSimulator(this->getSimulator());
|
model.setSimulator(this->getSimulator());
|
||||||
model.setFileName(aircraftIt.filePath());
|
model.setFileName(aircraftIt.filePath());
|
||||||
model.setUtcTimestamp(aircraftIt.fileInfo().lastModified());
|
const QDateTime lastModifiedTs(aircraftIt.fileInfo().lastModified());
|
||||||
|
model.setUtcTimestamp(lastModifiedTs);
|
||||||
|
model.setFileTimestamp(lastModifiedTs);
|
||||||
model.setModelString(modelString);
|
model.setModelString(modelString);
|
||||||
|
|
||||||
QFile file(aircraftIt.filePath());
|
QFile file(aircraftIt.filePath());
|
||||||
|
|||||||
Reference in New Issue
Block a user