IDEMPIERE-369 Master Detail layout improvements. State of toolbar button sometime is wrong after save and ignore.

This commit is contained in:
Heng Sin Low 2013-01-31 01:32:48 +08:00
parent ef393112e3
commit 7d24e083c3
2 changed files with 16 additions and 5 deletions

View File

@ -1096,9 +1096,12 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
callback.onCallback(true);
}
} // there is a change
else
else {
// just in case
adTabbox.dataIgnore();
callback.onCallback(true);
}
}
else
callback.onCallback(true);
}
@ -1224,6 +1227,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
if (!detailTab)
{
String dbInfo = e.getMessage();
if (logger.isLoggable(Level.INFO))
logger.info(dbInfo);
if (adTabbox.getSelectedGridTab() != null && adTabbox.getSelectedGridTab().isQueryActive())
dbInfo = "[ " + dbInfo + " ]";
@ -1436,6 +1440,8 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
toolbar.enableExport(!adTabbox.getSelectedGridTab().isSortTab());
toolbar.enableFileImport(!changed && !adTabbox.getSelectedGridTab().isSortTab() && adTabbox.getSelectedGridTab().isInsertRecord());
toolbar.enableTabNavigation(breadCrumb.hasParentLink(), adTabbox.getSelectedDetailADTabpanel() != null);
//Deepak-Enabling customize button IDEMPIERE-364
if(!(adTabbox.getSelectedTabpanel() instanceof ADSortTab))
toolbar.enableCustomize(((ADTabpanel)adTabbox.getSelectedTabpanel()).isGridView());
@ -1680,7 +1686,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
adTabbox.dataIgnore();
toolbar.enableIgnore(false);
if (newrecod) {
onRefresh(true);
onRefresh(true, false);
} else if (dirtyTabpanel != null) {
dirtyTabpanel.getGridTab().dataRefresh(true); // update statusbar & toolbar
dirtyTabpanel.dynamicDisplay(0);
@ -1689,6 +1695,8 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements
}
if (dirtyTabpanel != null)
focusToTabpanel(dirtyTabpanel);
updateToolbar();
}
/**

View File

@ -610,7 +610,10 @@ public class CompositeADTabbox extends AbstractADTabbox
public void onDetailRecord() {
if (headerTab.getDetailPane() != null && getSelectedDetailADTabpanel() != null) {
try {
headerTab.getDetailPane().onEdit(false);
if (!getSelectedDetailADTabpanel().isActivated()) {
onActivateDetail(getSelectedDetailADTabpanel());
}
headerTab.getDetailPane().onEdit(getSelectedDetailADTabpanel().getGridTab().isSingleRow());
} catch (Exception e) {
log.log(Level.SEVERE, e.getLocalizedMessage(), e);
}