diff --git a/src/blackcore/vatsim/networkvatlib.cpp b/src/blackcore/vatsim/networkvatlib.cpp index 0b2f4f83e..b1d4b7bac 100644 --- a/src/blackcore/vatsim/networkvatlib.cpp +++ b/src/blackcore/vatsim/networkvatlib.cpp @@ -759,7 +759,9 @@ namespace BlackCore void CNetworkVatlib::onTextMessageReceived(VatSessionID, const char *from, const char *to, const char *msg, void *cbvar) { - BlackMisc::Network::CTextMessageList messages(cbvar_cast(cbvar)->fromFSD(msg), CCallsign(cbvar_cast(cbvar)->fromFSD(from)), CCallsign(cbvar_cast(cbvar)->fromFSD(to))); + CTextMessage tm(cbvar_cast(cbvar)->fromFSD(msg), CCallsign(cbvar_cast(cbvar)->fromFSD(from)), CCallsign(cbvar_cast(cbvar)->fromFSD(to))); + tm.setCurrentUtcTime(); + CTextMessageList messages(tm); emit cbvar_cast(cbvar)->textMessagesReceived(messages); } @@ -777,6 +779,7 @@ namespace BlackCore } if (frequencies.isEmpty()) { return; } BlackMisc::Network::CTextMessageList messages(cbvar_cast(cbvar)->fromFSD(msg), frequencies, CCallsign(cbvar_cast(cbvar)->fromFSD(from))); + messages.setCurrentUtcTime(); emit cbvar_cast(cbvar)->textMessagesReceived(messages); } diff --git a/src/blackmisc/timestampobjectlist.cpp b/src/blackmisc/timestampobjectlist.cpp index e7e9e123d..df82ef0d6 100644 --- a/src/blackmisc/timestampobjectlist.cpp +++ b/src/blackmisc/timestampobjectlist.cpp @@ -104,6 +104,25 @@ namespace BlackMisc return this->container().contains(&OBJ::hasValidTimestamp, false); } + template + void ITimestampObjectList::setCurrentUtcTime() + { + for (ITimestampBased &tsObj : this->container()) + { + tsObj.setCurrentUtcTime(); + } + } + + template + void ITimestampObjectList::setInvalidTimestampsToCurrentUtcTime() + { + for (ITimestampBased &tsObj : this->container()) + { + if (tsObj.hasValidTimestamp()) { continue; } + tsObj.setCurrentUtcTime(); + } + } + template QDateTime ITimestampObjectList::latestTimestamp() const { diff --git a/src/blackmisc/timestampobjectlist.h b/src/blackmisc/timestampobjectlist.h index 82bff1c6c..4f92140be 100644 --- a/src/blackmisc/timestampobjectlist.h +++ b/src/blackmisc/timestampobjectlist.h @@ -50,6 +50,12 @@ namespace BlackMisc //! Has invalid timestamp bool hasInvalidTimestamps() const; + //! Set all timestamps to now + void setCurrentUtcTime(); + + //! Set invalid timestamps to now + void setInvalidTimestampsToCurrentUtcTime(); + //! Latest timestamp QDateTime latestTimestamp() const;