From c281619b96afaa34274bb56a3506e5c59b325b02 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Fri, 08 Jun 2012 08:18:39 -0400
Subject: [PATCH] Fix Shift + delete button does not permanently delete messages (#1488243)

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

diff --git a/program/js/app.js b/program/js/app.js
index 7eb8c78..a5c7db4 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -493,7 +493,7 @@
   /*********************************************************/
 
   // execute a specific command on the web client
-  this.command = function(command, props, obj)
+  this.command = function(command, props, obj, event)
   {
     var ret, uid, cid, url, flag;
 
@@ -713,7 +713,7 @@
       case 'delete':
         // mail task
         if (this.task == 'mail')
-          this.delete_messages();
+          this.delete_messages(event);
         // addressbook task
         else if (this.task == 'addressbook')
           this.delete_contacts();
@@ -2555,7 +2555,7 @@
   };
 
   // delete selected messages from the current mailbox
-  this.delete_messages = function()
+  this.delete_messages = function(event)
   {
     var uid, i, len, trash = this.env.trash_mailbox,
       list = this.message_list,
@@ -2587,7 +2587,7 @@
     // if there is a trash mailbox defined and we're not currently in it
     else {
       // if shift was pressed delete it immediately
-      if (list && list.modkey == SHIFT_KEY) {
+      if ((list && list.modkey == SHIFT_KEY) || (event && rcube_event.get_modifier(event) == SHIFT_KEY)) {
         if (confirm(this.get_label('deletemessagesconfirm')))
           this.permanently_remove_messages();
       }

--
Gitblit v1.9.1