MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / buildCoverSection

Method buildCoverSection

app/src/Sessions/HtmlReport.cpp:337–405  ·  view source on GitHub ↗

* @brief Builds the first-page cover fragment: logo, company, title, subtitle. */

Source from the content-addressed store, hash-verified

335 * @brief Builds the first-page cover fragment: logo, company, title, subtitle.
336 */
337QString Sessions::HtmlReport::buildCoverSection() const
338{
339 const QString logoMarkup = buildCoverLogoMarkup();
340
341 const QString title =
342 escapeHtml(m_opts.documentTitle.isEmpty() ? tr("Session Report") : m_opts.documentTitle);
343
344 const QString project =
345 escapeHtml(m_data.projectTitle.isEmpty() ? tr("Untitled project") : m_data.projectTitle);
346
347 const QString subtitleLeft = escapeHtml(formatDate(m_data.startedAt));
348
349 QString authorLine;
350 if (!m_opts.authorName.isEmpty())
351 authorLine = QStringLiteral("<div>%1 <span class=\"author\">%2</span></div>")
352 .arg(escapeHtml(tr("Prepared by")), escapeHtml(m_opts.authorName));
353
354 const QString generated =
355 tr("Generated on %1")
356 .arg(QDateTime::currentDateTime().toString(QStringLiteral("MMM d, yyyy h:mm AP")));
357
358 const QString company =
359 m_opts.companyName.isEmpty()
360 ? QString()
361 : QStringLiteral("<div class=\"company\">%1</div>").arg(escapeHtml(m_opts.companyName));
362
363 const QString logoBlock = logoMarkup.isEmpty()
364 ? QString()
365 : QStringLiteral("<div class=\"logo\">%1</div>").arg(logoMarkup);
366
367 const QString facts =
368 QStringLiteral(
369 "<div class=\"cover-facts\">"
370 "<div><div class=\"fact-label\">%1</div><div class=\"fact-value\">#%2</div></div>"
371 "<div><div class=\"fact-label\">%3</div><div class=\"fact-value\">%4</div></div>"
372 "<div><div class=\"fact-label\">%5</div><div class=\"fact-value\">%6</div></div>"
373 "<div><div class=\"fact-label\">%7</div><div class=\"fact-value\">%8</div></div>"
374 "<div><div class=\"fact-label\">%9</div><div class=\"fact-value\">%10</div></div>"
375 "<div><div class=\"fact-label\">%11</div><div class=\"fact-value\">%12</div></div>"
376 "</div>")
377 .arg(escapeHtml(tr("Test ID")),
378 QString::number(m_data.sessionId),
379 escapeHtml(tr("Duration")),
380 escapeHtml(formatDuration(m_data.durationMs)),
381 escapeHtml(tr("Samples")),
382 QString::number(m_data.frameCount),
383 escapeHtml(tr("Parameters")),
384 QString::number(m_data.datasets.size()),
385 escapeHtml(tr("Started")),
386 escapeHtml(formatDate(m_data.startedAt)),
387 escapeHtml(tr("Ended")),
388 escapeHtml(formatDate(m_data.endedAt)));
389
390 return QStringLiteral("<section class=\"cover\">"
391 "%1"
392 "<div class=\"cover-body\">"
393 "%2"
394 "<h1 class=\"title\">%3</h1>"

Callers

nothing calls this directly

Calls 5

escapeHtmlFunction · 0.85
formatDateFunction · 0.85
formatDurationFunction · 0.85
isEmptyMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected