Ref T246, data can also be loaded from resource files

This commit is contained in:
Klaus Basan
2018-07-17 18:58:42 +02:00
parent 0023fbb57f
commit ea5a38faa4
5 changed files with 103 additions and 7 deletions

View File

@@ -15,6 +15,9 @@
#include "blackgui/guiapplication.h"
#include "blackmisc/network/networkutils.h"
#include <QPointer>
#include <QMessageBox>
using namespace BlackGui;
using namespace BlackCore;
using namespace BlackMisc;
@@ -60,11 +63,17 @@ namespace BlackGui
connect(ui->pb_LoadAllFromDB, &QPushButton::pressed, this, &CDbLoadOverviewComponent::loadAllFromDb);
connect(ui->pb_LoadAllFromShared, &QPushButton::pressed, this, &CDbLoadOverviewComponent::loadAllFromShared);
connect(ui->pb_LoadAllFromResources, &QPushButton::pressed, this, &CDbLoadOverviewComponent::loadAllFromResourceFiles);
if (sGui->hasWebDataServices())
{
connect(sGui->getWebDataServices(), &CWebDataServices::dataRead, this, &CDbLoadOverviewComponent::dataLoaded);
QTimer::singleShot(10 * 1000, this, &CDbLoadOverviewComponent::loadInfoObjects);
QPointer<CDbLoadOverviewComponent> myself(this);
QTimer::singleShot(10 * 1000, this, [ = ]
{
if (!myself) { return; }
this->loadInfoObjects();
});
}
}
@@ -110,12 +119,13 @@ namespace BlackGui
QFrame::resizeEvent(event);
}
void CDbLoadOverviewComponent::showVisibleLoadAllButtons(bool shared, bool db)
void CDbLoadOverviewComponent::showVisibleLoadAllButtons(bool shared, bool db, bool disk)
{
const bool widget = shared || db;
ui->wi_LoadAllButtons->setVisible(widget);
ui->pb_LoadAllFromDB->setVisible(db);
ui->pb_LoadAllFromShared->setVisible(shared);
ui->pb_LoadAllFromResources->setVisible(disk);
}
void CDbLoadOverviewComponent::loadAllFromDb()
@@ -128,6 +138,15 @@ namespace BlackGui
this->triggerLoadingFromSharedFiles(CEntityFlags::AllDbEntitiesNoInfoObjects);
}
void CDbLoadOverviewComponent::loadAllFromResourceFiles()
{
if (m_loadInProgress) { return; }
if (!sGui || sGui->isShuttingDown() || !sGui->getWebDataServices()) { return; }
const QMessageBox::StandardButton reply = QMessageBox::warning(this, "Load DB data", "You should only load DB from disk resources if loading from network does not work. Really load?", QMessageBox::Yes | QMessageBox::No);
if (reply != QMessageBox::Yes) { return; }
sGui->getWebDataServices()->initDbCachesFromLocalResourceFiles(true);
}
void CDbLoadOverviewComponent::setGuiValues()
{
if (!sGui) { return; }

View File

@@ -49,7 +49,7 @@ namespace BlackGui
void showVisibleSharedRefreshButtons(bool visible);
//! Show load all buttons
void showVisibleLoadAllButtons(bool shared, bool db);
void showVisibleLoadAllButtons(bool shared, bool db, bool disk);
//! Load all from DB
void loadAllFromDb();
@@ -57,6 +57,12 @@ namespace BlackGui
//! Load all from shared
void loadAllFromShared();
//! Load all from disk (as of installation)
void loadAllFromResourceFiles();
//! Is loading in progress
bool isLoadInProgress() const { return m_loadInProgress; }
protected:
//! \copydoc QWidget::resizeEvent
virtual void resizeEvent(QResizeEvent *event) override;

View File

@@ -973,7 +973,7 @@
<item>
<widget class="QPushButton" name="pb_LoadAllFromShared">
<property name="text">
<string>load from shared</string>
<string> load from shared </string>
</property>
<property name="icon">
<iconset resource="../../blackmisc/blackmisc.qrc">
@@ -984,7 +984,7 @@
<item>
<widget class="QPushButton" name="pb_LoadAllFromDB">
<property name="text">
<string>load from DB</string>
<string> load from DB </string>
</property>
<property name="icon">
<iconset resource="../../blackmisc/blackmisc.qrc">
@@ -992,6 +992,17 @@
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pb_LoadAllFromResources">
<property name="text">
<string> load from disk </string>
</property>
<property name="icon">
<iconset resource="../../blackmisc/blackmisc.qrc">
<normaloff>:/pastel/icons/pastel/16/disk.png</normaloff>:/pastel/icons/pastel/16/disk.png</iconset>
</property>
</widget>
</item>
<item>
<spacer name="hs_LoadAllButtons">
<property name="orientation">
@@ -1070,6 +1081,66 @@
</item>
</layout>
</widget>
<tabstops>
<tabstop>tb_SharedReloadAircraft</tabstop>
<tabstop>tb_DbReloadAircraft</tabstop>
<tabstop>le_AircraftIcaoCacheCount</tabstop>
<tabstop>le_AircraftIcaoDbCount</tabstop>
<tabstop>le_AircraftIcaoSharedCount</tabstop>
<tabstop>le_AircraftIcaoCacheTs</tabstop>
<tabstop>le_AircraftIcaoDbTs</tabstop>
<tabstop>le_AircraftIcaoSharedFileTs</tabstop>
<tabstop>tb_SharedReloadAirlines</tabstop>
<tabstop>tb_DbReloadAirlines</tabstop>
<tabstop>le_AirlinesIcaoCacheCount</tabstop>
<tabstop>le_AirlinesIcaoDbCount</tabstop>
<tabstop>le_AirlinesIcaoSharedCount</tabstop>
<tabstop>le_AirlinesIcaoCacheTs</tabstop>
<tabstop>le_AirlinesIcaoDbTs</tabstop>
<tabstop>le_AirlinesIcaoSharedFileTs</tabstop>
<tabstop>tb_SharedReloadAirports</tabstop>
<tabstop>tb_DbReloadAirports</tabstop>
<tabstop>le_AirportsCacheCount</tabstop>
<tabstop>le_AirportsDbCount</tabstop>
<tabstop>le_AirportsSharedCount</tabstop>
<tabstop>le_AirportsCacheTs</tabstop>
<tabstop>le_AirportsDbTs</tabstop>
<tabstop>le_AirportsSharedFileTs</tabstop>
<tabstop>tb_SharedReloadLiveries</tabstop>
<tabstop>tb_DbReloadLiveries</tabstop>
<tabstop>le_LiveriesCacheCount</tabstop>
<tabstop>le_LiveriesDbCount</tabstop>
<tabstop>le_LiveriesSharedCount</tabstop>
<tabstop>le_LiveriesCacheTs</tabstop>
<tabstop>le_LiveriesDbTs</tabstop>
<tabstop>le_LiveriesSharedFileTs</tabstop>
<tabstop>tb_SharedReloadModels</tabstop>
<tabstop>tb_DbReloadModels</tabstop>
<tabstop>le_ModelsCacheCount</tabstop>
<tabstop>le_ModelsDbCount</tabstop>
<tabstop>le_ModelsSharedCount</tabstop>
<tabstop>le_ModelsCacheTs</tabstop>
<tabstop>le_ModelsDbTs</tabstop>
<tabstop>le_ModelsSharedFileTs</tabstop>
<tabstop>tb_SharedReloadCountries</tabstop>
<tabstop>tb_DbReloadCountries</tabstop>
<tabstop>le_CountriesCacheCount</tabstop>
<tabstop>le_CountriesDbCount</tabstop>
<tabstop>le_CountriesSharedCount</tabstop>
<tabstop>le_CountriesCacheTs</tabstop>
<tabstop>le_CountriesDbTs</tabstop>
<tabstop>le_CountriesSharedFileTs</tabstop>
<tabstop>tb_SharedReloadDistributors</tabstop>
<tabstop>tb_DbReloadDistributors</tabstop>
<tabstop>le_DistributorsCacheCount</tabstop>
<tabstop>le_DistributorsDbCount</tabstop>
<tabstop>le_DistributorsSharedCount</tabstop>
<tabstop>le_DistributorsCacheTs</tabstop>
<tabstop>le_DistributorsDbTs</tabstop>
<tabstop>le_DistributorsSharedFileTs</tabstop>
<tabstop>pb_LoadAllFromShared</tabstop>
<tabstop>pb_LoadAllFromDB</tabstop>
</tabstops>
<resources>
<include location="../../blackmisc/blackmisc.qrc"/>
</resources>

View File

@@ -19,7 +19,7 @@ namespace BlackGui
ui(new Ui::CInitialDataLoadComponent)
{
ui->setupUi(this);
ui->comp_DataUpdates->showVisibleLoadAllButtons(true, false);
ui->comp_DataUpdates->showVisibleLoadAllButtons(true, false, true);
}
CInitialDataLoadComponent::~CInitialDataLoadComponent()

View File

@@ -51,7 +51,7 @@ namespace BlackGui
this->tabBar()->setUsesScrollButtons(true);
this->setCurrentIndex(0); // 1st tab
ui->comp_DataLoadOverview->showVisibleDbRefreshButtons(CBuildConfig::isDebugBuild() || sGui->isDeveloperFlagSet());
ui->comp_DataLoadOverview->showVisibleLoadAllButtons(false, false);
ui->comp_DataLoadOverview->showVisibleLoadAllButtons(false, false, false);
connect(ui->comp_SettingsGuiGeneral, &CSettingsGuiComponent::changedWindowsOpacity, this, &CSettingsComponent::changedWindowsOpacity);
connect(ui->pb_Advanced, &QPushButton::released, this, &CSettingsComponent::onOverviewButtonClicked);