CtfVisualizer: Convert to using Tr::tr

Change-Id: Ide0c6556642c20a200fd72ec8e9596950af823b4
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Alessandro Portale
2022-09-01 12:13:45 +02:00
parent 55b17f8908
commit 58b0f2d8f9
8 changed files with 52 additions and 68 deletions

View File

@@ -3,6 +3,7 @@
#include "ctfstatisticsmodel.h"
#include "ctfvisualizerconstants.h"
#include "ctfvisualizertr.h"
#include <tracing/timelineformattime.h>
@@ -167,19 +168,19 @@ QVariant CtfStatisticsModel::headerData(int section, Qt::Orientation orientation
switch (section) {
case Column::Title:
return tr("Title");
return Tr::tr("Title");
case Column::Count:
return tr("Count");
return Tr::tr("Count");
case Column::TotalDuration:
return tr("Total Time");
return Tr::tr("Total Time");
case Column::RelativeDuration:
return tr("Percentage");
return Tr::tr("Percentage");
case Column::MinDuration:
return tr("Minimum Time");
return Tr::tr("Minimum Time");
case Column::AvgDuration:
return tr("Average Time");
return Tr::tr("Average Time");
case Column::MaxDuration:
return tr("Maximum Time");
return Tr::tr("Maximum Time");
default:
return "";
}

View File

@@ -5,6 +5,7 @@
#include "ctftracemanager.h"
#include "ctfvisualizerconstants.h"
#include "ctfvisualizertr.h"
#include <tracing/timelineformattime.h>
#include <tracing/timelinemodelaggregator.h>
@@ -54,7 +55,8 @@ QVariantList CtfTimelineModel::labels() const
for (int i = 0; i < m_maxStackSize; ++i) {
QVariantMap element;
element.insert(QLatin1String("description"), QStringLiteral("- ").append(tr("Stack Level %1").arg(i)));
element.insert(QLatin1String("description"),
QStringLiteral("- ").append(Tr::tr("Stack Level %1").arg(i)));
element.insert(QLatin1String("id"), m_counterNames.size() + i);
result << element;
}
@@ -68,12 +70,15 @@ QVariantMap CtfTimelineModel::orderedDetails(int index) const
if (counterIdx > 0) {
// this item is a counter, add its properties:
info.insert(0, {{}, QString::fromStdString(m_counterNames.at(counterIdx - 1))});
info.insert(4, {tr("Value"), QString::number(double(m_counterValues.at(index)), 'g')});
info.insert(5, {tr("Min"), QString::number(double(m_counterData.at(counterIdx - 1).min), 'g')});
info.insert(6, {tr("Max"), QString::number(double(m_counterData.at(counterIdx - 1).max), 'g')});
info.insert(4, {Tr::tr("Value"),
QString::number(double(m_counterValues.at(index)), 'g')});
info.insert(5, {Tr::tr("Min"),
QString::number(double(m_counterData.at(counterIdx - 1).min), 'g')});
info.insert(6, {Tr::tr("Max"),
QString::number(double(m_counterData.at(counterIdx - 1).max), 'g')});
}
info.insert(2, {tr("Start"), Timeline::formatTime(startTime(index))});
info.insert(3, {tr("Wall Duration"), Timeline::formatTime(duration(index))});
info.insert(2, {Tr::tr("Start"), Timeline::formatTime(startTime(index))});
info.insert(3, {Tr::tr("Wall Duration"), Timeline::formatTime(duration(index))});
QVariantMap data;
QString title = info.value(0).second;
data.insert("title", title);
@@ -176,8 +181,8 @@ void CtfTimelineModel::finalize(double traceBegin, double traceEnd, const QStrin
int index = m_openEventIds.pop();
qint64 duration = normalizedEnd - startTime(index);
insertEnd(index, duration);
m_details[index].insert(3, {reuse(tr("Wall Duration")), Timeline::formatTime(duration)});
m_details[index].insert(6, {reuse(tr("Unfinished")), reuse(tr("true"))});
m_details[index].insert(3, {reuse(Tr::tr("Wall Duration")), Timeline::formatTime(duration)});
m_details[index].insert(6, {reuse(Tr::tr("Unfinished")), reuse(Tr::tr("true"))});
}
computeNesting();
@@ -211,7 +216,7 @@ QString CtfTimelineModel::eventTitle(int index) const
void CtfTimelineModel::updateName()
{
if (m_threadName.isEmpty()) {
setDisplayName(tr("Thread %1").arg(m_threadId));
setDisplayName(Tr::tr("Thread %1").arg(m_threadId));
} else {
setDisplayName(QString("%1 (%2)").arg(m_threadName).arg(m_threadId));
}
@@ -281,24 +286,25 @@ qint64 CtfTimelineModel::newStackEvent(const json &event, qint64 normalizedTime,
m_details[index].insert(0, {{}, reuse(QString::fromStdString(name))});
}
if (event.contains(CtfEventCategoryKey)) {
m_details[index].insert(1, {reuse(tr("Categories")), reuse(QString::fromStdString(event[CtfEventCategoryKey]))});
m_details[index].insert(1, {reuse(Tr::tr("Categories")),
reuse(QString::fromStdString(event[CtfEventCategoryKey]))});
}
if (event.contains("args") && !event["args"].empty()) {
QString argsJson = QString::fromStdString(event["args"].dump(1));
// strip leading and trailing curled brackets:
argsJson = argsJson.size() > 4 ? argsJson.mid(2, argsJson.size() - 4) : argsJson;
m_details[index].insert(4, {reuse(tr("Arguments")), reuse(argsJson)});
m_details[index].insert(4, {reuse(Tr::tr("Arguments")), reuse(argsJson)});
}
if (eventPhase == CtfEventTypeInstant) {
m_details[index].insert(6, {reuse(tr("Instant")), reuse(tr("true"))});
m_details[index].insert(6, {reuse(Tr::tr("Instant")), reuse(Tr::tr("true"))});
if (event.contains("s")) {
std::string scope = event["s"];
if (scope == "g") {
m_details[index].insert(7, {reuse(tr("Scope")), reuse(tr("global"))});
m_details[index].insert(7, {reuse(Tr::tr("Scope")), reuse(Tr::tr("global"))});
} else if (scope == "p") {
m_details[index].insert(7, {reuse(tr("Scope")), reuse(tr("process"))});
m_details[index].insert(7, {reuse(Tr::tr("Scope")), reuse(Tr::tr("process"))});
} else {
m_details[index].insert(7, {reuse(tr("Scope")), reuse(tr("thread"))});
m_details[index].insert(7, {reuse(Tr::tr("Scope")), reuse(Tr::tr("thread"))});
}
}
}
@@ -318,7 +324,7 @@ qint64 CtfTimelineModel::closeStackEvent(const json &event, double timestamp, qi
QString argsJson = QString::fromStdString(event["args"].dump(1));
// strip leading and trailing curled brackets:
argsJson = argsJson.size() > 4 ? argsJson.mid(2, argsJson.size() - 4) : argsJson;
m_details[index].insert(5, {reuse(tr("Return Arguments")), reuse(argsJson)});
m_details[index].insert(5, {reuse(Tr::tr("Return Arguments")), reuse(argsJson)});
}
return duration;
}

View File

@@ -2,9 +2,10 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0
#include "ctftracemanager.h"
#include "ctftimelinemodel.h"
#include "ctfstatisticsmodel.h"
#include "ctftimelinemodel.h"
#include "ctfvisualizerconstants.h"
#include "ctfvisualizertr.h"
#include <coreplugin/icore.h>
#include <tracing/timelinemodelaggregator.h>
@@ -137,8 +138,8 @@ void CtfTraceManager::load(const QString &filename)
std::ifstream file(filename.toStdString());
if (!file.is_open()) {
QMessageBox::warning(Core::ICore::dialogParent(),
tr("CTF Visualizer"),
tr("Cannot read the CTF file."));
Tr::tr("CTF Visualizer"),
Tr::tr("Cannot read the CTF file."));
return;
}
CtfJsonParserCallback ctfParser(this);
@@ -159,8 +160,8 @@ void CtfTraceManager::finalize()
if (!userConsentToIgnoreDeepTraces) {
QMessageBox::StandardButton answer
= QMessageBox::question(Core::ICore::dialogParent(),
tr("CTF Visualizer"),
tr("The trace contains threads with stack depth > "
Tr::tr("CTF Visualizer"),
Tr::tr("The trace contains threads with stack depth > "
"512.\nDo you want to display them anyway?"),
QMessageBox::Yes | QMessageBox::No,
QMessageBox::No);

View File

@@ -46,13 +46,13 @@ CtfVisualizerTool::CtfVisualizerTool()
{
ActionContainer *menu = ActionManager::actionContainer(Debugger::Constants::M_DEBUG_ANALYZER);
ActionContainer *options = ActionManager::createMenu(Constants::CtfVisualizerMenuId);
options->menu()->setTitle(tr("Chrome Trace Format Viewer"));
options->menu()->setTitle(Tr::tr("Chrome Trace Format Viewer"));
menu->addMenu(options, Debugger::Constants::G_ANALYZER_REMOTE_TOOLS);
options->menu()->setEnabled(true);
const Core::Context globalContext(Core::Constants::C_GLOBAL);
m_loadJson.reset(new QAction(tr("Load JSON File"), options));
m_loadJson.reset(new QAction(Tr::tr("Load JSON File"), options));
Core::Command *command = Core::ActionManager::registerAction(m_loadJson.get(), Constants::CtfVisualizerTaskLoadJson,
globalContext);
connect(m_loadJson.get(), &QAction::triggered, this, &CtfVisualizerTool::loadJson);
@@ -61,7 +61,7 @@ CtfVisualizerTool::CtfVisualizerTool()
m_perspective.setAboutToActivateCallback([this]() { createViews(); });
m_restrictToThreadsButton->setIcon(Utils::Icons::FILTER.icon());
m_restrictToThreadsButton->setToolTip(tr("Restrict to Threads"));
m_restrictToThreadsButton->setToolTip(Tr::tr("Restrict to Threads"));
m_restrictToThreadsButton->setPopupMode(QToolButton::InstantPopup);
m_restrictToThreadsButton->setProperty("noArrow", true);
m_restrictToThreadsButton->setMenu(m_restrictToThreadsMenu);
@@ -76,11 +76,11 @@ CtfVisualizerTool::~CtfVisualizerTool() = default;
void CtfVisualizerTool::createViews()
{
m_traceView = new CtfVisualizerTraceView(nullptr, this);
m_traceView->setWindowTitle(tr("Timeline"));
m_traceView->setWindowTitle(Tr::tr("Timeline"));
QMenu *contextMenu = new QMenu(m_traceView);
contextMenu->addAction(m_loadJson.get());
connect(contextMenu->addAction(tr("Reset Zoom")), &QAction::triggered, this, [this](){
connect(contextMenu->addAction(Tr::tr("Reset Zoom")), &QAction::triggered, this, [this](){
m_zoomControl->setRange(m_zoomControl->traceStart(), m_zoomControl->traceEnd());
});
@@ -93,7 +93,7 @@ void CtfVisualizerTool::createViews()
m_perspective.addWindow(m_traceView, Utils::Perspective::OperationType::SplitVertical, nullptr);
m_statisticsView = new CtfStatisticsView(m_statisticsModel.get());
m_statisticsView->setWindowTitle(tr("Statistics"));
m_statisticsView->setWindowTitle(Tr::tr("Statistics"));
connect(m_statisticsView, &CtfStatisticsView::eventTypeSelected, [this] (QString title)
{
int typeId = m_traceManager->getSelectionId(title.toStdString());
@@ -148,8 +148,8 @@ void CtfVisualizerTool::loadJson()
m_isLoading = true;
QString filename = QFileDialog::getOpenFileName(
ICore::dialogParent(), tr("Load Chrome Trace Format File"),
"", tr("JSON File (*.json)"));
ICore::dialogParent(), Tr::tr("Load Chrome Trace Format File"),
"", Tr::tr("JSON File (*.json)"));
if (filename.isEmpty()) {
m_isLoading = false;
return;
@@ -170,8 +170,8 @@ void CtfVisualizerTool::loadJson()
// in main thread:
if (m_traceManager->isEmpty()) {
QMessageBox::warning(Core::ICore::dialogParent(),
tr("CTF Visualizer"),
tr("The file does not contain any trace data."));
Tr::tr("CTF Visualizer"),
Tr::tr("The file does not contain any trace data."));
} else {
m_traceManager->finalize();
m_perspective.select();
@@ -189,7 +189,7 @@ void CtfVisualizerTool::loadJson()
m_modelAggregator->moveToThread(thread);
thread->start();
Core::ProgressManager::addTask(*task, tr("Loading CTF File"), CtfVisualizerTaskLoadJson);
Core::ProgressManager::addTask(*task, Tr::tr("Loading CTF File"), CtfVisualizerTaskLoadJson);
}
} // namespace Internal

View File

@@ -4,6 +4,7 @@
#pragma once
#include "ctfvisualizerconstants.h"
#include "ctfvisualizertr.h"
#include <debugger/debuggermainwindow.h>
#include <tracing/timelinemodelaggregator.h>
@@ -45,7 +46,7 @@ private:
void toggleThreadRestriction(QAction *action);
Utils::Perspective m_perspective{Constants::CtfVisualizerPerspectiveId,
tr("Chrome Trace Format Visualizer")};
Tr::tr("Chrome Trace Format Visualizer")};
bool m_isLoading;
QScopedPointer<QAction> m_loadJson;