mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
vcs: non-modal: Make "Switch to Commit Dialog" action available in search everywhere
GitOrigin-RevId: c2a465080aac7d4c3b22e98c9da70adc5fbe324b
This commit is contained in:
committed by
intellij-monorepo-bot
parent
eb7d170d28
commit
b8632fe693
@@ -1437,6 +1437,7 @@ group.Shelve.KeymapGroup.text=Shelve
|
||||
action.Vcs.CopyRevisionNumberAction.text=Copy Revision Number
|
||||
action.Vcs.CopyRevisionNumberAction.description=Copy revision numbers of selected commits to the clipboard
|
||||
action.VcsToolbarLabelAction.text=VCS Label
|
||||
action.CommitView.SwitchToCommitDialog.text=Switch to Commit Dialog
|
||||
action.Vcs.ToggleAmendCommitMode.text=Amend Commit
|
||||
action.Vcs.ToggleAmendCommitMode.description=Modify the latest commit of the current branch
|
||||
action.ChangesView.ShowCommitOptions.text=Show Commit Options
|
||||
|
||||
@@ -267,7 +267,6 @@ amend.commit.load.message.error.text=Couldn't load commit message of the commit
|
||||
checkbox.amend=A_mend
|
||||
label.by.author=By
|
||||
|
||||
action.switch.to.commit.dialog.text=Switch to Commit Dialog
|
||||
non.modal.commit.promoter.text=New non-modal commit interface is available. Commit from a tool window and view diff in the editor.
|
||||
non.modal.commit.promoter.use.non.modal.action.text=Switch to tool window
|
||||
non.modal.commit.promoter.dont.show.again.action.text=Don't show again
|
||||
|
||||
@@ -497,6 +497,12 @@
|
||||
<add-to-group group-id="Diff.KeymapGroup" anchor="after" relative-to-action="CompareClipboardWithSelection"/>
|
||||
</group>
|
||||
|
||||
<group id="CommitView.GearActions">
|
||||
<action id="CommitView.SwitchToCommitDialog" class="com.intellij.vcs.commit.SwitchToCommitDialogAction"/>
|
||||
|
||||
<add-to-group group-id="VcsGeneral.KeymapGroup"/>
|
||||
</group>
|
||||
|
||||
<group id="Vcs.Show.Toolwindow.Tab">
|
||||
<add-to-group group-id="VcsGeneral.KeymapGroup"/>
|
||||
<action id="Vcs.Show.Local.Changes" class="com.intellij.vcs.VcsShowLocalChangesAction"/>
|
||||
|
||||
+2
-20
@@ -4,14 +4,10 @@ package com.intellij.openapi.vcs.changes.ui
|
||||
import com.intellij.icons.AllIcons
|
||||
import com.intellij.internal.statistic.collectors.fus.ui.GotItUsageCollector
|
||||
import com.intellij.internal.statistic.collectors.fus.ui.GotItUsageCollectorGroup
|
||||
import com.intellij.openapi.actionSystem.ActionGroup
|
||||
import com.intellij.openapi.actionSystem.ActionManager
|
||||
import com.intellij.openapi.actionSystem.ActionToolbar
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent
|
||||
import com.intellij.openapi.actionSystem.DefaultActionGroup
|
||||
import com.intellij.openapi.actionSystem.IdeActions.ACTION_CHECKIN_PROJECT
|
||||
import com.intellij.openapi.actionSystem.ex.ActionUtil.invokeAction
|
||||
import com.intellij.openapi.actionSystem.impl.ActionButton
|
||||
import com.intellij.openapi.project.DumbAwareAction
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.ui.popup.Balloon
|
||||
import com.intellij.openapi.util.Disposer
|
||||
@@ -28,7 +24,6 @@ import com.intellij.util.ui.PositionTracker
|
||||
import com.intellij.util.ui.UIUtil.uiTraverser
|
||||
import com.intellij.util.ui.update.Activatable
|
||||
import com.intellij.util.ui.update.UiNotifyConnector
|
||||
import com.intellij.vcs.commit.CommitWorkflowManager.Companion.setCommitFromLocalChanges
|
||||
import javax.swing.JComponent
|
||||
|
||||
private class ChangesViewToolWindowFactory : VcsToolWindowFactory() {
|
||||
@@ -43,7 +38,7 @@ private class CommitToolWindowFactory : VcsToolWindowFactory() {
|
||||
super.init(window)
|
||||
|
||||
window as ToolWindowEx
|
||||
window.setAdditionalGearActions(DefaultActionGroup(SwitchToCommitDialogAction()))
|
||||
window.setAdditionalGearActions(ActionManager.getInstance().getAction("CommitView.GearActions") as ActionGroup)
|
||||
}
|
||||
|
||||
override fun shouldBeAvailable(project: Project): Boolean {
|
||||
@@ -56,19 +51,6 @@ private class CommitToolWindowFactory : VcsToolWindowFactory() {
|
||||
}
|
||||
}
|
||||
|
||||
private class SwitchToCommitDialogAction : DumbAwareAction() {
|
||||
init {
|
||||
templatePresentation.text = message("action.switch.to.commit.dialog.text")
|
||||
}
|
||||
|
||||
override fun actionPerformed(e: AnActionEvent) {
|
||||
setCommitFromLocalChanges(false)
|
||||
|
||||
val commitAction = ActionManager.getInstance().getAction(ACTION_CHECKIN_PROJECT) ?: return
|
||||
invokeAction(commitAction, e.dataContext, e.place, e.inputEvent, null)
|
||||
}
|
||||
}
|
||||
|
||||
internal class SwitchToCommitDialogHint(private val toolWindow: ToolWindowEx, private val toolbar: ActionToolbar) :
|
||||
ChangesViewContentManagerListener,
|
||||
Activatable {
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
// 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.
|
||||
package com.intellij.vcs.commit
|
||||
|
||||
import com.intellij.openapi.actionSystem.ActionManager
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent
|
||||
import com.intellij.openapi.actionSystem.IdeActions.ACTION_CHECKIN_PROJECT
|
||||
import com.intellij.openapi.actionSystem.ex.ActionUtil.invokeAction
|
||||
import com.intellij.openapi.project.DumbAwareAction
|
||||
import com.intellij.openapi.vcs.actions.isProjectUsesNonModalCommit
|
||||
import com.intellij.vcs.commit.CommitWorkflowManager.Companion.setCommitFromLocalChanges
|
||||
|
||||
private class SwitchToCommitDialogAction : DumbAwareAction() {
|
||||
override fun update(e: AnActionEvent) {
|
||||
e.presentation.isEnabledAndVisible = e.isProjectUsesNonModalCommit()
|
||||
}
|
||||
|
||||
override fun actionPerformed(e: AnActionEvent) {
|
||||
setCommitFromLocalChanges(false)
|
||||
|
||||
val commitAction = ActionManager.getInstance().getAction(ACTION_CHECKIN_PROJECT) ?: return
|
||||
invokeAction(commitAction, e.dataContext, e.place, e.inputEvent, null)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user