mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[vcs] IJPL-173924 Move some changes tree code to shared module
Introduce `ChangesTreeCompatibilityProvider` as a way to avoid moving even more code at this stage GitOrigin-RevId: fc12c6dc326d8171218b4b7efd79e2a6f0525e52
This commit is contained in:
committed by
intellij-monorepo-bot
parent
2e891a20de
commit
a814f2fd05
Generated
+1
@@ -1039,6 +1039,7 @@
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/vcs-log/graph-api/intellij.platform.vcs.log.graph.iml" filepath="$PROJECT_DIR$/platform/vcs-log/graph-api/intellij.platform.vcs.log.graph.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/vcs-log/graph/intellij.platform.vcs.log.graph.impl.iml" filepath="$PROJECT_DIR$/platform/vcs-log/graph/intellij.platform.vcs.log.graph.impl.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/vcs-log/impl/intellij.platform.vcs.log.impl.iml" filepath="$PROJECT_DIR$/platform/vcs-log/impl/intellij.platform.vcs.log.impl.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/vcs-api/shared/intellij.platform.vcs.shared.iml" filepath="$PROJECT_DIR$/platform/vcs-api/shared/intellij.platform.vcs.shared.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/vcs-tests/intellij.platform.vcs.testFramework.iml" filepath="$PROJECT_DIR$/platform/vcs-tests/intellij.platform.vcs.testFramework.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/vcs-tests/intellij.platform.vcs.tests.iml" filepath="$PROJECT_DIR$/platform/vcs-tests/intellij.platform.vcs.tests.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/warmup/intellij.platform.warmup.iml" filepath="$PROJECT_DIR$/platform/warmup/intellij.platform.warmup.iml" />
|
||||
|
||||
@@ -669,6 +669,7 @@ platform/util/troveCompileOnly
|
||||
platform/util/xmlDom
|
||||
platform/util/zip
|
||||
platform/vcs-api
|
||||
platform/vcs-api/shared
|
||||
platform/vcs-api/vcs-api-core
|
||||
platform/vcs-impl
|
||||
platform/vcs-impl/exec
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<idea-plugin>
|
||||
<content>
|
||||
<module name="intellij.platform.vcs.core" loading="embedded"/>
|
||||
<module name="intellij.platform.vcs.shared" loading="embedded"/>
|
||||
<module name="intellij.platform.vcs.impl.shared"/>
|
||||
<module name="intellij.platform.vcs.dvcs.impl.shared"/>
|
||||
</content>
|
||||
|
||||
@@ -28,8 +28,12 @@ jvm_library(
|
||||
"//platform/core-api:core",
|
||||
"//platform/core-ui",
|
||||
"@lib//:caffeine",
|
||||
"//platform/vcs-api/shared",
|
||||
],
|
||||
exports = [
|
||||
"//platform/vcs-api/vcs-api-core:vcs-core",
|
||||
"//platform/vcs-api/shared",
|
||||
],
|
||||
exports = ["//platform/vcs-api/vcs-api-core:vcs-core"],
|
||||
runtime_deps = [
|
||||
":vcs_resources",
|
||||
"//platform/backend",
|
||||
|
||||
@@ -696,19 +696,6 @@ com.intellij.openapi.vcs.actions.VcsContext
|
||||
- a:getSelectedIOFile():java.io.File
|
||||
- a:getSelectedIOFiles():java.io.File[]
|
||||
- getSelectedUnversionedFilePaths():java.util.List
|
||||
com.intellij.openapi.vcs.actions.VcsContextFactory
|
||||
- a:createFilePath(com.intellij.openapi.vfs.VirtualFile,java.lang.String,Z):com.intellij.openapi.vcs.FilePath
|
||||
- a:createFilePath(java.lang.String,Z):com.intellij.openapi.vcs.FilePath
|
||||
- a:createFilePath(java.nio.file.Path,Z):com.intellij.openapi.vcs.FilePath
|
||||
- a:createFilePathOn(com.intellij.openapi.vfs.VirtualFile):com.intellij.openapi.vcs.FilePath
|
||||
- a:createFilePathOn(com.intellij.openapi.vfs.VirtualFile,java.lang.String):com.intellij.openapi.vcs.FilePath
|
||||
- a:createFilePathOn(java.io.File):com.intellij.openapi.vcs.FilePath
|
||||
- a:createFilePathOn(java.io.File,Z):com.intellij.openapi.vcs.FilePath
|
||||
- a:createFilePathOnNonLocal(java.lang.String,Z):com.intellij.openapi.vcs.FilePath
|
||||
- a:createLocalChangeList(com.intellij.openapi.project.Project,java.lang.String):com.intellij.openapi.vcs.changes.LocalChangeList
|
||||
- s:getInstance():com.intellij.openapi.vcs.actions.VcsContextFactory
|
||||
f:com.intellij.openapi.vcs.actions.VcsContextFactory$SERVICE
|
||||
- s:getInstance():com.intellij.openapi.vcs.actions.VcsContextFactory
|
||||
com.intellij.openapi.vcs.actions.VcsQuickListContentProvider
|
||||
- sf:EP_NAME:com.intellij.openapi.extensions.ExtensionPointName
|
||||
- getNotInVcsActions(com.intellij.openapi.project.Project,com.intellij.openapi.actionSystem.AnActionEvent):java.util.List
|
||||
@@ -901,10 +888,6 @@ com.intellij.openapi.vcs.changes.BinaryContentRevision
|
||||
- com.intellij.openapi.vcs.changes.ByteBackedContentRevision
|
||||
- a:getBinaryContent():B[]
|
||||
- getContentAsBytes():B[]
|
||||
com.intellij.openapi.vcs.changes.ChangeList
|
||||
- a:getChanges():java.util.Collection
|
||||
- a:getComment():java.lang.String
|
||||
- a:getName():java.lang.String
|
||||
c:com.intellij.openapi.vcs.changes.ChangeListAdapter
|
||||
- com.intellij.openapi.vcs.changes.ChangeListListener
|
||||
- <init>():V
|
||||
@@ -920,17 +903,6 @@ c:com.intellij.openapi.vcs.changes.ChangeListAdapter
|
||||
- changesMoved(java.util.Collection,com.intellij.openapi.vcs.changes.ChangeList,com.intellij.openapi.vcs.changes.ChangeList):V
|
||||
- changesRemoved(java.util.Collection,com.intellij.openapi.vcs.changes.ChangeList):V
|
||||
- defaultListChanged(com.intellij.openapi.vcs.changes.ChangeList,com.intellij.openapi.vcs.changes.ChangeList):V
|
||||
f:com.intellij.openapi.vcs.changes.ChangeListChange
|
||||
- com.intellij.openapi.vcs.changes.Change
|
||||
- sf:Companion:com.intellij.openapi.vcs.changes.ChangeListChange$Companion
|
||||
- sf:HASHING_STRATEGY:com.intellij.util.containers.HashingStrategy
|
||||
- <init>(com.intellij.openapi.vcs.changes.Change,java.lang.String,java.lang.String):V
|
||||
- <init>(com.intellij.openapi.vcs.changes.ContentRevision,com.intellij.openapi.vcs.changes.ContentRevision,com.intellij.openapi.vcs.FileStatus,com.intellij.openapi.vcs.changes.Change,java.lang.String,java.lang.String):V
|
||||
- f:getChange():com.intellij.openapi.vcs.changes.Change
|
||||
- f:getChangeListId():java.lang.String
|
||||
- f:getChangeListName():java.lang.String
|
||||
f:com.intellij.openapi.vcs.changes.ChangeListChange$Companion
|
||||
- f:replaceChangeContents(com.intellij.openapi.vcs.changes.Change,com.intellij.openapi.vcs.changes.ContentRevision,com.intellij.openapi.vcs.changes.ContentRevision):com.intellij.openapi.vcs.changes.Change
|
||||
com.intellij.openapi.vcs.changes.ChangeListDecorator
|
||||
- sf:EP_NAME:com.intellij.openapi.extensions.ProjectExtensionPointName
|
||||
- a:decorateChangeList(com.intellij.openapi.vcs.changes.LocalChangeList,com.intellij.ui.ColoredTreeCellRenderer,Z,Z,Z):V
|
||||
@@ -1085,7 +1057,6 @@ f:com.intellij.openapi.vcs.changes.ChangesUtil
|
||||
- s:iterateAfterRevisionFiles(java.lang.Iterable):com.intellij.util.containers.JBIterable
|
||||
- s:iterateFiles(java.lang.Iterable):com.intellij.util.containers.JBIterable
|
||||
- s:iteratePaths(java.lang.Iterable):com.intellij.util.containers.JBIterable
|
||||
- s:iteratePathsCaseSensitive(com.intellij.openapi.vcs.changes.Change):com.intellij.util.containers.JBIterable
|
||||
- s:loadContentRevision(com.intellij.openapi.vcs.changes.ContentRevision):B[]
|
||||
- s:markInternalOperation(com.intellij.openapi.vfs.VirtualFile,Z):V
|
||||
- s:markInternalOperation(java.lang.Iterable,Z):V
|
||||
@@ -1172,11 +1143,6 @@ com.intellij.openapi.vcs.changes.FilePathIconProvider
|
||||
- sf:EP_NAME:com.intellij.openapi.extensions.ExtensionPointName
|
||||
- getIcon(com.intellij.openapi.vcs.FilePath,com.intellij.openapi.project.Project):javax.swing.Icon
|
||||
- getIcon(com.intellij.openapi.vcs.FilePath,Z,com.intellij.openapi.project.Project):javax.swing.Icon
|
||||
f:com.intellij.openapi.vcs.changes.FilePathsHelper
|
||||
- s:convertPath(com.intellij.openapi.vcs.FilePath):java.lang.String
|
||||
- s:convertPath(java.lang.String):java.lang.String
|
||||
- s:convertPath(java.lang.String,java.lang.String):java.lang.String
|
||||
- s:convertWithLastSeparator(com.intellij.openapi.vcs.FilePath):java.lang.String
|
||||
e:com.intellij.openapi.vcs.changes.IgnoreSettingsType
|
||||
- java.lang.Enum
|
||||
- sf:FILE:com.intellij.openapi.vcs.changes.IgnoreSettingsType
|
||||
@@ -1223,20 +1189,6 @@ com.intellij.openapi.vcs.changes.IgnoredFileProvider
|
||||
- a:getIgnoredFiles(com.intellij.openapi.project.Project):java.util.Set
|
||||
- a:getIgnoredGroupDescription():java.lang.String
|
||||
- a:isIgnoredFile(com.intellij.openapi.project.Project,com.intellij.openapi.vcs.FilePath):Z
|
||||
com.intellij.openapi.vcs.changes.InclusionListener
|
||||
- java.util.EventListener
|
||||
- a:inclusionChanged():V
|
||||
com.intellij.openapi.vcs.changes.InclusionModel
|
||||
- a:addInclusion(java.util.Collection):V
|
||||
- a:addInclusionListener(com.intellij.openapi.vcs.changes.InclusionListener):V
|
||||
- a:clearInclusion():V
|
||||
- a:getInclusion():java.util.Set
|
||||
- a:getInclusionState(java.lang.Object):com.intellij.util.ui.ThreeStateCheckBox$State
|
||||
- a:isInclusionEmpty():Z
|
||||
- a:removeInclusion(java.util.Collection):V
|
||||
- a:removeInclusionListener(com.intellij.openapi.vcs.changes.InclusionListener):V
|
||||
- a:retainInclusion(java.util.Collection):V
|
||||
- a:setInclusion(java.util.Collection):V
|
||||
e:com.intellij.openapi.vcs.changes.InvokeAfterUpdateMode
|
||||
- java.lang.Enum
|
||||
- sf:BACKGROUND_CANCELLABLE:com.intellij.openapi.vcs.changes.InvokeAfterUpdateMode
|
||||
@@ -1251,46 +1203,12 @@ e:com.intellij.openapi.vcs.changes.InvokeAfterUpdateMode
|
||||
- isSynchronous():Z
|
||||
- s:valueOf(java.lang.String):com.intellij.openapi.vcs.changes.InvokeAfterUpdateMode
|
||||
- s:values():com.intellij.openapi.vcs.changes.InvokeAfterUpdateMode[]
|
||||
a:com.intellij.openapi.vcs.changes.LocalChangeList
|
||||
- com.intellij.openapi.vcs.changes.ChangeList
|
||||
- java.lang.Cloneable
|
||||
- sf:OLD_DEFAULT_NAME:java.lang.String
|
||||
- <init>():V
|
||||
- a:copy():com.intellij.openapi.vcs.changes.LocalChangeList
|
||||
- s:createEmptyChangeList(com.intellij.openapi.project.Project,java.lang.String):com.intellij.openapi.vcs.changes.LocalChangeList
|
||||
- s:getAllDefaultNames():java.util.List
|
||||
- a:getChanges():java.util.Collection
|
||||
- a:getComment():java.lang.String
|
||||
- a:getData():java.lang.Object
|
||||
- s:getDefaultName():java.lang.String
|
||||
- getId():java.lang.String
|
||||
- a:getName():java.lang.String
|
||||
- hasDefaultName():Z
|
||||
- isBlank():Z
|
||||
- a:isDefault():Z
|
||||
- a:isReadOnly():Z
|
||||
- a:setComment(java.lang.String):V
|
||||
com.intellij.openapi.vcs.changes.LocalChangeListsLoadedListener
|
||||
- a:processLoadedLists(java.util.List):V
|
||||
a:com.intellij.openapi.vcs.changes.LocalCommitExecutor
|
||||
- com.intellij.ide.HelpIdProvider
|
||||
- com.intellij.openapi.vcs.changes.CommitExecutor
|
||||
- <init>():V
|
||||
c:com.intellij.openapi.vcs.changes.LocallyDeletedChange
|
||||
- <init>(com.intellij.openapi.vcs.FilePath):V
|
||||
- equals(java.lang.Object):Z
|
||||
- getAddIcon():javax.swing.Icon
|
||||
- getDescription():java.lang.String
|
||||
- getPath():com.intellij.openapi.vcs.FilePath
|
||||
- getPresentableUrl():java.lang.String
|
||||
- hashCode():I
|
||||
f:com.intellij.openapi.vcs.changes.LogicalLock
|
||||
- <init>(Z,java.lang.String,java.lang.String,java.util.Date,java.util.Date):V
|
||||
- getComment():java.lang.String
|
||||
- getCreationDate():java.util.Date
|
||||
- getExpirationDate():java.util.Date
|
||||
- getOwner():java.lang.String
|
||||
- isIsLocal():Z
|
||||
f:com.intellij.openapi.vcs.changes.TextRevisionNumber
|
||||
- com.intellij.openapi.vcs.history.ShortVcsRevisionNumber
|
||||
- <init>(java.lang.String):V
|
||||
|
||||
@@ -24,5 +24,6 @@
|
||||
<orderEntry type="module" module-name="intellij.platform.core" />
|
||||
<orderEntry type="module" module-name="intellij.platform.core.ui" />
|
||||
<orderEntry type="library" name="caffeine" level="project" />
|
||||
<orderEntry type="module" module-name="intellij.platform.vcs.shared" exported="" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -1,5 +1,6 @@
|
||||
<idea-plugin>
|
||||
<dependencies>
|
||||
<module name="intellij.platform.vcs.core"/>
|
||||
<module name="intellij.platform.vcs.shared"/>
|
||||
</dependencies>
|
||||
</idea-plugin>
|
||||
@@ -0,0 +1,30 @@
|
||||
### auto-generated section `build intellij.platform.vcs.shared` start
|
||||
load("@rules_jvm//:jvm.bzl", "jvm_library", "jvm_resources")
|
||||
|
||||
jvm_resources(
|
||||
name = "shared_resources",
|
||||
files = glob(["resources/**/*"]),
|
||||
strip_prefix = "resources"
|
||||
)
|
||||
|
||||
jvm_library(
|
||||
name = "shared",
|
||||
module_name = "intellij.platform.vcs.shared",
|
||||
visibility = ["//visibility:public"],
|
||||
srcs = glob(["src/**/*.kt", "src/**/*.java"], allow_empty = True),
|
||||
deps = [
|
||||
"//platform/core-api:core",
|
||||
"//platform/util",
|
||||
"//platform/editor-ui-api:editor-ui",
|
||||
"//platform/ide-core",
|
||||
"//platform/diff-api:diff",
|
||||
"//platform/util/diff",
|
||||
"@lib//:kotlin-stdlib",
|
||||
"//platform/vcs-api/vcs-api-core:vcs-core",
|
||||
"//platform/analysis-api:analysis",
|
||||
"//platform/core-ui",
|
||||
"//platform/util:util-ui",
|
||||
],
|
||||
runtime_deps = [":shared_resources"]
|
||||
)
|
||||
### auto-generated section `build intellij.platform.vcs.shared` end
|
||||
@@ -0,0 +1,76 @@
|
||||
com.intellij.openapi.vcs.actions.VcsContextFactory
|
||||
- a:createFilePath(com.intellij.openapi.vfs.VirtualFile,java.lang.String,Z):com.intellij.openapi.vcs.FilePath
|
||||
- a:createFilePath(java.lang.String,Z):com.intellij.openapi.vcs.FilePath
|
||||
- a:createFilePath(java.nio.file.Path,Z):com.intellij.openapi.vcs.FilePath
|
||||
- a:createFilePathOn(com.intellij.openapi.vfs.VirtualFile):com.intellij.openapi.vcs.FilePath
|
||||
- a:createFilePathOn(com.intellij.openapi.vfs.VirtualFile,java.lang.String):com.intellij.openapi.vcs.FilePath
|
||||
- a:createFilePathOn(java.io.File):com.intellij.openapi.vcs.FilePath
|
||||
- a:createFilePathOn(java.io.File,Z):com.intellij.openapi.vcs.FilePath
|
||||
- a:createFilePathOnNonLocal(java.lang.String,Z):com.intellij.openapi.vcs.FilePath
|
||||
- a:createLocalChangeList(com.intellij.openapi.project.Project,java.lang.String):com.intellij.openapi.vcs.changes.LocalChangeList
|
||||
- s:getInstance():com.intellij.openapi.vcs.actions.VcsContextFactory
|
||||
f:com.intellij.openapi.vcs.actions.VcsContextFactory$SERVICE
|
||||
- s:getInstance():com.intellij.openapi.vcs.actions.VcsContextFactory
|
||||
com.intellij.openapi.vcs.changes.ChangeList
|
||||
- a:getChanges():java.util.Collection
|
||||
- a:getComment():java.lang.String
|
||||
- a:getName():java.lang.String
|
||||
f:com.intellij.openapi.vcs.changes.ChangeListChange
|
||||
- com.intellij.openapi.vcs.changes.Change
|
||||
- sf:Companion:com.intellij.openapi.vcs.changes.ChangeListChange$Companion
|
||||
- sf:HASHING_STRATEGY:com.intellij.util.containers.HashingStrategy
|
||||
- <init>(com.intellij.openapi.vcs.changes.Change,java.lang.String,java.lang.String):V
|
||||
- <init>(com.intellij.openapi.vcs.changes.ContentRevision,com.intellij.openapi.vcs.changes.ContentRevision,com.intellij.openapi.vcs.FileStatus,com.intellij.openapi.vcs.changes.Change,java.lang.String,java.lang.String):V
|
||||
- f:getChange():com.intellij.openapi.vcs.changes.Change
|
||||
- f:getChangeListId():java.lang.String
|
||||
- f:getChangeListName():java.lang.String
|
||||
f:com.intellij.openapi.vcs.changes.ChangeListChange$Companion
|
||||
- f:replaceChangeContents(com.intellij.openapi.vcs.changes.Change,com.intellij.openapi.vcs.changes.ContentRevision,com.intellij.openapi.vcs.changes.ContentRevision):com.intellij.openapi.vcs.changes.Change
|
||||
com.intellij.openapi.vcs.changes.InclusionListener
|
||||
- java.util.EventListener
|
||||
- a:inclusionChanged():V
|
||||
com.intellij.openapi.vcs.changes.InclusionModel
|
||||
- a:addInclusion(java.util.Collection):V
|
||||
- a:addInclusionListener(com.intellij.openapi.vcs.changes.InclusionListener):V
|
||||
- a:clearInclusion():V
|
||||
- a:getInclusion():java.util.Set
|
||||
- a:getInclusionState(java.lang.Object):com.intellij.util.ui.ThreeStateCheckBox$State
|
||||
- a:isInclusionEmpty():Z
|
||||
- a:removeInclusion(java.util.Collection):V
|
||||
- a:removeInclusionListener(com.intellij.openapi.vcs.changes.InclusionListener):V
|
||||
- a:retainInclusion(java.util.Collection):V
|
||||
- a:setInclusion(java.util.Collection):V
|
||||
a:com.intellij.openapi.vcs.changes.LocalChangeList
|
||||
- com.intellij.openapi.vcs.changes.ChangeList
|
||||
- java.lang.Cloneable
|
||||
- sf:OLD_DEFAULT_NAME:java.lang.String
|
||||
- <init>():V
|
||||
- a:copy():com.intellij.openapi.vcs.changes.LocalChangeList
|
||||
- s:createEmptyChangeList(com.intellij.openapi.project.Project,java.lang.String):com.intellij.openapi.vcs.changes.LocalChangeList
|
||||
- s:getAllDefaultNames():java.util.List
|
||||
- a:getChanges():java.util.Collection
|
||||
- a:getComment():java.lang.String
|
||||
- a:getData():java.lang.Object
|
||||
- s:getDefaultName():java.lang.String
|
||||
- getId():java.lang.String
|
||||
- a:getName():java.lang.String
|
||||
- hasDefaultName():Z
|
||||
- isBlank():Z
|
||||
- a:isDefault():Z
|
||||
- a:isReadOnly():Z
|
||||
- a:setComment(java.lang.String):V
|
||||
c:com.intellij.openapi.vcs.changes.LocallyDeletedChange
|
||||
- <init>(com.intellij.openapi.vcs.FilePath):V
|
||||
- equals(java.lang.Object):Z
|
||||
- getAddIcon():javax.swing.Icon
|
||||
- getDescription():java.lang.String
|
||||
- getPath():com.intellij.openapi.vcs.FilePath
|
||||
- getPresentableUrl():java.lang.String
|
||||
- hashCode():I
|
||||
f:com.intellij.openapi.vcs.changes.LogicalLock
|
||||
- <init>(Z,java.lang.String,java.lang.String,java.util.Date,java.util.Date):V
|
||||
- getComment():java.lang.String
|
||||
- getCreationDate():java.util.Date
|
||||
- getExpirationDate():java.util.Date
|
||||
- getOwner():java.lang.String
|
||||
- isIsLocal():Z
|
||||
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/resources" type="java-resource" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="module" module-name="intellij.platform.core" />
|
||||
<orderEntry type="module" module-name="intellij.platform.util" />
|
||||
<orderEntry type="module" module-name="intellij.platform.editor.ui" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ide.core" />
|
||||
<orderEntry type="module" module-name="intellij.platform.diff" />
|
||||
<orderEntry type="module" module-name="intellij.platform.util.diff" />
|
||||
<orderEntry type="library" name="kotlin-stdlib" level="project" />
|
||||
<orderEntry type="module" module-name="intellij.platform.vcs.core" />
|
||||
<orderEntry type="module" module-name="intellij.platform.analysis" />
|
||||
<orderEntry type="module" module-name="intellij.platform.core.ui" />
|
||||
<orderEntry type="module" module-name="intellij.platform.util.ui" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -0,0 +1,5 @@
|
||||
<idea-plugin>
|
||||
<dependencies>
|
||||
<module name="intellij.platform.vcs.core"/>
|
||||
</dependencies>
|
||||
</idea-plugin>
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.actions;
|
||||
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes;
|
||||
|
||||
import com.intellij.openapi.util.NlsSafe;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes
|
||||
|
||||
import com.intellij.openapi.util.NlsSafe
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes
|
||||
|
||||
import com.intellij.util.ui.ThreeStateCheckBox
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes;
|
||||
|
||||
import com.intellij.openapi.util.NlsSafe;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes;
|
||||
|
||||
import com.intellij.openapi.util.NlsSafe;
|
||||
@@ -0,0 +1,13 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.platform.vcs
|
||||
|
||||
import com.intellij.openapi.vcs.FilePath
|
||||
import com.intellij.openapi.vcs.actions.VcsContextFactory
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
|
||||
@ApiStatus.Internal
|
||||
object VcsUtil {
|
||||
@JvmStatic
|
||||
fun getFilePath(file: VirtualFile): FilePath = VcsContextFactory.getInstance().createFilePathOn(file)
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.platform.vcs.changes
|
||||
|
||||
import com.intellij.openapi.ListSelection
|
||||
import com.intellij.openapi.actionSystem.DataKey
|
||||
import com.intellij.openapi.vcs.FilePath
|
||||
import com.intellij.openapi.vcs.changes.Change
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
|
||||
@ApiStatus.Internal
|
||||
object ChangesDataKeys {
|
||||
@JvmField
|
||||
val CHANGES: DataKey<Array<Change>> = DataKey.create("vcs.Change")
|
||||
|
||||
@JvmField
|
||||
val SELECTED_CHANGES: DataKey<Array<Change>> = DataKey.create("ChangeListView.SelectedChange")
|
||||
|
||||
@JvmField
|
||||
val SELECTED_CHANGES_IN_DETAILS: DataKey<Array<Change>> = DataKey.create("ChangeListView.SelectedChangesWithMovedSubtrees")
|
||||
|
||||
@JvmField
|
||||
val CHANGES_SELECTION: DataKey<ListSelection<Change>> = DataKey.create("vcs.ChangesSelection")
|
||||
|
||||
@JvmField
|
||||
val CHANGE_LEAD_SELECTION: DataKey<Array<Change>> = DataKey.create("ChangeListView.ChangeLeadSelection")
|
||||
|
||||
@JvmField
|
||||
val FILE_PATHS: DataKey<Iterable<FilePath>> = DataKey.create("VCS_FILE_PATHS")
|
||||
|
||||
@JvmField
|
||||
val VIRTUAL_FILES: DataKey<Iterable<VirtualFile>> = DataKey.create("VCS_VIRTUAL_FILES")
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.platform.vcs.changes
|
||||
|
||||
import com.intellij.openapi.fileEditor.OpenFileDescriptor
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.vcs.FilePath
|
||||
import com.intellij.openapi.vcs.changes.Change
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.pom.Navigatable
|
||||
import com.intellij.util.containers.HashingStrategy
|
||||
import com.intellij.util.containers.JBIterable
|
||||
import com.intellij.util.containers.toArray
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
import java.util.*
|
||||
|
||||
@ApiStatus.Internal
|
||||
object ChangesUtil {
|
||||
@JvmField
|
||||
val CASE_SENSITIVE_FILE_PATH_HASHING_STRATEGY: HashingStrategy<FilePath?> = object : HashingStrategy<FilePath?> {
|
||||
override fun hashCode(path: FilePath?): Int {
|
||||
return if (path != null) Objects.hash(path.getPath(), path.isDirectory()) else 0
|
||||
}
|
||||
|
||||
override fun equals(path1: FilePath?, path2: FilePath?): Boolean {
|
||||
if (path1 === path2) return true
|
||||
if (path1 == null || path2 == null) return false
|
||||
|
||||
return path1.isDirectory() == path2.isDirectory() && path1.getPath() == path2.getPath()
|
||||
}
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun getFilePath(change: Change): FilePath {
|
||||
val revision = change.afterRevision ?: change.beforeRevision
|
||||
requireNotNull(revision) { "Change $change doesn't have before or after revisions" }
|
||||
return revision.getFile()
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun getAfterPath(change: Change): FilePath? = change.afterRevision?.getFile()
|
||||
|
||||
@JvmStatic
|
||||
fun getBeforePath(change: Change): FilePath? = change.beforeRevision?.getFile()
|
||||
|
||||
@JvmStatic
|
||||
fun equalsCaseSensitive(path1: FilePath?, path2: FilePath?): Boolean {
|
||||
return CASE_SENSITIVE_FILE_PATH_HASHING_STRATEGY.equals(path1, path2)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun getNavigatableArray(project: Project, files: Iterable<VirtualFile>): Array<Navigatable> {
|
||||
return files.asSequence()
|
||||
.filter { file -> !file.isDirectory() }
|
||||
.map { file -> OpenFileDescriptor(project, file) }
|
||||
.toList()
|
||||
.toArray(Navigatable.EMPTY_NAVIGATABLE_ARRAY)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun iteratePathsCaseSensitive(change: Change): JBIterable<FilePath> {
|
||||
val beforePath = getBeforePath(change)
|
||||
val afterPath = getAfterPath(change)
|
||||
|
||||
if (equalsCaseSensitive(beforePath, afterPath)) {
|
||||
return JBIterable.of(beforePath)
|
||||
}
|
||||
else {
|
||||
return JBIterable.of(beforePath, afterPath).filterNotNull()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -12,6 +12,7 @@ import com.intellij.openapi.vcs.history.VcsHistoryProvider;
|
||||
import com.intellij.openapi.vcs.history.VcsHistorySession;
|
||||
import com.intellij.openapi.vcs.history.VcsRevisionNumber;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.platform.vcs.changes.ChangesDataKeys;
|
||||
import com.intellij.util.Consumer;
|
||||
import com.intellij.vcs.commit.CommitWorkflowHandler;
|
||||
import com.intellij.vcs.commit.CommitWorkflowUi;
|
||||
@@ -33,13 +34,13 @@ public interface VcsDataKeys {
|
||||
DataKey<VirtualFile> VCS_VIRTUAL_FILE = DataKey.create("VCS_VIRTUAL_FILE");
|
||||
DataKey<FilePath> FILE_PATH = DataKey.create("FILE_PATH");
|
||||
|
||||
@ApiStatus.Internal DataKey<Iterable<FilePath>> FILE_PATHS = DataKey.create("VCS_FILE_PATHS");
|
||||
@ApiStatus.Internal DataKey<Iterable<FilePath>> FILE_PATHS = ChangesDataKeys.FILE_PATHS;
|
||||
/**
|
||||
* Lazily iterable {@link com.intellij.openapi.actionSystem.CommonDataKeys#VIRTUAL_FILE_ARRAY}.
|
||||
*
|
||||
* @see com.intellij.openapi.vcs.VcsVirtualFilesRule
|
||||
*/
|
||||
DataKey<Iterable<VirtualFile>> VIRTUAL_FILES = DataKey.create("VCS_VIRTUAL_FILES");
|
||||
DataKey<Iterable<VirtualFile>> VIRTUAL_FILES = ChangesDataKeys.VIRTUAL_FILES;
|
||||
|
||||
DataKey<ChangeList[]> CHANGE_LISTS = DataKey.create("vcs.ChangeList");
|
||||
/**
|
||||
@@ -47,15 +48,15 @@ public interface VcsDataKeys {
|
||||
*
|
||||
* @see #SELECTED_CHANGES
|
||||
*/
|
||||
DataKey<Change[]> CHANGES = DataKey.create("vcs.Change");
|
||||
DataKey<Change[]> CHANGES = ChangesDataKeys.CHANGES;
|
||||
/**
|
||||
* Selected changes only.
|
||||
*/
|
||||
DataKey<Change[]> SELECTED_CHANGES = DataKey.create("ChangeListView.SelectedChange");
|
||||
DataKey<Change[]> SELECTED_CHANGES = ChangesDataKeys.SELECTED_CHANGES;
|
||||
/**
|
||||
* Same as {@link #SELECTED_CHANGES}.
|
||||
*/
|
||||
DataKey<Change[]> SELECTED_CHANGES_IN_DETAILS = DataKey.create("ChangeListView.SelectedChangesWithMovedSubtrees");
|
||||
DataKey<Change[]> SELECTED_CHANGES_IN_DETAILS = ChangesDataKeys.SELECTED_CHANGES_IN_DETAILS;
|
||||
/**
|
||||
* For multiple selection, return selected changes.
|
||||
* For singular selection, return all changes and set selected index.
|
||||
@@ -64,7 +65,7 @@ public interface VcsDataKeys {
|
||||
* @see com.intellij.openapi.vcs.changes.VcsChangesSelectionRule
|
||||
* @see com.intellij.openapi.vcs.changes.ui.VcsTreeModelData#getListSelectionOrAll
|
||||
*/
|
||||
DataKey<ListSelection<Change>> CHANGES_SELECTION = DataKey.create("vcs.ChangesSelection");
|
||||
DataKey<ListSelection<Change>> CHANGES_SELECTION = ChangesDataKeys.CHANGES_SELECTION;
|
||||
/**
|
||||
* Explicitly selected changes.
|
||||
* <p>
|
||||
@@ -72,7 +73,7 @@ public interface VcsDataKeys {
|
||||
* This key will return selected nodes only.
|
||||
* This difference might be important when {@link AbstractVcs#areDirectoriesVersionedItems()} is {@code true}.
|
||||
*/
|
||||
DataKey<Change[]> CHANGE_LEAD_SELECTION = DataKey.create("ChangeListView.ChangeLeadSelection");
|
||||
DataKey<Change[]> CHANGE_LEAD_SELECTION = ChangesDataKeys.CHANGE_LEAD_SELECTION;
|
||||
|
||||
DataKey<Change> CURRENT_CHANGE = DataKey.create("vcs.CurrentChange");
|
||||
DataKey<VirtualFile> CURRENT_UNVERSIONED = DataKey.create("ChangeListView.CurrentUnversionedFile");
|
||||
|
||||
@@ -3,7 +3,6 @@ package com.intellij.openapi.vcs.changes;
|
||||
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.application.ReadAction;
|
||||
import com.intellij.openapi.fileEditor.OpenFileDescriptor;
|
||||
import com.intellij.openapi.progress.ProcessCanceledException;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Key;
|
||||
@@ -25,25 +24,10 @@ import org.jetbrains.annotations.Unmodifiable;
|
||||
import java.io.File;
|
||||
import java.util.*;
|
||||
|
||||
import static java.util.Objects.hash;
|
||||
|
||||
public final class ChangesUtil {
|
||||
private static final Key<Boolean> INTERNAL_OPERATION_KEY = Key.create("internal vcs operation");
|
||||
|
||||
public static final HashingStrategy<FilePath> CASE_SENSITIVE_FILE_PATH_HASHING_STRATEGY = new HashingStrategy<>() {
|
||||
@Override
|
||||
public int hashCode(@Nullable FilePath path) {
|
||||
return path != null ? hash(path.getPath(), path.isDirectory()) : 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(@Nullable FilePath path1, @Nullable FilePath path2) {
|
||||
if (path1 == path2) return true;
|
||||
if (path1 == null || path2 == null) return false;
|
||||
|
||||
return path1.isDirectory() == path2.isDirectory() && path1.getPath().equals(path2.getPath());
|
||||
}
|
||||
};
|
||||
public static final HashingStrategy<FilePath> CASE_SENSITIVE_FILE_PATH_HASHING_STRATEGY = com.intellij.platform.vcs.changes.ChangesUtil.CASE_SENSITIVE_FILE_PATH_HASHING_STRATEGY;
|
||||
|
||||
public static final Comparator<LocalChangeList> CHANGELIST_COMPARATOR =
|
||||
Comparator.<LocalChangeList>comparingInt(list -> list.isDefault() ? -1 : 0)
|
||||
@@ -52,23 +36,15 @@ public final class ChangesUtil {
|
||||
private ChangesUtil() { }
|
||||
|
||||
public static @NotNull FilePath getFilePath(@NotNull Change change) {
|
||||
ContentRevision revision = change.getAfterRevision();
|
||||
if (revision == null) {
|
||||
revision = change.getBeforeRevision();
|
||||
assert revision != null;
|
||||
}
|
||||
|
||||
return revision.getFile();
|
||||
return com.intellij.platform.vcs.changes.ChangesUtil.getFilePath(change);
|
||||
}
|
||||
|
||||
public static @Nullable FilePath getBeforePath(@NotNull Change change) {
|
||||
ContentRevision revision = change.getBeforeRevision();
|
||||
return revision == null ? null : revision.getFile();
|
||||
return com.intellij.platform.vcs.changes.ChangesUtil.getBeforePath(change);
|
||||
}
|
||||
|
||||
public static @Nullable FilePath getAfterPath(@NotNull Change change) {
|
||||
ContentRevision revision = change.getAfterRevision();
|
||||
return revision == null ? null : revision.getFile();
|
||||
return com.intellij.platform.vcs.changes.ChangesUtil.getAfterPath(change);
|
||||
}
|
||||
|
||||
public static @Nullable AbstractVcs getVcsForChange(@NotNull Change change, @NotNull Project project) {
|
||||
@@ -127,23 +103,11 @@ public final class ChangesUtil {
|
||||
}
|
||||
|
||||
public static @NotNull JBIterable<FilePath> iteratePaths(@NotNull Iterable<? extends Change> changes) {
|
||||
return JBIterable.from(changes).flatMap(ChangesUtil::iteratePathsCaseSensitive);
|
||||
return JBIterable.from(changes).flatMap(com.intellij.platform.vcs.changes.ChangesUtil::iteratePathsCaseSensitive);
|
||||
}
|
||||
|
||||
public static boolean equalsCaseSensitive(@Nullable FilePath path1, @Nullable FilePath path2) {
|
||||
return CASE_SENSITIVE_FILE_PATH_HASHING_STRATEGY.equals(path1, path2);
|
||||
}
|
||||
|
||||
public static @NotNull JBIterable<FilePath> iteratePathsCaseSensitive(@NotNull Change change) {
|
||||
FilePath beforePath = getBeforePath(change);
|
||||
FilePath afterPath = getAfterPath(change);
|
||||
|
||||
if (equalsCaseSensitive(beforePath, afterPath)) {
|
||||
return JBIterable.of(beforePath);
|
||||
}
|
||||
else {
|
||||
return JBIterable.of(beforePath, afterPath).filterNotNull();
|
||||
}
|
||||
return com.intellij.platform.vcs.changes.ChangesUtil.equalsCaseSensitive(path1, path2);
|
||||
}
|
||||
|
||||
public static @NotNull JBIterable<VirtualFile> iterateFiles(@NotNull Iterable<? extends Change> changes) {
|
||||
@@ -165,11 +129,7 @@ public final class ChangesUtil {
|
||||
}
|
||||
|
||||
public static Navigatable @NotNull [] getNavigatableArray(@NotNull Project project, @NotNull Iterable<? extends VirtualFile> files) {
|
||||
return JBIterable.from(files)
|
||||
.filter(file -> !file.isDirectory())
|
||||
.map(file -> new OpenFileDescriptor(project, file))
|
||||
.toList()
|
||||
.toArray(Navigatable.EMPTY_NAVIGATABLE_ARRAY);
|
||||
return com.intellij.platform.vcs.changes.ChangesUtil.getNavigatableArray(project, files);
|
||||
}
|
||||
|
||||
public static @Nullable LocalChangeList getChangeListIfOnlyOne(@NotNull Project project, Change @Nullable [] changes) {
|
||||
|
||||
@@ -1709,10 +1709,6 @@ f:com.intellij.openapi.vcs.changes.issueLinks.IssueLinkHtmlRenderer
|
||||
- s:formatTextIntoHtml(com.intellij.openapi.project.Project,java.lang.String):java.lang.String
|
||||
- s:formatTextWithLinks(com.intellij.openapi.project.Project,java.lang.String):java.lang.String
|
||||
- s:formatTextWithLinks(com.intellij.openapi.project.Project,java.lang.String,com.intellij.util.containers.Convertor):java.lang.String
|
||||
c:com.intellij.openapi.vcs.changes.issueLinks.IssueLinkRenderer
|
||||
- <init>(com.intellij.openapi.project.Project,com.intellij.ui.SimpleColoredComponent):V
|
||||
- appendTextWithLinks(java.lang.String):java.util.List
|
||||
- appendTextWithLinks(java.lang.String,com.intellij.ui.SimpleTextAttributes):java.util.List
|
||||
c:com.intellij.openapi.vcs.changes.issueLinks.TableLinkMouseListener
|
||||
- com.intellij.openapi.vcs.changes.issueLinks.AbstractBaseTagMouseListener
|
||||
- <init>():V
|
||||
@@ -2153,29 +2149,6 @@ c:com.intellij.openapi.vcs.changes.shelf.UnshelveWithDialogAction
|
||||
- actionPerformed(com.intellij.openapi.actionSystem.AnActionEvent):V
|
||||
- getActionUpdateThread():com.intellij.openapi.actionSystem.ActionUpdateThread
|
||||
- update(com.intellij.openapi.actionSystem.AnActionEvent):V
|
||||
a:com.intellij.openapi.vcs.changes.ui.AbstractChangesBrowserFilePathNode
|
||||
- com.intellij.ide.util.treeView.PathElementIdProvider
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- sf:Companion:com.intellij.openapi.vcs.changes.ui.AbstractChangesBrowserFilePathNode$Companion
|
||||
- <init>(java.lang.Object,com.intellij.openapi.vcs.FileStatus):V
|
||||
- compareUserObjects(java.lang.Object):I
|
||||
- pa:filePath(java.lang.Object):com.intellij.openapi.vcs.FilePath
|
||||
- getBackgroundColor(com.intellij.openapi.project.Project):java.awt.Color
|
||||
- getFlattenedElements():java.util.List
|
||||
- f:getOriginText():java.lang.String
|
||||
- getPathElementId():java.lang.String
|
||||
- f:getRelativeFilePath(com.intellij.openapi.project.Project,com.intellij.openapi.vcs.FilePath):java.lang.String
|
||||
- p:getRelativePath(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,com.intellij.openapi.vcs.FilePath):java.lang.String
|
||||
- getSortWeight():I
|
||||
- f:getStatus():com.intellij.openapi.vcs.FileStatus
|
||||
- getTextPresentation():java.lang.String
|
||||
- p:isDirectory():Z
|
||||
- p:isFile():Z
|
||||
- p:originPath(java.lang.Object):com.intellij.openapi.vcs.FilePath
|
||||
- render(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,Z,Z,Z):V
|
||||
- sf:safeCastToFilePath(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):com.intellij.openapi.vcs.FilePath
|
||||
f:com.intellij.openapi.vcs.changes.ui.AbstractChangesBrowserFilePathNode$Companion
|
||||
- f:safeCastToFilePath(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):com.intellij.openapi.vcs.FilePath
|
||||
a:com.intellij.openapi.vcs.changes.ui.AsyncChangesBrowserBase
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserBase
|
||||
- <init>(com.intellij.openapi.project.Project,Z,Z):V
|
||||
@@ -2235,25 +2208,6 @@ c:com.intellij.openapi.vcs.changes.ui.AsyncChangesTreeImpl$VirtualFiles
|
||||
- p:buildTreeModel(com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicyFactory,java.util.List):javax.swing.tree.DefaultTreeModel
|
||||
com.intellij.openapi.vcs.changes.ui.AsyncChangesTreeModel
|
||||
- a:buildTreeModel(com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicyFactory,kotlin.coroutines.Continuation):java.lang.Object
|
||||
a:com.intellij.openapi.vcs.changes.ui.BaseChangesGroupingPolicy
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicy
|
||||
- sf:Companion:com.intellij.openapi.vcs.changes.ui.BaseChangesGroupingPolicy$Companion
|
||||
- <init>():V
|
||||
- sf:getCachingRoot(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode,com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- pf:getNextPolicy():com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicy
|
||||
- sf:markCachingRoot(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):V
|
||||
- pf:resolveVirtualFile(com.intellij.openapi.vcs.changes.ui.StaticFilePath):com.intellij.openapi.vfs.VirtualFile
|
||||
- f:setNextGroupingPolicy(com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicy):V
|
||||
- pf:setNextPolicy(com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicy):V
|
||||
f:com.intellij.openapi.vcs.changes.ui.BaseChangesGroupingPolicy$Companion
|
||||
- f:getCachingRoot(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode,com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- f:markCachingRoot(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):V
|
||||
a:com.intellij.openapi.vcs.changes.ui.BaseInclusionModel
|
||||
- com.intellij.openapi.vcs.changes.InclusionModel
|
||||
- <init>():V
|
||||
- addInclusionListener(com.intellij.openapi.vcs.changes.InclusionListener):V
|
||||
- pf:fireInclusionChanged():V
|
||||
- removeInclusionListener(com.intellij.openapi.vcs.changes.InclusionListener):V
|
||||
c:com.intellij.openapi.vcs.changes.ui.BooleanCommitOption
|
||||
- com.intellij.openapi.options.UiDslUnnamedConfigurable$Simple
|
||||
- com.intellij.openapi.vcs.ui.RefreshableOnComponent
|
||||
@@ -2347,9 +2301,6 @@ f:com.intellij.openapi.vcs.changes.ui.ChangeListViewerDialog
|
||||
- s:show(com.intellij.openapi.project.Project,java.lang.String,com.intellij.openapi.vcs.changes.ui.LoadingCommittedChangeListPanel,com.intellij.openapi.vcs.impl.BackgroundableActionLock,Z):V
|
||||
- s:showDialog(com.intellij.openapi.project.Project,java.lang.String,com.intellij.openapi.vcs.changes.ui.LoadingCommittedChangeListPanel):V
|
||||
- s:tryFocusExistingDialog(com.intellij.openapi.vcs.impl.BackgroundableActionLock):Z
|
||||
com.intellij.openapi.vcs.changes.ui.ChangeNodeDecorator
|
||||
- a:decorate(com.intellij.openapi.vcs.changes.Change,com.intellij.ui.SimpleColoredComponent,Z):V
|
||||
- a:preDecorate(com.intellij.openapi.vcs.changes.Change,com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,Z):V
|
||||
a:com.intellij.openapi.vcs.changes.ui.ChangesBrowserBase
|
||||
- javax.swing.JPanel
|
||||
- com.intellij.openapi.actionSystem.UiCompatibleDataProvider
|
||||
@@ -2408,32 +2359,6 @@ c:com.intellij.openapi.vcs.changes.ui.ChangesBrowserChangeListNode
|
||||
- getSortWeight():I
|
||||
- getTextPresentation():java.lang.String
|
||||
- render(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,Z,Z,Z):V
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesBrowserChangeNode
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- com.intellij.openapi.vcs.changes.issueLinks.TreeLinkMouseListener$HaveTooltip
|
||||
- p:<init>(com.intellij.openapi.project.Project,com.intellij.openapi.vcs.changes.Change,com.intellij.openapi.vcs.changes.ui.ChangeNodeDecorator):V
|
||||
- compareUserObjects(com.intellij.openapi.vcs.changes.Change):I
|
||||
- getSortWeight():I
|
||||
- getTextPresentation():java.lang.String
|
||||
- getTooltip():java.lang.String
|
||||
- p:isDirectory():Z
|
||||
- p:isFile():Z
|
||||
- render(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,Z,Z,Z):V
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesBrowserFileNode
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- java.lang.Comparable
|
||||
- <init>(com.intellij.openapi.project.Project,com.intellij.openapi.vfs.VirtualFile):V
|
||||
- compareTo(com.intellij.openapi.vcs.changes.ui.ChangesBrowserFileNode):I
|
||||
- getSortWeight():I
|
||||
- getTextPresentation():java.lang.String
|
||||
- p:isDirectory():Z
|
||||
- p:isFile():Z
|
||||
- render(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,Z,Z,Z):V
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesBrowserFilePathNode
|
||||
- com.intellij.openapi.vcs.changes.ui.AbstractChangesBrowserFilePathNode
|
||||
- <init>(com.intellij.openapi.vcs.FilePath):V
|
||||
- <init>(com.intellij.openapi.vcs.FilePath,com.intellij.openapi.vcs.FileStatus):V
|
||||
- p:filePath(com.intellij.openapi.vcs.FilePath):com.intellij.openapi.vcs.FilePath
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesBrowserModuleNode
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$NodeWithFilePath
|
||||
@@ -2444,187 +2369,6 @@ c:com.intellij.openapi.vcs.changes.ui.ChangesBrowserModuleNode
|
||||
- getSortWeight():I
|
||||
- getTextPresentation():java.lang.String
|
||||
- render(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,Z,Z,Z):V
|
||||
a:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- javax.swing.tree.DefaultMutableTreeNode
|
||||
- com.intellij.openapi.util.UserDataHolderEx
|
||||
- psf:CHANGE_LIST_SORT_WEIGHT:I
|
||||
- psf:CHANGE_SORT_WEIGHT:I
|
||||
- psf:CONFLICTS_SORT_WEIGHT:I
|
||||
- psf:DEFAULT_CHANGE_LIST_SORT_WEIGHT:I
|
||||
- psf:DEFAULT_SORT_WEIGHT:I
|
||||
- psf:DELETED_SORT_WEIGHT:I
|
||||
- psf:DIRECTORY_PATH_SORT_WEIGHT:I
|
||||
- psf:FILE_PATH_SORT_WEIGHT:I
|
||||
- sf:IGNORED_FILES_TAG:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag
|
||||
- psf:IGNORED_SORT_WEIGHT:I
|
||||
- sf:LOCALLY_DELETED_NODE_TAG:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag
|
||||
- sf:LOCKED_FOLDERS_TAG:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag
|
||||
- sf:LOGICALLY_LOCKED_TAG:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag
|
||||
- sf:MODIFIED_WITHOUT_EDITING_TAG:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag
|
||||
- psf:MODULE_SORT_WEIGHT:I
|
||||
- psf:REPOSITORY_SORT_WEIGHT:I
|
||||
- psf:RESOLVED_CONFLICTS_SORT_WEIGHT:I
|
||||
- sf:SWITCHED_FILES_TAG:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag
|
||||
- sf:SWITCHED_ROOTS_TAG:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag
|
||||
- sf:TO_TEXT_CONVERTER:com.intellij.util.containers.Convertor
|
||||
- sf:UNVERSIONED_FILES_TAG:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag
|
||||
- psf:UNVERSIONED_SORT_WEIGHT:I
|
||||
- psf:VIRTUAL_FILE_SORT_WEIGHT:I
|
||||
- p:<init>(java.lang.Object):V
|
||||
- p:appendCount(com.intellij.ui.ColoredTreeCellRenderer):V
|
||||
- p:appendParentPath(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,com.intellij.openapi.vcs.FilePath):V
|
||||
- p:appendParentPath(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,com.intellij.openapi.vfs.VirtualFile):V
|
||||
- p:appendUpdatingState(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer):V
|
||||
- ps:compareFileNames(java.lang.String,java.lang.String):I
|
||||
- s:compareFilePaths(com.intellij.openapi.vcs.FilePath,com.intellij.openapi.vcs.FilePath):I
|
||||
- compareUserObjects(java.lang.Object):I
|
||||
- s:createChange(com.intellij.openapi.project.Project,com.intellij.openapi.vcs.changes.Change):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- s:createFile(com.intellij.openapi.project.Project,com.intellij.openapi.vfs.VirtualFile):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- s:createFilePath(com.intellij.openapi.vcs.FilePath):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- s:createFilePath(com.intellij.openapi.vcs.FilePath,com.intellij.openapi.vcs.FileStatus):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- s:createLocallyDeleted(com.intellij.openapi.vcs.changes.LocallyDeletedChange):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- s:createLockedFolders(com.intellij.openapi.project.Project):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- s:createLogicallyLocked(com.intellij.openapi.project.Project,com.intellij.openapi.vfs.VirtualFile,com.intellij.openapi.vcs.changes.LogicalLock):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- s:createRoot():com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- getAllChangesUnder():java.util.List
|
||||
- getAllObjectsUnder(java.lang.Class):java.util.List
|
||||
- getBackgroundColor(com.intellij.openapi.project.Project):java.awt.Color
|
||||
- ps:getBackgroundColorFor(com.intellij.openapi.project.Project,java.lang.Object):java.awt.Color
|
||||
- p:getCountText():java.lang.String
|
||||
- getDirectoryCount():I
|
||||
- getFileCount():I
|
||||
- getParent():com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- getSortWeight():I
|
||||
- getTextPresentation():java.lang.String
|
||||
- getUserData(com.intellij.openapi.util.Key):java.lang.Object
|
||||
- getUserObject():java.lang.Object
|
||||
- insert(javax.swing.tree.MutableTreeNode,I):V
|
||||
- p:isDirectory():Z
|
||||
- p:isFile():Z
|
||||
- isMeaningfulNode():Z
|
||||
- iterateFilePathsUnder():com.intellij.util.containers.JBIterable
|
||||
- iterateFilesUnder():com.intellij.util.containers.JBIterable
|
||||
- iterateNodeChildren():com.intellij.util.containers.JBIterable
|
||||
- f:markAsHelperNode():V
|
||||
- putUserData(com.intellij.openapi.util.Key,java.lang.Object):V
|
||||
- putUserDataIfAbsent(com.intellij.openapi.util.Key,java.lang.Object):java.lang.Object
|
||||
- remove(I):V
|
||||
- render(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,Z,Z,Z):V
|
||||
- render(javax.swing.JTree,com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,Z,Z,Z):V
|
||||
- replace(com.intellij.openapi.util.Key,java.lang.Object,java.lang.Object):Z
|
||||
- p:resetCounters():V
|
||||
- setUserObject(java.lang.Object):V
|
||||
- shouldExpandByDefault():Z
|
||||
- traverse():com.intellij.util.containers.JBIterable
|
||||
- traverseObjectsUnder():com.intellij.util.containers.JBIterable
|
||||
com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$NodeWithFilePath
|
||||
- a:getNodeFilePath():com.intellij.openapi.vcs.FilePath
|
||||
com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag
|
||||
- a:toString():java.lang.String
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$TagImpl
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag
|
||||
- <init>(java.lang.String):V
|
||||
a:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$ValueTag
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag
|
||||
- f:value:java.lang.Object
|
||||
- <init>(java.lang.Object):V
|
||||
- f:equals(java.lang.Object):Z
|
||||
- p:getValue():java.lang.Object
|
||||
- f:hashCode():I
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$VcsBundleTag
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag
|
||||
- <init>(java.lang.String):V
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$WrapperTag
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$ValueTag
|
||||
- s:wrap(java.lang.Object):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer
|
||||
- com.intellij.ui.ColoredTreeCellRenderer
|
||||
- <init>(com.intellij.openapi.project.Project,com.intellij.openapi.util.BooleanGetter,Z):V
|
||||
- appendFileName(com.intellij.openapi.vfs.VirtualFile,java.lang.String,java.awt.Color):V
|
||||
- appendTextWithIssueLinks(java.lang.String,com.intellij.ui.SimpleTextAttributes):V
|
||||
- clear():V
|
||||
- customizeCellRenderer(javax.swing.JTree,java.lang.Object,Z,Z,Z,I,Z):V
|
||||
- p:doPaintFragmentBackground(java.awt.Graphics2D,I,java.awt.Color,I,I,I,I):V
|
||||
- getProject():com.intellij.openapi.project.Project
|
||||
- isShowFlatten():Z
|
||||
- isShowingLocalChanges():Z
|
||||
- setBackgroundInsets(com.intellij.util.ui.JBInsets):V
|
||||
- setIcon(com.intellij.openapi.vcs.FilePath,Z):V
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesBrowserSpecificFilePathsNode
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserSpecificNode
|
||||
- p:<init>(java.lang.Object,java.util.Collection,java.lang.Runnable):V
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesBrowserSpecificFilesNode
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserSpecificNode
|
||||
- p:<init>(java.lang.Object,java.util.Collection,java.lang.Runnable):V
|
||||
a:com.intellij.openapi.vcs.changes.ui.ChangesBrowserSpecificNode
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- pf:myDialogShower:java.lang.Runnable
|
||||
- pf:myIsMany:Z
|
||||
- p:<init>(java.lang.Object,java.util.Collection,I,java.lang.Runnable):V
|
||||
- getDirectoryCount():I
|
||||
- getFileCount():I
|
||||
- isManyFiles():Z
|
||||
- s:isManyFiles(java.util.Collection):Z
|
||||
- render(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,Z,Z,Z):V
|
||||
- f:setAttributes(com.intellij.ui.SimpleTextAttributes):V
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesBrowserStringNode
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- <init>(java.lang.String):V
|
||||
- <init>(java.lang.String,com.intellij.ui.SimpleTextAttributes):V
|
||||
- getTextPresentation():java.lang.String
|
||||
- render(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,Z,Z,Z):V
|
||||
f:com.intellij.openapi.vcs.changes.ui.ChangesBrowserUnversionedFilesNode
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserSpecificFilePathsNode
|
||||
- <init>(com.intellij.openapi.project.Project,java.util.List):V
|
||||
- getSortWeight():I
|
||||
- getTextPresentation():java.lang.String
|
||||
- render(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,Z,Z,Z):V
|
||||
com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicy
|
||||
- getParentNodeFor(com.intellij.openapi.vcs.changes.ui.StaticFilePath,com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- getParentNodeFor(com.intellij.openapi.vcs.changes.ui.StaticFilePath,com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode,com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- setNextGroupingPolicy(com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicy):V
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicy$CompatibilityPlaceholderChangesBrowserNode
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- render(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,Z,Z,Z):V
|
||||
a:com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicyFactory
|
||||
- sf:EP_NAME:com.intellij.openapi.extensions.ExtensionPointName
|
||||
- <init>():V
|
||||
- a:createGroupingPolicy(com.intellij.openapi.project.Project,javax.swing.tree.DefaultTreeModel):com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicy
|
||||
f:com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicyFactoryEPBean
|
||||
- com.intellij.serviceContainer.BaseKeyedLazyInstance
|
||||
- implementationClass:java.lang.String
|
||||
- key:java.lang.String
|
||||
- weight:I
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesGroupingSupport
|
||||
- sf:Companion:com.intellij.openapi.vcs.changes.ui.ChangesGroupingSupport$Companion
|
||||
- sf:DIRECTORY_GROUPING:java.lang.String
|
||||
- sf:KEY:com.intellij.openapi.actionSystem.DataKey
|
||||
- sf:MODULE_GROUPING:java.lang.String
|
||||
- sf:NONE_GROUPING:java.lang.String
|
||||
- sf:PROP_GROUPING_KEYS:java.lang.String
|
||||
- sf:REPOSITORY_GROUPING:java.lang.String
|
||||
- <init>(com.intellij.openapi.project.Project,java.lang.Object,Z):V
|
||||
- f:addPropertyChangeListener(java.beans.PropertyChangeListener):V
|
||||
- sf:findFactory(java.lang.String):com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicyFactory
|
||||
- f:get(java.lang.String):Z
|
||||
- sf:getFactory(java.lang.String):com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicyFactory
|
||||
- f:getGrouping():com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicyFactory
|
||||
- f:getGroupingKeys():java.util.Set
|
||||
- f:getProject():com.intellij.openapi.project.Project
|
||||
- f:getShowConflictsNode():Z
|
||||
- isAvailable(java.lang.String):Z
|
||||
- f:isDirectory():Z
|
||||
- f:isNone():Z
|
||||
- f:removePropertyChangeListener(java.beans.PropertyChangeListener):V
|
||||
- f:set(java.lang.String,Z):V
|
||||
- f:setGroupingKeysOrSkip(java.util.Collection):V
|
||||
f:com.intellij.openapi.vcs.changes.ui.ChangesGroupingSupport$Companion
|
||||
- f:findFactory(java.lang.String):com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicyFactory
|
||||
- f:getFactory(java.lang.String):com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicyFactory
|
||||
f:com.intellij.openapi.vcs.changes.ui.ChangesGroupingSupport$Disabled
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesGroupingSupport
|
||||
- <init>(com.intellij.openapi.project.Project,java.lang.Object):V
|
||||
- isAvailable(java.lang.String):Z
|
||||
a:com.intellij.openapi.vcs.changes.ui.ChangesListView
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesTree
|
||||
- com.intellij.ide.dnd.DnDAware
|
||||
@@ -2664,105 +2408,6 @@ a:com.intellij.openapi.vcs.changes.ui.ChangesListView
|
||||
- setPaintBusy(Z):V
|
||||
- s:toHijackedChange(com.intellij.openapi.project.Project,com.intellij.openapi.vfs.VirtualFile):com.intellij.openapi.vcs.changes.Change
|
||||
- uiDataSnapshot(com.intellij.openapi.actionSystem.DataSink):V
|
||||
a:com.intellij.openapi.vcs.changes.ui.ChangesTree
|
||||
- com.intellij.ui.treeStructure.Tree
|
||||
- com.intellij.openapi.actionSystem.UiCompatibleDataProvider
|
||||
- sf:ALWAYS_KEEP:com.intellij.openapi.vcs.changes.ui.ChangesTree$TreeStateStrategy
|
||||
- sf:ALWAYS_RESET:com.intellij.openapi.vcs.changes.ui.ChangesTree$TreeStateStrategy
|
||||
- sf:DEFAULT_GROUPING_KEYS:java.util.List
|
||||
- sf:DO_NOTHING:com.intellij.openapi.vcs.changes.ui.ChangesTree$TreeStateStrategy
|
||||
- sf:EXPAND_NODES_THRESHOLD:I
|
||||
- psf:GROUPING_KEYS:java.lang.String
|
||||
- sf:GROUP_BY_ACTION_GROUP:java.lang.String
|
||||
- sf:KEEP_NON_EMPTY:com.intellij.openapi.vcs.changes.ui.ChangesTree$TreeStateStrategy
|
||||
- sf:KEEP_SELECTED_OBJECTS:com.intellij.openapi.vcs.changes.ui.ChangesTree$TreeStateStrategy
|
||||
- pf:myProject:com.intellij.openapi.project.Project
|
||||
- pf:myShowConflictsNode:Z
|
||||
- <init>(com.intellij.openapi.project.Project,Z,Z):V
|
||||
- p:<init>(com.intellij.openapi.project.Project,Z,Z,Z,Z):V
|
||||
- addGroupingChangeListener(java.beans.PropertyChangeListener):V
|
||||
- addSelectionListener(java.lang.Runnable):V
|
||||
- addSelectionListener(java.lang.Runnable,com.intellij.openapi.Disposable):V
|
||||
- createCollapseAllAction(Z):com.intellij.openapi.actionSystem.AnAction
|
||||
- createExpandAllAction(Z):com.intellij.openapi.actionSystem.AnAction
|
||||
- excludeChange(java.lang.Object):V
|
||||
- excludeChanges(java.util.Collection):V
|
||||
- expandAll():V
|
||||
- expandDefaults():V
|
||||
- getDoubleClickHandler():com.intellij.util.Processor
|
||||
- getEnterKeyHandler():com.intellij.util.Processor
|
||||
- getFileColorForPath(javax.swing.tree.TreePath):java.awt.Color
|
||||
- getGrouping():com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicyFactory
|
||||
- getGroupingSupport():com.intellij.openapi.vcs.changes.ui.ChangesGroupingSupport
|
||||
- p:getIncludableUserObjects(com.intellij.openapi.vcs.changes.ui.VcsTreeModelData):java.util.List
|
||||
- getIncludedSet():java.util.Set
|
||||
- getInclusionModel():com.intellij.openapi.vcs.changes.InclusionModel
|
||||
- p:getNodeStatus(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):com.intellij.util.ui.ThreeStateCheckBox$State
|
||||
- getPreferredFocusedComponent():javax.swing.JComponent
|
||||
- getProject():com.intellij.openapi.project.Project
|
||||
- getRoot():com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- getToggleClickCount():I
|
||||
- getTreeExpander():com.intellij.ide.TreeExpander
|
||||
- getTreeStateStrategy():com.intellij.openapi.vcs.changes.ui.ChangesTree$TreeStateStrategy
|
||||
- includeChange(java.lang.Object):V
|
||||
- includeChanges(java.util.Collection):V
|
||||
- p:installGroupingSupport():com.intellij.openapi.vcs.changes.ui.ChangesGroupingSupport
|
||||
- s:installGroupingSupport(com.intellij.openapi.vcs.changes.ui.ChangesGroupingSupport,java.util.function.Supplier,java.util.function.Consumer,java.lang.Runnable):V
|
||||
- ps:installGroupingSupport(com.intellij.openapi.vcs.changes.ui.ChangesTree,com.intellij.openapi.vcs.changes.ui.ChangesGroupingSupport,java.lang.String,java.util.List):V
|
||||
- ps:installGroupingSupport(com.intellij.openapi.vcs.changes.ui.ChangesTree,com.intellij.openapi.vcs.changes.ui.ChangesGroupingSupport,java.util.function.Supplier,java.util.function.Consumer):V
|
||||
- installPopupHandler(com.intellij.openapi.actionSystem.ActionGroup):V
|
||||
- p:installTreeLinkHandler(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer):V
|
||||
- isFileColorsEnabled():Z
|
||||
- isHighlightProblems():Z
|
||||
- p:isIncludable(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):Z
|
||||
- isIncluded(java.lang.Object):Z
|
||||
- p:isInclusionEnabled(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):Z
|
||||
- p:isInclusionVisible(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):Z
|
||||
- isKeepTreeState():Z
|
||||
- isModelUpdateInProgress():Z
|
||||
- isScrollToSelection():Z
|
||||
- isShowCheckboxes():Z
|
||||
- isShowFlatten():Z
|
||||
- onGroupingChanged():V
|
||||
- p:processEvent(java.awt.AWTEvent):V
|
||||
- a:rebuildTree():V
|
||||
- rebuildTree(com.intellij.openapi.vcs.changes.ui.ChangesTree$TreeStateStrategy):V
|
||||
- removeGroupingChangeListener(java.beans.PropertyChangeListener):V
|
||||
- resetTreeState():V
|
||||
- selectFile(com.intellij.openapi.vcs.FilePath):V
|
||||
- selectFile(com.intellij.openapi.vfs.VirtualFile):V
|
||||
- setDoubleClickAndEnterKeyHandler(java.lang.Runnable):V
|
||||
- setDoubleClickHandler(com.intellij.util.Processor):V
|
||||
- setEmptyText(java.lang.String):V
|
||||
- setEnterKeyHandler(com.intellij.util.Processor):V
|
||||
- setIncludedChanges(java.util.Collection):V
|
||||
- setInclusionListener(java.lang.Runnable):V
|
||||
- setInclusionModel(com.intellij.openapi.vcs.changes.InclusionModel):V
|
||||
- setKeepTreeState(Z):V
|
||||
- setScrollToSelection(Z):V
|
||||
- setSelectedChanges(java.util.Collection):V
|
||||
- setSelectionMode(I):V
|
||||
- setShowCheckboxes(Z):V
|
||||
- setTreeExpander(com.intellij.ide.TreeExpander):V
|
||||
- setTreeStateStrategy(com.intellij.openapi.vcs.changes.ui.ChangesTree$TreeStateStrategy):V
|
||||
- setUI(javax.swing.plaf.TreeUI):V
|
||||
- p:toggleChanges(java.util.Collection):Z
|
||||
- uiDataSnapshot(com.intellij.openapi.actionSystem.DataSink):V
|
||||
- p:updateTreeModel(javax.swing.tree.DefaultTreeModel):V
|
||||
- p:updateTreeModel(javax.swing.tree.DefaultTreeModel,com.intellij.openapi.vcs.changes.ui.ChangesTree$TreeStateStrategy):V
|
||||
com.intellij.openapi.vcs.changes.ui.ChangesTree$TreeStateStrategy
|
||||
- a:restoreState(com.intellij.openapi.vcs.changes.ui.ChangesTree,java.lang.Object,Z):V
|
||||
- a:saveState(com.intellij.openapi.vcs.changes.ui.ChangesTree):java.lang.Object
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesTreeCellRenderer
|
||||
- com.intellij.ui.CellRendererPanel
|
||||
- javax.swing.tree.TreeCellRenderer
|
||||
- <init>(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer):V
|
||||
- getAccessibleContext():javax.accessibility.AccessibleContext
|
||||
- getPreferredSize():java.awt.Dimension
|
||||
- pf:getTextRenderer():com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer
|
||||
- getToolTipText():java.lang.String
|
||||
- getTreeCellRendererComponent(javax.swing.JTree,java.lang.Object,Z,Z,Z,I,Z):java.awt.Component
|
||||
- pf:paintComponent(java.awt.Graphics):V
|
||||
a:com.intellij.openapi.vcs.changes.ui.ChangesTreeDiffPreviewHandler
|
||||
- <init>():V
|
||||
- f:collectDiffProducers(com.intellij.openapi.vcs.changes.ui.ChangesTree,Z):com.intellij.openapi.ListSelection
|
||||
@@ -2899,10 +2544,6 @@ com.intellij.openapi.vcs.changes.ui.ChangesViewContentProvider
|
||||
- initTabContent(com.intellij.ui.content.Content):V
|
||||
com.intellij.openapi.vcs.changes.ui.ChangesViewContentProvider$Preloader
|
||||
- preloadTabContent(com.intellij.ui.content.Content):V
|
||||
com.intellij.openapi.vcs.changes.ui.ChangesViewModelBuilder
|
||||
- a:insertChanges(java.util.Collection,com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):V
|
||||
- a:insertFilesIntoNode(java.util.Collection,com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):V
|
||||
- a:insertSubtreeRoot(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):com.intellij.openapi.vcs.changes.ui.ChangesViewModelBuilder
|
||||
a:com.intellij.openapi.vcs.changes.ui.CommitChangeListDialog
|
||||
- com.intellij.openapi.ui.DialogWrapper
|
||||
- com.intellij.openapi.ui.ComponentContainer
|
||||
@@ -3022,19 +2663,6 @@ f:com.intellij.openapi.vcs.changes.ui.DefaultCommitChangeListDialog
|
||||
- addChangeListListener(com.intellij.vcs.commit.SingleChangeListCommitWorkflowUi$ChangeListListener,com.intellij.openapi.Disposable):V
|
||||
- getBrowser():com.intellij.openapi.vcs.changes.ui.CommitDialogChangesBrowser
|
||||
- f:getWorkflow():com.intellij.vcs.commit.SingleChangeListCommitWorkflow
|
||||
f:com.intellij.openapi.vcs.changes.ui.DefaultInclusionModel
|
||||
- com.intellij.openapi.vcs.changes.ui.BaseInclusionModel
|
||||
- <init>():V
|
||||
- <init>(com.intellij.util.containers.HashingStrategy):V
|
||||
- b:<init>(com.intellij.util.containers.HashingStrategy,I,kotlin.jvm.internal.DefaultConstructorMarker):V
|
||||
- addInclusion(java.util.Collection):V
|
||||
- clearInclusion():V
|
||||
- getInclusion():java.util.Set
|
||||
- getInclusionState(java.lang.Object):com.intellij.util.ui.ThreeStateCheckBox$State
|
||||
- isInclusionEmpty():Z
|
||||
- removeInclusion(java.util.Collection):V
|
||||
- retainInclusion(java.util.Collection):V
|
||||
- setInclusion(java.util.Collection):V
|
||||
com.intellij.openapi.vcs.changes.ui.EditChangelistSupport
|
||||
- sf:EP_NAME:com.intellij.openapi.extensions.ExtensionPointName
|
||||
- a:addControls(javax.swing.JPanel,com.intellij.openapi.vcs.changes.LocalChangeList):com.intellij.util.Consumer
|
||||
@@ -3073,10 +2701,6 @@ c:com.intellij.openapi.vcs.changes.ui.LoadingCommittedChangeListPanel$Changelist
|
||||
- f:changeList:com.intellij.openapi.vcs.versionBrowser.CommittedChangeList
|
||||
- f:toSelect:com.intellij.openapi.vcs.FilePath
|
||||
- <init>(com.intellij.openapi.vcs.versionBrowser.CommittedChangeList,com.intellij.openapi.vcs.FilePath):V
|
||||
f:com.intellij.openapi.vcs.changes.ui.NoneChangesGroupingFactory
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicyFactory
|
||||
- sf:INSTANCE:com.intellij.openapi.vcs.changes.ui.NoneChangesGroupingFactory
|
||||
- createGroupingPolicy(com.intellij.openapi.project.Project,javax.swing.tree.DefaultTreeModel):com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicy
|
||||
com.intellij.openapi.vcs.changes.ui.PresentableChange
|
||||
- a:getFilePath():com.intellij.openapi.vcs.FilePath
|
||||
- a:getFileStatus():com.intellij.openapi.vcs.FileStatus
|
||||
@@ -3168,15 +2792,6 @@ c:com.intellij.openapi.vcs.changes.ui.SimpleChangesBrowser
|
||||
- setChangeNodeDecorator(com.intellij.openapi.vcs.changes.ui.ChangeNodeDecorator):V
|
||||
- setChangesToDisplay(java.util.Collection):V
|
||||
- setIncludedChanges(java.util.Collection):V
|
||||
a:com.intellij.openapi.vcs.changes.ui.SimpleChangesGroupingPolicy
|
||||
- com.intellij.openapi.vcs.changes.ui.BaseChangesGroupingPolicy
|
||||
- sf:Companion:com.intellij.openapi.vcs.changes.ui.SimpleChangesGroupingPolicy$Companion
|
||||
- <init>(javax.swing.tree.DefaultTreeModel):V
|
||||
- pa:createGroupRootNode(java.lang.Object):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- pa:getGroupRootValueFor(com.intellij.openapi.vcs.changes.ui.StaticFilePath,com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):java.lang.Object
|
||||
- f:getModel():javax.swing.tree.DefaultTreeModel
|
||||
- f:getParentNodeFor(com.intellij.openapi.vcs.changes.ui.StaticFilePath,com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode,com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
f:com.intellij.openapi.vcs.changes.ui.SimpleChangesGroupingPolicy$Companion
|
||||
f:com.intellij.openapi.vcs.changes.ui.SimpleTreeDiffRequestProcessor
|
||||
- com.intellij.openapi.vcs.changes.ui.TreeHandlerDiffRequestProcessor
|
||||
- <init>(com.intellij.openapi.project.Project,java.lang.String,com.intellij.openapi.vcs.changes.ui.ChangesTree,com.intellij.openapi.Disposable):V
|
||||
@@ -3188,21 +2803,6 @@ a:com.intellij.openapi.vcs.changes.ui.SimpleTreeEditorDiffPreview
|
||||
- p:hasContent():Z
|
||||
- returnFocusToTree():V
|
||||
- updateDiffAction(com.intellij.openapi.actionSystem.AnActionEvent):V
|
||||
c:com.intellij.openapi.vcs.changes.ui.StaticFilePath
|
||||
- <init>(com.intellij.openapi.vcs.FilePath):V
|
||||
- getFilePath():com.intellij.openapi.vcs.FilePath
|
||||
- getKey():java.lang.String
|
||||
- getParent():com.intellij.openapi.vcs.changes.ui.StaticFilePath
|
||||
- getPath():java.lang.String
|
||||
- getVf():com.intellij.openapi.vfs.VirtualFile
|
||||
- isDirectory():Z
|
||||
- resolve():com.intellij.openapi.vfs.VirtualFile
|
||||
c:com.intellij.openapi.vcs.changes.ui.TagChangesBrowserNode
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- <init>(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag,com.intellij.ui.SimpleTextAttributes,Z):V
|
||||
- getTextPresentation():java.lang.String
|
||||
- render(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,Z,Z,Z):V
|
||||
- shouldExpandByDefault():Z
|
||||
c:com.intellij.openapi.vcs.changes.ui.TreeActionsToolbarPanel
|
||||
- javax.swing.JPanel
|
||||
- <init>(com.intellij.openapi.actionSystem.ActionToolbar,com.intellij.openapi.actionSystem.ActionGroup,javax.swing.JComponent):V
|
||||
@@ -3316,37 +2916,6 @@ a:com.intellij.openapi.vcs.changes.ui.VcsToolWindowFactory
|
||||
- p:setEmptyState(com.intellij.openapi.project.Project,com.intellij.util.ui.StatusText):V
|
||||
- f:shouldBeAvailable(com.intellij.openapi.project.Project):Z
|
||||
- p:updateState(com.intellij.openapi.wm.ToolWindow):V
|
||||
a:com.intellij.openapi.vcs.changes.ui.VcsTreeModelData
|
||||
- <init>():V
|
||||
- s:all(javax.swing.JTree):com.intellij.openapi.vcs.changes.ui.VcsTreeModelData
|
||||
- s:all(javax.swing.tree.TreeModel):com.intellij.openapi.vcs.changes.ui.VcsTreeModelData
|
||||
- s:allUnder(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):com.intellij.openapi.vcs.changes.ui.VcsTreeModelData
|
||||
- s:allUnderTag(javax.swing.JTree,java.lang.Object):com.intellij.openapi.vcs.changes.ui.VcsTreeModelData
|
||||
- s:exactlySelected(javax.swing.JTree):com.intellij.openapi.vcs.changes.ui.VcsTreeModelData
|
||||
- s:findTagNode(javax.swing.JTree,java.lang.Object):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- s:getListSelectionOrAll(javax.swing.JTree):com.intellij.openapi.ListSelection
|
||||
- s:included(com.intellij.openapi.vcs.changes.ui.ChangesTree):com.intellij.openapi.vcs.changes.ui.VcsTreeModelData
|
||||
- s:includedUnderTag(com.intellij.openapi.vcs.changes.ui.ChangesTree,java.lang.Object):com.intellij.openapi.vcs.changes.ui.VcsTreeModelData
|
||||
- f:iterateNodes():com.intellij.util.containers.JBIterable
|
||||
- a:iterateRawNodes():com.intellij.util.containers.JBIterable
|
||||
- f:iterateRawUserObjects():com.intellij.util.containers.JBIterable
|
||||
- f:iterateRawUserObjects(java.lang.Class):com.intellij.util.containers.JBIterable
|
||||
- f:iterateUserObjects():com.intellij.util.containers.JBIterable
|
||||
- f:iterateUserObjects(java.lang.Class):com.intellij.util.containers.JBIterable
|
||||
- s:mapToExactVirtualFile(com.intellij.openapi.vcs.changes.ui.VcsTreeModelData):com.intellij.util.containers.JBIterable
|
||||
- s:mapUserObjectToFilePath(java.lang.Object):com.intellij.openapi.vcs.FilePath
|
||||
- f:nodesStream():java.util.stream.Stream
|
||||
- s:selected(javax.swing.JTree):com.intellij.openapi.vcs.changes.ui.VcsTreeModelData
|
||||
- s:selectedUnderTag(javax.swing.JTree,java.lang.Object):com.intellij.openapi.vcs.changes.ui.VcsTreeModelData
|
||||
- s:uiDataSnapshot(com.intellij.openapi.actionSystem.DataSink,com.intellij.openapi.project.Project,javax.swing.JTree):V
|
||||
- f:userObjects():java.util.List
|
||||
- f:userObjects(java.lang.Class):java.util.List
|
||||
- f:userObjectsStream(java.lang.Class):java.util.stream.Stream
|
||||
c:com.intellij.openapi.vcs.changes.ui.VirtualFileHierarchicalComparator
|
||||
- java.util.Comparator
|
||||
- <init>():V
|
||||
- compare(com.intellij.openapi.vfs.VirtualFile,com.intellij.openapi.vfs.VirtualFile):I
|
||||
- s:getInstance():com.intellij.openapi.vcs.changes.ui.VirtualFileHierarchicalComparator
|
||||
c:com.intellij.openapi.vcs.changes.ui.VirtualFileListCellRenderer
|
||||
- com.intellij.ui.ColoredListCellRenderer
|
||||
- pf:myProject:com.intellij.openapi.project.Project
|
||||
|
||||
@@ -368,6 +368,9 @@
|
||||
<vcs.impl.backend.treeNodeConverter implementation="com.intellij.vcs.shelf.ShelvedChangeNodeConverter"/>
|
||||
<vcs.impl.backend.treeNodeConverter implementation="com.intellij.vcs.shelf.ModuleNodeToEntityConverter"/>
|
||||
<vcs.impl.backend.treeNodeConverter implementation="com.intellij.vcs.shelf.FilePathNodeToEntityConverter"/>
|
||||
|
||||
<applicationService serviceImplementation="com.intellij.openapi.vcs.changes.ui.BackendChangesTreeCompatibilityProvider"
|
||||
serviceInterface="com.intellij.openapi.vcs.changes.ChangesTreeCompatibilityProvider"/>
|
||||
</extensions>
|
||||
|
||||
<extensions defaultExtensionNs="org.jetbrains">
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
<module name="intellij.platform.backend"/>
|
||||
<module name="intellij.libraries.microba"/>
|
||||
<module name="intellij.platform.vcs.impl.shared"/>
|
||||
<module name="intellij.platform.vcs.shared"/>
|
||||
<module name="intellij.platform.vcs"/>
|
||||
<module name="intellij.platform.kernel.backend"/>
|
||||
</dependencies>
|
||||
|
||||
@@ -29,6 +29,11 @@ jvm_library(
|
||||
"//platform/platform-impl:ide-impl",
|
||||
"//platform/core-ui",
|
||||
"//platform/util/coroutines",
|
||||
"//platform/vcs-api/vcs-api-core:vcs-core",
|
||||
"//platform/editor-ui-api:editor-ui",
|
||||
"//platform/lang-impl",
|
||||
"//platform/util/concurrency",
|
||||
"//platform/vcs-api/shared",
|
||||
],
|
||||
runtime_deps = [":shared_resources"]
|
||||
)
|
||||
|
||||
@@ -28,6 +28,440 @@ c:com.intellij.openapi.vcs.IssueNavigationLink
|
||||
- hashCode():I
|
||||
- setIssueRegexp(java.lang.String):V
|
||||
- setLinkRegexp(java.lang.String):V
|
||||
f:com.intellij.openapi.vcs.changes.FilePathsHelper
|
||||
- s:convertPath(com.intellij.openapi.vcs.FilePath):java.lang.String
|
||||
- s:convertPath(java.lang.String):java.lang.String
|
||||
- s:convertPath(java.lang.String,java.lang.String):java.lang.String
|
||||
- s:convertWithLastSeparator(com.intellij.openapi.vcs.FilePath):java.lang.String
|
||||
c:com.intellij.openapi.vcs.changes.issueLinks.IssueLinkRenderer
|
||||
- <init>(com.intellij.openapi.project.Project,com.intellij.ui.SimpleColoredComponent):V
|
||||
- appendTextWithLinks(java.lang.String):java.util.List
|
||||
- appendTextWithLinks(java.lang.String,com.intellij.ui.SimpleTextAttributes):java.util.List
|
||||
a:com.intellij.openapi.vcs.changes.ui.AbstractChangesBrowserFilePathNode
|
||||
- com.intellij.ide.util.treeView.PathElementIdProvider
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- sf:Companion:com.intellij.openapi.vcs.changes.ui.AbstractChangesBrowserFilePathNode$Companion
|
||||
- <init>(java.lang.Object,com.intellij.openapi.vcs.FileStatus):V
|
||||
- compareUserObjects(java.lang.Object):I
|
||||
- pa:filePath(java.lang.Object):com.intellij.openapi.vcs.FilePath
|
||||
- getBackgroundColor(com.intellij.openapi.project.Project):java.awt.Color
|
||||
- getFlattenedElements():java.util.List
|
||||
- f:getOriginText():java.lang.String
|
||||
- getPathElementId():java.lang.String
|
||||
- f:getRelativeFilePath(com.intellij.openapi.project.Project,com.intellij.openapi.vcs.FilePath):java.lang.String
|
||||
- p:getRelativePath(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,com.intellij.openapi.vcs.FilePath):java.lang.String
|
||||
- getSortWeight():I
|
||||
- f:getStatus():com.intellij.openapi.vcs.FileStatus
|
||||
- getTextPresentation():java.lang.String
|
||||
- p:isDirectory():Z
|
||||
- p:isFile():Z
|
||||
- p:originPath(java.lang.Object):com.intellij.openapi.vcs.FilePath
|
||||
- render(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,Z,Z,Z):V
|
||||
- sf:safeCastToFilePath(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):com.intellij.openapi.vcs.FilePath
|
||||
f:com.intellij.openapi.vcs.changes.ui.AbstractChangesBrowserFilePathNode$Companion
|
||||
- f:safeCastToFilePath(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):com.intellij.openapi.vcs.FilePath
|
||||
a:com.intellij.openapi.vcs.changes.ui.BaseChangesGroupingPolicy
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicy
|
||||
- sf:Companion:com.intellij.openapi.vcs.changes.ui.BaseChangesGroupingPolicy$Companion
|
||||
- <init>():V
|
||||
- sf:getCachingRoot(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode,com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- pf:getNextPolicy():com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicy
|
||||
- sf:markCachingRoot(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):V
|
||||
- pf:resolveVirtualFile(com.intellij.openapi.vcs.changes.ui.StaticFilePath):com.intellij.openapi.vfs.VirtualFile
|
||||
- f:setNextGroupingPolicy(com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicy):V
|
||||
- pf:setNextPolicy(com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicy):V
|
||||
f:com.intellij.openapi.vcs.changes.ui.BaseChangesGroupingPolicy$Companion
|
||||
- f:getCachingRoot(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode,com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- f:markCachingRoot(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):V
|
||||
a:com.intellij.openapi.vcs.changes.ui.BaseInclusionModel
|
||||
- com.intellij.openapi.vcs.changes.InclusionModel
|
||||
- <init>():V
|
||||
- addInclusionListener(com.intellij.openapi.vcs.changes.InclusionListener):V
|
||||
- pf:fireInclusionChanged():V
|
||||
- removeInclusionListener(com.intellij.openapi.vcs.changes.InclusionListener):V
|
||||
com.intellij.openapi.vcs.changes.ui.ChangeNodeDecorator
|
||||
- a:decorate(com.intellij.openapi.vcs.changes.Change,com.intellij.ui.SimpleColoredComponent,Z):V
|
||||
- a:preDecorate(com.intellij.openapi.vcs.changes.Change,com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,Z):V
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesBrowserChangeNode
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- com.intellij.openapi.vcs.changes.issueLinks.TreeLinkMouseListener$HaveTooltip
|
||||
- <init>(com.intellij.openapi.project.Project,com.intellij.openapi.vcs.changes.Change,com.intellij.openapi.vcs.changes.ui.ChangeNodeDecorator):V
|
||||
- compareUserObjects(com.intellij.openapi.vcs.changes.Change):I
|
||||
- getSortWeight():I
|
||||
- getTextPresentation():java.lang.String
|
||||
- getTooltip():java.lang.String
|
||||
- p:isDirectory():Z
|
||||
- p:isFile():Z
|
||||
- render(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,Z,Z,Z):V
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesBrowserFileNode
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- java.lang.Comparable
|
||||
- <init>(com.intellij.openapi.project.Project,com.intellij.openapi.vfs.VirtualFile):V
|
||||
- compareTo(com.intellij.openapi.vcs.changes.ui.ChangesBrowserFileNode):I
|
||||
- getSortWeight():I
|
||||
- getTextPresentation():java.lang.String
|
||||
- p:isDirectory():Z
|
||||
- p:isFile():Z
|
||||
- render(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,Z,Z,Z):V
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesBrowserFilePathNode
|
||||
- com.intellij.openapi.vcs.changes.ui.AbstractChangesBrowserFilePathNode
|
||||
- <init>(com.intellij.openapi.vcs.FilePath):V
|
||||
- <init>(com.intellij.openapi.vcs.FilePath,com.intellij.openapi.vcs.FileStatus):V
|
||||
- p:filePath(com.intellij.openapi.vcs.FilePath):com.intellij.openapi.vcs.FilePath
|
||||
a:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- javax.swing.tree.DefaultMutableTreeNode
|
||||
- com.intellij.openapi.util.UserDataHolderEx
|
||||
- psf:CHANGE_LIST_SORT_WEIGHT:I
|
||||
- psf:CHANGE_SORT_WEIGHT:I
|
||||
- psf:CONFLICTS_SORT_WEIGHT:I
|
||||
- psf:DEFAULT_CHANGE_LIST_SORT_WEIGHT:I
|
||||
- psf:DEFAULT_SORT_WEIGHT:I
|
||||
- psf:DELETED_SORT_WEIGHT:I
|
||||
- psf:DIRECTORY_PATH_SORT_WEIGHT:I
|
||||
- psf:FILE_PATH_SORT_WEIGHT:I
|
||||
- sf:IGNORED_FILES_TAG:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag
|
||||
- psf:IGNORED_SORT_WEIGHT:I
|
||||
- sf:LOCALLY_DELETED_NODE_TAG:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag
|
||||
- sf:LOCKED_FOLDERS_TAG:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag
|
||||
- sf:LOGICALLY_LOCKED_TAG:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag
|
||||
- sf:MODIFIED_WITHOUT_EDITING_TAG:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag
|
||||
- psf:MODULE_SORT_WEIGHT:I
|
||||
- psf:REPOSITORY_SORT_WEIGHT:I
|
||||
- psf:RESOLVED_CONFLICTS_SORT_WEIGHT:I
|
||||
- sf:SWITCHED_FILES_TAG:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag
|
||||
- sf:SWITCHED_ROOTS_TAG:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag
|
||||
- sf:TO_TEXT_CONVERTER:com.intellij.util.containers.Convertor
|
||||
- sf:UNVERSIONED_FILES_TAG:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag
|
||||
- psf:UNVERSIONED_SORT_WEIGHT:I
|
||||
- psf:VIRTUAL_FILE_SORT_WEIGHT:I
|
||||
- p:<init>(java.lang.Object):V
|
||||
- p:appendCount(com.intellij.ui.ColoredTreeCellRenderer):V
|
||||
- p:appendParentPath(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,com.intellij.openapi.vcs.FilePath):V
|
||||
- p:appendParentPath(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,com.intellij.openapi.vfs.VirtualFile):V
|
||||
- p:appendUpdatingState(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer):V
|
||||
- ps:compareFileNames(java.lang.String,java.lang.String):I
|
||||
- s:compareFilePaths(com.intellij.openapi.vcs.FilePath,com.intellij.openapi.vcs.FilePath):I
|
||||
- compareUserObjects(java.lang.Object):I
|
||||
- s:createChange(com.intellij.openapi.project.Project,com.intellij.openapi.vcs.changes.Change):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- s:createFile(com.intellij.openapi.project.Project,com.intellij.openapi.vfs.VirtualFile):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- s:createFilePath(com.intellij.openapi.vcs.FilePath):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- s:createFilePath(com.intellij.openapi.vcs.FilePath,com.intellij.openapi.vcs.FileStatus):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- s:createLocallyDeleted(com.intellij.openapi.vcs.changes.LocallyDeletedChange):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- s:createLockedFolders(com.intellij.openapi.project.Project):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- s:createLogicallyLocked(com.intellij.openapi.project.Project,com.intellij.openapi.vfs.VirtualFile,com.intellij.openapi.vcs.changes.LogicalLock):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- s:createRoot():com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- getAllChangesUnder():java.util.List
|
||||
- getAllObjectsUnder(java.lang.Class):java.util.List
|
||||
- getBackgroundColor(com.intellij.openapi.project.Project):java.awt.Color
|
||||
- ps:getBackgroundColorFor(com.intellij.openapi.project.Project,java.lang.Object):java.awt.Color
|
||||
- p:getCountText():java.lang.String
|
||||
- getDirectoryCount():I
|
||||
- getFileCount():I
|
||||
- getParent():com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- getSortWeight():I
|
||||
- getTextPresentation():java.lang.String
|
||||
- getUserData(com.intellij.openapi.util.Key):java.lang.Object
|
||||
- getUserObject():java.lang.Object
|
||||
- insert(javax.swing.tree.MutableTreeNode,I):V
|
||||
- p:isDirectory():Z
|
||||
- p:isFile():Z
|
||||
- isMeaningfulNode():Z
|
||||
- iterateFilePathsUnder():com.intellij.util.containers.JBIterable
|
||||
- iterateFilesUnder():com.intellij.util.containers.JBIterable
|
||||
- iterateNodeChildren():com.intellij.util.containers.JBIterable
|
||||
- f:markAsHelperNode():V
|
||||
- putUserData(com.intellij.openapi.util.Key,java.lang.Object):V
|
||||
- putUserDataIfAbsent(com.intellij.openapi.util.Key,java.lang.Object):java.lang.Object
|
||||
- remove(I):V
|
||||
- render(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,Z,Z,Z):V
|
||||
- render(javax.swing.JTree,com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,Z,Z,Z):V
|
||||
- replace(com.intellij.openapi.util.Key,java.lang.Object,java.lang.Object):Z
|
||||
- p:resetCounters():V
|
||||
- setUserObject(java.lang.Object):V
|
||||
- shouldExpandByDefault():Z
|
||||
- traverse():com.intellij.util.containers.JBIterable
|
||||
- traverseObjectsUnder():com.intellij.util.containers.JBIterable
|
||||
com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$NodeWithFilePath
|
||||
- a:getNodeFilePath():com.intellij.openapi.vcs.FilePath
|
||||
com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag
|
||||
- a:toString():java.lang.String
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$TagImpl
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag
|
||||
- <init>(java.lang.String):V
|
||||
a:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$ValueTag
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag
|
||||
- f:value:java.lang.Object
|
||||
- <init>(java.lang.Object):V
|
||||
- f:equals(java.lang.Object):Z
|
||||
- p:getValue():java.lang.Object
|
||||
- f:hashCode():I
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$VcsBundleTag
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag
|
||||
- <init>(java.lang.String):V
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$WrapperTag
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$ValueTag
|
||||
- s:wrap(java.lang.Object):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer
|
||||
- com.intellij.ui.ColoredTreeCellRenderer
|
||||
- <init>(com.intellij.openapi.project.Project,com.intellij.openapi.util.BooleanGetter,Z):V
|
||||
- appendFileName(com.intellij.openapi.vfs.VirtualFile,java.lang.String,java.awt.Color):V
|
||||
- appendTextWithIssueLinks(java.lang.String,com.intellij.ui.SimpleTextAttributes):V
|
||||
- clear():V
|
||||
- customizeCellRenderer(javax.swing.JTree,java.lang.Object,Z,Z,Z,I,Z):V
|
||||
- p:doPaintFragmentBackground(java.awt.Graphics2D,I,java.awt.Color,I,I,I,I):V
|
||||
- getProject():com.intellij.openapi.project.Project
|
||||
- isShowFlatten():Z
|
||||
- isShowingLocalChanges():Z
|
||||
- setBackgroundInsets(com.intellij.util.ui.JBInsets):V
|
||||
- setIcon(com.intellij.openapi.vcs.FilePath,Z):V
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesBrowserSpecificFilePathsNode
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserSpecificNode
|
||||
- p:<init>(java.lang.Object,java.util.Collection,java.lang.Runnable):V
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesBrowserSpecificFilesNode
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserSpecificNode
|
||||
- p:<init>(java.lang.Object,java.util.Collection,java.lang.Runnable):V
|
||||
a:com.intellij.openapi.vcs.changes.ui.ChangesBrowserSpecificNode
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- pf:myDialogShower:java.lang.Runnable
|
||||
- pf:myIsMany:Z
|
||||
- p:<init>(java.lang.Object,java.util.Collection,I,java.lang.Runnable):V
|
||||
- getDirectoryCount():I
|
||||
- getFileCount():I
|
||||
- isManyFiles():Z
|
||||
- s:isManyFiles(java.util.Collection):Z
|
||||
- render(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,Z,Z,Z):V
|
||||
- f:setAttributes(com.intellij.ui.SimpleTextAttributes):V
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesBrowserStringNode
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- <init>(java.lang.String):V
|
||||
- <init>(java.lang.String,com.intellij.ui.SimpleTextAttributes):V
|
||||
- getTextPresentation():java.lang.String
|
||||
- render(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,Z,Z,Z):V
|
||||
f:com.intellij.openapi.vcs.changes.ui.ChangesBrowserUnversionedFilesNode
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserSpecificFilePathsNode
|
||||
- <init>(com.intellij.openapi.project.Project,java.util.List):V
|
||||
- getSortWeight():I
|
||||
- getTextPresentation():java.lang.String
|
||||
- render(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,Z,Z,Z):V
|
||||
com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicy
|
||||
- getParentNodeFor(com.intellij.openapi.vcs.changes.ui.StaticFilePath,com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- getParentNodeFor(com.intellij.openapi.vcs.changes.ui.StaticFilePath,com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode,com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- setNextGroupingPolicy(com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicy):V
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicy$CompatibilityPlaceholderChangesBrowserNode
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- render(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,Z,Z,Z):V
|
||||
a:com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicyFactory
|
||||
- sf:EP_NAME:com.intellij.openapi.extensions.ExtensionPointName
|
||||
- <init>():V
|
||||
- a:createGroupingPolicy(com.intellij.openapi.project.Project,javax.swing.tree.DefaultTreeModel):com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicy
|
||||
f:com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicyFactoryEPBean
|
||||
- com.intellij.serviceContainer.BaseKeyedLazyInstance
|
||||
- implementationClass:java.lang.String
|
||||
- key:java.lang.String
|
||||
- weight:I
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesGroupingSupport
|
||||
- sf:Companion:com.intellij.openapi.vcs.changes.ui.ChangesGroupingSupport$Companion
|
||||
- sf:DIRECTORY_GROUPING:java.lang.String
|
||||
- sf:KEY:com.intellij.openapi.actionSystem.DataKey
|
||||
- sf:MODULE_GROUPING:java.lang.String
|
||||
- sf:NONE_GROUPING:java.lang.String
|
||||
- sf:PROP_GROUPING_KEYS:java.lang.String
|
||||
- sf:REPOSITORY_GROUPING:java.lang.String
|
||||
- <init>(com.intellij.openapi.project.Project,java.lang.Object,Z):V
|
||||
- f:addPropertyChangeListener(java.beans.PropertyChangeListener):V
|
||||
- sf:findFactory(java.lang.String):com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicyFactory
|
||||
- f:get(java.lang.String):Z
|
||||
- f:getGrouping():com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicyFactory
|
||||
- f:getGroupingKeys():java.util.Set
|
||||
- f:getProject():com.intellij.openapi.project.Project
|
||||
- f:getShowConflictsNode():Z
|
||||
- isAvailable(java.lang.String):Z
|
||||
- f:isDirectory():Z
|
||||
- f:isNone():Z
|
||||
- f:removePropertyChangeListener(java.beans.PropertyChangeListener):V
|
||||
- f:set(java.lang.String,Z):V
|
||||
- f:setGroupingKeysOrSkip(java.util.Collection):V
|
||||
f:com.intellij.openapi.vcs.changes.ui.ChangesGroupingSupport$Companion
|
||||
- f:findFactory(java.lang.String):com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicyFactory
|
||||
f:com.intellij.openapi.vcs.changes.ui.ChangesGroupingSupport$Disabled
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesGroupingSupport
|
||||
- <init>(com.intellij.openapi.project.Project,java.lang.Object):V
|
||||
- isAvailable(java.lang.String):Z
|
||||
a:com.intellij.openapi.vcs.changes.ui.ChangesTree
|
||||
- com.intellij.ui.treeStructure.Tree
|
||||
- com.intellij.openapi.actionSystem.UiCompatibleDataProvider
|
||||
- sf:ALWAYS_KEEP:com.intellij.openapi.vcs.changes.ui.ChangesTree$TreeStateStrategy
|
||||
- sf:ALWAYS_RESET:com.intellij.openapi.vcs.changes.ui.ChangesTree$TreeStateStrategy
|
||||
- sf:DEFAULT_GROUPING_KEYS:java.util.List
|
||||
- sf:DO_NOTHING:com.intellij.openapi.vcs.changes.ui.ChangesTree$TreeStateStrategy
|
||||
- sf:EXPAND_NODES_THRESHOLD:I
|
||||
- psf:GROUPING_KEYS:java.lang.String
|
||||
- sf:GROUP_BY_ACTION_GROUP:java.lang.String
|
||||
- sf:KEEP_NON_EMPTY:com.intellij.openapi.vcs.changes.ui.ChangesTree$TreeStateStrategy
|
||||
- sf:KEEP_SELECTED_OBJECTS:com.intellij.openapi.vcs.changes.ui.ChangesTree$TreeStateStrategy
|
||||
- pf:myProject:com.intellij.openapi.project.Project
|
||||
- pf:myShowConflictsNode:Z
|
||||
- <init>(com.intellij.openapi.project.Project,Z,Z):V
|
||||
- p:<init>(com.intellij.openapi.project.Project,Z,Z,Z,Z):V
|
||||
- addGroupingChangeListener(java.beans.PropertyChangeListener):V
|
||||
- addSelectionListener(java.lang.Runnable):V
|
||||
- addSelectionListener(java.lang.Runnable,com.intellij.openapi.Disposable):V
|
||||
- createCollapseAllAction(Z):com.intellij.openapi.actionSystem.AnAction
|
||||
- createExpandAllAction(Z):com.intellij.openapi.actionSystem.AnAction
|
||||
- excludeChange(java.lang.Object):V
|
||||
- excludeChanges(java.util.Collection):V
|
||||
- expandAll():V
|
||||
- expandDefaults():V
|
||||
- getDoubleClickHandler():com.intellij.util.Processor
|
||||
- getEnterKeyHandler():com.intellij.util.Processor
|
||||
- getFileColorForPath(javax.swing.tree.TreePath):java.awt.Color
|
||||
- getGrouping():com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicyFactory
|
||||
- getGroupingSupport():com.intellij.openapi.vcs.changes.ui.ChangesGroupingSupport
|
||||
- p:getIncludableUserObjects(com.intellij.openapi.vcs.changes.ui.VcsTreeModelData):java.util.List
|
||||
- getIncludedSet():java.util.Set
|
||||
- getInclusionModel():com.intellij.openapi.vcs.changes.InclusionModel
|
||||
- p:getNodeStatus(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):com.intellij.util.ui.ThreeStateCheckBox$State
|
||||
- getPreferredFocusedComponent():javax.swing.JComponent
|
||||
- getProject():com.intellij.openapi.project.Project
|
||||
- getRoot():com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- getToggleClickCount():I
|
||||
- getTreeExpander():com.intellij.ide.TreeExpander
|
||||
- getTreeStateStrategy():com.intellij.openapi.vcs.changes.ui.ChangesTree$TreeStateStrategy
|
||||
- includeChange(java.lang.Object):V
|
||||
- includeChanges(java.util.Collection):V
|
||||
- p:installGroupingSupport():com.intellij.openapi.vcs.changes.ui.ChangesGroupingSupport
|
||||
- s:installGroupingSupport(com.intellij.openapi.vcs.changes.ui.ChangesGroupingSupport,java.util.function.Supplier,java.util.function.Consumer,java.lang.Runnable):V
|
||||
- ps:installGroupingSupport(com.intellij.openapi.vcs.changes.ui.ChangesTree,com.intellij.openapi.vcs.changes.ui.ChangesGroupingSupport,java.lang.String,java.util.List):V
|
||||
- ps:installGroupingSupport(com.intellij.openapi.vcs.changes.ui.ChangesTree,com.intellij.openapi.vcs.changes.ui.ChangesGroupingSupport,java.util.function.Supplier,java.util.function.Consumer):V
|
||||
- installPopupHandler(com.intellij.openapi.actionSystem.ActionGroup):V
|
||||
- p:installTreeLinkHandler(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer):V
|
||||
- isFileColorsEnabled():Z
|
||||
- isHighlightProblems():Z
|
||||
- p:isIncludable(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):Z
|
||||
- isIncluded(java.lang.Object):Z
|
||||
- p:isInclusionEnabled(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):Z
|
||||
- p:isInclusionVisible(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):Z
|
||||
- isKeepTreeState():Z
|
||||
- isModelUpdateInProgress():Z
|
||||
- isScrollToSelection():Z
|
||||
- isShowCheckboxes():Z
|
||||
- isShowFlatten():Z
|
||||
- onGroupingChanged():V
|
||||
- p:processEvent(java.awt.AWTEvent):V
|
||||
- a:rebuildTree():V
|
||||
- rebuildTree(com.intellij.openapi.vcs.changes.ui.ChangesTree$TreeStateStrategy):V
|
||||
- removeGroupingChangeListener(java.beans.PropertyChangeListener):V
|
||||
- resetTreeState():V
|
||||
- selectFile(com.intellij.openapi.vcs.FilePath):V
|
||||
- selectFile(com.intellij.openapi.vfs.VirtualFile):V
|
||||
- setDoubleClickAndEnterKeyHandler(java.lang.Runnable):V
|
||||
- setDoubleClickHandler(com.intellij.util.Processor):V
|
||||
- setEmptyText(java.lang.String):V
|
||||
- setEnterKeyHandler(com.intellij.util.Processor):V
|
||||
- setIncludedChanges(java.util.Collection):V
|
||||
- setInclusionListener(java.lang.Runnable):V
|
||||
- setInclusionModel(com.intellij.openapi.vcs.changes.InclusionModel):V
|
||||
- setKeepTreeState(Z):V
|
||||
- setScrollToSelection(Z):V
|
||||
- setSelectedChanges(java.util.Collection):V
|
||||
- setSelectionMode(I):V
|
||||
- setShowCheckboxes(Z):V
|
||||
- setTreeExpander(com.intellij.ide.TreeExpander):V
|
||||
- setTreeStateStrategy(com.intellij.openapi.vcs.changes.ui.ChangesTree$TreeStateStrategy):V
|
||||
- setUI(javax.swing.plaf.TreeUI):V
|
||||
- p:toggleChanges(java.util.Collection):Z
|
||||
- uiDataSnapshot(com.intellij.openapi.actionSystem.DataSink):V
|
||||
- p:updateTreeModel(javax.swing.tree.DefaultTreeModel):V
|
||||
- p:updateTreeModel(javax.swing.tree.DefaultTreeModel,com.intellij.openapi.vcs.changes.ui.ChangesTree$TreeStateStrategy):V
|
||||
com.intellij.openapi.vcs.changes.ui.ChangesTree$TreeStateStrategy
|
||||
- a:restoreState(com.intellij.openapi.vcs.changes.ui.ChangesTree,java.lang.Object,Z):V
|
||||
- a:saveState(com.intellij.openapi.vcs.changes.ui.ChangesTree):java.lang.Object
|
||||
c:com.intellij.openapi.vcs.changes.ui.ChangesTreeCellRenderer
|
||||
- com.intellij.ui.CellRendererPanel
|
||||
- javax.swing.tree.TreeCellRenderer
|
||||
- <init>(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer):V
|
||||
- getAccessibleContext():javax.accessibility.AccessibleContext
|
||||
- getPreferredSize():java.awt.Dimension
|
||||
- pf:getTextRenderer():com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer
|
||||
- getToolTipText():java.lang.String
|
||||
- getTreeCellRendererComponent(javax.swing.JTree,java.lang.Object,Z,Z,Z,I,Z):java.awt.Component
|
||||
- pf:paintComponent(java.awt.Graphics):V
|
||||
com.intellij.openapi.vcs.changes.ui.ChangesViewModelBuilder
|
||||
- a:insertChanges(java.util.Collection,com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):V
|
||||
- a:insertFilesIntoNode(java.util.Collection,com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):V
|
||||
- a:insertSubtreeRoot(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):com.intellij.openapi.vcs.changes.ui.ChangesViewModelBuilder
|
||||
f:com.intellij.openapi.vcs.changes.ui.DefaultInclusionModel
|
||||
- com.intellij.openapi.vcs.changes.ui.BaseInclusionModel
|
||||
- <init>():V
|
||||
- <init>(com.intellij.util.containers.HashingStrategy):V
|
||||
- b:<init>(com.intellij.util.containers.HashingStrategy,I,kotlin.jvm.internal.DefaultConstructorMarker):V
|
||||
- addInclusion(java.util.Collection):V
|
||||
- clearInclusion():V
|
||||
- getInclusion():java.util.Set
|
||||
- getInclusionState(java.lang.Object):com.intellij.util.ui.ThreeStateCheckBox$State
|
||||
- isInclusionEmpty():Z
|
||||
- removeInclusion(java.util.Collection):V
|
||||
- retainInclusion(java.util.Collection):V
|
||||
- setInclusion(java.util.Collection):V
|
||||
f:com.intellij.openapi.vcs.changes.ui.NoneChangesGroupingFactory
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicyFactory
|
||||
- sf:INSTANCE:com.intellij.openapi.vcs.changes.ui.NoneChangesGroupingFactory
|
||||
- createGroupingPolicy(com.intellij.openapi.project.Project,javax.swing.tree.DefaultTreeModel):com.intellij.openapi.vcs.changes.ui.ChangesGroupingPolicy
|
||||
a:com.intellij.openapi.vcs.changes.ui.SimpleChangesGroupingPolicy
|
||||
- com.intellij.openapi.vcs.changes.ui.BaseChangesGroupingPolicy
|
||||
- sf:Companion:com.intellij.openapi.vcs.changes.ui.SimpleChangesGroupingPolicy$Companion
|
||||
- <init>(javax.swing.tree.DefaultTreeModel):V
|
||||
- pa:createGroupRootNode(java.lang.Object):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- pa:getGroupRootValueFor(com.intellij.openapi.vcs.changes.ui.StaticFilePath,com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):java.lang.Object
|
||||
- f:getModel():javax.swing.tree.DefaultTreeModel
|
||||
- f:getParentNodeFor(com.intellij.openapi.vcs.changes.ui.StaticFilePath,com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode,com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
f:com.intellij.openapi.vcs.changes.ui.SimpleChangesGroupingPolicy$Companion
|
||||
c:com.intellij.openapi.vcs.changes.ui.StaticFilePath
|
||||
- <init>(com.intellij.openapi.vcs.FilePath):V
|
||||
- getFilePath():com.intellij.openapi.vcs.FilePath
|
||||
- getKey():java.lang.String
|
||||
- getParent():com.intellij.openapi.vcs.changes.ui.StaticFilePath
|
||||
- getPath():java.lang.String
|
||||
- getVf():com.intellij.openapi.vfs.VirtualFile
|
||||
- isDirectory():Z
|
||||
- resolve():com.intellij.openapi.vfs.VirtualFile
|
||||
c:com.intellij.openapi.vcs.changes.ui.TagChangesBrowserNode
|
||||
- com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- <init>(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode$Tag,com.intellij.ui.SimpleTextAttributes,Z):V
|
||||
- getTextPresentation():java.lang.String
|
||||
- render(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNodeRenderer,Z,Z,Z):V
|
||||
- shouldExpandByDefault():Z
|
||||
a:com.intellij.openapi.vcs.changes.ui.VcsTreeModelData
|
||||
- <init>():V
|
||||
- s:all(javax.swing.JTree):com.intellij.openapi.vcs.changes.ui.VcsTreeModelData
|
||||
- s:all(javax.swing.tree.TreeModel):com.intellij.openapi.vcs.changes.ui.VcsTreeModelData
|
||||
- s:allUnder(com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode):com.intellij.openapi.vcs.changes.ui.VcsTreeModelData
|
||||
- s:allUnderTag(javax.swing.JTree,java.lang.Object):com.intellij.openapi.vcs.changes.ui.VcsTreeModelData
|
||||
- s:exactlySelected(javax.swing.JTree):com.intellij.openapi.vcs.changes.ui.VcsTreeModelData
|
||||
- s:findTagNode(javax.swing.JTree,java.lang.Object):com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode
|
||||
- s:getListSelectionOrAll(javax.swing.JTree):com.intellij.openapi.ListSelection
|
||||
- s:included(com.intellij.openapi.vcs.changes.ui.ChangesTree):com.intellij.openapi.vcs.changes.ui.VcsTreeModelData
|
||||
- s:includedUnderTag(com.intellij.openapi.vcs.changes.ui.ChangesTree,java.lang.Object):com.intellij.openapi.vcs.changes.ui.VcsTreeModelData
|
||||
- f:iterateNodes():com.intellij.util.containers.JBIterable
|
||||
- a:iterateRawNodes():com.intellij.util.containers.JBIterable
|
||||
- f:iterateRawUserObjects():com.intellij.util.containers.JBIterable
|
||||
- f:iterateRawUserObjects(java.lang.Class):com.intellij.util.containers.JBIterable
|
||||
- f:iterateUserObjects():com.intellij.util.containers.JBIterable
|
||||
- f:iterateUserObjects(java.lang.Class):com.intellij.util.containers.JBIterable
|
||||
- s:mapToExactVirtualFile(com.intellij.openapi.vcs.changes.ui.VcsTreeModelData):com.intellij.util.containers.JBIterable
|
||||
- s:mapUserObjectToFilePath(java.lang.Object):com.intellij.openapi.vcs.FilePath
|
||||
- f:nodesStream():java.util.stream.Stream
|
||||
- s:selected(javax.swing.JTree):com.intellij.openapi.vcs.changes.ui.VcsTreeModelData
|
||||
- s:selectedUnderTag(javax.swing.JTree,java.lang.Object):com.intellij.openapi.vcs.changes.ui.VcsTreeModelData
|
||||
- s:uiDataSnapshot(com.intellij.openapi.actionSystem.DataSink,com.intellij.openapi.project.Project,javax.swing.JTree):V
|
||||
- f:userObjects():java.util.List
|
||||
- f:userObjects(java.lang.Class):java.util.List
|
||||
- f:userObjectsStream(java.lang.Class):java.util.stream.Stream
|
||||
c:com.intellij.openapi.vcs.changes.ui.VirtualFileHierarchicalComparator
|
||||
- java.util.Comparator
|
||||
- <init>():V
|
||||
- compare(com.intellij.openapi.vfs.VirtualFile,com.intellij.openapi.vfs.VirtualFile):I
|
||||
- s:getInstance():com.intellij.openapi.vcs.changes.ui.VirtualFileHierarchicalComparator
|
||||
com.intellij.platform.vcs.impl.shared.changes.DiffPreviewUpdateProcessor
|
||||
- a:clear():V
|
||||
- a:getComponent():javax.swing.JComponent
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
kotlin/jvm/internal/DefaultConstructorMarker
|
||||
@@ -49,5 +49,10 @@
|
||||
<orderEntry type="module" module-name="intellij.platform.ide.impl" />
|
||||
<orderEntry type="module" module-name="intellij.platform.core.ui" />
|
||||
<orderEntry type="module" module-name="intellij.platform.util.coroutines" />
|
||||
<orderEntry type="module" module-name="intellij.platform.vcs.core" />
|
||||
<orderEntry type="module" module-name="intellij.platform.editor.ui" />
|
||||
<orderEntry type="module" module-name="intellij.platform.lang.impl" />
|
||||
<orderEntry type="module" module-name="intellij.platform.concurrency" />
|
||||
<orderEntry type="module" module-name="intellij.platform.vcs.shared" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -1,4 +1,9 @@
|
||||
<idea-plugin>
|
||||
<dependencies>
|
||||
<module name="intellij.platform.vcs.core"/>
|
||||
<module name="intellij.platform.vcs.shared"/>
|
||||
</dependencies>
|
||||
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
<platform.entityTypes implementation="com.intellij.platform.vcs.impl.shared.rhizome.ShelfDiffEntityTypeProvider"/>
|
||||
<platform.entityTypes implementation="com.intellij.platform.vcs.impl.shared.rhizome.GroupingItemTypeProvider"/>
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes
|
||||
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent
|
||||
import com.intellij.openapi.components.service
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.util.NlsSafe
|
||||
import com.intellij.openapi.vcs.FilePath
|
||||
import com.intellij.openapi.vcs.FileStatus
|
||||
import com.intellij.openapi.vcs.changes.ui.ChangeListDragBean
|
||||
import com.intellij.openapi.vcs.changes.ui.ChangesBrowserLockedFoldersNode
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.util.application
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
import java.awt.Color
|
||||
import java.awt.event.MouseEvent
|
||||
import javax.swing.Icon
|
||||
|
||||
/**
|
||||
* Temporary interface to allow moving changes tree code to the shared module.
|
||||
* Should be reconsidered and replaced with proper services.
|
||||
*/
|
||||
@ApiStatus.Obsolete
|
||||
@ApiStatus.Internal
|
||||
interface ChangesTreeCompatibilityProvider {
|
||||
fun getBackgroundColorFor(project: Project, obj: Any?): Color?
|
||||
|
||||
fun getPresentablePath(project: Project?, path: VirtualFile, useRelativeRootPaths: Boolean, acceptEmptyPath: Boolean): @NlsSafe String
|
||||
|
||||
fun getPresentablePath(project: Project?, path: FilePath, useRelativeRootPaths: Boolean, acceptEmptyPath: Boolean): @NlsSafe String
|
||||
|
||||
fun getFileStatus(project: Project, file: VirtualFile): FileStatus
|
||||
|
||||
fun getLockedFilesCleanupWorker(project: Project, lockedFoldersNode: ChangesBrowserLockedFoldersNode): Runnable?
|
||||
|
||||
fun getIcon(project: Project?, filePath: FilePath, isDirectory: Boolean): Icon?
|
||||
|
||||
fun logInclusionToggle(project: Project, exclude: Boolean, event: MouseEvent)
|
||||
|
||||
fun logInclusionToggle(project: Project, exclude: Boolean, event: AnActionEvent)
|
||||
|
||||
fun logFileSelected(project: Project, event: MouseEvent)
|
||||
|
||||
fun getSwitchedBranch(project: Project, file: VirtualFile): @NlsSafe String?
|
||||
|
||||
fun showResolveConflictsDialog(project: Project, changes: List<Change>)
|
||||
|
||||
fun acceptIgnoredFilesDrop(project: Project, dragOwner: ChangeListOwner, dragBean: ChangeListDragBean)
|
||||
|
||||
fun showIgnoredViewDialog(project: Project)
|
||||
|
||||
fun isIgnoredInUpdateMode(project: Project): Boolean
|
||||
|
||||
fun showUnversionedViewDialog(project: Project)
|
||||
|
||||
fun isUnversionedInUpdateMode(project: Project): Boolean
|
||||
|
||||
fun resolveLocalFile(path: String): VirtualFile?
|
||||
|
||||
companion object {
|
||||
@JvmStatic
|
||||
fun getInstance(): ChangesTreeCompatibilityProvider = application.service<ChangesTreeCompatibilityProvider>()
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes;
|
||||
|
||||
import com.intellij.openapi.util.NlsSafe;
|
||||
+1
-18
@@ -1,22 +1,7 @@
|
||||
/*
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes;
|
||||
|
||||
import com.intellij.ide.util.treeView.FileNameComparator;
|
||||
import com.intellij.openapi.util.SystemInfo;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vcs.FilePath;
|
||||
import com.intellij.util.text.CharSequenceSubSequence;
|
||||
@@ -33,8 +18,6 @@ import java.util.Comparator;
|
||||
public class HierarchicalFilePathComparator implements Comparator<FilePath> {
|
||||
public static final HierarchicalFilePathComparator CASE_SENSITIVE = new HierarchicalFilePathComparator(false);
|
||||
public static final HierarchicalFilePathComparator CASE_INSENSITIVE = new HierarchicalFilePathComparator(true);
|
||||
public static final HierarchicalFilePathComparator SYSTEM_CASE_SENSITIVE = SystemInfo.isFileSystemCaseSensitive ? CASE_SENSITIVE
|
||||
: CASE_INSENSITIVE;
|
||||
|
||||
public static final HierarchicalFilePathComparator NATURAL = new HierarchicalFilePathComparator(true) {
|
||||
@Override
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.issueLinks;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
+4
-3
@@ -1,6 +1,7 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui
|
||||
|
||||
import com.intellij.openapi.vcs.changes.ui.TreeModelBuilderKeys.IS_CACHING_ROOT
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
|
||||
abstract class BaseChangesGroupingPolicy : ChangesGroupingPolicy {
|
||||
@@ -19,14 +20,14 @@ abstract class BaseChangesGroupingPolicy : ChangesGroupingPolicy {
|
||||
companion object {
|
||||
@JvmStatic
|
||||
fun markCachingRoot(node: ChangesBrowserNode<*>) {
|
||||
TreeModelBuilder.IS_CACHING_ROOT.set(node, true)
|
||||
IS_CACHING_ROOT.set(node, true)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun getCachingRoot(node: ChangesBrowserNode<*>?, subtreeRoot: ChangesBrowserNode<*>): ChangesBrowserNode<*> {
|
||||
var parent = node
|
||||
while (parent != null) {
|
||||
if (TreeModelBuilder.IS_CACHING_ROOT.get(parent) == true) {
|
||||
if (IS_CACHING_ROOT.get(parent) == true) {
|
||||
return parent
|
||||
}
|
||||
parent = parent.parent
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
import com.intellij.openapi.vcs.changes.Change;
|
||||
+5
-5
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
@@ -9,10 +9,10 @@ import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.vcs.FilePath;
|
||||
import com.intellij.openapi.vcs.VcsBundle;
|
||||
import com.intellij.openapi.vcs.changes.Change;
|
||||
import com.intellij.openapi.vcs.changes.ChangeListManager;
|
||||
import com.intellij.openapi.vcs.changes.ChangesUtil;
|
||||
import com.intellij.openapi.vcs.changes.ChangesTreeCompatibilityProvider;
|
||||
import com.intellij.openapi.vcs.changes.issueLinks.TreeLinkMouseListener;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.platform.vcs.changes.ChangesUtil;
|
||||
import com.intellij.ui.SimpleTextAttributes;
|
||||
import com.intellij.util.SlowOperations;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
@@ -29,7 +29,7 @@ public class ChangesBrowserChangeNode extends ChangesBrowserNode<Change> impleme
|
||||
private final @Nullable ChangeNodeDecorator myDecorator;
|
||||
private final @Nullable @Nls String myAdditionalText;
|
||||
|
||||
protected ChangesBrowserChangeNode(@Nullable Project project, @NotNull Change userObject, @Nullable ChangeNodeDecorator decorator) {
|
||||
public ChangesBrowserChangeNode(@Nullable Project project, @NotNull Change userObject, @Nullable ChangeNodeDecorator decorator) {
|
||||
super(userObject);
|
||||
myProject = project;
|
||||
myDecorator = decorator;
|
||||
@@ -94,7 +94,7 @@ public class ChangesBrowserChangeNode extends ChangesBrowserNode<Change> impleme
|
||||
|
||||
private void appendSwitched(@NotNull ChangesBrowserNodeRenderer renderer, @Nullable VirtualFile file) {
|
||||
if (file != null && myProject != null && !myProject.isDefault() && !myProject.isDisposed()) {
|
||||
String branch = ChangeListManager.getInstance(myProject).getSwitchedBranch(file);
|
||||
String branch = ChangesTreeCompatibilityProvider.getInstance().getSwitchedBranch(myProject, file);
|
||||
if (branch != null) {
|
||||
String switchedToBranch = "[" + VcsBundle.message("changes.switched.to.branch.name", branch) + "]";
|
||||
renderer.append(spaceAndThinSpace() + switchedToBranch, SimpleTextAttributes.REGULAR_ATTRIBUTES);
|
||||
+3
-8
@@ -2,10 +2,8 @@
|
||||
package com.intellij.openapi.vcs.changes.ui
|
||||
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.vcs.AbstractVcsHelper
|
||||
import com.intellij.openapi.vcs.VcsBundle
|
||||
import com.intellij.openapi.vcs.changes.ChangesUtil
|
||||
import com.intellij.openapi.vcs.merge.MergeConflictManager
|
||||
import com.intellij.openapi.vcs.changes.ChangesTreeCompatibilityProvider
|
||||
import com.intellij.ui.SimpleTextAttributes
|
||||
import com.intellij.util.FontUtil
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
@@ -20,14 +18,11 @@ class ChangesBrowserConflictsNode(val project: Project)
|
||||
override fun render(renderer: ChangesBrowserNodeRenderer, selected: Boolean, expanded: Boolean, hasFocus: Boolean) {
|
||||
renderer.append(VcsBundle.message("changes.nodetitle.merge.conflicts"), SimpleTextAttributes.REGULAR_BOLD_ATTRIBUTES)
|
||||
renderer.append(FontUtil.spaceAndThinSpace(), SimpleTextAttributes.REGULAR_BOLD_ATTRIBUTES)
|
||||
if (!MergeConflictManager.isNonModalMergeEnabled(project)) {
|
||||
renderer.append(VcsBundle.message("changes.nodetitle.merge.conflicts.resolve.link.label"), SimpleTextAttributes.LINK_BOLD_ATTRIBUTES,
|
||||
Runnable { showResolveConflictsDialog() })
|
||||
}
|
||||
renderer.append(VcsBundle.message("changes.nodetitle.merge.conflicts.resolve.link.label"), SimpleTextAttributes.LINK_BOLD_ATTRIBUTES, Runnable { showResolveConflictsDialog() })
|
||||
}
|
||||
|
||||
private fun showResolveConflictsDialog() {
|
||||
AbstractVcsHelper.getInstance(project).showMergeDialog(ChangesUtil.iterateFiles(allChangesUnder).toList())
|
||||
ChangesTreeCompatibilityProvider.getInstance().showResolveConflictsDialog(project, allChangesUnder)
|
||||
}
|
||||
|
||||
override fun getTextPresentation(): String {
|
||||
+4
-5
@@ -1,18 +1,17 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
import com.intellij.openapi.application.AccessToken;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.vcs.FileStatus;
|
||||
import com.intellij.openapi.vcs.changes.ChangeListManager;
|
||||
import com.intellij.openapi.vcs.changes.ChangesTreeCompatibilityProvider;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.platform.vcs.VcsUtil;
|
||||
import com.intellij.util.SlowOperations;
|
||||
import com.intellij.vcsUtil.VcsUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
|
||||
public class ChangesBrowserFileNode extends ChangesBrowserNode<VirtualFile> implements Comparable<ChangesBrowserFileNode> {
|
||||
private final @Nullable Project myProject;
|
||||
private final String myName;
|
||||
@@ -79,6 +78,6 @@ public class ChangesBrowserFileNode extends ChangesBrowserNode<VirtualFile> impl
|
||||
|
||||
private @NotNull FileStatus getFileStatus() {
|
||||
if (myProject == null || myProject.isDisposed()) return FileStatus.NOT_CHANGED;
|
||||
return ChangeListManager.getInstance(myProject).getStatus(getUserObject());
|
||||
return ChangesTreeCompatibilityProvider.getInstance().getFileStatus(myProject, getUserObject());
|
||||
}
|
||||
}
|
||||
+4
-4
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui
|
||||
|
||||
import com.intellij.ide.util.treeView.PathElementIdProvider
|
||||
@@ -12,11 +12,11 @@ import com.intellij.openapi.vcs.FilePath
|
||||
import com.intellij.openapi.vcs.FileStatus
|
||||
import com.intellij.openapi.vcs.VcsBundle
|
||||
import com.intellij.openapi.vcs.changes.Change
|
||||
import com.intellij.openapi.vcs.changes.ChangesUtil
|
||||
import com.intellij.openapi.vcs.changes.ChangesTreeCompatibilityProvider
|
||||
import com.intellij.openapi.vcs.impl.PlatformVcsPathPresenter.getPresentableRelativePath
|
||||
import com.intellij.platform.vcs.changes.ChangesUtil
|
||||
import com.intellij.ui.SimpleTextAttributes
|
||||
import com.intellij.util.FontUtil
|
||||
import com.intellij.vcsUtil.VcsUtil
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
import org.jetbrains.annotations.Nls
|
||||
import java.awt.Color
|
||||
@@ -78,7 +78,7 @@ abstract class AbstractChangesBrowserFilePathNode<U>(
|
||||
return if (isLocal) FileUtil.toSystemDependentName(prettyPath) else prettyPath
|
||||
}
|
||||
else if (isLocal) {
|
||||
return VcsUtil.getPresentablePath(project, path, true, false)
|
||||
return ChangesTreeCompatibilityProvider.getInstance().getPresentablePath(project, path, true, false)
|
||||
}
|
||||
else {
|
||||
return path.path
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
|
||||
package com.intellij.openapi.vcs.changes.ui
|
||||
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.vcs.FilePath
|
||||
import com.intellij.openapi.vcs.changes.ChangeListOwner
|
||||
import com.intellij.openapi.vcs.changes.ChangesTreeCompatibilityProvider
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
import org.jetbrains.annotations.Nls
|
||||
|
||||
@ApiStatus.Internal
|
||||
class ChangesBrowserIgnoredFilesNode(private val project: Project,
|
||||
files: List<FilePath>)
|
||||
: ChangesBrowserSpecificFilePathsNode<ChangesBrowserNode.Tag>(ChangesBrowserNode.IGNORED_FILES_TAG, files,
|
||||
{ ChangesTreeCompatibilityProvider.getInstance().showIgnoredViewDialog(project) }) {
|
||||
|
||||
override fun render(renderer: ChangesBrowserNodeRenderer, selected: Boolean, expanded: Boolean, hasFocus: Boolean) {
|
||||
super.render(renderer, selected, expanded, hasFocus)
|
||||
if (!project.isDisposed && ChangesTreeCompatibilityProvider.getInstance().isIgnoredInUpdateMode(project)) {
|
||||
appendUpdatingState(renderer)
|
||||
}
|
||||
}
|
||||
|
||||
@ApiStatus.Internal
|
||||
override fun canAcceptDrop(dragBean: ChangeListDragBean) = dragBean.unversionedFiles.isNotEmpty()
|
||||
|
||||
@ApiStatus.Internal
|
||||
override fun acceptDrop(dragOwner: ChangeListOwner, dragBean: ChangeListDragBean) {
|
||||
ChangesTreeCompatibilityProvider.getInstance().acceptIgnoredFilesDrop(project, dragOwner, dragBean)
|
||||
}
|
||||
|
||||
@Nls
|
||||
override fun getTextPresentation(): String = getUserObject().toString() //NON-NLS
|
||||
|
||||
override fun getSortWeight(): Int = ChangesBrowserNode.IGNORED_SORT_WEIGHT
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
import com.intellij.openapi.vcs.FilePath;
|
||||
+10
-26
@@ -1,9 +1,9 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.vcs.VcsBundle;
|
||||
import com.intellij.openapi.vcs.changes.ChangeProvider;
|
||||
import com.intellij.openapi.vcs.changes.ChangesTreeCompatibilityProvider;
|
||||
import com.intellij.openapi.vcs.changes.issueLinks.TreeLinkMouseListener;
|
||||
import com.intellij.ui.JBColor;
|
||||
import com.intellij.ui.SimpleTextAttributes;
|
||||
@@ -11,12 +11,12 @@ import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import static com.intellij.openapi.vcs.changes.ChangesUtil.processVirtualFilesByVcs;
|
||||
import static com.intellij.ui.SimpleTextAttributes.*;
|
||||
import static com.intellij.util.FontUtil.spaceAndThinSpace;
|
||||
|
||||
@ApiStatus.Internal
|
||||
public class ChangesBrowserLockedFoldersNode extends ChangesBrowserNode<ChangesBrowserNode.Tag> implements TreeLinkMouseListener.HaveTooltip {
|
||||
public class ChangesBrowserLockedFoldersNode extends ChangesBrowserNode<ChangesBrowserNode.Tag>
|
||||
implements TreeLinkMouseListener.HaveTooltip {
|
||||
|
||||
private static final @NotNull SimpleTextAttributes CLEANUP_LINK_ATTRIBUTES = new SimpleTextAttributes(STYLE_UNDERLINE, JBColor.RED);
|
||||
|
||||
@@ -36,32 +36,16 @@ public class ChangesBrowserLockedFoldersNode extends ChangesBrowserNode<ChangesB
|
||||
public void render(@NotNull ChangesBrowserNodeRenderer renderer, boolean selected, boolean expanded, boolean hasFocus) {
|
||||
renderer.append(LOCKED_FOLDERS_TAG.toString(), REGULAR_ATTRIBUTES);
|
||||
renderer.append(getCountText(), GRAY_ITALIC_ATTRIBUTES);
|
||||
renderer.append(spaceAndThinSpace(), REGULAR_ATTRIBUTES);
|
||||
renderer.append(VcsBundle.message("changes.do.cleanup"), CLEANUP_LINK_ATTRIBUTES, new CleanupWorker(myProject, this));
|
||||
|
||||
Runnable cleanupWorker = ChangesTreeCompatibilityProvider.getInstance().getLockedFilesCleanupWorker(myProject, this);
|
||||
if (cleanupWorker != null) {
|
||||
renderer.append(spaceAndThinSpace(), REGULAR_ATTRIBUTES);
|
||||
renderer.append(VcsBundle.message("changes.do.cleanup"), CLEANUP_LINK_ATTRIBUTES, cleanupWorker);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nls String getTextPresentation() {
|
||||
return LOCKED_FOLDERS_TAG.toString();
|
||||
}
|
||||
|
||||
private static final class CleanupWorker implements Runnable {
|
||||
private final @NotNull Project myProject;
|
||||
private final @NotNull ChangesBrowserNode<?> myNode;
|
||||
|
||||
private CleanupWorker(@NotNull Project project, @NotNull ChangesBrowserNode<?> node) {
|
||||
myProject = project;
|
||||
myNode = node;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
processVirtualFilesByVcs(myProject, myNode.iterateFilesUnder().toList(), (vcs, files) -> {
|
||||
ChangeProvider provider = vcs.getChangeProvider();
|
||||
if (provider != null) {
|
||||
provider.doCleanup(files);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-15
@@ -1,18 +1,4 @@
|
||||
/*
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
+6
-31
@@ -14,18 +14,13 @@ import com.intellij.openapi.vcs.FileStatus;
|
||||
import com.intellij.openapi.vcs.VcsBundle;
|
||||
import com.intellij.openapi.vcs.changes.*;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.vfs.newvfs.VfsPresentationUtil;
|
||||
import com.intellij.ui.ColoredTreeCellRenderer;
|
||||
import com.intellij.ui.DirtyUI;
|
||||
import com.intellij.ui.JBColor;
|
||||
import com.intellij.ui.SimpleTextAttributes;
|
||||
import com.intellij.util.ObjectUtils;
|
||||
import com.intellij.util.SlowOperations;
|
||||
import com.intellij.util.containers.Convertor;
|
||||
import com.intellij.util.containers.JBIterable;
|
||||
import com.intellij.util.ui.tree.TreeUtil;
|
||||
import com.intellij.vcsUtil.VcsImplUtil;
|
||||
import com.intellij.vcsUtil.VcsUtil;
|
||||
import org.jetbrains.annotations.*;
|
||||
|
||||
import javax.swing.*;
|
||||
@@ -80,19 +75,19 @@ public abstract class ChangesBrowserNode<T> extends DefaultMutableTreeNode imple
|
||||
}
|
||||
|
||||
@ApiStatus.Internal
|
||||
final @Nullable Color getBackgroundColorCached() {
|
||||
public final @Nullable Color getBackgroundColorCached() {
|
||||
Color backgroundColor = myBackgroundColor;
|
||||
return backgroundColor == UNKNOWN_COLOR ? null : backgroundColor;
|
||||
}
|
||||
|
||||
@ApiStatus.Internal
|
||||
final boolean hasBackgroundColorCached() {
|
||||
public final boolean hasBackgroundColorCached() {
|
||||
Color backgroundColor = myBackgroundColor;
|
||||
return backgroundColor != UNKNOWN_COLOR;
|
||||
}
|
||||
|
||||
@ApiStatus.Internal
|
||||
final boolean cacheBackgroundColor(@NotNull Project project) {
|
||||
public final boolean cacheBackgroundColor(@NotNull Project project) {
|
||||
Color backgroundColor = myBackgroundColor;
|
||||
if (backgroundColor != UNKNOWN_COLOR) return false;
|
||||
|
||||
@@ -355,7 +350,7 @@ public abstract class ChangesBrowserNode<T> extends DefaultMutableTreeNode imple
|
||||
|
||||
protected void appendParentPath(@NotNull ChangesBrowserNodeRenderer renderer, @Nullable FilePath parentPath) {
|
||||
if (parentPath != null) {
|
||||
String presentablePath = VcsUtil.getPresentablePath(renderer.getProject(), parentPath, true, true);
|
||||
String presentablePath = ChangesTreeCompatibilityProvider.getInstance().getPresentablePath(renderer.getProject(), parentPath, true, true);
|
||||
if (presentablePath.isEmpty()) return;
|
||||
renderer.append(spaceAndThinSpace() + presentablePath, SimpleTextAttributes.GRAYED_ATTRIBUTES);
|
||||
}
|
||||
@@ -363,7 +358,7 @@ public abstract class ChangesBrowserNode<T> extends DefaultMutableTreeNode imple
|
||||
|
||||
protected void appendParentPath(@NotNull ChangesBrowserNodeRenderer renderer, @Nullable VirtualFile parentPath) {
|
||||
if (parentPath != null) {
|
||||
String presentablePath = VcsUtil.getPresentablePath(renderer.getProject(), parentPath, true, true);
|
||||
String presentablePath = ChangesTreeCompatibilityProvider.getInstance().getPresentablePath(renderer.getProject(), parentPath, true, true);
|
||||
if (presentablePath.isEmpty()) return;
|
||||
renderer.append(spaceAndThinSpace() + presentablePath, SimpleTextAttributes.GRAYED_ATTRIBUTES);
|
||||
}
|
||||
@@ -378,28 +373,8 @@ public abstract class ChangesBrowserNode<T> extends DefaultMutableTreeNode imple
|
||||
return getBackgroundColorFor(project, getUserObject());
|
||||
}
|
||||
|
||||
@DirtyUI
|
||||
protected static @Nullable Color getBackgroundColorFor(@NotNull Project project, @Nullable Object object) {
|
||||
VirtualFile file;
|
||||
if (object instanceof FilePath) {
|
||||
file = getScopeVirtualFileFor((FilePath)object);
|
||||
}
|
||||
else if (object instanceof Change) {
|
||||
file = getScopeVirtualFileFor(ChangesUtil.getFilePath((Change)object));
|
||||
}
|
||||
else {
|
||||
file = ObjectUtils.tryCast(object, VirtualFile.class);
|
||||
}
|
||||
|
||||
if (file != null) {
|
||||
return VfsPresentationUtil.getFileBackgroundColor(project, file);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static @Nullable VirtualFile getScopeVirtualFileFor(@NotNull FilePath filePath) {
|
||||
if (filePath.isNonLocal()) return null;
|
||||
return VcsImplUtil.findValidParentAccurately(filePath);
|
||||
return ChangesTreeCompatibilityProvider.getInstance().getBackgroundColorFor(project, object);
|
||||
}
|
||||
|
||||
public boolean shouldExpandByDefault() {
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
import com.intellij.ide.CopyProvider;
|
||||
+3
-15
@@ -1,20 +1,18 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.BooleanGetter;
|
||||
import com.intellij.openapi.util.NlsSafe;
|
||||
import com.intellij.openapi.vcs.FilePath;
|
||||
import com.intellij.openapi.vcs.changes.FilePathIconProvider;
|
||||
import com.intellij.openapi.vcs.changes.ChangesTreeCompatibilityProvider;
|
||||
import com.intellij.openapi.vcs.changes.issueLinks.IssueLinkRenderer;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.ui.ColoredTreeCellRenderer;
|
||||
import com.intellij.ui.DirtyUI;
|
||||
import com.intellij.ui.SimpleTextAttributes;
|
||||
import com.intellij.ui.speedSearch.SpeedSearchUtil;
|
||||
import com.intellij.util.PlatformIcons;
|
||||
import com.intellij.util.ui.JBInsets;
|
||||
import com.intellij.vcsUtil.VcsUtil;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -103,17 +101,7 @@ public class ChangesBrowserNodeRenderer extends ColoredTreeCellRenderer {
|
||||
* @param isDirectory directory flag is specified explicitly, as {@link FilePath#isDirectory()} can be unreliable
|
||||
*/
|
||||
public void setIcon(@NotNull FilePath filePath, boolean isDirectory) {
|
||||
Icon icon = FilePathIconProvider.EP_NAME.computeSafeIfAny(provider -> provider.getIcon(filePath, isDirectory, myProject));
|
||||
if (icon != null) {
|
||||
setIcon(icon);
|
||||
return;
|
||||
}
|
||||
|
||||
if (isDirectory) {
|
||||
setIcon(PlatformIcons.FOLDER_ICON);
|
||||
return;
|
||||
}
|
||||
setIcon(VcsUtil.getIcon(myProject, filePath));
|
||||
setIcon(ChangesTreeCompatibilityProvider.getInstance().getIcon(myProject, filePath, isDirectory));
|
||||
}
|
||||
|
||||
public void setBackgroundInsets(@Nullable JBInsets backgroundInsets) {
|
||||
+3
-1
@@ -4,11 +4,13 @@ package com.intellij.openapi.vcs.changes.ui
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.vcs.VcsBundle
|
||||
import com.intellij.ui.SimpleTextAttributes
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
|
||||
@JvmField
|
||||
internal val RESOLVED_CONFLICTS_NODE_TAG: ChangesBrowserNode.Tag = object : ChangesBrowserNode.Tag {}
|
||||
|
||||
internal class ChangesBrowserResolvedConflictsNode(
|
||||
@ApiStatus.Internal
|
||||
class ChangesBrowserResolvedConflictsNode(
|
||||
val project: Project,
|
||||
private val attributes: SimpleTextAttributes = SimpleTextAttributes.REGULAR_ATTRIBUTES,
|
||||
) : TagChangesBrowserNode(RESOLVED_CONFLICTS_NODE_TAG, attributes, true) {
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
import com.intellij.openapi.vcs.FilePath;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
import com.intellij.openapi.util.registry.Registry;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
import com.intellij.ui.SimpleTextAttributes;
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui
|
||||
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.vcs.FilePath
|
||||
import com.intellij.openapi.vcs.changes.ChangesTreeCompatibilityProvider
|
||||
import org.jetbrains.annotations.Nls
|
||||
|
||||
class ChangesBrowserUnversionedFilesNode(private val project: Project,
|
||||
files: List<FilePath>)
|
||||
: ChangesBrowserSpecificFilePathsNode<ChangesBrowserNode.Tag>(UNVERSIONED_FILES_TAG, files,
|
||||
{ ChangesTreeCompatibilityProvider.getInstance().showUnversionedViewDialog(project) }) {
|
||||
|
||||
override fun render(renderer: ChangesBrowserNodeRenderer, selected: Boolean, expanded: Boolean, hasFocus: Boolean) {
|
||||
super.render(renderer, selected, expanded, hasFocus)
|
||||
if (!project.isDisposed && ChangesTreeCompatibilityProvider.getInstance().isUnversionedInUpdateMode(project)) {
|
||||
appendUpdatingState(renderer)
|
||||
}
|
||||
}
|
||||
|
||||
@Nls
|
||||
override fun getTextPresentation(): String = getUserObject().toString() //NON-NLS
|
||||
|
||||
override fun getSortWeight(): Int = UNVERSIONED_SORT_WEIGHT
|
||||
}
|
||||
+3
-3
@@ -1,14 +1,14 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
import com.intellij.ide.util.treeView.FileNameComparator;
|
||||
import com.intellij.openapi.vcs.FilePath;
|
||||
import com.intellij.openapi.vcs.changes.Change;
|
||||
import com.intellij.openapi.vcs.changes.ChangeListChange;
|
||||
import com.intellij.openapi.vcs.changes.ChangesUtil;
|
||||
import com.intellij.openapi.vcs.changes.HierarchicalFilePathComparator;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.vcsUtil.VcsUtil;
|
||||
import com.intellij.platform.vcs.VcsUtil;
|
||||
import com.intellij.platform.vcs.changes.ChangesUtil;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
import com.intellij.icons.AllIcons;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
import com.intellij.openapi.extensions.ExtensionPointName;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
import com.intellij.openapi.extensions.RequiredElement;
|
||||
+1
-6
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui
|
||||
|
||||
import com.intellij.concurrency.ConcurrentCollectionFactory
|
||||
@@ -94,11 +94,6 @@ open class ChangesGroupingSupport(val project: Project, source: Any, val showCon
|
||||
const val REPOSITORY_GROUPING = "repository" // NON-NLS
|
||||
const val NONE_GROUPING = "none" // NON-NLS
|
||||
|
||||
@JvmStatic
|
||||
fun getFactory(key: String): ChangesGroupingPolicyFactory {
|
||||
return findFactory(key) ?: NoneChangesGroupingFactory
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun findFactory(key: String): ChangesGroupingPolicyFactory? {
|
||||
val availableFactories = GroupingPolicyFactoryHolder.getInstance().factories
|
||||
+6
-10
@@ -20,13 +20,14 @@ import com.intellij.openapi.util.registry.Registry;
|
||||
import com.intellij.openapi.vcs.FilePath;
|
||||
import com.intellij.openapi.vcs.VcsBundle;
|
||||
import com.intellij.openapi.vcs.changes.Change;
|
||||
import com.intellij.openapi.vcs.changes.ChangesUtil;
|
||||
import com.intellij.openapi.vcs.changes.ChangesTreeCompatibilityProvider;
|
||||
import com.intellij.openapi.vcs.changes.InclusionListener;
|
||||
import com.intellij.openapi.vcs.changes.InclusionModel;
|
||||
import com.intellij.openapi.vcs.changes.issueLinks.TreeLinkMouseListener;
|
||||
import com.intellij.openapi.vcs.merge.MergeConflictManager;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.wm.impl.IdeGlassPaneImpl;
|
||||
import com.intellij.platform.vcs.VcsUtil;
|
||||
import com.intellij.platform.vcs.changes.ChangesUtil;
|
||||
import com.intellij.ui.ClickListener;
|
||||
import com.intellij.ui.PopupHandler;
|
||||
import com.intellij.ui.SmartExpander;
|
||||
@@ -41,8 +42,6 @@ import com.intellij.util.containers.TreeTraversal;
|
||||
import com.intellij.util.ui.JBUI;
|
||||
import com.intellij.util.ui.UpdateScaleHelper;
|
||||
import com.intellij.util.ui.tree.TreeUtil;
|
||||
import com.intellij.vcs.commit.CommitSessionCollector;
|
||||
import com.intellij.vcsUtil.VcsUtil;
|
||||
import org.intellij.lang.annotations.JdkConstants;
|
||||
import org.intellij.lang.annotations.Language;
|
||||
import org.jetbrains.annotations.*;
|
||||
@@ -211,9 +210,6 @@ public abstract class ChangesTree extends Tree implements UiCompatibleDataProvid
|
||||
|
||||
setSelectionPath(path);
|
||||
List<Object> selected = getIncludableUserObjects(selected(ChangesTree.this));
|
||||
if (MergeConflictManager.isForceIncludeResolvedConflicts()) {
|
||||
selected = ContainerUtil.filter(selected, item -> !MergeConflictManager.getInstance(myProject).isResolvedConflict(item));
|
||||
}
|
||||
boolean exclude = toggleChanges(selected);
|
||||
logInclusionToggleEvents(exclude, event);
|
||||
return true;
|
||||
@@ -848,7 +844,7 @@ public abstract class ChangesTree extends Tree implements UiCompatibleDataProvid
|
||||
private void installCommitSessionEventsListeners() {
|
||||
addSelectionListener(() -> {
|
||||
if (myEventProcessingInProgress instanceof MouseEvent && shouldLogCommitSessionEvents()) {
|
||||
CommitSessionCollector.getInstance(myProject).logFileSelected((MouseEvent)myEventProcessingInProgress);
|
||||
ChangesTreeCompatibilityProvider.getInstance().logFileSelected(myProject, (MouseEvent)myEventProcessingInProgress);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -856,14 +852,14 @@ public abstract class ChangesTree extends Tree implements UiCompatibleDataProvid
|
||||
@ApiStatus.Internal
|
||||
public void logInclusionToggleEvents(boolean exclude, @NonNls MouseEvent event) {
|
||||
if (shouldLogCommitSessionEvents()) {
|
||||
CommitSessionCollector.getInstance(myProject).logInclusionToggle(exclude, event);
|
||||
ChangesTreeCompatibilityProvider.getInstance().logInclusionToggle(myProject, exclude, event);
|
||||
}
|
||||
}
|
||||
|
||||
@ApiStatus.Internal
|
||||
public void logInclusionToggleEvents(boolean exclude, @NotNull AnActionEvent event) {
|
||||
if (shouldLogCommitSessionEvents()) {
|
||||
CommitSessionCollector.getInstance(myProject).logInclusionToggle(exclude, event);
|
||||
ChangesTreeCompatibilityProvider.getInstance().logInclusionToggle(myProject, exclude, event);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui
|
||||
|
||||
import com.intellij.openapi.actionSystem.ActionManager
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui
|
||||
|
||||
import com.intellij.ui.DoubleClickListener
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
import com.intellij.openapi.vcs.changes.Change;
|
||||
+3
-3
@@ -1,9 +1,9 @@
|
||||
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui
|
||||
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.vcs.FileStatus
|
||||
import com.intellij.openapi.vcs.changes.ChangeListManager
|
||||
import com.intellij.openapi.vcs.changes.ChangesTreeCompatibilityProvider
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
import javax.swing.tree.DefaultTreeModel
|
||||
|
||||
@@ -38,7 +38,7 @@ class DefaultChangesGroupingPolicy(val project: Project, model: DefaultTreeModel
|
||||
private fun isMergeConflict(nodePath: StaticFilePath, node: ChangesBrowserNode<*>): Boolean {
|
||||
if (node is ChangesGroupingPolicy.CompatibilityPlaceholderChangesBrowserNode) {
|
||||
val vFile = nodePath.resolve() ?: return false
|
||||
val status = ChangeListManager.getInstance(project).getStatus(vFile)
|
||||
val status = ChangesTreeCompatibilityProvider.getInstance().getFileStatus(project, vFile)
|
||||
return isMergeConflict(status)
|
||||
}
|
||||
|
||||
+2
-3
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui
|
||||
|
||||
import com.intellij.openapi.vcs.changes.InclusionListener
|
||||
@@ -7,7 +7,6 @@ import com.intellij.util.EventDispatcher
|
||||
import com.intellij.util.containers.CollectionFactory
|
||||
import com.intellij.util.containers.HashingStrategy
|
||||
import com.intellij.util.ui.ThreeStateCheckBox
|
||||
import com.intellij.vcsUtil.VcsUtil
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
import java.util.*
|
||||
import java.util.concurrent.locks.ReentrantReadWriteLock
|
||||
@@ -75,7 +74,7 @@ class DefaultInclusionModel(
|
||||
|
||||
override fun removeInclusion(items: Collection<Any>) {
|
||||
val wasChanged = lock.write {
|
||||
VcsUtil.removeAllFromSet(inclusion, items)
|
||||
items.fold(false) { acc, element -> acc || inclusion.remove(element) }
|
||||
}
|
||||
if (wasChanged) fireInclusionChanged()
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
import com.intellij.icons.AllIcons;
|
||||
+8
-6
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui
|
||||
|
||||
import com.intellij.openapi.util.NotNullLazyKey
|
||||
@@ -6,9 +6,11 @@ import org.jetbrains.annotations.ApiStatus
|
||||
import javax.swing.tree.DefaultTreeModel
|
||||
|
||||
abstract class SimpleChangesGroupingPolicy<T : Any>(val model: DefaultTreeModel) : BaseChangesGroupingPolicy() {
|
||||
final override fun getParentNodeFor(nodePath: StaticFilePath,
|
||||
node: ChangesBrowserNode<*>,
|
||||
subtreeRoot: ChangesBrowserNode<*>): ChangesBrowserNode<*>? {
|
||||
final override fun getParentNodeFor(
|
||||
nodePath: StaticFilePath,
|
||||
node: ChangesBrowserNode<*>,
|
||||
subtreeRoot: ChangesBrowserNode<*>,
|
||||
): ChangesBrowserNode<*>? {
|
||||
val nextPolicyGroup = nextPolicy?.getParentNodeFor(nodePath, node, subtreeRoot)
|
||||
val grandParent = nextPolicyGroup ?: subtreeRoot
|
||||
val cachingRoot = getCachingRoot(grandParent, subtreeRoot)
|
||||
@@ -25,8 +27,8 @@ abstract class SimpleChangesGroupingPolicy<T : Any>(val model: DefaultTreeModel)
|
||||
GROUP_NODE_CACHE.getValue(cachingRoot)[groupNodeValue] = groupNode
|
||||
|
||||
if (groupNode is ChangesBrowserNode.NodeWithFilePath) {
|
||||
val staticFilePath = TreeModelBuilder.staticFrom(groupNode.nodeFilePath)
|
||||
TreeModelBuilder.DIRECTORY_CACHE.getValue(groupNode)[staticFilePath.key] = groupNode
|
||||
val staticFilePath = StaticFilePath(groupNode.nodeFilePath)
|
||||
TreeModelBuilderKeys.DIRECTORY_CACHE.getValue(groupNode)[staticFilePath.key] = groupNode
|
||||
}
|
||||
|
||||
return groupNode
|
||||
+3
-3
@@ -1,9 +1,9 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
import com.intellij.openapi.vcs.FilePath;
|
||||
import com.intellij.openapi.vcs.changes.ChangesTreeCompatibilityProvider;
|
||||
import com.intellij.openapi.vcs.changes.FilePathsHelper;
|
||||
import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -53,6 +53,6 @@ public class StaticFilePath {
|
||||
}
|
||||
|
||||
public @Nullable VirtualFile resolve() {
|
||||
return LocalFileSystem.getInstance().findFileByPath(getPath());
|
||||
return ChangesTreeCompatibilityProvider.getInstance().resolveLocalFile(getPath());
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
import com.intellij.ui.SimpleTextAttributes;
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui
|
||||
|
||||
import com.intellij.openapi.util.Key
|
||||
import com.intellij.openapi.util.NotNullLazyKey
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
|
||||
@ApiStatus.Internal
|
||||
object TreeModelBuilderKeys {
|
||||
/**
|
||||
* Node grouping forms hierarchical structure.
|
||||
* For example, one module may have multiple content roots - and these roots may belong to different git repositories.
|
||||
* In this case, root caching should be performed at the particular repository node instead of a subtreeRoot
|
||||
* (this way each repository node will get its own module group node inside).
|
||||
*
|
||||
*
|
||||
* Prefer using [BaseChangesGroupingPolicy] methods or implementing [SimpleChangesGroupingPolicy] instead of using it directly.
|
||||
*/
|
||||
@JvmField
|
||||
val IS_CACHING_ROOT: Key<Boolean> = Key.create("ChangesTree.IsCachingRoot")
|
||||
|
||||
@JvmField
|
||||
val DIRECTORY_CACHE: NotNullLazyKey<MutableMap<String, ChangesBrowserNode<*>>, ChangesBrowserNode<*>> = NotNullLazyKey.createLazyKey("ChangesTree.DirectoryCache") { mutableMapOf() }
|
||||
}
|
||||
+22
-16
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
import com.intellij.ide.FileSelectInContext;
|
||||
@@ -8,15 +8,16 @@ import com.intellij.openapi.actionSystem.CommonDataKeys;
|
||||
import com.intellij.openapi.actionSystem.DataSink;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.vcs.FilePath;
|
||||
import com.intellij.openapi.vcs.VcsDataKeys;
|
||||
import com.intellij.openapi.vcs.changes.Change;
|
||||
import com.intellij.openapi.vcs.changes.ChangesUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.platform.vcs.VcsUtil;
|
||||
import com.intellij.platform.vcs.changes.ChangesDataKeys;
|
||||
import com.intellij.platform.vcs.changes.ChangesUtil;
|
||||
import com.intellij.util.ObjectUtils;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.containers.JBIterable;
|
||||
import com.intellij.util.containers.JBTreeTraverser;
|
||||
import com.intellij.vcsUtil.VcsUtil;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -290,15 +291,15 @@ public abstract class VcsTreeModelData {
|
||||
sink.set(CommonDataKeys.PROJECT, project);
|
||||
|
||||
Change[] changes = mapToChange(selected(tree)).toArray(Change.EMPTY_CHANGE_ARRAY);
|
||||
sink.set(VcsDataKeys.CHANGES,
|
||||
sink.set(ChangesDataKeys.CHANGES,
|
||||
changes.length != 0 ? changes : mapToChange(all(tree)).toArray(Change.EMPTY_CHANGE_ARRAY));
|
||||
sink.set(VcsDataKeys.SELECTED_CHANGES, changes);
|
||||
sink.set(VcsDataKeys.SELECTED_CHANGES_IN_DETAILS, changes);
|
||||
sink.set(VcsDataKeys.CHANGES_SELECTION,
|
||||
sink.set(ChangesDataKeys.SELECTED_CHANGES, changes);
|
||||
sink.set(ChangesDataKeys.SELECTED_CHANGES_IN_DETAILS, changes);
|
||||
sink.set(ChangesDataKeys.CHANGES_SELECTION,
|
||||
getListSelectionOrAll(tree).map(entry -> ObjectUtils.tryCast(entry, Change.class)));
|
||||
sink.set(VcsDataKeys.CHANGE_LEAD_SELECTION,
|
||||
sink.set(ChangesDataKeys.CHANGE_LEAD_SELECTION,
|
||||
mapToChange(exactlySelected(tree)).toArray(Change.EMPTY_CHANGE_ARRAY));
|
||||
sink.set(VcsDataKeys.FILE_PATHS, mapToFilePath(selected(tree)));
|
||||
sink.set(ChangesDataKeys.FILE_PATHS, mapToFilePath(selected(tree)));
|
||||
|
||||
VcsTreeModelData treeSelection = selected(tree);
|
||||
VcsTreeModelData exactSelection = exactlySelected(tree);
|
||||
@@ -308,7 +309,7 @@ public abstract class VcsTreeModelData {
|
||||
if (file == null) return null;
|
||||
return new FileSelectInContext(project, file, null);
|
||||
});
|
||||
sink.lazy(VcsDataKeys.VIRTUAL_FILES, () -> {
|
||||
sink.lazy(ChangesDataKeys.VIRTUAL_FILES, () -> {
|
||||
return mapToVirtualFile(treeSelection);
|
||||
});
|
||||
sink.lazy(CommonDataKeys.VIRTUAL_FILE, () -> {
|
||||
@@ -329,7 +330,8 @@ public abstract class VcsTreeModelData {
|
||||
.filter(Change.class);
|
||||
}
|
||||
|
||||
static @NotNull JBIterable<VirtualFile> mapToNavigatableFile(@NotNull VcsTreeModelData data) {
|
||||
@ApiStatus.Internal
|
||||
public static @NotNull JBIterable<VirtualFile> mapToNavigatableFile(@NotNull VcsTreeModelData data) {
|
||||
return data.iterateUserObjects()
|
||||
.flatMap(entry -> {
|
||||
if (entry instanceof Change) {
|
||||
@@ -348,7 +350,8 @@ public abstract class VcsTreeModelData {
|
||||
.filter(VirtualFile::isValid);
|
||||
}
|
||||
|
||||
static @Nullable VirtualFile findSelectedVirtualFile(@NotNull JTree tree) {
|
||||
@ApiStatus.Internal
|
||||
public static @Nullable VirtualFile findSelectedVirtualFile(@NotNull JTree tree) {
|
||||
TreePath leadSelectionPath = tree.getLeadSelectionPath();
|
||||
if (leadSelectionPath == null) return null;
|
||||
return treePathToVirtualFile(leadSelectionPath);
|
||||
@@ -360,11 +363,13 @@ public abstract class VcsTreeModelData {
|
||||
return virtualFile;
|
||||
}
|
||||
|
||||
static @NotNull JBIterable<VirtualFile> mapToVirtualFile(@NotNull VcsTreeModelData data) {
|
||||
@ApiStatus.Internal
|
||||
public static @NotNull JBIterable<VirtualFile> mapToVirtualFile(@NotNull VcsTreeModelData data) {
|
||||
return mapObjectToVirtualFile(data.iterateUserObjects());
|
||||
}
|
||||
|
||||
static @NotNull JBIterable<VirtualFile> mapObjectToVirtualFile(@NotNull JBIterable<Object> userObjects) {
|
||||
@ApiStatus.Internal
|
||||
public static @NotNull JBIterable<VirtualFile> mapObjectToVirtualFile(@NotNull JBIterable<Object> userObjects) {
|
||||
return userObjects
|
||||
.map(VcsTreeModelData::objectToVirtualFile)
|
||||
.filterNotNull()
|
||||
@@ -385,7 +390,8 @@ public abstract class VcsTreeModelData {
|
||||
return null;
|
||||
}
|
||||
|
||||
static @NotNull JBIterable<FilePath> mapToFilePath(@NotNull VcsTreeModelData data) {
|
||||
@ApiStatus.Internal
|
||||
public static @NotNull JBIterable<FilePath> mapToFilePath(@NotNull VcsTreeModelData data) {
|
||||
return data.iterateUserObjects()
|
||||
.map(VcsTreeModelData::mapUserObjectToFilePath)
|
||||
.filterNotNull();
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
+126
@@ -0,0 +1,126 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.vcs.changes.ui
|
||||
|
||||
import com.intellij.ide.DataManager
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.ui.popup.JBPopupFactory
|
||||
import com.intellij.openapi.util.NlsSafe
|
||||
import com.intellij.openapi.vcs.AbstractVcsHelper
|
||||
import com.intellij.openapi.vcs.FilePath
|
||||
import com.intellij.openapi.vcs.FileStatus
|
||||
import com.intellij.openapi.vcs.changes.*
|
||||
import com.intellij.openapi.vcs.changes.ignore.actions.IgnoreFileActionGroup
|
||||
import com.intellij.openapi.vfs.LocalFileSystem
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.openapi.vfs.newvfs.VfsPresentationUtil
|
||||
import com.intellij.platform.vcs.changes.ChangesUtil.getFilePath
|
||||
import com.intellij.ui.awt.RelativePoint
|
||||
import com.intellij.ui.treeStructure.Tree
|
||||
import com.intellij.util.PlatformIcons
|
||||
import com.intellij.vcs.commit.CommitSessionCollector
|
||||
import com.intellij.vcsUtil.VcsImplUtil
|
||||
import com.intellij.vcsUtil.VcsUtil
|
||||
import com.intellij.vcsUtil.VcsUtil.getVcsFor
|
||||
import java.awt.Color
|
||||
import java.awt.event.MouseEvent
|
||||
import javax.swing.Icon
|
||||
import javax.swing.tree.TreePath
|
||||
|
||||
internal class BackendChangesTreeCompatibilityProvider : ChangesTreeCompatibilityProvider {
|
||||
override fun getBackgroundColorFor(project: Project, obj: Any?): Color? {
|
||||
val file = when (obj) {
|
||||
is FilePath -> getScopeVirtualFileFor(obj)
|
||||
is Change -> getScopeVirtualFileFor(getFilePath(obj))
|
||||
else -> obj as? VirtualFile?
|
||||
}
|
||||
|
||||
return if (file != null) VfsPresentationUtil.getFileBackgroundColor(project, file) else null
|
||||
}
|
||||
|
||||
override fun getPresentablePath(project: Project?, path: VirtualFile, useRelativeRootPaths: Boolean, acceptEmptyPath: Boolean): @NlsSafe String =
|
||||
VcsUtil.getPresentablePath(project, path, true, true)
|
||||
|
||||
override fun getIcon(project: Project?, filePath: FilePath, isDirectory: Boolean): Icon? {
|
||||
val icon = FilePathIconProvider.EP_NAME.computeSafeIfAny({ provider -> provider.getIcon(filePath, isDirectory, project) })
|
||||
if (icon != null) {
|
||||
return icon
|
||||
}
|
||||
|
||||
if (isDirectory) {
|
||||
return PlatformIcons.FOLDER_ICON
|
||||
}
|
||||
|
||||
return VcsUtil.getIcon(project, filePath)
|
||||
}
|
||||
|
||||
override fun getFileStatus(project: Project, file: VirtualFile): FileStatus =
|
||||
ChangeListManager.getInstance(project).getStatus(file)
|
||||
|
||||
override fun getPresentablePath(project: Project?, path: FilePath, useRelativeRootPaths: Boolean, acceptEmptyPath: Boolean): @NlsSafe String =
|
||||
VcsUtil.getPresentablePath(project, path, true, true)
|
||||
|
||||
override fun getLockedFilesCleanupWorker(project: Project, lockedFoldersNode: ChangesBrowserLockedFoldersNode): Runnable =
|
||||
Runnable {
|
||||
ChangesUtil.processVirtualFilesByVcs(project, lockedFoldersNode.iterateFilesUnder().toList(), { vcs, files ->
|
||||
vcs.changeProvider?.doCleanup(files)
|
||||
})
|
||||
}
|
||||
|
||||
override fun logInclusionToggle(project: Project, exclude: Boolean, event: MouseEvent) {
|
||||
CommitSessionCollector.getInstance(project).logInclusionToggle(exclude, event)
|
||||
}
|
||||
|
||||
override fun logInclusionToggle(project: Project, exclude: Boolean, event: AnActionEvent) {
|
||||
CommitSessionCollector.getInstance(project).logInclusionToggle(exclude, event)
|
||||
}
|
||||
|
||||
override fun logFileSelected(project: Project, event: MouseEvent) {
|
||||
CommitSessionCollector.getInstance(project).logFileSelected(event)
|
||||
}
|
||||
|
||||
override fun getSwitchedBranch(project: Project, file: VirtualFile): @NlsSafe String? =
|
||||
ChangeListManager.getInstance(project).getSwitchedBranch(file)
|
||||
|
||||
override fun showResolveConflictsDialog(project: Project, changes: List<Change>) {
|
||||
AbstractVcsHelper.getInstance(project).showMergeDialog(ChangesUtil.iterateFiles(changes).toList())
|
||||
}
|
||||
|
||||
override fun showIgnoredViewDialog(project: Project) {
|
||||
if (!project.isDisposed) IgnoredViewDialog(project).show()
|
||||
}
|
||||
|
||||
override fun isIgnoredInUpdateMode(project: Project): Boolean {
|
||||
return ChangeListManagerImpl.getInstanceImpl(project).isIgnoredInUpdateMode
|
||||
}
|
||||
|
||||
override fun showUnversionedViewDialog(project: Project) {
|
||||
if (!project.isDisposed) UnversionedViewDialog(project).show()
|
||||
}
|
||||
|
||||
override fun isUnversionedInUpdateMode(project: Project): Boolean {
|
||||
return ChangeListManagerImpl.getInstanceImpl(project).isUnversionedInUpdateMode
|
||||
}
|
||||
|
||||
override fun resolveLocalFile(path: String): VirtualFile? = LocalFileSystem.getInstance().findFileByPath(path)
|
||||
|
||||
private fun getScopeVirtualFileFor(filePath: FilePath): VirtualFile? {
|
||||
if (filePath.isNonLocal()) return null
|
||||
return VcsImplUtil.findValidParentAccurately(filePath)
|
||||
}
|
||||
|
||||
override fun acceptIgnoredFilesDrop(project: Project, dragOwner: ChangeListOwner, dragBean: ChangeListDragBean) {
|
||||
val tree = dragBean.sourceComponent as? Tree ?: return
|
||||
val vcs = dragBean.unversionedFiles.firstNotNullOfOrNull { file -> getVcsFor(project, file) } ?: return
|
||||
|
||||
val ignoreFileType = VcsIgnoreManagerImpl.getInstanceImpl(project).findIgnoreFileType(vcs) ?: return
|
||||
val ignoreGroup = IgnoreFileActionGroup(ignoreFileType)
|
||||
|
||||
val popup = JBPopupFactory.getInstance().createActionGroupPopup(
|
||||
null, ignoreGroup, DataManager.getInstance().getDataContext(dragBean.sourceComponent),
|
||||
JBPopupFactory.ActionSelectionAid.SPEEDSEARCH, false)
|
||||
tree.getPathBounds(TreePath(dragBean.targetNode.path))?.let { dropBounds ->
|
||||
popup.show(RelativePoint(dragBean.sourceComponent, dropBounds.location))
|
||||
}
|
||||
}
|
||||
}
|
||||
-76
@@ -1,76 +0,0 @@
|
||||
/*
|
||||
* Copyright 2000-2009 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.intellij.openapi.vcs.changes.ui
|
||||
|
||||
import com.intellij.ide.DataManager
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.ui.popup.JBPopupFactory
|
||||
import com.intellij.openapi.vcs.AbstractVcs
|
||||
import com.intellij.openapi.vcs.FilePath
|
||||
import com.intellij.openapi.vcs.changes.ChangeListManagerImpl
|
||||
import com.intellij.openapi.vcs.changes.ChangeListOwner
|
||||
import com.intellij.openapi.vcs.changes.IgnoredViewDialog
|
||||
import com.intellij.openapi.vcs.changes.VcsIgnoreManagerImpl
|
||||
import com.intellij.openapi.vcs.changes.ignore.actions.IgnoreFileActionGroup
|
||||
import com.intellij.ui.awt.RelativePoint
|
||||
import com.intellij.ui.treeStructure.Tree
|
||||
import com.intellij.vcsUtil.VcsUtil
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
import org.jetbrains.annotations.Nls
|
||||
import javax.swing.tree.TreePath
|
||||
|
||||
|
||||
@ApiStatus.Internal
|
||||
class ChangesBrowserIgnoredFilesNode(private val project: Project,
|
||||
files: List<FilePath>)
|
||||
: ChangesBrowserSpecificFilePathsNode<ChangesBrowserNode.Tag>(ChangesBrowserNode.IGNORED_FILES_TAG, files,
|
||||
{ if (!project.isDisposed) IgnoredViewDialog(project).show() }) {
|
||||
|
||||
override fun render(renderer: ChangesBrowserNodeRenderer, selected: Boolean, expanded: Boolean, hasFocus: Boolean) {
|
||||
super.render(renderer, selected, expanded, hasFocus)
|
||||
if (!project.isDisposed && ChangeListManagerImpl.getInstanceImpl(project).isIgnoredInUpdateMode) {
|
||||
appendUpdatingState(renderer)
|
||||
}
|
||||
}
|
||||
|
||||
@ApiStatus.Internal
|
||||
override fun canAcceptDrop(dragBean: ChangeListDragBean) = dragBean.unversionedFiles.isNotEmpty()
|
||||
|
||||
@ApiStatus.Internal
|
||||
override fun acceptDrop(dragOwner: ChangeListOwner, dragBean: ChangeListDragBean) {
|
||||
val tree = dragBean.sourceComponent as? Tree ?: return
|
||||
|
||||
val vcs = dragBean.unversionedFiles.getVcs() ?: return
|
||||
|
||||
val ignoreFileType = VcsIgnoreManagerImpl.getInstanceImpl(project).findIgnoreFileType(vcs) ?: return
|
||||
val ignoreGroup = IgnoreFileActionGroup(ignoreFileType)
|
||||
|
||||
val popup = JBPopupFactory.getInstance().createActionGroupPopup(
|
||||
null, ignoreGroup, DataManager.getInstance().getDataContext(dragBean.sourceComponent),
|
||||
JBPopupFactory.ActionSelectionAid.SPEEDSEARCH, false)
|
||||
tree.getPathBounds(TreePath(dragBean.targetNode.path))?.let { dropBounds ->
|
||||
popup.show(RelativePoint(dragBean.sourceComponent, dropBounds.location))
|
||||
}
|
||||
}
|
||||
|
||||
@Nls
|
||||
override fun getTextPresentation(): String = getUserObject().toString() //NON-NLS
|
||||
|
||||
override fun getSortWeight(): Int = ChangesBrowserNode.IGNORED_SORT_WEIGHT
|
||||
|
||||
private fun List<FilePath>.getVcs(): AbstractVcs? = firstNotNullOfOrNull { file -> VcsUtil.getVcsFor(project, file) }
|
||||
}
|
||||
-40
@@ -1,40 +0,0 @@
|
||||
/*
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.openapi.vcs.changes.ui
|
||||
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.vcs.FilePath
|
||||
import com.intellij.openapi.vcs.changes.ChangeListManagerImpl
|
||||
import com.intellij.openapi.vcs.changes.UnversionedViewDialog
|
||||
import org.jetbrains.annotations.Nls
|
||||
|
||||
class ChangesBrowserUnversionedFilesNode(private val project: Project,
|
||||
files: List<FilePath>)
|
||||
: ChangesBrowserSpecificFilePathsNode<ChangesBrowserNode.Tag>(UNVERSIONED_FILES_TAG, files,
|
||||
{ if (!project.isDisposed) UnversionedViewDialog(project).show() }) {
|
||||
|
||||
override fun render(renderer: ChangesBrowserNodeRenderer, selected: Boolean, expanded: Boolean, hasFocus: Boolean) {
|
||||
super.render(renderer, selected, expanded, hasFocus)
|
||||
if (!project.isDisposed && ChangeListManagerImpl.getInstanceImpl(project).isUnversionedInUpdateMode) {
|
||||
appendUpdatingState(renderer)
|
||||
}
|
||||
}
|
||||
|
||||
@Nls
|
||||
override fun getTextPresentation(): String = getUserObject().toString() //NON-NLS
|
||||
|
||||
override fun getSortWeight(): Int = UNVERSIONED_SORT_WEIGHT
|
||||
}
|
||||
@@ -32,6 +32,7 @@ import java.util.*;
|
||||
import java.util.function.Function;
|
||||
|
||||
import static com.intellij.openapi.vcs.changes.ui.ChangesBrowserNode.createLockedFolders;
|
||||
import static com.intellij.openapi.vcs.changes.ui.TreeModelBuilderKeys.IS_CACHING_ROOT;
|
||||
import static com.intellij.util.ObjectUtils.notNull;
|
||||
import static com.intellij.util.containers.ContainerUtil.sorted;
|
||||
import static java.util.Comparator.comparing;
|
||||
@@ -40,21 +41,9 @@ import static java.util.Comparator.comparingInt;
|
||||
@SuppressWarnings("UnusedReturnValue")
|
||||
public class TreeModelBuilder implements ChangesViewModelBuilder {
|
||||
public static final Key<Function<StaticFilePath, ChangesBrowserNode<?>>> PATH_NODE_BUILDER = Key.create("ChangesTree.PathNodeBuilder");
|
||||
public static final NotNullLazyKey<Map<String, ChangesBrowserNode<?>>, ChangesBrowserNode<?>> DIRECTORY_CACHE =
|
||||
NotNullLazyKey.createLazyKey("ChangesTree.DirectoryCache", node -> new HashMap<>());
|
||||
public static final NotNullLazyKey<Map<String, ChangesBrowserNode<?>>, ChangesBrowserNode<?>> DIRECTORY_CACHE = TreeModelBuilderKeys.DIRECTORY_CACHE;
|
||||
private static final Key<ChangesGroupingPolicy> GROUPING_POLICY = Key.create("ChangesTree.GroupingPolicy");
|
||||
|
||||
/**
|
||||
* Node grouping forms hierarchical structure.
|
||||
* For example, one module may have multiple content roots - and these roots may belong to different git repositories.
|
||||
* In this case, root caching should be performed at the particular repository node instead of a subtreeRoot
|
||||
* (this way each repository node will get its own module group node inside).
|
||||
* <p>
|
||||
* Prefer using {@link BaseChangesGroupingPolicy} methods or implementing {@link SimpleChangesGroupingPolicy} instead of using it directly.
|
||||
*/
|
||||
@ApiStatus.Internal
|
||||
public static final Key<Boolean> IS_CACHING_ROOT = Key.create("ChangesTree.IsCachingRoot");
|
||||
|
||||
/**
|
||||
* The helper UserData keys that will be cleaned at the end of the tree building to reduce memory footprint.
|
||||
*/
|
||||
|
||||
@@ -231,7 +231,8 @@ open class MultipleFileMergeDialog(
|
||||
|
||||
private fun <State> updateTree(treeStateStrategy: TreeTableStateStrategy<State>) {
|
||||
val factory = when {
|
||||
project != null && groupByDirectory -> ChangesGroupingSupport.getFactory(ChangesGroupingSupport.DIRECTORY_GROUPING)
|
||||
project != null && groupByDirectory -> ChangesGroupingSupport.findFactory(ChangesGroupingSupport.DIRECTORY_GROUPING)
|
||||
?: NoneChangesGroupingFactory
|
||||
else -> NoneChangesGroupingFactory
|
||||
}
|
||||
val model = TreeModelBuilder.buildFromVirtualFiles(project, factory, unresolvedFiles)
|
||||
|
||||
@@ -33,6 +33,7 @@ jvm_library(
|
||||
"//plugins/git4idea/shared",
|
||||
"//platform/lang-impl",
|
||||
"//platform/dvcs-impl/shared",
|
||||
"//platform/vcs-impl/shared",
|
||||
],
|
||||
runtime_deps = [":vcs-git-featuresTrainer_resources"]
|
||||
)
|
||||
@@ -70,6 +71,7 @@ jvm_library(
|
||||
"//platform/testFramework",
|
||||
"//platform/testFramework:testFramework_test_lib",
|
||||
"//platform/dvcs-impl/shared",
|
||||
"//platform/vcs-impl/shared",
|
||||
],
|
||||
runtime_deps = [":vcs-git-featuresTrainer_resources"]
|
||||
)
|
||||
|
||||
@@ -31,5 +31,6 @@
|
||||
<orderEntry type="module" module-name="intellij.platform.lang.impl" />
|
||||
<orderEntry type="module" module-name="intellij.platform.testFramework" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.platform.vcs.dvcs.impl.shared" />
|
||||
<orderEntry type="module" module-name="intellij.platform.vcs.impl.shared" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -77,6 +77,7 @@ jvm_library(
|
||||
"@lib//:gson",
|
||||
"//platform/dvcs-impl/shared",
|
||||
"//platform/ide-core-impl",
|
||||
"//platform/vcs-impl/shared",
|
||||
],
|
||||
runtime_deps = [
|
||||
":vcs-github_resources",
|
||||
@@ -163,6 +164,7 @@ jvm_library(
|
||||
"@lib//:vcs-github-apollographql-apollo-ast-jvm",
|
||||
"//platform/dvcs-impl/shared",
|
||||
"//platform/ide-core-impl",
|
||||
"//platform/vcs-impl/shared",
|
||||
],
|
||||
runtime_deps = [
|
||||
":vcs-github_resources",
|
||||
|
||||
@@ -135,5 +135,6 @@
|
||||
</orderEntry>
|
||||
<orderEntry type="module" module-name="intellij.platform.vcs.dvcs.impl.shared" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ide.core.impl" />
|
||||
<orderEntry type="module" module-name="intellij.platform.vcs.impl.shared" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -64,6 +64,7 @@ jvm_library(
|
||||
"//platform/util/coroutines",
|
||||
"//platform/dvcs-impl/shared",
|
||||
"//platform/ide-core-impl",
|
||||
"//platform/vcs-impl/shared",
|
||||
],
|
||||
runtime_deps = [
|
||||
":vcs-gitlab_resources",
|
||||
@@ -133,6 +134,7 @@ jvm_library(
|
||||
"@lib//:io-mockk-jvm",
|
||||
"//platform/dvcs-impl/shared",
|
||||
"//platform/ide-core-impl",
|
||||
"//platform/vcs-impl/shared",
|
||||
],
|
||||
runtime_deps = [
|
||||
":vcs-gitlab_resources",
|
||||
|
||||
@@ -81,5 +81,6 @@
|
||||
<orderEntry type="library" scope="TEST" name="io.mockk.jvm" level="project" />
|
||||
<orderEntry type="module" module-name="intellij.platform.vcs.dvcs.impl.shared" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ide.core.impl" />
|
||||
<orderEntry type="module" module-name="intellij.platform.vcs.impl.shared" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -59,6 +59,7 @@ jvm_library(
|
||||
"@lib//:maven-resolver-provider",
|
||||
"//platform/util",
|
||||
"//platform/workspace/storage",
|
||||
"//platform/vcs-impl/shared",
|
||||
],
|
||||
runtime_deps = [":project-configuration_resources"]
|
||||
)
|
||||
|
||||
@@ -54,5 +54,6 @@
|
||||
<orderEntry type="library" name="maven-resolver-provider" level="project" />
|
||||
<orderEntry type="module" module-name="intellij.platform.util" />
|
||||
<orderEntry type="module" module-name="intellij.platform.workspace.storage" />
|
||||
<orderEntry type="module" module-name="intellij.platform.vcs.impl.shared" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -43,6 +43,7 @@ jvm_library(
|
||||
"//platform/core-ui",
|
||||
"//platform/platform-util-io:ide-util-io",
|
||||
"//platform/external-process-auth-helper",
|
||||
"//platform/vcs-impl/shared",
|
||||
],
|
||||
runtime_deps = [
|
||||
":vcs-svn_resources",
|
||||
|
||||
@@ -41,5 +41,6 @@
|
||||
<orderEntry type="library" scope="RUNTIME" name="sqlite" level="project" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ide.util.io" />
|
||||
<orderEntry type="module" module-name="intellij.platform.externalProcessAuthHelper" />
|
||||
<orderEntry type="module" module-name="intellij.platform.vcs.impl.shared" />
|
||||
</component>
|
||||
</module>
|
||||
Reference in New Issue
Block a user