TetraIF migration and Unittest Implementation for it
Entire-Checkpoint: 14d1fef0cf36
This commit is contained in:
1 parent
a86f9b5bac
commit
ba212f9dce
78 files changed
+1611
-640
No files matched your search
@@ -73,6 +73,7 @@ LogViewTelegram::LogViewTelegram(const LogViewTelegram &o)
|
||||
, m_data(o.m_data)
|
||||
, m_json(o.m_json)
|
||||
, m_TetraTelegram(nullptr)
|
||||
, m_logger(getLogger("LogViewTelegram"))
|
||||
{
|
||||
if (!m_data.isEmpty())
|
||||
m_TetraTelegram = new N_CoPrtCnv::CoPrtCnvRadioTelegram(m_data);
|
||||
@@ -100,6 +101,7 @@ LogViewTelegram::LogViewTelegram(const N_CoPrtCnv::CoPrtCnvLogHeader::E_CoPrtCnv
|
||||
, m_LogTime(0)
|
||||
, m_GpsTime(0)
|
||||
, m_TetraTelegram(nullptr)
|
||||
, m_logger(getLogger("LogViewTelegram"))
|
||||
{
|
||||
const uint32_t &waitTime = qgetenv("LogViewWaitTime").toUInt();
|
||||
if (waitTime > 0)
|
||||
@@ -143,6 +145,7 @@ LogViewTelegram::LogViewTelegram(const N_CoPrtCnv::CoPrtCnvLogHeader::E_CoPrtCnv
|
||||
, m_GpsTime(0)
|
||||
, m_data(a_telegramData)
|
||||
, m_TetraTelegram(nullptr)
|
||||
, m_logger(getLogger("LogViewTelegram"))
|
||||
{
|
||||
const uint32_t &waitTime = qgetenv("LogViewWaitTime").toUInt();
|
||||
if (waitTime > 0)
|
||||
@@ -155,10 +158,10 @@ LogViewTelegram::LogViewTelegram(const N_CoPrtCnv::CoPrtCnvLogHeader::E_CoPrtCnv
|
||||
case N_CoPrtCnv::CoPrtCnvLogHeader::e_DestProtocolWls:
|
||||
{
|
||||
m_json = QJsonDocument::fromJson(a_telegramData).object();
|
||||
m_TelId = m_json.value(QLatin1String("typeId")).toInt();
|
||||
m_TelId = m_json.value(QStringLiteral("typeId")).toInt();
|
||||
|
||||
|
||||
m_Name = m_json.value(QLatin1String("type")).toString();
|
||||
m_Name = m_json.value(QStringLiteral("type")).toString();
|
||||
switch (getTelId())
|
||||
{
|
||||
case TrainingAreaBase::TetraIcd::BESTAETIGUNG:
|
||||
@@ -167,9 +170,9 @@ LogViewTelegram::LogViewTelegram(const N_CoPrtCnv::CoPrtCnvLogHeader::E_CoPrtCnv
|
||||
|
||||
|
||||
|
||||
m_ParticipantId = m_json.value(QLatin1String("data"))
|
||||
.toObject().value(QLatin1String("header"))
|
||||
.toObject().value(QLatin1String("equipmentNumber")).toInt();
|
||||
m_ParticipantId = m_json.value(QStringLiteral("data"))
|
||||
.toObject().value(QStringLiteral("header"))
|
||||
.toObject().value(QStringLiteral("equipmentNumber")).toInt();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@@ -356,7 +359,7 @@ QString LogViewTelegram::getLogTimeText() const
|
||||
if (m_logTimeText.isEmpty())
|
||||
{
|
||||
const QDateTime dt(QDateTime::fromMSecsSinceEpoch(getLogTimeMsec()));
|
||||
m_logTimeText = dt.toString(QLatin1String("ddd, MMM dd, yyyy hh:mm:ss.zzz"));
|
||||
m_logTimeText = dt.toString(QStringLiteral("ddd, MMM dd, yyyy hh:mm:ss.zzz"));
|
||||
}
|
||||
return m_logTimeText;
|
||||
}
|
||||
@@ -373,9 +376,9 @@ QString LogViewTelegram::getDestinationText() const
|
||||
case N_CoPrtCnv::CoPrtCnvLogHeader::e_DestProtocolCentral: {
|
||||
switch (dest) {
|
||||
case N_CoPrtCnv::CoPrtCnvLogHeader::e_DestReceive:
|
||||
return QLatin1String("C > P");
|
||||
return QStringLiteral("C > P");
|
||||
case N_CoPrtCnv::CoPrtCnvLogHeader::e_DestSend:
|
||||
return QLatin1String("P > C");
|
||||
return QStringLiteral("P > C");
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -384,9 +387,9 @@ QString LogViewTelegram::getDestinationText() const
|
||||
case N_CoPrtCnv::CoPrtCnvLogHeader::e_DestProtocolWls: {
|
||||
switch (dest) {
|
||||
case N_CoPrtCnv::CoPrtCnvLogHeader::e_DestReceive:
|
||||
return QLatin1String("W > C");
|
||||
return QStringLiteral("W > C");
|
||||
case N_CoPrtCnv::CoPrtCnvLogHeader::e_DestSend:
|
||||
return QLatin1String("C > W");
|
||||
return QStringLiteral("C > W");
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -395,9 +398,9 @@ QString LogViewTelegram::getDestinationText() const
|
||||
case N_CoPrtCnv::CoPrtCnvLogHeader::e_DestProtocolTetra: {
|
||||
switch (dest) {
|
||||
case N_CoPrtCnv::CoPrtCnvLogHeader::e_DestReceive:
|
||||
return QLatin1String("P > T");
|
||||
return QStringLiteral("P > T");
|
||||
case N_CoPrtCnv::CoPrtCnvLogHeader::e_DestSend:
|
||||
return QLatin1String("T > P");
|
||||
return QStringLiteral("T > P");
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -418,7 +421,7 @@ QString LogViewTelegram::getDestinationText() const
|
||||
QString LogViewTelegram::getGpsTimeText() const
|
||||
{
|
||||
if (m_GpsTime != 0)
|
||||
return QDateTime::fromMSecsSinceEpoch(m_GpsTime * 1000LL).toString(QLatin1String("hh:mm:ss"));
|
||||
return QDateTime::fromMSecsSinceEpoch(m_GpsTime * 1000LL).toString(QStringLiteral("hh:mm:ss"));
|
||||
|
||||
return QString();
|
||||
}
|
||||
@@ -462,11 +465,11 @@ QString LogViewTelegram::getToolTipText(const E_Column a_col)
|
||||
}
|
||||
if(a_col == e_ColGpsTime && m_ToolTipText[e_ColGpsTime].isNull()) {
|
||||
if(m_GpsTime == 0) {
|
||||
m_ToolTipText[e_ColGpsTime] = QLatin1String("");
|
||||
m_ToolTipText[e_ColGpsTime] = QStringLiteral("");
|
||||
} else {
|
||||
const QDateTime dtGpsTime(QDateTime::fromMSecsSinceEpoch(m_GpsTime * 1000LL));
|
||||
m_ToolTipText[e_ColGpsTime] = QStringLiteral("%1<br><nobr>Unixzeit: %2 <b>0x%3</b></nobr>")
|
||||
.arg(dtGpsTime.toString(QLatin1String("ddd, MMM dd, yyyy hh:mm:ss")))
|
||||
.arg(dtGpsTime.toString(QStringLiteral("ddd, MMM dd, yyyy hh:mm:ss")))
|
||||
.arg(m_GpsTime)
|
||||
.arg(m_GpsTime, 8, 16, QLatin1Char('0'));
|
||||
}
|
||||
@@ -487,12 +490,12 @@ void LogViewTelegram::createToolTipTextForColName()
|
||||
{
|
||||
const QString jsonStr = QString::fromUtf8(QJsonDocument(m_json).toJson(QJsonDocument::JsonFormat::Indented));
|
||||
|
||||
m_ToolTipText[e_ColName] = QLatin1String("<table>")
|
||||
m_ToolTipText[e_ColName] = QStringLiteral("<table>")
|
||||
+ formatToolTipLine(QObject::tr("Telegram Id"), getTelId())
|
||||
+ formatToolTipLine(QObject::tr("Counter"), getUInt32(POS_CENTRAL_COUNTER))
|
||||
+ formatToolTipLine(QObject::tr("Size"), m_data.size())
|
||||
+ formatToolTipLine(QObject::tr("Json Data"), jsonStr, jsonStr.size())
|
||||
+ QLatin1String("</table>");
|
||||
+ QStringLiteral("</table>");
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -502,26 +505,26 @@ void LogViewTelegram::createToolTipTextForColName()
|
||||
{
|
||||
case N_CoPrtCnv::CoPrtCnvRadioTelegram::e_RegisterInd:
|
||||
|
||||
m_ToolTipText[e_ColName] = QLatin1String("<table>")
|
||||
m_ToolTipText[e_ColName] = QStringLiteral("<table>")
|
||||
+ formatToolTipLine(QObject::tr("Host ISSI"), m_TetraTelegram->getSrcISSI())
|
||||
+ formatToolTipLine(QObject::tr("Counter"), m_TetraTelegram->zaehler())
|
||||
+ formatToolTipLine(QObject::tr("Size"), m_data.size())
|
||||
+ QLatin1String("</table>");
|
||||
+ QStringLiteral("</table>");
|
||||
break;
|
||||
|
||||
case N_CoPrtCnv::CoPrtCnvRadioTelegram::e_RegisterRsp:
|
||||
m_ToolTipText[e_ColName] = QLatin1String("<table>")
|
||||
m_ToolTipText[e_ColName] = QStringLiteral("<table>")
|
||||
+ formatToolTipLine(QObject::tr("Registration Status"), m_TetraTelegram->getRegistrationStatusAsText(), m_TetraTelegram->getRegistrationStatus())
|
||||
+ formatToolTipLine(QObject::tr("Counter"), m_TetraTelegram->zaehler())
|
||||
+ formatToolTipLine(QObject::tr("Size"), m_data.size())
|
||||
+ QLatin1String("</table>");
|
||||
+ QStringLiteral("</table>");
|
||||
break;
|
||||
|
||||
case N_CoPrtCnv::CoPrtCnvRadioTelegram::e_DataIndReq: {
|
||||
int frameSize = 1;
|
||||
if(m_TetraTelegram->getWithCrc())
|
||||
frameSize += 2;
|
||||
m_ToolTipText[e_ColName] = QLatin1String("<table>")
|
||||
m_ToolTipText[e_ColName] = QStringLiteral("<table>")
|
||||
+ formatToolTipLine(QObject::tr("Source ISSI"), m_TetraTelegram->getSrcISSI())
|
||||
+ formatToolTipLine(QObject::tr("Destination ISSI"), m_TetraTelegram->getDestISSI())
|
||||
+ formatToolTipLine(QObject::tr("Protocol Identifier"), m_TetraTelegram->getProtocolIdentifierAsText(), m_TetraTelegram->getProtocolIdentifier())
|
||||
@@ -534,12 +537,12 @@ void LogViewTelegram::createToolTipTextForColName()
|
||||
+ formatToolTipLine(QObject::tr("Real Payload in Bytes"), m_TetraTelegram->getLengthInBytes() - frameSize)
|
||||
+ formatToolTipLine(QObject::tr("Counter"), m_TetraTelegram->zaehler())
|
||||
+ formatToolTipLine(QObject::tr("Size"), m_data.size())
|
||||
+ QLatin1String("</table>");
|
||||
+ QStringLiteral("</table>");
|
||||
break;
|
||||
}
|
||||
|
||||
case N_CoPrtCnv::CoPrtCnvRadioTelegram::e_ReportIndReq:
|
||||
m_ToolTipText[e_ColName] = QLatin1String("<table>")
|
||||
m_ToolTipText[e_ColName] = QStringLiteral("<table>")
|
||||
+ formatToolTipLine(QObject::tr("Source ISSI"), m_TetraTelegram->getSrcISSI())
|
||||
+ formatToolTipLine(QObject::tr("Destination ISSI"), m_TetraTelegram->getDestISSI())
|
||||
+ formatToolTipLine(QObject::tr("Protocol Identifier"), m_TetraTelegram->getProtocolIdentifierAsText(), m_TetraTelegram->getProtocolIdentifier())
|
||||
@@ -548,15 +551,15 @@ void LogViewTelegram::createToolTipTextForColName()
|
||||
+ formatToolTipLine(QObject::tr("Delivery"), m_TetraTelegram->getDeliveryAsText(), m_TetraTelegram->getDelivery())
|
||||
+ formatToolTipLine(QObject::tr("Counter"), m_TetraTelegram->zaehler())
|
||||
+ formatToolTipLine(QObject::tr("Size"), m_data.size())
|
||||
+ QLatin1String("</table>");
|
||||
+ QStringLiteral("</table>");
|
||||
break;
|
||||
|
||||
case N_CoPrtCnv::CoPrtCnvRadioTelegram::e_AirInterfaceLoadReq:
|
||||
default:
|
||||
m_ToolTipText[e_ColName] = QLatin1String("<table>")
|
||||
m_ToolTipText[e_ColName] = QStringLiteral("<table>")
|
||||
+ formatToolTipLine(QObject::tr("Counter"), m_TetraTelegram->zaehler())
|
||||
+ formatToolTipLine(QObject::tr("Size"), m_data.size())
|
||||
+ QLatin1String("</table>");
|
||||
+ QStringLiteral("</table>");
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@@ -645,24 +648,24 @@ LogViewField* LogViewTelegram::getFieldTree()
|
||||
{
|
||||
case N_CoPrtCnv::CoPrtCnvRadioTelegram::e_RegisterInd:
|
||||
m_ActOffset = START_OFFSET_TETRA_REGISTER;
|
||||
structName = QLatin1String("TETRA_register_indication_rt");
|
||||
structName = QStringLiteral("TETRA_register_indication_rt");
|
||||
break;
|
||||
|
||||
case N_CoPrtCnv::CoPrtCnvRadioTelegram::e_RegisterRsp:
|
||||
m_ActOffset = START_OFFSET_TETRA_REGISTER;
|
||||
structName = QLatin1String("TETRA_register_response_rt");
|
||||
structName = QStringLiteral("TETRA_register_response_rt");
|
||||
break;
|
||||
|
||||
case N_CoPrtCnv::CoPrtCnvRadioTelegram::e_DataIndReq:
|
||||
if (m_TetraTelegram->isLoginTelegram())
|
||||
{
|
||||
m_ActOffset = START_OFFSET_TETRA_LOGIN;
|
||||
structName = QLatin1String("TETRA_login_telegram_rt");
|
||||
structName = QStringLiteral("TETRA_login_telegram_rt");
|
||||
}
|
||||
else if (m_TetraTelegram->isNormalTelegram())
|
||||
{
|
||||
structName = getStructName();
|
||||
if (structName == QLatin1String("gef_automatic_conversion_rt"))
|
||||
if (structName == QStringLiteral("gef_automatic_conversion_rt"))
|
||||
{
|
||||
|
||||
auto centralTelegram = N_CoPrtCnv::CoPrtCnvTelegramConverter::convertToCentral(m_TetraTelegram);
|
||||
@@ -692,15 +695,15 @@ LogViewField* LogViewTelegram::getFieldTree()
|
||||
{
|
||||
case N_CoPrtCnv::CoPrtCnvRadioTelegram::e_FirstFragment:
|
||||
m_ActOffset = START_OFFSET_TETRA_FRAGMENT;
|
||||
structName = QLatin1String("TETRA_first_fragment_rt");
|
||||
structName = QStringLiteral("TETRA_first_fragment_rt");
|
||||
break;
|
||||
case N_CoPrtCnv::CoPrtCnvRadioTelegram::e_MiddleFragment:
|
||||
m_ActOffset = START_OFFSET_TETRA_FRAGMENT;
|
||||
structName = QLatin1String("TETRA_middle_fragment_rt");
|
||||
structName = QStringLiteral("TETRA_middle_fragment_rt");
|
||||
break;
|
||||
case N_CoPrtCnv::CoPrtCnvRadioTelegram::e_LastFragment:
|
||||
m_ActOffset = START_OFFSET_TETRA_FRAGMENT;
|
||||
structName = QLatin1String("TETRA_last_fragment_rt");
|
||||
structName = QStringLiteral("TETRA_last_fragment_rt");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -710,22 +713,22 @@ LogViewField* LogViewTelegram::getFieldTree()
|
||||
|
||||
case N_CoPrtCnv::CoPrtCnvRadioTelegram::e_GroupMonitorReq:
|
||||
m_ActOffset = START_OFFSET_TETRA_REGISTER;
|
||||
structName = QLatin1String("TETRA_group_monitoring_ind_rt");
|
||||
structName = QStringLiteral("TETRA_group_monitoring_ind_rt");
|
||||
break;
|
||||
|
||||
case N_CoPrtCnv::CoPrtCnvRadioTelegram::e_StatusIndReq:
|
||||
m_ActOffset = START_OFFSET_TETRA_REGISTER;
|
||||
structName = QLatin1String("TETRA_status_ind_req_rt");
|
||||
structName = QStringLiteral("TETRA_status_ind_req_rt");
|
||||
break;
|
||||
|
||||
case N_CoPrtCnv::CoPrtCnvRadioTelegram::e_AirInterfaceLoadReq:
|
||||
m_ActOffset = START_OFFSET_TETRA_AIRLOAD;
|
||||
structName = QLatin1String("TETRA_air_interface_load_req_rt");
|
||||
structName = QStringLiteral("TETRA_air_interface_load_req_rt");
|
||||
break;
|
||||
|
||||
default:
|
||||
m_ActOffset = 0;
|
||||
structName = QLatin1String("TETRA_unknown_PDU_rt");
|
||||
structName = QStringLiteral("TETRA_unknown_PDU_rt");
|
||||
break;
|
||||
}
|
||||
return getFieldTree(structName, structName, 1);
|
||||
@@ -1095,7 +1098,7 @@ LogViewField* LogViewTelegram::getFieldTree(const QString& a_type, const QString
|
||||
return getFieldTree(xdrElement->getName(), a_name, a_arraySize);
|
||||
}
|
||||
}
|
||||
Q_FALLTHROUGH();
|
||||
[[fallthrough]];
|
||||
case LogViewXdrElement::e_KindStandardType:
|
||||
{
|
||||
|
||||
@@ -1471,10 +1474,10 @@ void LogViewTelegram::setJsonValue(const QStringList &path, const QJsonValue &va
|
||||
{
|
||||
m_data.clear();
|
||||
updateJsonValue(path, val, m_json);
|
||||
if (path.size() && path.last() == QLatin1String("equipmentNumber"))
|
||||
m_ParticipantId = m_json.value(QLatin1String("data"))
|
||||
.toObject().value(QLatin1String("header"))
|
||||
.toObject().value(QLatin1String("equipmentNumber")).toInt();
|
||||
if (path.size() && path.last() == QStringLiteral("equipmentNumber"))
|
||||
m_ParticipantId = m_json.value(QStringLiteral("data"))
|
||||
.toObject().value(QStringLiteral("header"))
|
||||
.toObject().value(QStringLiteral("equipmentNumber")).toInt();
|
||||
}
|
||||
|
||||
|
||||
@@ -1485,7 +1488,7 @@ void LogViewTelegram::updateJsonValue(const QStringList &path, const QJsonValue
|
||||
if (path.size() > 1)
|
||||
{
|
||||
QString key = path.first();
|
||||
static const QLatin1String arrayMarker(QLatin1String("array: "));
|
||||
static const QString arrayMarker = QStringLiteral("array: ");
|
||||
const bool isArray = key.startsWith(arrayMarker);
|
||||
if (isArray)
|
||||
{
|
||||
@@ -1518,11 +1521,11 @@ void LogViewTelegram::updateJsonValue(const QStringList &path, const QJsonValue
|
||||
return;
|
||||
|
||||
const QString &key = path.first();
|
||||
static const QLatin1String indexMarker(QLatin1String("index: "));
|
||||
static const QString indexMarker = QStringLiteral("index: ");
|
||||
if (!key.startsWith(indexMarker))
|
||||
return;
|
||||
|
||||
const int arrayIdx = key.midRef(indexMarker.size()).toInt();
|
||||
const int arrayIdx = QStringView(key).mid(indexMarker.size()).toInt();
|
||||
while (arr.size() <= arrayIdx)
|
||||
arr.append(QJsonValue());
|
||||
|
||||
@@ -1543,13 +1546,13 @@ void LogViewTelegram::updateJsonValue(const QStringList &path, const QJsonValue
|
||||
|
||||
QIcon LogViewTelegram::getIcon() const
|
||||
{
|
||||
static const QIcon c2p(QLatin1String(":/image/C2P.png"));
|
||||
static const QIcon p2c(QLatin1String(":/image/P2C.png"));
|
||||
static const QIcon w2p(QLatin1String(":/image/W2P.png"));
|
||||
static const QIcon p2w(QLatin1String(":/image/P2W.png"));
|
||||
static const QIcon t2p(QLatin1String(":/image/T2P.png"));
|
||||
static const QIcon p2t(QLatin1String(":/image/P2T.png"));
|
||||
static const QIcon unk(QLatin1String(":/image/Unknown.png"));
|
||||
static const QIcon c2p(QStringLiteral(":/image/C2P.png"));
|
||||
static const QIcon p2c(QStringLiteral(":/image/P2C.png"));
|
||||
static const QIcon w2p(QStringLiteral(":/image/W2P.png"));
|
||||
static const QIcon p2w(QStringLiteral(":/image/P2W.png"));
|
||||
static const QIcon t2p(QStringLiteral(":/image/T2P.png"));
|
||||
static const QIcon p2t(QStringLiteral(":/image/P2T.png"));
|
||||
static const QIcon unk(QStringLiteral(":/image/Unknown.png"));
|
||||
N_CoPrtCnv::CoPrtCnvLogHeader::E_CoPrtCnvProtocol protocol, dest;
|
||||
protocol =(N_CoPrtCnv::CoPrtCnvLogHeader::E_CoPrtCnvProtocol)(m_Destination & N_CoPrtCnv::CoPrtCnvLogHeader::e_DestProtocolMask);
|
||||
dest = (N_CoPrtCnv::CoPrtCnvLogHeader::E_CoPrtCnvProtocol)(m_Destination & N_CoPrtCnv::CoPrtCnvLogHeader::e_DestDirectionMask);
|
||||
@@ -1627,10 +1630,10 @@ void LogViewTelegram::showMessageBox(const QString& a_errorText, const QString&
|
||||
quint64 logTimeMicroSec = m_LogTime & 0x00FFFFFFFFULL;
|
||||
const QDateTime dt(QDateTime::fromMSecsSinceEpoch(logTimeSec * 1000 + logTimeMicroSec/1000));
|
||||
const QString destStr((m_Destination&N_CoPrtCnv::CoPrtCnvLogHeader::e_DestDirectionMask)==N_CoPrtCnv::CoPrtCnvLogHeader::e_DestSend ?
|
||||
QLatin1String("gesendete") : QLatin1String("gelesene"));
|
||||
QStringLiteral("gesendete") : QStringLiteral("gelesene"));
|
||||
QMessageBox::warning(QApplication::topLevelWidgets()[0], a_title,
|
||||
QString::fromUtf8("Das %5 Telegramm mit Protokoll %6 von %1 (Unix-Zeit: %2) und Länge %3 ist fehlerhaft:<br><br><b>%4</b>")
|
||||
.arg(dt.toString(Qt::SystemLocaleLongDate)).arg(logTimeSec).arg(m_data.size()).arg(a_errorText, destStr).arg(m_Protocol));
|
||||
.arg(QLocale().toString(dt, QLocale::LongFormat)).arg(logTimeSec).arg(m_data.size()).arg(a_errorText, destStr).arg(m_Protocol));
|
||||
}
|
||||
|
||||
|
||||
@@ -1667,12 +1670,12 @@ uint16_t LogViewTelegram::getDynArraySize(uint16_t& a_offset) const
|
||||
|
||||
QString LogViewTelegram::formatToolTipLine(const QString& a_name, const QString& a_text, const uint32_t a_value)
|
||||
{
|
||||
static const QString s1(QLatin1String("<tr><td><nobr>%1: </nobr></td><td align=right><b><nobr>%2</nobr></b></td><td align=right><nobr>0x%3</nobr></td><td align=right><nobr>0b%4</nobr></td></tr>"));
|
||||
static const QString s2(QLatin1String("%1"));
|
||||
static const QString s1(QStringLiteral("<tr><td><nobr>%1: </nobr></td><td align=right><b><nobr>%2</nobr></b></td><td align=right><nobr>0x%3</nobr></td><td align=right><nobr>0b%4</nobr></td></tr>"));
|
||||
static const QString s2(QStringLiteral("%1"));
|
||||
QString num16 = s2.arg(a_value, 2, 16, QLatin1Char('0'));
|
||||
QString num2 = s2.arg(a_value, 8, 2, QLatin1Char('0'));
|
||||
QString ret = s1.arg(a_name, a_text, num16, num2);
|
||||
ret = ret.replace(QLatin1Char('\n'), QLatin1String("<br/>"));
|
||||
ret = ret.replace(QLatin1Char('\n'), QStringLiteral("<br/>"));
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user