mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[lsp] IDEA-347934 Initialize LanguageServiceWidget icons lazily
GitOrigin-RevId: 43ea916d950541d6b4cad149d62576eed695e7fa
This commit is contained in:
committed by
intellij-monorepo-bot
parent
354d017bb7
commit
f2bf925e2f
+5
-7
@@ -31,7 +31,7 @@ internal class LanguageServiceWidget(project: Project, scope: CoroutineScope) :
|
|||||||
*/
|
*/
|
||||||
private var cachedWidgetItems: List<LanguageServiceWidgetItem> = emptyList()
|
private var cachedWidgetItems: List<LanguageServiceWidgetItem> = emptyList()
|
||||||
|
|
||||||
override fun ID(): String = LanguageServiceWidgetFactory.ID
|
override fun ID(): String = LANGUAGE_SERVICES_WIDGET_ID
|
||||||
|
|
||||||
override fun createInstance(project: Project): StatusBarWidget = LanguageServiceWidget(project, scope)
|
override fun createInstance(project: Project): StatusBarWidget = LanguageServiceWidget(project, scope)
|
||||||
|
|
||||||
@@ -55,7 +55,7 @@ internal class LanguageServiceWidget(project: Project, scope: CoroutineScope) :
|
|||||||
val isError = fileSpecificItems.any { it.isError } // or maybe `allItems.any { it.isError }`?
|
val isError = fileSpecificItems.any { it.isError } // or maybe `allItems.any { it.isError }`?
|
||||||
|
|
||||||
return WidgetState(tooltip, shortenedText, true).apply {
|
return WidgetState(tooltip, shortenedText, true).apply {
|
||||||
icon = if (isError) errorIcon else normalIcon
|
icon = if (isError) Icons.errorIcon else Icons.normalIcon
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,7 +91,6 @@ internal class LanguageServiceWidget(project: Project, scope: CoroutineScope) :
|
|||||||
return group
|
return group
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private object NoServices : AnAction(LangBundle.messagePointer("language.services.widget.no.services")), DumbAware {
|
private object NoServices : AnAction(LangBundle.messagePointer("language.services.widget.no.services")), DumbAware {
|
||||||
override fun getActionUpdateThread(): ActionUpdateThread = ActionUpdateThread.BGT
|
override fun getActionUpdateThread(): ActionUpdateThread = ActionUpdateThread.BGT
|
||||||
|
|
||||||
@@ -102,9 +101,8 @@ internal class LanguageServiceWidget(project: Project, scope: CoroutineScope) :
|
|||||||
override fun actionPerformed(e: AnActionEvent) {}
|
override fun actionPerformed(e: AnActionEvent) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private object Icons {
|
||||||
private companion object {
|
val normalIcon: Icon = AllIcons.Json.Object
|
||||||
private val normalIcon: Icon = AllIcons.Json.Object
|
val errorIcon: Icon = LayeredIcon.layeredIcon(arrayOf(AllIcons.Json.Object, AllIcons.Nodes.ErrorMark))
|
||||||
private val errorIcon: Icon = LayeredIcon.layeredIcon { arrayOf(AllIcons.Json.Object, AllIcons.Nodes.ErrorMark) }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-5
@@ -7,12 +7,10 @@ import com.intellij.openapi.wm.StatusBarWidget
|
|||||||
import com.intellij.openapi.wm.impl.status.widget.StatusBarEditorBasedWidgetFactory
|
import com.intellij.openapi.wm.impl.status.widget.StatusBarEditorBasedWidgetFactory
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
|
|
||||||
class LanguageServiceWidgetFactory : StatusBarEditorBasedWidgetFactory() {
|
internal const val LANGUAGE_SERVICES_WIDGET_ID = "LanguageServiceStatusBarWidget"
|
||||||
companion object {
|
|
||||||
const val ID = "LanguageServiceStatusBarWidget"
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun getId(): String = ID
|
internal class LanguageServiceWidgetFactory : StatusBarEditorBasedWidgetFactory() {
|
||||||
|
override fun getId(): String = LANGUAGE_SERVICES_WIDGET_ID
|
||||||
|
|
||||||
override fun getDisplayName(): String = LangBundle.message("language.services.widget")
|
override fun getDisplayName(): String = LangBundle.message("language.services.widget")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user