зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1472555 - Part 4 - Remove the "listbox" bindings. r=bgrins
MozReview-Commit-ID: Cw90DjEMJpn --HG-- extra : rebase_source : 74a64794699d65b2a9fe5ae4cb215403657d9e4a
This commit is contained in:
Родитель
84701651c4
Коммит
98b8539d10
|
@ -94,7 +94,6 @@ chrome/toolkit/skin/classic/global/dropmarker.css
|
|||
chrome/toolkit/skin/classic/global/global.css
|
||||
chrome/toolkit/skin/classic/global/groupbox.css
|
||||
chrome/toolkit/skin/classic/global/icons/close-win7.png
|
||||
chrome/toolkit/skin/classic/global/listbox.css
|
||||
chrome/toolkit/skin/classic/global/menu.css
|
||||
chrome/toolkit/skin/classic/global/menulist.css
|
||||
chrome/toolkit/skin/classic/global/numberbox.css
|
||||
|
|
|
@ -38,13 +38,11 @@ const XULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
|
|||
const XUL_CHECKED_ELS = new Set([
|
||||
"button",
|
||||
"checkbox",
|
||||
"listitem",
|
||||
"toolbarbutton",
|
||||
]);
|
||||
|
||||
/** XUL elements that support selected property. */
|
||||
const XUL_SELECTED_ELS = new Set([
|
||||
"listitem",
|
||||
"menu",
|
||||
"menuitem",
|
||||
"menuseparator",
|
||||
|
|
|
@ -635,293 +635,8 @@
|
|||
</handlers>
|
||||
</binding>
|
||||
|
||||
|
||||
<!-- Binding for xul:listbox element.
|
||||
-->
|
||||
<binding id="listbox"
|
||||
extends="#listbox-base">
|
||||
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/listbox.css"/>
|
||||
</resources>
|
||||
|
||||
<content>
|
||||
<children includes="listcols">
|
||||
<xul:listcols>
|
||||
<xul:listcol flex="1"/>
|
||||
</xul:listcols>
|
||||
</children>
|
||||
<xul:listrows>
|
||||
<children includes="listhead"/>
|
||||
<xul:listboxbody xbl:inherits="rows,size,minheight">
|
||||
<children includes="listitem"/>
|
||||
</xul:listboxbody>
|
||||
</xul:listrows>
|
||||
</content>
|
||||
|
||||
<implementation>
|
||||
|
||||
<!-- ///////////////// public listbox members ///////////////// -->
|
||||
|
||||
<property name="listBoxObject"
|
||||
onget="return this.boxObject;"
|
||||
readonly="true"/>
|
||||
|
||||
<!-- ///////////////// private listbox members ///////////////// -->
|
||||
|
||||
<field name="_touchY">-1</field>
|
||||
|
||||
<method name="_fireOnSelect">
|
||||
<body>
|
||||
<![CDATA[
|
||||
if (!this._suppressOnSelect && !this.suppressOnSelect) {
|
||||
var event = document.createEvent("Events");
|
||||
event.initEvent("select", true, true);
|
||||
this.dispatchEvent(event);
|
||||
}
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
|
||||
<constructor>
|
||||
<![CDATA[
|
||||
var count = this.itemCount;
|
||||
for (var index = 0; index < count; index++) {
|
||||
var item = this.getItemAtIndex(index);
|
||||
if (item.getAttribute("selected") == "true")
|
||||
this.selectedItems.append(item);
|
||||
}
|
||||
]]>
|
||||
</constructor>
|
||||
|
||||
<!-- ///////////////// nsIDOMXULSelectControlElement ///////////////// -->
|
||||
|
||||
<method name="appendItem">
|
||||
<parameter name="aLabel"/>
|
||||
<parameter name="aValue"/>
|
||||
<body>
|
||||
const XULNS =
|
||||
"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
|
||||
|
||||
var item = this.ownerDocument.createElementNS(XULNS, "listitem");
|
||||
item.setAttribute("label", aLabel);
|
||||
item.setAttribute("value", aValue);
|
||||
this.appendChild(item);
|
||||
return item;
|
||||
</body>
|
||||
</method>
|
||||
|
||||
<property name="itemCount" readonly="true"
|
||||
onget="return this.listBoxObject.getRowCount()"/>
|
||||
|
||||
<!-- ///////////////// nsIListBoxObject ///////////////// -->
|
||||
<method name="getIndexOfItem">
|
||||
<parameter name="item"/>
|
||||
<body>
|
||||
<![CDATA[
|
||||
if (this._selecting && this._selecting.item == item)
|
||||
return this._selecting.index;
|
||||
return this.listBoxObject.getIndexOfItem(item);
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
<method name="getItemAtIndex">
|
||||
<parameter name="index"/>
|
||||
<body>
|
||||
<![CDATA[
|
||||
if (this._selecting && this._selecting.index == index)
|
||||
return this._selecting.item;
|
||||
return this.listBoxObject.getItemAtIndex(index);
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
<method name="ensureIndexIsVisible">
|
||||
<parameter name="index"/>
|
||||
<body>
|
||||
return this.listBoxObject.ensureIndexIsVisible(index);
|
||||
</body>
|
||||
</method>
|
||||
<method name="ensureElementIsVisible">
|
||||
<parameter name="element"/>
|
||||
<body>
|
||||
return this.ensureIndexIsVisible(this.listBoxObject.getIndexOfItem(element));
|
||||
</body>
|
||||
</method>
|
||||
<method name="scrollToIndex">
|
||||
<parameter name="index"/>
|
||||
<body>
|
||||
return this.listBoxObject.scrollToIndex(index);
|
||||
</body>
|
||||
</method>
|
||||
<method name="getNumberOfVisibleRows">
|
||||
<body>
|
||||
return this.listBoxObject.getNumberOfVisibleRows();
|
||||
</body>
|
||||
</method>
|
||||
<method name="getIndexOfFirstVisibleRow">
|
||||
<body>
|
||||
return this.listBoxObject.getIndexOfFirstVisibleRow();
|
||||
</body>
|
||||
</method>
|
||||
<method name="getRowCount">
|
||||
<body>
|
||||
return this.listBoxObject.getRowCount();
|
||||
</body>
|
||||
</method>
|
||||
|
||||
<method name="scrollOnePage">
|
||||
<parameter name="direction"/> <!-- Must be -1 or 1 -->
|
||||
<body>
|
||||
<![CDATA[
|
||||
var pageOffset = this.getNumberOfVisibleRows() * direction;
|
||||
// skip over invisible elements - the user won't care about them
|
||||
for (var i = 0; i != pageOffset; i += direction) {
|
||||
var item = this.getItemAtIndex(this.currentIndex + i);
|
||||
if (item && !this._canUserSelect(item))
|
||||
pageOffset += direction;
|
||||
}
|
||||
var newTop = this.getIndexOfFirstVisibleRow() + pageOffset;
|
||||
if (direction == 1) {
|
||||
var maxTop = this.getRowCount() - this.getNumberOfVisibleRows();
|
||||
for (i = this.getRowCount(); i >= 0 && i > maxTop; i--) {
|
||||
item = this.getItemAtIndex(i);
|
||||
if (item && !this._canUserSelect(item))
|
||||
maxTop--;
|
||||
}
|
||||
if (newTop >= maxTop)
|
||||
newTop = maxTop;
|
||||
}
|
||||
if (newTop < 0)
|
||||
newTop = 0;
|
||||
this.scrollToIndex(newTop);
|
||||
return pageOffset;
|
||||
]]>
|
||||
</body>
|
||||
</method>
|
||||
</implementation>
|
||||
|
||||
<handlers>
|
||||
<handler event="keypress" key=" " phase="target">
|
||||
<![CDATA[
|
||||
if (this.currentItem) {
|
||||
if (this.currentItem.getAttribute("type") != "checkbox") {
|
||||
this.addItemToSelection(this.currentItem);
|
||||
// Prevent page from scrolling on the space key.
|
||||
event.preventDefault();
|
||||
} else if (!this.currentItem.disabled) {
|
||||
this.currentItem.checked = !this.currentItem.checked;
|
||||
this.currentItem.doCommand();
|
||||
// Prevent page from scrolling on the space key.
|
||||
event.preventDefault();
|
||||
}
|
||||
}
|
||||
]]>
|
||||
</handler>
|
||||
|
||||
<handler event="MozSwipeGesture">
|
||||
<![CDATA[
|
||||
// Figure out which index to show
|
||||
let targetIndex = 0;
|
||||
|
||||
// Only handle swipe gestures up and down
|
||||
switch (event.direction) {
|
||||
case event.DIRECTION_DOWN:
|
||||
targetIndex = this.itemCount - 1;
|
||||
// Fall through for actual action
|
||||
case event.DIRECTION_UP:
|
||||
this.ensureIndexIsVisible(targetIndex);
|
||||
break;
|
||||
}
|
||||
]]>
|
||||
</handler>
|
||||
|
||||
<handler event="touchstart">
|
||||
<![CDATA[
|
||||
if (event.touches.length > 1) {
|
||||
// Multiple touch points detected, abort. In particular this aborts
|
||||
// the panning gesture when the user puts a second finger down after
|
||||
// already panning with one finger. Aborting at this point prevents
|
||||
// the pan gesture from being resumed until all fingers are lifted
|
||||
// (as opposed to when the user is back down to one finger).
|
||||
this._touchY = -1;
|
||||
} else {
|
||||
this._touchY = event.touches[0].screenY;
|
||||
}
|
||||
]]>
|
||||
</handler>
|
||||
<handler event="touchmove">
|
||||
<![CDATA[
|
||||
if (event.touches.length == 1 &&
|
||||
this._touchY >= 0) {
|
||||
let deltaY = this._touchY - event.touches[0].screenY;
|
||||
let lines = Math.trunc(deltaY / this.listBoxObject.getRowHeight());
|
||||
if (Math.abs(lines) > 0) {
|
||||
this.listBoxObject.scrollByLines(lines);
|
||||
deltaY -= lines * this.listBoxObject.getRowHeight();
|
||||
this._touchY = event.touches[0].screenY + deltaY;
|
||||
}
|
||||
event.preventDefault();
|
||||
}
|
||||
]]>
|
||||
</handler>
|
||||
<handler event="touchend">
|
||||
<![CDATA[
|
||||
this._touchY = -1;
|
||||
]]>
|
||||
</handler>
|
||||
|
||||
</handlers>
|
||||
</binding>
|
||||
|
||||
<binding id="listrows">
|
||||
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/listbox.css"/>
|
||||
</resources>
|
||||
|
||||
<handlers>
|
||||
<handler event="DOMMouseScroll" phase="capturing">
|
||||
<![CDATA[
|
||||
if (event.axis == event.HORIZONTAL_AXIS)
|
||||
return;
|
||||
|
||||
var listBox = this.parentNode.listBoxObject;
|
||||
var rows = event.detail;
|
||||
if (rows == UIEvent.SCROLL_PAGE_UP)
|
||||
rows = -listBox.getNumberOfVisibleRows();
|
||||
else if (rows == UIEvent.SCROLL_PAGE_DOWN)
|
||||
rows = listBox.getNumberOfVisibleRows();
|
||||
|
||||
listBox.scrollByLines(rows);
|
||||
event.preventDefault();
|
||||
]]>
|
||||
</handler>
|
||||
|
||||
<handler event="MozMousePixelScroll" phase="capturing">
|
||||
<![CDATA[
|
||||
if (event.axis == event.HORIZONTAL_AXIS)
|
||||
return;
|
||||
|
||||
// shouldn't be scrolled by pixel scrolling events before a line/page
|
||||
// scrolling event.
|
||||
event.preventDefault();
|
||||
]]>
|
||||
</handler>
|
||||
</handlers>
|
||||
</binding>
|
||||
|
||||
<binding id="listitem"
|
||||
extends="chrome://global/content/bindings/general.xml#basetext">
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/listbox.css"/>
|
||||
</resources>
|
||||
|
||||
<content>
|
||||
<children>
|
||||
<xul:listcell xbl:inherits="label,crop,disabled,flexlabel"/>
|
||||
</children>
|
||||
</content>
|
||||
|
||||
<implementation implements="nsIDOMXULSelectControlItemElement">
|
||||
<property name="current" onget="return this.getAttribute('current') == 'true';">
|
||||
<setter><![CDATA[
|
||||
|
@ -1029,78 +744,4 @@
|
|||
</handler>
|
||||
</handlers>
|
||||
</binding>
|
||||
|
||||
<binding id="listitem-checkbox"
|
||||
extends="chrome://global/content/bindings/listbox.xml#listitem">
|
||||
<content>
|
||||
<children>
|
||||
<xul:listcell type="checkbox" xbl:inherits="label,crop,checked,disabled,flexlabel"/>
|
||||
</children>
|
||||
</content>
|
||||
|
||||
<implementation>
|
||||
<property name="checked"
|
||||
onget="return this.getAttribute('checked') == 'true';">
|
||||
<setter><![CDATA[
|
||||
if (val)
|
||||
this.setAttribute("checked", "true");
|
||||
else
|
||||
this.removeAttribute("checked");
|
||||
var event = document.createEvent("Events");
|
||||
event.initEvent("CheckboxStateChange", true, true);
|
||||
this.dispatchEvent(event);
|
||||
return val;
|
||||
]]></setter>
|
||||
</property>
|
||||
</implementation>
|
||||
|
||||
<handlers>
|
||||
<handler event="mousedown" button="0">
|
||||
<![CDATA[
|
||||
if (!this.disabled && !this.control.disabled) {
|
||||
this.checked = !this.checked;
|
||||
this.doCommand();
|
||||
}
|
||||
]]>
|
||||
</handler>
|
||||
</handlers>
|
||||
</binding>
|
||||
|
||||
<binding id="listcell"
|
||||
extends="chrome://global/content/bindings/general.xml#basecontrol">
|
||||
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/listbox.css"/>
|
||||
</resources>
|
||||
|
||||
<content>
|
||||
<children>
|
||||
<xul:label class="listcell-label" xbl:inherits="value=label,flex=flexlabel,crop,disabled" flex="1" crop="right"/>
|
||||
</children>
|
||||
</content>
|
||||
</binding>
|
||||
|
||||
<binding id="listcell-checkbox"
|
||||
extends="chrome://global/content/bindings/listbox.xml#listcell">
|
||||
<content>
|
||||
<children>
|
||||
<xul:image class="listcell-check" xbl:inherits="checked,disabled"/>
|
||||
<xul:label class="listcell-label" xbl:inherits="value=label,flex=flexlabel,crop,disabled" flex="1" crop="right"/>
|
||||
</children>
|
||||
</content>
|
||||
</binding>
|
||||
|
||||
<binding id="listhead">
|
||||
|
||||
<resources>
|
||||
<stylesheet src="chrome://global/skin/listbox.css"/>
|
||||
</resources>
|
||||
|
||||
<content>
|
||||
<xul:listheaditem>
|
||||
<children includes="listheader"/>
|
||||
</xul:listheaditem>
|
||||
</content>
|
||||
</binding>
|
||||
|
||||
</bindings>
|
||||
|
|
|
@ -505,10 +505,6 @@
|
|||
|
||||
<binding id="richlistitem"
|
||||
extends="chrome://global/content/bindings/listbox.xml#listitem">
|
||||
<content>
|
||||
<children/>
|
||||
</content>
|
||||
|
||||
<implementation>
|
||||
<field name="selectedByMouseOver">false</field>
|
||||
|
||||
|
|
|
@ -478,88 +478,6 @@ column {
|
|||
-moz-box-orient: vertical;
|
||||
}
|
||||
|
||||
/******** listbox **********/
|
||||
|
||||
listbox {
|
||||
-moz-binding: url("chrome://global/content/bindings/listbox.xml#listbox");
|
||||
}
|
||||
|
||||
listhead {
|
||||
-moz-binding: url("chrome://global/content/bindings/listbox.xml#listhead");
|
||||
}
|
||||
|
||||
listrows {
|
||||
-moz-binding: url("chrome://global/content/bindings/listbox.xml#listrows");
|
||||
}
|
||||
|
||||
listitem {
|
||||
-moz-binding: url("chrome://global/content/bindings/listbox.xml#listitem");
|
||||
}
|
||||
|
||||
listitem[type="checkbox"] {
|
||||
-moz-binding: url("chrome://global/content/bindings/listbox.xml#listitem-checkbox");
|
||||
}
|
||||
|
||||
listcell {
|
||||
-moz-binding: url("chrome://global/content/bindings/listbox.xml#listcell");
|
||||
}
|
||||
|
||||
listcell[type="checkbox"] {
|
||||
-moz-binding: url("chrome://global/content/bindings/listbox.xml#listcell-checkbox");
|
||||
}
|
||||
|
||||
listbox {
|
||||
display: -moz-grid;
|
||||
}
|
||||
|
||||
listbox[rows] {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
listcols, listhead, listrows, listboxbody {
|
||||
display: -moz-grid-group;
|
||||
}
|
||||
|
||||
listcol, listitem, listheaditem {
|
||||
display: -moz-grid-line;
|
||||
}
|
||||
|
||||
listbox {
|
||||
-moz-user-focus: normal;
|
||||
-moz-box-orient: vertical;
|
||||
min-width: 0px;
|
||||
min-height: 0px;
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
listhead {
|
||||
-moz-box-orient: vertical;
|
||||
}
|
||||
|
||||
listrows {
|
||||
-moz-box-orient: vertical;
|
||||
-moz-box-flex: 1;
|
||||
}
|
||||
|
||||
listboxbody {
|
||||
-moz-box-orient: vertical;
|
||||
-moz-box-flex: 1;
|
||||
/* Don't permit a horizontal scrollbar. See bug 285449 */
|
||||
overflow-x: hidden !important;
|
||||
overflow-y: auto;
|
||||
min-height: 0px;
|
||||
}
|
||||
|
||||
listcol {
|
||||
-moz-box-orient: vertical;
|
||||
min-width: 16px;
|
||||
}
|
||||
|
||||
listcell {
|
||||
-moz-box-align: center;
|
||||
}
|
||||
|
||||
/******** tree ******/
|
||||
|
||||
tree {
|
||||
|
|
|
@ -14,7 +14,6 @@ toolkit.jar:
|
|||
* skin/classic/global/findBar.css
|
||||
* skin/classic/global/global.css
|
||||
skin/classic/global/groupbox.css
|
||||
skin/classic/global/listbox.css
|
||||
skin/classic/global/menu.css
|
||||
skin/classic/global/menulist.css
|
||||
skin/classic/global/netError.css
|
||||
|
|
|
@ -1,68 +0,0 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
/* ===== listbox.css =======================================================
|
||||
== Styles used by XUL listbox-related elements.
|
||||
======================================================================= */
|
||||
|
||||
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
|
||||
|
||||
/* ::::: listbox ::::: */
|
||||
|
||||
listbox {
|
||||
-moz-appearance: listbox;
|
||||
margin: 2px 4px;
|
||||
background-color: -moz-Field;
|
||||
color: -moz-FieldText;
|
||||
}
|
||||
|
||||
listbox[disabled="true"] {
|
||||
color: GrayText;
|
||||
}
|
||||
|
||||
/* ::::: listitem ::::: */
|
||||
|
||||
listbox:focus > listitem[selected="true"][current="true"] {
|
||||
outline: 1px dotted #F3D982;
|
||||
}
|
||||
|
||||
listbox:focus > listitem[current="true"] {
|
||||
outline: 1px dotted Highlight;
|
||||
outline-offset: -1px;
|
||||
}
|
||||
|
||||
listitem[selected="true"] {
|
||||
background-color: -moz-cellhighlight;
|
||||
color: -moz-cellhighlighttext;
|
||||
}
|
||||
|
||||
listbox:focus > listitem[selected="true"] {
|
||||
background-color: Highlight;
|
||||
color: HighlightText;
|
||||
}
|
||||
|
||||
/* ::::: listcell ::::: */
|
||||
|
||||
.listcell-label {
|
||||
margin: 0 !important;
|
||||
padding-top: 0;
|
||||
padding-bottom: 1px;
|
||||
padding-inline-start: 4px;
|
||||
padding-inline-end: 0;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.listcell-label[disabled="true"] {
|
||||
color: GrayText;
|
||||
}
|
||||
|
||||
/* ::::: listcell checkbox ::::: */
|
||||
|
||||
.listcell-check {
|
||||
-moz-appearance: checkbox;
|
||||
-moz-box-align: center;
|
||||
margin: 0 2px;
|
||||
min-width: 13px;
|
||||
min-height: 13px;
|
||||
}
|
|
@ -12,7 +12,6 @@ toolkit.jar:
|
|||
skin/classic/global/dropmarker.css (global/empty.css)
|
||||
skin/classic/global/global.css (global/empty.css)
|
||||
skin/classic/global/groupbox.css (global/empty.css)
|
||||
skin/classic/global/listbox.css (global/empty.css)
|
||||
skin/classic/global/menu.css (global/empty.css)
|
||||
skin/classic/global/menulist.css (global/empty.css)
|
||||
skin/classic/global/numberbox.css (global/empty.css)
|
||||
|
|
Двоичные данные
toolkit/themes/osx/global/checkbox/cbox-check-dis.gif
Двоичные данные
toolkit/themes/osx/global/checkbox/cbox-check-dis.gif
Двоичный файл не отображается.
До Ширина: | Высота: | Размер: 60 B |
|
@ -15,7 +15,6 @@ toolkit.jar:
|
|||
* skin/classic/global/findBar.css
|
||||
* skin/classic/global/global.css
|
||||
skin/classic/global/groupbox.css
|
||||
skin/classic/global/listbox.css
|
||||
skin/classic/global/menu.css
|
||||
skin/classic/global/menulist.css
|
||||
* skin/classic/global/notification.css
|
||||
|
@ -52,7 +51,6 @@ toolkit.jar:
|
|||
skin/classic/global/arrow/panelarrow-horizontal.svg (arrow/panelarrow-horizontal.svg)
|
||||
skin/classic/global/arrow/panelarrow-vertical.svg (arrow/panelarrow-vertical.svg)
|
||||
skin/classic/global/checkbox/cbox-check.gif (checkbox/cbox-check.gif)
|
||||
skin/classic/global/checkbox/cbox-check-dis.gif (checkbox/cbox-check-dis.gif)
|
||||
skin/classic/global/dirListing/dirListing.css (dirListing/dirListing.css)
|
||||
skin/classic/global/dirListing/folder.png (dirListing/folder.png)
|
||||
skin/classic/global/dirListing/up.png (dirListing/up.png)
|
||||
|
|
|
@ -1,72 +0,0 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
|
||||
|
||||
listbox {
|
||||
-moz-appearance: listbox;
|
||||
margin: 2px 4px;
|
||||
background-color: #FFFFFF;
|
||||
color: -moz-FieldText;
|
||||
}
|
||||
|
||||
.listcell-label {
|
||||
margin: 0px !important;
|
||||
padding-bottom: 1px;
|
||||
padding-inline-start: 4px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* ::::: listitem ::::: */
|
||||
|
||||
listitem {
|
||||
border: 1px solid transparent;
|
||||
}
|
||||
|
||||
listitem[selected="true"] {
|
||||
background-color: -moz-mac-secondaryhighlight;
|
||||
color: -moz-DialogText;
|
||||
}
|
||||
|
||||
listbox:focus > listitem[selected="true"] {
|
||||
background-color: Highlight;
|
||||
color: HighlightText;
|
||||
}
|
||||
|
||||
/* ::::: listcell ::::: */
|
||||
|
||||
.listcell-label {
|
||||
margin: 0px !important;
|
||||
padding-bottom: 1px;
|
||||
padding-inline-start: 4px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
.listcell-check[disabled="true"][checked="true"] {
|
||||
background-image: url("chrome://global/skin/checkbox/cbox-check-dis.gif");
|
||||
}
|
|
@ -1034,8 +1034,7 @@ button.button-link:not([disabled="true"]):active:hover {
|
|||
|
||||
/*** Reset PopupAutoComplete richlistbox styles ***/
|
||||
|
||||
#PopupAutoComplete richlistbox,
|
||||
#PopupAutoComplete listbox {
|
||||
#PopupAutoComplete richlistbox {
|
||||
-moz-appearance: initial;
|
||||
margin-inline-start: 0;
|
||||
border: none;
|
||||
|
|
|
@ -20,7 +20,6 @@ toolkit.jar:
|
|||
skin/classic/global/commonDialog.css
|
||||
* skin/classic/global/findBar.css
|
||||
* skin/classic/global/global.css
|
||||
skin/classic/global/listbox.css
|
||||
skin/classic/global/netError.css
|
||||
* skin/classic/global/numberbox.css
|
||||
* skin/classic/global/notification.css
|
||||
|
|
|
@ -1,167 +0,0 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
/* ===== listbox.css =======================================================
|
||||
== Styles used by XUL listbox-related elements.
|
||||
======================================================================= */
|
||||
|
||||
|
||||
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
|
||||
|
||||
/* ::::: listbox ::::: */
|
||||
|
||||
listbox {
|
||||
-moz-appearance: listbox;
|
||||
margin: 2px 4px;
|
||||
color: -moz-FieldText;
|
||||
}
|
||||
|
||||
listbox[disabled="true"] {
|
||||
color: GrayText;
|
||||
}
|
||||
|
||||
/* ::::: listitem ::::: */
|
||||
|
||||
listitem {
|
||||
border: 1px solid transparent;
|
||||
}
|
||||
|
||||
listbox:focus > listitem[selected="true"][current="true"] {
|
||||
outline: 1px dotted #F3D982;
|
||||
}
|
||||
|
||||
listbox:focus > listitem[current="true"] {
|
||||
outline: 1px dotted Highlight;
|
||||
outline-offset: -1px;
|
||||
}
|
||||
|
||||
listitem[selected="true"] {
|
||||
background-color: -moz-cellhighlight;
|
||||
color: -moz-cellhighlighttext;
|
||||
}
|
||||
|
||||
listbox:focus > listitem[selected="true"] {
|
||||
background-color: Highlight;
|
||||
color: HighlightText;
|
||||
}
|
||||
|
||||
/* ::::: listcell ::::: */
|
||||
|
||||
.listcell-label {
|
||||
margin: 0px !important;
|
||||
padding-top: 0px;
|
||||
padding-bottom: 1px;
|
||||
padding-inline-start: 4px;
|
||||
padding-inline-end: 0px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.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%;
|
||||
}
|
||||
|
||||
@media (-moz-windows-default-theme) {
|
||||
listitem {
|
||||
--listitem-selectedColor: rgb(217,217,217);
|
||||
--listitem-selectedBorder: var(--listitem-selectedColor);
|
||||
--listitem-selectedBottomBorder: rgb(204,204,204);
|
||||
--listitem-selectedBackground: var(--listitem-selectedColor);
|
||||
--listitem-selectedImage: none;
|
||||
--listitem-selectedCurrentBorder: rgb(123,195,255);
|
||||
--listitem-selectedFocusColor: rgb(205,232,255);
|
||||
--listitem-selectedFocusBorder: var(--listitem-selectedFocusColor);
|
||||
--listitem-selectedFocusBottomBorder: rgb(165,214,255);
|
||||
--listitem-selectedFocusBackground: var(--listitem-selectedFocusColor);
|
||||
--listitem-selectedFocusImage: none;
|
||||
--listitem-selectedFocusCurrentBorder: var(--listitem-selectedFocusColor);
|
||||
--listitem-selectedFocusCurrentBottomBorder: var(--listitem-selectedFocusBottomBorder);
|
||||
--listitem-selectedFocusCurrentBackground: var(--listitem-selectedFocusColor);
|
||||
|
||||
color: -moz-FieldText;
|
||||
margin-inline-start: 1px;
|
||||
margin-inline-end: 1px;
|
||||
padding-top: 1px;
|
||||
padding-bottom: 1px;
|
||||
border-width: 1px;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
listitem[selected="true"] {
|
||||
border-top-color: var(--listitem-selectedBorder);
|
||||
border-right-color: var(--listitem-selectedBorder);
|
||||
border-left-color: var(--listitem-selectedBorder);
|
||||
border-bottom-color: var(--listitem-selectedBottomBorder);
|
||||
background-image: var(--listitem-selectedImage);
|
||||
background-color: var(--listitem-selectedBackground);
|
||||
color: -moz-DialogText;
|
||||
}
|
||||
|
||||
listbox:focus > listitem[selected="true"] {
|
||||
border-top-color: var(--listitem-selectedFocusBorder);
|
||||
border-right-color: var(--listitem-selectedFocusBorder);
|
||||
border-left-color: var(--listitem-selectedFocusBorder);
|
||||
border-bottom-color: var(--listitem-selectedFocusBottomBorder);
|
||||
background-image: var(--listitem-selectedFocusImage);
|
||||
background-color: var(--listitem-selectedFocusBackground);
|
||||
color: -moz-DialogText;
|
||||
}
|
||||
|
||||
listbox:focus > listitem[current="true"] {
|
||||
border-color: var(--listitem-selectedCurrentBorder);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
listbox:focus > listitem[selected="true"][current="true"] {
|
||||
border-top-color: var(--listitem-selectedFocusCurrentBorder);
|
||||
border-right-color: var(--listitem-selectedFocusCurrentBorder);
|
||||
border-left-color: var(--listitem-selectedFocusCurrentBorder);
|
||||
border-bottom-color: var(--listitem-selectedFocusCurrentBottomBorder);
|
||||
background-color: var(--listitem-selectedFocusCurrentBackground);
|
||||
outline: none;
|
||||
}
|
||||
|
||||
@media (-moz-os-version: windows-win7) {
|
||||
listitem {
|
||||
--listitem-selectedBottomBorder: var(--listitem-selectedColor);
|
||||
--listitem-selectedBackground: rgba(190,190,190,.15);
|
||||
--listitem-selectedImage: linear-gradient(rgba(190,190,190,.1), rgba(190,190,190,.4));
|
||||
--listitem-selectedCurrentBorder: rgb(125,162,206);
|
||||
--listitem-selectedFocusColor: rgb(132,172,221);
|
||||
--listitem-selectedFocusBottomBorder: var(--listitem-selectedFocusColor);
|
||||
--listitem-selectedFocusBackground: rgba(131,183,249,.02);
|
||||
--listitem-selectedFocusImage: linear-gradient(rgba(131,183,249,.16), rgba(131,183,249,.375));
|
||||
--listitem-selectedFocusCurrentBackground: rgba(131,183,249,.15);
|
||||
|
||||
border-radius: 3px;
|
||||
box-shadow: inset 0 0 0 1px rgba(255,255,255,.4), inset 0 -1px 0 1px rgba(255,255,255,.2);
|
||||
}
|
||||
}
|
||||
|
||||
@media (-moz-os-version: windows-win8) {
|
||||
listitem {
|
||||
--listitem-selectedBottomBorder: var(--listitem-selectedColor);
|
||||
--listitem-selectedBackground: rgba(190,190,190,.15);
|
||||
--listitem-selectedImage: linear-gradient(rgba(190,190,190,.4), rgba(190,190,190,.4));
|
||||
--listitem-selectedCurrentBorder: rgb(125,162,206);
|
||||
--listitem-selectedFocusColor: rgb(132,172,221);
|
||||
--listitem-selectedFocusBottomBorder: var(--listitem-selectedFocusColor);
|
||||
--listitem-selectedFocusBackground: rgba(131,183,249,.02);
|
||||
--listitem-selectedFocusImage: linear-gradient(rgba(131,183,249,.375), rgba(131,183,249,.375));
|
||||
--listitem-selectedFocusCurrentBackground: rgba(131,183,249,.15);
|
||||
}
|
||||
}
|
||||
}
|
Загрузка…
Ссылка в новой задаче