MainWindow::MainWindow()
: QMainWindow(),
+ m_api(trace::API_GL),
+ m_initalCallNum(-1),
m_selectedEvent(0),
m_stateEvent(0),
m_nonDefaultsLookupEvent(0)
}
}
-void MainWindow::loadTrace(const QString &fileName)
+void MainWindow::loadTrace(const QString &fileName, int callNum)
{
if (!QFile::exists(fileName)) {
QMessageBox::warning(this, tr("File Missing"),
return;
}
+ m_initalCallNum = callNum;
newTraceFile(fileName);
}
if (event && event->type() == ApiTraceEvent::Call) {
ApiTraceCall *call = static_cast<ApiTraceCall*>(event);
+ m_ui.detailsDock->setWindowTitle(
+ tr("Details View. Frame %1, Call %2")
+ .arg(call->parentFrame() ? call->parentFrame()->number : 0)
+ .arg(call->index()));
m_ui.detailsWebView->setHtml(call->toHtml());
m_ui.detailsDock->show();
if (call->hasBinaryData()) {
QFileInfo info(m_trace->fileName());
statusBar()->showMessage(
tr("Loaded %1").arg(info.fileName()), 3000);
+ if (m_initalCallNum >= 0) {
+ m_trace->findCallIndex(m_initalCallNum);
+ m_initalCallNum = -1;
+ }
}
void MainWindow::replayTrace(bool dumpState)
}
m_retracer->setFileName(m_trace->fileName());
+ m_retracer->setAPI(m_api);
m_retracer->setCaptureState(dumpState);
if (m_retracer->captureState() && m_selectedEvent) {
int index = 0;
int width = surface.size().width();
int height = surface.size().height();
QString descr =
- QString::fromLatin1("%1, %2 x %3")
+ QString::fromLatin1("%1, %2, %3 x %4")
.arg(label)
+ .arg(surface.formatName())
.arg(width)
.arg(height);
void MainWindow::showSettings()
{
SettingsDialog dialog;
+ dialog.setAPI(m_api);
dialog.setFilterModel(m_proxyModel);
dialog.exec();
+
+ m_api = dialog.getAPI();
}
void MainWindow::openHelp(const QUrl &url)
connect(m_ui.actionOptions, SIGNAL(triggered()),
this, SLOT(showSettings()));
- connect(m_ui.callView, SIGNAL(activated(const QModelIndex &)),
+ connect(m_ui.callView->selectionModel(), SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)),
this, SLOT(callItemSelected(const QModelIndex &)));
connect(m_ui.callView, SIGNAL(customContextMenuRequested(QPoint)),
this, SLOT(customContextMenuRequested(QPoint)));
connect(m_ui.actionShowErrorsDock, SIGNAL(triggered(bool)),
m_ui.errorsDock, SLOT(setVisible(bool)));
connect(m_ui.errorsTreeWidget,
- SIGNAL(currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)),
+ SIGNAL(itemActivated(QTreeWidgetItem*, int)),
this, SLOT(slotErrorSelected(QTreeWidgetItem*)));
}