Ref T516 Update CStatusMessage call sites to use new syntax.

This commit is contained in:
Mat Sutcliffe
2019-01-19 23:08:15 +00:00
parent 8599cbbd23
commit fe7a45afcf
48 changed files with 195 additions and 188 deletions

View File

@@ -725,14 +725,14 @@ namespace BlackCore
CStatusMessage msg;
if (reply->error() != QNetworkReply::NoError)
{
msg = CStatusMessage(this, CStatusMessage::SeverityError, "Download for '%1' failed: '%2'") << url.getFullUrl() << nwReply->errorString();
msg = CStatusMessage(this, CStatusMessage::SeverityError, u"Download for '%1' failed: '%2'") << url.getFullUrl() << nwReply->errorString();
}
else
{
const bool ok = CFileUtils::writeByteArrayToFile(reply->readAll(), saveAsFileName);
msg = ok ?
CStatusMessage(this, CStatusMessage::SeverityInfo, "Saved file '%1' downloaded from '%2'") << saveAsFileName << url.getFullUrl() :
CStatusMessage(this, CStatusMessage::SeverityError, "Saving file '%1' downloaded from '%2' failed") << saveAsFileName << url.getFullUrl();
CStatusMessage(this, CStatusMessage::SeverityInfo, u"Saved file '%1' downloaded from '%2'") << saveAsFileName << url.getFullUrl() :
CStatusMessage(this, CStatusMessage::SeverityError, u"Saving file '%1' downloaded from '%2' failed") << saveAsFileName << url.getFullUrl();
}
nwReply->close();
QTimer::singleShot(0, callback.object(), [ = ]

View File

@@ -92,7 +92,7 @@ namespace BlackCore
const CStatusMessage &CContext::statusMessageEmptyContext()
{
static const CStatusMessage m(getLogCategories(), CStatusMessage::SeverityWarning, "empty context");
static const CStatusMessage m(getLogCategories(), CStatusMessage::SeverityWarning, u"empty context");
return m;
}
} // ns

View File

@@ -40,6 +40,7 @@
#include "contextnetworkimpl.h"
#include <stdbool.h>
#include <QStringBuilder>
#include <QTimer>
using namespace BlackConfig;
@@ -205,11 +206,11 @@ namespace BlackCore
{
if (this->isDebugEnabled()) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }
QString msg;
if (!server.getUser().hasCredentials()) { return CStatusMessage({ CLogCategory::validation() }, CStatusMessage::SeverityError, "Invalid user credentials"); }
if (!this->ownAircraft().getAircraftIcaoCode().hasDesignator()) { return CStatusMessage({ CLogCategory::validation() }, CStatusMessage::SeverityError, "Invalid ICAO data for own aircraft"); }
if (!server.getUser().hasCredentials()) { return CStatusMessage({ CLogCategory::validation() }, CStatusMessage::SeverityError, u"Invalid user credentials"); }
if (!this->ownAircraft().getAircraftIcaoCode().hasDesignator()) { return CStatusMessage({ CLogCategory::validation() }, CStatusMessage::SeverityError, u"Invalid ICAO data for own aircraft"); }
if (!CNetworkUtils::canConnect(server, msg, 5000)) { return CStatusMessage(CStatusMessage::SeverityError, msg); }
if (m_network->isConnected()) { return CStatusMessage({ CLogCategory::validation() }, CStatusMessage::SeverityError, "Already connected"); }
if (this->isPendingConnection()) { return CStatusMessage({ CLogCategory::validation() }, CStatusMessage::SeverityError, "Pending connection, please wait"); }
if (m_network->isConnected()) { return CStatusMessage({ CLogCategory::validation() }, CStatusMessage::SeverityError, u"Already connected"); }
if (this->isPendingConnection()) { return CStatusMessage({ CLogCategory::validation() }, CStatusMessage::SeverityError, u"Pending connection, please wait"); }
m_currentStatus = INetwork::Connecting; // as semaphore we are going to connect
this->getIContextOwnAircraft()->updateOwnAircraftPilot(server.getUser());
@@ -231,7 +232,7 @@ namespace BlackCore
const CSimulatorPluginInfo sim = this->getIContextSimulator() ? this->getIContextSimulator()->getSimulatorPluginInfo() : CSimulatorPluginInfo();
m_network->presetSimulatorInfo(sim);
m_network->initiateConnection();
return CStatusMessage({ CLogCategory::validation() }, CStatusMessage::SeverityInfo, "Connection pending " + server.getAddress() + " " + QString::number(server.getPort()));
return CStatusMessage({ CLogCategory::validation() }, CStatusMessage::SeverityInfo, u"Connection pending " % server.getAddress() % u' ' % QString::number(server.getPort()));
}
CServer CContextNetwork::getConnectedServer() const
@@ -253,11 +254,11 @@ namespace BlackCore
m_currentStatus = INetwork::Disconnecting; // as semaphore we are going to disconnect
m_currentMode = INetwork::LoginNormal;
m_network->terminateConnection();
return CStatusMessage({ CLogCategory::validation() }, CStatusMessage::SeverityInfo, "Connection terminating");
return CStatusMessage({ CLogCategory::validation() }, CStatusMessage::SeverityInfo, u"Connection terminating");
}
else
{
return CStatusMessage({ CLogCategory::validation() }, CStatusMessage::SeverityWarning, "Already disconnected");
return CStatusMessage({ CLogCategory::validation() }, CStatusMessage::SeverityWarning, u"Already disconnected");
}
}

View File

@@ -37,6 +37,7 @@
#include "contextsimulatorimpl.h"
#include <QMetaObject>
#include <QStringBuilder>
#include <QStringList>
#include <QThread>
#include <Qt>
@@ -880,21 +881,21 @@ namespace BlackCore
CStatusMessageList msgs;
if (!simulator.isFsxP3DFamily())
{
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityError, "Wrong simulator " + simulator.toQString()));
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityError, u"Wrong simulator " % simulator.toQString()));
return msgs;
}
const QStringList modelDirs = m_simulatorSettings.getModelDirectoriesOrDefault(simulator);
if (modelDirs.isEmpty() || modelDirs.front().isEmpty())
{
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityError, "No model directory"));
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityError, u"No model directory"));
return msgs;
}
const int copied = CFsCommonUtil::copyFsxTerrainProbeFiles(modelDirs.front(), msgs);
if (copied < 1 && !msgs.hasWarningOrErrorMessages())
{
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityError, "No files copied"));
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityError, u"No files copied"));
return msgs;
}

View File

@@ -38,6 +38,7 @@
#include <QDBusError>
#include <QMap>
#include <QObject>
#include <QStringBuilder>
#include <QString>
#include <QTime>
#include <QtGlobal>
@@ -58,10 +59,10 @@ namespace BlackCore
CStatusMessage CCoreFacade::tryToReconnectWithDBus()
{
if (m_shuttingDown) { return CStatusMessage(this, CStatusMessage::SeverityInfo, "Shutdown"); }
if (!m_config.requiresDBusConnection()) { return CStatusMessage(this, CStatusMessage::SeverityInfo, "Not DBus based"); }
if (m_shuttingDown) { return CStatusMessage(this, CStatusMessage::SeverityInfo, u"Shutdown"); }
if (!m_config.requiresDBusConnection()) { return CStatusMessage(this, CStatusMessage::SeverityInfo, u"Not DBus based"); }
const QString dBusAddress = this->getDBusAddress();
if (dBusAddress.isEmpty()) { return CStatusMessage(this, CStatusMessage::SeverityInfo, "Not DBus based, no address"); }
if (dBusAddress.isEmpty()) { return CStatusMessage(this, CStatusMessage::SeverityInfo, u"Not DBus based, no address"); }
QString connectMsg;
if (!CContextApplicationProxy::isContextResponsive(dBusAddress, connectMsg))
{
@@ -74,7 +75,7 @@ namespace BlackCore
this->init();
// success
return CStatusMessage(this, CStatusMessage::SeverityInfo, "Re-initialized via '%1'") << dBusAddress;
return CStatusMessage(this, CStatusMessage::SeverityInfo, u"Re-initialized via '%1'") << dBusAddress;
}
void CCoreFacade::init()

View File

@@ -13,6 +13,7 @@
#include "blackmisc/network/networkutils.h"
#include "blackmisc/logmessage.h"
#include <QStringBuilder>
#include <QNetworkReply>
#include <QFileInfo>
#include <QPointer>
@@ -220,7 +221,7 @@ namespace BlackCore
if (!inconsistent.isEmpty())
{
logInconsistentData(
CStatusMessage(this, CStatusMessage::SeverityInfo, "Inconsistent airports: " + inconsistent.dbKeysAsString(", ")),
CStatusMessage(this, CStatusMessage::SeverityInfo, u"Inconsistent airports: " % inconsistent.dbKeysAsString(", ")),
Q_FUNC_INFO);
}

View File

@@ -66,12 +66,12 @@ namespace BlackCore
CStatusMessageList msgs;
static const CLogCategoryList cats(CLogCategoryList(this).join({ CLogCategory::validation()}));
if (m_shutdown) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, "Shutdown in progress")); return msgs; }
if (m_shutdown) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Shutdown in progress")); return msgs; }
const QString un(username.trimmed());
const QString pw(password.trimmed());
if (un.isEmpty()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, "No user name/id")); }
if (pw.isEmpty()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, "No password")); }
if (un.isEmpty()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"No user name/id")); }
if (pw.isEmpty()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"No password")); }
if (!msgs.isEmpty()) { return msgs; }
const CUrl url(sApp->getGlobalSetup().getDbLoginServiceUrl());
@@ -146,18 +146,18 @@ namespace BlackCore
{
if (!msgs.hasErrorMessages())
{
msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, "Cannot login, user or password wrong"));
msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Cannot login, user or password wrong"));
}
}
else
{
if (!user.isEnabled())
{
msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, "User is disabled"));
msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"User is disabled"));
}
if (user.getRoles().isEmpty())
{
msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, "User has no roles"));
msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"User has no roles"));
}
}
m_swiftDbUser.set(user);

