PerfConfigWidget: Connect to QtcProcess::done() signal

Instead of connecting to errorOccurred() and finished() signals.

Change-Id: Ib83c0f94eafe401b458732217f8b34cffe7b2d05
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
Jarek Kobus
2022-04-14 11:11:49 +02:00
parent 876047d6cf
commit cd2fc99e35
2 changed files with 11 additions and 18 deletions

View File

@@ -149,11 +149,8 @@ void PerfConfigWidget::setTarget(ProjectExplorer::Target *target)
return;
}
connect(m_process.get(), &QtcProcess::finished,
this, &PerfConfigWidget::handleProcessFinished);
connect(m_process.get(), &QtcProcess::errorOccurred,
this, &PerfConfigWidget::handleProcessError);
connect(m_process.get(), &QtcProcess::done,
this, &PerfConfigWidget::handleProcessDone);
useTracePointsButton->setEnabled(true);
}
@@ -182,8 +179,15 @@ void PerfConfigWidget::readTracePoints()
}
}
void PerfConfigWidget::handleProcessFinished()
void PerfConfigWidget::handleProcessDone()
{
if (m_process->error() == QProcess::FailedToStart) {
Core::AsynchronousMessageBox::warning(
tr("Cannot List Trace Points"),
tr("\"perf probe -l\" failed to start. Is perf installed?"));
useTracePointsButton->setEnabled(true);
return;
}
const QList<QByteArray> lines =
m_process->readAllStandardOutput().append(m_process->readAllStandardError())
.split('\n');
@@ -220,16 +224,6 @@ void PerfConfigWidget::handleProcessFinished()
useTracePointsButton->setEnabled(true);
}
void PerfConfigWidget::handleProcessError(QProcess::ProcessError error)
{
if (error == QProcess::FailedToStart) {
Core::AsynchronousMessageBox::warning(
tr("Cannot List Trace Points"),
tr("\"perf probe -l\" failed to start. Is perf installed?"));
useTracePointsButton->setEnabled(true);
}
}
QWidget *SettingsDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option,
const QModelIndex &index) const
{

View File

@@ -56,8 +56,7 @@ private:
void apply() final;
void readTracePoints();
void handleProcessFinished();
void handleProcessError(QProcess::ProcessError error);
void handleProcessDone();
PerfSettings *m_settings;
std::unique_ptr<Utils::QtcProcess> m_process;