forked from I2P_Developers/i2p.i2p
Added desktopgui to installation, updater and startup.
This commit is contained in:
@@ -15,7 +15,31 @@ HIGH PRIORITY:
|
||||
* One possibility:
|
||||
Adding some kind of 'ApplicationManager' that allows starting applications.
|
||||
Extra remark: ApplicationManager should also allow stopping certain applications from launching.
|
||||
Suggestion:
|
||||
* ApplicationManager reads/writes clients.config
|
||||
* ApplicationManager itself: independent from clients.config?
|
||||
* Upon reboot, ApplicationManager could add a new application to clients.config _if_ the 'application.manager.version' is not there, or is smaller than the current version.
|
||||
* ApplicationManager can be the clients.config backend for routerconsole, so routerconsole is not the dependency.
|
||||
* API:
|
||||
- addConfig(args, name, ...)
|
||||
- removeConfig(int)
|
||||
- removeConfig(ConfigFilter)
|
||||
ConfigFilter() {
|
||||
boolean filterArgs(String args);
|
||||
boolean filterMain(String main);
|
||||
...
|
||||
}
|
||||
- editConfig(args, name, ..., ConfigFilter)
|
||||
- editConfig(args, name, ..., int)
|
||||
- editConfigArgs(args, ConfigFilter)
|
||||
- editConfigArgs(args, int)
|
||||
- ...
|
||||
* For now: added in the routerconsole startup (like the old SysTray. - DONE
|
||||
Possible migration path: startup ApplicationManager in routerconsole the first time.
|
||||
- Check bug: restart is happening instead of shutdown!
|
||||
- Check build order (for example: first desktopgui, only later routerconsole)
|
||||
- Fix tabs versus spaces ;-)
|
||||
- Add check for Java version 6 in RouterConsoleRunner!
|
||||
UNKNOWN:
|
||||
- API to allow applications to add themselves to the menu?
|
||||
* registerApplication(); -- should return a positive number on success, -1 on failure
|
||||
|
@@ -1,31 +1,29 @@
|
||||
#: src/net/i2p/desktopgui/TrayManager.java:73
|
||||
msgid "Launch I2P Browser"
|
||||
msgstr "Start I2P Browser"
|
||||
|
||||
#: src/net/i2p/desktopgui/TrayManager.java:99
|
||||
msgid "Browser not found"
|
||||
msgstr "Browser niet gevonden"
|
||||
|
||||
#: src/net/i2p/desktopgui/TrayManager.java:100
|
||||
msgid "The default browser for your system was not found."
|
||||
msgstr "De standaard webbrowser voor je systeem werd niet gevonden."
|
||||
|
||||
#: src/net/i2p/desktopgui/TrayManager.java:111
|
||||
#: src/net/i2p/desktopgui/ExternalTrayManager.java:23
|
||||
msgid "Start I2P"
|
||||
msgstr "I2P starten"
|
||||
|
||||
#: src/net/i2p/desktopgui/TrayManager.java:126
|
||||
#: src/net/i2p/desktopgui/ExternalTrayManager.java:38
|
||||
msgid "I2P is starting!"
|
||||
msgstr "I2P is aan het starten!"
|
||||
|
||||
#: src/net/i2p/desktopgui/TrayManager.java:126
|
||||
#: src/net/i2p/desktopgui/ExternalTrayManager.java:38
|
||||
msgid "Starting"
|
||||
msgstr "Bezig met starten"
|
||||
|
||||
#: src/net/i2p/desktopgui/TrayManager.java:140
|
||||
#: src/net/i2p/desktopgui/InternalTrayManager.java:25
|
||||
msgid "Launch I2P Browser"
|
||||
msgstr "Start I2P Browser"
|
||||
|
||||
#: src/net/i2p/desktopgui/InternalTrayManager.java:49
|
||||
msgid "Restart I2P"
|
||||
msgstr "I2P herstarten"
|
||||
|
||||
#: src/net/i2p/desktopgui/TrayManager.java:161
|
||||
#: src/net/i2p/desktopgui/InternalTrayManager.java:67
|
||||
msgid "Stop I2P"
|
||||
msgstr "I2P stoppen"
|
||||
|
||||
#~ msgid "Browser not found"
|
||||
#~ msgstr "Browser niet gevonden"
|
||||
|
||||
#~ msgid "The default browser for your system was not found."
|
||||
#~ msgstr "De standaard webbrowser voor je systeem werd niet gevonden."
|
||||
|
@@ -28,7 +28,7 @@ public class Main {
|
||||
* Start the tray icon code (loads tray icon in the tray area).
|
||||
* @throws Exception
|
||||
*/
|
||||
private void startUp() throws Exception {
|
||||
public void startUp() throws Exception {
|
||||
trayManager = TrayManager.getInstance();
|
||||
trayManager.startManager();
|
||||
|
||||
@@ -45,11 +45,15 @@ public class Main {
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
beginStartup(args);
|
||||
}
|
||||
|
||||
/**
|
||||
* Main method launching the application.
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
public static void beginStartup(String[] args) {
|
||||
System.setProperty("java.awt.headless", "false");
|
||||
try {
|
||||
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
|
||||
|
@@ -24,6 +24,7 @@
|
||||
<pathelement location="../../jetty/jettylib/javax.servlet.jar" />
|
||||
<pathelement location="../../systray/java/build/obj" />
|
||||
<pathelement location="../../systray/java/lib/systray4j.jar" />
|
||||
<pathelement location="../../desktopgui/build" />
|
||||
<pathelement location="../../../installer/lib/wrapper/win32/wrapper.jar" /> <!-- we dont care if we're not on win32 -->
|
||||
<pathelement location="../../jrobin/jrobin-1.4.0.jar" />
|
||||
</classpath>
|
||||
@@ -54,6 +55,7 @@
|
||||
<pathelement location="../../jetty/jettylib/javax.servlet.jar" />
|
||||
<pathelement location="../../systray/java/build/systray.jar" />
|
||||
<pathelement location="../../systray/java/lib/systray4j.jar" />
|
||||
<pathelement location="../../desktopgui/dist/desktopgui.jar" />
|
||||
<pathelement location="../../../installer/lib/wrapper/win32/wrapper.jar" /> <!-- we dont care if we're not on win32 -->
|
||||
<pathelement location="../../jrobin/jrobin-1.4.0.jar" />
|
||||
</classpath>
|
||||
@@ -161,6 +163,7 @@
|
||||
<pathelement location="../../jetty/jettylib/ant.jar" />
|
||||
<pathelement location="../../systray/java/build/obj" />
|
||||
<pathelement location="../../systray/java/lib/systray4j.jar" />
|
||||
<pathelement location="../../desktopgui/dist/desktopgui.jar" />
|
||||
<pathelement location="../../../installer/lib/wrapper/win32/wrapper.jar" />
|
||||
<pathelement location="build/routerconsole.jar" />
|
||||
<pathelement location="build/" />
|
||||
@@ -191,6 +194,7 @@
|
||||
<pathelement location="../../jetty/jettylib/org.mortbay.jetty.jar" />
|
||||
<pathelement location="../../systray/java/build/obj" />
|
||||
<pathelement location="../../systray/java/lib/systray4j.jar" />
|
||||
<pathelement location="../../desktopgui/dist/desktopgui.jar" />
|
||||
<pathelement location="../../../installer/lib/wrapper/win32/wrapper.jar" />
|
||||
<pathelement location="build/routerconsole.jar" />
|
||||
<pathelement location="build" />
|
||||
@@ -220,7 +224,7 @@
|
||||
<mkdir dir="./build" />
|
||||
<mkdir dir="./build/javadoc" />
|
||||
<javadoc
|
||||
sourcepath="./src:../../../core/java/src:../../../router/java/src:../../systray/java/src" destdir="./build/javadoc"
|
||||
sourcepath="./src:../../../core/java/src:../../../router/java/src:../../systray/java/src:../../desktopgui/src" destdir="./build/javadoc"
|
||||
packagenames="*"
|
||||
use="true"
|
||||
splitindex="true"
|
||||
|
@@ -88,30 +88,6 @@ public class ConfigServiceHandler extends FormHandler {
|
||||
addFormError("Warning: unable to contact the service manager - " + t.getMessage());
|
||||
}
|
||||
addFormNotice("Threads dumped to wrapper.log");
|
||||
} else if (_("Show systray icon").equals(_action)) {
|
||||
try {
|
||||
SysTray tray = SysTray.getInstance();
|
||||
if (tray != null) {
|
||||
tray.show();
|
||||
addFormNotice(_("System tray icon enabled."));
|
||||
} else {
|
||||
addFormNotice(_("System tray icon feature not supported on this platform. Sorry!"));
|
||||
}
|
||||
} catch (Throwable t) {
|
||||
addFormError(_("Warning: unable to contact the systray manager") + " - " + t.getMessage());
|
||||
}
|
||||
} else if (_("Hide systray icon").equals(_action)) {
|
||||
try {
|
||||
SysTray tray = SysTray.getInstance();
|
||||
if (tray != null) {
|
||||
tray.hide();
|
||||
addFormNotice(_("System tray icon disabled."));
|
||||
} else {
|
||||
addFormNotice(_("System tray icon feature not supported on this platform. Sorry!"));
|
||||
}
|
||||
} catch (Throwable t) {
|
||||
addFormError(_("Warning: unable to contact the systray manager") + " - " + t.getMessage());
|
||||
}
|
||||
} else if (_("View console on startup").equals(_action)) {
|
||||
browseOnStartup(true);
|
||||
addFormNotice(_("Console is to be shown on startup"));
|
||||
|
@@ -10,7 +10,7 @@ import java.util.Properties;
|
||||
import java.util.StringTokenizer;
|
||||
|
||||
import net.i2p.I2PAppContext;
|
||||
import net.i2p.apps.systray.SysTray;
|
||||
import net.i2p.desktopgui.Main;
|
||||
import net.i2p.data.Base32;
|
||||
import net.i2p.data.DataHelper;
|
||||
import net.i2p.router.RouterContext;
|
||||
@@ -301,7 +301,10 @@ public class RouterConsoleRunner {
|
||||
}
|
||||
|
||||
try {
|
||||
SysTray tray = SysTray.getInstance();
|
||||
//TODO: move away from routerconsole into a separate application.
|
||||
//ApplicationManager?
|
||||
String[] args = new String[0];
|
||||
net.i2p.desktopgui.Main.beginStartup(args);
|
||||
} catch (Throwable t) {
|
||||
t.printStackTrace();
|
||||
}
|
||||
|
@@ -42,14 +42,7 @@
|
||||
<% } %></div>
|
||||
|
||||
<% if ( (System.getProperty("os.name") != null) && (System.getProperty("os.name").startsWith("Win")) ) { %>
|
||||
<h3><%=intl._("Systray integration")%></h3>
|
||||
<p><%=intl._("On the windows platform, there is a small application to sit in the system tray, allowing you to view the router's status")%>
|
||||
<%=intl._("(later on, I2P client applications will be able to integrate their own functionality into the system tray as well).")%>
|
||||
<%=intl._("If you are on windows, you can either enable or disable that icon here.")%></p>
|
||||
<hr><div class="formaction">
|
||||
<input type="submit" name="action" value="<%=intl._("Show systray icon")%>" >
|
||||
<input type="submit" name="action" value="<%=intl._("Hide systray icon")%>" >
|
||||
</div><h3><%=intl._("Run on startup")%></h3>
|
||||
<h3><%=intl._("Run on startup")%></h3>
|
||||
<p><%=intl._("You can control whether I2P is run on startup or not by selecting one of the following options - I2P will install (or remove) a service accordingly.")%>
|
||||
<%=intl._("If you prefer the command line, you can also run the ")%> <code>install_i2p_service_winnt.bat</code> (<%=intl._("or")%>
|
||||
<code>uninstall_i2p_service_winnt.bat</code>).</p>
|
||||
|
Reference in New Issue
Block a user