Skip to content

Commit

Permalink
Added Links and Updated the About dialog
Browse files Browse the repository at this point in the history
  • Loading branch information
deathmarine committed Nov 17, 2016
1 parent 8245759 commit 674ae0d
Show file tree
Hide file tree
Showing 2 changed files with 94 additions and 8 deletions.
27 changes: 27 additions & 0 deletions src/us/deathmarine/luyten/Luyten.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package us.deathmarine.luyten;

import java.awt.Component;
import java.awt.Cursor;
import java.awt.Desktop;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
Expand All @@ -14,6 +16,8 @@
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.concurrent.atomic.AtomicReference;
import java.util.List;
import java.util.ArrayList;
Expand Down Expand Up @@ -128,6 +132,7 @@ public static String getVersion(){

/**
* Method allows for users to copy the stacktrace for reporting any issues.
* Add Cool Hyperlink
* Enhanced for mouse users.
*
* @param message
Expand Down Expand Up @@ -186,6 +191,28 @@ public void actionPerformed(ActionEvent e) {
JScrollPane scroll = new JScrollPane(exception);
scroll.setBorder(new CompoundBorder(BorderFactory.createTitledBorder("Stacktrace"),new BevelBorder(BevelBorder.LOWERED)));
pane.add(scroll);
final String issue = "https://github.com/deathmarine/Luyten/issues";
final JLabel link = new JLabel("<HTML>Submit to <FONT color=\"#000099\"><U>"+issue+"</U></FONT></HTML>");
link.setCursor(new Cursor(Cursor.HAND_CURSOR));
link.addMouseListener(new MouseAdapter(){
@Override
public void mouseClicked(MouseEvent e) {
try {
Desktop.getDesktop().browse(new URI(issue));
} catch (Exception e1) {
e1.printStackTrace();
}
}
@Override
public void mouseEntered(MouseEvent e) {
link.setText("<HTML>Submit to <FONT color=\"#00aa99\"><U>"+issue+"</U></FONT></HTML>");
}
@Override
public void mouseExited(MouseEvent e) {
link.setText("<HTML>Submit to <FONT color=\"#000099\"><U>"+issue+"</U></FONT></HTML>");
}
});
pane.add(link);
JOptionPane.showMessageDialog(null, pane, "Error!", JOptionPane.ERROR_MESSAGE);
}
}
75 changes: 67 additions & 8 deletions src/us/deathmarine/luyten/MainMenuBar.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,28 @@
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.net.URI;
import java.awt.Cursor;
import java.awt.Desktop;
import java.awt.Font;
import java.awt.Toolkit;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import javax.swing.AbstractAction;
import javax.swing.AbstractButton;
import javax.swing.BoxLayout;
import javax.swing.ButtonGroup;
import javax.swing.ButtonModel;
import javax.swing.JCheckBox;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.KeyStroke;
import javax.swing.text.DefaultEditorKit;
Expand Down Expand Up @@ -474,14 +483,38 @@ public void actionPerformed(ActionEvent e) {
menuItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent event) {
JOptionPane.showMessageDialog(null,
"Luyten " + Luyten.getVersion() +
"\nby Deathmarine, Zerdei\n\n" +
"Powered By\nProcyon "+ Procyon.version()+
"\n(c) 2015 Mike Strobel\n\n" +
"RSyntaxTextArea\n" +
"(c) 2012 Robert Futrell\n" +
"All rights reserved.");
JPanel pane = new JPanel();
pane.setLayout(new BoxLayout(pane, BoxLayout.PAGE_AXIS));
JLabel title = new JLabel("Luyten "+Luyten.getVersion());
title.setFont(new Font(Font.SANS_SERIF,Font.PLAIN,18));
pane.add(title);
pane.add(new JLabel("by Deathmarine"));
String project = "https://github.com/deathmarine/Luyten/";
JLabel link = new JLabel("<HTML><FONT color=\"#000099\"><U>"+project+"</U></FONT></HTML>");
link.setCursor(new Cursor(Cursor.HAND_CURSOR));
link.addMouseListener(new LinkListener(project, link));
pane.add(link);
pane.add(new JLabel("Contributions By:"));
pane.add(new JLabel("zerdei, toonetown, dstmath"));
pane.add(new JLabel("virustotalop, xtrafrancyz"));
pane.add(new JLabel("mbax, quitten, and mstrobel"));
pane.add(new JLabel(" "));
pane.add(new JLabel("Powered By:"));
String procyon = "https://bitbucket.org/mstrobel/procyon";
link = new JLabel("<HTML><FONT color=\"#000099\"><U>"+procyon+"</U></FONT></HTML>");
link.setCursor(new Cursor(Cursor.HAND_CURSOR));
link.addMouseListener(new LinkListener(procyon, link));
pane.add(link);
pane.add(new JLabel("Version:"+Procyon.version()));
pane.add(new JLabel("(c) 2016 Mike Strobel"));
String rsyntax = "https://github.com/bobbylight/RSyntaxTextArea";
link = new JLabel("<HTML><FONT color=\"#000099\"><U>"+rsyntax+"</U></FONT></HTML>");
link.setCursor(new Cursor(Cursor.HAND_CURSOR));
link.addMouseListener(new LinkListener(rsyntax, link));
pane.add(link);
pane.add(new JLabel("(c) 2016 Robert Futrell"));
pane.add(new JLabel(" "));
JOptionPane.showMessageDialog(null,pane);
}
});
helpMenu.add(menuItem);
Expand Down Expand Up @@ -540,4 +573,30 @@ public void actionPerformed(ActionEvent e) {
mainWindow.onThemesChanged();
}
}

private class LinkListener extends MouseAdapter{
String link;
JLabel label;
public LinkListener(String link, JLabel label){
this.link = link;
this.label = label;
}
@Override
public void mouseClicked(MouseEvent e) {
try {
Desktop.getDesktop().browse(new URI(link));
} catch (Exception e1) {
e1.printStackTrace();
}
}
@Override
public void mouseEntered(MouseEvent e) {
label.setText("<HTML><FONT color=\"#00aa99\"><U>"+link+"</U></FONT></HTML>");
}
@Override
public void mouseExited(MouseEvent e) {
label.setText("<HTML><FONT color=\"#000099\"><U>"+link+"</U></FONT></HTML>");
}

}
}

0 comments on commit 674ae0d

Please sign in to comment.