mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-15 02:59:33 +07:00
IJPL-187184: cleanup: move from companion to util
IJ-MR-165674 GitOrigin-RevId: 135936ea938c8d716e74764074ca6eb4c2d4d11c
This commit is contained in:
committed by
intellij-monorepo-bot
parent
a1bcdc0044
commit
2af6347624
@@ -231,20 +231,12 @@ com.intellij.diff.editor.DiffContentVirtualFile
|
||||
com.intellij.diff.editor.DiffEditorEscapeAction
|
||||
com.intellij.diff.editor.DiffEditorTabFilesManager
|
||||
- sf:Companion:com.intellij.diff.editor.DiffEditorTabFilesManager$Companion
|
||||
- sf:SHOW_DIFF_IN_EDITOR_SETTING:java.lang.String
|
||||
- s:getInstance(com.intellij.openapi.project.Project):com.intellij.diff.editor.DiffEditorTabFilesManager
|
||||
- s:isDiffInEditor():Z
|
||||
- s:isDiffInWindow():Z
|
||||
- a:isDiffOpenedInWindow(com.intellij.openapi.vfs.VirtualFile):Z
|
||||
- s:setDiffInEditor(Z):V
|
||||
- showDiffFile(com.intellij.openapi.vfs.VirtualFile,Z):com.intellij.openapi.fileEditor.FileEditor[]
|
||||
- a:showDiffFile(com.intellij.openapi.vfs.VirtualFile,Z,Z):com.intellij.openapi.fileEditor.FileEditor[]
|
||||
f:com.intellij.diff.editor.DiffEditorTabFilesManager$Companion
|
||||
- sf:SHOW_DIFF_IN_EDITOR_SETTING:java.lang.String
|
||||
- f:getInstance(com.intellij.openapi.project.Project):com.intellij.diff.editor.DiffEditorTabFilesManager
|
||||
- f:isDiffInEditor():Z
|
||||
- f:isDiffInWindow():Z
|
||||
- f:setDiffInEditor(Z):V
|
||||
c:com.intellij.diff.editor.DiffEditorViewerFileEditor
|
||||
- com.intellij.diff.util.FileEditorBase
|
||||
- com.intellij.openapi.fileEditor.FileEditorWithTextEditors
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.diff.actions
|
||||
|
||||
import com.intellij.diff.editor.DiffEditorTabFilesManager.Companion.isDiffInEditor
|
||||
import com.intellij.diff.editor.DiffEditorTabFilesUtil
|
||||
import com.intellij.diff.tools.external.ExternalDiffTool
|
||||
import com.intellij.idea.ActionsBundle.message
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent
|
||||
@@ -28,7 +28,7 @@ internal class ShowStandaloneDiffAction : ExtendableAction(EP_NAME), DumbAware {
|
||||
val project = e.project
|
||||
|
||||
with(e.presentation) {
|
||||
if (isDiffInEditor) {
|
||||
if (DiffEditorTabFilesUtil.isDiffInEditor) {
|
||||
text = message("action.Diff.ShowStandaloneDiff.tab.text")
|
||||
description = message("action.Diff.ShowStandaloneDiff.tab.description")
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ package com.intellij.diff.editor
|
||||
|
||||
import com.intellij.openapi.components.service
|
||||
import com.intellij.openapi.fileEditor.FileEditor
|
||||
import com.intellij.openapi.options.advanced.AdvancedSettings
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
|
||||
@@ -11,7 +10,7 @@ interface DiffEditorTabFilesManager {
|
||||
|
||||
fun showDiffFile(diffFile: VirtualFile, focusEditor: Boolean): Array<out FileEditor> {
|
||||
DiffEditorTabFilesUtil.setForceOpeningsInNewWindow(diffFile, null)
|
||||
return showDiffFile(diffFile, focusEditor, isDiffInEditor)
|
||||
return showDiffFile(diffFile, focusEditor, DiffEditorTabFilesUtil.isDiffInEditor)
|
||||
}
|
||||
|
||||
fun showDiffFile(diffFile: VirtualFile, focusEditor: Boolean, openInEditor: Boolean): Array<out FileEditor>
|
||||
@@ -23,23 +22,6 @@ interface DiffEditorTabFilesManager {
|
||||
fun isDiffOpenedInWindow(file: VirtualFile): Boolean
|
||||
|
||||
companion object {
|
||||
const val SHOW_DIFF_IN_EDITOR_SETTING = "show.diff.as.editor.tab"
|
||||
|
||||
/**
|
||||
* If enabled - the [DiffViewerVirtualFile] will open like a normal editor in current split.
|
||||
* If disabled - it will use [com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.OpenMode.NEW_WINDOW].
|
||||
*/
|
||||
@JvmStatic
|
||||
var isDiffInEditor: Boolean
|
||||
get() = AdvancedSettings.getBoolean(SHOW_DIFF_IN_EDITOR_SETTING)
|
||||
set(value) {
|
||||
if (AdvancedSettings.getBoolean(SHOW_DIFF_IN_EDITOR_SETTING) != value) {
|
||||
AdvancedSettings.setBoolean(SHOW_DIFF_IN_EDITOR_SETTING, value)
|
||||
}
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
val isDiffInWindow: Boolean get() = !isDiffInEditor
|
||||
|
||||
@JvmStatic
|
||||
fun getInstance(project: Project): DiffEditorTabFilesManager = project.service()
|
||||
|
||||
@@ -66,7 +66,7 @@ internal abstract class MoveDiffEditorAction(private val openInNewWindow: Boolea
|
||||
}
|
||||
|
||||
override fun actionPerformed(e: AnActionEvent) {
|
||||
DiffEditorTabFilesManager.isDiffInEditor = !openInNewWindow
|
||||
DiffEditorTabFilesUtil.isDiffInEditor = !openInNewWindow
|
||||
}
|
||||
|
||||
internal class ToEditor : MoveDiffEditorAction(false)
|
||||
@@ -75,7 +75,7 @@ internal abstract class MoveDiffEditorAction(private val openInNewWindow: Boolea
|
||||
|
||||
internal class EditorTabDiffPreviewAdvancedSettingsListener : AdvancedSettingsChangeListener {
|
||||
override fun advancedSettingChanged(id: String, oldValue: Any, newValue: Any) {
|
||||
if (id == DiffEditorTabFilesManager.SHOW_DIFF_IN_EDITOR_SETTING) {
|
||||
if (id == DiffEditorTabFilesUtil.SHOW_DIFF_IN_EDITOR_SETTING) {
|
||||
for (project in ProjectManager.getInstance().openProjects) {
|
||||
reopenDiffEditorsForFiles(project)
|
||||
}
|
||||
@@ -87,7 +87,7 @@ internal class EditorTabDiffPreviewAdvancedSettingsListener : AdvancedSettingsCh
|
||||
* Unlike [com.intellij.diff.editor.DiffEditorViewerFileEditor.reloadDiffEditorsForFiles], should not try to reopen tabs in-place.
|
||||
*/
|
||||
private fun reopenDiffEditorsForFiles(project: Project) {
|
||||
val isOpenInNewWindow = DiffEditorTabFilesManager.isDiffInWindow
|
||||
val isOpenInNewWindow = DiffEditorTabFilesUtil.isDiffInWindow
|
||||
|
||||
val editorManager = FileEditorManager.getInstance(project) as? FileEditorManagerImpl ?: return
|
||||
val diffEditorManager = DiffEditorTabFilesManager.getInstance(project)
|
||||
@@ -136,9 +136,9 @@ internal class DiffInWindowDndListener : FileOpenedSyncListener {
|
||||
} ?: return
|
||||
|
||||
val isFileInEditor = !isSingletonEditorInWindow(window)
|
||||
if (DiffEditorTabFilesManager.isDiffInEditor != isFileInEditor) {
|
||||
if (DiffEditorTabFilesUtil.isDiffInEditor != isFileInEditor) {
|
||||
invokeLater(ModalityState.nonModal()) {
|
||||
DiffEditorTabFilesManager.isDiffInEditor = isFileInEditor
|
||||
DiffEditorTabFilesUtil.isDiffInEditor = isFileInEditor
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// 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.diff.editor
|
||||
|
||||
import com.intellij.openapi.options.advanced.AdvancedSettings
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.util.Key
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
@@ -8,6 +9,24 @@ import org.jetbrains.annotations.ApiStatus
|
||||
|
||||
@ApiStatus.Internal
|
||||
object DiffEditorTabFilesUtil {
|
||||
@JvmStatic
|
||||
val isDiffInWindow: Boolean get() = !isDiffInEditor
|
||||
|
||||
const val SHOW_DIFF_IN_EDITOR_SETTING: String = "show.diff.as.editor.tab"
|
||||
|
||||
/**
|
||||
* If enabled - the [DiffViewerVirtualFile] will open like a normal editor in current split.
|
||||
* If disabled - it will use [com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.OpenMode.NEW_WINDOW].
|
||||
*/
|
||||
@JvmStatic
|
||||
var isDiffInEditor: Boolean
|
||||
get() = AdvancedSettings.getBoolean(SHOW_DIFF_IN_EDITOR_SETTING)
|
||||
set(value) {
|
||||
if (AdvancedSettings.getBoolean(SHOW_DIFF_IN_EDITOR_SETTING) != value) {
|
||||
AdvancedSettings.setBoolean(SHOW_DIFF_IN_EDITOR_SETTING, value)
|
||||
}
|
||||
}
|
||||
|
||||
private val FORCE_OPENING_IN_NEW_WINDOW: Key<Boolean> = Key.create("Diff.ForceOpeningInNewWindow")
|
||||
|
||||
internal fun setForceOpeningsInNewWindow(file: VirtualFile, value: Boolean?) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.diff.impl
|
||||
|
||||
import com.intellij.diff.editor.DiffEditorTabFilesManager.Companion.isDiffInEditor
|
||||
import com.intellij.diff.editor.DiffEditorTabFilesUtil
|
||||
import com.intellij.openapi.fileEditor.FileEditorState
|
||||
import com.intellij.openapi.fileEditor.FileEditorStateLevel
|
||||
import com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl
|
||||
@@ -12,7 +12,7 @@ internal data class DiffRequestProcessorEditorState(
|
||||
@JvmField val embeddedEditorStates: List<TextEditorState>
|
||||
) : FileEditorStateWithPreferredOpenMode {
|
||||
override val openMode: FileEditorManagerImpl.OpenMode?
|
||||
get() = if (!isDiffInEditor) FileEditorManagerImpl.OpenMode.NEW_WINDOW else null
|
||||
get() = if (!DiffEditorTabFilesUtil.isDiffInEditor) FileEditorManagerImpl.OpenMode.NEW_WINDOW else null
|
||||
|
||||
override fun canBeMergedWith(otherState: FileEditorState, level: FileEditorStateLevel): Boolean {
|
||||
return otherState is DiffRequestProcessorEditorState &&
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
package com.intellij.diff.tools.combined
|
||||
|
||||
import com.intellij.diff.*
|
||||
import com.intellij.diff.editor.DiffEditorTabFilesManager.Companion.isDiffInEditor
|
||||
import com.intellij.diff.editor.DiffEditorTabFilesUtil
|
||||
import com.intellij.diff.impl.DiffEditorViewer
|
||||
import com.intellij.diff.impl.DiffEditorViewerListener
|
||||
import com.intellij.diff.impl.DiffRequestProcessor
|
||||
@@ -261,7 +261,7 @@ internal data class CombinedDiffEditorState(
|
||||
val activeEditorStates: List<TextEditorState>,
|
||||
) : FileEditorStateWithPreferredOpenMode {
|
||||
override val openMode: FileEditorManagerImpl.OpenMode?
|
||||
get() = if (!isDiffInEditor) FileEditorManagerImpl.OpenMode.NEW_WINDOW else null
|
||||
get() = if (!DiffEditorTabFilesUtil.isDiffInEditor) FileEditorManagerImpl.OpenMode.NEW_WINDOW else null
|
||||
|
||||
override fun canBeMergedWith(otherState: FileEditorState, level: FileEditorStateLevel): Boolean {
|
||||
return otherState is CombinedDiffEditorState &&
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// 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.lvcs.impl.ui
|
||||
|
||||
import com.intellij.diff.editor.DiffEditorTabFilesManager
|
||||
import com.intellij.diff.editor.DiffEditorTabFilesUtil
|
||||
import com.intellij.diff.impl.DiffEditorViewer
|
||||
import com.intellij.diff.impl.DiffRequestProcessor
|
||||
import com.intellij.diff.impl.DiffRequestProcessorListener
|
||||
@@ -323,7 +323,7 @@ class ActivityView(private val project: Project, gateway: IdeaGateway, val activ
|
||||
}
|
||||
|
||||
val activityView = ActivityView(project, gateway, activityScope)
|
||||
if (Registry.`is`("lvcs.open.diff.automatically") && DiffEditorTabFilesManager.isDiffInEditor) {
|
||||
if (Registry.`is`("lvcs.open.diff.automatically") && DiffEditorTabFilesUtil.isDiffInEditor) {
|
||||
activityView.openDiffWhenLoaded()
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// 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.impl.frontend.diff
|
||||
|
||||
import com.intellij.diff.editor.DiffEditorTabFilesManager
|
||||
import com.intellij.diff.editor.DiffEditorTabFilesUtil
|
||||
import com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
@@ -10,7 +10,7 @@ import com.intellij.platform.recentFiles.frontend.RecentFilesNavigator
|
||||
internal class DiffRecentFilesNavigator : RecentFilesNavigator {
|
||||
override fun getEditorOpenOptions(project: Project, file: VirtualFile): FileEditorManagerImpl.OpenMode? {
|
||||
// TODO - "Open Diff as Editor Tab" advanced setting is duplicated on client and host
|
||||
return if (file.isDiffVirtualFile() && DiffEditorTabFilesManager.isDiffInWindow)
|
||||
return if (file.isDiffVirtualFile() && DiffEditorTabFilesUtil.isDiffInWindow)
|
||||
FileEditorManagerImpl.OpenMode.NEW_WINDOW
|
||||
else null
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ package com.intellij.openapi.vcs.changes
|
||||
import com.intellij.diff.DiffContext
|
||||
import com.intellij.diff.actions.impl.SetEditorSettingsAction
|
||||
import com.intellij.diff.actions.impl.SetEditorSettingsActionGroup
|
||||
import com.intellij.diff.editor.DiffEditorTabFilesManager
|
||||
import com.intellij.diff.editor.DiffEditorTabFilesUtil
|
||||
import com.intellij.diff.editor.DiffRequestProcessorEditorCustomizer
|
||||
import com.intellij.diff.util.DiffUserDataKeysEx
|
||||
import com.intellij.openapi.Disposable
|
||||
@@ -48,7 +48,7 @@ private class ShowDiffInEditorTabTooltipHolder(
|
||||
}
|
||||
|
||||
override fun advancedSettingChanged(id: String, oldValue: Any, newValue: Any) {
|
||||
if (id == DiffEditorTabFilesManager.SHOW_DIFF_IN_EDITOR_SETTING && !DiffEditorTabFilesManager.isDiffInEditor) {
|
||||
if (id == DiffEditorTabFilesUtil.SHOW_DIFF_IN_EDITOR_SETTING && !DiffEditorTabFilesUtil.isDiffInEditor) {
|
||||
showGotItTooltip()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package training.git.lesson
|
||||
|
||||
import com.intellij.diff.editor.DiffEditorTabFilesManager
|
||||
import com.intellij.diff.editor.DiffEditorTabFilesUtil
|
||||
import com.intellij.diff.impl.DiffWindowBase
|
||||
import com.intellij.diff.tools.util.DiffSplitter
|
||||
import com.intellij.ide.IdeBundle
|
||||
@@ -248,7 +248,7 @@ class GitAnnotateLesson : GitLesson("Git.Annotate", GitLessonsBundle.message("gi
|
||||
|
||||
task("EditorEscape") {
|
||||
text(GitLessonsBundle.message("git.annotate.close.all.windows",
|
||||
if (DiffEditorTabFilesManager.isDiffInWindow) 0 else 1, action(it)))
|
||||
if (DiffEditorTabFilesUtil.isDiffInWindow) 0 else 1, action(it)))
|
||||
stateCheck {
|
||||
firstDiffSplitter?.isShowing != true && secondDiffSplitter?.isShowing != true
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package training.git.lesson
|
||||
|
||||
import com.intellij.diff.editor.DiffEditorTabFilesManager
|
||||
import com.intellij.diff.editor.DiffEditorTabFilesUtil
|
||||
import com.intellij.diff.tools.util.SimpleDiffPanel
|
||||
import com.intellij.icons.AllIcons
|
||||
import com.intellij.openapi.project.Project
|
||||
@@ -204,7 +204,7 @@ internal class GitProjectHistoryLesson : GitLesson("Git.ProjectHistory", GitLess
|
||||
}
|
||||
}
|
||||
|
||||
if (DiffEditorTabFilesManager.isDiffInWindow) {
|
||||
if (DiffEditorTabFilesUtil.isDiffInWindow) {
|
||||
task("EditorEscape") {
|
||||
text(GitLessonsBundle.message("git.project.history.close.diff", action(it)))
|
||||
stateCheck { previous.ui?.isShowing != true }
|
||||
|
||||
Reference in New Issue
Block a user