View File

@@ -22,6 +22,7 @@
#include "blackmisc/logmessage.h"
#include "blackmisc/verify.h"
#include <QStringBuilder>
#include <QByteArray>
#include <QJsonDocument>
#include <QJsonObject>
@@ -242,7 +243,7 @@ namespace BlackCore
datastoreResponse.setStringSize(dataFileData.size());
if (dataFileData.isEmpty())
{
datastoreResponse.setMessage(CStatusMessage(this, CStatusMessage::SeverityError, "Empty response, no data"));
datastoreResponse.setMessage(CStatusMessage(this, CStatusMessage::SeverityError, u"Empty response, no data"));
}
else
{
@@ -267,7 +268,7 @@ namespace BlackCore
if (!this->doWorkCheck())
{
nwReply->abort();
headerResponse.setMessage(CStatusMessage(this, CStatusMessage::SeverityError, "Terminated data parsing process"));
headerResponse.setMessage(CStatusMessage(this, CStatusMessage::SeverityError, u"Terminated data parsing process"));
return false; // stop, terminate straight away, ending thread
}
@@ -284,7 +285,7 @@ namespace BlackCore
const QString url(nwReply->url().toString());
nwReply->abort();
headerResponse.setMessage(CStatusMessage(this, CStatusMessage::SeverityError,
QString("Reading data failed: '" + error + "' " + url)));
u"Reading data failed: '" % error % u"' " % url));
return false;
}
}
@@ -504,7 +505,7 @@ namespace BlackCore
void CDatabaseReader::logNoWorkingUrl(CEntityFlags::Entity entity)
{
const CStatusMessage msg = CStatusMessage(this, m_severityNoWorkingUrl, "No working URL for '%1'") << CEntityFlags::flagToString(entity);
const CStatusMessage msg = CStatusMessage(this, m_severityNoWorkingUrl, u"No working URL for '%1'") << CEntityFlags::flagToString(entity);
CLogMessage::preformatted(msg);
}

View File

@@ -17,6 +17,7 @@
#include "blackmisc/network/networkutils.h"
#include "blackmisc/statusmessage.h"
#include <QStringBuilder>
#include <QHttpMultiPart>
#include <QNetworkReply>
#include <QNetworkRequest>
@@ -53,7 +54,7 @@ namespace BlackCore
CStatusMessageList msgs;
if (m_shutdown)
{
msgs.push_back(CStatusMessage(CStatusMessage::SeverityWarning, "Database writer shuts down"));
msgs.push_back(CStatusMessage(CStatusMessage::SeverityWarning, u"Database writer shuts down"));
return msgs;
}
@@ -62,7 +63,7 @@ namespace BlackCore
const bool killed = this->killPendingReply();
if (killed)
{
const CStatusMessage msg(CStatusMessage::SeverityWarning, "Aborted outdated pending reply");
const CStatusMessage msg(CStatusMessage::SeverityWarning, u"Aborted outdated pending reply");
msgs.push_back(CStatusMessage(msg));
// need to let a potential receiver know it has failed
emit this->publishedModels(CAircraftModelList(), CAircraftModelList(), msg, false, false);
@@ -71,7 +72,7 @@ namespace BlackCore
if (m_pendingReply)
{
msgs.push_back(CStatusMessage(CStatusMessage::SeverityWarning, "Another write operation in progress"));
msgs.push_back(CStatusMessage(CStatusMessage::SeverityWarning, u"Another write operation in progress"));
return msgs;
}
@@ -124,7 +125,7 @@ namespace BlackCore
nwReply->close(); // close asap
if (dataFileData.isEmpty())
{
const CStatusMessageList msgs({CStatusMessage(cats, CStatusMessage::SeverityError, "No response data from " + urlString)});
const CStatusMessageList msgs({CStatusMessage(cats, CStatusMessage::SeverityError, u"No response data from " % urlString)});
emit this->publishedModels(CAircraftModelList(), CAircraftModelList(), msgs, false, false);
return;
}
@@ -146,7 +147,7 @@ namespace BlackCore
{
const QString error = nwReply->errorString();
nwReply->close(); // close asap
const CStatusMessageList msgs( {CStatusMessage(cats, CStatusMessage::SeverityError, "HTTP error: " + error)});
const CStatusMessageList msgs( {CStatusMessage(cats, CStatusMessage::SeverityError, u"HTTP error: " % error)});
emit this->publishedModels(CAircraftModelList(), CAircraftModelList(), msgs, false, false);
}
}

View File

@@ -16,6 +16,7 @@
#include "blackmisc/logmessage.h"
#include "blackmisc/statusmessage.h"
#include <QStringBuilder>
#include <QDateTime>
#include <QDir>
#include <QFlags>
@@ -292,7 +293,7 @@ namespace BlackCore
if (!inconsistent.isEmpty())
{
logInconsistentData(
CStatusMessage(this, CStatusMessage::SeverityInfo, "Inconsistent aircraft codes: " + inconsistent.dbKeysAsString(", ")),
CStatusMessage(this, CStatusMessage::SeverityInfo, u"Inconsistent aircraft codes: " % inconsistent.dbKeysAsString(", ")),
Q_FUNC_INFO);
}
@@ -347,7 +348,7 @@ namespace BlackCore
if (!inconsistent.isEmpty())
{
logInconsistentData(
CStatusMessage(this, CStatusMessage::SeverityInfo, "Inconsistent airline codes: " + inconsistent.dbKeysAsString(", ")),
CStatusMessage(this, CStatusMessage::SeverityInfo, u"Inconsistent airline codes: " % inconsistent.dbKeysAsString(", ")),
Q_FUNC_INFO);
}

View File

