Closed
Bug 312194
Opened 19 years ago
Closed 18 years ago
Label of open menu should move down and right in Windows Classic
Categories
(Firefox :: Menus, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: hitchhiker89, Unassigned)
References
Details
Attachments
(1 file)
(deleted),
text/css
|
Details |
User-Agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.8b5) Gecko/20051011 Firefox/1.4.1
Build Identifier: Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.8b5) Gecko/20051011 Firefox/1.4.1
When using Classic theme on Windows, the label for an open menu should move 1
pixel down and to the right but doesn't since the patch for bug 243078 (native
theme rendering) was checked in.
Reproducible: Always
Steps to Reproduce:
1.Open Firefox in a pre-XP version of Windows or in XP with Windows Classic
turned on
2.Open a menu
Actual Results:
Menu label does not move.
Expected Results:
Label should move 1 pixel down and to the right.
Comment 2•19 years ago
|
||
But can you make it only affect XP Classic, and not Luna or any other themes
that don't have this behavior? If not, this can't be taken. This is an issue
James plans to fix on trunk, not branch...
Comment 3•19 years ago
|
||
As Joshua correctly stated, this will be fixed on trunk only, due to the
massive complexity involved in making this only apply in *some* cases.
As such, this bug is really just a dup of bug 243078.
mozilla/toolkit/themes/winstripe/global/menu.css has code for Classic theme -
could the css I attached (or something similar) be put in there as a partial
fix?
Comment 5•19 years ago
|
||
You don't understand, the margins apply *always*. The CSS in that file is NOT
just for Classic - it is for any theme. The -moz-appearance property overrides
the background and border only.
So if a transparent border was used instead of a margin, could it be overridden
for non-Classic themes?
.menubar-text {
-moz-margin-start: 4px !important;
-moz-margin-end: 3px !important;
padding-top: 0px;
padding-bottom: 2px;
border: 1px solid transparent;
}
menubar > menu[_moz-menuactive="true"][open="true"] > .menubar-text {
border-top-width: 2px;
border-bottom-width: 0px;
border-left-width: 2px;
border-right-width: 0px;
}
Comment 7•19 years ago
|
||
That is actually a rather neat idea, however, I should point out the -moz-
appearance only overrides the CSS stuff I mentioned on the element it is set
on. This means it only overrides stuff on the menu/menuitem, not the .menubar-
text child element.
It has reminded me that I could do a similar trick with the real border on the
item itself (Gecko supports multiple coloured borders, so it could be 2px and
half solid half transparent).
I'll see what I can come up with after sorting the regressions caused by the
rush of bug 243078 (I'm not sure drivers are willing to get a fix for this
particular issue in, but we'll see).
Status: UNCONFIRMED → NEW
Ever confirmed: true
(In reply to comment #7)
> It has reminded me that I could do a similar trick with the real border on the
> item itself (Gecko supports multiple coloured borders, so it could be 2px and
> half solid half transparent).
I did think of that, but I couldn't find/remember the code for that (or if I'd
just imagined it!). Obviously the other regressions are far more important than
this but at least we've found a way to fix it now.
This (in menu.css) seems to do it:
/* ::::: menu/menuitems in menubar ::::: */
menubar > menu {
border: 2px solid transparent;
}
menubar > menu[_moz-menuactive="true"],
menubar > menu[_moz-menuactive="true"][open="true"] {
color: -moz-MenuBarHoverText;
}
menubar > menu[_moz-menuactive="true"] {
-moz-border-top-colors: ThreeDHighlight transparent;
-moz-border-left-colors: ThreeDHighlight transparent;
-moz-border-right-colors: ThreeDShadow transparent;
-moz-border-bottom-colors: ThreeDShadow transparent;
}
menubar > menu[_moz-menuactive="true"][open="true"] {
border-top-width: 3px;
border-left-width: 3px;
border-right-width: 1px;
border-bottom-width: 1px;
-moz-border-top-colors: ThreeDShadow transparent;
-moz-border-left-colors: ThreeDShadow transparent;
-moz-border-right-colors: ThreeDHighlight;
-moz-border-bottom-colors: ThreeDHighlight;
}
/* ..... internal content .... */
.menubar-left {
color: inherit;
}
.menubar-text {
-moz-margin-start: 6px !important;
-moz-margin-end: 6px !important;
padding-top: 0px;
padding-bottom: 2px;
color: inherit;
}
Unfortunately I'm not able to create patches and I don't know what, if anything,
would need to be changed to stop this from breaking non-Classic themes.
Comment 10•18 years ago
|
||
Fixed by bug 313388. It shouldn't get regressed by bug 337771, but keep an eye out. :)
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•