diff --git a/platform/lvcs-impl/src/com/intellij/history/integration/ui/views/DirectoryHistoryDialog.java b/platform/lvcs-impl/src/com/intellij/history/integration/ui/views/DirectoryHistoryDialog.java index 859284d6d810..d41f69d77f9d 100644 --- a/platform/lvcs-impl/src/com/intellij/history/integration/ui/views/DirectoryHistoryDialog.java +++ b/platform/lvcs-impl/src/com/intellij/history/integration/ui/views/DirectoryHistoryDialog.java @@ -135,11 +135,11 @@ public class DirectoryHistoryDialog extends HistoryDialog getSelectedObjects(ChangesBrowserNode node) { + protected List getSelectedObjects(ChangesBrowserNode node) { return node.getAllChangesUnder(); } - protected Change getLeadSelectedObject(final ChangesBrowserNode node) { + protected Change getLeadSelectedObject(final ChangesBrowserNode node) { final Object o = node.getUserObject(); if (o instanceof Change) { return (Change)o; diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/conflicts/MoveChangesDialog.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/conflicts/MoveChangesDialog.java index b1382f4f836e..5a734fdb2e75 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/conflicts/MoveChangesDialog.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/conflicts/MoveChangesDialog.java @@ -18,7 +18,6 @@ package com.intellij.openapi.vcs.changes.conflicts; import com.intellij.ide.util.PropertiesComponent; import com.intellij.openapi.actionSystem.ActionManager; -import com.intellij.openapi.actionSystem.ActionPlaces; import com.intellij.openapi.actionSystem.DefaultActionGroup; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; @@ -63,12 +62,12 @@ public class MoveChangesDialog extends DialogWrapper { } @Override - protected List getSelectedObjects(ChangesBrowserNode node) { + protected List getSelectedObjects(ChangesBrowserNode node) { return node.getAllChangesUnder(); } @Override - protected Change getLeadSelectedObject(ChangesBrowserNode node) { + protected Change getLeadSelectedObject(ChangesBrowserNode node) { final Object o = node.getUserObject(); if (o instanceof Change) { return (Change) o; diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/ApplyPatchDifferentiatedDialog.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/ApplyPatchDifferentiatedDialog.java index 26886af9f531..ced1a4ca1fc9 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/ApplyPatchDifferentiatedDialog.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/ApplyPatchDifferentiatedDialog.java @@ -585,13 +585,13 @@ public class ApplyPatchDifferentiatedDialog extends DialogWrapper { } @Override - protected List getSelectedObjects(ChangesBrowserNode node) { + protected List getSelectedObjects(ChangesBrowserNode node) { final List under = node.getAllChangesUnder(); return map(under, AbstractFilePatchInProgress.PatchChange.class::cast); } @Override - protected AbstractFilePatchInProgress.PatchChange getLeadSelectedObject(ChangesBrowserNode node) { + protected AbstractFilePatchInProgress.PatchChange getLeadSelectedObject(ChangesBrowserNode node) { final Object o = node.getUserObject(); if (o instanceof AbstractFilePatchInProgress.PatchChange) { return (AbstractFilePatchInProgress.PatchChange)o; @@ -600,7 +600,7 @@ public class ApplyPatchDifferentiatedDialog extends DialogWrapper { } @Override - protected boolean isNodeEnabled(ChangesBrowserNode node) { + protected boolean isNodeEnabled(ChangesBrowserNode node) { boolean enabled = super.isNodeEnabled(node); Object value = node.getUserObject(); if (value instanceof AbstractFilePatchInProgress.PatchChange) { diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangesBrowser.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangesBrowser.java index 03699be12565..6872c1524637 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangesBrowser.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangesBrowser.java @@ -50,12 +50,12 @@ public class ChangesBrowser extends ChangesBrowserBase { } @NotNull - protected List getSelectedObjects(@NotNull final ChangesBrowserNode node) { + protected List getSelectedObjects(@NotNull final ChangesBrowserNode node) { return node.getAllChangesUnder(); } @Nullable - protected Change getLeadSelectedObject(@NotNull final ChangesBrowserNode node) { + protected Change getLeadSelectedObject(@NotNull final ChangesBrowserNode node) { final Object o = node.getUserObject(); if (o instanceof Change) { return (Change)o; diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangesBrowserBase.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangesBrowserBase.java index 2dcb82b1f740..46c5d0106336 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangesBrowserBase.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangesBrowserBase.java @@ -116,12 +116,12 @@ public abstract class ChangesBrowserBase extends JPanel implements TypeSafeDa return ChangesBrowserBase.this.buildTreeModel(changes, changeNodeDecorator, isShowFlatten()); } - protected List getSelectedObjects(final ChangesBrowserNode node) { + protected List getSelectedObjects(final ChangesBrowserNode node) { return ChangesBrowserBase.this.getSelectedObjects(node); } @Nullable - protected T getLeadSelectedObject(final ChangesBrowserNode node) { + protected T getLeadSelectedObject(final ChangesBrowserNode node) { return ChangesBrowserBase.this.getLeadSelectedObject(node); } @@ -151,10 +151,10 @@ public abstract class ChangesBrowserBase extends JPanel implements TypeSafeDa protected abstract DefaultTreeModel buildTreeModel(final List changes, ChangeNodeDecorator changeNodeDecorator, boolean showFlatten); @NotNull - protected abstract List getSelectedObjects(@NotNull ChangesBrowserNode node); + protected abstract List getSelectedObjects(@NotNull ChangesBrowserNode node); @Nullable - protected abstract T getLeadSelectedObject(@NotNull ChangesBrowserNode node); + protected abstract T getLeadSelectedObject(@NotNull ChangesBrowserNode node); @NotNull protected Runnable getDoubleClickHandler() { diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangesTreeList.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangesTreeList.java index 89b742f945c4..2f7b7d8fc1cf 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangesTreeList.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangesTreeList.java @@ -292,7 +292,7 @@ public abstract class ChangesTreeList extends Tree implements TypeSafeDataPro return; } - TreeUtil.expandAll(ChangesTreeList.this); + TreeUtil.expandAll(this); int selectedTreeRow = -1; @@ -332,7 +332,7 @@ public abstract class ChangesTreeList extends Tree implements TypeSafeDataPro if (selectedTreeRow >= 0) { setSelectionRow(selectedTreeRow); } - TreeUtil.showRowCentered(ChangesTreeList.this, selectedTreeRow, false); + TreeUtil.showRowCentered(this, selectedTreeRow, false); } private int findRowContainingFile(@NotNull TreeNode root, @NotNull final VirtualFile toSelect) { @@ -390,7 +390,6 @@ public abstract class ChangesTreeList extends Tree implements TypeSafeDataPro else { LinkedHashSet changes = ContainerUtil.newLinkedHashSet(); for (TreePath path : paths) { - //noinspection unchecked changes.addAll(getSelectedObjects((ChangesBrowserNode)path.getLastPathComponent())); } return ContainerUtil.newArrayList(changes); @@ -404,10 +403,10 @@ public abstract class ChangesTreeList extends Tree implements TypeSafeDataPro return getChanges(); } - protected abstract List getSelectedObjects(final ChangesBrowserNode node); + protected abstract List getSelectedObjects(final ChangesBrowserNode node); @Nullable - protected abstract T getLeadSelectedObject(final ChangesBrowserNode node); + protected abstract T getLeadSelectedObject(final ChangesBrowserNode node); @Nullable public T getHighestLeadSelection() { @@ -415,15 +414,15 @@ public abstract class ChangesTreeList extends Tree implements TypeSafeDataPro if (path == null) { return null; } - //noinspection unchecked - return getLeadSelectedObject((ChangesBrowserNode)path.getLastPathComponent()); + + return getLeadSelectedObject((ChangesBrowserNode)path.getLastPathComponent()); } @Nullable public T getLeadSelection() { final TreePath path = getSelectionPath(); - //noinspection unchecked - return path == null ? null : ContainerUtil.getFirstItem(getSelectedObjects(((ChangesBrowserNode)path.getLastPathComponent()))); + + return path == null ? null : ContainerUtil.getFirstItem(getSelectedObjects(((ChangesBrowserNode)path.getLastPathComponent()))); } @NotNull @@ -565,7 +564,7 @@ public abstract class ChangesTreeList extends Tree implements TypeSafeDataPro @SuppressWarnings("unchecked") CheckboxTree.NodeState state = getNodeStatus((ChangesBrowserNode)value); myCheckBox.setSelected(state != CheckboxTree.NodeState.CLEAR); - //noinspection unchecked + myCheckBox.setEnabled(tree.isEnabled() && isNodeEnabled((ChangesBrowserNode)value)); revalidate(); @@ -583,7 +582,7 @@ public abstract class ChangesTreeList extends Tree implements TypeSafeDataPro } - private CheckboxTree.NodeState getNodeStatus(ChangesBrowserNode node) { + private CheckboxTree.NodeState getNodeStatus(ChangesBrowserNode node) { boolean hasIncluded = false; boolean hasExcluded = false; @@ -601,7 +600,7 @@ public abstract class ChangesTreeList extends Tree implements TypeSafeDataPro return CheckboxTree.NodeState.CLEAR; } - protected boolean isNodeEnabled(ChangesBrowserNode node) { + protected boolean isNodeEnabled(ChangesBrowserNode node) { return getNodeStatus(node) != CheckboxTree.NodeState.PARTIAL; } @@ -635,10 +634,10 @@ public abstract class ChangesTreeList extends Tree implements TypeSafeDataPro HashSet changesSet = new HashSet<>(changes); final List treeSelection = new ArrayList<>(changes.size()); TreeUtil.traverse(getRoot(), node -> { - @SuppressWarnings("unchecked") - final T change = (T) ((DefaultMutableTreeNode) node).getUserObject(); - if (changesSet.contains(change)) { - treeSelection.add(new TreePath(((DefaultMutableTreeNode) node).getPath())); + DefaultMutableTreeNode mutableNode = (DefaultMutableTreeNode)node; + //noinspection SuspiciousMethodCalls + if (changesSet.contains(mutableNode.getUserObject())) { + treeSelection.add(new TreePath(mutableNode.getPath())); } return true; }); diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/FilePathChangesTreeList.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/FilePathChangesTreeList.java index 5f79ab577996..575c0812ec07 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/FilePathChangesTreeList.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/FilePathChangesTreeList.java @@ -35,12 +35,12 @@ public class FilePathChangesTreeList extends ChangesTreeList { return TreeModelBuilder.buildFromFilePaths(myProject, isShowFlatten(), changes); } - protected List getSelectedObjects(final ChangesBrowserNode node) { + protected List getSelectedObjects(final ChangesBrowserNode node) { return node.getAllFilePathsUnder(); } @Nullable - protected FilePath getLeadSelectedObject(final ChangesBrowserNode node) { + protected FilePath getLeadSelectedObject(final ChangesBrowserNode node) { Object userObject = node.getUserObject(); return userObject instanceof FilePath ? (FilePath)userObject : null; } diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/MultipleChangeListBrowser.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/MultipleChangeListBrowser.java index e3a5c780aae3..a41544be09ba 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/MultipleChangeListBrowser.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/MultipleChangeListBrowser.java @@ -204,7 +204,7 @@ public class MultipleChangeListBrowser extends ChangesBrowserBase { @NotNull @Override - protected List getSelectedObjects(@NotNull ChangesBrowserNode node) { + protected List getSelectedObjects(@NotNull ChangesBrowserNode node) { List result = ContainerUtil.newArrayList(); result.addAll(node.getAllChangesUnder()); @@ -217,7 +217,7 @@ public class MultipleChangeListBrowser extends ChangesBrowserBase { @Nullable @Override - protected Object getLeadSelectedObject(@NotNull ChangesBrowserNode node) { + protected Object getLeadSelectedObject(@NotNull ChangesBrowserNode node) { Object result = null; Object userObject = node.getUserObject(); diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/SelectFilesDialog.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/SelectFilesDialog.java index 7b9bb140c5fe..3b11968ee312 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/SelectFilesDialog.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/SelectFilesDialog.java @@ -105,11 +105,11 @@ public class SelectFilesDialog extends AbstractSelectFilesDialog { return TreeModelBuilder.buildFromVirtualFiles(myProject, isShowFlatten(), changes); } - protected List getSelectedObjects(final ChangesBrowserNode node) { + protected List getSelectedObjects(final ChangesBrowserNode node) { return node.getAllFilesUnder(); } - protected VirtualFile getLeadSelectedObject(final ChangesBrowserNode node) { + protected VirtualFile getLeadSelectedObject(final ChangesBrowserNode node) { final Object o = node.getUserObject(); if (o instanceof VirtualFile) { return (VirtualFile) o;