IDEA-CR-36787 add "Request Support..." to all IDEs

This commit is contained in:
Gregory.Shrago
2018-09-11 15:08:05 +03:00
parent 853b532fdb
commit 11fe0e4c02
6 changed files with 83 additions and 9 deletions

View File

@@ -21,7 +21,7 @@
<help file="ideahelp.jar" root="idea"/>
<documentation url="https://www.jetbrains.com/help/idea"/>
<support url="https://www.jetbrains.com/support/idea/index.html"/>
<support url="https://intellij-support.jetbrains.com/hc/en-us/requests/new?ticket_form_id=66731&amp;product=IDEA&amp;build=$BUILD&amp;os=$OS&amp;timezone=$TIMEZONE"/>
<youtrack url="https://youtrack.jetbrains.com/newissue?project=IDEA&amp;clearDraft=true&amp;c=Affected+versions+$BUILD&amp;description=$DESCR" />
<feedback url="https://www.jetbrains.com/feedback/feedback.jsp?product=IDEA&amp;build=$BUILD&amp;timezone=$TIMEZONE&amp;eval=$EVAL"/>
<whatsnew url="https://www.jetbrains.com/idea/whatsnew/index.html"/>

View File

@@ -5,18 +5,92 @@ package com.intellij.ide.actions;
import com.intellij.ide.BrowserUtil;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.application.ex.ApplicationInfoEx;
import com.intellij.openapi.application.impl.ApplicationInfoImpl;
import com.intellij.openapi.project.DumbAware;
import com.intellij.openapi.util.SystemInfo;
import com.intellij.openapi.util.SystemInfoRt;
import com.intellij.openapi.util.text.StringUtil;
import org.jetbrains.annotations.NotNull;
public class TechnicalSupportAction extends AnAction implements DumbAware {
@Override
public void actionPerformed(@NotNull AnActionEvent e) {
BrowserUtil.browse(ApplicationInfoImpl.getShadowInstance().getSupportUrl());
public void update(@NotNull AnActionEvent e) {
e.getPresentation().setVisible(ApplicationInfoImpl.getShadowInstance().getSupportUrl() != null);
}
@Override
public void update(@NotNull final AnActionEvent e) {
e.getPresentation().setVisible(ApplicationInfoImpl.getShadowInstance().getSupportUrl() != null);
public void actionPerformed(@NotNull AnActionEvent e) {
ApplicationInfoEx appInfo = ApplicationInfoImpl.getShadowInstance();
String urlTemplate = appInfo.getSupportUrl();
//Note: 66731 is the internal Zendesk ID for all IntelliJ-based IDEs
String url = urlTemplate
.replace("$BUILD", appInfo.getBuild().asStringWithoutProductCode())
.replace("$OS", getOSName())
.replace("$TIMEZONE", System.getProperty("user.timezone"));
BrowserUtil.browse(StringUtil.replace(url, " ", "%20"), e.getProject());
}
/*
Supported values for https://intellij-support.jetbrains.com
Linux: Fedora - fedora
Linux: Other - linux
Linux: Ubuntu - ubuntu
Mac OS X 10.5-10.7 - mac-old
Mac OS X 10.8+ - mac
Other - other-os
Solaris - solaris
Windows 10 - win-10
Windows 2003 - win-2003
Windows 2003 64-bit - win-2003-64
Windows 7 - win-7
Windows 7 64-bit - win-7-64
Windows 8 - win-8
Windows Vista - win-vista
Windows Vista 64-bit - win-vista-64
Windows XP - win-xp
Windows XP 64-bit - win-xp-64
*/
private static String getOSName() {
String name = "";
if (SystemInfo.isWindows) {
name += "win-";
name += getWindowsVersion();
if (SystemInfo.is64Bit) {
name += "-64";
}
}
else if (SystemInfo.isLinux) {
name += "linux";
}
else if (SystemInfo.isSolaris) {
name += "solaris";
}
else if (SystemInfo.isMac) {
name += "mac";
if (!SystemInfo.isOsVersionAtLeast("10.8")) {
name += "-old";
}
}
else {
name += "other-os";
}
return name;
}
private static boolean isWindowsVersion(String version) {
return StringUtil.compareVersionNumbers(SystemInfoRt.OS_VERSION, version) == 0;
}
private static String getWindowsVersion() {
if (isWindowsVersion("5.1")) return "xp";
if (isWindowsVersion("5.2")) return "2003";
if (isWindowsVersion("6.0")) return "vista";
if (isWindowsVersion("6.1")) return "7";
if (isWindowsVersion("6.2")) return "8";
if (isWindowsVersion("10.0")) return "10";
return "";
}
}

View File

@@ -1267,7 +1267,7 @@ action.EditCustomVmOptions.text=Edit Custom VM Options...
action.EditCustomVmOptions.description=Opens an editor tab with a custom VM options file
action.LogDebugConfigure.text=D_ebug Log Settings...
action.LogDebugConfigure.description=Enable or disable additional log categories. Allows to provide more information to the support team by request.
action.TechnicalSupport.text=_Support Center
action.TechnicalSupport.text=Request _Support...
action.TechnicalSupport.description=Access technical support on JetBrains website
action.ReportProblem.text=Report Problem...
action.ReportProblem.description=Report problem in JetBrains issue tracker

View File

@@ -15,7 +15,7 @@
<help file="ideahelp.jar" root="idea"/>
<documentation url="https://www.jetbrains.com/idea/documentation"/>
<support url="https://www.jetbrains.com/support/idea/index.html"/>
<support url="https://www.jetbrains.com/support/idea"/>
<youtrack url="https://youtrack.jetbrains.com"/>
<feedback url="https://www.jetbrains.com/feedback/feedback.jsp?product=IDEA&amp;build=$BUILD&amp;timezone=$TIMEZONE&amp;eval=$EVAL"/>
<whatsnew url="https://www.jetbrains.com/idea/whatsnew/index.html"/>

View File

@@ -19,7 +19,7 @@
<help webhelp-url="https://www.jetbrains.com/help/pycharm-edu"/>
<documentation url="https://www.jetbrains.com/pycharm-edu/quickstart/"/>
<support url="https://intellij-support.jetbrains.com/hc/en-us#"/>
<support url="https://intellij-support.jetbrains.com/hc/en-us/requests/new?ticket_form_id=66731&amp;product=PyCharm%20Edu&amp;build=$BUILD&amp;os=$OS&amp;timezone=$TIMEZONE"/>
<youtrack url="https://youtrack.jetbrains.com/newissue?project=EDU&amp;clearDraft=true&amp;c=Affected+versions+$BUILD&amp;description=$DESCR"/>
<feedback url="https://www.jetbrains.com/feedback/feedback.jsp?product=EduTools&amp;ide=PCE"/>
<whatsnew url="https://www.jetbrains.com/pycharm-edu/whatsnew/"/>

View File

@@ -20,7 +20,7 @@
<help webhelp-url="https://www.jetbrains.com/pycharm/webhelp"/>
<documentation url="https://www.jetbrains.com/pycharm/documentation"/>
<support url="https://intellij-support.jetbrains.com/hc/en-us#"/>
<support url="https://intellij-support.jetbrains.com/hc/en-us/requests/new?ticket_form_id=66731&amp;product=PyCharm&amp;build=$BUILD&amp;os=$OS&amp;timezone=$TIMEZONE"/>
<youtrack url="https://youtrack.jetbrains.com/newissue?project=PY&amp;clearDraft=true&amp;c=Affected+versions+$BUILD&amp;description=$DESCR"/>
<feedback url="https://www.jetbrains.com/feedback/feedback.jsp?product=PyCharm&amp;build=$BUILD&amp;timezone=$TIMEZONE&amp;eval=$EVAL"/>
<whatsnew url="https://www.jetbrains.com/pycharm/whatsnew/index.html"/>