From 7961f8c2c10c1a9f2dbaaaf4611478a13c0d7bb9 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Thu, 05 Jan 2012 11:15:37 -0500
Subject: [PATCH] Embed address book widget on compose screen

---
 skins/larry/ui.js |   21 ++++++++++++++++-----
 1 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/skins/larry/ui.js b/skins/larry/ui.js
index ee51500..9e9e6b7 100644
--- a/skins/larry/ui.js
+++ b/skins/larry/ui.js
@@ -82,6 +82,7 @@
       else if (rcmail.env.action == 'compose') {
         rcmail.addEventListener('aftertoggle-editor', function(){ window.setTimeout(function(){ layout_composeview() }, 100); });
         rcmail.addEventListener('aftersend-attachment', show_uploadform);
+        rcmail.addEventListener('add-recipient', function(p){ show_header_row(p.field, true); });
         layout_composeview();
 
         $('#composeoptionstoggle').parent().click(function(){
@@ -182,8 +183,13 @@
         }
       }
     });
-    
-    $(window).resize(resize);
+
+    $(window).resize(function(e) {
+      // check target due to bugs in jquery
+      // http://bugs.jqueryui.com/ticket/7514
+      // http://bugs.jquery.com/ticket/9841
+      if (e.target == window) resize();
+    });
   }
 
   /**
@@ -631,11 +637,16 @@
   /**
    *
    */
-  function show_header_row(which)
+  function show_header_row(which, updated)
   {
-    if (compose_headers[which])
+    var row = $('#compose-' + which);
+    if (row.is(':visible'))
+      return;  // nothing to be done here
+
+    if (compose_headers[which] && !updated)
       $('#_' + which).val(compose_headers[which]);
-    $('#compose-' + which).show();
+
+    row.show();
     $('#' + which + '-link').hide();
     layout_composeview();
     return false;

--
Gitblit v1.9.1