diff --git a/core/resources/l10n/messages.properties b/core/resources/l10n/messages.properties
index 2ae825699..20cbc4bac 100644
--- a/core/resources/l10n/messages.properties
+++ b/core/resources/l10n/messages.properties
@@ -141,13 +141,13 @@ bugreport.dlg.but.Sendbugreport.Ttip = Automatically send the bug report to the
bugreport.dlg.successmsg1 = Bug report successfully sent.
bugreport.dlg.successmsg2 = Thank you for helping make OpenRocket better!
bugreport.dlg.successmsg3 = Bug report sent
-bugreport.dlg.connectedInternet = If connected to the Internet, you can simply click Send bug report.
-bugreport.dlg.otherwise = Otherwise, send the text below to the address:
-bugreport.lbl.Theinformation = The information above may be included in a public bug report. Make sure it does not contain any sensitive information you do not want to be made public.
+bugreport.dlg.connectedInternet = To submit a bug online, include the text below at:
+bugreport.dlg.otherwise = To submit a bug via email, send the text below to:
+bugreport.lbl.Theinformation = The information above may be included in a public bug report. Make sure it does not contain any sensitive information you do not want to be made public.
bugreport.dlg.failedmsg1 = OpenRocket was unable to send the bug report:
bugreport.dlg.failedmsg2 = Please send the report manually to
bugreport.dlg.failedmsg3 = Error sending report
-bugreport.reportDialog.txt = You can report a bug in OpenRocket by filling in and submitting the form below.
You can also report bugs and include attachments on the project web site.
+bugreport.reportDialog.txt = Bugs can be reported at the OpenRocket Github project site or by email.
bugreport.reportDialog.txt2 = Please include a short description about what you were doing when the exception occurred.
bugreport.dlg.provideDescription = Please provide a description of the bug first.
bugreport.dlg.provideDescription.title = Bug description missing
diff --git a/swing/src/net/sf/openrocket/gui/dialogs/BugReportDialog.java b/swing/src/net/sf/openrocket/gui/dialogs/BugReportDialog.java
index 59601bc09..5c2e7f43b 100644
--- a/swing/src/net/sf/openrocket/gui/dialogs/BugReportDialog.java
+++ b/swing/src/net/sf/openrocket/gui/dialogs/BugReportDialog.java
@@ -1,18 +1,12 @@
package net.sf.openrocket.gui.dialogs;
-import java.awt.Desktop;
import java.awt.Dialog;
import java.awt.Dimension;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URLEncoder;
import java.util.List;
import java.util.Locale;
import java.util.SortedSet;
@@ -21,31 +15,31 @@ import java.util.TreeSet;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
-import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
+import com.jogamp.opengl.JoglVersion;
+
import net.miginfocom.swing.MigLayout;
-import net.sf.openrocket.communication.BugReporter;
-import net.sf.openrocket.gui.components.SelectableLabel;
import net.sf.openrocket.gui.components.StyledLabel;
+import net.sf.openrocket.gui.components.URLLabel;
import net.sf.openrocket.gui.util.GUIUtil;
import net.sf.openrocket.l10n.Translator;
import net.sf.openrocket.logging.LogLevelBufferLogger;
import net.sf.openrocket.logging.LogLine;
import net.sf.openrocket.logging.LoggingSystemSetup;
import net.sf.openrocket.startup.Application;
-import net.sf.openrocket.util.BugException;
import net.sf.openrocket.util.BuildProperties;
import net.sf.openrocket.util.JarUtil;
-import com.jogamp.opengl.JoglVersion;
-
@SuppressWarnings("serial")
public class BugReportDialog extends JDialog {
+ private static final String NEW_ISSUES_URL = "https://github.com/openrocket/openrocket/issues/new";
private static final String REPORT_EMAIL = "openrocket-bugs@lists.sourceforge.net";
+ private static final String REPORT_EMAIL_URL = "mailto:" + REPORT_EMAIL;
+
private static final Translator trans = Application.getTranslator();
@@ -65,26 +59,22 @@ public class BugReportDialog extends JDialog {
//// If connected to the Internet, you can simply click
//// Send bug report.
label = new JLabel(trans.get("bugreport.dlg.connectedInternet"));
- d = label.getPreferredSize();
- d.width = 100000;
- label.setMaximumSize(d);
- panel.add(label, "gapleft para, wrap");
+ panel.add(label, "gapleft para, split 2, gapright rel");
+
+ panel.add(new URLLabel(NEW_ISSUES_URL), "growx, wrap para");
//// Otherwise, send the text below to the address:
panel.add(new JLabel(trans.get("bugreport.dlg.otherwise") + " "),
- "gapleft para, split 2, gapright rel");
- panel.add(new SelectableLabel(REPORT_EMAIL), "growx, wrap para");
+ "gapleft para, split 2, gapright rel");
+ panel.add(new URLLabel(REPORT_EMAIL_URL, REPORT_EMAIL), "growx, wrap para");
final JTextArea textArea = new JTextArea(message, 20, 70);
textArea.setEditable(true);
panel.add(new JScrollPane(textArea), "grow, wrap");
-
panel.add(new StyledLabel(trans.get("bugreport.lbl.Theinformation"), -1), "wrap para");
-
-
////Close button
JButton close = new JButton(trans.get("dlg.but.close"));
close.addActionListener(new ActionListener() {
@@ -95,67 +85,6 @@ public class BugReportDialog extends JDialog {
});
panel.add(close, "right, sizegroup buttons, split");
-
- //// Mail button
- // if (Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Action.MAIL)) {
- // JButton mail = new JButton("Open email");
- // mail.setToolTipText("Open email client with the suitable email ready.");
- // mail.addActionListener(new ActionListener() {
- // @Override
- // public void actionPerformed(ActionEvent e) {
- // String text = textArea.getText();
- // openEmail(text);
- // }
- // });
- // panel.add(mail, "right, sizegroup buttons");
- // }
-
-
- //// Send bug report button
- JButton send = new JButton(trans.get("bugreport.dlg.but.Sendbugreport"));
- //// Automatically send the bug report to the OpenRocket developers.
- send.setToolTipText(trans.get("bugreport.dlg.but.Sendbugreport.Ttip"));
- send.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- String text = textArea.getText();
- if (text.equals(message) && !sendIfUnchanged) {
- JOptionPane.showMessageDialog(BugReportDialog.this,
- trans.get("bugreport.dlg.provideDescription"),
- trans.get("bugreport.dlg.provideDescription.title"), JOptionPane.ERROR_MESSAGE);
- return;
- }
-
- try {
-
- BugReporter.sendBugReport(text);
-
- // Success if we came here
- //bugreport.dlg.successmsg
- /*JOptionPane.showMessageDialog(BugReportDialog.this,
- new Object[] { "Bug report successfully sent.",
- "Thank you for helping make OpenRocket better!" },
- "Bug report sent", JOptionPane.INFORMATION_MESSAGE);*/
- JOptionPane.showMessageDialog(BugReportDialog.this,
- new Object[] { trans.get("bugreport.dlg.successmsg1"),
- trans.get("bugreport.dlg.successmsg2") },
- trans.get("bugreport.dlg.successmsg3"), JOptionPane.INFORMATION_MESSAGE);
-
- } catch (Exception ex) {
- // Sending the message failed.
- JOptionPane.showMessageDialog(BugReportDialog.this,
- //// OpenRocket was unable to send the bug report:
- new Object[] { trans.get("bugreport.dlg.failedmsg1"),
- ex.getClass().getSimpleName() + ": " + ex.getMessage(), " ",
- //// Please send the report manually to
- trans.get("bugreport.dlg.failedmsg2") + " " + REPORT_EMAIL },
- //// Error sending report
- trans.get("bugreport.dlg.failedmsg3"), JOptionPane.ERROR_MESSAGE);
- }
- }
- });
- panel.add(send, "right, sizegroup buttons");
-
this.add(panel);
this.validate();
@@ -163,11 +92,9 @@ public class BugReportDialog extends JDialog {
this.pack();
this.setLocationRelativeTo(parent);
- GUIUtil.setDisposableDialogOptions(this, send);
+ GUIUtil.setDisposableDialogOptions(this, close);
}
-
-
/**
* Show a general bug report dialog allowing the user to input information about
* the bug they encountered.
@@ -272,7 +199,6 @@ public class BugReportDialog extends JDialog {
reportDialog.setVisible(true);
}
-
private static void addSystemInformation(StringBuilder sb) {
sb.append("OpenRocket version: " + BuildProperties.getVersion() + "\n");
sb.append("OpenRocket source: " + BuildProperties.getBuildSource() + "\n");
@@ -301,7 +227,6 @@ public class BugReportDialog extends JDialog {
}
}
-
private static void addErrorLog(StringBuilder sb) {
LogLevelBufferLogger buffer = LoggingSystemSetup.getBufferLogger();
List logs = buffer.getLogs();
@@ -310,49 +235,4 @@ public class BugReportDialog extends JDialog {
}
}
-
-
- /**
- * Open the default email client with the suitable bug report.
- * Note that this does not work on some systems even if Desktop.isSupported()
- * claims so.
- *
- * @param text the bug report text.
- * @return whether opening the client succeeded.
- */
- @SuppressWarnings("unused")
- private boolean openEmail(String text) {
- String version;
-
- try {
- text = URLEncoder.encode(text, "UTF-8");
- version = URLEncoder.encode(BuildProperties.getVersion(), "UTF-8");
- } catch (UnsupportedEncodingException e) {
- throw new BugException(e);
- }
-
-
-
- String mailto = "mailto:" + REPORT_EMAIL
- + "?subject=Bug%20report%20for%20OpenRocket%20" + version
- + "?body=" + text;
- URI uri;
- try {
- uri = new URI(mailto);
- } catch (URISyntaxException e) {
- e.printStackTrace();
- return false;
- }
-
- Desktop desktop = Desktop.getDesktop();
- try {
- desktop.mail(uri);
- } catch (IOException e) {
- e.printStackTrace();
- return false;
- }
-
- return true;
- }
-
}