Fix for 115743. r=pavlov, sr=bryner
This commit is contained in:
Родитель
c714394d5d
Коммит
7995076d76
|
@ -161,6 +161,7 @@ nsNativeThemeWin::nsNativeThemeWin() {
|
|||
mTabTheme = NULL;
|
||||
mTreeViewTheme = NULL;
|
||||
mComboBoxTheme = NULL;
|
||||
mHeaderTheme = NULL;
|
||||
|
||||
mThemeDLL = ::LoadLibrary(kThemeLibraryName);
|
||||
if (mThemeDLL) {
|
||||
|
@ -284,11 +285,15 @@ nsNativeThemeWin::GetTheme(PRUint8 aWidgetType)
|
|||
mComboBoxTheme = openTheme(NULL, L"Combobox");
|
||||
return mComboBoxTheme;
|
||||
}
|
||||
case NS_THEME_TREEVIEW_HEADER_CELL:
|
||||
case NS_THEME_TREEVIEW_HEADER_SORTARROW: {
|
||||
if (!mHeaderTheme)
|
||||
mHeaderTheme = openTheme(NULL, L"Header");
|
||||
return mHeaderTheme;
|
||||
}
|
||||
case NS_THEME_LISTBOX:
|
||||
case NS_THEME_LISTBOX_LISTITEM:
|
||||
case NS_THEME_TREEVIEW:
|
||||
case NS_THEME_TREEVIEW_HEADER:
|
||||
case NS_THEME_TREEVIEW_HEADER_SORTARROW:
|
||||
case NS_THEME_TREEVIEW_TWISTY_OPEN:
|
||||
case NS_THEME_TREEVIEW_TREEITEM: {
|
||||
if (!mTreeViewTheme)
|
||||
|
@ -673,6 +678,31 @@ nsNativeThemeWin::GetThemePartAndState(nsIFrame* aFrame, PRUint8 aWidgetType,
|
|||
|
||||
return NS_OK;
|
||||
}
|
||||
case NS_THEME_TREEVIEW_HEADER_SORTARROW: {
|
||||
// XXX Probably will never work due to a bug in the Luna theme.
|
||||
aPart = 4;
|
||||
aState = 1;
|
||||
return NS_OK;
|
||||
}
|
||||
case NS_THEME_TREEVIEW_HEADER_CELL: {
|
||||
aPart = 1;
|
||||
if (!aFrame) {
|
||||
aState = TS_NORMAL;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
PRInt32 eventState = GetContentState(aFrame);
|
||||
if (eventState & NS_EVENT_STATE_HOVER && eventState & NS_EVENT_STATE_ACTIVE)
|
||||
aState = TS_ACTIVE;
|
||||
else if (eventState & NS_EVENT_STATE_FOCUS)
|
||||
aState = TS_FOCUSED;
|
||||
else if (eventState & NS_EVENT_STATE_HOVER)
|
||||
aState = TS_HOVER;
|
||||
else
|
||||
aState = TS_NORMAL;
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
case NS_THEME_DROPDOWN_BUTTON: {
|
||||
aPart = CBP_DROPMARKER;
|
||||
if (!aFrame) {
|
||||
|
@ -858,11 +888,12 @@ nsNativeThemeWin::GetMinimumWidgetSize(nsIRenderingContext* aContext, nsIFrame*
|
|||
// themes.
|
||||
// In our app, we want these widgets to be able to really shrink down,
|
||||
// so use the min-size request value (of 0).
|
||||
|
||||
|
||||
SIZE sz;
|
||||
getThemePartSize(theme, hdc, part, state, NULL, sizeReq, &sz);
|
||||
aResult->width = sz.cx;
|
||||
aResult->height = sz.cy;
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -953,6 +984,10 @@ nsNativeThemeWin::CloseData()
|
|||
closeTheme(mComboBoxTheme);
|
||||
mComboBoxTheme = NULL;
|
||||
}
|
||||
if (mHeaderTheme) {
|
||||
closeTheme(mHeaderTheme);
|
||||
mHeaderTheme = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
|
|
|
@ -85,6 +85,7 @@ private:
|
|||
HANDLE mTabTheme;
|
||||
HANDLE mTreeViewTheme;
|
||||
HANDLE mComboBoxTheme;
|
||||
HANDLE mHeaderTheme;
|
||||
|
||||
nsCOMPtr<nsIAtom> mCheckedAtom;
|
||||
nsCOMPtr<nsIAtom> mInputAtom;
|
||||
|
|
|
@ -39,6 +39,7 @@ listbox {
|
|||
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
|
||||
background-color: -moz-Field;
|
||||
color: -moz-FieldText;
|
||||
-moz-appearance: listbox;
|
||||
}
|
||||
|
||||
/* ::::: listitem ::::: */
|
||||
|
@ -68,6 +69,7 @@ listbox:focus > listitem[selected="true"] {
|
|||
/* ::::: listheader ::::: */
|
||||
|
||||
listheader {
|
||||
-moz-appearance: treeheadercell;
|
||||
-moz-box-align: center;
|
||||
border: 2px solid;
|
||||
-moz-border-top-colors: ThreeDHighlight ThreeDLightShadow;
|
||||
|
|
|
@ -39,6 +39,7 @@ tree {
|
|||
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
|
||||
background-color: -moz-Field;
|
||||
color: -moz-FieldText;
|
||||
-moz-appearance: listbox;
|
||||
}
|
||||
|
||||
/* ::::: tree rows ::::: */
|
||||
|
@ -142,6 +143,7 @@ treechildren:-moz-tree-cell-text(progressmeter) {
|
|||
|
||||
treecol,
|
||||
treecolpicker {
|
||||
-moz-appearance: treeheadercell;
|
||||
-moz-box-align: center;
|
||||
-moz-box-pack: center;
|
||||
border: 2px solid;
|
||||
|
|
|
@ -1,150 +0,0 @@
|
|||
/*
|
||||
* The contents of this file are subject to the Netscape Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is Mozilla Communicator client code, released
|
||||
* March 31, 1998.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 1998-2001 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Joe Hewitt (hewitt@netscape.com)
|
||||
*/
|
||||
|
||||
/* ===== listbox.css =======================================================
|
||||
== Styles used by XUL listbox-related elements.
|
||||
======================================================================= */
|
||||
|
||||
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
|
||||
|
||||
/* ::::: listbox ::::: */
|
||||
|
||||
listbox {
|
||||
margin: 2px 4px;
|
||||
border: 2px solid;
|
||||
-moz-border-top-colors: ThreeDShadow ThreeDDarkShadow;
|
||||
-moz-border-right-colors: ThreeDHighlight ThreeDLightShadow;
|
||||
-moz-border-bottom-colors: ThreeDHighlight ThreeDLightShadow;
|
||||
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
|
||||
background-color: -moz-Field;
|
||||
color: -moz-FieldText;
|
||||
}
|
||||
|
||||
/* ::::: listitem ::::: */
|
||||
|
||||
listitem {
|
||||
border: 1px solid transparent;
|
||||
}
|
||||
|
||||
listbox:focus > listitem[selected="true"][current="true"] {
|
||||
border: 1px dotted #F5DB95;
|
||||
}
|
||||
|
||||
listitem[selected="true"] {
|
||||
background-color: -moz-Dialog;
|
||||
color: -moz-DialogText;
|
||||
}
|
||||
|
||||
listbox:focus > listitem[selected="true"] {
|
||||
background-color: Highlight;
|
||||
color: HighlightText;
|
||||
}
|
||||
|
||||
/* ::::: listheader ::::: */
|
||||
|
||||
listheader {
|
||||
-moz-box-align: center;
|
||||
border: 2px solid;
|
||||
-moz-border-top-colors: ThreeDHighlight ThreeDLightShadow;
|
||||
-moz-border-right-colors: ThreeDDarkShadow ThreeDShadow;
|
||||
-moz-border-bottom-colors: ThreeDDarkShadow ThreeDShadow;
|
||||
-moz-border-left-colors: ThreeDHighlight ThreeDLightShadow;
|
||||
background-color: -moz-Dialog;
|
||||
color: -moz-DialogText;
|
||||
padding: 0 4px;
|
||||
}
|
||||
|
||||
listheader[sortable="true"]:hover:active {
|
||||
border-top: 2px solid;
|
||||
border-right: 1px solid;
|
||||
border-bottom: 1px solid;
|
||||
border-left: 2px solid;
|
||||
-moz-border-top-colors: ThreeDShadow -moz-Dialog;
|
||||
-moz-border-right-colors: ThreeDShadow;
|
||||
-moz-border-bottom-colors: ThreeDShadow;
|
||||
-moz-border-left-colors: ThreeDShadow -moz-Dialog;
|
||||
padding: 1px 4px 0 5px;
|
||||
}
|
||||
|
||||
.listheader-icon {
|
||||
margin-right: 2px;
|
||||
}
|
||||
|
||||
.listheader-label {
|
||||
margin: 0px !important;
|
||||
}
|
||||
|
||||
/* ..... sort direction icon ..... */
|
||||
|
||||
.listheader-sortdirection {
|
||||
list-style-image: none;
|
||||
}
|
||||
|
||||
.listheader-sortdirection[sortDirection="ascending"] {
|
||||
list-style-image: url("chrome://global/skin/tree/sort-asc.gif");
|
||||
}
|
||||
|
||||
.listheader-sortdirection[sortDirection="descending"] {
|
||||
list-style-image: url("chrome://global/skin/tree/sort-dsc.gif");
|
||||
}
|
||||
|
||||
/* ::::: listcell ::::: */
|
||||
|
||||
.listcell-label {
|
||||
margin: 0px !important;
|
||||
padding: 0px 0px 1px 4px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.listcell-icon {
|
||||
margin-right: 2px;
|
||||
}
|
||||
|
||||
.listcell-label[disabled="true"] {
|
||||
color: GrayText;
|
||||
}
|
||||
|
||||
/* ::::: listcell checkbox ::::: */
|
||||
|
||||
.listcell-check {
|
||||
-moz-appearance: checkbox;
|
||||
-moz-box-align: center;
|
||||
margin: 0px 2px;
|
||||
border: 1px solid -moz-DialogText;
|
||||
min-width: 13px;
|
||||
min-height: 13px;
|
||||
background: -moz-Field no-repeat 50% 50%;
|
||||
}
|
||||
|
||||
.listcell-check[checked="true"] {
|
||||
background-image: url("chrome://global/skin/checkbox/cbox-check.gif");
|
||||
}
|
||||
|
||||
.listcell-check[disabled="true"] {
|
||||
border-color: GrayText;
|
||||
background-image: url("chrome://global/skin/checkbox/cbox-dis.gif");
|
||||
}
|
||||
|
||||
.listcell-check[disabled="true"][checked="true"] {
|
||||
background-image: url("chrome://global/skin/checkbox/cbox-check-dis.gif");
|
||||
}
|
|
@ -38,6 +38,7 @@ tree {
|
|||
-moz-border-left-colors: ThreeDShadow ThreeDDarkShadow;
|
||||
background-color: -moz-Field;
|
||||
color: -moz-FieldText;
|
||||
-moz-appearance: listbox;
|
||||
}
|
||||
|
||||
/* ::::: tree rows ::::: */
|
||||
|
@ -137,6 +138,7 @@ treechildren:-moz-tree-cell-text(progressmeter) {
|
|||
|
||||
treecol,
|
||||
treecolpicker {
|
||||
-moz-appearance: treeheadercell;
|
||||
-moz-box-align: center;
|
||||
-moz-box-pack: center;
|
||||
border: 2px solid;
|
||||
|
|
Загрузка…
Ссылка в новой задаче