diff --git a/platform/util/ui/src/com/intellij/util/ui/ExtendableHTMLViewFactory.kt b/platform/util/ui/src/com/intellij/util/ui/ExtendableHTMLViewFactory.kt
index d85b8b41bc5f..df8e9defde1c 100644
--- a/platform/util/ui/src/com/intellij/util/ui/ExtendableHTMLViewFactory.kt
+++ b/platform/util/ui/src/com/intellij/util/ui/ExtendableHTMLViewFactory.kt
@@ -4,6 +4,7 @@ package com.intellij.util.ui
import com.intellij.openapi.diagnostic.thisLogger
import com.intellij.openapi.util.IconLoader
import com.intellij.ui.scale.JBUIScale
+import com.intellij.util.text.nullize
import java.awt.*
import java.awt.image.BufferedImage
import java.io.ByteArrayInputStream
@@ -137,7 +138,7 @@ internal constructor(private val extensions: List<(Element, View) -> View?>,
}
override fun getToolTipText(x: Float, y: Float, allocation: Shape): String? {
- return element.attributes.getAttribute(HTML.Attribute.ALT) as? String
+ return (element.attributes.getAttribute(HTML.Attribute.ALT) as? String)?.nullize(true)
}
override fun paint(g: Graphics, allocation: Shape) {
diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/details/commit/CommitDetailsPanel.kt b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/details/commit/CommitDetailsPanel.kt
index 3ed19f3e796e..bfcf7e99b2e9 100644
--- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/details/commit/CommitDetailsPanel.kt
+++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/details/commit/CommitDetailsPanel.kt
@@ -277,7 +277,12 @@ private class HashAndAuthorPanel : HtmlPanel() {
@Suppress("HardCodedStringLiteral")
return presentation.hashAndAuthor.let {
if (signature != null) {
- it + """ ${signature.text}"""
+ val tooltip = signature.description?.toString()
+ //language=html
+ it + """
+ |
+ | ${signature.text}
+ |""".trimMargin()
}
else it
}
diff --git a/plugins/git4idea/src/git4idea/log/GitCommitSignatureStatusProvider.kt b/plugins/git4idea/src/git4idea/log/GitCommitSignatureStatusProvider.kt
index be030c25bc14..bdd48d861bae 100644
--- a/plugins/git4idea/src/git4idea/log/GitCommitSignatureStatusProvider.kt
+++ b/plugins/git4idea/src/git4idea/log/GitCommitSignatureStatusProvider.kt
@@ -5,10 +5,10 @@ import com.intellij.openapi.components.Service
import com.intellij.openapi.components.service
import com.intellij.openapi.project.Project
import com.intellij.openapi.util.SystemInfo
-import com.intellij.vcs.log.data.util.VcsCommitsDataLoader
import com.intellij.openapi.util.text.HtmlBuilder
import com.intellij.openapi.util.text.HtmlChunk
import com.intellij.util.ui.EmptyIcon
+import com.intellij.vcs.log.data.util.VcsCommitsDataLoader
import com.intellij.vcs.log.ui.frame.VcsCommitExternalStatusPresentation
import com.intellij.vcs.log.ui.frame.VcsCommitExternalStatusProvider
import com.intellij.vcs.log.ui.table.column.util.VcsLogExternalStatusColumnService
@@ -52,17 +52,19 @@ internal class GitCommitSignatureStatusProvider : VcsCommitExternalStatusProvide
override val text: String
get() = when (signature) {
- is GitCommitSignature.Verified ->
- HtmlBuilder()
- .append(GitBundle.message("tooltip.commit.signature.verify.success"))
- .append(HtmlChunk.br())
- .append(signature.user)
- .append(HtmlChunk.br())
- .append(signature.fingerprint)
- .toFragment().toString()
+ is GitCommitSignature.Verified -> GitBundle.message("tooltip.commit.signature.verify.success")
GitCommitSignature.NotVerified -> GitBundle.message("tooltip.commit.signature.verify.failure")
GitCommitSignature.NoSignature -> GitBundle.message("tooltip.no.commit.signature")
}
+
+ override val description: HtmlChunk?
+ get() = if (signature is GitCommitSignature.Verified)
+ HtmlBuilder()
+ .append(signature.user)
+ .append(HtmlChunk.br())
+ .append(signature.fingerprint)
+ .toFragment()
+ else null
}
}
}