Index: trunk/gsdl/src/recpt/collectoraction.cpp
===================================================================
--- trunk/gsdl/src/recpt/collectoraction.cpp	(revision 1485)
+++ trunk/gsdl/src/recpt/collectoraction.cpp	(revision 1507)
@@ -350,5 +350,5 @@
   }
   
-  if (current_page == "bildstatus") {
+  if (current_page == "bildstatus" || current_page == "bildcancel") {
     // if .final file exists then build has finished
     text_t fbld = filename_cat (gsdlhome, "tmp", args["bc1tmp"], args["bc1dirname"] + ".bld.final");
@@ -589,5 +589,6 @@
   if (enabled) {
     text_t gsmacro = "_gsimage_";
-    if (thispage == "info" || thispage == "srce" || thispage == "conf") {
+    if (thispage == "info" || thispage == "srce" || thispage == "conf" || 
+	thispage == "bildcancel" || thispage == "bildfail") {
       gsmacro = "_gsjimage_";
     } else if (type == "view") {
@@ -683,5 +684,4 @@
     fullnamemenu.push_back ('>');
     fullnamemenu += fullnames[i];
-    if (write_protected[i]) fullnamemenu += " <b>(write protected)</b>";
     fullnamemenu.push_back ('\n');
     
@@ -805,4 +805,5 @@
 
   if (collector_page == "new") {
+    collectorbar += "<td>_icongreyarrow_</td>\n";
     collectorbar += get_button (collector_page, "green", "info", true);
     collectorbar += "<td>_icongreyarrow_</td>\n";
@@ -816,4 +817,5 @@
 
   } else if (collector_page == "info") {
+    collectorbar += "<td>_icongreyarrow_</td>\n";
     collectorbar += get_button (collector_page, "yellow", "info", false);
     collectorbar += "<td>_icongreyarrow_</td>\n";
@@ -825,7 +827,8 @@
     collectorbar += "<td>_icongreyarrow_</td>\n";
     collectorbar += get_button (collector_page, "grey", "view", false);
-    collectorbar += "</tr><tr><td align=center>_icongreyuparrow_</td><td colspan=8></td>\n";
+    collectorbar += "</tr><tr><td></td><td align=center>_icongreyuparrow_</td><td colspan=8></td>\n";
 
   } else if (collector_page == "srce") {
+    collectorbar += "<td>_icongreyarrow_</td>\n";
     if (esrce == 1) {
       // if we came from the "change an existing collection" page previous button(s)
@@ -843,7 +846,8 @@
     collectorbar += "<td>_icongreyarrow_</td>\n";
     collectorbar += get_button (collector_page, "grey", "view", false);
-    collectorbar += "</tr><tr><td colspan=2></td><td align=center>_icongreyuparrow_</td><td colspan=6></td>\n";
+    collectorbar += "</tr><tr><td colspan=3></td><td align=center>_icongreyuparrow_</td><td colspan=6></td>\n";
 
   } else if (collector_page == "conf") {
+    collectorbar += "<td>_icongreyarrow_</td>\n";
     // disable appropriate buttons if we came from "change an existing collection"
     // page
@@ -865,7 +869,8 @@
     collectorbar += "<td>_icongreyarrow_</td>\n";
     collectorbar += get_button (collector_page, "grey", "view", false);
-    collectorbar += "</tr><tr><td colspan=4></td><td align=center>_icongreyuparrow_</td><td colspan=4></td>\n";
+    collectorbar += "</tr><tr><td colspan=5></td><td align=center>_icongreyuparrow_</td><td colspan=4></td>\n";
 
   } else if (collector_page == "bilddone") {
+    collectorbar += "<td>_icongreyarrow_</td>\n";
     // all previous buttons grey after build was completed
     collectorbar += get_button (collector_page, "grey", "info", false);
@@ -878,7 +883,8 @@
     collectorbar += "<td>_icongreyarrow_</td>\n";
     collectorbar += get_button (collector_page, "green", "view", true);
-    collectorbar += "</tr><tr><td colspan=6></td><td align=center>_icongreyuparrow_</td><td colspan=2></td>\n";
-
-  } else if (collector_page == "bildcancel") {
+    collectorbar += "</tr><tr><td colspan=7></td><td align=center>_icongreyuparrow_</td><td colspan=2></td>\n";
+
+  } else if (collector_page == "bildcancel" || collector_page == "bildfail") {
+    collectorbar += "<td>_icongreyarrow_</td>\n";
     // disable appropriate buttons if we came from "change an existing collection"
     // page
@@ -973,6 +979,7 @@
   }
   
-  if (collector_page == "bildcancel") {
-    // cancel the build
+  if (collector_page == "bildcancel" || collector_page == "bildfail") {
+    // cancel the build (we'll also use the cancel_build script to tidy
+    // up if the build failed)
     gsdl_cancel_build (args, logout);
   }
