mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-10-06 06:21:16 +07:00
Don't show Default changelist when it's the only one (IDEA-191602)
This commit is contained in:
@@ -525,6 +525,9 @@ vcs.enable.partial.changelists.redo=true
|
||||
vcs.enable.partial.changelists.redo.description=Restore original markers state on Redo action
|
||||
vcs.enable.partial.changelists.redo.restartRequired=true
|
||||
|
||||
vcs.skip.single.default.changelist=true
|
||||
vcs.skip.single.default.changelist.description=Don't show changelist node in Local Changes view when only the Default changelist exists
|
||||
|
||||
psi.incremental.reparse.depth.limit=1000
|
||||
psi.deferIconLoading=true
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ import com.intellij.openapi.ui.SimpleToolWindowPanel;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.openapi.util.Factory;
|
||||
import com.intellij.openapi.util.SystemInfo;
|
||||
import com.intellij.openapi.util.registry.Registry;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vcs.ProjectLevelVcsManager;
|
||||
import com.intellij.openapi.vcs.VcsBundle;
|
||||
@@ -287,7 +288,7 @@ public class ChangesViewManager implements ChangesViewI, ProjectComponent, Persi
|
||||
ChangeListManagerImpl changeListManager = ChangeListManagerImpl.getInstanceImpl(myProject);
|
||||
|
||||
TreeModelBuilder treeModelBuilder = new TreeModelBuilder(myProject, myView.getGrouping())
|
||||
.setChangeLists(changeListManager.getChangeListsCopy())
|
||||
.setChangeLists(changeListManager.getChangeListsCopy(), Registry.is("vcs.skip.single.default.changelist"))
|
||||
.setLocallyDeletedPaths(changeListManager.getDeletedFiles())
|
||||
.setModifiedWithoutEditing(changeListManager.getModifiedWithoutEditing())
|
||||
.setSwitchedFiles(changeListManager.getSwitchedFilesMap())
|
||||
|
||||
@@ -125,7 +125,7 @@ public class TreeModelBuilder {
|
||||
@NotNull ChangesGroupingPolicyFactory grouping,
|
||||
@NotNull Collection<? extends ChangeList> changeLists) {
|
||||
return new TreeModelBuilder(project, grouping)
|
||||
.setChangeLists(changeLists)
|
||||
.setChangeLists(changeLists, false)
|
||||
.build();
|
||||
}
|
||||
|
||||
@@ -179,20 +179,30 @@ public class TreeModelBuilder {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public TreeModelBuilder setChangeLists(@NotNull Collection<? extends ChangeList> changeLists) {
|
||||
public TreeModelBuilder setChangeLists(@NotNull Collection<? extends ChangeList> changeLists, boolean skipSingleDefaultChangeList) {
|
||||
final RemoteRevisionsCache revisionsCache = RemoteRevisionsCache.getInstance(myProject);
|
||||
boolean skipChangeListNode = skipSingleDefaultChangeList && changeLists.size() == 1 &&
|
||||
LocalChangeList.DEFAULT_NAME.equals(changeLists.iterator().next().getName());
|
||||
for (ChangeList list : changeLists) {
|
||||
List<Change> changes = sorted(list.getChanges(), CHANGE_COMPARATOR);
|
||||
ChangeListRemoteState listRemoteState = new ChangeListRemoteState(changes.size());
|
||||
ChangesBrowserChangeListNode listNode = new ChangesBrowserChangeListNode(myProject, list, listRemoteState);
|
||||
listNode.markAsHelperNode();
|
||||
|
||||
myModel.insertNodeInto(listNode, myRoot, 0);
|
||||
ChangesBrowserNode changesParent;
|
||||
if (!skipChangeListNode) {
|
||||
ChangesBrowserChangeListNode listNode = new ChangesBrowserChangeListNode(myProject, list, listRemoteState);
|
||||
listNode.markAsHelperNode();
|
||||
|
||||
myModel.insertNodeInto(listNode, myRoot, 0);
|
||||
changesParent = listNode;
|
||||
}
|
||||
else {
|
||||
changesParent = myRoot;
|
||||
}
|
||||
|
||||
for (int i = 0; i < changes.size(); i++) {
|
||||
Change change = changes.get(i);
|
||||
RemoteStatusChangeNodeDecorator decorator = new RemoteStatusChangeNodeDecorator(revisionsCache, listRemoteState, i);
|
||||
insertChangeNode(change, listNode, createChangeNode(change, decorator));
|
||||
insertChangeNode(change, changesParent, createChangeNode(change, decorator));
|
||||
}
|
||||
}
|
||||
return this;
|
||||
|
||||
Reference in New Issue
Block a user