[maven] IDEA-355840 Add a separate action called Reload All Maven Projects in Maven toolwindow

GitOrigin-RevId: 38cc580134940aa4a52899a3f47c0fddb192c8c2
This commit is contained in:
Dmitry Kichinsky
2024-10-14 11:18:32 +02:00
committed by intellij-monorepo-bot
parent 7b4f92c6ab
commit fd20ee9c2a
5 changed files with 36 additions and 9 deletions

View File

@@ -4,7 +4,6 @@ package org.jetbrains.idea.maven.project.actions
import com.intellij.openapi.actionSystem.AnActionEvent
import com.intellij.openapi.externalSystem.service.project.trusted.ExternalSystemTrustedProjectDialog
import com.intellij.openapi.fileEditor.FileDocumentManager
import com.intellij.openapi.util.registry.Registry
import org.jetbrains.idea.maven.buildtool.MavenSyncSpec
import org.jetbrains.idea.maven.project.MavenProjectsManager
import org.jetbrains.idea.maven.utils.MavenLog
@@ -13,7 +12,7 @@ import org.jetbrains.idea.maven.utils.actions.MavenActionUtil
class IncrementalSyncAction : MavenProjectsManagerAction() {
override fun isVisible(e: AnActionEvent): Boolean {
return Registry.`is`("maven.incremental.sync.in.ui")
return true
}
override fun isAvailable(e: AnActionEvent): Boolean {

View File

@@ -4,7 +4,6 @@ package org.jetbrains.idea.maven.project.actions
import com.intellij.openapi.actionSystem.AnActionEvent
import com.intellij.openapi.externalSystem.service.project.trusted.ExternalSystemTrustedProjectDialog.confirmLoadingUntrustedProject
import com.intellij.openapi.fileEditor.FileDocumentManager
import com.intellij.openapi.util.registry.Registry
import org.jetbrains.idea.maven.project.MavenProjectsManager
import org.jetbrains.idea.maven.utils.MavenLog
import org.jetbrains.idea.maven.utils.MavenUtil
@@ -12,7 +11,7 @@ import org.jetbrains.idea.maven.utils.actions.MavenActionUtil
class ReimportAction : MavenProjectsManagerAction() {
override fun isVisible(e: AnActionEvent): Boolean {
return !Registry.`is`("maven.incremental.sync.in.ui")
return true
}
override fun isAvailable(e: AnActionEvent): Boolean {

View File

@@ -0,0 +1,25 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.idea.maven.project.actions
import com.intellij.openapi.actionSystem.ActionUpdateThread
import com.intellij.openapi.actionSystem.AnActionEvent
import com.intellij.openapi.actionSystem.DefaultActionGroup
import com.intellij.openapi.project.DumbAware
import org.jetbrains.idea.maven.utils.actions.MavenActionUtil
class SyncActionGroup : DefaultActionGroup(), DumbAware {
override fun update(e: AnActionEvent) {
super.update(e)
e.presentation.setEnabled(isEnabled(e))
}
override fun getActionUpdateThread(): ActionUpdateThread {
return ActionUpdateThread.BGT
}
private fun isEnabled(e: AnActionEvent): Boolean {
if (!MavenActionUtil.hasProject(e.dataContext)) return false
val projectsManager = MavenActionUtil.getProjectsManager(e.dataContext)
return projectsManager != null && projectsManager.isMavenizedProject
}
}

View File

@@ -396,9 +396,6 @@
<registryKey key="maven.sync.refresh.resolved.artifacts" defaultValue="false"
description="Refresh resolved artifacts after Maven sync"/>
<registryKey key="maven.incremental.sync.in.ui" defaultValue="true"
description="Show Maven incremental sync option in UI"/>
<registryKey key="maven.incremental.sync.resolve.dependencies.incrementally" defaultValue="true"
description="During incremental sync, resolve dependencies incrementally"/>
@@ -803,11 +800,17 @@
<reference id="Maven.DownloadAllSourcesAndDocs"/>
</group>
<group id="Maven.NavigatorActionsToolbar">
<group id="Maven.SyncAllGroup">
<reference id="Maven.SyncIncrementally"/>
<reference id="Maven.Reimport"/>
<reference id="Maven.UpdateFolders"/>
</group>
<group id="Maven.NavigatorActionsToolbar">
<group id="Maven.SyncAllGroupPopup" popup="true" class="org.jetbrains.idea.maven.project.actions.SyncActionGroup"
icon="AllIcons.Actions.Refresh">
<reference id="Maven.SyncAllGroup"/>
</group>
<reference id="Maven.UpdateFolders"/>
<group id="Maven.DownloadAllGroupPopup" popup="true" class="org.jetbrains.idea.maven.project.actions.DownloadActionGroup"
icon="AllIcons.Actions.Download">
<reference id="Maven.DownloadAllGroup"/>

View File

@@ -86,6 +86,7 @@ maven.toggle.offline.search.title=Toggle Maven Offline Mode
maven.commandline.description=Configures Maven projects under the given folder
group.Maven.SyncAllGroupPopup.text=Sync/Reload All Maven Projects
action.Maven.SyncIncrementally.text=Sync All Maven Projects
action.Maven.Reimport.text=Reload All Maven Projects
action.Maven.ReimportProject.text=Sync Project