diff --git a/qrenderdoc/Windows/PerformanceCounterViewer.cpp b/qrenderdoc/Windows/PerformanceCounterViewer.cpp index d83a010da..5309d9289 100644 --- a/qrenderdoc/Windows/PerformanceCounterViewer.cpp +++ b/qrenderdoc/Windows/PerformanceCounterViewer.cpp @@ -142,6 +142,8 @@ void PerformanceCounterViewer::CaptureCounters() ui->counterResults->setItem(row, counterIndex[results[i].counterID] + 1, new QTableWidgetItem(FormatCounterResult( results[i], counterDescriptions[results[i].counterID]))); + + ui->counterResults->item(row, 0)->setData(Qt::UserRole, results[i].eventID); } ui->counterResults->resizeColumnsToContents(); @@ -169,4 +171,18 @@ void PerformanceCounterViewer::OnLogfileClosed() void PerformanceCounterViewer::OnLogfileLoaded() { ui->captureCounters->setEnabled(true); -} \ No newline at end of file +} + +void PerformanceCounterViewer::on_counterResults_doubleClicked(const QModelIndex &index) +{ + QTableWidgetItem *item = ui->counterResults->item(index.row(), 0); + + if(item) + { + bool ok = false; + uint32_t eid = item->data(Qt::UserRole).toUInt(&ok); + + if(ok) + m_Ctx.SetEventID({}, eid, eid); + } +} diff --git a/qrenderdoc/Windows/PerformanceCounterViewer.h b/qrenderdoc/Windows/PerformanceCounterViewer.h index 8b2c8aeff..026053dcd 100644 --- a/qrenderdoc/Windows/PerformanceCounterViewer.h +++ b/qrenderdoc/Windows/PerformanceCounterViewer.h @@ -47,6 +47,10 @@ public: void OnLogfileClosed() override; void OnSelectedEventChanged(uint32_t eventID) override {} void OnEventChanged(uint32_t eventID) override {} +private slots: + // automatic slots + void on_counterResults_doubleClicked(const QModelIndex &index); + private: Ui::PerformanceCounterViewer *ui; ICaptureContext &m_Ctx; diff --git a/qrenderdoc/Windows/PerformanceCounterViewer.ui b/qrenderdoc/Windows/PerformanceCounterViewer.ui index 81b1e09b9..063ec9e95 100644 --- a/qrenderdoc/Windows/PerformanceCounterViewer.ui +++ b/qrenderdoc/Windows/PerformanceCounterViewer.ui @@ -73,6 +73,9 @@ + + QAbstractItemView::NoEditTriggers + false