1 #include "mainwindow.h"
3 #include "apitracecall.h"
4 #include "apicalldelegate.h"
5 #include "apitracemodel.h"
6 #include "apitracefilter.h"
12 #include <QFileDialog>
17 MainWindow::MainWindow()
22 m_model = new ApiTraceModel();
23 m_proxyModel = new ApiTraceFilter();
24 m_proxyModel->setSourceModel(m_model);
25 m_ui.callView->setModel(m_proxyModel);
26 m_ui.callView->setItemDelegate(new ApiCallDelegate);
27 for (int column = 0; column < m_model->columnCount(); ++column)
28 m_ui.callView->resizeColumnToContents(column);
30 QToolBar *toolBar = addToolBar(tr("Navigation"));
31 m_filterEdit = new QLineEdit(toolBar);
32 toolBar->addWidget(m_filterEdit);
34 m_ui.detailsDock->hide();
36 connect(m_ui.actionOpen, SIGNAL(triggered()),
37 this, SLOT(openTrace()));
38 connect(m_ui.callView, SIGNAL(activated(const QModelIndex &)),
39 this, SLOT(callItemSelected(const QModelIndex &)));
40 connect(m_filterEdit, SIGNAL(returnPressed()),
41 this, SLOT(filterTrace()));
44 void MainWindow::openTrace()
47 QFileDialog::getOpenFileName(
51 tr("Trace Files (*.trace)"));
53 qDebug()<< "File name : " <<fileName;
55 m_model->loadTraceFile(fileName);
58 void MainWindow::loadTrace(const QString &fileName)
60 qDebug()<< "Loading : " <<fileName;
62 m_model->loadTraceFile(fileName);
65 void MainWindow::callItemSelected(const QModelIndex &index)
67 ApiTraceCall *call = index.data().value<ApiTraceCall*>();
69 m_ui.detailsWebView->setHtml(call->richText());
70 m_ui.detailsDock->show();
72 m_ui.detailsDock->hide();
76 void MainWindow::filterTrace()
78 m_proxyModel->setFilterString(m_filterEdit->text());
81 #include "mainwindow.moc"