diff options
| author | robin <robin@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2006-11-21 08:18:29 +0000 |
|---|---|---|
| committer | robin <robin@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2006-11-21 08:18:29 +0000 |
| commit | eb02d48567c46221f9b2b864f75a013e4215f91e (patch) | |
| tree | 7f68c12e35b083ab2a9b0f12f52e00f301d9e048 | |
| parent | 5905dbf8f92af7b1837c4d9c0bf5893ebaaa6c9c (diff) | |
Bypass Trash folder if Shift-Del was pressed.
git-svn-id: https://svn.roundcube.net/trunk@375 208e9e7b-5314-0410-a742-e7e81cd9613c
| -rw-r--r-- | roundcubemail/program/js/app.js | 9 | ||||
| -rw-r--r-- | roundcubemail/program/js/list.js | 4 | ||||
| -rw-r--r-- | roundcubemail/program/localization/en_US/messages.inc | 2 | ||||
| -rw-r--r-- | roundcubemail/program/steps/mail/func.inc | 1 |
4 files changed, 15 insertions, 1 deletions
diff --git a/roundcubemail/program/js/app.js b/roundcubemail/program/js/app.js index 6485a98d7..1f0e3ee1f 100644 --- a/roundcubemail/program/js/app.js +++ b/roundcubemail/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/roundcubemail/program/js/list.js b/roundcubemail/program/js/list.js index 88719049a..eac19bb60 100644 --- a/roundcubemail/program/js/list.js +++ b/roundcubemail/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) diff --git a/roundcubemail/program/localization/en_US/messages.inc b/roundcubemail/program/localization/en_US/messages.inc index 2856db8a9..1a49a8e82 100644 --- a/roundcubemail/program/localization/en_US/messages.inc +++ b/roundcubemail/program/localization/en_US/messages.inc @@ -68,6 +68,8 @@ $messages['errordeleting'] = 'Could not delete the message'; $messages['deletecontactconfirm'] = 'Do you really want to delete the selected contact(s)?'; +$messages['deletemessagesconfirm'] = 'Do you really want to delete the selected message(s)?'; + $messages['deletefolderconfirm'] = 'Do you really want to delete this folder?'; $messages['purgefolderconfirm'] = 'Do you really want to delete all messages in this folder?'; diff --git a/roundcubemail/program/steps/mail/func.inc b/roundcubemail/program/steps/mail/func.inc index fb7b14c65..76bb9b712 100644 --- a/roundcubemail/program/steps/mail/func.inc +++ b/roundcubemail/program/steps/mail/func.inc @@ -79,6 +79,7 @@ function rcmail_mailbox_list($attrib) // add some labels to client rcube_add_label('purgefolderconfirm'); + rcube_add_label('deletemessagesconfirm'); // $mboxlist_start = rcube_timer(); |
