mirror of
https://github.com/cookiengineer/audacity
synced 2025-08-06 07:09:39 +02:00
Bug1520: Correct TQP when snap-to-nearest second & region selection
This commit is contained in:
parent
d9c3a02542
commit
f4c3f19dd1
@ -2516,6 +2516,7 @@ void AdornedRulerPanel::HandleQPClick(wxMouseEvent &evt, wxCoord mousePosX)
|
||||
mProject->OnUnlockPlayRegion();
|
||||
}
|
||||
|
||||
mLeftDownClickUnsnapped = mQuickPlayPosUnsnapped;
|
||||
mLeftDownClick = mQuickPlayPos;
|
||||
bool isWithinStart = IsWithinMarker(mousePosX, mOldPlayRegionStart);
|
||||
bool isWithinEnd = IsWithinMarker(mousePosX, mOldPlayRegionEnd);
|
||||
@ -2550,7 +2551,9 @@ void AdornedRulerPanel::HandleQPClick(wxMouseEvent &evt, wxCoord mousePosX)
|
||||
|
||||
void AdornedRulerPanel::HandleQPDrag(wxMouseEvent &/*event*/, wxCoord mousePosX)
|
||||
{
|
||||
bool isWithinClick = (mLeftDownClick >= 0) && IsWithinMarker(mousePosX, mLeftDownClick);
|
||||
bool isWithinClick =
|
||||
(mLeftDownClickUnsnapped >= 0) &&
|
||||
IsWithinMarker(mousePosX, mLeftDownClickUnsnapped);
|
||||
bool isWithinStart = IsWithinMarker(mousePosX, mOldPlayRegionStart);
|
||||
bool isWithinEnd = IsWithinMarker(mousePosX, mOldPlayRegionEnd);
|
||||
bool canDragSel = !mPlayRegionLock && mPlayRegionDragsSelection;
|
||||
@ -2881,7 +2884,7 @@ void AdornedRulerPanel::UpdateQuickPlayPos(wxCoord &mousePosX)
|
||||
mousePosX = std::min(mousePosX, tp->GetLeftOffset() + width - 1);
|
||||
|
||||
mLastMouseX = mousePosX;
|
||||
mQuickPlayPos = Pos2Time(mousePosX);
|
||||
mQuickPlayPosUnsnapped = mQuickPlayPos = Pos2Time(mousePosX);
|
||||
}
|
||||
|
||||
// Pop-up menus
|
||||
|
@ -401,6 +401,7 @@ private:
|
||||
|
||||
|
||||
double mIndTime;
|
||||
double mQuickPlayPosUnsnapped;
|
||||
double mQuickPlayPos;
|
||||
|
||||
std::unique_ptr<SnapManager> mSnapManager;
|
||||
@ -444,6 +445,7 @@ private:
|
||||
};
|
||||
|
||||
MouseEventState mMouseEventState;
|
||||
double mLeftDownClickUnsnapped; // click position in seconds, before snap
|
||||
double mLeftDownClick; // click position in seconds
|
||||
int mLastMouseX; // Pixel position
|
||||
bool mIsDragging;
|
||||
|
Loading…
x
Reference in New Issue
Block a user