1
0
Fork 0

Launcher: fix scanning of aircraft dirs on startup

https://sourceforge.net/p/flightgear/codetickets/2195/
This commit is contained in:
James Turner 2020-03-23 16:33:39 +00:00
parent 86e81735c5
commit 5dc2f20848
2 changed files with 10 additions and 4 deletions

View file

@ -50,6 +50,14 @@ AddOnsController::AddOnsController(LauncherMainWindow *parent, LaunchConfig* con
m_sceneryPaths->loadFromSettings("scenery-paths-v2");
m_aircraftPaths = new PathListModel(this);
m_aircraftPaths->loadFromSettings("aircraft-paths-v2");
// sync up the aircraft cache now
auto aircraftCache = LocalAircraftCache::instance();
aircraftCache->setPaths(m_aircraftPaths->enabledPaths());
aircraftCache->scanDirs();
// watch for future changes
connect(m_aircraftPaths, &PathListModel::enabledPathsChanged, [this] () {
m_aircraftPaths->saveToSettings("aircraft-paths-v2");
@ -57,7 +65,6 @@ AddOnsController::AddOnsController(LauncherMainWindow *parent, LaunchConfig* con
aircraftCache->setPaths(m_aircraftPaths->enabledPaths());
aircraftCache->scanDirs();
});
m_aircraftPaths->loadFromSettings("aircraft-paths-v2");
QSettings settings;
int size = settings.beginReadArray("addon-modules");

View file

@ -438,12 +438,11 @@ void LocalAircraftCache::scanDirs()
QStringList dirs = m_paths;
Q_FOREACH(SGPath ap, globals->get_aircraft_paths()) {
for (SGPath ap : globals->get_aircraft_paths()) {
dirs << QString::fromStdString(ap.utf8Str());
}
SGPath rootAircraft(globals->get_fg_root());
rootAircraft.append("Aircraft");
SGPath rootAircraft = globals->get_fg_root() / "Aircraft";
dirs << QString::fromStdString(rootAircraft.utf8Str());
m_scanThread.reset(new AircraftScanThread(dirs));