From cead5c727147faac362e742aa7bcecf07f68cd99 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Thu, 18 May 2006 17:24:42 -0400
Subject: [PATCH] Updated CHANGELOG

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

diff --git a/program/js/app.js b/program/js/app.js
index e6c9e84..fe5e4ce 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -1206,6 +1206,7 @@
 
   // get next and previous rows that are not hidden
   this.get_next_row = function(){
+  	if (!this.list_rows) return false;
     var last_selected_row = this.list_rows[this.last_selected];
     var new_row = last_selected_row.obj.nextSibling;
     while (new_row && (new_row.nodeType != 1 || new_row.style.display == 'none')) {
@@ -1215,6 +1216,7 @@
   }
   
   this.get_prev_row = function(){
+    if (!this.list_rows) return false;
     var last_selected_row = this.list_rows[this.last_selected];
     var new_row = last_selected_row.obj.previousSibling;
     while (new_row && (new_row.nodeType != 1 || new_row.style.display == 'none')) {
@@ -1543,7 +1545,7 @@
       next_row = this.get_next_row();
       prev_row = this.get_prev_row();
       new_row = (next_row) ? next_row : prev_row;
-      this.select_row(new_row.uid,false,false);
+      if (new_row) this.select_row(new_row.uid,false,false);
       }
       
     var lock = false;
@@ -1584,7 +1586,7 @@
       next_row = this.get_next_row();
       prev_row = this.get_prev_row();
       new_row = (next_row) ? next_row : prev_row;
-      this.select_row(new_row.uid,false,false);
+      if (new_row) this.select_row(new_row.uid,false,false);
 
     // send request to server
     this.http_request('delete', '_uid='+a_uids.join(',')+'&_mbox='+escape(this.env.mailbox)+'&_from='+(this.env.action ? this.env.action : ''));
@@ -1605,11 +1607,15 @@
       this.permanently_remove_messages();
     // if there isn't a defined trash mailbox and the config is set to flag for deletion
     else if (!this.env.trash_mailbox && this.env.flag_for_deletion) {
-      this.mark_message('delete');
-      next_row = this.get_next_row();
-      prev_row = this.get_prev_row();
-      new_row = (next_row) ? next_row : prev_row;
-      this.select_row(new_row.uid,false,false);
+      this.mark_message('delete',this.env.uid);
+      if(this.env.action=="show"){
+        this.command('nextmessage','',this);
+      } else {
+        next_row = this.get_next_row();
+        prev_row = this.get_prev_row();
+        new_row = (next_row) ? next_row : prev_row;
+        if (new_row) this.select_row(new_row.uid,false,false);
+      }
     // if there isn't a defined trash mailbox and the config is set NOT to flag for deletion
     }else if (!this.env.trash_mailbox && !this.env.flag_for_deletion) {
       this.permanently_remove_messages();
@@ -1691,6 +1697,9 @@
     if (this.env.read_when_deleted) {
       this.toggle_read_status('read',a_uids);
     }
+    // if deleting message from "view message" don't bother with delete icon
+    if (this.env.action == "show")
+      return false;
 
     var icn_src;
     for (var i=0; i<a_uids.length; i++)
@@ -3012,8 +3021,11 @@
   this.http_response = function(request_obj)
     {
     var ctype = request_obj.get_header('Content-Type');
-    if (ctype)
+    if (ctype){
       ctype = String(ctype).toLowerCase();
+      var ctype_array=ctype.split(";");
+      ctype = ctype_array[0];
+    }
 
     if (request_obj.__lock)
       this.set_busy(false);

--
Gitblit v1.9.1