1 #include "mainwindow.h"
3 #include "apitracecall.h"
4 #include "apicalldelegate.h"
5 #include "apitracemodel.h"
6 #include "apitracefilter.h"
11 #include <QFileDialog>
15 MainWindow::MainWindow()
20 m_model = new ApiTraceModel();
21 m_proxyModel = new ApiTraceFilter();
22 m_proxyModel->setSourceModel(m_model);
23 m_ui.callView->setModel(m_proxyModel);
24 m_ui.callView->setItemDelegate(new ApiCallDelegate);
25 for (int column = 0; column < m_model->columnCount(); ++column)
26 m_ui.callView->resizeColumnToContents(column);
28 m_ui.detailsDock->hide();
30 connect(m_ui.actionOpen, SIGNAL(triggered()),
31 this, SLOT(openTrace()));
33 connect(m_ui.callView, SIGNAL(activated(const QModelIndex &)),
34 this, SLOT(callItemSelected(const QModelIndex &)));
37 void MainWindow::openTrace()
40 QFileDialog::getOpenFileName(
44 tr("Trace Files (*.trace)"));
46 qDebug()<< "File name : " <<fileName;
48 m_model->loadTraceFile(fileName);
51 void MainWindow::loadTrace(const QString &fileName)
53 qDebug()<< "Loading : " <<fileName;
55 m_model->loadTraceFile(fileName);
58 void MainWindow::callItemSelected(const QModelIndex &index)
60 ApiTraceCall *call = index.data().value<ApiTraceCall*>();
62 m_ui.detailsWebView->setHtml(call->richText());
63 m_ui.detailsDock->show();
65 m_ui.detailsDock->hide();
69 #include "mainwindow.moc"