refs #336 Convenience methods to create validation messages.

This commit is contained in:
Mathew Sutcliffe
2014-10-15 01:53:54 +01:00
parent 5991981789
commit d0894d2cf9
6 changed files with 48 additions and 18 deletions

View File

@@ -222,7 +222,7 @@ namespace BlackGui
} }
else else
{ {
CLogMessage(CLogCategory::validation()).error("Wrong transponder code, reset"); CLogMessage().validationWarning("Wrong transponder code, reset");
this->ui->ds_CockpitTransponder->setValue(transponder.getTransponderCode()); this->ui->ds_CockpitTransponder->setValue(transponder.getTransponderCode());
} }
transponder.setTransponderMode(this->ui->cbp_CockpitTransponderMode->getSelectedTransponderMode()); transponder.setTransponderMode(this->ui->cbp_CockpitTransponderMode->getSelectedTransponderMode());
@@ -392,7 +392,7 @@ namespace BlackGui
QString selcalCode = this->getSelcalCode(); QString selcalCode = this->getSelcalCode();
if (!CSelcal::isValidCode(selcalCode)) if (!CSelcal::isValidCode(selcalCode))
{ {
CLogMessage(CLogCategory::validation()).error("Invalid SELCAL codde"); CLogMessage().validationWarning("Invalid SELCAL codde");
} }
else if (this->getIContextAudio()) else if (this->getIContextAudio())
{ {
@@ -401,7 +401,7 @@ namespace BlackGui
} }
else else
{ {
CLogMessage(CLogCategory::validation()).error("No audio available"); CLogMessage().validationWarning("No audio available");
} }
} }

View File

