mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
remaining part of IDEA-72438
This commit is contained in:
-13
@@ -33,8 +33,6 @@ import javax.swing.event.HyperlinkEvent;
|
||||
import javax.swing.event.HyperlinkListener;
|
||||
import java.awt.*;
|
||||
import java.util.List;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public abstract class AbstractUpdateDialog extends DialogWrapper {
|
||||
private final boolean myEnableLink;
|
||||
@@ -130,15 +128,4 @@ public abstract class AbstractUpdateDialog extends DialogWrapper {
|
||||
public boolean isShowConfirmation() {
|
||||
return myShowConfirmation;
|
||||
}
|
||||
|
||||
public static String formatLinks(String message) {
|
||||
Pattern linkPattern = Pattern.compile("http://[a-zA-Z0-9\\./]+");
|
||||
StringBuffer result = new StringBuffer();
|
||||
Matcher m = linkPattern.matcher(message);
|
||||
while (m.find()) {
|
||||
m.appendReplacement(result, "<a href=\"" + m.group() + "\">" + m.group() + "</a>");
|
||||
}
|
||||
m.appendTail(result);
|
||||
return result.toString();
|
||||
}
|
||||
}
|
||||
|
||||
+2
-1
@@ -18,6 +18,7 @@ package com.intellij.openapi.updateSettings.impl;
|
||||
import com.intellij.ide.BrowserUtil;
|
||||
import com.intellij.openapi.application.ApplicationNamesInfo;
|
||||
import com.intellij.openapi.ui.DialogWrapper;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.ui.BrowserHyperlinkListener;
|
||||
import com.intellij.ui.LicensingFacade;
|
||||
import com.intellij.ui.components.JBScrollPane;
|
||||
@@ -84,7 +85,7 @@ public class NewChannelDialog extends DialogWrapper {
|
||||
StringBuilder builder = new StringBuilder().append("<html>");
|
||||
builder.append("<head>").append(UIUtil.getCssFontDeclaration(UIUtil.getLabelFont())).append("</head><body>");
|
||||
builder.append("<b>").append(myChannel.getName()).append("</b><br>");
|
||||
builder.append(AbstractUpdateDialog.formatLinks(myChannel.getLatestBuild().getMessage())).append("<br><br>");
|
||||
builder.append(StringUtil.formatLinks(myChannel.getLatestBuild().getMessage())).append("<br><br>");
|
||||
LicensingFacade facade = LicensingFacade.getInstance();
|
||||
if (facade != null) {
|
||||
if (!myChannel.getLicensing().equals(UpdateChannel.LICENSING_EAP)) {
|
||||
|
||||
+2
-1
@@ -21,6 +21,7 @@ import com.intellij.openapi.application.ApplicationInfo;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.application.ApplicationNamesInfo;
|
||||
import com.intellij.openapi.util.SystemInfo;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.ui.BrowserHyperlinkListener;
|
||||
import com.intellij.ui.components.JBScrollPane;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
@@ -204,7 +205,7 @@ class UpdateInfoDialog extends AbstractUpdateDialog {
|
||||
if (myLatestBuild.getMessage() != null) {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append("<html><head>").append(UIUtil.getCssFontDeclaration(UIUtil.getLabelFont())).append("</head><body>")
|
||||
.append(AbstractUpdateDialog.formatLinks(myLatestBuild.getMessage()))
|
||||
.append(StringUtil.formatLinks(myLatestBuild.getMessage()))
|
||||
.append("</body></html>");
|
||||
myUpdateMessageLabel.setText(builder.toString());
|
||||
myUpdateMessageLabel.addHyperlinkListener(new BrowserHyperlinkListener());
|
||||
|
||||
@@ -2127,4 +2127,15 @@ public class StringUtil {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static String formatLinks(String message) {
|
||||
Pattern linkPattern = Pattern.compile("http://[a-zA-Z0-9\\./\\-\\+]+");
|
||||
StringBuffer result = new StringBuffer();
|
||||
Matcher m = linkPattern.matcher(message);
|
||||
while (m.find()) {
|
||||
m.appendReplacement(result, "<a href=\"" + m.group() + "\">" + m.group() + "</a>");
|
||||
}
|
||||
m.appendTail(result);
|
||||
return result.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,4 +89,8 @@ public class StringUtilTest extends TestCase {
|
||||
assertEquals(1 ,StringUtil.naturalCompare("7403515080361171695", "07403515080361171694"));
|
||||
assertEquals(-14, StringUtil.naturalCompare("_firstField", "myField1"));
|
||||
}
|
||||
|
||||
public void testFormatLinks() {
|
||||
assertEquals("<a href=\"http://a-b+c\">http://a-b+c</a>", StringUtil.formatLinks("http://a-b+c"));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user