Closed
Bug 333923
Opened 19 years ago
Closed 18 years ago
Convert Sunbird preferences from xpfe to toolkit
Categories
(Calendar :: Preferences, defect)
Tracking
(Not tracked)
VERIFIED
FIXED
People
(Reporter: mattwillis, Assigned: mattwillis)
References
(Blocks 1 open bug)
Details
Attachments
(3 files, 25 obsolete files)
24.79 KB,
image/png
|
Details | |
4.37 KB,
image/png
|
Details | |
218.95 KB,
patch
|
mattwillis
:
first-review+
|
Details | Diff | Splinter Review |
Convert Sunbird preferences from xpfe to toolkit. Use the timezone picker from Lightning.
Assignee | ||
Comment 1•19 years ago
|
||
Attachment #218363 -
Flags: first-review?(jminta)
Assignee | ||
Comment 2•19 years ago
|
||
Attachment #218363 -
Attachment is obsolete: true
Attachment #218365 -
Flags: first-review?(jminta)
Attachment #218363 -
Flags: first-review?(jminta)
Assignee | ||
Comment 3•19 years ago
|
||
Attachment #218365 -
Attachment is obsolete: true
Attachment #218378 -
Flags: first-review?(jminta)
Attachment #218365 -
Flags: first-review?(jminta)
Comment 4•19 years ago
|
||
Comment on attachment 218378 [details] [diff] [review] rev2 - fixed some sound file picker stuff Some initial thoughts just from scanning through the patch: -We need to stop packaging the old pref code by ripping out their jar entries. -There's a lot of strange stuff going on with gFooPanel.init(); The _pane variable doesn't seem to be used anywhere. In cases like gViewsPanel, the whole js file seems superfluous. Is there some magic going on there that I can't see? -I have a personal hatred of global vars and there are quite a few of them here, but that's more stylistic -A lot of the license headers need tweaking. I don't think Ben wrote a lot of this code. -I noticed at least one file in this patch that already exists, and I don't think it was touched (editCategory.xul). We should just cvs-move that, rather than recreate it. -Need license headers on the proxy dtds -I filed a bug awhile back about making more of our files have stripped out licenses, and it was decided to hold off on this until closer to 1.0, since it mess with line numbers for debugging. -I like the level of commenting, but the //foo// is kind of an odd style. Not sure that there's anything wrong with it... Nothing too severe, except for the strange uses of _pane, and the jar stuff. I'll look more tomorrow.
Assignee | ||
Comment 5•19 years ago
|
||
(In reply to comment #4) > -We need to stop packaging the old pref code by ripping out their jar entries. Yes. I just didn't want to put that in this patch yet, in case we had to back something out. > -There's a lot of strange stuff going on with gFooPanel.init(); > The _pane variable doesn't seem to be used anywhere. I had put it in so I could do _pane.userChangedValue(widget); but apparently didn't end up using it. It can go away. > In cases like gViewsPanel, the whole js file seems superfluous. > Is there some magic going on there that I can't see? No. views.js can go. I had created a .js file expecting to need it for each, but views only uses widgets who track to their preferences automagically. > -I have a personal hatred of global vars and there are quite a few of them > here, but that's more stylistic Other than the gFooPane, do you see some that we should convert over? > -A lot of the license headers need tweaking. I don't think Ben wrote a lot of > this code. Sure. The original pieces I used to start from were Ff bits, and had those headers. We can adjust as necessary. > -I noticed at least one file in this patch that already exists, and I don't > think it was touched (editCategory.xul). We should just cvs-move that, rather > than recreate it. If only cvs had a move command ;) I did this more for speed. > -Need license headers on the proxy dtds Those were copies from Ff. I'll add. > -I filed a bug awhile back about making more of our files have stripped out > licenses, and it was decided to hold off on this until closer to 1.0, since it > mess with line numbers for debugging. I just had a wacky thought. Could we put the headers _at the bottom_ of the file, so line numbers aren't hosed? Perhaps with a one-liner at the top to placate legal? You're the soon-to-be lawyer ;) > -I like the level of commenting, but the //foo// is kind of an odd style. Not > sure that there's anything wrong with it... Sorry, habit from work. I can remove it if necessary. I'll wait on making another patch until we connect about some of the open items above.
Assignee | ||
Comment 6•19 years ago
|
||
Attachment #218378 -
Attachment is obsolete: true
Attachment #218438 -
Flags: first-review?(jminta)
Attachment #218378 -
Flags: first-review?(jminta)
Assignee | ||
Comment 7•19 years ago
|
||
Updated•19 years ago
|
Attachment #218448 -
Attachment is patch: false
Assignee | ||
Comment 8•19 years ago
|
||
Here's a better version of it all.
Attachment #218438 -
Attachment is obsolete: true
Attachment #218448 -
Attachment is obsolete: true
Attachment #218456 -
Flags: first-review?(jminta)
Attachment #218438 -
Flags: first-review?(jminta)
Assignee | ||
Comment 9•19 years ago
|
||
Assignee | ||
Comment 10•19 years ago
|
||
Attachment #218456 -
Attachment is obsolete: true
Attachment #218462 -
Attachment is obsolete: true
Attachment #218475 -
Flags: first-review?(jminta)
Attachment #218456 -
Flags: first-review?(jminta)
Comment 11•19 years ago
|
||
Is moving to toolkit the same as moving to the new prefwindow system (as requested in bug 330716)?
Comment 12•19 years ago
|
||
Comment on attachment 218475 [details] [diff] [review] rev5 - added some missing stuff -function openPreferences() -{ - openDialog("chrome://calendar/content/pref/pref.xul","PrefWindow", - "chrome,titlebar,resizable,modal"); +function openPreferences() { + var features = "chrome,titlebar,toolbar,centerscreen,dialog=no"; + var url = "chrome://calendar/content/preferences/preferences.xul"; + +// var win = getMostRecentWindow("Calendar:Preferences"); +// if (win) { +// win.focus(); +// } else { +// openWindow(null, url, "_blank", features); +// } + + openDialog(url, "Preferences", features); } See resouces/content/calAlarmMonitor.js for an example of getMostRecentWindow, if that's what you want to use. Otherwise, we should at least try to make this modal. +* content/calendar/preferences/connection.xul (preferences/connection.xul) +* content/calendar/preferences/connection.js (preferences/connection.js) +* content/calendar/preferences/editCategory.xul (preferences/editCategory.xul) +* content/calendar/preferences/general.js (preferences/general.js) +* content/calendar/preferences/general.xul (preferences/general.xul) +* content/calendar/preferences/preferences.xul (preferences/preferences.xul) +* content/calendar/preferences/timezones.js (preferences/timezones.js) +* content/calendar/preferences/timezones.xul (preferences/timezones.xul) +* content/calendar/preferences/views.xul (preferences/views.xul) Why do they all get *? +<?xml version="1.0" encoding="UTF-8"?> I don't know that I've ever seen an encoding specified in a xul file. Is this necessary? + readSoundLocation: function () { + var soundUrl = document.getElementById("alarmSoundFileField"); + soundUrl.value = document.getElementById("calendar.alarms.soundURL").value; + soundUrl.label = this.convertURLToLocalFile(soundUrl.value).leafName; + return undefined; + }, Per IRC, return undefined is a bit odd. + soundIfc.play(url); + } catch (ex) { + dump("Exception caught! " + ex + "\n"); + } + }, Can you be a bit more descriptive about where this exception was caught, so that the message makes sense in the console. + for (var i=0; i < items.length; i++) { + items[i].disabled = !alarmsPlaySoundPref.value; + } You could use the new array methods here and elsewhere if you wanted, but that's just bonus. + <!-- XXX This sucks and should be moved to a stringbundle --> + <script type="application/x-javascript"> + <![CDATA[ + var labelLong = "&pref.dateformat.long;"; + var labelShort = "&pref.dateformat.short;"; + ]]> + </script> Firefox's find says there are no uses of these variables. Are they needed? + <menuitem id="dateformat-short-menuitem" + label="&pref.dateformat.short;" + value="1" + selected="true"/> What did we decide about the good/bad of selected="true"? + //if (itemToSelect) { + // tzListBox.scrollToIndex(tzListBox.getIndexOfItem(itemToSelect)); + // tzListBox.selectItem(itemToSelect); + //} Why is this commented out? Looks pretty useful. + <listbox id="timezone-listbox" + preference="calendar.timezone.local" + onselect="document.getElementById('paneTimezones').userChangedValue(event.target);" + onsynctopreference="return gTimezonesPane.getTimezoneResult();" + onsyncfrompreference="gTimezonesPane.setTimezone();"/> Can we perhaps flex this so that it doesn't look so weird? Index: calendar/sunbird/themes/pinstripe/sunbird/pref/pref.css =================================================================== RCS file: calendar/sunbird/themes/pinstripe/sunbird/pref/pref.css diff -N calendar/sunbird/themes/pinstripe/sunbird/pref/pref.css --- calendar/sunbird/themes/pinstripe/sunbird/pref/pref.css 19 Jan 2006 00:31:34 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,196 +0,0 @@ -/* -# -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# I don't think we want to get rid of all this just yet. Just don't package it. Still need to get the timezone bit from rootCalendarPref.js (wrong pref observed) As dmose said, anonymous functions should be avoided if possible.
Comment 13•19 years ago
|
||
*** Bug 330716 has been marked as a duplicate of this bug. ***
Comment 14•19 years ago
|
||
On the view tab on Win, the contents is to big for the window, and you can't see some of the group box borders are choped off. In calendar/sunbird/base/preferences/categories.js on line 93 and 108: + window.openDialog("chrome://calendar/content/pref/editCategory.xul", + "addCategory", "modal,centerscreen,chrome,resizable=no", + "", null, addTitle); and + window.openDialog("chrome://calendar/content/pref/editCategory.xul", + "editCategory", "modal,centerscreen,chrome,resizable=no", + gCategoryList[list.selectedIndex], currentColor, editTitle); The url should be chrome://calendar/content/preferences/editCategory.xul
Comment 15•19 years ago
|
||
(In reply to comment #14) > Created an attachment (id=218522) [edit] > Screen shot of View Tab in windows imho we should have the same "advanced"-icon as Firefox and Thunderbird, the gearwheel kinda thing.
Comment 16•19 years ago
|
||
New Options.png according to Robin's sugestion.
Assignee | ||
Comment 18•19 years ago
|
||
Attachment #218475 -
Attachment is obsolete: true
Attachment #218522 -
Attachment is obsolete: true
Attachment #218531 -
Flags: first-review?(jminta)
Attachment #218475 -
Flags: first-review?(jminta)
Assignee | ||
Comment 19•19 years ago
|
||
Attachment #218531 -
Attachment is obsolete: true
Attachment #218532 -
Flags: first-review?(jminta)
Attachment #218531 -
Flags: first-review?(jminta)
Assignee | ||
Comment 20•19 years ago
|
||
Attachment #218532 -
Attachment is obsolete: true
Attachment #218540 -
Flags: first-review?(jminta)
Attachment #218532 -
Flags: first-review?(jminta)
Comment 21•19 years ago
|
||
Apply to rev8 to improve appearance in a few places.
Comment 22•19 years ago
|
||
Comment on attachment 218540 [details] [diff] [review] rev8 - added missing changes to global.dtd RCS file: calendar/sunbird/base/preferences/alarms.js + // force the menu selection to redraw + var saveSelectedIndex = menu.selectedIndex; + menu.selectedIndex = -1; + menu.selectedIndex = saveSelectedIndex; This looks really odd. I realize it's old code, but i'd like to either get rid of this hack or at least have a xul bug # cited with a nice testcase. + else + soundUrl.label = soundUrl.value; + return undefined; This is still weird too. Just because it's in mail-code doesn't make it good. :-/ I vote for dropping it. RCS file: calendar/sunbird/base/preferences/general.js + // deselect and reselect to update visible item title + var dateFormatMenuList = document.getElementById("dateformat"); + var selectedIndex = dateFormatMenuList.selectedIndex; + dateFormatMenuList.selectedIndex = -1; + dateFormatMenuList.selectedIndex = selectedIndex; More weird menulist stuff. I really don't think this -1 index stuff needs to be here. RCS file: calendar/sunbird/base/preferences/preferences.xul +<!DOCTYPE prefwindow [ +<!ENTITY % brandDTD SYSTEM "chrome://calendar/locale/branding/brand.dtd"> +<!ENTITY % preferencesDTD SYSTEM "chrome://calendar/locale/preferences/preferences.dtd"> +%brandDTD; +%preferencesDTD; +]> Indenting. RCS file: calendar/sunbird/base/preferences/timezones.js + if (itemToSelect) { + tzListBox.scrollToIndex(tzListBox.getIndexOfItem(itemToSelect)); + tzListBox.selectItem(itemToSelect); + } I think we might want to focus() the listbox too for accessibility, but that's just a nit. My preferences window lost its 'Close' label, but I think that may be a local issue. As long as that's working for you, don't worry about it. I'll go ahead and give r=jminta for the front-end (xul/js) bits with the above fixed and the patch I just attached too. I definitely want mvl to look over the build/code-placement bits especially, and also sign off on such a drastic set of changes.
Attachment #218540 -
Flags: second-review?(mvl)
Attachment #218540 -
Flags: first-review?(jminta)
Attachment #218540 -
Flags: first-review+
Assignee | ||
Comment 23•19 years ago
|
||
(In reply to comment #15) > imho we should have the same "advanced"-icon as Firefox and Thunderbird, the > gearwheel kinda thing. Ya, I hadn't gotten to pretty pictures yet. I'm planning to reuse whatever icons I can from the appropriate themes from Ff/Tb/Sb.
Assignee | ||
Comment 24•19 years ago
|
||
r= jminta from rev8 The index -1 tricks are needed, so we should make up a simple test case and create a bug if that's how jminta wants to handle it.
Attachment #218540 -
Attachment is obsolete: true
Attachment #218545 -
Attachment is obsolete: true
Attachment #218547 -
Flags: second-review?(mvl)
Attachment #218547 -
Flags: first-review+
Attachment #218540 -
Flags: second-review?(mvl)
Assignee | ||
Comment 25•19 years ago
|
||
Attachment #218547 -
Attachment is obsolete: true
Attachment #218572 -
Flags: second-review?(mvl)
Attachment #218572 -
Flags: first-review+
Attachment #218547 -
Flags: second-review?(mvl)
Assignee | ||
Comment 26•19 years ago
|
||
Attachment #218572 -
Attachment is obsolete: true
Attachment #218614 -
Flags: second-review?(mvl)
Attachment #218614 -
Flags: first-review+
Attachment #218572 -
Flags: second-review?(mvl)
Assignee | ||
Comment 27•19 years ago
|
||
I don't think this should go in without removing the old pref loading code if at all possible.
Depends on: 306079
Assignee | ||
Comment 28•19 years ago
|
||
Assignee | ||
Comment 29•19 years ago
|
||
Attachment #218614 -
Attachment is obsolete: true
Attachment #218756 -
Flags: second-review?(mvl)
Attachment #218756 -
Flags: first-review+
Attachment #218614 -
Flags: second-review?(mvl)
Assignee | ||
Updated•18 years ago
|
Blocks: calendar-0.3
Assignee | ||
Comment 30•18 years ago
|
||
Attachment #218756 -
Attachment is obsolete: true
Attachment #222084 -
Flags: first-review?(jminta)
Attachment #218756 -
Flags: second-review?(mvl)
Assignee | ||
Comment 31•18 years ago
|
||
Attachment #222084 -
Attachment is obsolete: true
Attachment #222121 -
Flags: first-review?(jminta)
Attachment #222084 -
Flags: first-review?(jminta)
Comment 32•18 years ago
|
||
Comment on attachment 222121 [details] [diff] [review] rev14 - removes "advanced" tab altogether (for now) The following are comments from looking through the code. I may have more comments after building this myself and playing around with it. Index: calendar/resources/jar.mn =================================================================== RCS file: /cvsroot/mozilla/calendar/resources/jar.mn,v You still need to rip out the old preferences code so we stop shipping it. Removing those files is also more clearly going to show why we need the default prefs file patch first. This is in addition to a patch to get the pref observer out of rootCalendarPref.js + var features = "chrome,titlebar,toolbar,centerscreen,dialog=no"; + var url = "chrome://calendar/content/preferences/preferences.xul"; + + // Check to see if the prefwindow is already open + var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"] + .getService(Components.interfaces.nsIWindowMediator); + + var win = wm.getMostRecentWindow("Calendar:Preferences"); + + if (win) { + win.focus(); + } else { + openDialog(url, "Preferences", features); This seems odd to declare features and url so far from where they are used. It also seems odd to spend time declaring variables for constants that are only used once. +<!ENTITY paneAdvanced.title "Advanced"> We need a follow-up bug for the Advanced pane to be implemented. I think it already exists though. +var gAlarmsPane = { + + init: function () { We need a follow-up bug to make these function non-anonymous. Really we should probably do a calendar-wide audit for this. + if (Number(length) > 1) + newLabelNumber = "labelplural"; + else + newLabelNumber = "labelsingular"; Style nit, use braces, even for 1 line if-else. + var items = new Array(4); + items[0] = document.getElementById("alarmSoundFileField"); + items[1] = document.getElementById("calendar.prefs.alarm.sound.useDefault"); + items[2] = document.getElementById("calendar.prefs.alarm.sound.browse"); + items[3] = document.getElementById("calendar.prefs.alarm.sound.preview"); This seems like a bit of a strange way to create a constant array. + init: function () { + // A list of preferences to be reverted when the dialog is cancelled. + // It needs to be a property of the parent to be visible onCancel + if (!parent.backupPrefList) + parent.backupPrefList = []; We're still going to need to handle the cancel case for Windows.
Assignee | ||
Comment 33•18 years ago
|
||
In rev15 (In reply to comment #32) > This seems odd to declare features and url so far from where they are used. fixed > It also seems odd to spend time declaring variables for constants that are > only used once. That is solely for readability when keeping lines under 80 characters in length. > We need a follow-up bug for the Advanced pane to be implemented. I think it > already exists though. bug 305645 > Style nit, use braces, even for 1 line if-else. fixed > This seems like a bit of a strange way to create a constant array. fixed
Assignee | ||
Comment 34•18 years ago
|
||
Attachment #222121 -
Attachment is obsolete: true
Attachment #222121 -
Flags: first-review?(jminta)
Assignee | ||
Updated•18 years ago
|
Status: NEW → ASSIGNED
Assignee | ||
Comment 35•18 years ago
|
||
Attachment #222138 -
Attachment is obsolete: true
Attachment #222181 -
Flags: first-review?(jminta)
Comment 36•18 years ago
|
||
Comment on attachment 222181 [details] [diff] [review] rev16 - fixes category cancel #ifdef MOZ_SUNBIRD - locale/@AB_CD@/calendar/connectionPrefs.dtd (locale/@AB_CD@/connectionPrefs.dtd) - locale/@AB_CD@/calendar/prefutilities.properties (locale/@AB_CD@/prefutilities.properties) +# The following should be moved to /calendar/locales/jar.mn after locales move to l10n + locale/@AB_CD@/calendar/branding/brand.dtd (/calendar/locales/en-US/chrome/branding/brand.dtd) + locale/@AB_CD@/calendar/branding/brand.properties (/calendar/locales/en-US/chrome/branding/brand.properties) + locale/@AB_CD@/calendar/preferences/alarms.dtd (/calendar/locales/en-US/chrome/calendar/preferences/alarms.dtd) + locale/@AB_CD@/calendar/preferences/categories.dtd (/calendar/locales/en-US/chrome/calendar/preferences/categories.dtd) +* locale/@AB_CD@/calendar/preferences/connection.dtd (/calendar/locales/en-US/chrome/calendar/preferences/connection.dtd) +* locale/@AB_CD@/calendar/preferences/general.dtd Why are we keeping these in #ifdef MOZ_SUNBIRD? + +<!ENTITY pref.weekstarts.label "Start the week on:"> This looks awkward, and I don't like having l10n changes buried in here. Can we please keep all the strings the same? + if (win) { + win.focus(); + } else { + openDialog(url, "Preferences", features); + } I *think* prevailing style for calendar.js is 4 spaces, but it's a bit of a mess. :-/ + // convert the file url into a nsILocalFile + if (aFileURL) { + var ios = Components.classes["@mozilla.org/network/io-service;1"] + .getService(Components.interfaces.nsIIOService); + var fph = ios.getProtocolHandler("file") + .QueryInterface(Components.interfaces.nsIFileProtocolHandler); + return fph.getFileFromURLSpec(aFileURL); Nit: align dots. + // It needs to be a property of the parent to be visible onCancel + if (!parent.backupPrefList) + parent.backupPrefList = []; Nit: braces please + try { + categoryPrefBranch.clearUserPref(categoryNameFix); + } catch (ex) { + } Nit: Looks like wrong identing on categor... + <script type="application/x-javascript" + src="chrome://calendar/content/calendarUtils.js"/> We load this script in both general and timezones, but I *think* scripts are loaded to a window, so I'm concerned about unintended consequences of loading this file twice, especially when it contains global vars. + id="CalendarPreferences" + windowtype="Calendar:Preferences" + xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" + ondialogcancel="gCategoriesPane.panelOnCancel();" This is my biggest concern. I don't like having references like this separate from where they're relevant. Would it be possible to set this attribute within the init method of gCategoriesPane? It'll also help save us from uninitialized backup-prefs. Right now if I close the window without showing the preferences pane, I get Error: gCategoriesPane is not defined Source File: chrome://global/content/bindings/dialog.xml Line: 353 In fact, categories seem just broken. They don't seem to be saved between sessions, for me.
Assignee | ||
Comment 37•18 years ago
|
||
rev16 tried to provide "undoability" for category changes for all platform, regardless of if they were instant-apply or not. This is the wrong behavior, since instant-apply platforms provide only one way to close the prefwindow, and that way doesn't mean "throw away my changes"
Attachment #222181 -
Attachment is obsolete: true
Attachment #222181 -
Flags: first-review?(jminta)
Assignee | ||
Updated•18 years ago
|
Attachment #223643 -
Flags: first-review?(jminta)
Assignee | ||
Comment 38•18 years ago
|
||
Attachment #223643 -
Attachment is obsolete: true
Attachment #223734 -
Flags: first-review?(jminta)
Attachment #223643 -
Flags: first-review?(jminta)
Comment 39•18 years ago
|
||
Comment on attachment 223734 [details] [diff] [review] rev18 - addresses remaining l10n nits. any others should go in separate bugs +<!ENTITY pref.calendar.view.monthview.caption "Month View"> This entity, and a couple others here, don't seem to be used at all. Can you remove them before checkin so we don't make our l10n teams do extra work? + enableButtons: function () { + document.getElementById("editCButton").disabled=null; + document.getElementById("deleteCButton").disabled=null; + }, spaces around the = Categories work almost perfectly for me with this updated version. :-) We do need a bug on the fact that removing a color completely from a category doesn't update the rule, but that's independent of this patch. r=jminta! (with the previous mentioned follow-up bugs) Don't check in until we get the blocker fixed, and make sure to coordinate with the rest of the team, since there could easily be bustage that need quick-fixing.
Attachment #223734 -
Flags: first-review?(jminta) → first-review+
Assignee | ||
Comment 40•18 years ago
|
||
(In reply to comment #39) > We do need a bug on the fact that removing a color completely from a > category doesn't update the rule, but that's independent of this patch. created that as bug 340229 Given my luck with hard drives and laptops lately, I'll address your nits and post one more patch, carrying over the r+
Assignee | ||
Comment 41•18 years ago
|
||
This is here more as a backup in case my laptop goes poof!
Attachment #223734 -
Attachment is obsolete: true
Attachment #224308 -
Flags: first-review+
Assignee | ||
Comment 42•18 years ago
|
||
blocking0.3? Filter bugspam out using maggieIsMyCat
Flags: blocking0.3?(jminta)
Updated•18 years ago
|
Flags: blocking0.3?(jminta) → blocking0.3+
Assignee | ||
Comment 43•18 years ago
|
||
This moves nuprefs to /mozilla/calendar/base/content/preferences based on conversations with both mvl and jminta on IRC. This will help us share the preferences with lightning, eventually. I also removed an #ifdef from the general.dtd, so as to not regress bug 340723. None of the old preferences are removed in this patch. I'll clean them up once we're sure this does the trick.
Attachment #224308 -
Attachment is obsolete: true
Attachment #226094 -
Flags: first-review+
Assignee | ||
Comment 44•18 years ago
|
||
Patch v20 landed on MOZILLA_1_8_BRANCH and trunk -> FIXED!
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Assignee | ||
Updated•18 years ago
|
Status: RESOLVED → VERIFIED
Updated•17 years ago
|
Component: Sunbird Only → Preferences
QA Contact: sunbird → preferences
You need to log in
before you can comment on or make changes to this bug.
Description
•