Closed Bug 427365 Opened 17 years ago Closed 17 years ago

Migrate Message Display prefpane

Categories

(SeaMonkey :: Preferences, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
seamonkey2.0a1

People

(Reporter: bugzilla, Assigned: bugzilla)

References

Details

(Whiteboard: H'n'C)

Attachments

(1 file, 6 obsolete files)

This bug is for the migration of MailNews' message display prefpane.
Attached patch Migration of the prefpane v1 (obsolete) (deleted) — Splinter Review
The patch migrates the message display pane to the new prefwindow. The license block from pref-viewing_messages.xul is missing cause I didn't know what exactly to write for initial developer and contributors. I asked about that in the mozilla.legal newsgroup and will include it when there's an answer to my question (see http://groups.google.com/group/mozilla.legal/browse_thread/thread/649f8c7eb336792f#)
Attachment #313920 - Flags: superreview?(neil)
Attachment #313920 - Flags: review?(mnyromyr)
Attached patch diff -w version of patch v1 (obsolete) (deleted) — Splinter Review
Comment on attachment 313927 [details] [diff] [review] diff -w version of patch v1 >+let checkbox; >+let textbox; Does that even make sense here? But I wouldn't bother with saving them anyway. >+ textbox.disabled = (!checkbox.checked || isPrefLocked(textbox)); Note: you'll need to modify this to switch back to Startup. >+ if (!textbox.disabled && !startingUp) >+ textbox.focus(); Sadly this is unlikely to be safe in instantApply mode. >+ if (!elem.hasAttribute("preference")) >+ return false; I'd rather hope that we could be sure that this would never happen ;-) >- function Startup() { I'd prefer to keep Startup if possible. >+ oncommand="enableMarkMessagesReadAfter()" This doesn't belong here. See the paragraph I just added to the How To ;-)
Attached patch Migration of the prefpane v2 (obsolete) (deleted) — Splinter Review
(In reply to comment #3) > (From update of attachment 313927 [details] [diff] [review]) > >+ if (!textbox.disabled && !startingUp) > >+ textbox.focus(); > Sadly this is unlikely to be safe in instantApply mode. The code looks slightly different now, but it works in instantApply mode.
Attachment #313920 - Attachment is obsolete: true
Attachment #313927 - Attachment is obsolete: true
Attachment #315262 - Flags: superreview?(neil)
Attachment #315262 - Flags: review?(mnyromyr)
Attachment #313920 - Flags: superreview?(neil)
Attachment #313920 - Flags: review?(mnyromyr)
Attached patch diff -w version of patch v2 (obsolete) (deleted) — Splinter Review
(In reply to comment #3) >(From update of attachment 313927 [details] [diff] [review]) >>+ if (!textbox.disabled && !startingUp) >>+ textbox.focus(); >Sadly this is unlikely to be safe in instantApply mode. Steps to reproduce problem: 1. Open about:config 2. If necessary, set instant apply to true 3. Set mailnews.mark_message_read.delay to false (and leave it selected) 4. Open Preferences and view message display preferences (do not close Preferences!) 5. Switch back to the about:config window and press Enter to toggle the preference Note that the focus is lost from about:config - if you switch back to Preferences you'll find that the focus went to the delay in seconds textbox (even if you selected a different panel but in that case it's harder to tell!)
Attached patch Migration of the prefpane v3 (obsolete) (deleted) — Splinter Review
This patch additionally checks, if the markMessagesRead checkbox is the focused element.
Attachment #315262 - Attachment is obsolete: true
Attachment #315263 - Attachment is obsolete: true
Attachment #315315 - Flags: superreview?(neil)
Attachment #315315 - Flags: review?(mnyromyr)
Attachment #315262 - Flags: superreview?(neil)
Attachment #315262 - Flags: review?(mnyromyr)
Comment on attachment 315315 [details] [diff] [review] Migration of the prefpane v3 Nice attachment number ;-) 315315 = 3 * 3 * 5 * 7 * 7 * 11 * 13 >+ <label value="&seconds.label;" >+ id="secondsLabel"/> <label id="secondsLabel" value="&seconds.label;"> on one line is fine.
Attachment #315315 - Flags: superreview?(neil) → superreview+
Whiteboard: H'n'C
Target Milestone: --- → seamonkey2.0alpha
Comment on attachment 315315 [details] [diff] [review] Migration of the prefpane v3 >+ let textbox = document.getElementById(aTextboxId); >+ let pref = document.getElementById("mailnews.mark_message_read.delay.interval"); I've just realised that this line is wrong. The old line was >- textbox.disabled = (!checkbox.checked || >- parent.hPrefWindow.getPrefIsLocked(textbox.getAttribute("prefstring"))); In other words you need to use textbox.getAttribute("preference") instead of the literal string.
Comment on attachment 315315 [details] [diff] [review] Migration of the prefpane v3 >Index: mailnews/base/prefs/resources/content/pref-viewing_messages.js >=================================================================== >+function Startup() >+{ >+ let value = document.getElementById("mailnews.mark_message_read.delay").value; >+ EnableTextbox("markMessagesReadAfter", value, false); >+} >+ >+function EnableMarkMessagesReadAfter(aValue) >+{ >+ let focus = (document.getElementById("markMessagesRead") == document.commandDispatcher.focusedElement); >+ EnableTextbox("markMessagesReadAfter", aValue, focus); >+} >+ >+function EnableTextbox(aTextboxId, aValue, aFocus) As you are passing the same value for aTextboxId from both calls, just drop that argument and use "markMessagesReadAfter" directly. >+{ >+ let textbox = document.getElementById(aTextboxId); >+ let pref = document.getElementById("mailnews.mark_message_read.delay.interval"); >+ let enable = aValue && !pref.locked; >+ >+ textbox.disabled = !enable; >+ >+ if (!textbox.disabled && aFocus) As you know what !textbox.disabled is already (enable) just use that instead. >+ textbox.focus(); >+}
Comment on attachment 315315 [details] [diff] [review] Migration of the prefpane v3 Basically okay, given that Neil's and Ian's issues are fixed, plus >Index: mailnews/base/prefs/resources/content/pref-viewing_messages.xul >=================================================================== > <?xml-stylesheet href="chrome://communicator/skin/" type="text/css"?> > <?xml-stylesheet href="chrome://messenger/skin/prefPanels.css" type="text/css"?> You don't need these stylesheets. >+ <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd"> %brandDTD; You don't need this dtd. Minusing for the number of changes.
Attachment #315315 - Flags: review?(mnyromyr) → review-
(In reply to comment #8) > (From update of attachment 315315 [details] [diff] [review]) > Nice attachment number ;-) > 315315 = 3 * 3 * 5 * 7 * 7 * 11 * 13 Could we somehow reserve 431612 for the landing of all mailpref patches? ;-)
Attached patch Migration of the prefpane v4 (obsolete) (deleted) — Splinter Review
Patch has all review comments addressed. Note: relies on patch for bug 429667
Attachment #315315 - Attachment is obsolete: true
Attachment #316425 - Flags: review?(mnyromyr)
Comment on attachment 316425 [details] [diff] [review] Migration of the prefpane v4 >Index: mailnews/base/prefs/resources/content/pref-viewing_messages.xul >=================================================================== >+<!DOCTYPE overlay [ >+ <!ENTITY % prefViewingMessagesDTD SYSTEM "chrome://messenger/locale/pref-viewing_messages.dtd"> %prefViewingMessagesDTD; >+]> This should be folded back into a single DOCTYPE line: <!DOCTYPE overlay SYSTEM "chrome://messenger/locale/pref-viewing_messages.dtd"> r=me with that.
Attachment #316425 - Flags: review?(mnyromyr) → review+
Attached patch Migration of the prefpane v5 (deleted) — Splinter Review
Patch ready for checkin after bug 429667 landed.
Attachment #316425 - Attachment is obsolete: true
Landed v5 on trunk.
Thx for landing -> RESOLVED FIXED
Status: ASSIGNED → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: