Commit a89c79a4 authored by Pavel Gromov's avatar Pavel Gromov Committed by intellij-monorepo-bot
Browse files

[github] Unite reload actions

(cherry picked from commit be4cc230074749ce7daa6806b3e6bce212097267)

IJ-CR-104227

GitOrigin-RevId: 20fa9823e11a1fd9ca0c05cb39ed92f93843f029
parent fe04420a
No related merge requests found
Showing with 23 additions and 50 deletions
+23 -50
......@@ -100,6 +100,9 @@
<action id="Github.View.Pull.Request" class="org.jetbrains.plugins.github.GithubViewPullRequestsAction">
<add-to-group group-id="Git.Menu"/>
</action>
<action id="Github.PullRequest.Details.Reload"
class="org.jetbrains.plugins.github.pullrequest.action.GHPRReloadDetailsAction"
use-shortcut-of="Refresh"/>
<group id="Github.Open.In.Browser" class="org.jetbrains.plugins.github.GHOpenInBrowserActionGroup">
<override-text place="EditorTabPopup"/>
<override-text place="ProjectViewPopup" use-text-of-place="EditorTabPopup"/>
......@@ -135,18 +138,8 @@
class="org.jetbrains.plugins.github.pullrequest.action.GHPRReloadListAction" use-shortcut-of="Refresh"/>
</group>
<group id="Github.PullRequest.Details.Popup">
<action id="Github.PullRequest.Timeline.Show"
class="org.jetbrains.plugins.github.pullrequest.action.GHPROpenPullRequestTimelineAction"/>
<reference id="Github.Open.In.Browser"/>
<action id="Github.PullRequest.Branch.Create"
class="org.jetbrains.plugins.github.pullrequest.action.GHPRCheckoutRemoteBranchAction"/>
<action id="Github.PullRequest.Branch.Update"
class="org.jetbrains.plugins.github.pullrequest.action.GHPRUpdateBranchAction"/>
<action id="Github.PullRequest.Details.Reload"
class="org.jetbrains.plugins.github.pullrequest.action.GHPRReloadDetailsAction" use-shortcut-of="Refresh"/>
<reference id="Github.PullRequest.Details.Reload"/>
</group>
<action id="Github.PullRequest.Changes.Reload"
class="org.jetbrains.plugins.github.pullrequest.action.GHPRReloadChangesAction" use-shortcut-of="Refresh"/>
<action id="Github.PullRequest.Comments.Reload"
class="org.jetbrains.plugins.github.pullrequest.action.GHPRReloadCommentsAction" use-shortcut-of="Refresh"/>
......@@ -163,7 +156,7 @@
<group id="Github.PullRequest.Changes.Popup">
<reference id="Diff.ShowDiff"/>
<reference id="Diff.ShowStandaloneDiff"/>
<reference id="Github.PullRequest.Changes.Reload"/>
<reference id="Github.PullRequest.Details.Reload"/>
<reference id="EditSource"/>
<action id="Github.PullRequest.Changes.MarkViewed"
class="org.jetbrains.plugins.github.pullrequest.action.GHPRMarkFilesViewedAction"/>
......
......@@ -235,7 +235,7 @@ pull.request.open.action.description=View pull request information and timeline
pull.request.view.conversations.action.description=View pull request timeline
pull.request.refresh.changes.action=Refresh Pull Request Changes
pull.request.refresh.comments.action=Refresh Pull Request Comments
pull.request.refresh.details.action=Refresh Pull Request Details
pull.request.refresh.details.action=Refresh Pull Request
pull.request.refresh.state.action=Refresh Pull Request State
pull.request.refresh.list.action=Refresh List
pull.request.editor.timeline=Pull Request Timeline
......
// 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.
package org.jetbrains.plugins.github.pullrequest.action
import com.intellij.icons.AllIcons
import com.intellij.ide.actions.RefreshAction
import com.intellij.openapi.actionSystem.AnActionEvent
import org.jetbrains.plugins.github.i18n.GithubBundle
import java.util.function.Supplier
class GHPRReloadChangesAction
: RefreshAction(GithubBundle.messagePointer("pull.request.refresh.changes.action"),
Supplier<String?> { null },
AllIcons.Actions.Refresh) {
override fun update(e: AnActionEvent) {
val selection = e.getData(GHPRActionKeys.PULL_REQUEST_DATA_PROVIDER)
e.presentation.isEnabled = selection != null
}
override fun actionPerformed(e: AnActionEvent) {
val dataProvider = e.getRequiredData(GHPRActionKeys.PULL_REQUEST_DATA_PROVIDER)
dataProvider.changesData.reloadChanges()
dataProvider.viewedStateData.reset()
}
}
\ No newline at end of file
......@@ -24,5 +24,7 @@ class GHPRReloadDetailsAction
dataProvider.detailsData.reloadDetails()
dataProvider.stateData.reloadMergeabilityState()
dataProvider.reviewData.resetPendingReview()
dataProvider.changesData.reloadChanges()
dataProvider.viewedStateData.reset()
}
}
\ No newline at end of file
......@@ -4,7 +4,8 @@ package org.jetbrains.plugins.github.pullrequest.ui.details
import com.intellij.collaboration.ui.codereview.details.ReviewDetailsUIUtil
import com.intellij.collaboration.ui.util.emptyBorders
import com.intellij.collaboration.ui.util.gap
import com.intellij.openapi.actionSystem.DefaultActionGroup
import com.intellij.openapi.actionSystem.ActionGroup
import com.intellij.openapi.actionSystem.ActionManager
import com.intellij.openapi.project.Project
import com.intellij.ui.PopupHandler
import kotlinx.coroutines.CoroutineScope
......@@ -12,7 +13,6 @@ import net.miginfocom.layout.AC
import net.miginfocom.layout.CC
import net.miginfocom.layout.LC
import net.miginfocom.swing.MigLayout
import org.jetbrains.plugins.github.pullrequest.action.GHPRReloadDetailsAction
import org.jetbrains.plugins.github.pullrequest.data.provider.GHPRDataProvider
import org.jetbrains.plugins.github.pullrequest.data.service.GHPRRepositoryDataService
import org.jetbrains.plugins.github.pullrequest.data.service.GHPRSecurityService
......@@ -51,9 +51,7 @@ internal object GHPRDetailsComponentFactory {
}
val commitInfo = GHPRDetailsCommitInfoComponentFactory.create(scope, commitsVm)
val statusChecks = GHPRStatusChecksComponentFactory.create(scope, reviewDetailsVm, reviewFlowVm, securityService, avatarIconsProvider)
val state = GHPRStatePanel(scope, reviewDetailsVm, reviewFlowVm, dataProvider).also {
PopupHandler.installPopupMenu(it, DefaultActionGroup(GHPRReloadDetailsAction()), "GHPRDetailsPanelPopup")
}
val state = GHPRStatePanel(scope, reviewDetailsVm, reviewFlowVm, dataProvider)
return JPanel(MigLayout(
LC()
......@@ -92,7 +90,8 @@ internal object GHPRDetailsComponentFactory {
right = ReviewDetailsUIUtil.indentRight,
bottom = ReviewDetailsUIUtil.indentBottom))
PopupHandler.installPopupMenu(this, DefaultActionGroup(GHPRReloadDetailsAction()), "GHPRDetailsPopup")
val group = ActionManager.getInstance().getAction("Github.PullRequest.Details.Popup") as ActionGroup
PopupHandler.installPopupMenu(this, group, "GHPRDetailsPopup")
}
}
}
\ No newline at end of file
......@@ -6,12 +6,13 @@ import com.intellij.collaboration.ui.CollaborationToolsUIUtil
import com.intellij.collaboration.ui.VerticalListPanel
import com.intellij.collaboration.ui.util.DimensionRestrictions
import com.intellij.collaboration.ui.util.bindText
import com.intellij.openapi.actionSystem.ActionGroup
import com.intellij.openapi.actionSystem.ActionManager
import com.intellij.openapi.actionSystem.ActionPlaces
import com.intellij.openapi.actionSystem.ex.ActionUtil
import com.intellij.ui.PopupHandler
import com.intellij.ui.components.ActionLink
import com.intellij.util.ui.JBUI
import com.intellij.util.ui.UIUtil
import kotlinx.coroutines.CoroutineScope
import org.jetbrains.plugins.github.pullrequest.ui.details.model.GHPRDetailsViewModel
import org.jetbrains.plugins.github.ui.util.HtmlEditorPane
......@@ -23,6 +24,8 @@ internal object GHPRDetailsDescriptionComponentFactory {
fun create(scope: CoroutineScope, reviewDetailsVM: GHPRDetailsViewModel): JComponent {
val descriptionPanel = HtmlEditorPane().apply {
bindText(scope, reviewDetailsVM.descriptionState)
val group = ActionManager.getInstance().getAction("Github.PullRequest.Details.Popup") as ActionGroup
PopupHandler.installPopupMenu(this, group, "GHPRDetailsPopup")
}.let { editor ->
CollaborationToolsUIUtil.wrapWithLimitedSize(editor, DimensionRestrictions.LinesHeight(editor, VISIBLE_DESCRIPTION_LINES))
}
......
......@@ -10,6 +10,9 @@ import com.intellij.collaboration.ui.util.bindText
import com.intellij.collaboration.ui.util.bindTextHtml
import com.intellij.collaboration.ui.util.bindVisibility
import com.intellij.collaboration.ui.util.emptyBorders
import com.intellij.openapi.actionSystem.ActionGroup
import com.intellij.openapi.actionSystem.ActionManager
import com.intellij.ui.PopupHandler
import com.intellij.util.ui.JBFont
import com.intellij.util.ui.JBUI
import com.intellij.util.ui.SingleComponentCenteringLayout
......@@ -57,6 +60,8 @@ internal object GHPRTitleComponent {
tooltip = GithubBundle.message("open.on.github.action")
)
})
val group = ActionManager.getInstance().getAction("Github.PullRequest.Details.Popup") as ActionGroup
PopupHandler.installPopupMenu(this, group, "GHPRDetailsPopup")
}
val stateLabel = JLabel().apply {
font = JBFont.small()
......
......@@ -86,7 +86,6 @@ internal class GHPRViewComponentFactory(private val actionManager: ActionManager
}
private val reloadDetailsAction = actionManager.getAction("Github.PullRequest.Details.Reload")
private val reloadChangesAction = actionManager.getAction("Github.PullRequest.Changes.Reload")
private val detailsLoadingErrorHandler = GHApiLoadingErrorHandler(project, dataContext.securityService.account) {
dataProvider.detailsData.reloadDetails()
......@@ -287,7 +286,6 @@ internal class GHPRViewComponentFactory(private val actionManager: ActionManager
val diffPreviewController = createAndSetupDiffPreview(tree, diffRequestProducer.changeProducerFactory, dataProvider,
dataContext.filesManager)
reloadChangesAction.registerCustomShortcutSet(tree, null)
tree.installPopupHandler(actionManager.getAction("Github.PullRequest.Changes.Popup") as ActionGroup)
DataManager.registerDataProvider(parentPanel) { dataId ->
......
......@@ -212,7 +212,7 @@ internal class GHPRCreateComponentHolder(private val actionManager: ActionManage
commitsLoadingErrorHandler)
.createWithUpdatesStripe(uiDisposable) { _, model ->
CommitsBrowserComponentBuilder(project, model)
.installPopupActions(DefaultActionGroup(actionManager.getAction("Github.PullRequest.Changes.Reload")), "GHPRCommitsPopup")
.installPopupActions(DefaultActionGroup(actionManager.getAction("Github.PullRequest.Details.Reload")), "GHPRCommitsPopup")
.setEmptyCommitListText(GithubBundle.message("pull.request.does.not.contain.commits"))
.onCommitSelected { commitSelectionModel.value = it }
.create()
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment