* added ant build file

* systray is functional
This commit is contained in:
hypercubus
2004-08-20 10:08:29 +00:00
committed by zzz
parent 28855d3fd1
commit 0b084ece08
5 changed files with 74 additions and 167 deletions

View File

@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="all" name="systray">
<target name="all" depends="clean, build" />
<target name="build" depends="jar" />
<target name="compile">
<mkdir dir="./build" />
<mkdir dir="./build/obj" />
<javac
srcdir="./src"
debug="true"
deprecation="on"
source="1.3"
target="1.3"
destdir="./build/obj"
includes="**/*.java"
classpath="./src/net/i2p/apps/systray/lib/systray4j.jar" />
</target>
<target name="jar" depends="compile">
<copy todir="./build/lib">
<fileset dir="./src/net/i2p/apps/systray/lib" includes="libsystray4j.so systray4j.dll systray4j.jar" />
</copy>
<copy todir="./build/icons">
<fileset dir="./src/net/i2p/apps/systray/icons" />
</copy>
<copy todir="./build/jar_temp/doc">
<fileset dir="../doc" />
</copy>
<mkdir dir="./build/jar_temp" />
<copy todir="./build/jar_temp">
<fileset dir="./build/obj" includes="**/*.class" />
<fileset dir="./src/net/i2p/apps/systray" includes="doc/*" />
</copy>
<jar destfile="./build/lib/systray.jar" basedir="./build/jar_temp" includes="**/*">
<manifest>
<attribute name="Main-Class" value="net.i2p.apps.systray.SysTray" />
<attribute name="Class-Path" value="systray4j.jar" />
</manifest>
</jar>
<delete dir="./build/jar_temp" />
</target>
<target name="javadoc">
<mkdir dir="./build" />
<mkdir dir="./build/javadoc" />
<javadoc
sourcepath="./src"
classpath="./src:./src/net/i2p/apps/systray/systray4j.jar"
destdir="./build/javadoc"
packagenames="*"
use="true"
access="package"
splitindex="true" />
</target>
<target name="clean">
<delete dir="./build" />
</target>
</project>

View File

