]> git.cworth.org Git - apitrace/commitdiff
Don't hide the state dock while looking up the defaults.
authorZack Rusin <zack@kde.org>
Thu, 28 Apr 2011 03:48:16 +0000 (23:48 -0400)
committerZack Rusin <zack@kde.org>
Thu, 28 Apr 2011 03:48:16 +0000 (23:48 -0400)
gui/mainwindow.cpp
gui/mainwindow.h

index 877c93d41b5fc1259882cc2d70d80e7966be9032..d9f9e38325417ac1e416ca19cad00e1cee157da2 100644 (file)
@@ -37,7 +37,8 @@
 MainWindow::MainWindow()
     : QMainWindow(),
       m_selectedEvent(0),
-      m_stateEvent(0)
+      m_stateEvent(0),
+      m_nonDefaultsLookupEvent(0)
 {
     m_ui.setupUi(this);
     initObjects();
@@ -219,6 +220,7 @@ void MainWindow::replayError(const QString &message)
     m_ui.actionReplay->setEnabled(true);
     m_ui.actionLookupState->setEnabled(true);
     m_stateEvent = 0;
+    m_nonDefaultsLookupEvent = 0;
 
     m_progressBar->hide();
     statusBar()->showMessage(
@@ -441,6 +443,12 @@ void MainWindow::fillStateForFrame()
     if (!m_selectedEvent || m_selectedEvent->state().isEmpty())
         return;
 
+    if (m_nonDefaultsLookupEvent) {
+        m_ui.nonDefaultsCB->blockSignals(true);
+        m_ui.nonDefaultsCB->setChecked(true);
+        m_ui.nonDefaultsCB->blockSignals(false);
+    }
+
     bool nonDefaults = m_ui.nonDefaultsCB->isChecked();
     QVariantMap defaultParams;
     if (nonDefaults) {
@@ -753,7 +761,8 @@ void MainWindow::initConnections()
             m_ui.actionShowErrorsDock, SLOT(setChecked(bool)));
     connect(m_ui.actionShowErrorsDock, SIGNAL(triggered(bool)),
             m_ui.errorsDock, SLOT(setVisible(bool)));
-    connect(m_ui.errorsTreeWidget, SIGNAL(currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)),
+    connect(m_ui.errorsTreeWidget,
+            SIGNAL(currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)),
             this, SLOT(slotErrorSelected(QTreeWidgetItem*)));
 }
 
@@ -761,11 +770,13 @@ void MainWindow::replayStateFound(const ApiTraceState &state)
 {
     m_stateEvent->setState(state);
     m_model->stateSetOnEvent(m_stateEvent);
-    if (m_selectedEvent == m_stateEvent) {
+    if (m_selectedEvent == m_stateEvent ||
+        m_nonDefaultsLookupEvent == m_selectedEvent) {
         fillStateForFrame();
     } else {
         m_ui.stateDock->hide();
     }
+    m_nonDefaultsLookupEvent = 0;
 }
 
 void MainWindow::slotGoTo()
@@ -928,6 +939,7 @@ void MainWindow::fillState(bool nonDefaults)
             ApiTraceEvent *oldSelected = m_selectedEvent;
             if (!firstFrame)
                 return;
+            m_nonDefaultsLookupEvent = m_selectedEvent;
             m_selectedEvent = firstFrame;
             lookupState();
             m_selectedEvent = oldSelected;
index f276f2e962674f7c69fa70ebdb84673149742d9e..ee25fb3bb3a61254e303d3615e7c2d3b76be7db3 100644 (file)
@@ -103,6 +103,8 @@ private:
     TraceProcess *m_traceProcess;
 
     ArgumentsEditor *m_argsEditor;
+
+    ApiTraceEvent *m_nonDefaultsLookupEvent;
 };