Fix disrepancy between wheel scroll and bar
This commit is contained in:
@@ -313,8 +313,7 @@ void ImageWidget::thumbnailLoaded(const Image *image)
|
||||
void ImageWidget::showThumbnail(bool enable)
|
||||
{
|
||||
m_showThumbnails = enable;
|
||||
updateScrollBars();
|
||||
update();
|
||||
setOffset(m_dx, m_dy);
|
||||
}
|
||||
|
||||
void ImageWidget::paintGL()
|
||||
@@ -659,13 +658,11 @@ void ImageWidget::wheelEvent(QWheelEvent *event)
|
||||
{
|
||||
if(m_showThumbnails)
|
||||
{
|
||||
m_dy = std::clamp(m_dy - event->angleDelta().y(), 0.0f, (float)m_thumbnailCount / (width() / THUMB_SIZE_BORDER) * THUMB_SIZE_BORDER_Y);
|
||||
update();
|
||||
updateScrollBars();
|
||||
setOffset(0, m_dy - event->angleDelta().y());
|
||||
}
|
||||
else
|
||||
{
|
||||
if(event->angleDelta().y() != 0)
|
||||
if(std::abs(event->angleDelta().y()) > 15)
|
||||
zoom(event->angleDelta().y(), event->modifiers() & Qt::ShiftModifier ? QPointF() : event->posF());
|
||||
}
|
||||
}
|
||||
@@ -739,9 +736,7 @@ void ImageWidget::updateScrollBars()
|
||||
if(m_showThumbnails)
|
||||
emit scrollBarsUpdate(0, 0, -1, m_dy, m_height, (m_thumbnailCount / (m_width / THUMB_SIZE_BORDER) + 2) * THUMB_SIZE_BORDER_Y - m_height);
|
||||
else
|
||||
{
|
||||
emit scrollBarsUpdate(m_dx, m_width, m_imgWidth * m_scale - m_width, m_dy, m_height, m_imgHeight * m_scale - m_height);
|
||||
}
|
||||
}
|
||||
|
||||
ImageScrollAreaGL::ImageScrollAreaGL(Database *database, QWidget *parent) : QWidget(parent)
|
||||
|
||||
Reference in New Issue
Block a user