From 7b5d9e578f7876b8903a991aea08ad21f2414e13 Mon Sep 17 00:00:00 2001 From: hengsin Date: Fri, 15 Mar 2024 16:21:38 +0800 Subject: [PATCH] IDEMPIERE-6054 Create Lines From checkboxes behave erratically (#2266) - Fix issue with double click and drag to select text mouse gesture. --- .../src/org/adempiere/webui/info/InfoWindow.java | 8 ++++++++ .../src/org/adempiere/webui/panel/InfoPanel.java | 12 ++++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoWindow.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoWindow.java index a0ded15033..477ac312ff 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoWindow.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/info/InfoWindow.java @@ -372,6 +372,14 @@ public class InfoWindow extends InfoPanel implements ValueChangeListener, EventL prepareTable(); processQueryValue(); } + + if (!isLookup() && p_multipleSelection && hasEditable) + { + //use only checkmark for selection of row + //with the default of select by clicking on any cell, the text selection mouse gesture will de-select a selected row + //note that this also disable the selection of text within the listbox + contentPanel.setNonselectableTags("*"); + } } if (ClientInfo.isMobile()) { diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPanel.java index 3873661ab1..97a97d02ba 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/InfoPanel.java @@ -2273,7 +2273,7 @@ public abstract class InfoPanel extends Window implements EventListener, if (event.getClass().equals(MouseEvent.class)){ return; } - if (contentPanel.isMultiple() && m_lastSelectedIndex >= 0) { + if (contentPanel.isMultiple() && m_lastSelectedIndex >= 0 && isLookup()) { contentPanel.setSelectedIndex(m_lastSelectedIndex); @@ -2298,9 +2298,13 @@ public abstract class InfoPanel extends Window implements EventListener, } } } - onDoubleClick(); - contentPanel.repaint(); - m_lastSelectedIndex = -1; + + if (isLookup() || hasZoom()) + { + onDoubleClick(); + contentPanel.repaint(); + m_lastSelectedIndex = -1; + } } else if (event.getTarget().equals(confirmPanel.getButton(ConfirmPanel.A_REFRESH))) {