package org.elixir_lang.utils;
import com.intellij.notification.Notification;
import com.intellij.notification.NotificationListener;
import com.intellij.openapi.options.ShowSettingsUtil;
import com.intellij.openapi.project.Project;
import org.elixir_lang.settings.ElixirExternalToolsConfigurable;
import org.jetbrains.annotations.NotNull;
import javax.swing.event.HyperlinkEvent;
/**
* Created by zyuyou on 15/7/8.
* https://github.com/ignatov/intellij-erlang/blob/master/src/org/intellij/erlang/utils/ErlangExternalToolsNotificationListener.java
*/
public class ElixirExternalToolsNotificationListener implements NotificationListener {
@NotNull
private final Project myProject;
public ElixirExternalToolsNotificationListener(@NotNull Project project) {
myProject = project;
}
@Override
public void hyperlinkUpdate(@NotNull Notification notification, @NotNull HyperlinkEvent event) {
if(event.getEventType() == HyperlinkEvent.EventType.ACTIVATED){
if(event.getDescription().equals("configure") && !myProject.isDisposed()){
ShowSettingsUtil.getInstance().showSettingsDialog(myProject, ElixirExternalToolsConfigurable.ELIXIR_RELATED_TOOLS);
}
}
}
}