]> git.cworth.org Git - apitrace/commitdiff
Show that we're loading a trace.
authorZack Rusin <zack@kde.org>
Wed, 30 Mar 2011 15:30:08 +0000 (11:30 -0400)
committerZack Rusin <zack@kde.org>
Thu, 31 Mar 2011 02:48:42 +0000 (22:48 -0400)
gui/apitrace.cpp
gui/apitrace.h
gui/mainwindow.cpp
gui/mainwindow.h

index 51e83b24df6399bbfee1ebc409df26be1198ae89..4d7a17c427d2df8ad268c628f2afe4d6884260a4 100644 (file)
@@ -8,6 +8,10 @@ ApiTrace::ApiTrace()
     m_loader = new LoaderThread(this);
     connect(m_loader, SIGNAL(parsedFrames(const QList<ApiTraceFrame*>)),
             this, SLOT(addFrames(const QList<ApiTraceFrame*>)));
+    connect(m_loader, SIGNAL(started()),
+            this, SIGNAL(startedLoadingTrace()));
+    connect(m_loader, SIGNAL(finished()),
+            this, SIGNAL(finishedLoadingTrace()));
 }
 
 ApiTrace::~ApiTrace()
index c400debff6706afeb60f5bef5537790e5bb289b7..a46e8e0a83a963852e342a9cf109db719b0f4b21 100644 (file)
@@ -43,6 +43,8 @@ public slots:
     void setFrameMarker(FrameMarker marker);
 
 signals:
+    void startedLoadingTrace();
+    void finishedLoadingTrace();
     void invalidated();
     void framesInvalidated();
 
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"
index 11290e65b186538a88e1758fef3caafa6f4ff8ab..a771bd9c0bb63ad67508002bcb9594cb98950969 100644 (file)
@@ -12,6 +12,7 @@ class ApiTraceFilter;
 class QLineEdit;
 class QModelIndex;
 class QProcess;
+class QProgressBar;
 
 class MainWindow : public QMainWindow
 {
@@ -30,6 +31,8 @@ private slots:
     void replayStop();
     void replayFinished();
     void replayError(QProcess::ProcessError err);
+    void startedLoadingTrace();
+    void finishedLoadingTrace();
 
 private:
     void newTraceFile(const QString &fileName);
@@ -43,6 +46,8 @@ private:
 
     QProcess *m_replayProcess;
 
+    QProgressBar *m_progressBar;
+
     QString m_traceFileName;
 };