* added ant build file
* systray is functional
This commit is contained in:
56
apps/systray/java/build.xml
Normal file
56
apps/systray/java/build.xml
Normal 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>
|
@ -18,19 +18,18 @@ import snoozesoft.systray4j.SysTrayMenuListener;
|
||||
* A system tray control for launching the I2P router console.
|
||||
*
|
||||
* @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 {
|
||||
|
||||
private SysTrayMenuItem itemExit = new SysTrayMenuItem("Exit", "exit");
|
||||
private SysTrayMenuItem itemStartRouter = new SysTrayMenuItem("Start router", "start");
|
||||
private SysTrayMenuItem itemStopRouter = new SysTrayMenuItem("Stop router", "stop");
|
||||
private SysTrayMenuIcon sysTrayMenuIconDisabled = new SysTrayMenuIcon("icons/iggy_grey");
|
||||
private SysTrayMenuIcon sysTrayMenuIconEnabled = new SysTrayMenuIcon("icons/iggy");
|
||||
private SysTrayMenu sysTrayMenu = new SysTrayMenu(sysTrayMenuIconEnabled, "I2P Console");
|
||||
private SysTrayMenuItem itemExit = new SysTrayMenuItem("Exit systray", "exit");
|
||||
private SysTrayMenuItem itemSetBrowser = new SysTrayMenuItem("Set preferred browser...", "setbrowser");
|
||||
private SysTrayMenuIcon sysTrayMenuIcon = new SysTrayMenuIcon("../icons/iggy");
|
||||
private SysTrayMenu sysTrayMenu = new SysTrayMenu(sysTrayMenuIcon, "I2P Console");
|
||||
|
||||
public SysTray() {
|
||||
sysTrayMenuIconDisabled.addSysTrayMenuListener(this);
|
||||
sysTrayMenuIconEnabled.addSysTrayMenuListener(this);
|
||||
sysTrayMenuIcon.addSysTrayMenuListener(this);
|
||||
createSysTrayMenu();
|
||||
}
|
||||
|
||||
@ -38,7 +37,7 @@ public class SysTray implements SysTrayMenuListener {
|
||||
new SysTray();
|
||||
while(true)
|
||||
try {
|
||||
Thread.sleep(2*1000);
|
||||
Thread.sleep(2 * 1000);
|
||||
} catch (InterruptedException e) {
|
||||
// blah
|
||||
}
|
||||
@ -47,34 +46,27 @@ public class SysTray implements SysTrayMenuListener {
|
||||
public void iconLeftClicked(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) {
|
||||
if (e.getActionCommand().equals("exit")) {
|
||||
// exit systray
|
||||
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")) {
|
||||
itemStopRouter.setEnabled(true);
|
||||
itemStartRouter.setEnabled(false);
|
||||
// start router
|
||||
sysTrayMenu.setIcon(sysTrayMenuIconEnabled);
|
||||
// Popup browser dialog
|
||||
}
|
||||
}
|
||||
|
||||
private void createSysTrayMenu() {
|
||||
itemStartRouter.addSysTrayMenuListener(this);
|
||||
itemStartRouter.setEnabled(false);
|
||||
itemStopRouter.addSysTrayMenuListener(this);
|
||||
itemSetBrowser.addSysTrayMenuListener(this);
|
||||
itemExit.addSysTrayMenuListener(this);
|
||||
sysTrayMenu.addItem(itemExit);
|
||||
sysTrayMenu.addSeparator();
|
||||
sysTrayMenu.addItem(itemStopRouter);
|
||||
sysTrayMenu.addItem(itemStartRouter);
|
||||
sysTrayMenu.addItem(itemSetBrowser);
|
||||
}
|
||||
}
|
@ -17,6 +17,8 @@ package net.i2p.apps.systray;
|
||||
* Firefox, Netscape, Opera, and Safari.
|
||||
*
|
||||
* @author hypercubus
|
||||
*
|
||||
* TODO Add a method to allow opening a URL with a specific browser.
|
||||
*/
|
||||
public class UrlLauncher {
|
||||
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 1.4 KiB |
@ -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 "};
|
Reference in New Issue
Block a user