1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-07 15:22:34 +02:00

Bug1438: Fix horizontal scrollbar, while still fixing Bug 1197

This commit is contained in:
Paul Licameli 2016-07-08 02:14:47 -04:00
parent 12d22cafc6
commit 4f1c8a3f2f
2 changed files with 14 additions and 8 deletions

View File

@ -1534,8 +1534,7 @@ void AudacityProject::FinishAutoScroll()
// Call our Scroll method which updates our ViewInfo variables // Call our Scroll method which updates our ViewInfo variables
// to reflect the positions of the scrollbars // to reflect the positions of the scrollbars
wxScrollEvent dummy; DoScroll();
OnScroll(dummy);
mAutoScrolling = false; mAutoScrolling = false;
} }
@ -1600,7 +1599,7 @@ void AudacityProject::OnScrollLeftButton(wxScrollEvent & event)
if (pos != mHsbar->GetThumbPosition()) { if (pos != mHsbar->GetThumbPosition()) {
mHsbar->SetThumbPosition((int)pos); mHsbar->SetThumbPosition((int)pos);
OnScroll(event); DoScroll();
} }
} }
@ -1622,7 +1621,7 @@ void AudacityProject::OnScrollRightButton(wxScrollEvent & event)
if (pos != mHsbar->GetThumbPosition()) { if (pos != mHsbar->GetThumbPosition()) {
mHsbar->SetThumbPosition((int)pos); mHsbar->SetThumbPosition((int)pos);
OnScroll(event); DoScroll();
} }
} }
@ -1690,8 +1689,7 @@ void AudacityProject::TP_ScrollWindow(double scrollto)
// Call our Scroll method which updates our ViewInfo variables // Call our Scroll method which updates our ViewInfo variables
// to reflect the positions of the scrollbars // to reflect the positions of the scrollbars
wxScrollEvent dummy; DoScroll();
OnScroll(dummy);
} }
// //
@ -1718,8 +1716,7 @@ bool AudacityProject::TP_ScrollUpDown(int delta)
{ {
mVsbar->SetThumbPosition(pos); mVsbar->SetThumbPosition(pos);
wxScrollEvent dummy; DoScroll();
OnScroll(dummy);
return true; return true;
} }
else else
@ -2087,6 +2084,14 @@ void AudacityProject::OnODTaskComplete(wxCommandEvent & WXUNUSED(event))
} }
void AudacityProject::OnScroll(wxScrollEvent & WXUNUSED(event)) void AudacityProject::OnScroll(wxScrollEvent & WXUNUSED(event))
{
const wxInt64 offset = PixelWidthBeforeTime(0.0);
mViewInfo.sbarH =
(wxInt64)(mHsbar->GetThumbPosition() / mViewInfo.sbarScale) - offset;
DoScroll();
}
void AudacityProject::DoScroll()
{ {
const double lowerBound = ScrollingLowerBoundTime(); const double lowerBound = ScrollingLowerBoundTime();

View File

@ -318,6 +318,7 @@ class AUDACITY_DLL_API AudacityProject final : public wxFrame,
void OnSize(wxSizeEvent & event); void OnSize(wxSizeEvent & event);
void OnShow(wxShowEvent & event); void OnShow(wxShowEvent & event);
void OnMove(wxMoveEvent & event); void OnMove(wxMoveEvent & event);
void DoScroll();
void OnScroll(wxScrollEvent & event); void OnScroll(wxScrollEvent & event);
void OnCloseWindow(wxCloseEvent & event); void OnCloseWindow(wxCloseEvent & event);
void OnTimer(wxTimerEvent & event); void OnTimer(wxTimerEvent & event);