mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-05 01:50:56 +07:00
vcs: decouple toolwindow UI from ChangesViewCommitWorkflowHandler
GitOrigin-RevId: 31b2d8cabaca87a1bccc7c36eb323b8a72612d45
This commit is contained in:
committed by
intellij-monorepo-bot
parent
84a4df2dee
commit
21b85d02a8
@@ -121,7 +121,7 @@ abstract class AbstractCommonCheckinAction : AbstractVcsAction() {
|
||||
}
|
||||
|
||||
val executor = getExecutor(project)
|
||||
val workflowHandler = ChangesViewManager.getInstanceEx(project).commitWorkflowHandler
|
||||
val workflowHandler = ChangesViewWorkflowManager.getInstance(project).commitWorkflowHandler
|
||||
if (executor == null && workflowHandler != null) {
|
||||
workflowHandler.run {
|
||||
setCommitState(initialChangeList, included, isForceUpdateCommitStateFromContext())
|
||||
|
||||
@@ -10,7 +10,7 @@ import com.intellij.openapi.actionSystem.ex.ActionUtil
|
||||
import com.intellij.openapi.project.DumbAwareToggleAction
|
||||
import com.intellij.openapi.vcs.FilePath
|
||||
import com.intellij.openapi.vcs.ProjectLevelVcsManager
|
||||
import com.intellij.openapi.vcs.changes.ChangesViewManager
|
||||
import com.intellij.openapi.vcs.changes.ChangesViewWorkflowManager
|
||||
import com.intellij.openapi.vcs.changes.ui.ChangesViewContentManager
|
||||
import com.intellij.openapi.vcs.changes.ui.ChangesViewContentManager.Companion.LOCAL_CHANGES
|
||||
import com.intellij.vcs.commit.ChangesViewCommitWorkflowHandler
|
||||
@@ -83,7 +83,7 @@ class ToggleChangesViewCommitUiAction : DumbAwareToggleAction() {
|
||||
}
|
||||
|
||||
private fun AnActionEvent.getProjectCommitWorkflowHandler(): ChangesViewCommitWorkflowHandler? =
|
||||
project?.let { ChangesViewManager.getInstanceEx(it).commitWorkflowHandler }
|
||||
project?.let { ChangesViewWorkflowManager.getInstance(it).commitWorkflowHandler }
|
||||
}
|
||||
|
||||
open class CommonCheckinProjectActionImpl : AbstractCommonCheckinAction() {
|
||||
|
||||
@@ -1,16 +1,8 @@
|
||||
// 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.
|
||||
package com.intellij.openapi.vcs.changes;
|
||||
|
||||
import com.intellij.vcs.commit.ChangesViewCommitWorkflowHandler;
|
||||
import org.jetbrains.annotations.CalledInAny;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public interface ChangesViewEx extends ChangesViewI {
|
||||
void refreshImmediately();
|
||||
|
||||
@Nullable
|
||||
@CalledInAny
|
||||
ChangesViewCommitWorkflowHandler getCommitWorkflowHandler();
|
||||
|
||||
boolean isAllowExcludeFromCommit();
|
||||
}
|
||||
|
||||
@@ -280,7 +280,6 @@ public class ChangesViewManager implements ChangesViewEx,
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public ChangesViewCommitWorkflowHandler getCommitWorkflowHandler() {
|
||||
ChangesViewToolWindowPanel toolWindowPanel = myToolWindowPanel;
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
// Copyright 2000-2022 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.components.Service;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.vcs.commit.ChangesViewCommitWorkflowHandler;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@Service
|
||||
public final class ChangesViewWorkflowManager {
|
||||
@NotNull private final Project myProject;
|
||||
|
||||
@NotNull
|
||||
public static ChangesViewWorkflowManager getInstance(@NotNull Project project) {
|
||||
return project.getService(ChangesViewWorkflowManager.class);
|
||||
}
|
||||
|
||||
public ChangesViewWorkflowManager(@NotNull Project project) {
|
||||
myProject = project;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public ChangesViewCommitWorkflowHandler getCommitWorkflowHandler() {
|
||||
return ((ChangesViewManager)ChangesViewManager.getInstance(myProject)).getCommitWorkflowHandler();
|
||||
}
|
||||
}
|
||||
@@ -17,9 +17,7 @@ package com.intellij.openapi.vcs.changes;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.vcs.commit.ChangesViewCommitWorkflowHandler;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -58,12 +56,6 @@ class DummyChangesView implements ChangesViewEx {
|
||||
public void refreshImmediately() {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public ChangesViewCommitWorkflowHandler getCommitWorkflowHandler() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAllowExcludeFromCommit() {
|
||||
return false;
|
||||
|
||||
@@ -23,12 +23,12 @@ import com.intellij.openapi.components.Service
|
||||
import com.intellij.openapi.components.service
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.vcs.changes.ChangesViewManager
|
||||
import com.intellij.openapi.vcs.changes.ChangesViewWorkflowManager
|
||||
import com.intellij.openapi.vcs.changes.ui.ChangesTree
|
||||
import com.intellij.openapi.vcs.changes.ui.ChangesViewContentManager
|
||||
import com.intellij.openapi.wm.ToolWindowManager
|
||||
import com.intellij.openapi.wm.ex.ToolWindowManagerListener
|
||||
import com.intellij.ui.TreeActions
|
||||
import com.intellij.util.containers.ContainerUtil
|
||||
import java.awt.event.HierarchyEvent
|
||||
import java.awt.event.MouseEvent
|
||||
import java.util.*
|
||||
@@ -84,7 +84,7 @@ class CommitSessionCollector(val project: Project) {
|
||||
}
|
||||
else if (activity == null) {
|
||||
val changesViewManager = ChangesViewManager.getInstance(project) as ChangesViewManager
|
||||
val commitUi = changesViewManager.commitWorkflowHandler?.ui ?: return
|
||||
val commitUi = ChangesViewWorkflowManager.getInstance(project).commitWorkflowHandler?.ui ?: return
|
||||
activity = CommitSessionCounterUsagesCollector.SESSION.started(project) {
|
||||
listOf(
|
||||
CommitSessionCounterUsagesCollector.FILES_TOTAL.with(commitUi.getDisplayedChanges().size),
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
package com.intellij.vcs.commit
|
||||
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.vcs.changes.ChangesViewManager
|
||||
import com.intellij.openapi.vcs.changes.ChangesViewModifier
|
||||
import com.intellij.openapi.vcs.changes.ChangesViewWorkflowManager
|
||||
import com.intellij.openapi.vcs.changes.ui.ChangesViewModelBuilder
|
||||
|
||||
class EditedCommitChangesViewModifier(private val project: Project) : ChangesViewModifier {
|
||||
override fun modifyTreeModelBuilder(builder: ChangesViewModelBuilder) {
|
||||
val workflowHandler = ChangesViewManager.getInstanceEx(project).commitWorkflowHandler ?: return
|
||||
val workflowHandler = ChangesViewWorkflowManager.getInstance(project).commitWorkflowHandler ?: return
|
||||
val editedCommit = workflowHandler.ui.editedCommit ?: return
|
||||
|
||||
val commitNode = EditedCommitNode(editedCommit)
|
||||
|
||||
@@ -13,7 +13,7 @@ import com.intellij.openapi.vcs.VcsBundle
|
||||
import com.intellij.openapi.vcs.VcsConfiguration
|
||||
import com.intellij.openapi.vcs.VcsNotificationIdsHolder
|
||||
import com.intellij.openapi.vcs.changes.ChangeListChange
|
||||
import com.intellij.openapi.vcs.changes.ChangesViewManager
|
||||
import com.intellij.openapi.vcs.changes.ChangesViewWorkflowManager
|
||||
import com.intellij.openapi.vcs.changes.ui.ChangesListView
|
||||
import com.intellij.openapi.vfs.VfsUtil
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
@@ -103,7 +103,7 @@ class GitCommitLesson : GitLesson("Git.Commit", GitLessonsBundle.message("git.co
|
||||
setRecentMessages(listOf(lastCommitMessage))
|
||||
}
|
||||
|
||||
val commitWorkflowHandler: AbstractCommitWorkflowHandler<*, *> = ChangesViewManager.getInstanceEx(project).commitWorkflowHandler
|
||||
val commitWorkflowHandler: AbstractCommitWorkflowHandler<*, *> = ChangesViewWorkflowManager.getInstance(project).commitWorkflowHandler
|
||||
?: return@prepareRuntimeTask
|
||||
commitWorkflowHandler.workflow.commitOptions.restoreState()
|
||||
commitWorkflowHandler.setCommitMessage(lastCommitMessage)
|
||||
|
||||
Reference in New Issue
Block a user