@@ -110,17 +110,17 @@ namespace BlackGui
v = ui->le_Callsign->text().trimmed(); v = ui->le_Callsign->text().trimmed();
if (v.isEmpty()) if (v.isEmpty())
{ {
messages.push_back(CLogMessage(CLogCategory::validation()).error("Missing %1") << this->ui->lbl_Callsign->text()); messages.push_back(CLogMessage().validationWarning("Missing %1") << this->ui->lbl_Callsign->text());
} }
v = ui->pte_Route->toPlainText().trimmed(); v = ui->pte_Route->toPlainText().trimmed();
if (v.isEmpty()) if (v.isEmpty())
{ {
messages.push_back(CLogMessage(CLogCategory::validation()).error("Missing flight plan route")); messages.push_back(CLogMessage().validationWarning("Missing flight plan route"));
} }
else if (v.length() > CFlightPlan::MaxRouteLength) else if (v.length() > CFlightPlan::MaxRouteLength)
{ {
messages.push_back(CLogMessage(CLogCategory::validation()).error("Flight plan route length exceeded (%1 chars max.)") << CFlightPlan::MaxRouteLength); messages.push_back(CLogMessage().validationWarning("Flight plan route length exceeded (%1 chars max.)") << CFlightPlan::MaxRouteLength);
} }
else else
flightPlan.setRoute(v); flightPlan.setRoute(v);
@@ -128,11 +128,11 @@ namespace BlackGui
v = ui->pte_Remarks->toPlainText().trimmed(); v = ui->pte_Remarks->toPlainText().trimmed();
if (v.isEmpty()) if (v.isEmpty())
{ {
messages.push_back(CLogMessage(CLogCategory::validation()).error("No remarks, voice capabilities are mandatory")); messages.push_back(CLogMessage().validationWarning("No remarks, voice capabilities are mandatory"));
} }
else if (v.length() > CFlightPlan::MaxRemarksLength) else if (v.length() > CFlightPlan::MaxRemarksLength)
{ {
messages.push_back(CLogMessage(CLogCategory::validation()).error("Flight plan remarks length exceeded (%1 chars max.)") << CFlightPlan::MaxRemarksLength); messages.push_back(CLogMessage().validationWarning("Flight plan remarks length exceeded (%1 chars max.)") << CFlightPlan::MaxRemarksLength);
} }
else else
flightPlan.setRemarks(v); flightPlan.setRemarks(v);
@@ -140,7 +140,7 @@ namespace BlackGui
v = ui->le_EstimatedTimeEnroute->text(); v = ui->le_EstimatedTimeEnroute->text();
if (v.isEmpty() || v == defaultTime()) if (v.isEmpty() || v == defaultTime())
{ {
messages.push_back(CLogMessage(CLogCategory::validation()).error("Missing %1") << this->ui->lbl_EstimatedTimeEnroute->text()); messages.push_back(CLogMessage().validationWarning("Missing %1") << this->ui->lbl_EstimatedTimeEnroute->text());
} }
else else
flightPlan.setEnrouteTime(v); flightPlan.setEnrouteTime(v);
@@ -148,7 +148,7 @@ namespace BlackGui
v = ui->le_FuelOnBoard->text(); v = ui->le_FuelOnBoard->text();
if (v.isEmpty() || v == defaultTime()) if (v.isEmpty() || v == defaultTime())
{ {
messages.push_back(CLogMessage(CLogCategory::validation()).error("Missing %1") << this->ui->lbl_FuelOnBorad->text()); messages.push_back(CLogMessage().validationWarning("Missing %1") << this->ui->lbl_FuelOnBorad->text());
} }
else else
flightPlan.setFuelTime(v); flightPlan.setFuelTime(v);
@@ -156,7 +156,7 @@ namespace BlackGui
v = ui->le_TakeOffTimePlanned->text(); v = ui->le_TakeOffTimePlanned->text();
if (v.isEmpty() || v == defaultTime()) if (v.isEmpty() || v == defaultTime())
{ {
messages.push_back(CLogMessage(CLogCategory::validation()).error("Missing %1") << this->ui->lbl_TakeOffTimePlanned->text()); messages.push_back(CLogMessage().validationWarning("Missing %1") << this->ui->lbl_TakeOffTimePlanned->text());
} }
else else
flightPlan.setTakeoffTimePlanned(v); flightPlan.setTakeoffTimePlanned(v);
@@ -172,7 +172,7 @@ namespace BlackGui
CAltitude cruisingAltitude(v, CPqString::SeparatorsLocale); CAltitude cruisingAltitude(v, CPqString::SeparatorsLocale);
if (v.isEmpty() || cruisingAltitude.isNull()) if (v.isEmpty() || cruisingAltitude.isNull())
{ {
messages.push_back(CLogMessage(CLogCategory::validation()).error("Wrong %1") << this->ui->lbl_CrusingAltitude->text()); messages.push_back(CLogMessage().validationWarning("Wrong %1") << this->ui->lbl_CrusingAltitude->text());
} }
else else
flightPlan.setCruiseAltitude(cruisingAltitude); flightPlan.setCruiseAltitude(cruisingAltitude);
@@ -180,7 +180,7 @@ namespace BlackGui
v = this->ui->le_AlternateAirport->text(); v = this->ui->le_AlternateAirport->text();
if (v.isEmpty() || v.endsWith(defaultIcao(), Qt::CaseInsensitive)) if (v.isEmpty() || v.endsWith(defaultIcao(), Qt::CaseInsensitive))
{ {
messages.push_back(CLogMessage(CLogCategory::validation()).error("Missing %1") << this->ui->lbl_AlternateAirport->text()); messages.push_back(CLogMessage().validationWarning("Missing %1") << this->ui->lbl_AlternateAirport->text());
flightPlan.setAlternateAirportIcao(defaultIcao()); flightPlan.setAlternateAirportIcao(defaultIcao());
} }
else else
@@ -189,7 +189,7 @@ namespace BlackGui
v = this->ui->le_DestinationAirport->text(); v = this->ui->le_DestinationAirport->text();
if (v.isEmpty() || v.endsWith(defaultIcao(), Qt::CaseInsensitive)) if (v.isEmpty() || v.endsWith(defaultIcao(), Qt::CaseInsensitive))
{ {
messages.push_back(CLogMessage(CLogCategory::validation()).error("Missing %1") << this->ui->lbl_DestinationAirport->text()); messages.push_back(CLogMessage().validationWarning("Missing %1") << this->ui->lbl_DestinationAirport->text());
flightPlan.setDestinationAirportIcao(defaultIcao()); flightPlan.setDestinationAirportIcao(defaultIcao());
} }
else else
@@ -200,7 +200,7 @@ namespace BlackGui
cruiseTAS.parseFromString(v, CPqString::SeparatorsLocale); cruiseTAS.parseFromString(v, CPqString::SeparatorsLocale);
if (cruiseTAS.isNull()) if (cruiseTAS.isNull())
{ {
messages.push_back(CLogMessage(CLogCategory::validation()).error("Wrong TAS, %1") << this->ui->lbl_CruiseTrueAirspeed->text()); messages.push_back(CLogMessage().validationWarning("Wrong TAS, %1") << this->ui->lbl_CruiseTrueAirspeed->text());
flightPlan.setDestinationAirportIcao(defaultIcao()); flightPlan.setDestinationAirportIcao(defaultIcao());
} }
else else
@@ -209,7 +209,7 @@ namespace BlackGui
v = this->ui->le_OriginAirport->text(); v = this->ui->le_OriginAirport->text();
if (v.isEmpty() || v.endsWith(defaultIcao(), Qt::CaseInsensitive)) if (v.isEmpty() || v.endsWith(defaultIcao(), Qt::CaseInsensitive))
{ {
messages.push_back(CLogMessage(CLogCategory::validation()).error("Missing %1") << this->ui->lbl_OriginAirport->text()); messages.push_back(CLogMessage().validationWarning("Missing %1") << this->ui->lbl_OriginAirport->text());
flightPlan.setOriginAirportIcao(defaultIcao()); flightPlan.setOriginAirportIcao(defaultIcao());
} }
else else