@@ -20,6 +20,7 @@
#include "blackmisc/network/url.h"
#include "blackmisc/statusmessage.h"
#include <QStringBuilder>
#include <QByteArray>
#include <QFile>
#include <QPointer>
@@ -70,15 +71,15 @@ namespace BlackCore
const CGlobalSetup cachedSetup = m_setup.get();
const bool cacheAvailable = cachedSetup.wasLoaded();
msgs.push_back(cacheAvailable ?
CStatusMessage(this, CStatusMessage::SeverityInfo, "Cached setup synchronized and contains data") :
CStatusMessage(this, CStatusMessage::SeverityInfo, "Cached setup synchronized, but no data in cache"));
CStatusMessage(this, CStatusMessage::SeverityInfo, u"Cached setup synchronized and contains data") :
CStatusMessage(this, CStatusMessage::SeverityInfo, u"Cached setup synchronized, but no data in cache"));
if (m_bootstrapMode == CacheOnly)
{
m_updateInfoUrls = cachedSetup.getSwiftUpdateInfoFileUrls(); // we use the info URLs from cached setup
msgs.push_back(cacheAvailable ?
CStatusMessage(this, CStatusMessage::SeverityInfo, "Cache only setup, using it as it is") :
CStatusMessage(this, CStatusMessage::SeverityError, "Cache only setup, but cache is empty"));
CStatusMessage(this, CStatusMessage::SeverityInfo, u"Cache only setup, using it as it is") :
CStatusMessage(this, CStatusMessage::SeverityError, u"Cache only setup, but cache is empty"));
msgs.push_back(this->manageSetupAvailability(false, false)); // treat cache as local read
return msgs;
}
@@ -101,21 +102,21 @@ namespace BlackCore
const CUrlList bootstrapCacheUrls(cachedSetup.getSwiftBootstrapFileUrls());
m_bootstrapUrls.push_back(bootstrapCacheUrls);
msgs.push_back(bootstrapCacheUrls.isEmpty() ?
CStatusMessage(this, CStatusMessage::SeverityWarning, "No bootstrap URLs in cache") :
CStatusMessage(this, CStatusMessage::SeverityInfo, "Adding " + QString::number(bootstrapCacheUrls.size()) + " bootstrap URLs from cache"));
CStatusMessage(this, CStatusMessage::SeverityWarning, u"No bootstrap URLs in cache") :
CStatusMessage(this, CStatusMessage::SeverityInfo, u"Adding " % QString::number(bootstrapCacheUrls.size()) % u" bootstrap URLs from cache"));
}
}
else
{
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityInfo, "Empty cache, will not add URLs from cache"));
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityInfo, u"Empty cache, will not add URLs from cache"));
}
m_bootstrapUrls.removeDuplicates(); // clean up
if (m_bootstrapUrls.isEmpty())
{
// after all still empty
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityInfo, "Your log files are here: " + CDirectoryUtils::logDirectory()));
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityError, "No bootstrap URLs, cannot load setup"));
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityInfo, u"Your log files are here: " % CDirectoryUtils::logDirectory()));
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityError, u"No bootstrap URLs, cannot load setup"));
}
else
{
@@ -124,7 +125,7 @@ namespace BlackCore
{
// error, but cache is available, we can continue
readMsgs.clampSeverity(CStatusMessage::SeverityWarning);
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityWarning, "Loading setup failed, but cache is available, will continue"));
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityWarning, u"Loading setup failed, but cache is available, will continue"));
msgs.push_back(readMsgs);
}
else
@@ -217,10 +218,10 @@ namespace BlackCore
CStatusMessageList CSetupReader::triggerReadSetup()
{
if (!sApp || m_shutdown) { return CStatusMessage(this, CStatusMessage::SeverityError, "shutdown"); }
if (!sApp || m_shutdown) { return CStatusMessage(this, CStatusMessage::SeverityError, u"shutdown"); }
if (m_bootstrapUrls.isEmpty())
{
const CStatusMessage m(this, CStatusMessage::SeverityError, "No bootstrap URLs");
const CStatusMessage m(this, CStatusMessage::SeverityError, u"No bootstrap URLs");
CStatusMessageList msgs(m);
this->setLastSetupReadErrorMessages(msgs);
return msgs;
@@ -230,7 +231,7 @@ namespace BlackCore
const CGlobalSetup setup = m_setup.get();
if (m_setup.lastUpdatedAge() < 5000 && setup.wasLoadedFromWeb()) // really loaded from web
{
const CStatusMessage m(this, CStatusMessage::SeverityInfo, "Update info just updated, skip read");
const CStatusMessage m(this, CStatusMessage::SeverityInfo, u"Update info just updated, skip read");
CStatusMessageList msgs(m);
this->setLastSetupReadErrorMessages(msgs);
return msgs;
@@ -242,12 +243,12 @@ namespace BlackCore
CUrl url = randomUrls.front();
if (!url.isEmpty())
{
m1 = CStatusMessage(this, CStatusMessage::SeverityInfo, "Start reading bootstrap 1st URL: " + url.toQString());
m1 = CStatusMessage(this, CStatusMessage::SeverityInfo, u"Start reading bootstrap 1st URL: " % url.toQString());
sApp->getFromNetwork(url.toNetworkRequest(), { this, &CSetupReader::parseBootstrapFile }, { this, &CSetupReader::networkReplyProgress });
}
else
{
m1 = CStatusMessage(this, CStatusMessage::SeverityError, "First bootstrap URL is empty");
m1 = CStatusMessage(this, CStatusMessage::SeverityError, u"First bootstrap URL is empty");
}
emit this->setupLoadingMessages(m1);
@@ -255,7 +256,7 @@ namespace BlackCore
url = randomUrls.back();
if (!url.isEmpty())
{
m2 = CStatusMessage(this, CStatusMessage::SeverityInfo, "Will also trigger deferred bootstrap reading 2nd URL: " + url.toQString());
m2 = CStatusMessage(this, CStatusMessage::SeverityInfo, u"Will also trigger deferred bootstrap reading 2nd URL: " % url.toQString());
QPointer<CSetupReader> myself(this);
QTimer::singleShot(2000, this, [ = ]
{
@@ -271,7 +272,7 @@ namespace BlackCore
}
else
{
m2 = CStatusMessage(this, CStatusMessage::SeverityWarning, "2nd bootstrap URL is empty");
m2 = CStatusMessage(this, CStatusMessage::SeverityWarning, u"2nd bootstrap URL is empty");
}
CStatusMessageList msgs({m1, m2});
@@ -297,11 +298,11 @@ namespace BlackCore
if (!sApp || m_shutdown) { return; }
CUrl url = randomUrls.front();
const CStatusMessage m1(this, CStatusMessage::SeverityInfo, "Start reading update info 1st URL: " + url.toQString());
const CStatusMessage m1(this, CStatusMessage::SeverityInfo, u"Start reading update info 1st URL: " % url.toQString());
sApp->getFromNetwork(url.toNetworkRequest(), { this, &CSetupReader::parseUpdateInfoFile }, { this, &CSetupReader::networkReplyProgress });
url = randomUrls.back();
const CStatusMessage m2(this, CStatusMessage::SeverityInfo, "Will also trigger deferred update info reading 2nd URL: " + url.toQString());
const CStatusMessage m2(this, CStatusMessage::SeverityInfo, u"Will also trigger deferred update info reading 2nd URL: " % url.toQString());
QPointer<CSetupReader> myself(this);
QTimer::singleShot(2000, this, [ = ]
{
@@ -699,14 +700,14 @@ namespace BlackCore
if (available && !webRead && !localRead)
{
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityInfo, "Setup available, but not updated this time"));
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityInfo, u"Setup available, but not updated this time"));
}
else if (!available)
{
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityError, "Setup not available"));
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityError, u"Setup not available"));
if (m_bootstrapMode == Explicit)
{
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityError, "Mode is 'explicit', likely URL '" + m_bootstrapUrlFileValue + "' is not reachable"));
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityError, u"Mode is 'explicit', likely URL '" % m_bootstrapUrlFileValue % u"' is not reachable"));
}
}
m_setupAvailable = available;

View File

@@ -30,6 +30,7 @@
#include "blackmisc/statusmessage.h"
#include "blackmisc/verify.h"
#include <QStringBuilder>
#include <QByteArray>
#include <QDateTime>
#include <QMetaObject>
@@ -415,7 +416,7 @@ namespace BlackCore
if (!illegalEquipmentCodes.isEmpty())
{
CVatsimDataFileReader::logInconsistentData(
CStatusMessage(this, CStatusMessage::SeverityInfo, "Illegal / ignored equipment code(s) in VATSIM data file: " + illegalEquipmentCodes.join(", "))
CStatusMessage(this, CStatusMessage::SeverityInfo, u"Illegal / ignored equipment code(s) in VATSIM data file: " % illegalEquipmentCodes.join(", "))
);
}
@@ -449,8 +450,7 @@ namespace BlackCore
if (clientParts.size() != clientSectionAttributes.size())
{
logInconsistentData(
CStatusMessage(static_cast<CVatsimDataFileReader *>(nullptr), CStatusMessage::SeverityInfo, QStringLiteral("VATSIM data file client parts: %1 attributes: %2 line: '%3'").arg(clientParts.size()).arg(clientSectionAttributes.size()).arg(currentLine))
);
CStatusMessage(static_cast<CVatsimDataFileReader *>(nullptr), CStatusMessage::SeverityInfo, u"VATSIM data file client parts: %1 attributes: %2 line: '%3'") << clientParts.size() << clientSectionAttributes.size() << currentLine);
return parts;
}

View File

