[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
This commit is contained in:
Nikita Katkov
2025-03-27 19:29:37 +01:00
committed by intellij-monorepo-bot
parent 8db2bb18d0
commit 4c172484d2

View File

@@ -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")