diff --git a/source/net/filebot/Main.java b/source/net/filebot/Main.java index ff2d313b..0bd18481 100644 --- a/source/net/filebot/Main.java +++ b/source/net/filebot/Main.java @@ -9,7 +9,6 @@ import static net.filebot.util.ui.SwingUI.*; import java.awt.Desktop; import java.awt.Dialog.ModalityType; -import java.awt.Image; import java.awt.event.ActionEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; @@ -30,8 +29,6 @@ import java.security.PermissionCollection; import java.security.Permissions; import java.security.Policy; import java.security.ProtectionDomain; -import java.util.ArrayList; -import java.util.List; import java.util.Locale; import java.util.Properties; import java.util.Scanner; @@ -277,11 +274,7 @@ public class Main { MacAppUtilities.setDefaultMenuBar(FileBotMenuBar.createHelp()); } else { // Windows / Linux specific configuration - List images = new ArrayList(3); - for (String i : new String[] { "window.icon.large", "window.icon.medium", "window.icon.small" }) { - images.add(ResourceManager.getImage(i)); - } - frame.setIconImages(images); + frame.setIconImages(ResourceManager.getApplicationIcons()); } // start application diff --git a/source/net/filebot/ResourceManager.java b/source/net/filebot/ResourceManager.java index 433064c9..41fced35 100644 --- a/source/net/filebot/ResourceManager.java +++ b/source/net/filebot/ResourceManager.java @@ -1,38 +1,43 @@ - package net.filebot; +import static java.util.Arrays.*; import java.awt.Image; import java.io.IOException; import java.net.URL; +import java.util.List; import javax.imageio.ImageIO; import javax.swing.Icon; import javax.swing.ImageIcon; - public final class ResourceManager { - + public static Icon getIcon(String name) { return getIcon(name, null); } - - + public static Icon getIcon(String name, String def) { URL resource = getImageResource(name, def); - + if (resource == null) return null; - + return new ImageIcon(resource); } - - + + public static List getApplicationIcons() { + Image[] images = new Image[3]; + images[0] = ResourceManager.getImage("window.icon.small"); + images[1] = ResourceManager.getImage("window.icon.medium"); + images[2] = ResourceManager.getImage("window.icon.large"); + return asList(images); + } + public static Icon getFlagIcon(String languageCode) { return getIcon(String.format("flags/%s", languageCode)); } - - + public static Image getImage(String name) { try { return ImageIO.read(getImageResource(name)); @@ -40,35 +45,32 @@ public final class ResourceManager { throw new RuntimeException(e); } } - - + /** - * Get the URL of an image resource in this jar. Image must be located in resources/ and the file type - * is assumed to be png. + * Get the URL of an image resource in this jar. Image must be located in resources/ and the file type is assumed to be png. * - * @param name simple name of the resource (without extension) + * @param name + * simple name of the resource (without extension) * @return URL of the resource or null if resource does not exist */ private static URL getImageResource(String name) { return ResourceManager.class.getResource("resources/" + name + ".png"); } - - + private static URL getImageResource(String name, String def) { URL resource = getImageResource(name); - + if (resource == null) resource = getImageResource(def); - + return resource; } - - + /** * Dummy constructor to prevent instantiation. */ private ResourceManager() { throw new UnsupportedOperationException(); } - + } diff --git a/source/net/filebot/ui/GettingStartedStage.java b/source/net/filebot/ui/GettingStartedStage.java index 0446c51f..4eb164b6 100644 --- a/source/net/filebot/ui/GettingStartedStage.java +++ b/source/net/filebot/ui/GettingStartedStage.java @@ -1,5 +1,7 @@ package net.filebot.ui; +import static net.filebot.Settings.*; + import java.awt.Desktop; import java.net.URI; import java.util.logging.Level; @@ -12,6 +14,7 @@ import javafx.scene.paint.Color; import javafx.scene.web.WebEngine; import javafx.scene.web.WebView; import javafx.stage.Stage; +import javafx.stage.StageStyle; import net.filebot.Main; import net.filebot.Settings; @@ -26,6 +29,14 @@ public class GettingStartedStage { Stage stage = new Stage(); stage.setResizable(false); + if (isMacApp()) { + // Mac OS X specific configuration + stage.initStyle(StageStyle.DECORATED); + } else { + // Windows / Linux specific configuration + stage.initStyle(StageStyle.UTILITY); + } + GettingStartedStage view = new GettingStartedStage(stage); view.show(); });