@@ -900,7 +900,7 @@ namespace BlackCore
continue;
}
if (ignoreEqual) { equalMessages.warningToError(); }
msgs.push_back(CStatusMessage(this, ignoreEqual ? CStatusMessage::SeverityError : CStatusMessage::SeverityWarning, "Model: '%1', there is no change") << publishModel.getModelString());
msgs.push_back(CStatusMessage(this, ignoreEqual ? CStatusMessage::SeverityError : CStatusMessage::SeverityWarning, u"Model: '%1', there is no change") << publishModel.getModelString());
if (ignoreEqual)
{
invalidModels.push_back(publishModel);

View File

@@ -92,7 +92,7 @@ namespace BlackGui
if (!this->currentModelView())
{
const CStatusMessage m(this, CStatusMessage::SeverityError, "No data for simulator updating");
const CStatusMessage m(this, CStatusMessage::SeverityError, u"No data for simulator updating");
this->addStatusMessage(m);
}
else

View File

@@ -32,6 +32,7 @@
#include <QLineEdit>
#include <QProgressBar>
#include <QRadioButton>
#include <QStringBuilder>
#include <QString>
#include <QWidget>
#include <Qt>
@@ -100,7 +101,7 @@ namespace BlackGui
{
if (this->getSelectedOrAllCount() < 1)
{
const CStatusMessage m(this, CStatusMessage::SeverityError, "No data, nothing to do");
const CStatusMessage m(this, CStatusMessage::SeverityError, u"No data, nothing to do");
this->addStatusMessage(m);
QDialog::accept();
}
@@ -146,7 +147,7 @@ namespace BlackGui
if (!this->currentModelView())
{
const CStatusMessage m(this, CStatusMessage::SeverityError, "No data for auto stashing");
const CStatusMessage m(this, CStatusMessage::SeverityError, u"No data for auto stashing");
this->addStatusMessage(m);
}
else
@@ -157,12 +158,12 @@ namespace BlackGui
QString allStr(QString::number(all));
if (all > CDbStashComponent::MaxModelPublished)
{
allStr += " (Max." + QString::number(CDbStashComponent::MaxModelPublished) + ")";
allStr += u" (Max." % QString::number(CDbStashComponent::MaxModelPublished) % u")";
}
ui->le_All->setText(allStr);
if (ui->le_MaxModelsStashed->text().isEmpty())
{
ui->le_MaxModelsStashed->setText(all > 100 ? "100" : "");
ui->le_MaxModelsStashed->setText(all > 100 ? QStringLiteral("100") : QString());
}
if (selected > 0)
{
@@ -304,14 +305,14 @@ namespace BlackGui
//! Some upfront tests
if (!model.hasModelString())
{
this->addStatusMessage(CStatusMessage(this, CStatusMessage::SeverityError, "No model string"));
this->addStatusMessage(CStatusMessage(this, CStatusMessage::SeverityError, u"No model string"));
m_noData++;
return false;
}
if (!model.hasAircraftDesignator())
{
this->addStatusMessage(CStatusMessage(this, CStatusMessage::SeverityError, "No aircraft designator"), model);
this->addStatusMessage(CStatusMessage(this, CStatusMessage::SeverityError, u"No aircraft designator"), model);
m_noData++;
return false;
}
@@ -335,7 +336,7 @@ namespace BlackGui
// if there is no livery (normal) we need an airline
if (!fallback)
{
this->addStatusMessage(CStatusMessage(this, CStatusMessage::SeverityError, "No airline designator"), model);
this->addStatusMessage(CStatusMessage(this, CStatusMessage::SeverityError, u"No airline designator"), model);
m_noData++;
return false;
}
@@ -353,7 +354,7 @@ namespace BlackGui
}
else
{
msg = CStatusMessage(this, CStatusMessage::SeverityInfo, "Stashed succesfully");
msg = CStatusMessage(this, CStatusMessage::SeverityInfo, u"Stashed succesfully");
stashed = true;
m_noStashed++;
model = stashModel;

View File

@@ -36,6 +36,7 @@
#include <QIcon>
#include <QLineEdit>
#include <QPushButton>
#include <QStringBuilder>
#include <QString>
#include <QWidget>
#include <Qt>
@@ -162,7 +163,7 @@ namespace BlackGui
CStatusMessage CDbOwnModelSetComponent::addToModelSet(const CAircraftModelList &models, const CSimulatorInfo &simulator)
{
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "Need single simulator");
if (models.isEmpty()) { return CStatusMessage(this, CStatusMessage::SeverityInfo, "No data", true); }
if (models.isEmpty()) { return CStatusMessage(this, CStatusMessage::SeverityInfo, u"No data", true); }
if (!this->getModelSetSimulator().isSingleSimulator())
{
// no sim yet, we set it
@@ -172,7 +173,7 @@ namespace BlackGui
{
// only currently selected sim allowed
return CStatusMessage(this, CStatusMessage::SeverityError,
"Cannot add data for " + simulator.toQString(true) + " to " + this->getModelSetSimulator().toQString(true), true);
u"Cannot add data for " % simulator.toQString(true) % u" to " % this->getModelSetSimulator().toQString(true), true);
}
const bool allowExcludedModels = m_modelSettings.get().getAllowExcludedModels();
@@ -183,11 +184,11 @@ namespace BlackGui
if (!allowExcludedModels) { updateModels.removeIfExcluded(); }
updateModels.resetOrder();
ui->tvp_OwnModelSet->updateContainerMaybeAsync(updateModels);
return CStatusMessage(this, CStatusMessage::SeverityInfo, "Modified " + QString::number(d) + " entries in model set " + this->getModelSetSimulator().toQString(true), true);
return CStatusMessage(this, CStatusMessage::SeverityInfo, u"Modified " % QString::number(d) % u" entries in model set " % this->getModelSetSimulator().toQString(true), true);
}
else
{
return CStatusMessage(this, CStatusMessage::SeverityInfo, "No data modified in model set", true);
return CStatusMessage(this, CStatusMessage::SeverityInfo, u"No data modified in model set", true);
}
}

View File

@@ -195,11 +195,11 @@ namespace BlackGui
CStatusMessageList msgs;
if (requestSuccessful)
{
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityInfo, "Publishing request sent"));
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityInfo, u"Publishing request sent"));
}
else
{
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityError, "Publishing request failed"));
msgs.push_back(CStatusMessage(this, CStatusMessage::SeverityError, u"Publishing request failed"));
}
msgs.push_back(messages);
ui->comp_Log->appendStatusMessagesToList(msgs);
@@ -305,7 +305,7 @@ namespace BlackGui
CStatusMessageList msgs(ui->editor_AircraftModel->validate(true));
if (ui->le_ModelString->text().isEmpty())
{
const CStatusMessage error(this, CStatusMessage::SeverityError, "Missing model string", true);
const CStatusMessage error(this, CStatusMessage::SeverityError, u"Missing model string", true);
msgs.push_back(error);
}
return msgs;

View File

