mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[vcs-log] display commit signature description in tooltip
GitOrigin-RevId: c0a1bf7cbb888cb48df10a095b5fd3990f667a66
This commit is contained in:
committed by
intellij-monorepo-bot
parent
cd0a84c0cc
commit
ba50f67d55
@@ -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) {
|
||||
|
||||
+6
-1
@@ -277,7 +277,12 @@ private class HashAndAuthorPanel : HtmlPanel() {
|
||||
@Suppress("HardCodedStringLiteral")
|
||||
return presentation.hashAndAuthor.let {
|
||||
if (signature != null) {
|
||||
it + """<span class='signature'> <icon src='sig'/> ${signature.text}</span>"""
|
||||
val tooltip = signature.description?.toString()
|
||||
//language=html
|
||||
it + """<span class='signature'>
|
||||
|<icon src='sig' alt='${tooltip.orEmpty()}'/>
|
||||
| ${signature.text}
|
||||
|</span>""".trimMargin()
|
||||
}
|
||||
else it
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user