]> sigrok.org Git - pulseview.git/blobdiff - pv/view/view.cpp
View: Use the slider value for the v-offset
[pulseview.git] / pv / view / view.cpp
index 59127c364bb7f0bf35ed83e3de0a8398357d53d1..5e89397aec8e5e71c7732bd7e27faedadb20f40d 100644 (file)
@@ -84,8 +84,6 @@ const int View::MaxScrollValue = INT_MAX / 2;
 
 const int View::ScaleUnits[3] = {1, 2, 5};
 
-const QSizeF View::LabelPadding(4, 0);
-
 View::View(Session &session, QWidget *parent) :
        QAbstractScrollArea(parent),
        session_(session),
@@ -94,7 +92,6 @@ View::View(Session &session, QWidget *parent) :
        header_(new Header(*this)),
        scale_(1e-6),
        offset_(0),
-       v_offset_(0),
        updating_scroll_(false),
        tick_period_(0.0),
        tick_prefix_(0),
@@ -106,7 +103,7 @@ View::View(Session &session, QWidget *parent) :
        connect(horizontalScrollBar(), SIGNAL(valueChanged(int)),
                this, SLOT(h_scroll_value_changed(int)));
        connect(verticalScrollBar(), SIGNAL(valueChanged(int)),
-               this, SLOT(v_scroll_value_changed(int)));
+               this, SLOT(v_scroll_value_changed()));
 
        connect(&session_, SIGNAL(signals_changed()),
                this, SLOT(signals_changed()));
@@ -117,9 +114,6 @@ View::View(Session &session, QWidget *parent) :
        connect(&session_, SIGNAL(frame_ended()),
                this, SLOT(data_updated()));
 
-       connect(header_, SIGNAL(signals_moved()),
-               this, SLOT(on_signals_moved()));
-
        connect(header_, SIGNAL(selection_changed()),
                ruler_, SLOT(clear_selection()));
        connect(ruler_, SIGNAL(selection_changed()),
@@ -207,7 +201,7 @@ double View::offset() const
 
 int View::owner_visual_v_offset() const
 {
-       return -v_offset_;
+       return -verticalScrollBar()->sliderPosition();
 }
 
 unsigned int View::depth() const
@@ -661,9 +655,8 @@ void View::h_scroll_value_changed(int value)
        viewport_->update();
 }
 
-void View::v_scroll_value_changed(int value)
+void View::v_scroll_value_changed()
 {
-       v_offset_ = value;
        header_->update();
        viewport_->update();
 }
@@ -747,18 +740,14 @@ void View::data_updated()
        viewport_->update();
 }
 
-void View::on_signals_moved()
-{
-       update_scroll();
-       signals_moved();
-}
-
 void View::process_sticky_events()
 {
        if (sticky_events_ & RowItemHExtentsChanged)
                update_layout();
-       if (sticky_events_ & RowItemVExtentsChanged)
+       if (sticky_events_ & RowItemVExtentsChanged) {
                restack_all_row_items();
+               update_scroll();
+       }
 
        // Clear the sticky events
        sticky_events_ = 0;