From 33bd18f3083d142adab7f27e54ae9511be35dec4 Mon Sep 17 00:00:00 2001 From: Oleg Sikorskiy Date: Mon, 15 Mar 2021 22:50:46 +0300 Subject: [PATCH] QuickShow: Do not reset the panning on 100% zoom. --- Userland/Applications/QuickShow/QSWidget.cpp | 13 ++++++++----- Userland/Applications/QuickShow/QSWidget.h | 1 + 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Userland/Applications/QuickShow/QSWidget.cpp b/Userland/Applications/QuickShow/QSWidget.cpp index 23bfe8bfd1..6cc2c125ab 100644 --- a/Userland/Applications/QuickShow/QSWidget.cpp +++ b/Userland/Applications/QuickShow/QSWidget.cpp @@ -48,7 +48,7 @@ void QSWidget::clear() m_bitmap = nullptr; m_path = {}; - set_scale(100); + reset_view(); update(); } @@ -134,9 +134,6 @@ void QSWidget::set_scale(int scale) if (scale > 1000) scale = 1000; - if (scale == 100) - m_pan_origin = { 0, 0 }; - m_scale = scale; float scale_factor = (float)m_scale / 100.0f; @@ -256,7 +253,7 @@ void QSWidget::load_from_file(const String& path) m_path = path; m_bitmap = bitmap; m_scale = -1; - set_scale(100); + reset_view(); } void QSWidget::drop_event(GUI::DropEvent& event) @@ -284,3 +281,9 @@ void QSWidget::resize_window() new_size.set_height(new_size.height() + m_toolbar_height); window()->resize(new_size); } + +void QSWidget::reset_view() +{ + m_pan_origin = { 0, 0 }; + set_scale(100); +} diff --git a/Userland/Applications/QuickShow/QSWidget.h b/Userland/Applications/QuickShow/QSWidget.h index 047241e25e..57bc346f5b 100644 --- a/Userland/Applications/QuickShow/QSWidget.h +++ b/Userland/Applications/QuickShow/QSWidget.h @@ -74,6 +74,7 @@ private: void relayout(); void resize_window(); + void reset_view(); String m_path; RefPtr m_bitmap;