From aae4c6c1fa0e9e1418f3ff5b2f8529c536619c27 Mon Sep 17 00:00:00 2001 From: Daniil Ovchinnikov <daniil.ovchinnikov@jetbrains.com> Date: Wed, 26 Oct 2022 22:15:43 +0200 Subject: [PATCH] IDEA-299807 support select in navigation bar target GitOrigin-RevId: 2c31982a34a6e167604e760cdd24f035ad6a048e --- .../src/com/intellij/ide/navbar/ide/NavBarService.kt | 4 ++++ .../ide/navigationToolbar/SelectInNavBarTarget.java | 12 +++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/ide/navbar/ide/NavBarService.kt b/platform/lang-impl/src/com/intellij/ide/navbar/ide/NavBarService.kt index d41199b9d49b..2b18bfd30ea0 100644 --- a/platform/lang-impl/src/com/intellij/ide/navbar/ide/NavBarService.kt +++ b/platform/lang-impl/src/com/intellij/ide/navbar/ide/NavBarService.kt @@ -64,6 +64,10 @@ internal class NavBarService(private val project: Project) : Disposable { } } + fun selectTail() { + staticNavBarVm.vm.value?.selectTail() + } + private fun showFloatingNavbar(dataContext: DataContext) { cs.launch(ModalityState.current().asContextElement()) { val model = contextModel(dataContext, project).ifEmpty { diff --git a/platform/lang-impl/src/com/intellij/ide/navigationToolbar/SelectInNavBarTarget.java b/platform/lang-impl/src/com/intellij/ide/navigationToolbar/SelectInNavBarTarget.java index b918f0b3fb81..ecca5b217f58 100644 --- a/platform/lang-impl/src/com/intellij/ide/navigationToolbar/SelectInNavBarTarget.java +++ b/platform/lang-impl/src/com/intellij/ide/navigationToolbar/SelectInNavBarTarget.java @@ -6,6 +6,7 @@ import com.intellij.ide.IdeBundle; import com.intellij.ide.StandardTargetWeights; import com.intellij.ide.impl.SelectInTargetPsiWrapper; import com.intellij.ide.navbar.ide.NavBarIdeUtil; +import com.intellij.ide.navbar.ide.NavBarService; import com.intellij.ide.ui.UISettings; import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.project.DumbAware; @@ -39,19 +40,24 @@ final class SelectInNavBarTarget extends SelectInTargetPsiWrapper implements Dum @Override protected boolean canSelect(final PsiFileSystemItem file) { - if (NavBarIdeUtil.isNavbarV2Enabled()) { - return false; - } return UISettings.getInstance().getShowNavigationBar(); } @Override protected void select(final Object selector, final VirtualFile virtualFile, final boolean requestFocus) { + if (NavBarIdeUtil.isNavbarV2Enabled()) { + NavBarService.getInstance(myProject).selectTail(); + return; + } selectInNavBar(false); } @Override protected void select(final PsiElement element, boolean requestFocus) { + if (NavBarIdeUtil.isNavbarV2Enabled()) { + NavBarService.getInstance(myProject).selectTail(); + return; + } selectInNavBar(false); } -- GitLab