From 2a7625f240851e34a9dffa99b7f7951e47044fb1 Mon Sep 17 00:00:00 2001 From: James <38226001+james-munson@users.noreply.github.com> Date: Sat, 20 Apr 2019 23:41:48 -0700 Subject: [PATCH] Adds splash screen (#29) * clock manager: wrap panel to run on swing thread * Add splash screen to Runelite Although RuneLite is still fast at loading, it's more user friendly for at least something to pop up before the client. There is also an option (-no-splash) to disable the splash screen. This uses psikoi's design. * splash screen/client ui: don't set up theme twice Setting up the look and feel of RuneLite shouldn't happen twice, so check to see if it has already been set up before setting up the look and feel. --- .../java/net/runelite/client/RuneLite.java | 22 +- .../timetracking/clocks/ClockManager.java | 17 +- .../java/net/runelite/client/ui/ClientUI.java | 10 +- .../client/ui/RuneLiteSplashScreen.java | 213 ++++++++++++++++++ .../net/runelite/client/util/SwingUtil.java | 35 +++ .../main/resources/runelite_transparent.png | Bin 0 -> 19182 bytes .../src/main/resources/runeliteplus.png | Bin 0 -> 25982 bytes .../resources/runeliteplus_transparent.png | Bin 0 -> 23294 bytes 8 files changed, 286 insertions(+), 11 deletions(-) create mode 100644 runelite-client/src/main/java/net/runelite/client/ui/RuneLiteSplashScreen.java create mode 100644 runelite-client/src/main/resources/runelite_transparent.png create mode 100644 runelite-client/src/main/resources/runeliteplus.png create mode 100644 runelite-client/src/main/resources/runeliteplus_transparent.png diff --git a/runelite-client/src/main/java/net/runelite/client/RuneLite.java b/runelite-client/src/main/java/net/runelite/client/RuneLite.java index 74594a8ed4..71aad5f534 100644 --- a/runelite-client/src/main/java/net/runelite/client/RuneLite.java +++ b/runelite-client/src/main/java/net/runelite/client/RuneLite.java @@ -61,6 +61,7 @@ import net.runelite.client.plugins.PluginManager; import net.runelite.client.rs.ClientUpdateCheckMode; import net.runelite.client.ui.ClientUI; import net.runelite.client.ui.DrawManager; +import net.runelite.client.ui.RuneLiteSplashScreen; import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayRenderer; import net.runelite.client.ui.overlay.WidgetOverlay; @@ -79,8 +80,10 @@ public class RuneLite public static final File PROFILES_DIR = new File(RUNELITE_DIR, "profiles"); public static final File PLUGIN_DIR = new File(RUNELITE_DIR, "plugins"); public static final File SCREENSHOT_DIR = new File(RUNELITE_DIR, "screenshots"); + private static final RuneLiteSplashScreen splashScreen = new RuneLiteSplashScreen(); - @Getter + + @Getter private static Injector injector; @Inject @@ -160,6 +163,7 @@ public class RuneLite final OptionParser parser = new OptionParser(); parser.accepts("developer-mode", "Enable developer tools"); parser.accepts("debug", "Show extra debugging output"); + parser.accepts("no-splash", "Do not show the splash screen"); final ArgumentAcceptingOptionSpec updateMode = parser .accepts("rs", "Select client type") @@ -213,6 +217,14 @@ public class RuneLite } }); + if (!options.has("no-splash")) + { + splashScreen.open(4); + } + + // The submessage is shown in case the connection is slow + splashScreen.setMessage("Loading client", "And checking for updates..."); + final long start = System.currentTimeMillis(); injector = Guice.createInjector(new RuneLiteModule( @@ -239,6 +251,7 @@ public class RuneLite } // Load user configuration + splashScreen.setMessage("Loading configuration"); configManager.load(); // Load the session, including saved configuration @@ -252,6 +265,7 @@ public class RuneLite // Load the plugins, but does not start them yet. // This will initialize configuration + splashScreen.setMessage("Loading plugins and patches", "Starting session..."); pluginManager.loadCorePlugins(); // Plugins have provided their config, so set default config @@ -261,9 +275,15 @@ public class RuneLite // Start client session clientSessionManager.start(); + // Load the session, including saved configuration + splashScreen.setMessage("Loading interface"); + // Initialize UI clientUI.open(this); + // Close the splash screen + splashScreen.close(); + // Initialize Discord service discordService.init(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/clocks/ClockManager.java b/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/clocks/ClockManager.java index 42686dae70..3be9dc053b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/clocks/ClockManager.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/clocks/ClockManager.java @@ -27,6 +27,7 @@ package net.runelite.client.plugins.timetracking.clocks; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import com.google.inject.Singleton; +import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; @@ -34,11 +35,13 @@ import javax.inject.Inject; import javax.swing.SwingUtilities; import joptsimple.internal.Strings; import lombok.Getter; +import lombok.extern.slf4j.Slf4j; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; import net.runelite.client.plugins.timetracking.TimeTrackingConfig; @Singleton +@Slf4j public class ClockManager { @Inject @@ -57,7 +60,19 @@ public class ClockManager private final List stopwatches = new ArrayList<>(); @Getter - private ClockTabPanel clockTabPanel = new ClockTabPanel(this); + private ClockTabPanel clockTabPanel; + + ClockManager() + { + try + { + SwingUtilities.invokeAndWait(() -> clockTabPanel = new ClockTabPanel(this)); + } + catch (InterruptedException | InvocationTargetException e) + { + log.error("Error constructing ClockManager", e); + } + } void addTimer() { diff --git a/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java b/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java index 96ba6c31e6..4722b0027e 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/ClientUI.java @@ -83,7 +83,6 @@ import net.runelite.client.input.KeyManager; import net.runelite.client.input.MouseAdapter; import net.runelite.client.input.MouseListener; import net.runelite.client.input.MouseManager; -import net.runelite.client.ui.skin.SubstanceRuneLiteLookAndFeel; import net.runelite.client.util.HotkeyListener; import net.runelite.client.util.ImageUtil; import net.runelite.client.util.OSType; @@ -300,14 +299,7 @@ public class ClientUI { SwingUtilities.invokeAndWait(() -> { - // Set some sensible swing defaults - SwingUtil.setupDefaults(); - - // Use substance look and feel - SwingUtil.setTheme(new SubstanceRuneLiteLookAndFeel()); - - // Use custom UI font - SwingUtil.setFont(FontManager.getRunescapeFont()); + SwingUtil.setupRuneLiteLookAndFeel(); // Create main window frame = new ContainableFrame(); diff --git a/runelite-client/src/main/java/net/runelite/client/ui/RuneLiteSplashScreen.java b/runelite-client/src/main/java/net/runelite/client/ui/RuneLiteSplashScreen.java new file mode 100644 index 0000000000..925238d58e --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/ui/RuneLiteSplashScreen.java @@ -0,0 +1,213 @@ +/* + * Copyright (c) 2016-2017, Jeremy Plsek + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.ui; + +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import java.awt.Image; +import java.awt.Insets; +import java.awt.image.BufferedImage; +import java.io.IOException; +import javax.imageio.ImageIO; +import javax.inject.Singleton; +import javax.swing.ImageIcon; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JProgressBar; +import javax.swing.SwingUtilities; +import lombok.extern.slf4j.Slf4j; +import net.runelite.client.RuneLiteProperties; +import net.runelite.client.util.SwingUtil; +import org.pushingpixels.substance.internal.SubstanceSynapse; + +/** + * This is a custom Splash Screen and does not use Java's SplashScreen class. This has helper methods to update the + * status while loading RuneLite. All public methods run non-blocking passed to the swing thread. + */ +@Slf4j +@Singleton +public class RuneLiteSplashScreen +{ + private RuneLiteProperties runeLiteProperties = new RuneLiteProperties(); + + private JFrame frame; + private JLabel messageLabel; + private JLabel subMessageLabel; + private JProgressBar progressBar; + + private int currentStep; + + /** + * This is not done in the constructor in order to avoid processing in case the user chooses to not load + * the splash screen. + * @param estimatedSteps steps until completion, used for the progress bar + */ + private void initLayout(final int estimatedSteps) + { + SwingUtil.setupRuneLiteLookAndFeel(); + + // init fields with updated swing look and feel + frame = new JFrame("RuneLitePlus Loading"); + messageLabel = new JLabel("Loading..."); + subMessageLabel = new JLabel(); + progressBar = new JProgressBar(0, estimatedSteps); + + // frame setup + frame.setSize(220, 290); + frame.setLocationRelativeTo(null); + frame.setUndecorated(true); + + // main panel setup + final JPanel panel = new JPanel(); + // To reduce substance's colorization (tinting) + panel.putClientProperty(SubstanceSynapse.COLORIZATION_FACTOR, 1.0); + panel.setBackground(ColorScheme.DARKER_GRAY_COLOR); + final GridBagLayout layout = new GridBagLayout(); + layout.columnWeights = new double[]{1}; + layout.rowWeights = new double[]{1, 0, 0, 1, 0, 1}; + panel.setLayout(layout); + + // logo + synchronized (ImageIO.class) + { + try + { + final BufferedImage logo = ImageIO.read(RuneLiteSplashScreen.class.getResourceAsStream("/runeliteplus.png")); + frame.setIconImage(logo); + + final BufferedImage logoTransparent = ImageIO.read(RuneLiteSplashScreen.class.getResourceAsStream("/runeliteplus_transparent.png")); + final GridBagConstraints logoConstraints = new GridBagConstraints(); + logoConstraints.anchor = GridBagConstraints.SOUTH; + panel.add(new JLabel(new ImageIcon(logoTransparent.getScaledInstance(96, 96, Image.SCALE_SMOOTH))), logoConstraints); + } + catch (IOException e) + { + log.warn("Error loading logo", e); + } + } + + // runelite title + final JLabel title = new JLabel("RuneLitePlus"); + final GridBagConstraints titleConstraints = new GridBagConstraints(); + titleConstraints.gridy = 1; + panel.add(title, titleConstraints); + + // version + final JLabel version = new JLabel("Version " + runeLiteProperties.getVersion()); + version.setFont(FontManager.getRunescapeSmallFont()); + version.setForeground(version.getForeground().darker()); + final GridBagConstraints versionConstraints = new GridBagConstraints(); + versionConstraints.gridy = 2; + panel.add(version, versionConstraints); + + // progressbar + final GridBagConstraints progressConstraints = new GridBagConstraints(); + progressConstraints.insets = new Insets(0, 30, 5, 30); + progressConstraints.fill = GridBagConstraints.HORIZONTAL; + progressConstraints.anchor = GridBagConstraints.SOUTH; + progressConstraints.gridy = 3; + panel.add(progressBar, progressConstraints); + + // main message + messageLabel.setFont(FontManager.getRunescapeSmallFont()); + final GridBagConstraints messageConstraints = new GridBagConstraints(); + messageConstraints.gridy = 4; + panel.add(messageLabel, messageConstraints); + + // alternate message + subMessageLabel.setForeground(subMessageLabel.getForeground().darker()); + subMessageLabel.setFont(FontManager.getRunescapeSmallFont()); + final GridBagConstraints altConstrains = new GridBagConstraints(); + altConstrains.anchor = GridBagConstraints.NORTH; + altConstrains.gridy = 5; + panel.add(subMessageLabel, altConstrains); + + frame.setContentPane(panel); + } + + private boolean notActive() + { + return frame == null || !frame.isDisplayable(); + } + + /** + * Close/dispose of the splash screen + */ + public void close() + { + SwingUtilities.invokeLater(() -> + { + if (notActive()) + { + return; + } + + frame.dispose(); + }); + } + + /** + * Set the splash screen to be visible. + * @param estimatedSteps steps until completion, used for the progress bar + */ + public void open(final int estimatedSteps) + { + SwingUtilities.invokeLater(() -> + { + initLayout(estimatedSteps); + frame.setVisible(true); + }); + } + + /** + * Set a loading message. The subMessage will also be removed. + * @param message The main message. It will automatically append an ellipsis. + */ + public void setMessage(final String message) + { + setMessage(message, " "); + } + + /** + * Set a loading message. + * @param message The main message. It will automatically append an ellipsis. + * @param subMessage A separate alternate title. + */ + public void setMessage(final String message, final String subMessage) + { + SwingUtilities.invokeLater(() -> + { + if (notActive()) + { + return; + } + + messageLabel.setText(message + "..."); + subMessageLabel.setText(subMessage); + progressBar.setValue(++currentStep); + }); + } +} diff --git a/runelite-client/src/main/java/net/runelite/client/util/SwingUtil.java b/runelite-client/src/main/java/net/runelite/client/util/SwingUtil.java index 39fc738f1f..e8aaef79a6 100644 --- a/runelite-client/src/main/java/net/runelite/client/util/SwingUtil.java +++ b/runelite-client/src/main/java/net/runelite/client/util/SwingUtil.java @@ -26,6 +26,7 @@ package net.runelite.client.util; import java.awt.AWTException; import java.awt.Color; +import java.awt.Dimension; import java.awt.Font; import java.awt.Frame; import java.awt.Image; @@ -52,11 +53,15 @@ import javax.swing.ToolTipManager; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import static javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE; +import javax.swing.border.EmptyBorder; import javax.swing.plaf.FontUIResource; +import javax.swing.plaf.basic.BasicProgressBarUI; import lombok.extern.slf4j.Slf4j; import net.runelite.client.ui.ColorScheme; +import net.runelite.client.ui.FontManager; import net.runelite.client.ui.NavigationButton; import net.runelite.client.ui.components.CustomScrollBarUI; +import net.runelite.client.ui.skin.SubstanceRuneLiteLookAndFeel; import org.pushingpixels.substance.internal.SubstanceSynapse; /** @@ -65,6 +70,8 @@ import org.pushingpixels.substance.internal.SubstanceSynapse; @Slf4j public class SwingUtil { + private static boolean lookAndFeelIsSet = false; + /** * Sets some sensible defaults for swing. * IMPORTANT! Needs to be called before main frame creation @@ -87,6 +94,14 @@ public class SwingUtil UIManager.put("FormattedTextField.selectionForeground", Color.WHITE); UIManager.put("TextArea.selectionBackground", ColorScheme.BRAND_ORANGE_TRANSPARENT); UIManager.put("TextArea.selectionForeground", Color.WHITE); + UIManager.put("ProgressBar.background", ColorScheme.BRAND_ORANGE_TRANSPARENT.darker()); + UIManager.put("ProgressBar.foreground", ColorScheme.BRAND_ORANGE); + UIManager.put("ProgressBar.selectionBackground", ColorScheme.BRAND_ORANGE); + UIManager.put("ProgressBar.selectionForeground", Color.BLACK); + UIManager.put("ProgressBar.border", new EmptyBorder(0, 0, 0, 0)); + UIManager.put("ProgressBar.verticalSize", new Dimension(12, 10)); + UIManager.put("ProgressBar.horizontalSize", new Dimension(10, 12)); + UIManager.put("ProgressBarUI", BasicProgressBarUI.class.getName()); // Do not render shadows under popups/tooltips. // Fixes black boxes under popups that are above the game applet. @@ -277,4 +292,24 @@ public class SwingUtil navigationButton.setOnSelect(button::doClick); return button; } + + /** + * Sets up the RuneLite look and feel. Checks to see if the look and feel + * was already set up before running in case the splash screen has already + * set up the theme. + * This must be run inside the Swing Event Dispatch thread. + */ + public static void setupRuneLiteLookAndFeel() + { + if (!lookAndFeelIsSet) + { + lookAndFeelIsSet = true; + // Set some sensible swing defaults + SwingUtil.setupDefaults(); + // Use substance look and feel + SwingUtil.setTheme(new SubstanceRuneLiteLookAndFeel()); + // Use custom UI font + SwingUtil.setFont(FontManager.getRunescapeFont()); + } + } } diff --git a/runelite-client/src/main/resources/runelite_transparent.png b/runelite-client/src/main/resources/runelite_transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..c60bc7ee668647c3f70621b154e2f24331f19026 GIT binary patch literal 19182 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≷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