@@ -31,6 +31,7 @@
#include <QMessageBox>
#include <QPushButton>
#include <QWidget>
#include <QStringBuilder>
#include <Qt>
#include <QtGlobal>
#include <iterator>
@@ -211,7 +212,7 @@ namespace BlackGui
{
if (!icao.hasValidDesignator())
{
static const CStatusMessage msg(CStatusMessage::SeverityError, "No valid designator");
static const CStatusMessage msg(CStatusMessage::SeverityError, u"No valid designator");
this->showOverlayMessage(msg);
return;
}
@@ -220,7 +221,7 @@ namespace BlackGui
const CLivery stdLivery(sApp->getWebDataServices()->getStdLiveryForAirlineCode(icao));
if (!stdLivery.hasValidDbKey())
{
static const CStatusMessage msg(CStatusMessage::SeverityError, "No valid standard livery for " + icao.getDesignator());
static const CStatusMessage msg(CStatusMessage::SeverityError, u"No valid standard livery for " % icao.getDesignator());
this->showOverlayMessage(msg);
return;
}
@@ -283,7 +284,7 @@ namespace BlackGui
if (validModels.size() > MaxModelPublished)
{
validModels.truncate(MaxModelPublished);
msgs.push_back(CStatusMessage(validationCategories(), CStatusMessage::SeverityWarning, QStringLiteral("More than %1 values, values skipped").arg(MaxModelPublished)));
msgs.push_back(CStatusMessage(validationCategories(), CStatusMessage::SeverityWarning, u"More than %1 values, values skipped") << MaxModelPublished);
}
msgs.push_back(sGui->getWebDataServices()->asyncPublishModels(validModels));
@@ -340,7 +341,7 @@ namespace BlackGui
{
return CStatusMessageList(
{
CStatusMessage(validationCategories(), CStatusMessage::SeverityInfo, QStringLiteral("No errors in %1 model(s)").arg(models.size()))
CStatusMessage(validationCategories(), CStatusMessage::SeverityInfo, u"No errors in %1 model(s)") << models.size()
});
}
else

View File

@@ -509,7 +509,7 @@ namespace BlackGui
{
if (fileName.isEmpty())
{
m = CStatusMessage(this, CStatusMessage::SeverityDebug, "Save canceled", true);
m = CStatusMessage(this, CStatusMessage::SeverityDebug, u"Save canceled", true);
break;
}
CFlightPlan fp;
@@ -521,12 +521,12 @@ namespace BlackGui
const bool ok = CFileUtils::writeStringToFile(json, fileName);
if (ok)
{
m = CStatusMessage(this, CStatusMessage::SeverityInfo, "Written " + fileName, true);
m = CStatusMessage(this, CStatusMessage::SeverityInfo, u"Written " % fileName, true);
this->updateDirectorySettings(fileName);
}
else
{
m = CStatusMessage(this, CStatusMessage::SeverityError, "Writing " + fileName + " failed", true);
m = CStatusMessage(this, CStatusMessage::SeverityError, u"Writing " % fileName % u" failed", true);
}
}
while (false);

View File

@@ -662,7 +662,7 @@ namespace BlackGui
if (!this->hasValidContexts()) { return; }
if (!sGui->getIContextNetwork()->isConnected()) { return; } // nothing to logoff
const CStatusMessage m = CStatusMessage(this, CStatusMessage::SeverityInfo, "Auto logoff in progress");
const CStatusMessage m = CStatusMessage(this, CStatusMessage::SeverityInfo, u"Auto logoff in progress");
const int delaySecs = 45;
this->showOverlayHTMLMessage(m, qRound(1000 * delaySecs * 0.8));
this->setLogoffCountdown(delaySecs);

View File

@@ -33,6 +33,7 @@
#include <QDropEvent>
#include <QMap>
#include <QShortcut>
#include <QStringBuilder>
#include <QString>
#include <QWidget>
#include <QtGlobal>
@@ -362,12 +363,12 @@ namespace BlackGui
CStatusMessage CAircraftModelView::modifyLoadedJsonData(CAircraftModelList &models) const
{
if (m_loadingRequiresSimulator.isNoSimulator()) { return {}; }
if (models.isEmpty()) { return CStatusMessage(this, CStatusMessage::SeverityDebug, "Empty models", true); }
if (models.isEmpty()) { return CStatusMessage(this, CStatusMessage::SeverityDebug, u"Empty models", true); }
// multiple sims with same count
const int removed = models.removeIfNotMatchingSimulator(m_loadingRequiresSimulator);
if (removed < 1) { return {}; }
return CStatusMessage(this, CStatusMessage::SeverityWarning, "Reduced by %1 model(s) to only use %2 models", true) << removed << m_loadingRequiresSimulator.toQString(true);
return CStatusMessage(this, CStatusMessage::SeverityWarning, u"Reduced by %1 model(s) to only use %2 models", true) << removed << m_loadingRequiresSimulator.toQString(true);
}
CStatusMessage CAircraftModelView::validateLoadedJsonData(const CAircraftModelList &models) const
@@ -376,7 +377,7 @@ namespace BlackGui
if (m_loadingRequiresSimulator.isNoSimulator()) { return COrderableViewWithDbObjects::validateLoadedJsonData(models); }
if (models.containsNotMatchingSimulator(m_loadingRequiresSimulator))
{
return CStatusMessage(this, CStatusMessage::SeverityError, "Found entry not matching %1 in model data", true) << m_loadingRequiresSimulator.toQString();
return CStatusMessage(this, CStatusMessage::SeverityError, u"Found entry not matching %1 in model data", true) << m_loadingRequiresSimulator.toQString();
}
return COrderableViewWithDbObjects::validateLoadedJsonData(models);
}
@@ -421,7 +422,7 @@ namespace BlackGui
{
this->clearSelection();
}
sGui->displayInStatusBar(CStatusMessage(CStatusMessage::SeverityInfo, "Stashed " + models.getModelStringList(true).join(" ")));
sGui->displayInStatusBar(CStatusMessage(CStatusMessage::SeverityInfo, u"Stashed " % models.getModelStringList(true).join(" ")));
}
void CAircraftModelView::requestTempDisable()
@@ -430,7 +431,7 @@ namespace BlackGui
if (!this->hasSelection()) { return; }
const CAircraftModelList models(this->selectedObjects());
emit this->requestTempDisableModelsForMatching(models);
sGui->displayInStatusBar(CStatusMessage(CStatusMessage::SeverityInfo, "Temp.disabled " + models.getModelStringList(true).join(" ")));
sGui->displayInStatusBar(CStatusMessage(CStatusMessage::SeverityInfo, u"Temp.disabled " % models.getModelStringList(true).join(" ")));
}
void CAircraftModelView::displayModelStatisticsDialog()

View File

@@ -18,6 +18,7 @@
#include "blackmisc/aviation/callsign.h"
#include "blackmisc/icons.h"
#include <QStringBuilder>
#include <QPointer>
#include <QtGlobal>
@@ -177,7 +178,7 @@ namespace BlackGui
if (!this->hasSelection()) { return; }
const CAircraftModelList models(this->selectedObjects().getModels());
emit this->requestTempDisableModelsForMatching(models);
sGui->displayInStatusBar(CStatusMessage(CStatusMessage::SeverityInfo, "Temp.disabled " + models.getModelStringList(true).join(" ")));
sGui->displayInStatusBar(CStatusMessage(CStatusMessage::SeverityInfo, u"Temp.disabled " % models.getModelStringList(true).join(" ")));
}
void CSimulatedAircraftView::showPositionLogInSimulator()

View File

@@ -20,6 +20,7 @@
#include <QClipboard>
#include <QFileDialog>
#include <QTextEdit>
#include <QStringBuilder>
using namespace BlackMisc;
using namespace BlackGui;
@@ -666,7 +667,7 @@ namespace BlackGui
CStatusMessage CViewBase<T>::modifyLoadedJsonData(ContainerType &data) const
{
Q_UNUSED(data);
static const CStatusMessage e(this, CStatusMessage::SeverityInfo, "no modification", true);
static const CStatusMessage e(this, CStatusMessage::SeverityInfo, u"no modification", true);
return e;
}
@@ -674,7 +675,7 @@ namespace BlackGui
CStatusMessage CViewBase<T>::validateLoadedJsonData(const ContainerType &data) const
{
Q_UNUSED(data);
static const CStatusMessage e(this, CStatusMessage::SeverityInfo, "validation passed", true);
static const CStatusMessage e(this, CStatusMessage::SeverityInfo, u"validation passed", true);
return e;
}
@@ -801,15 +802,15 @@ namespace BlackGui
tr("Save data file"),
directory.isEmpty() ? this->getFileDialogFileName(false) : directory,
tr("swift (*.json *.txt)"));
if (fileName.isEmpty()) { return CStatusMessage(this, CStatusMessage::SeverityDebug, "Save canceled", true); }
if (fileName.isEmpty()) { return CStatusMessage(this, CStatusMessage::SeverityDebug, u"Save canceled", true); }
const QString json(this->toJsonString(QJsonDocument::Indented, selectedOnly)); // save as CVariant JSON
// save file
const bool ok = CFileUtils::writeStringToFileInBackground(json, fileName);
if (ok) { this->rememberLastJsonDirectory(fileName); }
return ok ?
CStatusMessage(this, CStatusMessage::SeverityInfo, "Writing " + fileName + " in progress", true) :
CStatusMessage(this, CStatusMessage::SeverityError, "Writing " + fileName + " failed", true);
CStatusMessage(this, CStatusMessage::SeverityInfo, u"Writing " % fileName % u" in progress", true) :
CStatusMessage(this, CStatusMessage::SeverityError, u"Writing " % fileName % u" failed", true);
}
template<class T>

View File

@@ -30,7 +30,7 @@ namespace BlackMisc
{
static const CLogCategoryList cats(CLogCategoryList(this).join({ CLogCategory::validation()}));
CStatusMessageList msgs;
if (this->getVatsimUdpVoicePort() < 1 || this->getVatsimUdpVoicePort() > 65535) { msgs.push_back(CStatusMessage(CStatusMessage::SeverityError, "Invalid voice port")); }
if (this->getVatsimUdpVoicePort() < 1 || this->getVatsimUdpVoicePort() > 65535) { msgs.push_back(CStatusMessage(CStatusMessage::SeverityError, u"Invalid voice port")); }
msgs.addCategories(cats);
return msgs;
}

