implement collation-based sorting in nsXULOutlinerBuilder

RESOLVED FIXED in mozilla0.9.9

Status

()

Core
XUL
P3
normal
RESOLVED FIXED
16 years ago
9 years ago

People

(Reporter: Chris Waterson, Assigned: Chris Waterson)

Tracking

Trunk
mozilla0.9.9
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment, 1 obsolete attachment)

(Assignee)

Description

16 years ago
The outliner builder doesn't do collation-based sorting. It should.
(Assignee)

Updated

16 years ago
Blocks: 115071
Status: NEW → ASSIGNED
Priority: -- → P3
Target Milestone: --- → mozilla0.9.8
(Assignee)

Updated

16 years ago
Target Milestone: mozilla0.9.8 → mozilla0.9.9

Comment 1

16 years ago
I think the collation interface is used for the outliner builder.
http://lxr.mozilla.org/seamonkey/source/content/xul/templates/src/nsXULOutlinerBuilder.cpp#272
But the key is treated as PRUnichar*,
http://lxr.mozilla.org/seamonkey/source/content/xul/templates/src/nsXULOutlinerBuilder.cpp#1842
The key is a binary instead of a null terminated unicode string. Should the
change involve the clients side change (e.g. mail folder sort) or can the
outliner builder change to support binary key first then the clients can migrate.
Keywords: nsbeta1
(Assignee)

Comment 2

16 years ago
Let's get the rdfliner to work, then we can convert clients over. (That way
nothing breaks in the interim.)
(Assignee)

Comment 3

16 years ago
Created attachment 66013 [details] [diff] [review]
make nsXULOutlinerBuilder grok nsIRDFBlob

This patch makes nsXULOutlinerBuilder grok nsIRDFBlob, and fixes
nsIRDFBlob::GetValue to return a |_const_ PRUint8 **|.
(Assignee)

Updated

16 years ago
Keywords: review

Comment 4

16 years ago
With the patch, what changes do the clients need (e.g. message folder sort)?
Would that be just create a node as nsIRDFBlob?

Comment 5

16 years ago
yes, we will have to createNodes as nsIRDFBlob, plus there will be 
some changes to treat key as PRUint8* instead of PRUnichar* in nsMsgFolder.cpp
(Assignee)

Comment 6

16 years ago
Created attachment 66018 [details] [diff] [review]
patch that compiles!

For some reason, I think my version of nsIRDFService.idl was picking up
|octet_ptr| from somewhere else. This patch creates a new type,
|const_octet_ptr|, and uses it.
Attachment #66013 - Attachment is obsolete: true

Comment 7

16 years ago
Just when I recompiled my tree :(
First patch compiled fine though.

Comment 8

16 years ago
Comment on attachment 66018 [details] [diff] [review]
patch that compiles!

compiles fine, works fine, looks good.
r=varga
Attachment #66018 - Flags: review+

Comment 9

16 years ago
Comment on attachment 66018 [details] [diff] [review]
patch that compiles!

sr=hyatt
Attachment #66018 - Flags: superreview+
(Assignee)

Comment 10

16 years ago
Fix checked in.
Status: ASSIGNED → RESOLVED
Last Resolved: 16 years ago
Resolution: --- → FIXED

Comment 11

16 years ago
waterson, we need to do similar thing for XULSortService or is that
going to be taken care of another bug ?
(Assignee)

Comment 12

16 years ago
tingley has that covered in bug 116329.

Updated

16 years ago
No longer blocks: 115071

Updated

9 years ago
Component: XP Toolkit/Widgets: XUL → XUL
QA Contact: jrgmorrison → xptoolkit.widgets
You need to log in before you can comment on or make changes to this bug.