mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IJPL-185131 Search Everywhere for RD: Open in Find tool window
- Implement `openInFindToolWindow` using providers from the `Providers` class GitOrigin-RevId: 58f92b10618ed64b7804771ed3953b7caf9659f9
This commit is contained in:
committed by
intellij-monorepo-bot
parent
f02d8cb0f5
commit
c771e2a739
@@ -24,7 +24,7 @@ class SeFrontendItemDataProvidersFacade(private val projectId: ProjectId,
|
||||
private val dataContextId: DataContextId,
|
||||
private val isAllTab: Boolean) {
|
||||
|
||||
private val providerIds: List<SeProviderId> = idsWithDisplayNames.keys.toList()
|
||||
val providerIds: List<SeProviderId> = idsWithDisplayNames.keys.toList()
|
||||
|
||||
fun hasId(providerId: SeProviderId): Boolean = idsWithDisplayNames.containsKey(providerId)
|
||||
|
||||
|
||||
@@ -81,6 +81,7 @@ class SeTabDelegate(
|
||||
params: SeParams,
|
||||
initEvent: AnActionEvent,
|
||||
isAllTab: Boolean,
|
||||
disabledProviders: List<SeProviderId>? = null
|
||||
): Boolean {
|
||||
if (project == null) return false
|
||||
|
||||
@@ -90,7 +91,7 @@ class SeTabDelegate(
|
||||
return SeRemoteApi.getInstance().openInFindToolWindow(project.projectId(),
|
||||
sessionRef,
|
||||
dataContextId,
|
||||
providerIds,
|
||||
providers.getValue().getProviderIds(disabledProviders ?: emptyList()),
|
||||
params,
|
||||
isAllTab)
|
||||
}
|
||||
@@ -163,6 +164,15 @@ class SeTabDelegate(
|
||||
frontendProvidersFacade?.itemSelected(itemData, modifiers, searchText) ?: false
|
||||
}
|
||||
}
|
||||
|
||||
fun getProviderIds(
|
||||
disabledProviders: List<SeProviderId>,
|
||||
): List<SeProviderId> {
|
||||
val localProviders = localProviders.filterKeys { !disabledProviders.contains(it) }.keys
|
||||
val frontedProviders = frontendProvidersFacade?.providerIds?.filter { !disabledProviders.contains(it) }
|
||||
?: emptyList()
|
||||
return localProviders.toList() + frontedProviders
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
@@ -68,7 +68,8 @@ class SeAllTab(private val delegate: SeTabDelegate) : SeTab {
|
||||
}
|
||||
|
||||
override suspend fun openInFindToolWindow(sessionRef: DurableRef<SeSessionEntity>, params: SeParams, initEvent: AnActionEvent): Boolean {
|
||||
return delegate.openInFindToolWindow(sessionRef, params, initEvent, true)
|
||||
val allTabFilter = SeEverywhereFilter.from(params.filter)
|
||||
return delegate.openInFindToolWindow(sessionRef, params, initEvent, true,allTabFilter.disabledProviderIds)
|
||||
}
|
||||
|
||||
override fun dispose() {
|
||||
|
||||
Reference in New Issue
Block a user