View File

@@ -113,11 +113,11 @@ namespace BlackMisc
if (this->getDesignator() == this->getUnassignedDesignator()) { return msg; } // DB ZZZZ
}
if (!hasKnownDesignator()) { msg.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, "Aircraft ICAO: unknown designator")); }
if (!hasValidCombinedType()) { msg.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, "Aircraft ICAO: invalid combined type")); }
if (!hasValidWtc()) { msg.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, "Aircraft ICAO: wrong WTC")); }
if (!hasManufacturer()) { msg.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, "Aircraft ICAO: missing manufacturer")); }
if (!hasModelDescription()) { msg.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, "Aircraft ICAO: no description")); }
if (!hasKnownDesignator()) { msg.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Aircraft ICAO: unknown designator")); }
if (!hasValidCombinedType()) { msg.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Aircraft ICAO: invalid combined type")); }
if (!hasValidWtc()) { msg.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Aircraft ICAO: wrong WTC")); }
if (!hasManufacturer()) { msg.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Aircraft ICAO: missing manufacturer")); }
if (!hasModelDescription()) { msg.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Aircraft ICAO: no description")); }
return msg;
}

View File

@@ -265,9 +265,9 @@ namespace BlackMisc
{
static const CLogCategoryList cats(CLogCategoryList(this).join({ CLogCategory::validation() }));
CStatusMessageList msgs;
if (!hasValidDesignator()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, "Airline: missing designator")); }
if (!hasValidCountry()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, "Airline: missing country")); }
if (!hasName()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, "Airline: no name")); }
if (!hasValidDesignator()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Airline: missing designator")); }
if (!hasValidCountry()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Airline: missing country")); }
if (!hasName()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Airline: no name")); }
return msgs;
}

View File

@@ -457,7 +457,7 @@ namespace BlackMisc
CStatusMessage m;
if (!Json::looksLikeSwiftJson(data))
{
m = CStatusMessage(CFlightPlan::getLogCategories(), CStatusMessage::SeverityWarning, "Reading '%1' yields no data", true) << fileName;
m = CStatusMessage(CFlightPlan::getLogCategories(), CStatusMessage::SeverityWarning, u"Reading '%1' yields no data", true) << fileName;
if (msgs) { msgs->push_back(m); }
break;
}
@@ -477,7 +477,7 @@ namespace BlackMisc
}
else
{
m = CStatusMessage(CFlightPlan::getLogCategories(), CStatusMessage::SeverityWarning, "Wrong format for flight plan in '%1'") << fileName;
m = CStatusMessage(CFlightPlan::getLogCategories(), CStatusMessage::SeverityWarning, u"Wrong format for flight plan in '%1'") << fileName;
if (msgs) { msgs->push_back(m); }
}
}

View File

@@ -154,15 +154,15 @@ namespace BlackMisc
{
static const CLogCategoryList cats(CLogCategoryList(this).join({ CLogCategory::validation() }));
CStatusMessageList msg;
if (!hasCombinedCode()) { msg.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, "Livery: missing livery code")); }
if (!hasColorFuselage()) { msg.push_back(CStatusMessage(cats, CStatusMessage::SeverityWarning, "Livery: no fuselage color")); }
if (!hasColorTail()) { msg.push_back(CStatusMessage(cats, CStatusMessage::SeverityWarning, "Livery: no tail color")); }
if (!hasCombinedCode()) { msg.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Livery: missing livery code")); }
if (!hasColorFuselage()) { msg.push_back(CStatusMessage(cats, CStatusMessage::SeverityWarning, u"Livery: no fuselage color")); }
if (!hasColorTail()) { msg.push_back(CStatusMessage(cats, CStatusMessage::SeverityWarning, u"Livery: no tail color")); }
if (this->isColorLivery())
{
if (!this->getAirlineIcaoCodeDesignator().isEmpty())
{
// color livery, supposed to have empty airline
msg.push_back(CStatusMessage(cats, CStatusMessage::SeverityWarning, "Livery: color livery, but airline looks odd"));
msg.push_back(CStatusMessage(cats, CStatusMessage::SeverityWarning, u"Livery: color livery, but airline looks odd"));
}
}
else

View File

@@ -82,7 +82,7 @@ namespace BlackMisc
if (jsonResponse.isEmpty())
{
messages.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, "Empty JSON data for published models"));
messages.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Empty JSON data for published models"));
return false;
}
@@ -149,7 +149,7 @@ namespace BlackMisc
if (!hasData)
{
messages.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, "Received response, but no JSON data"));
messages.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Received response, but no JSON data"));
}
return hasData;

View File

@@ -87,9 +87,9 @@ namespace BlackMisc
static const CLogCategoryList cats(CLogCategoryList(this).join({ CLogCategory::validation()}));
CStatusMessageList msgs;
// callsign optional
if (!this->hasValidDbKey()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityWarning, "Invalid id"));}
if (!this->hasValidRealName()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityWarning, "Invalid real name"));}
if (!this->hasValidCredentials()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityWarning, "Invalid credentials"));}
if (!this->hasValidDbKey()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityWarning, u"Invalid id"));}
if (!this->hasValidRealName()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityWarning, u"Invalid real name"));}
if (!this->hasValidCredentials()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityWarning, u"Invalid credentials"));}
return msgs;
}

View File

@@ -85,8 +85,8 @@ namespace BlackMisc
{
static const CLogCategoryList cats(CLogCategoryList(this).join({ CLogCategory::validation()}));
CStatusMessageList msgs;
if (this->getTextCodec().isEmpty()) { msgs.push_back(CStatusMessage(CStatusMessage::SeverityError, "No codec")); }
if (!textCodecNames(true, true).contains(this->getTextCodec())) { msgs.push_back(CStatusMessage(CStatusMessage::SeverityError, "Unrecognized codec name")); }
if (this->getTextCodec().isEmpty()) { msgs.push_back(CStatusMessage(CStatusMessage::SeverityError, u"No codec")); }
if (!textCodecNames(true, true).contains(this->getTextCodec())) { msgs.push_back(CStatusMessage(CStatusMessage::SeverityError, u"Unrecognized codec name")); }
msgs.addCategories(cats);
return msgs;
}

View File

@@ -404,11 +404,11 @@ namespace BlackMisc
const bool canConnect = CNetworkUtils::canConnect(url, msg, getTimeoutMs() * 2);
if (canConnect)
{
msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityInfo, "Can connect to " + url.getFullUrl()));
msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityInfo, u"Can connect to " % url.getFullUrl()));
}
else
{
msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, "Cannot connect to " + url.getFullUrl() + " msg: " + msg));
msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Cannot connect to " % url.getFullUrl() % u" msg: " % msg));
}
}

View File

