]> git.cworth.org Git - apitrace/blobdiff - gui/mainwindow.cpp
Show that we're loading a trace.
[apitrace] / gui / mainwindow.cpp
index a46914890984e6cbbdb74705fac89a7da2ec4d28..63864bfa1787b01fdee05b9c78657de986e6bc45 100644 (file)
@@ -13,6 +13,7 @@
 #include <QLineEdit>
 #include <QMessageBox>
 #include <QProcess>
+#include <QProgressBar>
 #include <QToolBar>
 #include <QWebView>
 
@@ -24,6 +25,10 @@ MainWindow::MainWindow()
     m_ui.setupUi(this);
 
     m_trace = new ApiTrace();
+    connect(m_trace, SIGNAL(startedLoadingTrace()),
+            this, SLOT(startedLoadingTrace()));
+    connect(m_trace, SIGNAL(finishedLoadingTrace()),
+            this, SLOT(finishedLoadingTrace()));
 
     m_model = new ApiTraceModel();
     m_model->setApiTrace(m_trace);
@@ -38,6 +43,11 @@ MainWindow::MainWindow()
     m_filterEdit = new QLineEdit(toolBar);
     toolBar->addWidget(m_filterEdit);
 
+    m_progressBar = new QProgressBar();
+    m_progressBar->setRange(0, 0);
+    statusBar()->addPermanentWidget(m_progressBar);
+    m_progressBar->hide();
+
     m_ui.detailsDock->hide();
 
     connect(m_ui.actionOpen, SIGNAL(triggered()),
@@ -79,6 +89,7 @@ void MainWindow::loadTrace(const QString &fileName)
     }
     qDebug()<< "Loading  : " <<fileName;
 
+    m_progressBar->setValue(0);
     newTraceFile(fileName);
 }
 
@@ -187,4 +198,24 @@ void MainWindow::replayError(QProcess::ProcessError err)
         tr("Couldn't execute the replay file '%1'").arg(m_traceFileName));
 }
 
+void MainWindow::startedLoadingTrace()
+{
+    Q_ASSERT(m_trace);
+    m_progressBar->show();
+    QFileInfo info(m_trace->fileName());
+    statusBar()->showMessage(
+        tr("Loading %1...").arg(info.fileName()));
+}
+
+void MainWindow::finishedLoadingTrace()
+{
+    m_progressBar->hide();
+    if (!m_trace) {
+        return;
+    }
+    QFileInfo info(m_trace->fileName());
+    statusBar()->showMessage(
+        tr("Loaded %1").arg(info.fileName()), 3000);
+}
+
 #include "mainwindow.moc"