Author: nextgens
Date: 2006-06-19 16:11:33 +0000 (Mon, 19 Jun 2006)
New Revision: 9313

Modified:
   trunk/freenet/src/freenet/clients/http/QueueToadlet.java
   trunk/freenet/src/freenet/clients/http/staticfiles/themes/clean/theme.css
   trunk/freenet/src/freenet/node/fcp/ClientGet.java
   trunk/freenet/src/freenet/node/fcp/ClientPutBase.java
   trunk/freenet/src/freenet/node/fcp/ClientRequest.java
   trunk/freenet/src/freenet/node/fcp/SimpleProgressMessage.java
Log:
improved progressbar on the QueueToadlet

Modified: trunk/freenet/src/freenet/clients/http/QueueToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/QueueToadlet.java    2006-06-19 
14:47:39 UTC (rev 9312)
+++ trunk/freenet/src/freenet/clients/http/QueueToadlet.java    2006-06-19 
16:11:33 UTC (rev 9313)
@@ -256,12 +256,6 @@
                        }
                        writeBigEnding(buf);
                }
-
-               /* FIXME color-coded progress bars.
-                * It would be really nice to have a color-coded progress bar.
-                * We can then show what part is successful, what part isn't 
tried yet,
-                * what part has each different well known error code...
-                */

                if(!(failedDownload.isEmpty() && failedUpload.isEmpty())) {
                        writeBigHeading("Failed requests", buf);
@@ -411,14 +405,33 @@

        private void writeProgressFractionCell(ClientRequest p, StringBuffer 
buf) {
                buf.append("<td>");
+               
                double frac = p.getSuccessFraction();
+               double total = p.getTotalBlocks();
+               // All are fractions
+               double fetched = p.getFetchedBlocks()/total;
+               double failed = p.getFailedBlocks()/total;
+               double failed2 = p.getFatalyFailedBlocks()/total;
+               double min = p.getMinBlocks()/total;
+               
                boolean b = p.isTotalFinalized();
                if(frac < 0) {
                        buf.append("<span 
class=\"progress_fraction_unknown\">unknown</span>");
                } else {
                        NumberFormat nf = NumberFormat.getInstance();
                        nf.setMaximumFractionDigits(0);
-                       buf.append("<div class=\"progressbar\"><div 
class=\"progressbar-done\" style=\"width: 
"+nf.format(frac*100)+"px\"></div></div>");
+                       buf.append("<div class=\"progressbar\">"+
+                                       "<div class=\"progressbar-done\" 
style=\"width: "+nf.format(frac*100)+"px\"></div>");
+                       
if(node.getToadletContainer().isAdvancedDarknetEnabled())
+                       {
+                               if(failed > 0)
+                                       buf.append("<div 
class=\"progressbar-failed\" style=\"width: 
"+nf.format(failed*100)+"px\"></div>");
+                               if(failed2 > 0)
+                                       buf.append("<div 
class=\"progressbar-failed2\" style=\"width: 
"+nf.format(failed2*100)+"px\"></div>");
+                               if(fetched < min)
+                                       buf.append("<div 
class=\"progressbar-min\" style=\"width: 
"+nf.format((min-fetched)*100)+"px\"></div>");
+                       }
+                       buf.append("</div>");

                        nf.setMaximumFractionDigits(1);
                        if(b)

Modified: 
trunk/freenet/src/freenet/clients/http/staticfiles/themes/clean/theme.css
===================================================================
--- trunk/freenet/src/freenet/clients/http/staticfiles/themes/clean/theme.css   
2006-06-19 14:47:39 UTC (rev 9312)
+++ trunk/freenet/src/freenet/clients/http/staticfiles/themes/clean/theme.css   
2006-06-19 16:11:33 UTC (rev 9313)
@@ -410,17 +410,38 @@
 }

 div.progressbar {
+       float: left;
        margin: none;
        background: blue;
        border: solid blue 1px;
        width: 100px;
+       height:15px;    
 }

 div.progressbar-done {
+       float: left;
+       background: green;
+       height:15px;
+}
+
+div.progressbar-min {
+       float: left;
+       background: yellow;
+       height:15px;
+}
+
+div.progressbar-failed {
+       float: left;
        background: red;
        height:15px;
 }

+div.progressbar-failed2 {
+       float: left;
+       background: black;
+       height:15px;
+}
+
 tr.priority0, td.priority0 {
 /*     background-color: #eb613d;*/
        background-color: #ffb7b7;

Modified: trunk/freenet/src/freenet/node/fcp/ClientGet.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientGet.java   2006-06-19 14:47:39 UTC 
(rev 9312)
+++ trunk/freenet/src/freenet/node/fcp/ClientGet.java   2006-06-19 16:11:33 UTC 
(rev 9313)
@@ -493,6 +493,41 @@
                } else
                        return -1;
        }
+       
+       public double getTotalBlocks() {
+               if(progressPending != null) {
+                       return progressPending.getTotalBlocks();
+               } else
+                       return -1;
+       }
+       
+       public double getMinBlocks() {
+               if(progressPending != null) {
+                       return progressPending.getMinBlocks();
+               } else
+                       return -1;
+       }
+       
+       public double getFailedBlocks() {
+               if(progressPending != null) {
+                       return progressPending.getFailedBlocks();
+               } else
+                       return -1;
+       }
+       
+       public double getFatalyFailedBlocks() {
+               if(progressPending != null) {
+                       return progressPending.getFatalyFailedBlocks();
+               } else
+                       return -1;
+       }
+       
+       public double getFetchedBlocks() {
+               if(progressPending != null) {
+                       return progressPending.getFetchedBlocks();
+               } else
+                       return -1;
+       }

        public String getFailureReason() {
                if(getFailedMessage == null)

Modified: trunk/freenet/src/freenet/node/fcp/ClientPutBase.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutBase.java       2006-06-19 
14:47:39 UTC (rev 9312)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutBase.java       2006-06-19 
16:11:33 UTC (rev 9313)
@@ -237,6 +237,52 @@
                        return -1;
        }

+       
+       public double getTotalBlocks() {
+               if(progressMessage != null) {
+                       if(progressMessage instanceof SimpleProgressMessage)
+                               return 
((SimpleProgressMessage)progressMessage).getTotalBlocks();
+                       else return 0;
+               } else
+                       return -1;
+       }
+       
+       public double getMinBlocks() {
+               if(progressMessage != null) {
+                       if(progressMessage instanceof SimpleProgressMessage)
+                               return 
((SimpleProgressMessage)progressMessage).getMinBlocks();
+                       else return 0;
+               } else
+                       return -1;
+       }
+       
+       public double getFailedBlocks() {
+               if(progressMessage != null) {
+                       if(progressMessage instanceof SimpleProgressMessage)
+                               return 
((SimpleProgressMessage)progressMessage).getFailedBlocks();
+                       else return 0;
+               } else
+                       return -1;
+       }
+       
+       public double getFatalyFailedBlocks() {
+               if(progressMessage != null) {
+                       if(progressMessage instanceof SimpleProgressMessage)
+                               return 
((SimpleProgressMessage)progressMessage).getFatalyFailedBlocks();
+                       else return 0;
+               } else
+                       return -1;
+       }
+       
+       public double getFetchedBlocks() {
+               if(progressMessage != null) {
+                       if(progressMessage instanceof SimpleProgressMessage)
+                               return 
((SimpleProgressMessage)progressMessage).getFetchedBlocks();
+                       else return 0;
+               } else
+                       return -1;
+       }
+       
        public boolean isTotalFinalized() {
                if(!(progressMessage instanceof SimpleProgressMessage)) return 
false;
                else return 
((SimpleProgressMessage)progressMessage).isTotalFinalized();

Modified: trunk/freenet/src/freenet/node/fcp/ClientRequest.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientRequest.java       2006-06-19 
14:47:39 UTC (rev 9312)
+++ trunk/freenet/src/freenet/node/fcp/ClientRequest.java       2006-06-19 
16:11:33 UTC (rev 9313)
@@ -245,6 +245,12 @@
        public abstract SimpleFieldSet getFieldSet() throws IOException;

        public abstract double getSuccessFraction();
+       
+       public abstract double getTotalBlocks();
+       public abstract double getMinBlocks();
+       public abstract double getFetchedBlocks();
+       public abstract double getFailedBlocks();
+       public abstract double getFatalyFailedBlocks();

        public abstract String getFailureReason();


Modified: trunk/freenet/src/freenet/node/fcp/SimpleProgressMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/SimpleProgressMessage.java       
2006-06-19 14:47:39 UTC (rev 9312)
+++ trunk/freenet/src/freenet/node/fcp/SimpleProgressMessage.java       
2006-06-19 16:11:33 UTC (rev 9313)
@@ -37,6 +37,26 @@
        public double getFraction() {
                return (double) event.fetchedBlocks / (double) 
event.totalBlocks;
        }
+       
+       public double getMinBlocks() {
+               return (double) event.minSuccessfulBlocks;
+       }
+       
+       public double getTotalBlocks(){
+               return (double) event.totalBlocks;
+       }
+       
+       public double getFetchedBlocks(){
+               return (double) event.fetchedBlocks;
+       }
+       
+       public double getFailedBlocks(){
+               return (double) event.failedBlocks;
+       }
+       
+       public double getFatalyFailedBlocks(){
+               return (double) event.fatallyFailedBlocks;
+       }

        public boolean isTotalFinalized() {
                return event.finalizedTotal;


Reply via email to