Browse Source

fixxed the Icon handling to allow a individual icon of the program in the
taskBar

LH 10 years ago
parent
commit
0d8344cce5

BIN
iZpl/src/dist/res/program.png


+ 10 - 0
iZpl/src/main/java/de/nplusc/izc/iZpl/API/IZPLApi.java

@@ -7,6 +7,7 @@
 package de.nplusc.izc.iZpl.API;
 
 import de.nplusc.izc.iZpl.Main;
+import java.awt.Image;
 import java.io.File;
 import java.util.List;
 
@@ -112,4 +113,13 @@ public class IZPLApi
     {
         return Main.getDetectedSkins();
     }
+    
+    /**
+     * Obtains the icon for the program to be used by the UIModule
+     * @return Icon of the program
+     */
+    public static Image getProgramIcon()
+    {
+        return Main.getPlayListIcon();
+    }
 }

+ 1 - 2
iZpl/src/main/java/de/nplusc/izc/iZpl/GUI/ConfigureScreen.java

@@ -9,7 +9,6 @@ package de.nplusc.izc.iZpl.GUI;
 import de.nplusc.izc.iZpl.API.IZPLApi;
 import de.nplusc.izc.iZpl.API.PlaybackPlugin;
 import de.nplusc.izc.iZpl.API.UIPlugin;
-import de.nplusc.izc.iZpl.Configuration;
 import de.nplusc.izc.iZpl.Main;
 import de.nplusc.izc.tools.baseTools.Detectors;
 import de.nplusc.izc.tools.baseTools.Tools;
@@ -18,7 +17,6 @@ import java.io.FileWriter;
 import java.io.IOException;
 import javax.swing.DefaultComboBoxModel;
 import javax.swing.DefaultListModel;
