View: Update view on capture state change
[pulseview.git] / pv / view / view.cpp
index 6c7df488e3492c6e87d893488af811d40c691d55..11026883bab1a7842dba1483c1c58c8b0650cb72 100644 (file)
@@ -92,6 +92,8 @@ View::View(SigSession &session, QWidget *parent) :
 
        connect(&_session, SIGNAL(signals_changed()),
                this, SLOT(signals_changed()));
+       connect(&_session, SIGNAL(capture_state_changed(int)),
+               this, SLOT(data_updated()));
        connect(&_session, SIGNAL(data_received()),
                this, SLOT(data_updated()));
        connect(&_session, SIGNAL(frame_ended()),
@@ -128,8 +130,9 @@ View::View(SigSession &session, QWidget *parent) :
        // which were created before this object came into being
        signals_changed();
 
-       // make sure the cursorheader is over the ruler
+       // make sure the transparent widgets are on the top
        _cursorheader->raise();
+       _header->raise();
 }
 
 SigSession& View::session()
@@ -412,7 +415,8 @@ void View::update_scroll()
 
 void View::update_layout()
 {
-       setViewportMargins(_header->sizeHint().width(),
+       setViewportMargins(
+               _header->sizeHint().width() - pv::view::Header::BaselineOffset,
                _ruler->sizeHint().height(), 0, 0);
        _ruler->setGeometry(_viewport->x(), 0,
                _viewport->width(), _viewport->y());
@@ -421,7 +425,7 @@ void View::update_layout()
                _ruler->sizeHint().height() - _cursorheader->sizeHint().height() / 2,
                _viewport->width(), _cursorheader->sizeHint().height());
        _header->setGeometry(0, _viewport->y(),
-               _viewport->x(), _viewport->height());
+               _header->sizeHint().width(), _viewport->height());
        update_scroll();
 }
 
@@ -467,6 +471,9 @@ bool View::viewportEvent(QEvent *e)
        case QEvent::MouseButtonDblClick:
        case QEvent::MouseMove:
        case QEvent::Wheel:
+       case QEvent::TouchBegin:
+       case QEvent::TouchUpdate:
+       case QEvent::TouchEnd:
                return false;
 
        default: