[jetrix-cvs] SF.net SVN: jetrix:[752] jetrix/trunk
Brought to you by:
smanux
From: <sm...@us...> - 2008-09-01 22:00:27
|
Revision: 752 http://jetrix.svn.sourceforge.net/jetrix/?rev=752&view=rev Author: smanux Date: 2008-09-01 22:00:25 +0000 (Mon, 01 Sep 2008) Log Message: ----------- Fixed the double click on the tray icon Improved the tray icon on Linux System tray links can now be opened on Linux and OS X Modified Paths: -------------- jetrix/trunk/build.xml jetrix/trunk/src/java/net/jetrix/SystrayManager.java Modified: jetrix/trunk/build.xml =================================================================== --- jetrix/trunk/build.xml 2008-08-28 08:20:33 UTC (rev 751) +++ jetrix/trunk/build.xml 2008-09-01 22:00:25 UTC (rev 752) @@ -107,6 +107,7 @@ </fileset> <fileset dir="${src}/etc/icons"> <include name="jetrix-16x16.png"/> + <include name="jetrix-32x32.png"/> </fileset> </jar> Modified: jetrix/trunk/src/java/net/jetrix/SystrayManager.java =================================================================== --- jetrix/trunk/src/java/net/jetrix/SystrayManager.java 2008-08-28 08:20:33 UTC (rev 751) +++ jetrix/trunk/src/java/net/jetrix/SystrayManager.java 2008-09-01 22:00:25 UTC (rev 752) @@ -19,19 +19,16 @@ package net.jetrix; -import java.awt.AWTException; -import java.awt.Font; -import java.awt.Image; -import java.awt.MenuItem; -import java.awt.PopupMenu; -import java.awt.SystemTray; -import java.awt.TrayIcon; +import java.awt.*; +import java.awt.image.ImageObserver; +import java.awt.image.ImageProducer; +import java.awt.image.BufferedImage; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; -import javax.swing.ImageIcon; +import javax.swing.*; import net.jetrix.config.ServerConfig; import net.jetrix.listeners.HttpListener; @@ -108,23 +105,18 @@ menu.setFont(font); // build the trayIcon icon - Image icon = new ImageIcon(Thread.currentThread().getContextClassLoader().getResource("jetrix-16x16.png")).getImage(); + String osname = System.getProperty("os.name"); + String iconname = osname.contains("Linux") ? "jetrix-32x32.png" : "jetrix-16x16.png"; + ClassLoader loader = Thread.currentThread().getContextClassLoader(); + Image icon = new ImageIcon(loader.getResource(iconname)).getImage(); trayIcon = new TrayIcon(icon, TITLE, menu); trayIcon.setImageAutoSize(true); trayIcon.addActionListener(new ActionListener() { - private long timestamp; - public void actionPerformed(ActionEvent e) { - // emulates a double click listener - if (e.getWhen() - timestamp < 750) - { - openWebAdmin(); - } - - timestamp = e.getWhen(); + openWebAdmin(); } }); @@ -198,7 +190,19 @@ try { // open the browser - Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url); + String osname = System.getProperty("os.name"); + if (osname.contains("Linux")) + { + Runtime.getRuntime().exec("firefox " + url); + } + else if (osname.contains("Windows")) + { + Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url); + } + else if (osname.contains("Mac")) + { + Runtime.getRuntime().exec("open " + url); + } } catch (IOException e) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |