Closed
Bug 419383
Opened 16 years ago
Closed 16 years ago
Extract native Vista toolbar styles and expose to Themes
Categories
(Core :: Widget: Win32, defect, P2)
Tracking
()
RESOLVED
FIXED
People
(Reporter: faaborg, Assigned: vlad)
References
Details
(Keywords: dev-doc-complete)
Attachments
(1 file, 1 obsolete file)
8.38 KB,
patch
|
roc
:
review+
roc
:
superreview+
beltzner
:
approval1.9b4+
|
Details | Diff | Splinter Review |
We would like to use the silver toolbar appearance on Vista for the main window of Firefox and the media toolbar appearance (black) in the Library window. Vlad wrote an app to explore what parts of the native OS theme we can extract, so he will be able to provide more specific details.
Flags: blocking-firefox3?
Updated•16 years ago
|
Component: Theme → Widget: Win32
Flags: blocking-firefox3?
Product: Firefox → Core
QA Contact: theme → win32
Updated•16 years ago
|
Flags: blocking1.9?
Comment 1•16 years ago
|
||
What we want are rebars, not toolbars. The right theme to use depends on the appearance: media -> "Media::Rebar" communcations -> "Communcations::Rebar" alternate -> "Rebar" or "Alternate::Rebar" part: RP_BACKGROUND state: 0 So how should we expose this to themers?
Assignee | ||
Comment 2•16 years ago
|
||
Yep; we need to define new appearance properties. I think right now the 'toolbox' appearance is the base rebar; we should define something like media-toolbox and communications-toolbox. The nice thing is that "Media::Rebar" falls back to "Rebar" if the specific subclass isn't found, so we don't have to do anything special for windows. For now, we can ignore those properties on other platforms I think, or just treat them the same as a normal 'toolbox'.
Assignee | ||
Updated•16 years ago
|
Assignee: nobody → vladimir
Flags: blocking1.9? → blocking1.9+
Priority: -- → P3
Assignee | ||
Comment 3•16 years ago
|
||
Adds three new appearance types, media-toolbox, communications-toolbox, and browsertabbar-toolbox. Note that these will all fall back to the normal 'Rebar' style if the specific subclass is not available.
Attachment #305902 -
Flags: review?(roc)
How many of those Vista things are there? Will we eventually want to add a huge number of theme constants to cover them all?
Assignee | ||
Comment 5•16 years ago
|
||
Nope, should just be these three, at least for 1.9. If we have time i'd like to revisit how we do native theme stuff for moz2+.
I'd like to hear your thoughts about that, I don't have any :-) Shouldn't you be adding something to nsNativeThemeWin::CloseData?
Assignee | ||
Comment 7•16 years ago
|
||
Updated patch, with something now done in CloseTheme(). Also got rid of a bogus hunk that snuck in here that should've been done in the other theme patch (and now is).
Attachment #305902 -
Attachment is obsolete: true
Attachment #306204 -
Flags: review?(roc)
Attachment #305902 -
Flags: review?(roc)
Assignee | ||
Updated•16 years ago
|
Flags: blocking1.9+
Assignee | ||
Updated•16 years ago
|
Flags: tracking1.9+
Priority: P3 → P2
Comment on attachment 306204 [details] [diff] [review] updated patch +#define CLOSE_THEME(_x) if (_x) { closeTheme(_x); _x = NULL; } Macros suck, would you mind "static void CloseTheme(HANDLE* aTheme)"?
Attachment #306204 -
Flags: superreview+
Attachment #306204 -
Flags: review?(roc)
Attachment #306204 -
Flags: review+
Assignee | ||
Comment 9•16 years ago
|
||
Comment on attachment 306204 [details] [diff] [review] updated patch One more to request approval on.. roc, I'd rather not do a function since then I can't assign NULL back to the pointer (unless I do a ref to a pointer, but ick). I mean, I can expand out the macro, just seems cleaner this way. (Really, I -almost- made a little helper class so you could do WindowsThemeData mButtonTheme("Button");, but decided that would probably be overkill for now :)
Attachment #306204 -
Flags: approval1.9b4?
Comment 10•16 years ago
|
||
Comment on attachment 306204 [details] [diff] [review] updated patch a1.9b4=beltzner
Attachment #306204 -
Flags: approval1.9b4? → approval1.9b4+
Assignee | ||
Comment 11•16 years ago
|
||
Checked in.
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Updated•16 years ago
|
Blocks: vista-theme
Comment 12•16 years ago
|
||
Unless its something to come later, I am not seeing the 'black' bar in the Library on my Vista HP. Today's build: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9b4pre) Gecko/2008030106 Minefield/3.0b4pre Firefox/3.0 ID:2008030106
Comment 13•16 years ago
|
||
Its not hooked up yet, but the patch works with some userchrome. On another note, while this degrades nicefully in XP, it doesn't theme the text color on the toolbox, meaning that you have to use special theme overrides for XP and Vista to fix it anyway. Is that possible to extract from the theme? Or maybe theres an easier to way to make sure the text is visible that I don't know of.
Comment 14•16 years ago
|
||
From what I can tell, Communications::Rebar has a text colour defined in the theme, while Media::Rebar doesn't... There's also the issue that the "Media" and "Communications" subclasses could disappear entirely in the next version of Windows, so if you do then explicitly set the text colour to another colour, it might look a bit odd on newer versions of windows.
Reporter | ||
Comment 15•16 years ago
|
||
>There's also the issue that the "Media" and "Communications" subclasses could
>disappear entirely in the next version of Windows
They are encouraging other applications to use these toolbar styles in their user experience guidelines, so they probably will keep them around for legacy applications with Windows 7. If not we will have plenty of time to create an update while it is in beta.
Updated•16 years ago
|
Keywords: dev-doc-needed
Updated•16 years ago
|
Keywords: dev-doc-needed → dev-doc-complete
You need to log in
before you can comment on or make changes to this bug.
Description
•