Ref T189, formatting

This commit is contained in:
Klaus Basan
2017-11-13 01:49:24 +01:00
parent bc2b40dcd8
commit c2eeff6193
6 changed files with 70 additions and 82 deletions

View File

@@ -52,58 +52,58 @@ namespace BlackGui
void CSimulatedAircraftListModel::setAircraftMode(AircraftMode mode)
{
if (this->m_mode == mode) { return; }
this->m_mode = mode;
this->m_columns.clear();
if (m_mode == mode) { return; }
m_mode = mode;
m_columns.clear();
switch (mode)
{
case NotSet:
case NetworkMode:
{
this->m_columns.addColumn(CColumn::standardValueObject("cs.", "callsign", CSimulatedAircraft::IndexCallsign, CCallsign::IndexCallsignString));
this->m_columns.addColumn(CColumn::standardString("realname", "pilot's real name", { CSimulatedAircraft::IndexPilot, CUser::IndexRealName }));
this->m_columns.addColumn(CColumn("dist.", "distance", CSimulatedAircraft::IndexRelativeDistance, new CAirspaceDistanceFormatter()));
this->m_columns.addColumn(CColumn("altitude", { CSimulatedAircraft::IndexSituation, CAircraftSituation::IndexAltitude }, new CAltitudeFormatter()));
this->m_columns.addColumn(CColumn("gs.", { CSimulatedAircraft::IndexSituation, CAircraftSituation::IndexGroundSpeed }, new CSpeedKtsFormatter()));
this->m_columns.addColumn(CColumn::standardString("icao", "icao and livery info", { CSimulatedAircraft::IndexCombinedIcaoLiveryStringNetworkModel}));
m_columns.addColumn(CColumn::standardValueObject("cs.", "callsign", CSimulatedAircraft::IndexCallsign, CCallsign::IndexCallsignString));
m_columns.addColumn(CColumn::standardString("realname", "pilot's real name", { CSimulatedAircraft::IndexPilot, CUser::IndexRealName }));
m_columns.addColumn(CColumn("dist.", "distance", CSimulatedAircraft::IndexRelativeDistance, new CAirspaceDistanceFormatter()));
m_columns.addColumn(CColumn("altitude", { CSimulatedAircraft::IndexSituation, CAircraftSituation::IndexAltitude }, new CAltitudeFormatter()));
m_columns.addColumn(CColumn("gs.", { CSimulatedAircraft::IndexSituation, CAircraftSituation::IndexGroundSpeed }, new CSpeedKtsFormatter()));
m_columns.addColumn(CColumn::standardString("icao", "icao and livery info", { CSimulatedAircraft::IndexCombinedIcaoLiveryStringNetworkModel}));
// icon column for airline
CColumn col("airline", { CSimulatedAircraft::IndexNetworkModel, CAircraftModel::IndexLivery, CLivery::IndexAirlineIcaoCode, CAirlineIcaoCode::IndexIcon });
col.setSortPropertyIndex({ CSimulatedAircraft::IndexNetworkModel, CAircraftModel::IndexLivery, CLivery::IndexAirlineIcaoCode, CAirlineIcaoCode::IndexAirlineDesignator});
this->m_columns.addColumn(col);
m_columns.addColumn(col);
this->m_columns.addColumn(CColumn("frequency", { CSimulatedAircraft::IndexCom1System, CComSystem::IndexActiveFrequency }, new CComFrequencyFormatter()));
this->m_columns.addColumn(CColumn::standardString("transponder", { CSimulatedAircraft::IndexTransponder, CTransponder::IndexTransponderCodeAndModeFormatted }));
this->m_columns.addColumn(CColumn("latitude", { CSimulatedAircraft::IndexSituation, CAircraftSituation::IndexLatitude }, new CLatLonFormatter()));
this->m_columns.addColumn(CColumn("longitude", { CSimulatedAircraft::IndexSituation, CAircraftSituation::IndexLongitude }, new CLatLonFormatter()));
m_columns.addColumn(CColumn("frequency", { CSimulatedAircraft::IndexCom1System, CComSystem::IndexActiveFrequency }, new CComFrequencyFormatter()));
m_columns.addColumn(CColumn::standardString("transponder", { CSimulatedAircraft::IndexTransponder, CTransponder::IndexTransponderCodeAndModeFormatted }));
m_columns.addColumn(CColumn("latitude", { CSimulatedAircraft::IndexSituation, CAircraftSituation::IndexLatitude }, new CLatLonFormatter()));
m_columns.addColumn(CColumn("longitude", { CSimulatedAircraft::IndexSituation, CAircraftSituation::IndexLongitude }, new CLatLonFormatter()));
// default sort order
this->setSortColumnByPropertyIndex(CSimulatedAircraft::IndexRelativeDistance);
this->m_sortOrder = Qt::AscendingOrder;
m_sortOrder = Qt::AscendingOrder;
}
break;
case RenderedMode:
{
this->m_columns.addColumn(CColumn("e.", "enabled", CSimulatedAircraft::IndexEnabled, new CBoolIconFormatter("enabled", "disabled"), true));
this->m_columns.addColumn(CColumn("r.", "rendered", CSimulatedAircraft::IndexRendered, new CBoolIconFormatter("rendered", "skipped"), true));
this->m_columns.addColumn(CColumn::standardValueObject("cs.", "callsign", { CSimulatedAircraft::IndexCallsign, CCallsign::IndexCallsignString }));
this->m_columns.addColumn(CColumn("dist.", "distance", CSimulatedAircraft::IndexRelativeDistance, new CAirspaceDistanceFormatter()));
this->m_columns.addColumn(CColumn("altitude", { CSimulatedAircraft::IndexSituation, CAircraftSituation::IndexAltitude }, new CAltitudeFormatter()));
this->m_columns.addColumn(CColumn("gs.", { CSimulatedAircraft::IndexSituation, CAircraftSituation::IndexGroundSpeed }, new CSpeedKtsFormatter()));
this->m_columns.addColumn(CColumn("p.", "parts", CSimulatedAircraft::IndexPartsSynchronized, new CBoolIconFormatter("parts", "no parts"), true));
this->m_columns.addColumn(CColumn("fp.", "fast position updates", CSimulatedAircraft::IndexFastPositionUpdates, new CBoolIconFormatter("enabled", "disabled"), true));
this->m_columns.addColumn(CColumn::standardString("realname", "pilot's real name", { CSimulatedAircraft::IndexPilot, CUser::IndexRealName }));
this->m_columns.addColumn(CColumn::standardString("icao", CSimulatedAircraft::IndexCombinedIcaoLiveryString));
this->m_columns.addColumn(CColumn::standardString("model", { CSimulatedAircraft::IndexModel, CAircraftModel::IndexModelString}));
this->m_columns.addColumn(CColumn::standardString("type", { CSimulatedAircraft::IndexModel, CAircraftModel::IndexModelTypeAsString}));
this->m_columns.addColumn(CColumn::standardString("desc.", "description", { CSimulatedAircraft::IndexModel, CAircraftModel::IndexDescription}));
this->m_columns.addColumn(CColumn::standardString("aircraft", "rendered vs. network aircraft ICAO", CSimulatedAircraft::IndexNetworkModelAircraftIcaoDifference));
this->m_columns.addColumn(CColumn::standardString("livery", "rendered vs. network livery", CSimulatedAircraft::IndexNetworkModelLiveryDifference));
m_columns.addColumn(CColumn("e.", "enabled", CSimulatedAircraft::IndexEnabled, new CBoolIconFormatter("enabled", "disabled"), true));
m_columns.addColumn(CColumn("r.", "rendered", CSimulatedAircraft::IndexRendered, new CBoolIconFormatter("rendered", "skipped"), true));
m_columns.addColumn(CColumn::standardValueObject("cs.", "callsign", { CSimulatedAircraft::IndexCallsign, CCallsign::IndexCallsignString }));
m_columns.addColumn(CColumn("dist.", "distance", CSimulatedAircraft::IndexRelativeDistance, new CAirspaceDistanceFormatter()));
m_columns.addColumn(CColumn("altitude", { CSimulatedAircraft::IndexSituation, CAircraftSituation::IndexAltitude }, new CAltitudeFormatter()));
m_columns.addColumn(CColumn("gs.", { CSimulatedAircraft::IndexSituation, CAircraftSituation::IndexGroundSpeed }, new CSpeedKtsFormatter()));
m_columns.addColumn(CColumn("p.", "parts", CSimulatedAircraft::IndexPartsSynchronized, new CBoolIconFormatter("parts", "no parts"), true));
m_columns.addColumn(CColumn("fp.", "fast position updates", CSimulatedAircraft::IndexFastPositionUpdates, new CBoolIconFormatter("enabled", "disabled"), true));
m_columns.addColumn(CColumn::standardString("realname", "pilot's real name", { CSimulatedAircraft::IndexPilot, CUser::IndexRealName }));
m_columns.addColumn(CColumn::standardString("icao", CSimulatedAircraft::IndexCombinedIcaoLiveryString));
m_columns.addColumn(CColumn::standardString("model", { CSimulatedAircraft::IndexModel, CAircraftModel::IndexModelString}));
m_columns.addColumn(CColumn::standardString("type", { CSimulatedAircraft::IndexModel, CAircraftModel::IndexModelTypeAsString}));
m_columns.addColumn(CColumn::standardString("desc.", "description", { CSimulatedAircraft::IndexModel, CAircraftModel::IndexDescription}));
m_columns.addColumn(CColumn::standardString("aircraft", "rendered vs. network aircraft ICAO", CSimulatedAircraft::IndexNetworkModelAircraftIcaoDifference));
m_columns.addColumn(CColumn::standardString("livery", "rendered vs. network livery", CSimulatedAircraft::IndexNetworkModelLiveryDifference));
// default sort order
this->setSortColumnByPropertyIndex(CSimulatedAircraft::IndexRelativeDistance);
this->m_sortOrder = Qt::AscendingOrder;
m_sortOrder = Qt::AscendingOrder;
}
break;

View File

@@ -41,9 +41,9 @@ namespace BlackGui
void CTextMessageListModel::setTextMessageMode(CTextMessageListModel::TextMessageMode mode)
{
if (this->m_textMessageMode == mode) return;
this->m_textMessageMode = mode;
this->m_columns.clear();
if (m_textMessageMode == mode) return;
m_textMessageMode = mode;
m_columns.clear();
switch (mode)
{
case NotSet:
@@ -51,27 +51,27 @@ namespace BlackGui
{
CColumn col = CColumn("type", CTextMessage::IndexIcon);
col.setSortPropertyIndex({ CTextMessage::IndexSenderCallsign, CCallsign::IndexSuffix });
this->m_columns.addColumn(col);
this->m_columns.addColumn(CColumn("time", "received", CTextMessage::IndexUtcTimestamp, new CDateTimeFormatter(CDateTimeFormatter::formatHms())));
this->m_columns.addColumn(CColumn::standardString("from", { CTextMessage::IndexSenderCallsign, CCallsign::IndexCallsignString }));
this->m_columns.addColumn(CColumn::standardString("to", CTextMessage::IndexRecipientCallsignOrFrequency));
this->m_columns.addColumn(CColumn::standardString("message", CTextMessage::IndexMessage));
m_columns.addColumn(col);
m_columns.addColumn(CColumn("time", "received", CTextMessage::IndexUtcTimestamp, new CDateTimeFormatter(CDateTimeFormatter::formatHms())));
m_columns.addColumn(CColumn::standardString("from", { CTextMessage::IndexSenderCallsign, CCallsign::IndexCallsignString }));
m_columns.addColumn(CColumn::standardString("to", CTextMessage::IndexRecipientCallsignOrFrequency));
m_columns.addColumn(CColumn::standardString("message", CTextMessage::IndexMessage));
// default sort order
this->setSortColumnByPropertyIndex(CTextMessage::IndexUtcTimestamp);
this->m_sortOrder = Qt::DescendingOrder;
m_sortOrder = Qt::DescendingOrder;
}
break;
case From:
{
this->m_columns.addColumn(CColumn("time", "received", CTextMessage::IndexUtcTimestamp, new CDateTimeFormatter(CDateTimeFormatter::formatHms())));
this->m_columns.addColumn(CColumn::standardString("from", { CTextMessage::IndexSenderCallsign, CCallsign::IndexCallsignString }));
this->m_columns.addColumn(CColumn::standardString("message", CTextMessage::IndexMessage));
m_columns.addColumn(CColumn("time", "received", CTextMessage::IndexUtcTimestamp, new CDateTimeFormatter(CDateTimeFormatter::formatHms())));
m_columns.addColumn(CColumn::standardString("from", { CTextMessage::IndexSenderCallsign, CCallsign::IndexCallsignString }));
m_columns.addColumn(CColumn::standardString("message", CTextMessage::IndexMessage));
// default sort order
this->setSortColumnByPropertyIndex(CTextMessage::IndexUtcTimestamp);
this->m_sortOrder = Qt::DescendingOrder;
m_sortOrder = Qt::DescendingOrder;
}
break;

View File

@@ -19,7 +19,6 @@
class QObject;
namespace BlackMisc { namespace Network { class CTextMessage; } }
namespace BlackGui
{
namespace Models
@@ -47,7 +46,7 @@ namespace BlackGui
void setTextMessageMode(TextMessageMode mode);
//! Mode
TextMessageMode getTextMessageMode() const { return this->m_textMessageMode; }
TextMessageMode getTextMessageMode() const { return m_textMessageMode; }
private:
TextMessageMode m_textMessageMode = NotSet;

View File

@@ -36,7 +36,7 @@ namespace BlackGui
CTextMessageTextEdit(QWidget *parent = nullptr);
//! Destructor
~CTextMessageTextEdit();
virtual ~CTextMessageTextEdit();
//! Insert a message
void insertTextMessage(const BlackMisc::Network::CTextMessage &textMessage, int maxMessages = -1);

View File

@@ -25,6 +25,15 @@ namespace BlackMisc
{
namespace Network
{
CTextMessage::CTextMessage(const QString &message, const CFrequency &frequency, const CCallsign &senderCallsign)
: m_message(message), m_senderCallsign(senderCallsign), m_frequency(frequency)
{
m_frequency.switchUnit(PhysicalQuantities::CFrequencyUnit::MHz());
}
CTextMessage::CTextMessage(const QString &message, const CCallsign &senderCallsign, const CCallsign &recipientCallsign)
: m_message(message), m_senderCallsign(senderCallsign), m_recipientCallsign(recipientCallsign), m_frequency(0, nullptr)
{}
QString CTextMessage::convertToQString(bool i18n) const
{
@@ -51,11 +60,6 @@ namespace BlackMisc
return m_senderCallsign.isSupervisorCallsign();
}
bool CTextMessage::wasSent() const
{
return m_wasSent;
}
void CTextMessage::markAsSent()
{
m_wasSent = true;
@@ -152,7 +156,6 @@ namespace BlackMisc
if (!s.isEmpty()) s.append(separator);
s.append(m_frequency.valueRoundedWithUnit(3, true));
}
}
} // to
@@ -164,7 +167,7 @@ namespace BlackMisc
CStatusMessage CTextMessage::asStatusMessage(bool withSender, bool withRecipient, const QString &separator) const
{
QString m = this->asString(withSender, withRecipient, separator);
const QString m = this->asString(withSender, withRecipient, separator);
return { this, CStatusMessage::SeverityInfo, m };
}

View File

@@ -53,15 +53,10 @@ namespace BlackMisc
CTextMessage() {}
//! Constructor, radio message
CTextMessage(const QString &message, const PhysicalQuantities::CFrequency &frequency, const Aviation::CCallsign &senderCallsign = {})
: m_message(message), m_senderCallsign(senderCallsign), m_frequency(frequency)
{
m_frequency.switchUnit(PhysicalQuantities::CFrequencyUnit::MHz());
}
CTextMessage(const QString &message, const PhysicalQuantities::CFrequency &frequency, const Aviation::CCallsign &senderCallsign = {});
//! Constructor, private message
CTextMessage(const QString &message, const Aviation::CCallsign &senderCallsign, const Aviation::CCallsign &recipientCallsign = {})
: m_message(message), m_senderCallsign(senderCallsign), m_recipientCallsign(recipientCallsign), m_frequency(0, nullptr) {}
CTextMessage(const QString &message, const Aviation::CCallsign &senderCallsign, const Aviation::CCallsign &recipientCallsign = {});
//! Get callsign (from)
const Aviation::CCallsign &getSenderCallsign() const { return m_senderCallsign; }
@@ -111,33 +106,24 @@ namespace BlackMisc
//! Initial message of server?
bool isServerMessage() const;
/*!
* Whole message as formatted string.
* Used to display message in a console window.
* \param withSender include sender information in string?
* \param withRecipient include recipient information in string?
* \param separator values separated by given value
* \return
*/
//! Whole message as formatted string. Used to display message in a console window.
//! \param withSender include sender information in string?
//! \param withRecipient include recipient information in string?
//! \param separator values separated by given value
QString asString(bool withSender, bool withRecipient, const QString &separator = ", ") const;
/*!
* Whole message as BlackMisc::CStatusMessage.
* Used to display message in logs, or any other situation where a CStatusMessage is required.
* \param withSender include sender information in string?
* \param withRecipient include recipient information in string?
* \param separator values separated by given value
* \return
*/
//! Whole message as BlackMisc::CStatusMessage.
//! Used to display message in logs, or any other situation where a CStatusMessage is required.
//! \param withSender include sender information in string?
//! \param withRecipient include recipient information in string?
//! \param separator values separated by given value
CStatusMessage asStatusMessage(bool withSender, bool withRecipient, const QString &separator = ", ") const;
//! Toggle sender receiver, can be used to ping my own message
void toggleSenderRecipient();
/*!
* Is this a text message encapsulating a SELCAL
* \see http://forums.vatsim.net/viewtopic.php?f=8&t=63467
*/
//! Is this a text message encapsulating a SELCAL
//! \see http://forums.vatsim.net/viewtopic.php?f=8&t=63467
bool isSelcalMessage() const;
//! Is this a text message encapsulating a SELCAL for given code?
@@ -147,7 +133,7 @@ namespace BlackMisc
bool isSupervisorMessage() const;
//! Was sent?
bool wasSent() const;
bool wasSent() const { return m_wasSent; }
//! Mark as sent
//! \remark also sets current timestamp if there is no valid timestamp