Index: /trunk/src/VBox/ValidationKit/testmanager/htdocs/css/common.css
===================================================================
--- /trunk/src/VBox/ValidationKit/testmanager/htdocs/css/common.css	(revision 65040)
+++ /trunk/src/VBox/ValidationKit/testmanager/htdocs/css/common.css	(revision 65041)
@@ -584,4 +584,14 @@
 }
 
+.tmsyschlogspacer, .tmsyschlogspacerfinal {
+    width:          3.14159em;
+    border-top:     0px solid green !important;
+    border-left:    0px solid green !important;
+}
+.tmsyschlogspacer {
+    border-bottom:  0px solid green !important;
+}
+
+
 /*
  * Elements to be shows on *Show All* pages.
Index: /trunk/src/VBox/ValidationKit/testmanager/webui/wuiadminsystemchangelog.py
===================================================================
--- /trunk/src/VBox/ValidationKit/testmanager/webui/wuiadminsystemchangelog.py	(revision 65040)
+++ /trunk/src/VBox/ValidationKit/testmanager/webui/wuiadminsystemchangelog.py	(revision 65041)
@@ -267,5 +267,5 @@
 
         elif oEntry.sEvent == SystemLogData.ksEvent_TestSetAbandoned:
-            sEvent = 'Abandoned test set';
+            sEvent = 'Abandoned ' if oEntry.sDesc.startswith('idTestSet') else 'Abandoned test set';
             oDetails = self._formatDescGeneric(oEntry.sDesc, oEntry);
 
@@ -359,4 +359,7 @@
             oChangeEntry    = aoChanges[0];
             cAttribsChanged = len(oChangeEntry.aoChanges) + 1;
+            if oChangeEntry.oOldRaw is None and sEvent.startswith('Modified '):
+                sEvent = 'Created ' + sEvent[9:];
+
         else:
             oChangeEntry    = None;
@@ -366,6 +369,6 @@
                 u'    <td rowspan="%d">%s</td>\n' \
                 u'    <td rowspan="%d">%s</td>\n' \
-                u'    <td rowspan="%d">%s</td>\n' \
-                u'    <td colspan="3">%s</td>\n' \
+                u'    <td rowspanx="%d" colspan="4">%s<!--</td>\n' \
+                u'    <td colspan="3">--> %s</td>\n' \
                 u'  </tr>\n' \
               % ( sRowClass,
@@ -378,16 +381,16 @@
         if oChangeEntry is not None:
             for j, oChange in enumerate(oChangeEntry.aoChanges):
+                sHtml += '        <tr class="%s%s tmsyschlogattr"><td class="%s tmsyschlogspacer%s"></td>' \
+                       % ( sRowClass, 'odd' if j & 1 else 'even',
+                           sRowClass, 'final' if j + 1 == len(oChangeEntry.aoChanges) else '');
                 if isinstance(oChange, AttributeChangeEntryPre):
-                    sHtml += '        <tr class="%s%s tmsyschlogattr"><td>%s</td>'\
-                             '<td><div class="tdpre"><pre>%s</pre></div></td>' \
+                    sHtml += '<td><div class="tdpre"><pre>%s</pre></div></td>' \
                              '<td><div class="tdpre"><pre>%s</pre></div></td></tr>\n' \
-                           % ( sRowClass, 'odd' if j & 1 else 'even',
-                               webutils.escapeElem(oChange.sAttr),
+                           % ( webutils.escapeElem(oChange.sAttr),
                                webutils.escapeElem(oChange.sOldText),
                                webutils.escapeElem(oChange.sNewText), );
                 else:
-                    sHtml += '        <tr class="%s%s tmsyschlogattr"><td>%s</td><td>%s</td><td>%s</td></tr>\n' \
-                           % ( sRowClass, 'odd' if j & 1 else 'even',
-                               webutils.escapeElem(oChange.sAttr),
+                    sHtml += '        <td>%s</td><td>%s</td><td>%s</td></tr>\n' \
+                           % ( webutils.escapeElem(oChange.sAttr),
                                webutils.escapeElem(oChange.sOldText),
                                webutils.escapeElem(oChange.sNewText), );
@@ -405,11 +408,11 @@
                 u'  <th rowspan="2">When</th>\n' \
                 u'  <th rowspan="2">Who</th>\n' \
-                u'  <th rowspan="2">Event</th>\n' \
-                u'  <th colspan="3">Details</th>\n' \
+                u'  <th colspan="4">Event</th>\n' \
                 u' </tr>\n' \
                 u' <tr>\n' \
+                u'  <th></th>\n' \
                 u'  <th>Attribute</th>\n' \
-                u'  <th>Old Value</th>\n' \
-                u'  <th>New Value</th>\n' \
+                u'  <th>Old</th>\n' \
+                u'  <th>New</th>\n' \
                 u' </tr>\n' \
                 u'</thead>\n';
