diff options
Diffstat (limited to 'src/plugins/perfprofiler/perfdatareader.cpp')
-rw-r--r-- | src/plugins/perfprofiler/perfdatareader.cpp | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/src/plugins/perfprofiler/perfdatareader.cpp b/src/plugins/perfprofiler/perfdatareader.cpp index 4902c1fd20..dfdbbb0342 100644 --- a/src/plugins/perfprofiler/perfdatareader.cpp +++ b/src/plugins/perfprofiler/perfdatareader.cpp @@ -54,6 +54,8 @@ #include <QTextStream> #include <QtEndian> +using namespace ProjectExplorer; + namespace PerfProfiler { namespace Internal { @@ -77,7 +79,7 @@ PerfDataReader::PerfDataReader(QObject *parent) : emit finished(); } if (exitCode != 0) { - QMessageBox::warning(Core::ICore::mainWindow(), + QMessageBox::warning(Core::ICore::dialogParent(), tr("Perf Data Parser Failed"), tr("The Perf data parser failed to process all the samples. " "Your trace is incomplete. The exit code was %1.") @@ -105,7 +107,7 @@ PerfDataReader::PerfDataReader(QObject *parent) : switch (e) { case QProcess::FailedToStart: emit processFailed(tr("perfparser failed to start.")); - QMessageBox::warning(Core::ICore::mainWindow(), + QMessageBox::warning(Core::ICore::dialogParent(), tr("Perf Data Parser Failed"), tr("Could not start the perfparser utility program. " "Make sure a working Perf parser is available at the location " @@ -113,7 +115,7 @@ PerfDataReader::PerfDataReader(QObject *parent) : "variable.")); break; case QProcess::Crashed: - QMessageBox::warning(Core::ICore::mainWindow(), + QMessageBox::warning(Core::ICore::dialogParent(), tr("Perf Data Parser Crashed"), tr("This is a bug. Please report it.")); break; @@ -289,15 +291,14 @@ bool PerfDataReader::acceptsSamples() const return m_recording; } -QStringList PerfDataReader::collectArguments(const QString &executableDirPath, - const ProjectExplorer::Kit *kit) const +QStringList PerfDataReader::collectArguments(const QString &executableDirPath, const Kit *kit) const { QStringList arguments; if (!executableDirPath.isEmpty()) - arguments << QLatin1String("--app") << executableDirPath; + arguments << "--app" << executableDirPath; if (QtSupport::BaseQtVersion *qt = QtSupport::QtKitAspect::qtVersion(kit)) { - arguments << QLatin1String("--extra") << QString::fromLatin1("%1%5%2%5%3%5%4") + arguments << "--extra" << QString("%1%5%2%5%3%5%4") .arg(QDir::toNativeSeparators(qt->libraryPath().toString())) .arg(QDir::toNativeSeparators(qt->pluginPath().toString())) .arg(QDir::toNativeSeparators(qt->hostBinPath().toString())) @@ -305,20 +306,18 @@ QStringList PerfDataReader::collectArguments(const QString &executableDirPath, .arg(QDir::listSeparator()); } - if (auto toolChain = ProjectExplorer::ToolChainKitAspect::toolChain( - kit, ProjectExplorer::Constants::CXX_LANGUAGE_ID)) { - ProjectExplorer::Abi::Architecture architecture = toolChain->targetAbi().architecture(); - if (architecture == ProjectExplorer::Abi::ArmArchitecture && - toolChain->targetAbi().wordWidth() == 64) { - arguments << QLatin1String("--arch") << QLatin1String("aarch64"); - } else if (architecture != ProjectExplorer::Abi::UnknownArchitecture) { - arguments << QLatin1String("--arch") << ProjectExplorer::Abi::toString(architecture); + if (auto toolChain = ToolChainKitAspect::cxxToolChain(kit)) { + Abi::Architecture architecture = toolChain->targetAbi().architecture(); + if (architecture == Abi::ArmArchitecture && toolChain->targetAbi().wordWidth() == 64) { + arguments << "--arch" << "aarch64"; + } else if (architecture != Abi::UnknownArchitecture) { + arguments << "--arch" << Abi::toString(architecture); } } - QString sysroot = ProjectExplorer::SysRootKitAspect::sysRoot(kit).toString(); + QString sysroot = SysRootKitAspect::sysRoot(kit).toString(); if (!sysroot.isEmpty()) - arguments << QLatin1String("--sysroot") << sysroot; + arguments << "--sysroot" << sysroot; return arguments; } @@ -348,7 +347,7 @@ void PerfDataReader::writeChunk() m_input.disconnect(); m_input.kill(); emit finished(); - QMessageBox::warning(Core::ICore::mainWindow(), + QMessageBox::warning(Core::ICore::dialogParent(), tr("Cannot Send Data to Perf Data Parser"), tr("The Perf data parser does not accept further input. " "Your trace is incomplete.")); |