Author: toad
Date: 2008-05-07 12:58:41 +0000 (Wed, 07 May 2008)
New Revision: 19819
Modified:
trunk/freenet/src/freenet/clients/http/QueueToadlet.java
Log:
Reapply r19815. Now that it makes sense, because users can change priority in
non-advanced mode.
Modified: trunk/freenet/src/freenet/clients/http/QueueToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/QueueToadlet.java 2008-05-07
12:55:34 UTC (rev 19818)
+++ trunk/freenet/src/freenet/clients/http/QueueToadlet.java 2008-05-07
12:58:41 UTC (rev 19819)
@@ -498,6 +498,8 @@
return;
}
+ short lowestQueuedPrio = RequestStarter.MINIMUM_PRIORITY_CLASS;
+
for(int i=0;i<reqs.length;i++) {
ClientRequest req = reqs[i];
if(req instanceof ClientGet) {
@@ -513,6 +515,9 @@
} else if(cg.hasFinished()) {
failedDownload.add(cg);
} else {
+ short prio = cg.getPriority();
+ if(prio < lowestQueuedPrio)
+ lowestQueuedPrio = prio;
uncompletedDownload.add(cg);
}
} else if(req instanceof ClientPut) {
@@ -522,6 +527,9 @@
} else if(cp.hasFinished()) {
failedUpload.add(cp);
} else {
+ short prio = req.getPriority();
+ if(prio < lowestQueuedPrio)
+ lowestQueuedPrio = prio;
uncompletedUpload.add(cp);
}
} else if(req instanceof ClientPutDir) {
@@ -531,6 +539,9 @@
} else if(cp.hasFinished()) {
failedDirUpload.add(cp);
} else {
+ short prio = req.getPriority();
+ if(prio < lowestQueuedPrio)
+ lowestQueuedPrio = prio;
uncompletedDirUpload.add(cp);
}
}
@@ -661,20 +672,21 @@
L10n.getString("QueueToadlet.priority6")
};
+ boolean advancedModeEnabled = core.isAdvancedModeEnabled();
+
HTMLNode legendBox =
contentNode.addChild(pageMaker.getInfobox("legend",
L10n.getString("QueueToadlet.legend")));
HTMLNode legendContent = pageMaker.getContentNode(legendBox);
HTMLNode legendTable = legendContent.addChild("table", "class",
"queue");
HTMLNode legendRow = legendTable.addChild("tr");
for(int i=0; i<7; i++){
- legendRow.addChild("td", "class", "priority" + i,
priorityClasses[i]);
+ if(i > 1 || advancedModeEnabled || i <=
lowestQueuedPrio)
+ legendRow.addChild("td", "class", "priority" +
i, priorityClasses[i]);
}
if (reqs.length > 1 &&
SimpleToadletServer.isPanicButtonToBeShown) {
contentNode.addChild(createPanicBox(pageMaker, ctx));
}
- boolean advancedModeEnabled = core.isAdvancedModeEnabled();
-
if (!completedDownloadToTemp.isEmpty()) {
contentNode.addChild("a", "id",
"completedDownloadToTemp");
HTMLNode completedDownloadsTempInfobox =
contentNode.addChild(pageMaker.getInfobox("completed_requests",
L10n.getString("QueueToadlet.completedDinTempDirectory", new String[]{ "size"
}, new String[]{ String.valueOf(completedDownloadToTemp.size()) })));
@@ -860,13 +872,14 @@
return filenameCell;
}
- private HTMLNode createPriorityCell(PageMaker pageMaker, String
identifier, short priorityClass, ToadletContext ctx, String[] priorityClasses) {
+ private HTMLNode createPriorityCell(PageMaker pageMaker, String
identifier, short priorityClass, ToadletContext ctx, String[] priorityClasses,
boolean advancedModeEnabled) {
HTMLNode priorityCell = new HTMLNode("td", "class",
"request-priority nowrap");
HTMLNode priorityForm = ctx.addFormChild(priorityCell,
"/queue/", "queueChangePriorityCell-" + identifier.hashCode());
priorityForm.addChild("input", new String[] { "type", "name",
"value" }, new String[] { "hidden", "identifier", identifier });
HTMLNode prioritySelect = priorityForm.addChild("select",
"name", "priority");
for (int p = 0; p < RequestStarter.NUMBER_OF_PRIORITY_CLASSES;
p++) {
+ if(p < 1 && !advancedModeEnabled) continue;
if (p == priorityClass) {
prioritySelect.addChild("option", new String[]
{ "value", "selected" }, new String[] { String.valueOf(p), "selected" },
priorityClasses[p]);
} else {
@@ -1071,7 +1084,7 @@
requestRow.addChild(createFilenameCell(((ClientPut)
clientRequest).getOrigFilename()));
}
} else if (column == LIST_PRIORITY) {
-
requestRow.addChild(createPriorityCell(pageMaker,
clientRequest.getIdentifier(), clientRequest.getPriority(), ctx,
priorityClasses));
+
requestRow.addChild(createPriorityCell(pageMaker,
clientRequest.getIdentifier(), clientRequest.getPriority(), ctx,
priorityClasses, advancedModeEnabled));
} else if (column == LIST_FILES) {
requestRow.addChild(createNumberCell(((ClientPutDir)
clientRequest).getNumberOfFiles()));
} else if (column == LIST_TOTAL_SIZE) {