commit fa94c46fbeb3deb5d5318be55591cf24c569490c
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 203ddcd0a1..a8db595630 100644
--- a/src/frontends/qt/GuiApplication.cpp
+++ b/src/frontends/qt/GuiApplication.cpp
@@ -1243,6 +1243,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 deb7d23521..475d3e4e25 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 23c7e7e3a6..53cf518e68 100644
--- a/src/frontends/qt/GuiView.cpp
+++ b/src/frontends/qt/GuiView.cpp
@@ -5263,7 +5263,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