refs #649, further fixes and improvements

* call of non-virtual function in ctor
* use getCopy
* return number of merged models
* change current simulator in model set loader (fixes infinite loop: change data -> signal -> change data).
This commit is contained in:
Klaus Basan
2016-06-05 20:24:39 +02:00
parent f02bf0ac0a
commit c39882e5db
10 changed files with 67 additions and 43 deletions

View File

@@ -48,7 +48,7 @@ namespace BlackGui
// should be single simulator or no simulator (default)
this->m_simulatorSelection.synchronize();
const CSimulatorInfo simulator(this->m_simulatorSelection.get());
const CSimulatorInfo simulator(this->m_simulatorSelection.getCopy());
const bool s = this->initModelLoader(!simulator.isSingleSimulator() ? CSimulatorInfo(CSimulatorInfo::FSX) : simulator);
if (s)
{

View File

@@ -103,8 +103,8 @@ namespace BlackGui
private:
QScopedPointer<Ui::CDbOwnModelsComponent> ui;
std::unique_ptr<BlackMisc::Simulation::IAircraftModelLoader> m_modelLoader; //!< read own aircraft models
BlackMisc::CData<BlackMisc::Simulation::Data::ModelCacheLastSelection> m_simulatorSelection {this }; //!< last selection
std::unique_ptr<BlackMisc::Simulation::IAircraftModelLoader> m_modelLoader; //!< read own aircraft models
BlackMisc::CData<BlackMisc::Simulation::Data::ModelCacheLastSelection> m_simulatorSelection {this }; //!< last selection
//! Init or change model loader
bool initModelLoader(const BlackMisc::Simulation::CSimulatorInfo &simulator);
@@ -126,8 +126,8 @@ namespace BlackGui
virtual void customMenu(BlackGui::Menus::CMenuActions &menuActions) override;
private:
QList<QAction *> m_loadActions; //!< load actions
QList<QAction *> m_reloadActions; //!< reload actions
QList<QAction *> m_loadActions; //!< load actions
QList<QAction *> m_reloadActions; //!< reload actions
};
};
} // ns