diff --git a/app/widget/timebased/timebased.cpp b/app/widget/timebased/timebased.cpp index afdb03cb4..2139b3903 100644 --- a/app/widget/timebased/timebased.cpp +++ b/app/widget/timebased/timebased.cpp @@ -447,7 +447,7 @@ void TimeBasedWidget::ToggleShowAll() if (toggle_show_all_) { SetScale(toggle_show_all_old_scale_); - toggle_show_all_ = false; + scrollbar_->setValue(toggle_show_all_old_scroll_); } else { int w; @@ -460,9 +460,13 @@ void TimeBasedWidget::ToggleShowAll() w = w / 10 * 9; toggle_show_all_old_scale_ = GetScale(); + toggle_show_all_old_scroll_ = scrollbar_->value(); + SetScale(w / GetConnectedNode()->GetLength().toDouble()); - toggle_show_all_ = true; + scrollbar_->setValue(0); } + + toggle_show_all_ = !toggle_show_all_; } void TimeBasedWidget::GoToIn() diff --git a/app/widget/timebased/timebased.h b/app/widget/timebased/timebased.h index 896a00481..717e3246f 100644 --- a/app/widget/timebased/timebased.h +++ b/app/widget/timebased/timebased.h @@ -168,6 +168,7 @@ private: bool toggle_show_all_; double toggle_show_all_old_scale_; + int toggle_show_all_old_scroll_; private slots: void UpdateMaximumScroll();