mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-31 04:25:35 +08:00
Ref T607, detect mappings from quick mapping wizard
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
#include <QScopedPointerDeleteLater>
|
||||
#include <QString>
|
||||
#include <QUrl>
|
||||
#include <QByteArray>
|
||||
#include <QtGlobal>
|
||||
|
||||
using namespace BlackMisc;
|
||||
@@ -45,12 +46,12 @@ namespace BlackCore
|
||||
// void
|
||||
}
|
||||
|
||||
CStatusMessageList CDatabaseWriter::asyncPublishModel(const CAircraftModel &model)
|
||||
CStatusMessageList CDatabaseWriter::asyncPublishModel(const CAircraftModel &model, const QString &extraInfo)
|
||||
{
|
||||
return this->asyncPublishModels(CAircraftModelList({ model }));
|
||||
return this->asyncPublishModels(CAircraftModelList({ model }), extraInfo);
|
||||
}
|
||||
|
||||
CStatusMessageList CDatabaseWriter::asyncPublishModels(const CAircraftModelList &models)
|
||||
CStatusMessageList CDatabaseWriter::asyncPublishModels(const CAircraftModelList &models, const QString &extraInfo)
|
||||
{
|
||||
CStatusMessageList msgs;
|
||||
if (m_shutdown || !sApp)
|
||||
@@ -80,6 +81,7 @@ namespace BlackCore
|
||||
const bool compress = models.size() > 3;
|
||||
QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType, this);
|
||||
multiPart->append(CDatabaseUtils::getJsonTextMultipart(models.toDatabaseJson(), compress));
|
||||
|
||||
if (sApp->getGlobalSetup().dbDebugFlag())
|
||||
{
|
||||
multiPart->append(CDatabaseUtils::getMultipartWithDebugFlag());
|
||||
@@ -89,6 +91,8 @@ namespace BlackCore
|
||||
if (compress) { url.setQuery(CDatabaseUtils::getCompressedQuery()); }
|
||||
QNetworkRequest request(url);
|
||||
CNetworkUtils::ignoreSslVerification(request);
|
||||
const QByteArray eInfo = extraInfo.toLatin1();
|
||||
request.setRawHeader(QByteArray("swift-extrainfo"), eInfo);
|
||||
const int logId = m_writeLog.addPendingUrl(url);
|
||||
m_pendingModelPublishReply = sApp->postToNetwork(request, logId, multiPart, { this, &CDatabaseWriter::postedModelsResponse});
|
||||
m_modelReplyPendingSince = QDateTime::currentMSecsSinceEpoch();
|
||||
|
||||
@@ -38,10 +38,10 @@ namespace BlackCore
|
||||
CDatabaseWriter(const BlackMisc::Network::CUrl &baseUrl, QObject *parent);
|
||||
|
||||
//! Write model to DB
|
||||
BlackMisc::CStatusMessageList asyncPublishModel(const BlackMisc::Simulation::CAircraftModel &model);
|
||||
BlackMisc::CStatusMessageList asyncPublishModel(const BlackMisc::Simulation::CAircraftModel &model, const QString &extraInfo);
|
||||
|
||||
//! Write models to DB
|
||||
BlackMisc::CStatusMessageList asyncPublishModels(const BlackMisc::Simulation::CAircraftModelList &models);
|
||||
BlackMisc::CStatusMessageList asyncPublishModels(const BlackMisc::Simulation::CAircraftModelList &models, const QString &extraInfo);
|
||||
|
||||
//! Write auto publis data
|
||||
BlackMisc::CStatusMessageList asyncAutoPublish(const BlackMisc::Simulation::CAutoPublishData &data);
|
||||
|
||||
@@ -165,7 +165,7 @@ namespace BlackCore
|
||||
|
||||
CStatusMessageList CWebDataServices::asyncPublishModels(const CAircraftModelList &modelsToBePublished) const
|
||||
{
|
||||
if (m_databaseWriter) { return m_databaseWriter->asyncPublishModels(modelsToBePublished);}
|
||||
if (m_databaseWriter) { return m_databaseWriter->asyncPublishModels(modelsToBePublished, "");}
|
||||
return CStatusMessageList();
|
||||
}
|
||||
|
||||
|
||||
@@ -19,11 +19,13 @@
|
||||
#include "blackcore/context/contextsimulator.h"
|
||||
#include "blackcore/db/databasewriter.h"
|
||||
#include "blackcore/webdataservices.h"
|
||||
#include "blackconfig/buildconfig.h"
|
||||
|
||||
#include <QStringBuilder>
|
||||
|
||||
using namespace BlackCore;
|
||||
using namespace BlackCore::Db;
|
||||
using namespace BlackConfig;
|
||||
using namespace BlackMisc;
|
||||
using namespace BlackMisc::Aviation;
|
||||
using namespace BlackMisc::Simulation;
|
||||
@@ -376,8 +378,16 @@ namespace BlackGui
|
||||
|
||||
void CDbQuickMappingWizard::writeModelToDb()
|
||||
{
|
||||
if (!sGui || sGui->isShuttingDown() || !sGui->getWebDataServices() || !sGui->getWebDataServices()->getDatabaseWriter()) { return; }
|
||||
this->consolidateModelWithUIData();
|
||||
const CStatusMessageList msgs = sGui->getWebDataServices()->getDatabaseWriter()->asyncPublishModel(m_model);
|
||||
|
||||
// make sure the model is correctly excluded for XP etc.
|
||||
static const QString qmw(u"[swift QMW " % CBuildConfig::getVersionString() % u"]");
|
||||
if (m_model.getSimulator().isXPlane()) { m_model.setModelMode(CAircraftModel::Exclude); }
|
||||
m_model.setVersion(CBuildConfig::getVersionString());
|
||||
const QString extraInfo = QString(m_model.getDescription() % u" " % qmw).simplified().trimmed();
|
||||
|
||||
const CStatusMessageList msgs = sGui->getWebDataServices()->getDatabaseWriter()->asyncPublishModel(m_model, extraInfo);
|
||||
ui->comp_Log->appendStatusMessagesToList(msgs);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user