Closed
Bug 458533
Opened 17 years ago
Closed 17 years ago
SeaMonkey's statusbar progress uses different mechanism from Thunderbird's
Categories
(SeaMonkey :: MailNews: Message Display, defect)
SeaMonkey
MailNews: Message Display
Tracking
(Not tracked)
RESOLVED
FIXED
seamonkey2.0a3
People
(Reporter: jcranmer, Assigned: kairo)
References
Details
Attachments
(1 file, 1 obsolete file)
11.63 KB,
patch
|
neil
:
review+
neil
:
superreview+
|
Details | Diff | Splinter Review |
I came across this when working on bug 457333. TB's nsMsgStatusFeedback expects to see:
<statusbarpanel class="statusbarpanel-progress" collapsed="true" id="statusbar-progresspanel">
<progressmeter class="progressmeter-statusbar" id="statusbar-icon" mode="normal" value="0"/>
</statusbarpanel>
While SM expects:
<statusbarpanel class="statusbarpanel-progress" id="progress-panel">
<progressmeter class="progressmeter-statusbar" id="statusbar-icon" mode="normal" value="0"/>
</statusbarpanel>
The differences are in the id (statusbar-progresspanel versus progress-panel) and the hide mechanism (collapsed versus hidden).
This bug makes de-forking UI difficult, but I worked around this in bug 457333 with this JS:
try {
gStatusFeedback._startMeteors();
} catch (e) {
// We're not using the right setup. Change it to use SM's model.
let element = document.getElementById("statusbar-progresspanel");
element.id = "progress-panel";
element.removeAttribute('collapsed');
// Start it running again to ensure that stopping will stop fully.
gStatusFeedback._startMeteors();
} finally {
// And stop it because we aren't running anything.
gStatusFeedback._stopMeteors();
}
I hope I'm not too presumptuous in asking for blocking-seamonkey2 on this.
Flags: blocking-seamonkey2?
Comment 1•17 years ago
|
||
I don't mind if you need to rename our statusbarpanel to use TB's id, but the use of collapsed is wrong here and it should be using hidden like we do.
![]() |
||
Comment 2•17 years ago
|
||
ensureStatusFields : function()
{
if (!this.statusTextFld ) this.statusTextFld = document.getElementById("statusText");
if (!this.statusBar) this.statusBar = document.getElementById("statusbar-icon");
if (!this.statusPanel) this.statusPanel = document.getElementById("progress-panel");
You could change the last line to:
if (!this.statusPanel) this.statusPanel = document.getElementById("progress-panel") ||
document.getElementById("statusbar-progresspanel");
![]() |
Assignee | |
Comment 3•17 years ago
|
||
I'll do at least the ID part as that blocks bug 313822 (Lighting fills error console with exceptions about a null this.mStatusProgressPanel resulting from http://mxr.mozilla.org/comm-central/source/calendar/base/content/calendar-statusbar.js#62 which uses the Thunderbird ID).
![]() |
Assignee | |
Comment 4•17 years ago
|
||
This changes the ID for the progress panel everywhere in the suite to the same ID that is used by Thunderbird.
Attachment #356082 -
Flags: superreview?(neil)
Attachment #356082 -
Flags: review?(neil)
![]() |
Assignee | |
Comment 5•17 years ago
|
||
After IRC discussion, Neil apparently found out that collapsed is faster than hidden in XUL in cases where it get toggled often, which is what we have here.
Because of this, here's a patch that changes the ID and switched to collapsed in SeaMonkey.
Attachment #356082 -
Attachment is obsolete: true
Attachment #356220 -
Flags: superreview?(neil)
Attachment #356220 -
Flags: review?(neil)
Attachment #356082 -
Flags: superreview?(neil)
Attachment #356082 -
Flags: review?(neil)
Comment 6•17 years ago
|
||
Comment on attachment 356220 [details] [diff] [review]
v2: change ID and use collapsed in suite
>- this.statusPanel.hidden = false;
>+ this.statusPanel.removeAttribute("collapsed");
Setting .collapsed = false works just as well as .hidden = false did :-) (xN)
Attachment #356220 -
Flags: superreview?(neil)
Attachment #356220 -
Flags: superreview+
Attachment #356220 -
Flags: review?(neil)
Attachment #356220 -
Flags: review+
![]() |
Assignee | |
Comment 7•17 years ago
|
||
Thanks, pushed as http://hg.mozilla.org/comm-central/rev/76bc6ffb8b30
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
![]() |
Assignee | |
Updated•17 years ago
|
Flags: blocking-seamonkey2?
You need to log in
before you can comment on or make changes to this bug.
Description
•