@@ -174,10 +174,10 @@ namespace BlackMisc
{
static const CLogCategoryList cats(CLogCategoryList(this).join({ CLogCategory::validation()}));
CStatusMessageList msgs;
if (this->getName().isEmpty()) { msgs.push_back(CStatusMessage(CStatusMessage::SeverityError, "Missing name")); }
if (this->getAddress().isEmpty()) { msgs.push_back(CStatusMessage(CStatusMessage::SeverityError, "Missing address")); }
if (this->getDescription().isEmpty()) { msgs.push_back(CStatusMessage(CStatusMessage::SeverityWarning, "Missing description")); }
if (this->getPort() < 1 || this->getPort() > 65535) { msgs.push_back(CStatusMessage(CStatusMessage::SeverityError, "Wrong port")); }
if (this->getName().isEmpty()) { msgs.push_back(CStatusMessage(CStatusMessage::SeverityError, u"Missing name")); }
if (this->getAddress().isEmpty()) { msgs.push_back(CStatusMessage(CStatusMessage::SeverityError, u"Missing address")); }
if (this->getDescription().isEmpty()) { msgs.push_back(CStatusMessage(CStatusMessage::SeverityWarning, u"Missing description")); }
if (this->getPort() < 1 || this->getPort() > 65535) { msgs.push_back(CStatusMessage(CStatusMessage::SeverityError, u"Wrong port")); }
msgs.push_back(this->getUser().validate());
msgs.push_back(this->getFsdSetup().validate());
msgs.push_back(this->getVoiceSetup().validate());

View File

@@ -144,9 +144,9 @@ namespace BlackMisc
{
CStatusMessageList msgs;
// callsign optional
if (!this->hasId()) { msgs.push_back(CStatusMessage(CStatusMessage::SeverityWarning, "Invalid id"));}
if (!this->hasRealName()) { msgs.push_back(CStatusMessage(CStatusMessage::SeverityWarning, "Invalid real name"));}
if (!this->hasCredentials()) { msgs.push_back(CStatusMessage(CStatusMessage::SeverityWarning, "Invalid credentials"));}
if (!this->hasId()) { msgs.push_back(CStatusMessage(CStatusMessage::SeverityWarning, u"Invalid id"));}
if (!this->hasRealName()) { msgs.push_back(CStatusMessage(CStatusMessage::SeverityWarning, u"Invalid real name"));}
if (!this->hasCredentials()) { msgs.push_back(CStatusMessage(CStatusMessage::SeverityWarning, u"Invalid credentials"));}
return msgs;
}

View File

@@ -80,7 +80,7 @@ namespace BlackMisc
{
if (filePath.isEmpty())
{
msg = CStatusMessage(CStatusMessage::SeverityError, "no file path");
msg = CStatusMessage(CStatusMessage::SeverityError, u"no file path");
return CPixmap();
}
if (!QFile(filePath).exists())

View File

@@ -555,7 +555,7 @@ namespace BlackMisc
CPixmap CAircraftModel::loadIcon(CStatusMessage &success) const
{
static const CStatusMessage noIcon(this, CStatusMessage::SeverityInfo, "no icon");
static const CStatusMessage noIcon(this, CStatusMessage::SeverityInfo, u"no icon");
if (m_iconPath.isEmpty()) { success = noIcon; return CPixmap(); }
// load from file
@@ -770,10 +770,10 @@ namespace BlackMisc
{
static const CLogCategoryList cats(CLogCategoryList(this).join({ CLogCategory::validation() }));
CStatusMessageList msgs;
if (!hasModelString()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, "Model: missing model string (aka key)")); }
if (!hasValidSimulator()) {msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, "Model: no simulator set")); }
if (!hasModelString()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Model: missing model string (aka key)")); }
if (!hasValidSimulator()) {msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Model: no simulator set")); }
// as of T34 made description optional, lines can be removed after 6/2017
// if (!hasDescription()) {msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityWarning, "Model: no description")); }
// if (!hasDescription()) {msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityWarning, u"Model: no description")); }
if (withNestedObjects)
{
msgs.push_back(m_aircraftIcao.validate());
@@ -788,12 +788,12 @@ namespace BlackMisc
{
if (same)
{
static const CStatusMessage msgSame({ CLogCategory::validation() }, CStatusMessage::SeverityWarning, "Model '%1' same %2 '%3'");
static const CStatusMessage msgSame({ CLogCategory::validation() }, CStatusMessage::SeverityWarning, u"Model '%1' same %2 '%3'");
return CStatusMessage(msgSame) << model.getModelStringAndDbKey() << description << newValue;
}
else
{
static const CStatusMessage msgDiff({ CLogCategory::validation() }, CStatusMessage::SeverityInfo, "Model '%1' changed %2 '%3'->'%4'");
static const CStatusMessage msgDiff({ CLogCategory::validation() }, CStatusMessage::SeverityInfo, u"Model '%1' changed %2 '%3'->'%4'");
return CStatusMessage(msgDiff) << model.getModelStringAndDbKey() << description << oldValue << newValue;
}
}
@@ -802,7 +802,7 @@ namespace BlackMisc
{
if (!dbModel.isLoadedFromDb())
{
static const CStatusMessage msgNoDbModel({ CLogCategory::validation() }, CStatusMessage::SeverityInfo, "No DB model yet");
static const CStatusMessage msgNoDbModel({ CLogCategory::validation() }, CStatusMessage::SeverityInfo, u"No DB model yet");
if (details) { details->push_back(msgNoDbModel); }
return false;
}

View File

@@ -1277,24 +1277,21 @@ namespace BlackMisc
{
if (!model.hasModelString())
{
const CStatusMessage m(this, CStatusMessage::SeverityError, "No model string", true);
msgs.push_back(m);
msgs.push_back(CStatusMessage(this).validationError(u"No model string"));
break;
}
if (!model.hasFileName())
{
if (ignoreEmpty) { continue; }
const CStatusMessage m(this, CStatusMessage::SeverityError, QStringLiteral("'%1', no file name").arg(model.getModelStringAndDbKey()), true);
msgs.push_back(m);
msgs.push_back(CStatusMessage(this).validationError(u"'%1', no file name") << model.getModelStringAndDbKey());
break;
}
const QString fn(caseSensitive ? model.getFileName() : model.getFileNameLowerCase());
if (failedFiles.contains(fn))
{
const CStatusMessage m(this, CStatusMessage::SeverityError, QStringLiteral("'%1', known failed file '%2' skipped").arg(model.getModelStringAndDbKey(), model.getFileName()), true);
msgs.push_back(m);
msgs.push_back(CStatusMessage(this).validationError(u"'%1', known failed file '%2' skipped") << model.getModelStringAndDbKey() << model.getFileName());
break;
}
@@ -1302,15 +1299,13 @@ namespace BlackMisc
{
ok = true;
workingFiles.insert(fn);
// const CStatusMessage m(this, CStatusMessage::SeverityInfo, QStringLiteral("'%1', file '%2' existing").arg(model.getModelStringAndDbKey(), model.getFileName()), true);
// msgs.push_back(m);
// msgs.push_back(CStatusMessage(this).validationInfo(u"'%1', file '%2' existing") << model.getModelStringAndDbKey() << model.getFileName());
break;
}
failedFiles.insert(fn);
failedFilesCount++;
const CStatusMessage m(this, CStatusMessage::SeverityError, QStringLiteral("'%1', file '%2' not existing").arg(model.getModelStringAndDbKey(), model.getFileName()), true);
msgs.push_back(m);
msgs.push_back(CStatusMessage(this).validationError(u"'%1', file '%2' not existing") << model.getModelStringAndDbKey() << model.getFileName());
}
while (false);
@@ -1326,17 +1321,14 @@ namespace BlackMisc
if (stopAtFailedFiles > 0 && failedFilesCount >= stopAtFailedFiles)
{
stopped = true;
const CStatusMessage m(this, CStatusMessage::SeverityWarning, QStringLiteral("Stopping after %1 failed files").arg(failedFilesCount));
msgs.push_back(m);
msgs.push_back(CStatusMessage(this).validationWarning(u"Stopping after %1 failed files") << failedFilesCount);
break;
}
}
// Summary
const CStatusMessage m1(this, CStatusMessage::SeverityInfo, QStringLiteral("File validation, valid models: %1").arg(validModels.size()));
const CStatusMessage m2(this, CStatusMessage::SeverityWarning, QStringLiteral("File validation, invalid models: %1").arg(invalidModels.size()));
msgs.push_back(m1);
msgs.push_back(m2);
msgs.push_back(CStatusMessage(this).validationInfo(u"File validation, valid models: %1") << validModels.size());
msgs.push_back(CStatusMessage(this).validationWarning(u"File validation, invalid models: %1") << invalidModels.size());
// done
return msgs;

View File

@@ -123,7 +123,7 @@ namespace BlackMisc
if (useCachedData && (mode.testFlag(CacheFirst) || mode.testFlag(CacheOnly)))
{
// we just just cache data
static const CStatusMessage status(this, CStatusMessage::SeverityInfo, "Using cached data");
static const CStatusMessage status(this, CStatusMessage::SeverityInfo, u"Using cached data");
emit this->loadingFinished(status, simulator, CacheLoaded);
return;
}
@@ -141,7 +141,7 @@ namespace BlackMisc
if (m_skipLoadingEmptyModelDir && modelDirs.isEmpty())
{
const CStatusMessage status = CStatusMessage(this, CStatusMessage::SeverityWarning,
"Empty or not existing '%1' directory '%2', skipping read")
u"Empty or not existing '%1' directory '%2', skipping read")
<< simulator.toQString() << modelDirectories.join(", ");
m_loadingMessages.push_back(status);
emit this->loadingFinished(m_loadingMessages, simulator, LoadingSkipped);

View File

@@ -135,8 +135,8 @@ namespace BlackMisc
{
static const CLogCategoryList cats(CLogCategoryList(this).join({ CLogCategory::validation() }));
CStatusMessageList msgs;
if (!hasValidDbKey()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, "Distributor: missing id")); }
if (!hasDescription()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, "Distributor: missing description")); }
if (!hasValidDbKey()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Distributor: missing id")); }
if (!hasDescription()) { msgs.push_back(CStatusMessage(cats, CStatusMessage::SeverityError, u"Distributor: missing description")); }
return msgs;
}

View File