-import javax.swing.JFrame;
 
 /**
  *
@@ -38,6 +36,7 @@ public class ConfigureScreen extends javax.swing.JFrame
      */
     public ConfigureScreen( boolean firstrun)
     {
+        setIconImage(IZPLApi.getProgramIcon());
         firstRunMode=firstrun;
         initComponents();
         ((DefaultComboBoxModel)cboxPlayersAvailable.getModel()).removeAllElements();

+ 1 - 1
iZpl/src/main/java/de/nplusc/izc/iZpl/GUI/IZplGUIDefault.java

@@ -356,7 +356,7 @@ public class IZplGUIDefault extends javax.swing.JFrame implements UIPlugin,Mouse
     @Override
     public void initializeUI()
     {
-    
+        setIconImage(IZPLApi.getProgramIcon());
         initComponents();
         addWindowListener(new WindowAdapter()
         {

+ 1 - 0
iZpl/src/main/java/de/nplusc/izc/iZpl/GUI/IZplGUISkinnable.java

@@ -481,6 +481,7 @@ public class IZplGUISkinnable extends JFrame implements SkinnableUIPlugin, Mouse
     @SuppressWarnings("empty-statement")
     public void initializeUI()
     {
+        setIconImage(IZPLApi.getProgramIcon());
         @SuppressWarnings("null")
         HashMap<String, String> ed = sf.getElementData();
         HashMap<String, ArrayList<Integer>> ep = sf.getElementPositions();

+ 2 - 0
iZpl/src/main/java/de/nplusc/izc/iZpl/GUI/PlayListManagingDefault.java

@@ -4,6 +4,7 @@
  */
 package de.nplusc.izc.iZpl.GUI;
 
+import de.nplusc.izc.iZpl.API.IZPLApi;
 import de.nplusc.izc.iZpl.API.PlayListEditAPI;
 import de.nplusc.izc.tools.UiToolz.TableCellListener;
 import de.nplusc.izc.tools.baseTools.HidableTableColumnModel;
@@ -26,6 +27,7 @@ public class PlayListManagingDefault extends javax.swing.JFrame implements PlayL
      */
     public PlayListManagingDefault()
     {
+        setIconImage(IZPLApi.getProgramIcon());
         initComponents();
         mdl=(HidableTableColumnModel) tblPLE.getColumnModel();
         mdl.setColumnVisible(mdl.getColumn(0), false);

+ 4 - 0
iZpl/src/main/java/de/nplusc/izc/iZpl/GUI/PlayListManagingSkinnable.java

@@ -87,6 +87,10 @@ public class PlayListManagingSkinnable extends JPanel implements MouseMotionList
     @SuppressWarnings("empty-statement")
     public PlayListManagingSkinnable(Window wrapper,String skinPath,IZSkinFile sfp)
     {
+        if(wrapper instanceof JFrame)
+        {
+            wrapper.setIconImage(IZPLApi.getProgramIcon());
+        }
         this.wrapper=wrapper;
         bdir=skinPath;
         sf=sfp;

+ 22 - 5
iZpl/src/main/java/de/nplusc/izc/iZpl/Main.java

@@ -23,6 +23,7 @@ import de.schlichtherle.truezip.file.TFile;
 import de.schlichtherle.truezip.file.TFileReader;
 import java.awt.Desktop;
 import java.awt.EventQueue;
+import java.awt.Image;
 import java.io.BufferedOutputStream;
 import java.io.BufferedReader;
 import java.io.File;
@@ -40,8 +41,8 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.prefs.Preferences;
+import javax.imageio.ImageIO;
 import javax.swing.JTextArea;
-import org.apache.commons.cli.AlreadySelectedException;
 import org.apache.commons.cli.CommandLine;
 import org.apache.commons.cli.CommandLineParser;
 import org.apache.commons.cli.DefaultParser;
@@ -107,7 +108,7 @@ public class Main extends javax.swing.JFrame
     private static UIPlugin selectedUIPlugin;
     private static FirstRunScreen frs;
     
-    
+    private static Image playListIcon;
     
     /**
      * Creates new form Builder
@@ -160,7 +161,16 @@ public class Main extends javax.swing.JFrame
             
             processCommandLine(args);
             setupLogging();
-            
+                    
+            try
+            {
+                playListIcon = ImageIO.read(new File(IZPLApi.APPDIR+File.separator+"res"+File.separator+"program.png"));
+            }
+            catch (IOException ex)
+            {
+                System.out.println("Failed to load Icon");
+                ex.printStackTrace();
+            }
             String time = new Date(System.currentTimeMillis()).toString();
             System.out.println("IZPL-Loader:Bootstrapped at:" + time);
                         /* Set the Nimbus look and feel */
@@ -189,6 +199,7 @@ public class Main extends javax.swing.JFrame
                 java.awt.EventQueue.invokeLater(() ->
                 {
                     frs = new FirstRunScreen();
+                    frs.setIconImage(playListIcon);
                     frs.setVisible(true);
                 });
             }
@@ -214,6 +225,7 @@ public class Main extends javax.swing.JFrame
                 {
                     final Main b = new Main();
                     pload.setIndeterminate(true);
+                    b.setIconImage(playListIcon);
                     b.setVisible(true);
 
                     new Thread(() ->
@@ -510,7 +522,7 @@ public class Main extends javax.swing.JFrame
     @SuppressWarnings("element-type-mismatch")
     private static void initializePlugins()
     {
-
+        
         new File(IZPLApi.PLUGINPATH).mkdirs();
         if(!detectedSkins.contains(selectedSkinPath))
         {
@@ -530,7 +542,7 @@ public class Main extends javax.swing.JFrame
         }
         if(!allowPluginLoad)
             quickQuit();
-        
+
         if (selectedSkinPath.equals("default"))
         {
             selectedSkinPath = IZPLApi.DEFAULT_SKIN_PATH;
@@ -964,6 +976,11 @@ public class Main extends javax.swing.JFrame
     {
         return detectedSkins;
     }
+
+    public static Image getPlayListIcon()
+    {
+        return playListIcon;
+    }
     
     
     /*