mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-23 07:15:35 +08:00
refs #728, hide load indicator when no vPilot rules are loaded
This commit is contained in:
committed by
Mathew Sutcliffe
parent
364914cc31
commit
d10fe5ad18
@@ -532,7 +532,7 @@ namespace BlackGui
|
||||
{
|
||||
CLogMessage(this).error("Loading vPilot ruleset failed");
|
||||
}
|
||||
this->ui->comp_OwnAircraftModels->view()->hideLoadIndicator();
|
||||
this->ui->tvp_AircraftModelsForVPilot->hideLoadIndicator();
|
||||
}
|
||||
|
||||
void CDbMappingComponent::ps_onVPilotCacheChanged()
|
||||
@@ -541,6 +541,10 @@ namespace BlackGui
|
||||
{
|
||||
this->ui->tvp_AircraftModelsForVPilot->updateContainerMaybeAsync(this->m_vPilotReader.getAsModelsFromCache());
|
||||
}
|
||||
else
|
||||
{
|
||||
this->ui->tvp_AircraftModelsForVPilot->hideLoadIndicator();
|
||||
}
|
||||
}
|
||||
|
||||
void CDbMappingComponent::ps_requestVPilotDataUpdate()
|
||||
|
||||
@@ -57,6 +57,12 @@ namespace BlackMisc
|
||||
return m_fileList;
|
||||
}
|
||||
|
||||
bool CVPilotRulesReader::hasFiles() const
|
||||
{
|
||||
QReadLocker l(&m_lockData);
|
||||
return !m_fileList.isEmpty();
|
||||
}
|
||||
|
||||
void CVPilotRulesReader::addFilename(const QString &fileName)
|
||||
{
|
||||
QWriteLocker l(&m_lockData);
|
||||
@@ -138,34 +144,31 @@ namespace BlackMisc
|
||||
|
||||
bool CVPilotRulesReader::read(bool convertToModels)
|
||||
{
|
||||
bool success = true;
|
||||
int loadedFiles = 0;
|
||||
QStringList filesWithProblems;
|
||||
CVPilotModelRuleSet rules;
|
||||
QStringList fileList(getFiles());
|
||||
|
||||
const QStringList fileList(getFiles());
|
||||
for (const QString &fn : fileList)
|
||||
{
|
||||
if (m_shutdown) { return false; }
|
||||
loadedFiles++;
|
||||
bool s = this->loadFile(fn, rules);
|
||||
if (!s) { this->m_fileListWithProblems.append(fn); }
|
||||
success = s && success;
|
||||
}
|
||||
|
||||
{
|
||||
{
|
||||
QWriteLocker l(&m_lockData);
|
||||
this->m_loadedFiles = loadedFiles;
|
||||
this->m_fileListWithProblems = filesWithProblems;
|
||||
this->m_rules = rules;
|
||||
if (m_shutdown) { return false; }
|
||||
}
|
||||
if (convertToModels)
|
||||
{
|
||||
const CAircraftModelList vPilotModels(rules.toAircraftModels()); // long lasting operation
|
||||
this->ps_setCache(vPilotModels);
|
||||
}
|
||||
QWriteLocker l(&m_lockData);
|
||||
this->m_loadedFiles = loadedFiles;
|
||||
this->m_fileListWithProblems = filesWithProblems;
|
||||
this->m_rules = rules;
|
||||
if (m_shutdown) { return false; }
|
||||
}
|
||||
|
||||
const bool success = loadedFiles > 0;
|
||||
if (convertToModels)
|
||||
{
|
||||
const CAircraftModelList vPilotModels(rules.toAircraftModels()); // long lasting operation
|
||||
this->ps_setCache(vPilotModels);
|
||||
}
|
||||
|
||||
emit readFinished(success);
|
||||
|
||||
@@ -47,6 +47,10 @@ namespace BlackMisc
|
||||
//! \threadsafe
|
||||
QStringList getFiles() const;
|
||||
|
||||
//! Has files
|
||||
//! \threadsafe
|
||||
bool hasFiles() const;
|
||||
|
||||
//! File names
|
||||
//! \threadsafe
|
||||
void addFilename(const QString &fileName);
|
||||
|
||||
Reference in New Issue
Block a user