summaryrefslogtreecommitdiff
path: root/program/js
diff options
context:
space:
mode:
authorsvncommit <devs@roundcube.net>2006-11-21 08:18:29 +0000
committersvncommit <devs@roundcube.net>2006-11-21 08:18:29 +0000
commit31c171846ec7c387fb7fc3e979a63330420002b0 (patch)
treeb59a714ae63247d3711e9a4ded660e73183847b7 /program/js
parentd17008560036f91fd7327b17ad68cbadc3f7a8ac (diff)
Bypass Trash folder if Shift-Del was pressed.
Diffstat (limited to 'program/js')
-rw-r--r--program/js/app.js9
-rw-r--r--program/js/list.js4
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)