1 package net.sf.openrocket.gui.help.tours;
3 import java.awt.Desktop;
4 import java.awt.Window;
7 import javax.swing.JOptionPane;
8 import javax.swing.event.HyperlinkEvent;
9 import javax.swing.event.HyperlinkEvent.EventType;
10 import javax.swing.event.HyperlinkListener;
12 import net.sf.openrocket.l10n.Translator;
13 import net.sf.openrocket.logging.LogHelper;
14 import net.sf.openrocket.startup.Application;
16 public class SlideShowLinkListener implements HyperlinkListener {
18 private static final LogHelper log = Application.getLogger();
19 private static final Translator trans = Application.getTranslator();
21 private final Window parent;
23 public SlideShowLinkListener(Window parent) {
28 public void hyperlinkUpdate(HyperlinkEvent event) {
30 if (event.getEventType() != EventType.ACTIVATED) {
34 URL url = event.getURL();
35 if (url != null && (url.getProtocol().equalsIgnoreCase("http") || url.getProtocol().equals("https"))) {
37 if (Desktop.isDesktopSupported()) {
39 Desktop.getDesktop().browse(url.toURI());
40 } catch (Exception e) {
47 String name = event.getDescription();
49 SlideSet ss = SlideSetManager.getSlideSetManager().getSlideSet(name);
51 SlideShowDialog dialog = new SlideShowDialog(parent);
52 dialog.setSlideSet(ss, 0);
53 dialog.setVisible(true);
54 } catch (IllegalArgumentException e) {
55 log.warn("Guided tour '" + name + "' not found");
56 JOptionPane.showMessageDialog(parent,
57 trans.get("error.msg"), trans.get("error.title"), JOptionPane.WARNING_MESSAGE);