From e1b0c6d1e9d076ff5c32ed469113c90997dc8362 Mon Sep 17 00:00:00 2001 From: f4exb Date: Wed, 17 Feb 2021 23:00:32 +0100 Subject: [PATCH] Spectrum frequency zoom: inhibit channel move to pointer if Alt modifier is engaged. Fixed effective zoom/pan update on change --- sdrgui/gui/glspectrum.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sdrgui/gui/glspectrum.cpp b/sdrgui/gui/glspectrum.cpp index 546e23e12..18fa682b8 100644 --- a/sdrgui/gui/glspectrum.cpp +++ b/sdrgui/gui/glspectrum.cpp @@ -2228,7 +2228,10 @@ void GLSpectrum::mousePressEvent(QMouseEvent* event) m_cursorState = CSChannelMoving; return; } - else if ((m_cursorState == CSNormal) && (m_channelMarkerStates.size() == 1) && !(event->modifiers() & Qt::ShiftModifier)) + else if ((m_cursorState == CSNormal) && + (m_channelMarkerStates.size() == 1) && + !(event->modifiers() & Qt::ShiftModifier) && + !(event->modifiers() & Qt::AltModifier)) { grabMouse(); setCursor(Qt::SizeHorCursor); @@ -2307,8 +2310,8 @@ void GLSpectrum::frequencyZoom(QWheelEvent *event) float lim = 0.5f / m_frequencyZoomFactor; m_frequencyZoomPos = m_frequencyZoomPos < lim ? lim : m_frequencyZoomPos > 1 - lim ? 1 - lim : m_frequencyZoomPos; - updateFFTLimits(); qDebug("GLSpectrum::spectrumZoom: pw: %f p: %f z: %f", pw, m_frequencyZoomPos, m_frequencyZoomFactor); + updateFFTLimits(); } void GLSpectrum::frequencyPan(QMouseEvent *event) @@ -2325,8 +2328,8 @@ void GLSpectrum::frequencyPan(QMouseEvent *event) float lim = 0.5f / m_frequencyZoomFactor; m_frequencyZoomPos = m_frequencyZoomPos < lim ? lim : m_frequencyZoomPos > 1 - lim ? 1 - lim : m_frequencyZoomPos; - updateFFTLimits(); qDebug("GLSpectrum::frequencyPan: pw: %f p: %f", pw, m_frequencyZoomPos); + updateFFTLimits(); } void GLSpectrum::resetFrequencyZoom() @@ -2348,6 +2351,7 @@ void GLSpectrum::updateFFTLimits() ); m_spectrumVis->getInputMessageQueue()->push(msg); + m_changesPending = true; } void GLSpectrum::setFrequencyScale()