From 06895c3e947e1b15da3bb2f6f425962949edb9d9 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Fri, 18 May 2007 08:35:28 -0400
Subject: [PATCH] Better refresh of message list; improved HTML mail display

---
 program/js/app.js |   42 ++++++++++++++++++++++--------------------
 1 files changed, 22 insertions(+), 20 deletions(-)

diff --git a/program/js/app.js b/program/js/app.js
index 125e44f..65bbee9 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -343,9 +343,9 @@
     var uid = row.uid;
     if (uid && this.env.messages[uid])
       {
-      row.deleted = this.env.messages[uid].deleted;
-      row.unread = this.env.messages[uid].unread;
-      row.replied = this.env.messages[uid].replied;
+      row.deleted = this.env.messages[uid].deleted ? true : false;
+      row.unread = this.env.messages[uid].unread ? true : false;
+      row.replied = this.env.messages[uid].replied ? true : false;
       }
 
     // set eventhandler to message icon
@@ -968,7 +968,7 @@
 
       this.display_message(msg, 'loading', true);
       }
-    else if (!a && this.busy)
+    else if (!a)
       this.hide_message();
 
     this.busy = a;
@@ -1244,12 +1244,14 @@
     if (!page && mbox != this.env.mailbox)
       {
       page = 1;
-      add_url += '&_refresh=1';
       this.env.current_page = page;
       if (this.message_list)
         this.message_list.clear_selection();
       this.show_contentframe(false);
       }
+    
+    if (mbox != this.env.mailbox || (mbox == this.env.mailbox && !page && !sort))
+      add_url += '&_refresh=1';
     
     this.select_folder(mbox, this.env.mailbox);
     this.env.mailbox = mbox;
@@ -1304,7 +1306,7 @@
 
     // send request to server
     var url = '_mbox='+urlencode(mbox);
-    this.http_request('expunge', url+add_url, lock);
+    this.http_post('expunge', url+add_url, lock);
     };
 
 
@@ -1326,7 +1328,7 @@
 
     // send request to server
     var url = '_mbox='+urlencode(mbox);
-    this.http_request('purge', url+add_url, lock);
+    this.http_post('purge', url+add_url, lock);
     return true;
     };
 
@@ -1432,7 +1434,7 @@
       add_url += '&_search='+this.env.search_request;
 
     // send request to server
-    this.http_request(action, '_uid='+a_uids.join(',')+'&_mbox='+urlencode(this.env.mailbox)+add_url, lock);
+    this.http_post(action, '_uid='+a_uids.join(',')+'&_mbox='+urlencode(this.env.mailbox)+add_url, lock);
     };
 
 
@@ -1511,7 +1513,7 @@
         }
       }
       
-    this.http_request('mark', '_uid='+a_uids.join(',')+'&_flag='+flag);
+    this.http_post('mark', '_uid='+a_uids.join(',')+'&_flag='+flag);
   };
   
   // mark all message rows as deleted/undeleted
@@ -1588,7 +1590,7 @@
       }
     }
 
-    this.http_request('mark', '_uid='+a_uids.join(',')+'&_flag=undelete');
+    this.http_post('mark', '_uid='+a_uids.join(',')+'&_flag=undelete');
     return true;
   };
 
@@ -1615,7 +1617,7 @@
       }
     }
 
-    this.http_request('mark', '_uid='+a_uids.join(',')+'&_flag=delete');
+    this.http_post('mark', '_uid='+a_uids.join(',')+'&_flag=delete');
     return true;  
   };
 
@@ -1926,7 +1928,7 @@
   this.remove_attachment = function(name)
     {
     if (name)
-      this.http_request('remove-attachment', '_file='+urlencode(name));
+      this.http_post('remove-attachment', '_file='+urlencode(name));
 
     return true;
     };
@@ -2356,7 +2358,7 @@
       }
 
     // send request to server
-    this.http_request('delete', '_cid='+urlencode(a_cids.join(','))+'&_from='+(this.env.action ? this.env.action : ''));
+    this.http_post('delete', '_cid='+urlencode(a_cids.join(','))+'&_from='+(this.env.action ? this.env.action : ''));
     return true;
     };
 
@@ -2440,7 +2442,7 @@
       name = form.elements['_folder_name'].value;
 
     if (name)
-      this.http_request('create-folder', '_name='+urlencode(name), true);
+      this.http_post('create-folder', '_name='+urlencode(name), true);
     else if (form.elements['_folder_name'])
       form.elements['_folder_name'].focus();
     };
@@ -2463,7 +2465,7 @@
       }
 
     if (oldname && newname)
-      this.http_request('rename-folder', '_folder_oldname='+urlencode(oldname)+'&_folder_newname='+urlencode(newname));
+      this.http_post('rename-folder', '_folder_oldname='+urlencode(oldname)+'&_folder_newname='+urlencode(newname));
     };
 
 
@@ -2520,7 +2522,7 @@
       {
       var newname = this.name_input ? this.name_input.value : null;
       if (this.edit_folder && newname)
-        this.http_request('rename-folder', '_folder_oldname='+urlencode(this.env.subscriptionrows[this.edit_folder][0])+'&_folder_newname='+urlencode(newname));        
+        this.http_post('rename-folder', '_folder_oldname='+urlencode(this.env.subscriptionrows[this.edit_folder][0])+'&_folder_newname='+urlencode(newname));
       }
     // escape
     else if (key==27)
@@ -2535,7 +2537,7 @@
     this.reset_folder_rename();
     
     if (folder)
-      this.http_request('delete-folder', '_mboxes='+urlencode(folder));
+      this.http_post('delete-folder', '_mboxes='+urlencode(folder));
     };
 
 
@@ -2662,7 +2664,7 @@
     if ((form = this.gui_objects.editform) && form.elements['_unsubscribed'])
       this.change_subscription('_unsubscribed', '_subscribed', 'subscribe');
     else if (folder)
-      this.http_request('subscribe', '_mboxes='+urlencode(folder));
+      this.http_post('subscribe', '_mboxes='+urlencode(folder));
     };
 
 
@@ -2672,7 +2674,7 @@
     if ((form = this.gui_objects.editform) && form.elements['_subscribed'])
       this.change_subscription('_subscribed', '_unsubscribed', 'unsubscribe');
     else if (folder)
-      this.http_request('unsubscribe', '_mboxes='+urlencode(folder));
+      this.http_post('unsubscribe', '_mboxes='+urlencode(folder));
     };
     
 
@@ -2706,7 +2708,7 @@
           list_to[index] = new Option(a_folders[n]);
           }
           
-        this.http_request(action, '_mboxes='+urlencode(a_folders.join(',')));
+        this.http_post(action, '_mboxes='+urlencode(a_folders.join(',')));
         }
       }
       

--
Gitblit v1.9.1