scopes order: do not override stored order (IDEA-46994; IDEA-115020)

This commit is contained in:
anna
2013-10-21 18:34:55 +02:00
parent b17024ac83
commit 026f9116f1
@@ -113,8 +113,21 @@ public class ScopeChooserConfigurable extends MasterDetailsComponent implements
@Override
public void reset() {
reloadTree();
myRoot.removeAllChildren();
loadScopes(mySharedScopesManager);
loadScopes(myLocalScopesManager);
super.reset();
final List<String> order = getScopesState().myOrder;
TreeUtil.sort(myRoot, new Comparator<DefaultMutableTreeNode>() {
@Override
public int compare(final DefaultMutableTreeNode o1, final DefaultMutableTreeNode o2) {
final int idx1 = order.indexOf(((MyNode)o1).getDisplayName());
final int idx2 = order.indexOf(((MyNode)o2).getDisplayName());
return idx1 - idx2;
}
});
}
@@ -194,27 +207,6 @@ public class ScopeChooserConfigurable extends MasterDetailsComponent implements
mySharedScopesManager.setScopes(sharedScopes.toArray(new NamedScope[sharedScopes.size()]));
}
private void reloadTree() {
myRoot.removeAllChildren();
loadScopes(mySharedScopesManager);
loadScopes(myLocalScopesManager);
if (isModified()) {
loadStateOrder();
}
final List<String> order = getScopesState().myOrder;
TreeUtil.sort(myRoot, new Comparator<DefaultMutableTreeNode>() {
@Override
public int compare(final DefaultMutableTreeNode o1, final DefaultMutableTreeNode o2) {
final int idx1 = order.indexOf(((MyNode)o1).getDisplayName());
final int idx2 = order.indexOf(((MyNode)o2).getDisplayName());
return idx1 - idx2;
}
});
}
private void loadStateOrder() {
final List<String> order = getScopesState().myOrder;
order.clear();