From d1d95b1568b0dbee2b9d2f3a141672997ede3b92 Mon Sep 17 00:00:00 2001 From: Sergey Malenkov Date: Wed, 9 Feb 2022 01:51:38 +0300 Subject: [PATCH] Add ability to extend ProblemsViewIconUpdater GitOrigin-RevId: 5be19545bdfc2d9208260a4038be45260a5d70a2 --- .../toolWindow/ProblemsViewIconUpdater.kt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/analysis/problemsView/toolWindow/ProblemsViewIconUpdater.kt b/platform/lang-impl/src/com/intellij/analysis/problemsView/toolWindow/ProblemsViewIconUpdater.kt index 6eb4d0a341f3..cb32a7ad11d2 100644 --- a/platform/lang-impl/src/com/intellij/analysis/problemsView/toolWindow/ProblemsViewIconUpdater.kt +++ b/platform/lang-impl/src/com/intellij/analysis/problemsView/toolWindow/ProblemsViewIconUpdater.kt @@ -9,14 +9,15 @@ import com.intellij.ui.ExperimentalUI import com.intellij.util.SingleAlarm import com.intellij.util.ui.JBUI -internal class ProblemsViewIconUpdater(private val project: Project) { - private val alarm = SingleAlarm({ ProblemsView.getToolWindow(project)?.setIcon(getIcon()) }, 50, project) +open class ProblemsViewIconUpdater(project: Project) { + private val alarm = SingleAlarm({ ProblemsView.getToolWindow(project)?.setIcon(getIcon(getProblemCount(project))) }, 50, project) private val empty = Toolwindows.ToolWindowProblemsEmpty private val badge by lazy { BadgeIcon(empty, JBUI.CurrentTheme.IconBadge.ERROR) } - private fun getIcon() = getIcon(ProblemsCollector.getInstance(project).getProblemCount() == 0) - private fun getIcon(noErrors: Boolean) = when { - noErrors -> empty + protected open fun getProblemCount(project: Project) = ProblemsCollector.getInstance(project).getProblemCount() + + protected open fun getIcon(problemCount: Int) = when { + problemCount == 0 -> empty ExperimentalUI.isNewUI() -> badge else -> Toolwindows.ToolWindowProblems }