mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Rewrite commit message generation action to use Grazie proxy, make it work in non-modal commit
GitOrigin-RevId: 1e772efb2cd8856ed258ad2973c06d27d6091184
This commit is contained in:
committed by
intellij-monorepo-bot
parent
fbd86da90f
commit
fa62fec763
@@ -14,6 +14,7 @@ import com.intellij.openapi.vcs.history.VcsRevisionNumber;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.util.Consumer;
|
||||
import com.intellij.vcs.commit.CommitWorkflowHandler;
|
||||
import com.intellij.vcs.commit.CommitWorkflowUi;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
|
||||
import java.io.File;
|
||||
@@ -91,6 +92,7 @@ public interface VcsDataKeys {
|
||||
DataKey<CommitMessageI> COMMIT_MESSAGE_CONTROL = DataKey.create("COMMIT_MESSAGE_CONTROL");
|
||||
DataKey<Document> COMMIT_MESSAGE_DOCUMENT = DataKey.create("COMMIT_MESSAGE_DOCUMENT");
|
||||
DataKey<CommitWorkflowHandler> COMMIT_WORKFLOW_HANDLER = DataKey.create("Vcs.CommitWorkflowHandler");
|
||||
DataKey<CommitWorkflowUi> COMMIT_WORKFLOW_UI = DataKey.create("Vcs.CommitWorkflowUI");
|
||||
|
||||
DataKey<VcsHistorySession> HISTORY_SESSION = DataKey.create("VCS_HISTORY_SESSION");
|
||||
/**
|
||||
|
||||
+4
-4
@@ -19,10 +19,7 @@ import com.intellij.openapi.ui.*;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.openapi.util.NlsContexts;
|
||||
import com.intellij.openapi.util.registry.Registry;
|
||||
import com.intellij.openapi.vcs.AbstractVcs;
|
||||
import com.intellij.openapi.vcs.FilePath;
|
||||
import com.intellij.openapi.vcs.VcsActions;
|
||||
import com.intellij.openapi.vcs.VcsException;
|
||||
import com.intellij.openapi.vcs.*;
|
||||
import com.intellij.openapi.vcs.changes.*;
|
||||
import com.intellij.openapi.vcs.changes.actions.diff.lst.LocalChangeListDiffTool;
|
||||
import com.intellij.openapi.vcs.checkin.BaseCheckinHandlerFactory;
|
||||
@@ -688,6 +685,9 @@ public abstract class CommitChangeListDialog extends DialogWrapper implements Si
|
||||
@Nullable
|
||||
@Override
|
||||
public Object getData(@NotNull String dataId) {
|
||||
if (VcsDataKeys.COMMIT_WORKFLOW_UI.is(dataId)) {
|
||||
return this;
|
||||
}
|
||||
return StreamEx.of(myDataProviders)
|
||||
.map(provider -> provider.getData(dataId))
|
||||
.nonNull()
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.vcs.commit
|
||||
|
||||
import com.intellij.ide.IdeEventQueue
|
||||
import com.intellij.openapi.Disposable
|
||||
import com.intellij.openapi.actionSystem.ActionGroup
|
||||
import com.intellij.openapi.actionSystem.ActionManager
|
||||
@@ -17,6 +16,7 @@ import com.intellij.openapi.ui.popup.JBPopupFactory
|
||||
import com.intellij.openapi.ui.popup.JBPopupListener
|
||||
import com.intellij.openapi.ui.popup.LightweightWindowEvent
|
||||
import com.intellij.openapi.vcs.VcsBundle.message
|
||||
import com.intellij.openapi.vcs.VcsDataKeys
|
||||
import com.intellij.openapi.vcs.actions.ShowCommitOptionsAction
|
||||
import com.intellij.openapi.vcs.changes.InclusionListener
|
||||
import com.intellij.openapi.vcs.ui.CommitMessage
|
||||
@@ -35,11 +35,9 @@ import com.intellij.util.ui.components.BorderLayoutPanel
|
||||
import org.jetbrains.annotations.Nls
|
||||
import java.awt.Color
|
||||
import java.awt.Point
|
||||
import java.awt.event.MouseEvent
|
||||
import javax.swing.JComponent
|
||||
import javax.swing.JPanel
|
||||
import javax.swing.LayoutFocusTraversalPolicy
|
||||
import javax.swing.SwingUtilities
|
||||
import javax.swing.border.Border
|
||||
import javax.swing.border.EmptyBorder
|
||||
|
||||
@@ -104,7 +102,13 @@ abstract class NonModalCommitPanel(
|
||||
override fun getComponent(): JComponent = this
|
||||
override fun getPreferredFocusableComponent(): JComponent = commitMessage.editorField
|
||||
|
||||
override fun getData(dataId: String) = getDataFromProviders(dataId) ?: commitMessage.getData(dataId)
|
||||
override fun getData(dataId: String): Any? {
|
||||
if (VcsDataKeys.COMMIT_WORKFLOW_UI.`is`(dataId)) {
|
||||
return this
|
||||
}
|
||||
return getDataFromProviders(dataId) ?: commitMessage.getData(dataId)
|
||||
}
|
||||
|
||||
fun getDataFromProviders(dataId: String): Any? {
|
||||
for (dataProvider in dataProviders) {
|
||||
return dataProvider.getData(dataId) ?: continue
|
||||
|
||||
Reference in New Issue
Block a user