Include "Where is FileBot Subtitles?" help link for MAS users

This commit is contained in:
Reinhard Pointner 2016-03-25 08:16:15 +00:00
parent bcec36bf79
commit e1c2d7bd2c
2 changed files with 27 additions and 30 deletions

View File

@ -5,9 +5,7 @@ import static net.filebot.util.FileUtilities.*;
import java.awt.GraphicsEnvironment;
import java.io.File;
import java.util.LinkedHashMap;
import java.util.Locale;
import java.util.Map;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
import java.util.logging.Level;
@ -162,27 +160,6 @@ public final class Settings {
return getApplicationProperty("link.app.help") + '#' + getApplicationDeployment();
}
public static Map<String, String> getHelpURIs() {
Map<String, String> links = new LinkedHashMap<String, String>();
links.put("Getting Started", getApplicationProperty("link.intro"));
links.put("FAQ", getApplicationProperty("link.faq"));
links.put("Forums", getApplicationProperty("link.forums"));
if (isMacSandbox()) {
links.put("Report Bugs", getApplicationProperty("link.help.mas"));
links.put("Request Help", getApplicationProperty("link.help.mas"));
} else {
links.put("Report Bugs", getApplicationProperty("link.bugs"));
links.put("Request Help", getApplicationProperty("link.help"));
}
links.put("Contact us on Twitter", getApplicationProperty("link.twitter"));
links.put("Contact us on Facebook", getApplicationProperty("link.facebook"));
return links;
}
public static String getApplicationIdentifier() {
return String.format("%s %s (r%d)", getApplicationName(), getApplicationVersion(), getApplicationRevisionNumber());
}

View File

@ -1,6 +1,7 @@
package net.filebot.ui;
import static net.filebot.Logging.*;
import static net.filebot.Settings.*;
import static net.filebot.util.ui.SwingUI.*;
import java.awt.Desktop;
@ -11,25 +12,44 @@ import javax.swing.Action;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import net.filebot.Settings;
public class FileBotMenuBar {
public static JMenuBar createHelp() {
JMenu help = new JMenu("Help");
Settings.getHelpURIs().forEach((title, uri) -> {
help.add(createLink(title, URI.create(uri)));
});
help.add(createLink("Getting Started", getApplicationProperty("link.intro")));
help.add(createLink("FAQ", getApplicationProperty("link.faq")));
help.add(createLink("Forums", getApplicationProperty("link.forums")));
help.addSeparator();
if (isMacSandbox()) {
help.add(createLink("Report Bugs", getApplicationProperty("link.help.mas")));
help.add(createLink("Request Help", getApplicationProperty("link.help.mas")));
} else {
help.add(createLink("Report Bugs", getApplicationProperty("link.bugs")));
help.add(createLink("Request Help", getApplicationProperty("link.help")));
}
help.addSeparator();
help.add(createLink("Contact us on Twitter", getApplicationProperty("link.twitter")));
help.add(createLink("Contact us on Facebook", getApplicationProperty("link.facebook")));
if (isMacSandbox()) {
help.addSeparator();
help.add(createLink("Where is FileBot Subtitles?", "https://bit.ly/filebot-subtitles"));
}
JMenuBar menuBar = new JMenuBar();
menuBar.add(help);
return menuBar;
}
private static Action createLink(final String title, final URI uri) {
private static Action createLink(final String title, final String uri) {
return newAction(title, null, evt -> {
try {
Desktop.getDesktop().browse(uri);
Desktop.getDesktop().browse(URI.create(uri));
} catch (Exception e) {
debug.log(Level.SEVERE, "Failed to open URI: " + uri, e);
}