diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADTabpanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADTabpanel.java index b27ed361c0..f41fbb00f8 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADTabpanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADTabpanel.java @@ -1410,7 +1410,7 @@ DataStatusListener, IADTabpanel, IdSpace, IFieldEditorContainer @Override public void focus() { - if (formContainer.isVisible()) + if (form.isVisible()) this.focusToFirstEditor(true); else listPanel.focus(); diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java index f6aa691d8d..c6c987825f 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/GridView.java @@ -730,7 +730,7 @@ public class GridView extends Vbox implements EventListener, IdSpace, IFi setFocusToField(columnOnClick); columnOnClick = null; } else { - renderer.focusToFirstEditor(); + focusToFirstEditorIfNotDetailTab(); } } else { focusToRow(row); @@ -761,6 +761,30 @@ public class GridView extends Vbox implements EventListener, IdSpace, IFi } } + private void focusToFirstEditorIfNotDetailTab() { + ADTabpanel adtabpanel = null; + boolean setFocus = true; + Component parent = listbox.getParent(); + while (parent != null) { + if (parent instanceof ADTabpanel) { + adtabpanel = (ADTabpanel) parent; + break; + } + parent = parent.getParent(); + } + if (adtabpanel != null) + { + ADWindow adwindow = ADWindow.findADWindow(adtabpanel); + if (adwindow != null) { + IADTabpanel selectedADTabpanel = adwindow.getADWindowContent().getADTab().getSelectedTabpanel(); + if (selectedADTabpanel != adtabpanel) + setFocus = false; + } + } + if (setFocus) + renderer.focusToFirstEditor(); + } + /** * scroll grid to the current focus row */ @@ -774,7 +798,7 @@ public class GridView extends Vbox implements EventListener, IdSpace, IFi setFocusToField(columnOnClick); columnOnClick = null; } else { - renderer.focusToFirstEditor(); + focusToFirstEditorIfNotDetailTab(); } } else { Component cmp = null; diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WDocActionPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WDocActionPanel.java index cb3b723598..f89cfb4b5e 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WDocActionPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WDocActionPanel.java @@ -311,7 +311,9 @@ public class WDocActionPanel extends Window implements EventListener, Dia { String selected = lstDocAction.getSelectedItem().getValue().toString(); if((selected.equals(org.compiere.process.DocAction.ACTION_Close) && clientInfo.isConfirmOnDocClose()) - || (selected.equals(org.compiere.process.DocAction.ACTION_Void) && clientInfo.isConfirmOnDocVoid())) + || (selected.equals(org.compiere.process.DocAction.ACTION_Void) && clientInfo.isConfirmOnDocVoid()) + || (selected.equals(org.compiere.process.DocAction.ACTION_Reverse_Accrual) && clientInfo.isConfirmOnDocVoid()) + || (selected.equals(org.compiere.process.DocAction.ACTION_Reverse_Correct) && clientInfo.isConfirmOnDocVoid())) { String docAction = lstDocAction.getSelectedItem().getLabel(); MessageFormat mf = new MessageFormat(Msg.getMsg(Env.getAD_Language(Env.getCtx()), "ConfirmOnDocAction"));