From d0894d2cf9ce2f109bac5843110c9b1ed845ec02 Mon Sep 17 00:00:00 2001 From: Mathew Sutcliffe Date: Wed, 15 Oct 2014 01:53:54 +0100 Subject: [PATCH] refs #336 Convenience methods to create validation messages. --- .../components/cockpitv1component.cpp | 6 ++--- .../components/flightplancomponent.cpp | 26 +++++++++---------- src/blackgui/components/settingscomponent.cpp | 2 +- .../components/settingssimulatorcomponent.cpp | 2 +- src/blackmisc/logmessage.cpp | 21 +++++++++++++++ src/blackmisc/logmessage.h | 9 +++++++ 6 files changed, 48 insertions(+), 18 deletions(-) diff --git a/src/blackgui/components/cockpitv1component.cpp b/src/blackgui/components/cockpitv1component.cpp index 9e890698d..82e7ddae0 100644 --- a/src/blackgui/components/cockpitv1component.cpp +++ b/src/blackgui/components/cockpitv1component.cpp @@ -222,7 +222,7 @@ namespace BlackGui } else { - CLogMessage(CLogCategory::validation()).error("Wrong transponder code, reset"); + CLogMessage().validationWarning("Wrong transponder code, reset"); this->ui->ds_CockpitTransponder->setValue(transponder.getTransponderCode()); } transponder.setTransponderMode(this->ui->cbp_CockpitTransponderMode->getSelectedTransponderMode()); @@ -392,7 +392,7 @@ namespace BlackGui QString selcalCode = this->getSelcalCode(); if (!CSelcal::isValidCode(selcalCode)) { - CLogMessage(CLogCategory::validation()).error("Invalid SELCAL codde"); + CLogMessage().validationWarning("Invalid SELCAL codde"); } else if (this->getIContextAudio()) { @@ -401,7 +401,7 @@ namespace BlackGui } else { - CLogMessage(CLogCategory::validation()).error("No audio available"); + CLogMessage().validationWarning("No audio available"); } } diff --git a/src/blackgui/components/flightplancomponent.cpp b/src/blackgui/components/flightplancomponent.cpp index 7b64b3fd4..a4962bcf7 100644 --- a/src/blackgui/components/flightplancomponent.cpp +++ b/src/blackgui/components/flightplancomponent.cpp @@ -110,17 +110,17 @@ namespace BlackGui v = ui->le_Callsign->text().trimmed(); 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(); 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) { - 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 flightPlan.setRoute(v); @@ -128,11 +128,11 @@ namespace BlackGui v = ui->pte_Remarks->toPlainText().trimmed(); 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) { - 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 flightPlan.setRemarks(v); @@ -140,7 +140,7 @@ namespace BlackGui v = ui->le_EstimatedTimeEnroute->text(); 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 flightPlan.setEnrouteTime(v); @@ -148,7 +148,7 @@ namespace BlackGui v = ui->le_FuelOnBoard->text(); 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 flightPlan.setFuelTime(v); @@ -156,7 +156,7 @@ namespace BlackGui v = ui->le_TakeOffTimePlanned->text(); 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 flightPlan.setTakeoffTimePlanned(v); @@ -172,7 +172,7 @@ namespace BlackGui CAltitude cruisingAltitude(v, CPqString::SeparatorsLocale); 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 flightPlan.setCruiseAltitude(cruisingAltitude); @@ -180,7 +180,7 @@ namespace BlackGui v = this->ui->le_AlternateAirport->text(); 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()); } else @@ -189,7 +189,7 @@ namespace BlackGui v = this->ui->le_DestinationAirport->text(); 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()); } else @@ -200,7 +200,7 @@ namespace BlackGui cruiseTAS.parseFromString(v, CPqString::SeparatorsLocale); 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()); } else @@ -209,7 +209,7 @@ namespace BlackGui v = this->ui->le_OriginAirport->text(); 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()); } else diff --git a/src/blackgui/components/settingscomponent.cpp b/src/blackgui/components/settingscomponent.cpp index 7747dd675..5d47ce85d 100644 --- a/src/blackgui/components/settingscomponent.cpp +++ b/src/blackgui/components/settingscomponent.cpp @@ -237,7 +237,7 @@ namespace BlackGui CServer server = this->ps_selectedServerFromTextboxes(); if (!server.isValidForLogin()) { - CLogMessage(CLogCategory::validation()).error("Wrong settings for server"); + CLogMessage().validationWarning("Wrong settings for server"); return; } diff --git a/src/blackgui/components/settingssimulatorcomponent.cpp b/src/blackgui/components/settingssimulatorcomponent.cpp index d848a8d7d..5ec8acd22 100644 --- a/src/blackgui/components/settingssimulatorcomponent.cpp +++ b/src/blackgui/components/settingssimulatorcomponent.cpp @@ -146,7 +146,7 @@ namespace BlackGui } if (ost.isNull()) { - CLogMessage(CLogCategory::validation()).error("Invalid offset time"); + CLogMessage().validationWarning("Invalid offset time"); } else { diff --git a/src/blackmisc/logmessage.cpp b/src/blackmisc/logmessage.cpp index 24b0e2a3c..dbd1386ef 100644 --- a/src/blackmisc/logmessage.cpp +++ b/src/blackmisc/logmessage.cpp @@ -40,6 +40,27 @@ namespace BlackMisc 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() { m_redundant = true; diff --git a/src/blackmisc/logmessage.h b/src/blackmisc/logmessage.h index cec05113e..1d8f3e0d0 100644 --- a/src/blackmisc/logmessage.h +++ b/src/blackmisc/logmessage.h @@ -110,6 +110,15 @@ namespace BlackMisc //! Set the severity to error, providing a format string. 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. //! \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.