View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000864 | SOGo | Web General | public | 2010-09-27 18:36 | 2010-10-08 20:58 |
Reporter | Jason Oster | Assigned To | francis | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | 1.3.2 | ||||
Target Version | 1.3.3 | Fixed in Version | 1.3.3 | ||
Summary | 0000864: CTRL + A (select all) does not work on Firefox | ||||
Description | CTRL + A (select all) is listed in the ChangeLog for version 1.3.2, but is broken in Firefox (all versions as far as I can tell, but definitely in 3.6 and 4.0 beta). The problem is that Firefox does not give an Event.keyCode for "character keys" on keypress events. See: http://www.quirksmode.org/js/keys.html | ||||
Additional Information | Attached a patch (against MTN trunk) that solves this bug. | ||||
Tags | No tags attached. | ||||
2010-09-27 18:36
|
SOGo-fix_ctrl_a.patch (2,059 bytes)
# # old_revision [76f86549bcd89f2910a9950d2994fe356548ba8b] # # patch "UI/WebServerResources/MailerUI.js" # from [ac91c2a7ce631c726192bf3cf24c447921b4cbc4] # to [7929a9f1fa3d4e60c11802654134e924d57095c5] # ============================================================ --- UI/WebServerResources/MailerUI.js ac91c2a7ce631c726192bf3cf24c447921b4cbc4 +++ UI/WebServerResources/MailerUI.js 7929a9f1fa3d4e60c11802654134e924d57095c5 @@ -317,19 +317,27 @@ function onDocumentKeydown(event) { } function onDocumentKeydown(event) { + var keyCode = event.keyCode; + if (!keyCode) { + keyCode = event.charCode; + if (keyCode == "a".charCodeAt(0)) { + keyCode = "A".charCodeAt(0); + } + } + var target = Event.element(event); if (target.tagName != "INPUT") { - if (event.keyCode == Event.KEY_DELETE || - event.keyCode == Event.KEY_BACKSPACE && isMac()) { + if (keyCode == Event.KEY_DELETE || + keyCode == Event.KEY_BACKSPACE && isMac()) { deleteSelectedMessages(); Event.stop(event); } - else if (event.keyCode == Event.KEY_DOWN || - event.keyCode == Event.KEY_UP) { + else if (keyCode == Event.KEY_DOWN || + keyCode == Event.KEY_UP) { if (Mailer.currentMessages[Mailer.currentMailbox]) { var row = $("row_" + Mailer.currentMessages[Mailer.currentMailbox]); var nextRow; - if (event.keyCode == Event.KEY_DOWN) + if (keyCode == Event.KEY_DOWN) nextRow = row.next("tr"); else nextRow = row.previous("tr"); @@ -358,7 +366,7 @@ function onDocumentKeydown(event) { } } else if (((isMac() && event.metaKey == 1) || (!isMac() && event.ctrlKey == 1)) - && event.keyCode == 65) { // Ctrl-A + && keyCode == "A".charCodeAt(0)) { // Ctrl-A $("messageListBody").down("TBODY").selectAll(); Event.stop(event); } |
Thanks for the patch. I also fixed the other modules. Revision f02a11f1e1e720bc3a1a26a301b2b216d5335eb9. |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2010-09-27 18:36 | Jason Oster | New Issue | |
2010-09-27 18:36 | Jason Oster | File Added: SOGo-fix_ctrl_a.patch | |
2010-09-28 14:13 | francis | Status | new => assigned |
2010-09-28 14:13 | francis | Assigned To | => francis |
2010-10-07 14:15 | francis | Target Version | => 1.3.3 |
2010-10-08 20:58 | francis | Note Added: 0001590 | |
2010-10-08 20:58 | francis | Status | assigned => resolved |
2010-10-08 20:58 | francis | Fixed in Version | => 1.3.3 |
2010-10-08 20:58 | francis | Resolution | open => fixed |