diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index d09505e10..2b4a4d15b 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -243,8 +243,9 @@ public class I2PSnarkServlet extends Default { out.write(" title=\""); out.write(_("Torrent Status")); out.write("\">"); + out.write(_("Status")); if (_manager.util().connected() && !snarks.isEmpty()) { - out.write(" » "); @@ -633,8 +634,8 @@ public class I2PSnarkServlet extends Default { return rv; } - private static final int MAX_DISPLAYED_FILENAME_LENGTH = 42; - private static final int MAX_DISPLAYED_ERROR_LENGTH = 40; + private static final int MAX_DISPLAYED_FILENAME_LENGTH = 44; + private static final int MAX_DISPLAYED_ERROR_LENGTH = 6; private void displaySnark(PrintWriter out, Snark snark, String uri, int row, long stats[], boolean showPeers, boolean showDebug) throws IOException { String filename = snark.torrent; File f = new File(filename); @@ -692,50 +693,57 @@ public class I2PSnarkServlet extends Default { String statusString = _("Unknown"); if (err != null) { if (isRunning && curPeers > 0 && !showPeers) - statusString = "" + _("TrackerErr") + " » " + - "" + + statusString = "" + curPeers + '/' + ngettext("1 peer", "{0} peers", knownPeers) + ""; else if (isRunning) - statusString = "" + _("TrackerErr") + " » " + curPeers + '/' + - ngettext("1 peer", "{0} peers", knownPeers); + statusString = "" + curPeers + '/' + + ngettext("1 peer", "{0} peers", knownPeers) + ""; else { if (err.length() > MAX_DISPLAYED_ERROR_LENGTH) err = err.substring(0, MAX_DISPLAYED_ERROR_LENGTH) + "…"; - statusString = _("TrackerErr") + "
(" + err + ")"; + statusString = "" + err + ""; } } else if (remaining <= 0) { if (isRunning && curPeers > 0 && !showPeers) - statusString = _("Seeding") + " » " + + statusString = "" + "" + curPeers + '/' + ngettext("1 peer", "{0} peers", knownPeers) + ""; else if (isRunning) - statusString = _("Seeding") + " » " + curPeers + "/" + - ngettext("1 peer", "{0} peers", knownPeers); + statusString = "" + + curPeers + "/" + + ngettext("1 peer", "{0} peers", knownPeers) + ""; else - statusString = _("Complete"); + statusString = "" + _("Not Seeding"); } else { if (isRunning && curPeers > 0 && downBps > 0 && !showPeers) - statusString = _("OK") + " » " + + statusString = "" + "" + curPeers + "/" + ngettext("1 peer", "{0} peers", knownPeers) + ""; else if (isRunning && curPeers > 0 && downBps > 0) - statusString = _("OK") + " (" + curPeers + "/" + - ngettext("1 peer", "{0} peers", knownPeers) + ')'; + statusString = "" + + " (" + curPeers + "/" + + ngettext("1 peer", "{0} peers", knownPeers); else if (isRunning && curPeers > 0 && !showPeers) - statusString = _("Stalled") + " » " + + statusString = "" + "" + curPeers + '/' + ngettext("1 peer", "{0} peers", knownPeers) + ""; else if (isRunning && curPeers > 0) - statusString = _("Stalled") + " » " + curPeers + '/' + + statusString = "" + + curPeers + '/' + ngettext("1 peer", "{0} peers", knownPeers); else if (isRunning) - statusString = _("No Peers") + " » 0/" + knownPeers; + statusString = "" + + curPeers + "/" + + ngettext("1 peer", "{0} peers", knownPeers); else - statusString = _("Stopped"); + statusString = "" + _("Stopped"); } String rowClass = (row % 2 == 0 ? "snarkTorrentEven" : "snarkTorrentOdd"); @@ -782,7 +790,7 @@ public class I2PSnarkServlet extends Default { baseURL = baseURL.substring(e + 1); out.write(" "); + out.write("\" title=\"" + name + _("Tracker") + "\" target=\"_blank\">"); out.write(""); out.write(""); break; diff --git a/installer/resources/themes/snark/ubergine/images/arrow_refresh.png b/installer/resources/themes/snark/ubergine/images/arrow_refresh.png index 26b8dff1b..0d280de31 100644 Binary files a/installer/resources/themes/snark/ubergine/images/arrow_refresh.png and b/installer/resources/themes/snark/ubergine/images/arrow_refresh.png differ diff --git a/installer/resources/themes/snark/ubergine/images/complete.png b/installer/resources/themes/snark/ubergine/images/complete.png new file mode 100644 index 000000000..069df0dd6 Binary files /dev/null and b/installer/resources/themes/snark/ubergine/images/complete.png differ diff --git a/installer/resources/themes/snark/ubergine/images/downloading.png b/installer/resources/themes/snark/ubergine/images/downloading.png new file mode 100644 index 000000000..cc61019ad Binary files /dev/null and b/installer/resources/themes/snark/ubergine/images/downloading.png differ diff --git a/installer/resources/themes/snark/ubergine/images/nopeers.png b/installer/resources/themes/snark/ubergine/images/nopeers.png new file mode 100644 index 000000000..b718f9c3d Binary files /dev/null and b/installer/resources/themes/snark/ubergine/images/nopeers.png differ diff --git a/installer/resources/themes/snark/ubergine/images/seeding.png b/installer/resources/themes/snark/ubergine/images/seeding.png new file mode 100644 index 000000000..1e03d4269 Binary files /dev/null and b/installer/resources/themes/snark/ubergine/images/seeding.png differ diff --git a/installer/resources/themes/snark/ubergine/images/stalled.png b/installer/resources/themes/snark/ubergine/images/stalled.png new file mode 100644 index 000000000..3ba4b6635 Binary files /dev/null and b/installer/resources/themes/snark/ubergine/images/stalled.png differ diff --git a/installer/resources/themes/snark/ubergine/images/status.png b/installer/resources/themes/snark/ubergine/images/status.png index 782a47999..618cb3fa6 100644 Binary files a/installer/resources/themes/snark/ubergine/images/status.png and b/installer/resources/themes/snark/ubergine/images/status.png differ diff --git a/installer/resources/themes/snark/ubergine/images/stopped.png b/installer/resources/themes/snark/ubergine/images/stopped.png new file mode 100644 index 000000000..88a2cfbc5 Binary files /dev/null and b/installer/resources/themes/snark/ubergine/images/stopped.png differ diff --git a/installer/resources/themes/snark/ubergine/images/trackererror.png b/installer/resources/themes/snark/ubergine/images/trackererror.png new file mode 100644 index 000000000..04766a4bc Binary files /dev/null and b/installer/resources/themes/snark/ubergine/images/trackererror.png differ diff --git a/installer/resources/themes/snark/ubergine/snark.css b/installer/resources/themes/snark/ubergine/snark.css index 9908c6692..5c8fbb222 100644 --- a/installer/resources/themes/snark/ubergine/snark.css +++ b/installer/resources/themes/snark/ubergine/snark.css @@ -16,7 +16,7 @@ body { .snarkRefresh:link,.snarkRefresh:visited { text-decoration: none !important; text-transform: uppercase !important; - padding: 2px 16px 3px !important; + padding: 4px 16px 5px !important; margin: -5px -7px -5px 0 !important; letter-spacing: 0.05em; font-weight: bold; @@ -118,7 +118,7 @@ table { padding: 0px; border-spacing: 0px; border-collapse: collapse; - color: #323 url("/themes/snark/ubergine/images/hat.png"); + color: #323; width: 100%; opacity: 1 !important; } @@ -141,17 +141,19 @@ thead { } th { - padding: 4px 2px 1px 4px; + padding: 4px 2px 4px 4px; font-size: 9pt; border-top: 1px outset #001; border-bottom: 1px inset #101; color: #ddd; whitespace: nowrap; + font-variant: small-caps !important; + letter-spacing: 0.05em; } th:first-child { text-align: left !important; - padding-left: 3px; + padding-left: 2px; max-width: 120px; } @@ -161,11 +163,11 @@ tfoot td:first-child { } th:first-child img { - margin: 1px 2px 3px 1px; + margin: 1px 1px 3px 1px !important; } th:nth-child(2) img { - margin: 1px 7px 3px 2px; + margin: 1px 7px 3px 2px !important; } tfoot th { @@ -244,15 +246,37 @@ td:first-child { .snarkTorrentStatus:first-child { text-align: left !important; - font-style: italic; - padding-left: 8px; + font-style: italic; + padding-left: 0px; + min-width: 92px; + font-weight: bold; + font-size: 7pt !important; + color: #dd9 !important; +} + +.snarkTorrentStatus:first-child img { + margin-right: 0px !important; } .snarkTorrentRate, .snarkTorrentDownloaded, .snarkTorrentUploaded { font-size: 8pt; font-weight: bold; + padding: 0 3px; } +.snarkTorrentDownloaded { + color: #76a !important; +} + +.snarkTorrentUploaded { + color: #b9b !important; +} + +.snarkTorrentRate { + color: #d9d !important; +} + + .snarkTorrentOdd { background: #656; background: #351933; @@ -325,7 +349,7 @@ td:first-child { .page { background: #323 url('/themes/snark/ubergine/images/tile2.png'); color: #310; - min-width: 820px !important; + min-width: 880px !important; margin: 5px 0 0 0; padding: 10px 10px 0px 10px; -moz-border-radius: 4px; @@ -447,12 +471,12 @@ textarea { -moz-border-radius: 4px; -khtml-border-radius: 4px; border-radius: 4px; - border: 1px inset #000; + border: 1px inset #000; } img { border: none; - margin: 1px 3px 3px 4px; + margin: 0 3px 1px 3px; vertical-align: middle; opacity: 1.0; line-height: 100%; @@ -460,7 +484,6 @@ img { img: hover { border: none; - margin: 5px 5px 0px 5px; opacity: 0.5; line-height: 100%; } @@ -576,7 +599,7 @@ code { } .snarknavbar { margin: -10px 0 5px 0 !important; - padding: 9px 10px 10px; + padding: 11px 10px 12px; border: 1px solid #101; -moz-border-radius: 0 0 8px 8px; -khtml-border-radius: 0 0 4px 4px; @@ -597,7 +620,7 @@ code { .snarknavbar img { border: 0; - margin: 0 -2px 0 -3px; + margin: 0 -6px 0 -2px; padding: 1px 0 0px !important; - vertical-align: top; + vertical-align: top; }