@ -18,19 +18,18 @@ import snoozesoft.systray4j.SysTrayMenuListener;
* A system tray control for launching the I2P router console. * A system tray control for launching the I2P router console.
* *
* @author hypercubus * @author hypercubus
*
* TODO Add a menu entry and dialog to let the user specify the location of their preferred web browser.
*/ */
public class SysTray implements SysTrayMenuListener { public class SysTray implements SysTrayMenuListener {
private SysTrayMenuItem itemExit = new SysTrayMenuItem("Exit", "exit"); private SysTrayMenuItem itemExit = new SysTrayMenuItem("Exit systray", "exit");
private SysTrayMenuItem itemStartRouter = new SysTrayMenuItem("Start router", "start"); private SysTrayMenuItem itemSetBrowser = new SysTrayMenuItem("Set preferred browser...", "setbrowser");
private SysTrayMenuItem itemStopRouter = new SysTrayMenuItem("Stop router", "stop"); private SysTrayMenuIcon sysTrayMenuIcon = new SysTrayMenuIcon("../icons/iggy");
private SysTrayMenuIcon sysTrayMenuIconDisabled = new SysTrayMenuIcon("icons/iggy_grey"); private SysTrayMenu sysTrayMenu = new SysTrayMenu(sysTrayMenuIcon, "I2P Console");
private SysTrayMenuIcon sysTrayMenuIconEnabled = new SysTrayMenuIcon("icons/iggy");
private SysTrayMenu sysTrayMenu = new SysTrayMenu(sysTrayMenuIconEnabled, "I2P Console");
public SysTray() { public SysTray() {
sysTrayMenuIconDisabled.addSysTrayMenuListener(this); sysTrayMenuIcon.addSysTrayMenuListener(this);
sysTrayMenuIconEnabled.addSysTrayMenuListener(this);
createSysTrayMenu(); createSysTrayMenu();
} }
@ -38,7 +37,7 @@ public class SysTray implements SysTrayMenuListener {
new SysTray(); new SysTray();
while(true) while(true)
try { try {
Thread.sleep(2*1000); Thread.sleep(2 * 1000);
} catch (InterruptedException e) { } catch (InterruptedException e) {
// blah // blah
} }
@ -47,34 +46,27 @@ public class SysTray implements SysTrayMenuListener {
public void iconLeftClicked(SysTrayMenuEvent e) {} public void iconLeftClicked(SysTrayMenuEvent e) {}
public void iconLeftDoubleClicked(SysTrayMenuEvent e) { public void iconLeftDoubleClicked(SysTrayMenuEvent e) {
System.out.println("Double click!"); try {
new UrlLauncher().openUrl("http://localhost:7657");
} catch (Exception ex) {
// Pop up a dialog or something.
}
} }
public void menuItemSelected(SysTrayMenuEvent e) { public void menuItemSelected(SysTrayMenuEvent e) {
if (e.getActionCommand().equals("exit")) { if (e.getActionCommand().equals("exit")) {
// exit systray // exit systray
System.exit(0); System.exit(0);
} else if (e.getActionCommand().equals("stop")) {
itemStartRouter.setEnabled(true);
itemStopRouter.setEnabled(false);
// stop router
sysTrayMenu.setIcon(sysTrayMenuIconDisabled);
} else if (e.getActionCommand().equals("start")) { } else if (e.getActionCommand().equals("start")) {
itemStopRouter.setEnabled(true); // Popup browser dialog
itemStartRouter.setEnabled(false);
// start router
sysTrayMenu.setIcon(sysTrayMenuIconEnabled);
} }
} }
private void createSysTrayMenu() { private void createSysTrayMenu() {
itemStartRouter.addSysTrayMenuListener(this); itemSetBrowser.addSysTrayMenuListener(this);
itemStartRouter.setEnabled(false);
itemStopRouter.addSysTrayMenuListener(this);
itemExit.addSysTrayMenuListener(this); itemExit.addSysTrayMenuListener(this);
sysTrayMenu.addItem(itemExit); sysTrayMenu.addItem(itemExit);
sysTrayMenu.addSeparator(); sysTrayMenu.addSeparator();
sysTrayMenu.addItem(itemStopRouter); sysTrayMenu.addItem(itemSetBrowser);
sysTrayMenu.addItem(itemStartRouter);
} }
} }

View File

@ -17,6 +17,8 @@ package net.i2p.apps.systray;
* Firefox, Netscape, Opera, and Safari. * Firefox, Netscape, Opera, and Safari.
* *
* @author hypercubus * @author hypercubus
*
* TODO Add a method to allow opening a URL with a specific browser.
*/ */
public class UrlLauncher { public class UrlLauncher {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -1,143 +0,0 @@
/* XPM */
static char * iggy_grey_24x24_xpm[] = {
"24 24 116 2",
" g None",
". g #686868",
"+ g #7C7C7C",
"@ g #858585",
"# g #7A7A7A",
"$ g #626262",
"% g #4F4F4F",
"& g #B3B3B3",
"* g #E1E1E1",
"= g #E3E3E3",
"- g #E0E0E0",
"; g #ABABAB",
"> g #545454",
", g #4E4E4E",
"' g #CDCDCD",
") g #C9C9C9",
"! g #B4B4B4",
"~ g #B2B2B2",
"{ g #696969",
"] g #DEDEDE",
"^ g #B5B5B5",
"/ g #BFBFBF",
"( g #9F9F9F",
"_ g #9A9A9A",
": g #D4D4D4",
"< g #6B6B6B",
"[ g #A3A3A3",
"} g #DADADA",
"| g #DDDDDD",
"1 g #A8A8A8",
"2 g #FEFEFE",
"3 g #F6F6F6",
"4 g #A2A2A2",
"5 g #9C9C9C",
"6 g #D1D1D1",
"7 g #8C8C8C",
"8 g #FCFCFC",
"9 g #A4A4A4",
"0 g #BBBBBB",
"a g #B6B6B6",
"b g #DBDBDB",
"c g #575757",
"d g #A5A5A5",
"e g #AAAAAA",
"f g #797979",
"g g #A1A1A1",
"h g #CACACA",
"i g #B0B0B0",
"j g #AFAFAF",
"k g #A7A7A7",
"l g #787878",
"m g #585858",
"n g #CBCBCB",
"o g #434343",
"p g #6A6A6A",
"q g #4A4A4A",
"r g #5F5F5F",
"s g #D3D3D3",
"t g #373737",
"u g #444444",
"v g #3A3A3A",
"w g #474747",
"x g #CECECE",
"y g #747474",
"z g #3F3F3F",
"A g #4D4D4D",
"B g #535353",
"C g #505050",
"D g #343434",
"E g #515151",
"F g #E2E2E2",
"G g #565656",
"H g #414141",
"I g #424242",
"J g #3E3E3E",
"K g #525252",
"L g #454545",
"M g #292929",
"N g #2D2D2D",
"O g #353535",
"P g #949494",
"Q g #303030",
"R g #393939",
"S g #2F2F2F",
"T g #8D8D8D",
"U g #2C2C2C",
"V g #212121",
"W g #676767",
"X g #282828",
"Y g #4B4B4B",
"Z g #494949",
"` g #242424",
" . g #363636",
".. g #868686",
"+. g #757575",
"@. g #6F6F6F",
"#. g #707070",
"$. g #919191",
"%. g #8F8F8F",
"&. g #7D7D7D",
"*. g #929292",
"=. g #D5D5D5",
"-. g #EAEAEA",
";. g #C3C3C3",
">. g #5C5C5C",
",. g #D9D9D9",
"'. g #A0A0A0",
"). g #646464",
"!. g #CCCCCC",
"~. g #838383",
"{. g #BDBDBD",
"]. g #121212",
"^. g #000000",
"/. g #030303",
"(. g #020202",
"_. g #161616",
" . + @ # $ ",
" % & * = = = - ; > ",
" , ' = = = = = = = ) > ",
" ! = = = = = = = = = ~ ",
" { * ] ! ^ ] = / ( _ : * < ",
" _ = [ } | 1 = ; 2 3 4 = 5 ",
" & = ; 2 6 ~ = 5 7 8 9 = 0 ",
" a = [ b c d = e f g h = / ",
" [ = * i j = = = = = = = k ",
" l = = = = = = = = = = = f ",
" m n = = = = = = = = = h o ",
" < | = = = = = = = b p ",
" q r s = = = = = ' c t ",
" u v u w r = x / ; y z A B A C ",
" D E > > q 7 F G v H , > > > > > I ",
" J K B v I J ) : t > > > > > > % E L ",
" o B C M N O / P w > > > > > > Q % R ",
" S o , v 9 T U B > > > > > % N u ",
" V < W X q Y Z w o z ` .O ",
" R ..+.@.@.S #.@ $.%.r &.L ",
" *.=.-.-.f ;.-.-.n B E ",
" >.,.-.-.'.; -.-.: m ",
" ).0 !.~ ~.{.d c ",
" ].^.^.^./.(._.X z "};