Closed Bug 528629 Opened 15 years ago Closed 15 years ago

Redo Undo both use keyboard shortcut COMMAND+Z in Mail message composition

Categories

(SeaMonkey :: MailNews: Composition, defect)

All
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
seamonkey2.1a1

People

(Reporter: ccsccs7, Assigned: stefanh)

References

Details

(Keywords: fixed-seamonkey2.0.1)

Attachments

(1 file, 3 obsolete files)

User-Agent:       Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.23) Gecko/20090823 SeaMonkey/1.1.18 Mnenhy/0.7.5.0
Build Identifier: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8.1.23) Gecko/20090823 SeaMonkey/1.1.18 Mnenhy/0.7.5.0

Typical keyboard commands for Undo and Redo (with unlimited Undo) are COMMAND+Z for Undo and COMMAND+SHIFT+Z for Redo. This is the labeling in the browser component of SeaMonkey, but under Mail, the shortcuts are both COMMAND+Z. The COMMAND+Z/COMMAND+SHIFT+Z shortcuts work correctly in the subject line of the email, but not in the message area.

Reproducible: Always

Steps to Reproduce:
1. Compose mail message
2. Make several additions and deletions
3. Press COMMAND+Z a few times
Actual Results:  
Last edit is undone and redone.

Expected Results:  
Last few edits progressively undone.

I've filed the menu keyboard shortcut display as Bug#528628
I just noticed that my build identifier is wrong. This is under SeaMonkey 2.0 (final release).
I guess we miss some overlay here...
Status: UNCONFIRMED → NEW
Ever confirmed: true
Karsten, any idea what caused this? The only file I can see the right key combo in is platformCommunicatorOverlay
So... we get those keys from utilityOverlay.xul, it seems. That is overlayed by platformCommunicatorOverlay.xul.
Attached patch possible patch (obsolete) — Splinter Review
Not really tested this, just putting it here for reference
Version: unspecified → SeaMonkey 2.0 Branch
OK, so the <key/> in platformCommunicatorOverlay.xul doesn't work at all, but it does if I apply attachment #412514 [details] [diff] [review].
Assignee: nobody → stefanh
Status: NEW → ASSIGNED
Comment on attachment 412514 [details] [diff] [review]
possible patch

I think there is more to do here - it's a bit of a mess with all the .dtd files. But this seems reasonable to me since I believe we want this on branch (no l10n impact).
Attachment #412514 - Flags: superreview?(neil)
Attachment #412514 - Flags: review?(mnyromyr)
We'll fix this on trunk first
Target Milestone: --- → seamonkey2.1a1
Version: SeaMonkey 2.0 Branch → Trunk
Comment on attachment 412514 [details] [diff] [review]
possible patch

(As this patch stands, it looks like it breaks Linux builds.)

For some reason the key_redo attributes are being overlayed in the wrong order (i.e. the attributes from the platform overlay are getting applied first) and I have no idea why :s
Attachment #412514 - Flags: superreview?(neil) → superreview-
OK, so the issue seems to be the order of overlays.
messengercompose.xul includes the keyset from editorOverlay.xul that includes the key_redo element that utilityOverlay.xul overlays. However if utilityOverlay.xul is overlaid before editorOverlay.xul then its overlay temporarily misses. Now platformCommunicatorOverlay.xul is an overlay of an overlay, so it gets queued up after all of the main overlays, so that it does find the key_redo from editorOverlay.xul, but then when utilityOverlay.xul gets its second chance to overlay key_redo it overwrites the attributes that platformCommunicatorOverlay.xul set.
Attached patch New approach (obsolete) — Splinter Review
Thanks for the info, Neil.

On mac, the issue can be seen in the main mailnews window as well (see the dupe). Anyway, I switched the order of the overlays and it works fine for me. I think it makes sense to remove the attributes in utilityOverlay, since we're not really using them.
Attachment #412514 - Attachment is obsolete: true
Attachment #414863 - Flags: superreview?(neil)
Attachment #414863 - Flags: review?(mnyromyr)
Attachment #412514 - Flags: review?(mnyromyr)
(like to keep this o the blocking radar, so it won't get lost)
Flags: blocking-seamonkey2.0.1?
Comment on attachment 414863 [details] [diff] [review]
New approach

>diff --git a/suite/common/utilityOverlay.xul b/suite/common/utilityOverlay.xul
As I said already before, this change breaks Linux!

sr=me on the mailnews changes only.
Attachment #414863 - Flags: superreview?(neil) → superreview+
Attached patch Overlay key for linux (obsolete) — Splinter Review
OK, if I haven't miunderstood you completely this would be better since then there won't be any confusion regarding what's overlayed and not. And this shouldn't break linux.
Attachment #414869 - Flags: superreview?(neil)
Attachment #414869 - Flags: review?(mnyromyr)
Attachment #414863 - Flags: review?(mnyromyr)
Comment on attachment 414869 [details] [diff] [review]
Overlay key for linux

>+  <key id="key_redo"/>
No point just having this on its own.
Attached patch Even betterSplinter Review
Neil pointed out that I don't need the key in utilityOverlay anymore. This patch also skips the re-ordering of the overlays.
Attachment #414863 - Attachment is obsolete: true
Attachment #414869 - Attachment is obsolete: true
Attachment #414873 - Flags: superreview?(neil)
Attachment #414873 - Flags: review?(mnyromyr)
Attachment #414869 - Flags: superreview?(neil)
Attachment #414869 - Flags: review?(mnyromyr)
Attachment #414873 - Flags: superreview?(neil) → superreview+
Comment on attachment 414873 [details] [diff] [review]
Even better

Interestingly, shift^H does (and did) redo even under Linux, which I didn't know, becaus e it's not shown...
Attachment #414873 - Flags: review?(mnyromyr) → review+
http://hg.mozilla.org/comm-central/rev/fb0d8c6fdd8d
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Hardware: PowerPC → All
Resolution: --- → FIXED
Comment on attachment 414873 [details] [diff] [review]
Even better

I think we want this on 2.0.1 - it's a safe patch and the problem is highly visible for mac users.
Attachment #414873 - Flags: approval-seamonkey2.0.1?
Attachment #414873 - Flags: approval-seamonkey2.0.1? → approval-seamonkey2.0.1+
Fixed for the forthcoming 2.0.1 release: http://hg.mozilla.org/releases/comm-1.9.1/rev/eb0b14ffe235
Flags: blocking-seamonkey2.0.1?
You need to log in before you can comment on or make changes to this bug.