Author: jerome Date: 2008-08-18 09:20:09 +0200 (Mon, 18 Aug 2008) New Revision: 1546
Added: software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/images/tray-offline.png software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/images/tray-online.png Modified: software_suite_v2/software/control_center/trunk/control_center/sources/cc_main.java software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/CcInterface.java software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/languages/Languages.java software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/languages/LanguagesSet/languages_en_US.properties software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/languages/LanguagesSet/languages_fr_FR.properties Log: * Added tray icon. Modified: software_suite_v2/software/control_center/trunk/control_center/sources/cc_main.java =================================================================== --- software_suite_v2/software/control_center/trunk/control_center/sources/cc_main.java 2008-08-18 06:03:10 UTC (rev 1545) +++ software_suite_v2/software/control_center/trunk/control_center/sources/cc_main.java 2008-08-18 07:20:09 UTC (rev 1546) @@ -20,10 +20,7 @@ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ - import com.tuxdroid.cc.CcInterface; -import com.tuxisalive.api.TuxAPI; -import com.tuxisalive.api.TuxAPIConst; public class cc_main{ Modified: software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/CcInterface.java =================================================================== --- software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/CcInterface.java 2008-08-18 06:03:10 UTC (rev 1545) +++ software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/CcInterface.java 2008-08-18 07:20:09 UTC (rev 1546) @@ -42,20 +42,18 @@ import java.awt.dnd.DropTargetDropEvent; import java.awt.dnd.DropTargetEvent; import java.awt.dnd.DropTargetListener; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import java.beans.PropertyEditor; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; -import java.util.ArrayList; import java.util.Locale; -import java.util.Map; -import java.util.Properties; import java.util.UUID; import java.util.Vector; @@ -77,25 +75,16 @@ import javax.swing.border.BevelBorder; import javax.swing.plaf.InsetsUIResource; -import net.karmaLab.beans.BeanProxyFactory; -import net.karmaLab.beans.BeanReflectiveProxy; -import net.karmaLab.beans.converters.AbstractStringConverter; -import net.karmaLab.beans.converters.ConvertionException; -import net.karmaLab.beans.converters.StringConverters; -import net.karmaLab.beans.property.BeanProperty; -import net.karmaLab.tools.SystemInformation; +import org.jdesktop.jdic.tray.SystemTray; +import org.jdesktop.jdic.tray.TrayIcon; import com.kysoh.tuxdroid.gadget.framework.container.GadgetInstance; import com.kysoh.tuxdroid.gadget.framework.container.GadgetInstanceParameters; -import com.kysoh.tuxdroid.gadget.framework.container.GadgetParameter; import com.kysoh.tuxdroid.gadget.framework.container.GadgetToken; -import com.kysoh.tuxdroid.gadget.framework.gadget.SimpleGadgetException; import com.kysoh.tuxdroid.gadget.framework.tester.GadgetPropertyEditor; - import com.tuxdroid.cc.Listener.HandCursorChanger; import com.tuxdroid.cc.Listener.MenuListener; import com.tuxdroid.cc.Object.Playlist.AlertPlaylist; -import com.tuxdroid.cc.Object.Playlist.GenericPlaylist; import com.tuxdroid.cc.Object.Playlist.RemotePlaylist; import com.tuxdroid.cc.Object.PseudoFileBrowser.FileBrowser; import com.tuxdroid.cc.Object.WebBrowser.webBrowser; @@ -107,7 +96,6 @@ import com.tuxdroid.cc.Utils.ResizeThread; import com.tuxdroid.cc.Utils.Settings; import com.tuxdroid.cc.Utils.SimpleAlertSettings; -import com.tuxdroid.cc.Utils.Task; import com.tuxdroid.cc.Utils.TaskDefiner; import com.tuxdroid.cc.Utils.TuxDropTarget; import com.tuxdroid.cc.Utils.TuxToolsMenu; @@ -248,7 +236,12 @@ public boolean fromSheduler = true; public String currentRemoteSelectedGadget = null; - public Vector<JMenuItem> toolsMenus; + public Vector<JMenuItem> toolsMenus; + + public TrayIcon tray; + ImageIcon tray_online = new ImageIcon(getClass().getResource("images/tray-online.png")); + ImageIcon tray_offline = new ImageIcon(getClass().getResource("images/tray-offline.png")); + public JPopupMenu menuTray; /** * CcInterface constructor. @@ -291,7 +284,8 @@ //Create FileBrowser engine. file_browser = new FileBrowser(this.language); - file_browser.addPropertyChangeListener(this); + file_browser.addPropertyChangeListener(this); + this.setTrayIcon(); } @@ -299,6 +293,48 @@ //Getting CcInterface. getJFrame(); jFrame.pack(); //Packing components. + } + + + private void setTrayIcon(){ + + menuTray = new JPopupMenu("A Menu"); + + final JMenuItem item1 = new JMenuItem(language.getTrayHideCaption()); + final JMenuItem item2 = new JMenuItem(language.getTrayExitCaption()); + + item1.addMouseListener(new java.awt.event.MouseAdapter(){ + public void mousePressed(java.awt.event.MouseEvent event){ + if(item1.getText().equals(language.getTrayHideCaption())){ + item1.setText(language.getTrayShowCaption()); + jFrame.setVisible(false); + } + else if(item1.getText().equals(language.getTrayShowCaption())){ + item1.setText(language.getTrayHideCaption()); + jFrame.setVisible(true); + } + } + }); + + item2.addMouseListener(new java.awt.event.MouseAdapter(){ + public void mousePressed(java.awt.event.MouseEvent event){ + new ExitControlListener().mouseReleased(event); + } + }); + + menuTray.add(item1); + menuTray.add(item2); + + tray = new TrayIcon(tray_offline, "TuxDroid Cc", menuTray); + tray.addActionListener(new ActionListener(){ + public void actionPerformed(ActionEvent event){ + menuTray.show(null ,tray.getLocationOnScreen().x + 4, tray.getLocationOnScreen().y); + } + }); + + //Adding tray icon. + SystemTray sysTray = SystemTray.getDefaultSystemTray(); + sysTray.addTrayIcon(tray); } @@ -319,7 +355,8 @@ * @param objects */ public void onRadioConnected(String value, Double delay){ - setOnlineStatus(true); + setOnlineStatus(true); + tray.setIcon(this.tray_online); } /** @@ -327,7 +364,8 @@ * @param objects */ public void onRadioDisconnected(String value, Double delay){ - this.setOnlineStatus(false); + this.setOnlineStatus(false); + this.tray.setIcon(this.tray_offline); } /** @@ -2668,7 +2706,7 @@ file_browser.deleteTemp(); tux.tts.stop(); file_browser.stopPlaying(TYPE_ATTITUNES, FileBrowser.REMOTELIST_TYPE); - file_browser.getFramework().shutDownFramework(); + //file_browser.getFramework().shutDownFramework(); tux.server.disconnect(); tux.destroy(); System.gc(); @@ -2734,7 +2772,7 @@ file_browser.deleteTemp(); tux.tts.stop(); file_browser.stopPlaying(TYPE_ATTITUNES, FileBrowser.REMOTELIST_TYPE); - file_browser.getFramework().shutDownFramework(); + //file_browser.getFramework().shutDownFramework(); tux.server.disconnect(); tux.destroy(); System.gc(); @@ -2973,7 +3011,6 @@ } int playlistSelectedIndex = jListPlaylists.getSelectedIndex(); - System.out.println("index: " + playlistSelectedIndex); showPlaylist(playlistSelectedIndex); } } Modified: software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/languages/Languages.java =================================================================== --- software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/languages/Languages.java 2008-08-18 06:03:10 UTC (rev 1545) +++ software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/languages/Languages.java 2008-08-18 07:20:09 UTC (rev 1546) @@ -257,5 +257,17 @@ this.get("remoteListHeaderType", "Type"), this.get("remoteListHeaderAuthor", "Author") }; + } + + public String getTrayHideCaption(){ + return this.get("trayHide", "Hide"); + } + + public String getTrayShowCaption(){ + return this.get("trayShow", "Show"); + } + + public String getTrayExitCaption(){ + return this.get("trayExit", "Exit"); } } \ No newline at end of file Modified: software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/languages/LanguagesSet/languages_en_US.properties =================================================================== --- software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/languages/LanguagesSet/languages_en_US.properties 2008-08-18 06:03:10 UTC (rev 1545) +++ software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/languages/LanguagesSet/languages_en_US.properties 2008-08-18 07:20:09 UTC (rev 1546) @@ -46,4 +46,7 @@ chooseAnAction=Choose an action remoteListHeaderName=Name remoteListHeaderAuthor=Author -remoteListHeaderType=Type \ No newline at end of file +remoteListHeaderType=Type +trayShow=Show +trayHide=Hide +trayExit=Exit \ No newline at end of file Modified: software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/languages/LanguagesSet/languages_fr_FR.properties =================================================================== --- software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/languages/LanguagesSet/languages_fr_FR.properties 2008-08-18 06:03:10 UTC (rev 1545) +++ software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/Utils/languages/LanguagesSet/languages_fr_FR.properties 2008-08-18 07:20:09 UTC (rev 1546) @@ -46,4 +46,7 @@ chooseAnAction=Choisissez une action. remoteListHeaderName=Nom remoteListHeaderAuthor=Auteur -remoteListHeaderType=Type \ No newline at end of file +remoteListHeaderType=Type +trayShow=Afficher +trayHide=Masquer +trayExit=Quitter \ No newline at end of file Added: software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/images/tray-offline.png =================================================================== (Binary files differ) Property changes on: software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/images/tray-offline.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/images/tray-online.png =================================================================== (Binary files differ) Property changes on: software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/images/tray-online.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Tux-droid-svn mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/tux-droid-svn
