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

View File

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