diff --git a/src/blackmisc/aviation/aircrafticaocode.cpp b/src/blackmisc/aviation/aircrafticaocode.cpp
index b90b89706..6eee138af 100644
--- a/src/blackmisc/aviation/aircrafticaocode.cpp
+++ b/src/blackmisc/aviation/aircrafticaocode.cpp
@@ -103,6 +103,11 @@ namespace BlackMisc
return msg;
}
+ QString CAircraftIcaoCode::asHtmlSummary() const
+ {
+ return this->getCombinedIcaoStringWithKey();
+ }
+
bool CAircraftIcaoCode::hasDesignator() const
{
return !this->m_designator.isEmpty();
diff --git a/src/blackmisc/aviation/aircrafticaocode.h b/src/blackmisc/aviation/aircrafticaocode.h
index 4f69433d1..098bcfb2c 100644
--- a/src/blackmisc/aviation/aircrafticaocode.h
+++ b/src/blackmisc/aviation/aircrafticaocode.h
@@ -246,6 +246,9 @@ namespace BlackMisc
//! Validate data
BlackMisc::CStatusMessageList validate() const;
+ //! As a brief HTML summary (e.g. used in tooltips)
+ QString asHtmlSummary () const;
+
//! Valid designator?
static bool isValidDesignator(const QString &designator);
diff --git a/src/blackmisc/aviation/airlineicaocode.cpp b/src/blackmisc/aviation/airlineicaocode.cpp
index fe2fd0f24..6a8f184e6 100644
--- a/src/blackmisc/aviation/airlineicaocode.cpp
+++ b/src/blackmisc/aviation/airlineicaocode.cpp
@@ -385,6 +385,11 @@ namespace BlackMisc
}
}
+ QString CAirlineIcaoCode::asHtmlSummary() const
+ {
+ return this->getCombinedStringWithKey();
+ }
+
CAirlineIcaoCode CAirlineIcaoCode::fromDatabaseJson(const QJsonObject &json, const QString &prefix)
{
if (!existsKey(json, prefix))
diff --git a/src/blackmisc/aviation/airlineicaocode.h b/src/blackmisc/aviation/airlineicaocode.h
index 093f971ad..87c0512bc 100644
--- a/src/blackmisc/aviation/airlineicaocode.h
+++ b/src/blackmisc/aviation/airlineicaocode.h
@@ -194,6 +194,9 @@ namespace BlackMisc
//! Update missing parts
void updateMissingParts(const CAirlineIcaoCode &otherIcaoCode);
+ //! As a brief HTML summary (e.g. used in tooltips)
+ QString asHtmlSummary () const;
+
//! Valid designator?
static bool isValidAirlineDesignator(const QString &airline);
diff --git a/src/blackmisc/aviation/livery.cpp b/src/blackmisc/aviation/livery.cpp
index 46ec1c856..e7e5299f6 100644
--- a/src/blackmisc/aviation/livery.cpp
+++ b/src/blackmisc/aviation/livery.cpp
@@ -377,5 +377,10 @@ namespace BlackMisc
}
}
+ QString CLivery::asHtmlSummary() const
+ {
+ return this->getCombinedCodePlusInfo();
+ }
+
} // namespace
} // namespace
diff --git a/src/blackmisc/aviation/livery.h b/src/blackmisc/aviation/livery.h
index 2a8d2d4c9..6fa48eeb6 100644
--- a/src/blackmisc/aviation/livery.h
+++ b/src/blackmisc/aviation/livery.h
@@ -164,6 +164,9 @@ namespace BlackMisc
//! Update missing parts
void updateMissingParts(const CLivery &otherLivery);
+ //! As a brief HTML summary (e.g. used in tooltips)
+ QString asHtmlSummary () const;
+
//! Object from JSON
static CLivery fromDatabaseJson(const QJsonObject &json, const QString &prefix = QString("liv_"));
diff --git a/src/blackmisc/simulation/aircraftmodel.cpp b/src/blackmisc/simulation/aircraftmodel.cpp
index bc7da0cfe..e93b7644a 100644
--- a/src/blackmisc/simulation/aircraftmodel.cpp
+++ b/src/blackmisc/simulation/aircraftmodel.cpp
@@ -105,6 +105,12 @@ namespace BlackMisc
return QJsonDocument(this->toDatabaseJson()).toJson(format);
}
+ QString CAircraftModel::asHtmlSummary() const
+ {
+ const QString html = "Model: %1
Aircraft ICAO: %2
Livery: %3";
+ return html.arg(this->getModelStringAndDbKey(), this->getAircraftIcaoCode().asHtmlSummary(), this->getLivery().asHtmlSummary());
+ }
+
bool CAircraftModel::canInitializeFromFsd() const
{
const bool nw = this->getModelType() == CAircraftModel::TypeQueriedFromNetwork ||
diff --git a/src/blackmisc/simulation/aircraftmodel.h b/src/blackmisc/simulation/aircraftmodel.h
index 415ec36db..ff4a499a9 100644
--- a/src/blackmisc/simulation/aircraftmodel.h
+++ b/src/blackmisc/simulation/aircraftmodel.h
@@ -340,6 +340,9 @@ namespace BlackMisc
//! To database JSON
QString toDatabaseJsonString(QJsonDocument::JsonFormat format = QJsonDocument::Compact) const;
+ //! As a brief HTML summary (e.g. used in tooltips)
+ QString asHtmlSummary () const;
+
//! Model type
static QString modelTypeToString(ModelType type);