<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -397,11 +397,11 @@ class MergeGoogle(AddressBookerBaseHandler):
 
     updater = Updater(client=client, noop_mode=preview_mode);
 
+    no_change_contacts = []
     for contact in contacts:
       contact_change = {
         &quot;contact&quot;: contact,
         }
-      contact_changes.append(contact_change)
 
       merge_entry = FindEntryToMergeInto(contact, feed)
       if merge_entry:
@@ -418,6 +418,14 @@ class MergeGoogle(AddressBookerBaseHandler):
         contact_change[&quot;changes&quot;] = [&quot;Create new contact.&quot;]
         updater.AddInsert(NewContactEntry(contact, group=group))
 
+      if contact_change[&quot;action&quot;] == &quot;none&quot;:
+        no_change_contacts.append(contact_change)
+      else:
+        contact_changes.append(contact_change)
+
+    # Put the boring ones at bottom.
+    contact_changes.extend(no_change_contacts)
+
     render_google_list = False
     if render_google_list:
       out(&quot;&lt;hr /&gt;&quot;)
@@ -446,6 +454,7 @@ class MergeGoogle(AddressBookerBaseHandler):
         &quot;preview_mode&quot;: preview_mode,
         &quot;body&quot;: &quot;&quot;.join(body),
         &quot;session_token&quot;: str(session_token),
+        &quot;key&quot;: key,
         &quot;changes&quot;: contact_changes
         })
     </diff>
      <filename>addressbooker.py</filename>
    </modified>
    <modified>
      <diff>@@ -1,18 +1,33 @@
 {% if preview_mode %}
-&lt;b&gt;Preview mode.&lt;/b&gt;  See if the changes below look good.  If so, press submit at bottom.
-{% endif %}
+&lt;b&gt;Preview mode.&lt;/b&gt;  See if the changes below look good.  If so, press the button:&lt;/p&gt;
+&lt;form method='POST' style='margin-top: 1em'&gt;
+  &lt;center&gt;&lt;input type='submit' value='Do it.' style='font-size: 30pt;' /&gt;&lt;/center&gt;
+&lt;/form&gt;
+{% else %}
+
+&lt;p&gt;All done!  You can &lt;a href='gcontacts?key={{ key|urlencode }}'&gt;go
+back&lt;/a&gt; and verify the delta is now zero.  Or go check
+out &lt;a href=&quot;http://mail.google.com/mail/contacts/ui/ContactManager&quot;&gt;your
+Google Contacts&lt;/a&gt;.&lt;/p&gt;
+
+  {% endif %}
 
+&lt;center&gt;
 &lt;table cellpadding='5' border='3' style='margin-top: 2em'&gt;
 &lt;tr&gt;
 &lt;td colspan='2'&gt;&lt;b&gt;Submitted Contact&lt;/b&gt;&lt;/td&gt;
 &lt;td&gt;&lt;b&gt;Action&lt;/b&gt;&lt;/td&gt;
-&lt;td&gt;&lt;b&gt;Changes&lt;/b&gt;&lt;/td&gt;
+&lt;td&gt;&lt;b&gt;
+   {% if preview_mode %}Proposed {% endif %}Changes
+&lt;/b&gt;&lt;/td&gt;
 &lt;/tr&gt;
 {% for change in changes %}
   &lt;tr&gt;
   &lt;td&gt;
     {% if change.contact.img %}
-      &lt;div class='image'&gt;&lt;img src=&quot;{{ change.contact.img|escape }}&quot; /&gt;&lt;/div&gt;
+      {% ifnotequal change.action &quot;none&quot; %}
+        &lt;div class='image'&gt;&lt;img src=&quot;{{ change.contact.img|escape }}&quot; /&gt;&lt;/div&gt;
+      {% endifnotequal %}
     {% endif %}
   &lt;/td&gt;
   &lt;td&gt;
@@ -41,6 +56,7 @@
   &lt;/tr&gt;
 {% endfor %}
 &lt;/table&gt;
+&lt;/center&gt;
 
 {% if body %}
 &lt;hr&gt;</diff>
      <filename>google-merge.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-&lt;p&gt;... a stupid hack that aims to be be a swiss-army knife for contact
+&lt;p&gt;... aims to be a swiss-army knife for contact
 management, but right now doesn't do very much.&lt;/p&gt;
 
 &lt;p&gt;Currently it can just take a submitted form POST w/ JSON contacts</diff>
      <filename>index.html</filename>
    </modified>
    <modified>
      <diff>@@ -15,7 +15,7 @@
 
 &lt;br clear='both' /&gt;
 &lt;hr&gt;
-&lt;i&gt;&lt;a href=&quot;http://addressbooker.appspot.com/&quot;&gt;AddressBooker&lt;/a&gt; is a dumb little hack by Brad Fitzpatrick &amp;lt;brad@danga.com&amp;gt;.  It comes with &lt;b&gt;no warranty of any kind&lt;/b&gt;.&lt;/i&gt;
+&lt;i&gt;&lt;a href=&quot;http://addressbooker.appspot.com/&quot;&gt;AddressBooker&lt;/a&gt; is a little hack by Brad Fitzpatrick &amp;lt;brad@danga.com&amp;gt;.  It comes with &lt;b&gt;no warranty of any kind&lt;/b&gt;.&lt;/i&gt;
 &lt;/body&gt;
 &lt;/html&gt;
 </diff>
      <filename>page.html</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>9dbc186f7291769c67a9ed9fb99e15bb7441b7f6</id>
    </parent>
  </parents>
  <author>
    <name>Brad Fitzpatrick</name>
    <email>brad@danga.com</email>
  </author>
  <url>http://github.com/bradfitz/addressbooker/commit/4c47dff7abcd108659188efd125227713077acca</url>
  <id>4c47dff7abcd108659188efd125227713077acca</id>
  <committed-date>2008-11-30T20:47:38-08:00</committed-date>
  <authored-date>2008-11-30T20:47:38-08:00</authored-date>
  <message>prettier</message>
  <tree>22445bc83977312d6c4df217a05526cc6db26927</tree>
  <committer>
    <name>Brad Fitzpatrick</name>
    <email>brad@danga.com</email>
  </committer>
</commit>