@@ -63,8 +63,8 @@ namespace BlackMisc
void CAircraftCfgParser::startLoadingFromDisk(LoadMode mode, const ModelConsolidationCallback &modelConsolidation, const QStringList &modelDirectories)
{
static const CStatusMessage statusLoadingOk(this, CStatusMessage::SeverityInfo, "Aircraft config parser loaded data");
static const CStatusMessage statusLoadingError(this, CStatusMessage::SeverityError, "Aircraft config parser did not load data");
static const CStatusMessage statusLoadingOk(this, CStatusMessage::SeverityInfo, u"Aircraft config parser loaded data");
static const CStatusMessage statusLoadingError(this, CStatusMessage::SeverityError, u"Aircraft config parser did not load data");
const CSimulatorInfo simulator = this->getSimulator();
const QStringList modelDirs = this->getInitializedModelDirectories(modelDirectories, simulator);

View File

@@ -372,13 +372,13 @@ namespace BlackMisc
messages.clear();
if (!CDirectoryUtils::existsUnemptyDirectory(CDirectoryUtils::shareTerrainProbeDirectory()))
{
messages.push_back(CStatusMessage(getLogCategories(), CStatusMessage::SeverityError, QStringLiteral("No terrain probe source files in '%1'").arg(CDirectoryUtils::shareTerrainProbeDirectory())));
messages.push_back(CStatusMessage(getLogCategories(), CStatusMessage::SeverityError, u"No terrain probe source files in '%1'") << CDirectoryUtils::shareTerrainProbeDirectory());
return -1;
}
if (simObjectDir.isEmpty())
{
messages.push_back(CStatusMessage(getLogCategories(), CStatusMessage::SeverityError, "No simObject directory"));
messages.push_back(CStatusMessage(getLogCategories(), CStatusMessage::SeverityError, u"No simObject directory"));
return -1;
}
@@ -386,7 +386,7 @@ namespace BlackMisc
QDir td(targetDir);
if (!td.exists())
{
messages.push_back(CStatusMessage(getLogCategories(), CStatusMessage::SeverityError, QStringLiteral("Cannot access target directory '%1'").arg(targetDir)));
messages.push_back(CStatusMessage(getLogCategories(), CStatusMessage::SeverityError, u"Cannot access target directory '%1'") << targetDir);
return -1;
}
@@ -395,12 +395,12 @@ namespace BlackMisc
const bool hasDir = td.mkpath(targetDir);
if (!hasDir)
{
messages.push_back(CStatusMessage(getLogCategories(), CStatusMessage::SeverityError, QStringLiteral("Cannot create target directory '%1'").arg(targetDir)));
messages.push_back(CStatusMessage(getLogCategories(), CStatusMessage::SeverityError, u"Cannot create target directory '%1'") << targetDir);
return -1;
}
const int copied = CDirectoryUtils::copyDirectoryRecursively(CDirectoryUtils::shareTerrainProbeDirectory(), targetDir, true);
messages.push_back(CStatusMessage(getLogCategories(), CStatusMessage::SeverityInfo, QStringLiteral("Copied %1 files from '%2' to '%3'").arg(copied).arg(CDirectoryUtils::shareTerrainProbeDirectory(), targetDir)));
messages.push_back(CStatusMessage(getLogCategories(), CStatusMessage::SeverityInfo, u"Copied %1 files from '%2' to '%3'") << copied << CDirectoryUtils::shareTerrainProbeDirectory() << targetDir);
return copied;
}

View File

@@ -173,7 +173,7 @@ namespace BlackMisc
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
break;
}
return CStatusMessage({ CLogCategory::settings() }, CStatusMessage::SeverityError, "wrong simulator");
return CStatusMessage({ CLogCategory::settings() }, CStatusMessage::SeverityError, u"wrong simulator");
}
CStatusMessage CMultiSimulatorSettings::addModelDirectory(const QString &modelDirectory, const CSimulatorInfo &simulator)
@@ -181,7 +181,7 @@ namespace BlackMisc
CSimulatorSettings s = this->getSettings(simulator);
if (!s.addModelDirectory(modelDirectory))
{
return CStatusMessage({ CLogCategory::settings() }, CStatusMessage::SeverityInfo, "directory already existing");
return CStatusMessage({ CLogCategory::settings() }, CStatusMessage::SeverityInfo, u"directory already existing");
}
return this->setSettings(s, simulator);
}
@@ -207,7 +207,7 @@ namespace BlackMisc
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
break;
}
return CStatusMessage({ CLogCategory::settings() }, CStatusMessage::SeverityError, "wrong simulator");
return CStatusMessage({ CLogCategory::settings() }, CStatusMessage::SeverityError, u"wrong simulator");
}
CStatusMessage CMultiSimulatorSettings::setAndSaveSettings(const CSpecializedSimulatorSettings &settings, const CSimulatorInfo &simulator)
@@ -229,7 +229,7 @@ namespace BlackMisc
Q_ASSERT_X(simulator.isSingleSimulator(), Q_FUNC_INFO, "No single simulator");
break;
}
return CStatusMessage({ CLogCategory::settings() }, CStatusMessage::SeverityError, "wrong simulator");
return CStatusMessage({ CLogCategory::settings() }, CStatusMessage::SeverityError, u"wrong simulator");
}
QString CMultiSimulatorSettings::getSimulatorDirectoryIfNotDefault(const CSimulatorInfo &simulator) const

View File

@@ -109,7 +109,7 @@ namespace BlackMisc
if (modelDirs.isEmpty())
{
this->clearCachedModels(CSimulatorInfo::xplane());
emit this->loadingFinished(CStatusMessage(this, CStatusMessage::SeverityError, "XPlane model directories '%1' are empty") << modelDirectories.join(", "), simulator, ParsedData);
emit this->loadingFinished(CStatusMessage(this, CStatusMessage::SeverityError, u"XPlane model directories '%1' are empty") << modelDirectories.join(", "), simulator, ParsedData);
return;
}
@@ -146,7 +146,7 @@ namespace BlackMisc
void CAircraftModelLoaderXPlane::updateInstalledModels(const CAircraftModelList &models)
{
this->setModelsForSimulator(models, CSimulatorInfo::xplane());
emit this->loadingFinished(CStatusMessage(this, CStatusMessage::SeverityInfo, "XPlane updated '%1' models") << models.size(), CSimulatorInfo::xplane(), ParsedData);
emit this->loadingFinished(CStatusMessage(this, CStatusMessage::SeverityInfo, u"XPlane updated '%1' models") << models.size(), CSimulatorInfo::xplane(), ParsedData);
}
QString CAircraftModelLoaderXPlane::CSLPlane::getModelName() const

View File

@@ -838,7 +838,7 @@ namespace BlackMisc
{
if (! value.isValid())
{
return CStatusMessage(this, invalidSeverity, QStringLiteral("Empty cache value %1").arg(element.m_nameWithKey), true);
return CStatusMessage(this, invalidSeverity, u"Empty cache value %1", true) << element.m_nameWithKey;
}
else if (value.userType() != element.m_metaType)
{

View File

@@ -199,7 +199,7 @@ void CSwiftData::checkMinimumVersion()
}
else
{
const CStatusMessage sm = CStatusMessage(this, CStatusMessage::SeverityWarning, "Your are using swift version: '%1'. Creating mappings requires at least '%2'.") << CBuildConfig::getVersionString() << sApp->getGlobalSetup().getMappingMinimumVersionString();
const CStatusMessage sm = CStatusMessage(this, CStatusMessage::SeverityWarning, u"Your are using swift version: '%1'. Creating mappings requires at least '%2'.") << CBuildConfig::getVersionString() << sApp->getGlobalSetup().getMappingMinimumVersionString();
CLogMessage::preformatted(sm);
this->displayInOverlayWindow(sm);
}

View File

@@ -256,7 +256,7 @@ void SwiftGuiStd::displayStatusMessageInGui(const CStatusMessage &statusMessage)
void SwiftGuiStd::onKickedFromNetwork(const QString &kickMessage)
{
this->updateGuiStatusInformation();
this->displayInOverlayWindow(CStatusMessage(this, CStatusMessage::SeverityError, kickMessage.isEmpty() ? "You have been kicked from the network" : kickMessage));
this->displayInOverlayWindow(CStatusMessage(this, CStatusMessage::SeverityError, kickMessage.isEmpty() ? QStringLiteral("You have been kicked from the network") : kickMessage));
}
void SwiftGuiStd::onConnectionStatusChanged(INetwork::ConnectionStatus from, INetwork::ConnectionStatus to)