This is an automated email from the ASF dual-hosted git repository.
hansva pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hop.git
The following commit(s) were added to refs/heads/main by this push:
new 7dc3d1df8f Add option to disable zoom using scrolling, fixes #5160
(#6353)
7dc3d1df8f is described below
commit 7dc3d1df8f72e57a75e04de5123902d55521929e
Author: Hans Van Akelyen <[email protected]>
AuthorDate: Mon Jan 12 18:49:33 2026 +0100
Add option to disable zoom using scrolling, fixes #5160 (#6353)
---
ui/src/main/java/org/apache/hop/ui/core/PropsUi.java | 9 +++++++++
.../perspective/configuration/tabs/ConfigGuiOptionsTab.java | 13 +++++++++++++
.../ui/hopgui/perspective/execution/DragViewZoomBase.java | 5 +++++
.../hop/ui/core/dialog/messages/messages_en_US.properties | 2 ++
4 files changed, 29 insertions(+)
diff --git a/ui/src/main/java/org/apache/hop/ui/core/PropsUi.java
b/ui/src/main/java/org/apache/hop/ui/core/PropsUi.java
index b55789ecd1..a5a34c0e54 100644
--- a/ui/src/main/java/org/apache/hop/ui/core/PropsUi.java
+++ b/ui/src/main/java/org/apache/hop/ui/core/PropsUi.java
@@ -82,6 +82,7 @@ public class PropsUi extends Props {
private static final String MAX_EXECUTION_LOGGING_TEXT_SIZE =
"MaxExecutionLoggingTextSize";
private static final String GRAPH_EXTRA_VIEW_VERTICAL_ORIENTATION =
"GraphExtraViewVerticalOrientation";
+ private static final String DISABLE_ZOOM_SCROLLING = "DisableZoomScrolling";
public static final int DEFAULT_MAX_EXECUTION_LOGGING_TEXT_SIZE = 2000000;
private Map<RGB, RGB> contrastingColors;
@@ -1164,4 +1165,12 @@ public class PropsUi extends Props {
formLayout.marginRight = getFormMargin();
return formLayout;
}
+
+ public boolean isZoomScrollingDisabled() {
+ return YES.equalsIgnoreCase(getProperty(DISABLE_ZOOM_SCROLLING, NO));
+ }
+
+ public void setZoomScrollingDisabled(boolean disabled) {
+ setProperty(DISABLE_ZOOM_SCROLLING, disabled ? YES : NO);
+ }
}
diff --git
a/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/configuration/tabs/ConfigGuiOptionsTab.java
b/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/configuration/tabs/ConfigGuiOptionsTab.java
index 769f3f7249..d87104f259 100644
---
a/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/configuration/tabs/ConfigGuiOptionsTab.java
+++
b/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/configuration/tabs/ConfigGuiOptionsTab.java
@@ -90,6 +90,7 @@ public class ConfigGuiOptionsTab {
private Button wHideViewport;
private Button wUseDoubleClick;
private Button wDrawBorderAroundCanvasNames;
+ private Button wDisableZoomScrolling;
private Button wHideMenuBar;
private Button wShowTableViewToolbar;
private Combo wDefaultLocale;
@@ -595,6 +596,17 @@ public class ConfigGuiOptionsTab {
props.isBorderDrawnAroundCanvasNames(),
lastCanvasControl,
margin);
+ lastCanvasControl = wDrawBorderAroundCanvasNames;
+
+ // Disable zoom scrolling
+ wDisableZoomScrolling =
+ createCheckbox(
+ canvasContent,
+ "EnterOptionsDialog.DisableZoomScrolling.Label",
+ "EnterOptionsDialog.DisableZoomScrolling.ToolTip",
+ props.isZoomScrollingDisabled(),
+ lastCanvasControl,
+ margin);
// Create the expand item
ExpandItem canvasItem = new ExpandItem(canvasExpandBar, SWT.NONE);
@@ -907,6 +919,7 @@ public class ConfigGuiOptionsTab {
!wHideViewport.getSelection()); // Inverted: checkbox is "show",
property is "hide"
props.setUseDoubleClickOnCanvas(wUseDoubleClick.getSelection());
props.setDrawBorderAroundCanvasNames(wDrawBorderAroundCanvasNames.getSelection());
+ props.setZoomScrollingDisabled(wDisableZoomScrolling.getSelection());
props.setDarkMode(wDarkMode.getSelection());
props.setHidingMenuBar(wHideMenuBar.getSelection());
props.setShowTableViewToolbar(wShowTableViewToolbar.getSelection());
diff --git
a/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/execution/DragViewZoomBase.java
b/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/execution/DragViewZoomBase.java
index 61b7f5463f..e5bc06127e 100644
---
a/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/execution/DragViewZoomBase.java
+++
b/ui/src/main/java/org/apache/hop/ui/hopgui/perspective/execution/DragViewZoomBase.java
@@ -379,6 +379,11 @@ public abstract class DragViewZoomBase extends Composite {
}
protected void mouseScrolled(MouseEvent mouseEvent) {
+ // Check if zoom scrolling is disabled
+ if (PropsUi.getInstance().isZoomScrollingDisabled()) {
+ return;
+ }
+
// Zoom in or out every time we get an event.
//
// In the future we do want to take the location of the mouse into account.
diff --git
a/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_en_US.properties
b/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_en_US.properties
index ca5dbf433b..68b90b923b 100644
---
a/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_en_US.properties
+++
b/ui/src/main/resources/org/apache/hop/ui/core/dialog/messages/messages_en_US.properties
@@ -113,6 +113,8 @@ EnterOptionsDialog.DefaultPreviewSize.Label=Preview data
batch size:
EnterOptionsDialog.EnterNumber.Hint=Enter a number
EnterOptionsDialog.DialogMiddlePercentage.Label=Dialog middle percentage:
EnterOptionsDialog.DrawBorderAroundCanvasNamesOnCanvas.Label=Draw border
around Action/Transform names on canvas
+EnterOptionsDialog.DisableZoomScrolling.Label=Disable zoom scrolling
+EnterOptionsDialog.DisableZoomScrolling.ToolTip=When enabled, the mouse scroll
wheel will not zoom in/out on the canvas
EnterOptionsDialog.EnableAutoCollapseCoreObjectTree.Label=Auto collapse
palette tree
EnterOptionsDialog.FixedWidthFont.Label=Fixed width font:
EnterOptionsDialog.General.Label=General