diff options
Diffstat (limited to 'program/js')
| -rw-r--r-- | program/js/app.js | 9 | ||||
| -rw-r--r-- | program/js/list.js | 4 | 
2 files changed, 12 insertions, 1 deletions
diff --git a/program/js/app.js b/program/js/app.js index 6485a98d7..1f0e3ee1f 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -1342,7 +1342,14 @@ function rcube_webmail()      // if there is a trash mailbox defined and we're not currently in it:      if (this.env.trash_mailbox && String(this.env.mailbox).toLowerCase()!=String(this.env.trash_mailbox).toLowerCase()) -      this.move_messages(this.env.trash_mailbox); +      // if shift was pressed delete it immediately +      if (this.message_list.shiftkey) +        { +        if (confirm(this.get_label('deletemessagesconfirm'))) +          this.permanently_remove_messages(); +        } +      else +        this.move_messages(this.env.trash_mailbox);      // if there is a trash mailbox defined but we *are* in it:      else if (this.env.trash_mailbox && String(this.env.mailbox).toLowerCase() == String(this.env.trash_mailbox).toLowerCase())        this.permanently_remove_messages(); diff --git a/program/js/list.js b/program/js/list.js index 88719049a..eac19bb60 100644 --- a/program/js/list.js +++ b/program/js/list.js @@ -32,6 +32,8 @@ function rcube_list_widget(list, p)    this.rows = [];    this.selection = []; +  this.shiftkey = false; +    this.multiselect = false;    this.draggable = false;    this.keyboard = false; @@ -504,6 +506,8 @@ key_press: function(e)    if (this.focused != true)       return true; +  this.shiftkey = e.shiftKey; +    var keyCode = document.layers ? e.which : document.all ? event.keyCode : document.getElementById ? e.keyCode : 0;    var mod_key = rcube_event.get_modifier(e);    switch (keyCode)  | 
