[platform] handling 'mailto' URLs in BrowserLauncher.open

This commit is contained in:
Roman Shevchenko
2018-04-18 21:01:47 +02:00
parent 3bef87bbdb
commit 45d51db43e
@@ -23,6 +23,7 @@ import org.jetbrains.annotations.Contract
import java.awt.Desktop
import java.io.File
import java.io.IOException
import java.net.URI
import java.util.*
open class BrowserLauncherAppless : BrowserLauncher() {
@@ -100,6 +101,16 @@ open class BrowserLauncherAppless : BrowserLauncher() {
private fun openOrBrowse(_url: String, browse: Boolean, project: Project? = null) {
val url = signUrl(_url.trim { it <= ' ' })
if (url.startsWith("mailto:") && Desktop.getDesktop().isSupported(Desktop.Action.MAIL)) {
try {
Desktop.getDesktop().mail(URI(url))
}
catch (e: Exception) {
LOG.warn("failed to open: $url", e)
}
return
}
if (!BrowserUtil.isAbsoluteURL(url)) {
val file = File(url)
if (!browse && isDesktopActionSupported(Desktop.Action.OPEN)) {