Skip to content

Commit

Permalink
Fixed issue where MORA data was only displayed with Navigraph data en…
Browse files Browse the repository at this point in the history
…abled. #331
  • Loading branch information
albar965 committed Dec 26, 2018
1 parent b41e162 commit defadbd
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 3 deletions.
12 changes: 12 additions & 0 deletions src/db/databasemanager.cpp
Expand Up @@ -177,11 +177,13 @@ DatabaseManager::DatabaseManager(MainWindow *parent)

SqlDatabase::addDatabase(DATABASE_TYPE, DATABASE_NAME);
SqlDatabase::addDatabase(DATABASE_TYPE, DATABASE_NAME_NAV);
SqlDatabase::addDatabase(DATABASE_TYPE, DATABASE_NAME_MORA);
SqlDatabase::addDatabase(DATABASE_TYPE, DATABASE_NAME_DLG_INFO_TEMP);
SqlDatabase::addDatabase(DATABASE_TYPE, DATABASE_NAME_TEMP);

databaseSim = new SqlDatabase(DATABASE_NAME);
databaseNav = new SqlDatabase(DATABASE_NAME_NAV);
databaseMora = new SqlDatabase(DATABASE_NAME_MORA);

if(mainWindow != nullptr)
{
Expand Down Expand Up @@ -226,11 +228,13 @@ DatabaseManager::~DatabaseManager()

delete databaseSim;
delete databaseNav;
delete databaseMora;
delete databaseUser;
delete databaseOnline;

SqlDatabase::removeDatabase(DATABASE_NAME);
SqlDatabase::removeDatabase(DATABASE_NAME_NAV);
SqlDatabase::removeDatabase(DATABASE_NAME_MORA);
SqlDatabase::removeDatabase(DATABASE_NAME_USER);
SqlDatabase::removeDatabase(DATABASE_NAME_DLG_INFO_TEMP);
SqlDatabase::removeDatabase(DATABASE_NAME_TEMP);
Expand Down Expand Up @@ -823,6 +827,7 @@ void DatabaseManager::openAllDatabases()
{
QString simDbFile = buildDatabaseFileName(currentFsType);
QString navDbFile = buildDatabaseFileNameAppDirOrSettings(FsPaths::NAVIGRAPH);
QString moraDbFile = buildDatabaseFileNameAppDirOrSettings(FsPaths::NAVIGRAPH);

if(navDatabaseStatus == dm::NAVDATABASE_ALL)
simDbFile = navDbFile;
Expand All @@ -832,6 +837,7 @@ void DatabaseManager::openAllDatabases()

openDatabaseFile(databaseSim, simDbFile, true /* readonly */, true /* createSchema */);
openDatabaseFile(databaseNav, navDbFile, true /* readonly */, true /* createSchema */);
openDatabaseFile(databaseMora, moraDbFile, true /* readonly */, true /* createSchema */);
}

void DatabaseManager::openDatabaseFile(atools::sql::SqlDatabase *db, const QString& file, bool readonly,
Expand Down Expand Up @@ -931,6 +937,7 @@ void DatabaseManager::closeDatabases()
{
closeDatabaseFile(databaseSim);
closeDatabaseFile(databaseNav);
closeDatabaseFile(databaseMora);
}

void DatabaseManager::closeDatabaseFile(atools::sql::SqlDatabase *db)
Expand Down Expand Up @@ -963,6 +970,11 @@ atools::sql::SqlDatabase *DatabaseManager::getDatabaseNav()
return databaseNav;
}

atools::sql::SqlDatabase *DatabaseManager::getDatabaseMora()
{
return databaseMora;
}

void DatabaseManager::run()
{
qDebug() << Q_FUNC_INFO;
Expand Down
10 changes: 9 additions & 1 deletion src/db/databasemanager.h
Expand Up @@ -97,7 +97,8 @@ class DatabaseManager :
void openAllDatabases();

/* Open a writeable database for userpoints or online network data. Automatic transactions are off. */
void openWriteableDatabase(atools::sql::SqlDatabase *database, const QString& name, const QString& displayName, bool backup);
void openWriteableDatabase(atools::sql::SqlDatabase *database, const QString& name, const QString& displayName,
bool backup);
void closeUserDatabase();
void closeOnlineDatabase();

Expand All @@ -111,6 +112,9 @@ class DatabaseManager :
/* Get navaid database or same as above if it does not exist */
atools::sql::SqlDatabase *getDatabaseNav();

/* Get nav database for MORA data */
atools::sql::SqlDatabase *getDatabaseMora();

/*
* Insert actions for switching between installed flight simulators.
* Actions have to be freed by the caller and are connected to switchSim
Expand Down Expand Up @@ -230,6 +234,9 @@ class DatabaseManager :
/* Navaid database e.g. from Navigraph */
const QString DATABASE_NAME_NAV = "LNMDBNAV";

/* MORA database e.g. from Navigraph */
const QString DATABASE_NAME_MORA = "LNMDBMORA";

/* Userpoint database */
const QString DATABASE_NAME_USER = "LNMDBUSER";

Expand All @@ -247,6 +254,7 @@ class DatabaseManager :
// Need a pointer since it has to be deleted before the destructor is left
atools::sql::SqlDatabase *databaseSim = nullptr /* Database for simulator content */,
*databaseNav = nullptr /* Database for third party navigation data */,
*databaseMora = nullptr /* Database for MORA data - always nav */,
*databaseUser = nullptr /* Database for user data */,
*databaseOnline = nullptr /* Database for network online data */;

Expand Down
9 changes: 7 additions & 2 deletions src/navapp.cpp
Expand Up @@ -113,7 +113,7 @@ void NavApp::init(MainWindow *mainWindowParam)
magDecReader = new atools::fs::common::MagDecReader();
magDecReader->readFromTable(*databaseManager->getDatabaseSim());

moraReader = new atools::fs::common::MoraReader(databaseManager->getDatabaseNav());
moraReader = new atools::fs::common::MoraReader(databaseManager->getDatabaseMora());
moraReader->readFromTable();

vehicleIcons = new VehicleIcons();
Expand Down Expand Up @@ -302,7 +302,7 @@ void NavApp::postDatabaseLoad()
databaseMetaNav = new atools::fs::db::DatabaseMeta(getDatabaseNav());

magDecReader->readFromTable(*getDatabaseSim());
moraReader->readFromTable(*getDatabaseNav());
moraReader->readFromTable(*getDatabaseMora());

airportQuerySim->initQueries();
airportQueryNav->initQueries();
Expand Down Expand Up @@ -474,6 +474,11 @@ atools::sql::SqlDatabase *NavApp::getDatabaseNav()
return getDatabaseManager()->getDatabaseNav();
}

atools::sql::SqlDatabase *NavApp::getDatabaseMora()
{
return getDatabaseManager()->getDatabaseMora();
}

atools::fs::userdata::UserdataManager *NavApp::getUserdataManager()
{
return databaseManager->getUserdataManager();
Expand Down
3 changes: 3 additions & 0 deletions src/navapp.h
Expand Up @@ -182,6 +182,9 @@ class NavApp :
/* External update from navaids or same as above */
static atools::sql::SqlDatabase *getDatabaseNav();

/* Always navdatabase */
static atools::sql::SqlDatabase *getDatabaseMora();

static atools::fs::userdata::UserdataManager *getUserdataManager();
static UserdataIcons *getUserdataIcons();
static UserdataSearch *getUserdataSearch();
Expand Down

0 comments on commit defadbd

Please sign in to comment.