Skip to content

Commit

Permalink
separation of concerns: AFP WaveView updateCursor
Browse files Browse the repository at this point in the history
extract check to pointerCloseToStartEndOrLoop()
  • Loading branch information
RiedleroD committed Oct 5, 2024
1 parent 6ee1990 commit 2fd077d
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 8 deletions.
21 changes: 13 additions & 8 deletions plugins/AudioFileProcessor/AudioFileProcessorWaveView.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -480,23 +480,28 @@ void AudioFileProcessorWaveView::reverse()

void AudioFileProcessorWaveView::updateCursor(QMouseEvent * me)
{
QPoint pos;
if (me) { pos = position(me); }

bool const waveIsDragged = m_isDragging && (m_draggingType == DraggingType::Wave);
bool const pointerCloseToStartEndOrLoop = (me != nullptr) &&
(isCloseTo(pos.x(), m_startFrameX) ||
isCloseTo(pos.x(), m_endFrameX) ||
isCloseTo(pos.x(), m_loopFrameX));

if (!m_isDragging && pointerCloseToStartEndOrLoop)
if (!m_isDragging && pointerCloseToStartEndOrLoop(me))
setCursor(Qt::SizeHorCursor);
else if (waveIsDragged)
setCursor(Qt::ClosedHandCursor);
else
setCursor(Qt::OpenHandCursor);
}

bool AudioFileProcessorWaveView::pointerCloseToStartEndOrLoop(QMouseEvent * me)
{
if (me == nullptr)
{
return false;
}

const QPoint pos = position(me);

return isCloseTo(pos.x(), m_startFrameX) || isCloseTo(pos.x(), m_endFrameX) || isCloseTo(pos.x(), m_loopFrameX);
}

void AudioFileProcessorWaveView::configureKnobRelationsAndWaveViews()
{
m_startKnob->setWaveView(this);
Expand Down
1 change: 1 addition & 0 deletions plugins/AudioFileProcessor/AudioFileProcessorWaveView.h
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,7 @@ public slots:
void updateGraph();
void reverse();
void updateCursor(QMouseEvent* me = nullptr);
bool pointerCloseToStartEndOrLoop(QMouseEvent* me);

void configureKnobRelationsAndWaveViews();

Expand Down

0 comments on commit 2fd077d

Please sign in to comment.