From 4c172484d25e541cdc362919d296559a5d069881 Mon Sep 17 00:00:00 2001 From: Nikita Katkov Date: Thu, 27 Mar 2025 19:29:37 +0100 Subject: [PATCH] [recent files] IJ-CR-154689 IJPL-182048 Display path text on initial component show (cherry picked from commit 7cd9b8a1509865938bbbfeaa257b165c4cc38976, review IJ-CR-159008) GitOrigin-RevId: c6f4d35272c162d3e409c2a61b89730f3bffdd6c --- .../platform/recentFiles/frontend/Switcher.kt | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/platform/recentFiles/frontend/src/com/intellij/platform/recentFiles/frontend/Switcher.kt b/platform/recentFiles/frontend/src/com/intellij/platform/recentFiles/frontend/Switcher.kt index f6fe9720334f..9afcfa48cf64 100644 --- a/platform/recentFiles/frontend/src/com/intellij/platform/recentFiles/frontend/Switcher.kt +++ b/platform/recentFiles/frontend/src/com/intellij/platform/recentFiles/frontend/Switcher.kt @@ -283,6 +283,7 @@ object Switcher : BaseSwitcherAction(null) { preservingSelectionModel.setSelectionInterval(0, 0) } } + updatePathLabel() } override fun intervalRemoved(e: ListDataEvent?) { @@ -310,16 +311,7 @@ object Switcher : BaseSwitcherAction(null) { } } } - if (files.model.size > 0) { - val fileFromSelectedEditor = FileEditorManager.getInstance(project).selectedEditor?.file - val firstFileInList = files.model.getElementAt(0).virtualFileId.virtualFile() - if (firstFileInList != null && firstFileInList == fileFromSelectedEditor) { - files.setSelectedIndex(1) - } - else { - files.setSelectedIndex(0) - } - } + val filesSelectionListener = object : ListSelectionListener { override fun valueChanged(e: ListSelectionEvent) { @@ -335,6 +327,20 @@ object Switcher : BaseSwitcherAction(null) { popupUpdater?.updatePopup(CommonDataKeys.PSI_ELEMENT.getData(DataManager.getInstance().getDataContext(this@SwitcherPanel))) } } + toolWindows.selectionModel.addListSelectionListener(filesSelectionListener) + files.selectionModel.addListSelectionListener(filesSelectionListener) + + if (files.model.size > 0) { + val fileFromSelectedEditor = FileEditorManager.getInstance(project).selectedEditor?.file + val firstFileInList = files.model.getElementAt(0).virtualFileId.virtualFile() + if (firstFileInList != null && firstFileInList == fileFromSelectedEditor) { + files.setSelectedIndex(1) + } + else { + files.setSelectedIndex(0) + } + } + files.selectionMode = if (pinned) ListSelectionModel.MULTIPLE_INTERVAL_SELECTION else ListSelectionModel.SINGLE_SELECTION files.accessibleContext.accessibleName = IdeBundle.message("recent.files.accessible.file.list")