aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/ctfvisualizer/ctfvisualizertool.cpp
diff options
context:
space:
mode:
authorCristian Adam <cristian.adam@qt.io>2023-09-21 19:11:01 +0200
committerCristian Adam <cristian.adam@qt.io>2023-09-21 18:39:53 +0000
commited1568309b2c7b11de0be952ea6468cb5427fbac (patch)
tree250c27f163d6c88f4d23028c98a78701e4892219 /src/plugins/ctfvisualizer/ctfvisualizertool.cpp
parent1d5ecdb5c754107129b3b275b7fbbabbf7bcd513 (diff)
CMakePM: Add CMake Profiler action
Change-Id: I17f258834724c37f0933d18b6214851be1965913 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Diffstat (limited to 'src/plugins/ctfvisualizer/ctfvisualizertool.cpp')
-rw-r--r--src/plugins/ctfvisualizer/ctfvisualizertool.cpp19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/plugins/ctfvisualizer/ctfvisualizertool.cpp b/src/plugins/ctfvisualizer/ctfvisualizertool.cpp
index 5b13573bb3f..22b6bd50473 100644
--- a/src/plugins/ctfvisualizer/ctfvisualizertool.cpp
+++ b/src/plugins/ctfvisualizer/ctfvisualizertool.cpp
@@ -58,7 +58,15 @@ CtfVisualizerTool::CtfVisualizerTool()
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);
+ connect(m_loadJson.get(), &QAction::triggered, this, [this] {
+ QString filename = m_loadJson->data().toString();
+ if (filename.isEmpty())
+ filename = QFileDialog::getOpenFileName(ICore::dialogParent(),
+ Tr::tr("Load Chrome Trace Format File"),
+ "",
+ Tr::tr("JSON File (*.json)"));
+ loadJson(filename);
+ });
options->addAction(command);
m_perspective.setAboutToActivateCallback([this]() { createViews(); });
@@ -142,21 +150,18 @@ Timeline::TimelineZoomControl *CtfVisualizerTool::zoomControl() const
return m_zoomControl.get();
}
-void CtfVisualizerTool::loadJson()
+void CtfVisualizerTool::loadJson(const QString &filename)
{
if (m_isLoading)
return;
- m_isLoading = true;
-
- QString filename = QFileDialog::getOpenFileName(
- ICore::dialogParent(), Tr::tr("Load Chrome Trace Format File"),
- "", Tr::tr("JSON File (*.json)"));
if (filename.isEmpty()) {
m_isLoading = false;
return;
}
+ m_isLoading = true;
+
auto *futureInterface = new QFutureInterface<void>();
auto *task = new QFuture<void>(futureInterface);