commit fc49e220166beb81d044227bfbae58a7ff1e97da
Author: Juergen Spitzmueller <[email protected]>
Date: Tue May 20 16:14:16 2025 +0200
Sync zoom sliders across views (#13162)
---
src/frontends/qt/GuiApplication.cpp | 9 +++++++++
src/frontends/qt/GuiApplication.h | 3 +++
src/frontends/qt/GuiView.cpp | 3 ++-
3 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/src/frontends/qt/GuiApplication.cpp
b/src/frontends/qt/GuiApplication.cpp
index 6d7b820360..ebe24a2dea 100644
--- a/src/frontends/qt/GuiApplication.cpp
+++ b/src/frontends/qt/GuiApplication.cpp
@@ -1252,6 +1252,15 @@ double GuiApplication::pixelRatio() const
}
+void GuiApplication::syncZoomSliders(const int v)
+{
+ // Sync zoom in all active views
+ QList<int> const ids = viewIds();
+ for (int i = 0; i != ids.size(); ++i)
+ view(ids[i]).setCurrentZoom(v);
+}
+
+
void GuiApplication::clearSession()
{
QSettings settings;
diff --git a/src/frontends/qt/GuiApplication.h
b/src/frontends/qt/GuiApplication.h
index bbae18fb13..67865729fd 100644
--- a/src/frontends/qt/GuiApplication.h
+++ b/src/frontends/qt/GuiApplication.h
@@ -175,6 +175,9 @@ public:
/// Current ratio between physical pixels and device-independent pixels
double pixelRatio() const;
+ ///
+ void syncZoomSliders(int const v);
+
/// How to load image files
support::search_mode imageSearchMode() const {
return pixelRatio() > 1 ? support::check_hidpi :
support::must_exist;
diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp
index db9bc3f47a..f3859ea653 100644
--- a/src/frontends/qt/GuiView.cpp
+++ b/src/frontends/qt/GuiView.cpp
@@ -5095,7 +5095,8 @@ void GuiView::dispatch(FuncRequest const & cmd,
DispatchResult & dr)
int zoom = (int)(lyxrc.defaultZoom * zoom_ratio_);
zoom = min(max(zoom, zoom_min_), zoom_max_);
- setCurrentZoom(zoom);
+ // Sync zoom sliders in all active views
+ guiApp->syncZoomSliders(zoom);
dr.setMessage(bformat(_("Zoom level is now %1$d%
(default value: %2$d%)"),
lyxrc.currentZoom,
lyxrc.defaultZoom));
--
lyx-cvs mailing list
[email protected]
https://lists.lyx.org/mailman/listinfo/lyx-cvs