View File

@@ -237,7 +237,7 @@ namespace BlackGui
CServer server = this->ps_selectedServerFromTextboxes(); CServer server = this->ps_selectedServerFromTextboxes();
if (!server.isValidForLogin()) if (!server.isValidForLogin())
{ {
CLogMessage(CLogCategory::validation()).error("Wrong settings for server"); CLogMessage().validationWarning("Wrong settings for server");
return; return;
} }

View File

@@ -146,7 +146,7 @@ namespace BlackGui
} }
if (ost.isNull()) if (ost.isNull())
{ {
CLogMessage(CLogCategory::validation()).error("Invalid offset time"); CLogMessage().validationWarning("Invalid offset time");
} }
else else
{ {

View File

@@ -40,6 +40,27 @@ namespace BlackMisc
return *this; return *this;
} }
CLogMessage &CLogMessage::validationInfo(QString format)
{
m_categories.remove(CLogCategory::uncategorized());
m_categories.push_back(CLogCategory::validation());
return info(format);
}
CLogMessage &CLogMessage::validationWarning(QString format)
{
m_categories.remove(CLogCategory::uncategorized());
m_categories.push_back(CLogCategory::validation());
return warning(format);
}
CLogMessage &CLogMessage::validationError(QString format)
{
m_categories.remove(CLogCategory::uncategorized());
m_categories.push_back(CLogCategory::validation());
return error(format);
}
CLogMessage::operator CStatusMessage() CLogMessage::operator CStatusMessage()
{ {
m_redundant = true; m_redundant = true;

View File

@@ -110,6 +110,15 @@ namespace BlackMisc
//! Set the severity to error, providing a format string. //! Set the severity to error, providing a format string.
CLogMessage &error(QString format); CLogMessage &error(QString format);
//! Set the severity to info, providing a format string, and adding the validation category.
CLogMessage &validationInfo(QString format);
//! Set the severity to warning, providing a format string, and adding the validation category.
CLogMessage &validationWarning(QString format);
//! Set the severity to error, providing a format string, and adding the validation category.
CLogMessage &validationError(QString format);
//! Streaming operators. //! Streaming operators.
//! \details If the format string is empty, the message will consist of all streamed values separated by spaces. //! \details If the format string is empty, the message will consist of all streamed values separated by spaces.
//! Otherwise, the streamed values will replace the place markers %1, %2, %3... in the format string. //! Otherwise, the streamed values will replace the place markers %1, %2, %3... in the format string.