* 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.
|
* 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();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -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);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -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 |
@ -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