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;
}