43189 - autocomplete, r=matt, sr=alecf

This commit is contained in:
hewitt%netscape.com 2001-04-30 18:37:04 +00:00
parent 8c075c3565
commit 615f81f105
38 changed files with 2945 additions and 1301 deletions

View File

@ -75,15 +75,12 @@ Rights Reserved.
<treeitem> <treeitem>
<treerow> <treerow>
<treecell allowevents="true"> <treecell allowevents="true">
<textbox id="address#1" <textbox id="address#1" flex="1"
flex="100%" type="autocomplete" searchSessions="addrbook"
onkeypress="handleKeyPress(this, event);" timeout="300" autoFill="true"
onclick="awNotAnEmptyArea(event);" onkeypress="handleKeyPress(this, event);"
autocomplete="true" onclick="awNotAnEmptyArea(event);"/>
timeout="300" </treecell>
searchSessionType="addrbook"
/>
</treecell>
</treerow> </treerow>
</treeitem> </treeitem>
</treechildren> </treechildren>

View File

@ -722,12 +722,15 @@ function awSetAutoComplete(rowNumber)
_awSetAutoComplete(selectElem, inputElem) _awSetAutoComplete(selectElem, inputElem)
} }
function awRecipientTextCommand(userAction, element)
{
if (userAction == "typing" || userAction == "scrolling")
awReturnHit(element);
}
function awRecipientKeyPress(event, element) function awRecipientKeyPress(event, element)
{ {
switch(event.keyCode) { switch(event.keyCode) {
case 13:
awReturnHit(element);
break;
case 9: case 9:
awTabFromRecipient(element, event); awTabFromRecipient(element, event);
break; break;
@ -742,7 +745,7 @@ function awRecipientKeyDown(event, element)
/* do not query directly the value of the text field else the autocomplete widget could potentially /* do not query directly the value of the text field else the autocomplete widget could potentially
alter it value while doing some internal cleanup, instead, query the value through the first child alter it value while doing some internal cleanup, instead, query the value through the first child
*/ */
if (!document.getAnonymousNodes(element)[0].firstChild.value) if (!element.value)
awDeleteHit(element); awDeleteHit(element);
event.preventBubble(); //We need to stop the event else the tree will receive it and the function event.preventBubble(); //We need to stop the event else the tree will receive it and the function
//awKeyDown will be executed! //awKeyDown will be executed!

View File

@ -58,14 +58,14 @@ Rights Reserved.
</menulist> </menulist>
</treecell> </treecell>
<treecell class="treecell-addressingWidget" autostretch="never"> <treecell class="treecell-addressingWidget" autostretch="never">
<image onclick="awNotAnEmptyArea(event)" class="person-icon"/> <textbox id="msgRecipient#1" class="plain textbox-addressingWidget"
<textbox id="msgRecipient#1" flex="1" type="autocomplete" allowevents="true" flex="1"
class="plain textbox-addressingWidget" searchSessions="addrbook" timeout="300" maxrows="4" autoFill="true"
style="width:0px;" allowevents="true" ontextcommand="awRecipientTextCommand(userAction, this)"
onkeypress="awRecipientKeyPress(event, this)" onkeypress="awRecipientKeyPress(event, this)"
onkeydown="awRecipientKeyDown(event, this)" onkeydown="awRecipientKeyDown(event, this)">
autocomplete="true" timeout="300" <image onclick="awNotAnEmptyArea(event)" class="person-icon"/>
searchSessionType="addrbook" displayMenu="true"/> </textbox>
</treecell> </treecell>
</treerow> </treerow>
</treeitem> </treeitem>

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 B

View File

@ -0,0 +1,77 @@
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /* set default namespace to HTML */
/* ::::: autocomplete ::::: */
textbox[type="autocomplete"]
{
cursor : default !important;
}
.textbox-input
{
cursor : text;
}
.autocomplete-internal-box
{
padding : 0px !important;
}
.autocomplete-textbox-container
{
padding : 1px 2px 1px 2px;
}
/* ::::: history button ::::: */
.autocomplete-history-button
{
border : 1px outset #CCCCCC;
padding : 1px 2px;
background-color : #CCCCCC;
list-style-image : url("chrome://global/skin/arrow-dn.gif");
}
.autocomplete-history-button[open="true"]
{
border : 1px solid #888888;
padding : 2px 1px 0px 3px;
}
/* ::::: autocomplete popups ::::: */
.autocomplete-history-popup,
.autocomplete-result-popup
{
border : 1px solid #333333 !important;
background-color : -moz-field !important;
}
.autocomplete-history-popup,
{
max-height : 180px;
}
/* ::::: outliner ::::: */
.autocomplete-outliner
{
background-color : transparent !important;
}
.autocomplete-outlinercol
{
margin : 0px !important;
border : none !important;
padding : 0px !important;
}
.autocomplete-outlinerbody:-moz-outliner-row(menuactive)
{
background-color : Highlight;
}
.autocomplete-outlinerbody:-moz-outliner-cell-text(menuactive)
{
color : HighlightText !important;
}

View File

@ -1,5 +1,6 @@
classic.jar: classic.jar:
skin/classic/global/contents.rdf skin/classic/global/contents.rdf
skin/classic/global/autocomplete.css
skin/classic/global/box.css skin/classic/global/box.css
skin/classic/global/button.css skin/classic/global/button.css
skin/classic/global/checkbox.css skin/classic/global/checkbox.css
@ -30,6 +31,7 @@ classic.jar:
skin/classic/global/arrow-med-up-hover.gif skin/classic/global/arrow-med-up-hover.gif
skin/classic/global/arrow-med-down.gif skin/classic/global/arrow-med-down.gif
skin/classic/global/arrow-med-down-hover.gif skin/classic/global/arrow-med-down-hover.gif
skin/classic/global/arrow-dn.gif
skin/classic/global/button-def-disabled-left.gif skin/classic/global/button-def-disabled-left.gif
skin/classic/global/button-def-disabled-middle.gif skin/classic/global/button-def-disabled-middle.gif
skin/classic/global/button-def-disabled-right.gif skin/classic/global/button-def-disabled-right.gif

View File

@ -278,3 +278,12 @@ autorepeatbutton > .autorepeatbutton-down {
autorepeatbutton:hover > .autorepeatbutton-down { autorepeatbutton:hover > .autorepeatbutton-down {
list-style-image: url("chrome://global/skin/arrow-med-down-hover.gif") list-style-image: url("chrome://global/skin/arrow-med-down-hover.gif")
} }
/* ::::: autocomplete menuitems ::::: */
.autocomplete-history-popup > menuitem
{
max-width : none !important;
font : message-box;
}

View File

@ -81,8 +81,3 @@
border : none !important; border : none !important;
} }
/* autocomplete text field */
.textbox-popup > menuitem
{
max-width : none !important;
}

View File

@ -0,0 +1,94 @@
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /* set default namespace to HTML */
/* ::::: autocomplete ::::: */
textbox[type="autocomplete"]
{
cursor : default !important;
}
.textbox-input
{
cursor : text;
}
.autocomplete-internal-box
{
padding : 0px !important;
}
.autocomplete-textbox-container
{
padding : 1px 2px 1px 2px;
}
/* ::::: history button ::::: */
.autocomplete-history-button
{
-moz-binding : url("chrome://global/skin/classicBindings.xml#autocomplete-history-button");
border-top : 1px solid -moz-Dialog;
border-right : 1px solid ThreeDDarkShadow;
border-bottom : 1px solid ThreeDDarkShadow;
border-left : 1px solid ThreeDFace;
background-color : ThreeDFace;
list-style-image : url("chrome://global/skin/scroll-down.gif");
}
.autocomplete-history-button > .autocomplete-history-button-internal-box
{
border-top : 1px solid ThreeDHighlight;
border-right : 1px solid ThreeDShadow;
border-bottom : 1px solid ThreeDShadow;
border-left : 1px solid ThreeDHighlight;
padding : 1px;
}
.autocomplete-history-button[open="true"]
{
border : 1px solid ThreeDDarkShadow;
}
.autocomplete-history-button[open="true"] > .autocomplete-history-button-internal-box
{
border : 1px solid ThreeDFace;
padding : 2px 0px 0px 2px;
}
/* ::::: autocomplete popups ::::: */
.autocomplete-result-popup,
.autocomplete-history-popup
{
border : 1px solid ThreeDDarkShadow !important;
background-color : -moz-Field !important;
}
.autocomplete-history-popup
{
max-height : 180px;
}
/* ::::: outliner ::::: */
.autocomplete-outliner
{
background-color : transparent !important;
}
.autocomplete-outlinercol
{
margin : 0px !important;
border : none !important;
padding : 0px !important;
}
.autocomplete-outlinerbody:-moz-outliner-row(menuactive)
{
background-color : Highlight;
}
.autocomplete-outlinerbody:-moz-outliner-cell-text(menuactive)
{
color : HighlightText !important;
}

View File

@ -173,6 +173,18 @@
</content> </content>
</binding> </binding>
<binding id="autostretch-never" extends="xul:box">
<content autostretch="never"/>
</binding>
<binding id="autocomplete-history-button" extends="xul:box">
<content>
<xul:box class="autocomplete-history-button-internal-box" autostretch="never">
<children/>
</xul:box>
</content>
</binding>
<!-- <!--
<binding id="throbber" extends="xul:box"> <binding id="throbber" extends="xul:box">
<content autostretch="never"> <content autostretch="never">

View File

@ -1,6 +1,7 @@
classic.jar: classic.jar:
skin/classic/global/contents.rdf skin/classic/global/contents.rdf
skin/classic/global/preview.png (../../preview/win/preview.png) skin/classic/global/preview.png (../../preview/win/preview.png)
skin/classic/global/autocomplete.css
skin/classic/global/box.css skin/classic/global/box.css
skin/classic/global/button.css skin/classic/global/button.css
skin/classic/global/checkbox.css skin/classic/global/checkbox.css

View File

@ -265,3 +265,10 @@ autorepeatbutton:hover
padding : 2px 1px 1px 2px; padding : 2px 1px 1px 2px;
} }
/* ::::: autocomplete menuitems ::::: */
.autocomplete-history-popup > menuitem
{
max-width : none !important;
font-size : smaller;
}

View File

@ -62,8 +62,4 @@
border : none !important; border : none !important;
} }
/* autocomplete text field */
.textbox-popup > menuitem
{
max-width : none !important;
}

View File

@ -1,6 +1,7 @@
/** Contains style definitions for the navigator application /** Contains style definitions for the navigator application
**/ **/
@import url(chrome://navigator/content/navigator.css);
@import url(chrome://communicator/skin/); @import url(chrome://communicator/skin/);
@import url(chrome://navigator/skin/personalToolbar.css); @import url(chrome://navigator/skin/personalToolbar.css);
@import url(chrome://communicator/skin/sidebar/sidebar.css); @import url(chrome://communicator/skin/sidebar/sidebar.css);
@ -15,66 +16,11 @@
/** placeholder style ***/ /** placeholder style ***/
} }
#ubhist
{
margin : 0px;
background-color : #DDDDDD;
list-style-image : url("chrome://global/skin/scroll-down.gif");
}
#ubhist-popup > menuitem
{
max-width : 550px !important;
}
#ubhist > .menubutton-icon-internal-box
{
border-left : 1px solid #FFFFFF;
border-top : 1px solid #FFFFFF;
border-right : 1px solid #9D9D9D;
border-bottom : 1px solid #9D9D9D;
}
#ubhist:hover:active > .menubutton-icon-internal-box,
#ubhist[open="true"] > .menubutton-icon-internal-box
{
border : 1px solid #000000;
}
#urlbar-container #urlbar-container
{ {
padding : 3px 2px 2px 3px; padding : 0px 0px 0px 3px;
} }
/*
* Rules for 'hiding' portions of the chrome for special
* kinds of browser windows.
*/
window[chromehidden~="menubar"] .chromeclass-menubar {
display: none;
}
window[chromehidden~="toolbar"] .chromeclass-toolbar {
display: none;
}
window[chromehidden~="location"] .chromeclass-location {
display: none;
}
window[chromehidden~="directories"] .chromeclass-directories {
display: none;
}
window[chromehidden~="status"] .chromeclass-status {
display: none;
}
window[chromehidden~="extrachrome"] .chromeclass-extrachrome {
display: none;
}
/* /*
* Images for the main buttons * Images for the main buttons
*/ */
@ -195,6 +141,11 @@ window[chromehidden~="extrachrome"] .chromeclass-extrachrome {
list-style-image : url("chrome://communicator/skin/bookmarks/location-clicked.gif"); list-style-image : url("chrome://communicator/skin/bookmarks/location-clicked.gif");
} }
#page-proxy-button[pageproxystate="invalid"]
{
cursor : default;
}
#ubhist-keyword-popup, #ubhist-keyword-popup:hover, #ubhist-keyword-popup:hover:active #ubhist-keyword-popup, #ubhist-keyword-popup:hover, #ubhist-keyword-popup:hover:active
{ {
-moz-binding : url("chrome://global/skin/classicBindings.xml#menubutton-icon-nostretch") !important; -moz-binding : url("chrome://global/skin/classicBindings.xml#menubutton-icon-nostretch") !important;
@ -257,3 +208,43 @@ window[chromehidden~="extrachrome"] .chromeclass-extrachrome {
{ {
list-style-image : url("chrome://global/skin/print-hover-active.gif"); list-style-image : url("chrome://global/skin/print-hover-active.gif");
} }
/* ::::: urlbar autocomplete widget ::::: */
.autocomplete-outlinerbody:-moz-outliner-cell-text(value)
{
padding-left : 15px;
}
.autocomplete-outlinerbody:-moz-outliner-cell-text(comment)
{
font-style : italic;
}
.autocomplete-search-box
{
border-top : 2px groove #CCCCCC;
background-color : #CCCCCC;
color : #000000;
}
.autocomplete-result-popup[nomatch="true"] > .autocomplete-search-box
{
border-top : 1px solid #FFFFFF;
}
.autocomplete-search-engine
{
padding : 2px;
}
.autocomplete-search-engine[menuactive="true"]
{
background-color : Highlight;
color : HighlightText;
}
.autocomplete-search-engine-img
{
margin-right : 4px;
}

View File

@ -1,6 +1,7 @@
/** Contains style definitions for the navigator application /** Contains style definitions for the navigator application
**/ **/
@import url(chrome://navigator/content/navigator.css);
@import url(chrome://communicator/skin/); @import url(chrome://communicator/skin/);
@import url(chrome://navigator/skin/personalToolbar.css); @import url(chrome://navigator/skin/personalToolbar.css);
@import url(chrome://communicator/skin/sidebar/sidebar.css); @import url(chrome://communicator/skin/sidebar/sidebar.css);
@ -19,38 +20,6 @@
border-right : 1px solid ThreeDHighlight; border-right : 1px solid ThreeDHighlight;
} }
#ubhist
{
margin : 0px;
background-color : -moz-Dialog;
list-style-image : url("chrome://global/skin/scroll-down.gif");
}
#ubhist-popup > menuitem
{
max-width : 550px !important;
}
#ubhist > .menubutton-icon-internal-box
{
border-left : 1px solid ThreeDHighlight;
border-top : 1px solid ThreeDHighlight;
border-right : 1px solid ThreeDShadow;
border-bottom : 1px solid ThreeDShadow;
}
#ubhist:hover:active > .menubutton-icon-internal-box,
#ubhist[open="true"] > .menubutton-icon-internal-box
{
border : 1px solid ThreeDShadow;
}
#urlbar-container
{
padding : 3px 2px 2px 3px;
}
#nav-bar-inner #nav-bar-inner
{ {
min-width : 0px; min-width : 0px;
@ -63,34 +32,6 @@
list-style-image : url("chrome://communicator/skin/bookmarks/bookmark-folder-button.gif"); list-style-image : url("chrome://communicator/skin/bookmarks/bookmark-folder-button.gif");
} }
/*
* Rules for 'hiding' portions of the chrome for special
* kinds of browser windows.
*/
window[chromehidden~="menubar"] .chromeclass-menubar {
display: none;
}
window[chromehidden~="toolbar"] .chromeclass-toolbar {
display: none;
}
window[chromehidden~="location"] .chromeclass-location {
display: none;
}
window[chromehidden~="directories"] .chromeclass-directories {
display: none;
}
window[chromehidden~="status"] .chromeclass-status {
display: none;
}
window[chromehidden~="extrachrome"] .chromeclass-extrachrome {
display: none;
}
/* /*
* Images for the main buttons * Images for the main buttons
*/ */
@ -194,11 +135,11 @@ window[chromehidden~="extrachrome"] .chromeclass-extrachrome {
} }
/*all the urlbar stuff*/ /*all the urlbar stuff*/
#page-proxy-button #page-proxy-button
{ {
list-style-image : url("chrome://communicator/skin/bookmarks/location.gif"); list-style-image : url("chrome://communicator/skin/bookmarks/location.gif");
cursor : grab; cursor : grab;
margin : 0px 2px 0px 0px; margin : 2px 4px 2px 2px;
} }
#page-proxy-button:hover #page-proxy-button:hover
@ -211,6 +152,11 @@ window[chromehidden~="extrachrome"] .chromeclass-extrachrome {
list-style-image : url("chrome://communicator/skin/bookmarks/location-clicked.gif"); list-style-image : url("chrome://communicator/skin/bookmarks/location-clicked.gif");
} }
#page-proxy-button[pageproxystate="invalid"]
{
cursor : default;
}
#ubhist-keyword-popup #ubhist-keyword-popup
{ {
margin : 0px 4px 0px 0px; margin : 0px 4px 0px 0px;
@ -226,10 +172,11 @@ window[chromehidden~="extrachrome"] .chromeclass-extrachrome {
#nav-bar-inner #nav-bar-inner
{ {
min-width : 0px; -moz-binding : url("chrome://global/skin/classicBindings.xml#autostretch-never");
margin : 8px 0px 8px 6px; min-width : 0px;
margin : 8px 0px 8px 6px;
} }
#search-button #search-button
{ {
list-style-image : url("chrome://communicator/skin/search.gif"); list-style-image : url("chrome://communicator/skin/search.gif");
@ -279,3 +226,58 @@ window[chromehidden~="extrachrome"] .chromeclass-extrachrome {
list-style-image : url("chrome://global/skin/print-hover-active.gif"); list-style-image : url("chrome://global/skin/print-hover-active.gif");
} }
/* ::::: urlbar autocomplete widget ::::: */
.autocomplete-outlinerbody:-moz-outliner-cell-text(value)
{
padding-left : 15px;
}
.autocomplete-outlinerbody:-moz-outliner-cell-text(comment)
{
font-style : italic;
}
.autocomplete-history-button
{
border : 1px outset -moz-Dialog;
}
.autocomplete-history-button[open="true"]
{
border : 1px solid ThreeDShadow;
}
.autocomplete-history-button-internal-box,
.autocomplete-history-button[open="true"] > .autocomplete-history-button-internal-box
{
border : none;
}
.autocomplete-search-box
{
border-top : 2px groove -moz-Dialog;
background-color : -moz-Dialog;
color : ButtonText;
}
.autocomplete-result-popup[nomatch="true"] > .autocomplete-search-box
{
border-top : 1px solid ThreeDHighlight;
}
.autocomplete-search-engine
{
padding : 2px;
}
.autocomplete-search-engine[menuactive="true"]
{
background-color : Highlight;
color : HighlightText;
}
.autocomplete-search-engine-img
{
margin-right : 4px;
}

View File

@ -0,0 +1,89 @@
/*
* 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)
*/
/* ===== autocomplete.css =================================================
== Styles used by the autocomplete widget.
======================================================================= */
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
/* ::::: autocomplete ::::: */
textbox[type="autocomplete"] {
cursor: default !important;
}
.textbox-input {
cursor: text;
margin: 0px;
border: none;
padding: 0px;
background-color: inherit;
color: inherit;
font: inherit;
}
/* ::::: history button ::::: */
.autocomplete-history-button {
-moz-binding: url("chrome://global/skin/globalBindings.xml#autostretch-never");
margin: 1px 3px 3px 0px;
list-style-image: url("chrome://global/skin/arrow/arrow-dn.gif");
vertical-align: middle;
}
.autocomplete-history-button[open="true"] {
margin: 2px 2px 2px 1px;
}
/* ::::: popups ::::: */
.autocomplete-history-popup,
.autocomplete-result-popup {
border: 1px solid #6B747E;
background-color: #E9F5FF !important;
}
.autocomplete-history-popup {
max-height: 180px;
}
/* ::::: outliner ::::: */
.autocomplete-outliner {
background-color: transparent !important;
}
.autocomplete-outlinercol {
margin: 0px !important;
border: none !important;
padding: 0px !important;
}
.autocomplete-outlinerbody:-moz-outliner-row(menuactive) {
background-color: #486380;
}
.autocomplete-outlinerbody:-moz-outliner-cell-text(menuactive) {
color: #FFFFFF !important;
}

View File

@ -1,292 +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)
*/
/* ===== menu.css =======================================================
== Styles used by XUL menu-related elements.
======================================================================= */
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
/* ::::: menubar ::::: */
menubar {
min-width: 1px; /* DON'T DELETE!
Removes disappearance of scrollbars in content pane when window
is made smaller. Talk to evaughan@netscape.com for details. */
background-color: #B4C3D4;
border-top: 1px solid #82929C;
border-bottom: 1px solid #000000;
}
menubar > .toolbar-holder {
border-left: 1px solid #D6E7FF;
}
/* ::::: menubar grippy ::::: */
menubar > toolbargrippy {
background-image: url("chrome://global/skin/menu/grip-mbar-mid.gif");
}
menubar > toolbargrippy > .toolbargrippy-top {
background-image: url("chrome://global/skin/menu/grip-mbar-top.gif");
}
menubar > toolbargrippy > .toolbargrippy-btm {
background-image: url("chrome://global/skin/menu/grip-mbar-btm.gif");
}
menubar > toolbargrippy:hover:active {
background-image: url("chrome://global/skin/menu/grip-mbar-mid-act.gif");
}
menubar > toolbargrippy:hover:active > .toolbargrippy-top {
background-image: url("chrome://global/skin/menu/grip-mbar-top-act.gif");
}
menubar > toolbargrippy:hover:active > .toolbargrippy-btm {
background-image: url("chrome://global/skin/menu/grip-mbar-btm-act.gif");
}
/* ::::: popup/menupopup ::::: */
popup,
menupopup {
cursor: default;
background-color: #B4C3D4;
border: 1px solid #5B7693;
border-right: 1px solid #394B6E;
border-bottom: 1px solid #394B6E;
}
.popup-internal-box {
border: 1px outset #B4C3D4;
}
/* ::::: menu/menuitem ::::: */
menu,
menuitem {
color: #17222E;
font: menu;
list-style-image: none;
vertical-align: middle;
}
menuitem {
cursor: default !important;
}
menuitem[default="true"] {
font-weight: bold;
}
menu[disabled="true"],
menuitem[disabled="true"],
menu[disabled="true"][menuactive="true"],
menuitem[disabled="true"][menuactive="true"] {
color: #838E9B;
}
/* ..... internal content .... */
.menu-iconic-left {
margin: 0px 2px 0px 0px;
width: 16px;
color: inherit;
list-style-image: inherit;
text-align: center;
}
.menu-accel,
.menu-iconic-accel {
margin-left: 4px;
padding-right: 14px;
}
.menu-text {
padding-left: 18px;
font-weight: inherit;
}
.menu-iconic-text {
margin: 0px 2px 0px 0px;
}
.menu-iconic-text,
.menu-iconic-accel,
.menu-text,
.menu-accel {
color: inherit;
}
/* ..... menu arrow box ..... */
.menu-right {
margin: 0px 0px 0px 6px;
width: 8px;
list-style-image: url("chrome://global/skin/menu/menu-arrow.gif");
text-align: center;
}
.menu-right[menuactive="true"] {
list-style-image: url("chrome://global/skin/menu/menu-arrow-hov.gif");
}
.menu-right[disabled="true"],
.menu-right[menuactive="true"][disabled="true"] {
list-style-image: url("chrome://global/skin/menu/menu-arrow-dis.gif");
}
/* ::::: menu/menuitems in menubar ::::: */
menubar > menu {
border: 1px solid #B4C3D4;
padding: 1px 3px 2px 3px;
margin: 1px 0px 1px 0px;
}
menubar > menu[menuactive="true"] {
border: 1px outset #B4C3D4;
}
menubar > menu[menuactive="true"][open="true"] {
border: 1px inset #B4C3D4;
border-bottom: none;
}
/* ..... internal content .... */
.menubar-left {
margin: 0px 2px 0px 0px;
color: inherit;
}
.menubar-text {
margin-right: 2px;
color: inherit;
}
/* ::::: menu/menuitems in popup ::::: */
menupopup > menu,
popup > menu,
menupopup > menuitem,
popup > menuitem {
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
margin-left: 0px;
padding: 2px;
min-width: 0em;
max-width: 42em;
}
menupopup > menu[menuactive="true"],
menupopup > menuitem[menuactive="true"],
popup > menu[menuactive="true"],
popup > menuitem[menuactive="true"] {
background-color: #486380;
color: #FFFFFF;
}
/* ::::: menuseparator ::::: */
menuseparator {
cursor: default;
margin: 2px 3px;
border-top: 1px solid #7A8490;
border-bottom: 1px solid #FEFEFE;
}
/* ::::: checkbox menuitem ::::: */
menuitem[checked="true"] {
list-style-image: url("chrome://global/skin/menu/menu-check.gif");
}
menuitem[checked="true"][disabled="true"] {
list-style-image: url("chrome://global/skin/menu/menu-check-dis.gif");
}
menuitem[checked="true"][menuactive="true"] {
list-style-image: url("chrome://global/skin/menu/menu-check-hov.gif");
}
/* ::::: radio menuitem ::::: */
menuitem[checked="true"][type="radio"] {
list-style-image: url("chrome://global/skin/menu/menu-radio.gif");
}
menuitem[checked="true"][type="radio"][disabled="true"] {
list-style-image: url("chrome://global/skin/menu/menu-radio-dis.gif");
}
menuitem[checked="true"][type="radio"][menuactive="true"] {
list-style-image: url("chrome://global/skin/menu/menu-radio-hov.gif");
}
/* ::::: tooltip ::::: */
.tooltip {
border: 1px solid #000000;
padding: 2px 3px 2px 3px;
background-color: #FFFFE7;
color: #000000;
}
.tooltip > .popup-internal-box {
border: none;
}
.tooltip-label {
margin: 0px;
}
/* ::::: auto-repeat button ::::: */
autorepeatbutton {
margin: 1px 2px 2px 1px;
border: 1px solid transparent;
padding: 3px;
height: 1em;
text-align: center;
vertical-align: middle;
}
autorepeatbutton:hover {
margin: 1px;
border: 1px inset #A5B2C2;
padding: 4px 3px 3px 4px;
background-color: #A5B2C2;
}
.autorepeatbutton-up {
list-style-image: url("chrome://global/skin/arrow/arrow-up.gif")
}
.autorepeatbutton-down {
list-style-image: url("chrome://global/skin/arrow/arrow-dn.gif")
}

View File

@ -1,127 +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)
*/
/* ===== textfield.css ==================================================
== Styles used by the XUL textbox element.
======================================================================= */
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
/* ::::: textbox ::::: */
textbox {
cursor: text;
margin: 2px 4px;
background-color: #FFFFFF;
color: #000000;
font: inherit;
}
textbox,
textbox[readonly="true"][focused="true"] {
border-top: 1px solid #A8B5C6;
border-right: 1px solid #E2E8F0;
border-bottom: 1px solid #E2E8F0;
border-left: 1px solid #A8B5C6;
}
.textbox-internal-box,
.textarea-internal-box {
padding: 1px 0px 1px 2px;
}
.textbox-internal-box,
.textarea-internal-box,
textbox[readonly="true"][focused="true"] > .textbox-internal-box,
textbox[readonly="true"][focused="true"] > .textarea-internal-box {
border: 1px solid #757C8A;
}
.textbox-input,
.textbox-textarea {
margin: 0px !important;
border: none !important;
padding: 0px !important;
background-color: inherit;
color: inherit;
font: inherit;
}
/* ..... readonly state ..... */
textbox[readonly="true"] {
background-color: #B4C3D4;
}
/* ..... focused state ..... */
textbox[focused="true"] {
border: 1px solid #96A7BD;
}
textbox[focused="true"] > .textbox-internal-box,
textbox[focused="true"] > .textarea-internal-box {
border-color: #000000;
}
/* ..... disabled state ..... */
textbox[disabled="true"] > .textbox-internal-box {
background-color: #B4C3D4;
}
textbox[disabled="true"] {
cursor: default !important;
color: #85959E;
}
/* ::::: plain textbox ::::: */
textbox.plain,
textbox.plain > .textbox-internal-box,
textbox.plain > .textarea-internal-box {
margin: 0px !important;
border: none !important;
padding: 0px !important;
}
/* ::::: scrollable textbox ::::: */
.scrollfield {
margin: 1px 0px 0px 0px;
border: none !important;
background: inherit;
}
.scrollfield > .textbox-internal-box,
.scrollfield > .textarea-internal-box {
margin: 0px !important;
border: none !important;
padding: 0px !important;
}
/* ::::: autocomplete text field ::::: */
.textbox-popup > menuitem {
max-width: none !important;
}

View File

@ -1,4 +1,5 @@
modern.jar: modern.jar:
skin/modern/README
skin/modern/communicator/brand.css (communicator/brand.css) skin/modern/communicator/brand.css (communicator/brand.css)
skin/modern/communicator/button.css (communicator/button.css) skin/modern/communicator/button.css (communicator/button.css)
skin/modern/communicator/communicator.css (communicator/communicator.css) skin/modern/communicator/communicator.css (communicator/communicator.css)
@ -21,11 +22,9 @@ modern.jar:
skin/modern/communicator/bookmarks/location.gif (communicator/bookmarks/location.gif) skin/modern/communicator/bookmarks/location.gif (communicator/bookmarks/location.gif)
skin/modern/communicator/brand/brandBindings.xml (communicator/brand/brandBindings.xml) skin/modern/communicator/brand/brandBindings.xml (communicator/brand/brandBindings.xml)
skin/modern/communicator/brand/throbber-anim.gif (communicator/brand/throbber-anim.gif) skin/modern/communicator/brand/throbber-anim.gif (communicator/brand/throbber-anim.gif)
skin/modern/communicator/brand/throbber-groove-btm.gif (communicator/brand/throbber-groove-btm.gif)
skin/modern/communicator/brand/throbber-groove-lft.gif (communicator/brand/throbber-groove-lft.gif)
skin/modern/communicator/brand/throbber-groove-rit.gif (communicator/brand/throbber-groove-rit.gif)
skin/modern/communicator/brand/throbber-groove-top.gif (communicator/brand/throbber-groove-top.gif)
skin/modern/communicator/brand/throbber-single.gif (communicator/brand/throbber-single.gif) skin/modern/communicator/brand/throbber-single.gif (communicator/brand/throbber-single.gif)
skin/modern/communicator/brand/throbber25-anim.gif (communicator/brand/throbber25-anim.gif)
skin/modern/communicator/brand/throbber25-single.gif (communicator/brand/throbber25-single.gif)
skin/modern/communicator/btn1/print-act.gif (communicator/btn1/print-act.gif) skin/modern/communicator/btn1/print-act.gif (communicator/btn1/print-act.gif)
skin/modern/communicator/btn1/print-dis.gif (communicator/btn1/print-dis.gif) skin/modern/communicator/btn1/print-dis.gif (communicator/btn1/print-dis.gif)
skin/modern/communicator/btn1/print-hov.gif (communicator/btn1/print-hov.gif) skin/modern/communicator/btn1/print-hov.gif (communicator/btn1/print-hov.gif)
@ -62,25 +61,30 @@ modern.jar:
skin/modern/communicator/sidebar/customize.css (communicator/sidebar/customize.css) skin/modern/communicator/sidebar/customize.css (communicator/sidebar/customize.css)
skin/modern/communicator/sidebar/preview.css (communicator/sidebar/preview.css) skin/modern/communicator/sidebar/preview.css (communicator/sidebar/preview.css)
skin/modern/communicator/sidebar/sbpicker-arrow.gif (communicator/sidebar/sbpicker-arrow.gif) skin/modern/communicator/sidebar/sbpicker-arrow.gif (communicator/sidebar/sbpicker-arrow.gif)
skin/modern/communicator/sidebar/sbtab-dark.gif (communicator/sidebar/sbtab-dark.gif) skin/modern/communicator/sidebar/sbtab-dod-lftcap-act.gif (communicator/sidebar/sbtab-dod-lftcap-act.gif)
skin/modern/communicator/sidebar/sbtab-dod-lft.gif (communicator/sidebar/sbtab-dod-lft.gif) skin/modern/communicator/sidebar/sbtab-dod-lftcap.gif (communicator/sidebar/sbtab-dod-lftcap.gif)
skin/modern/communicator/sidebar/sbtab-dod-mid-act.gif (communicator/sidebar/sbtab-dod-mid-act.gif)
skin/modern/communicator/sidebar/sbtab-dod-mid.gif (communicator/sidebar/sbtab-dod-mid.gif)
skin/modern/communicator/sidebar/sbtab-dod-rit.gif (communicator/sidebar/sbtab-dod-rit.gif) skin/modern/communicator/sidebar/sbtab-dod-rit.gif (communicator/sidebar/sbtab-dod-rit.gif)
skin/modern/communicator/sidebar/sbtab-dol-lft.gif (communicator/sidebar/sbtab-dol-lft.gif) skin/modern/communicator/sidebar/sbtab-dod-ritcap-act.gif (communicator/sidebar/sbtab-dod-ritcap-act.gif)
skin/modern/communicator/sidebar/sbtab-dod-ritcap.gif (communicator/sidebar/sbtab-dod-ritcap.gif)
skin/modern/communicator/sidebar/sbtab-dol-lftcap-act.gif (communicator/sidebar/sbtab-dol-lftcap-act.gif)
skin/modern/communicator/sidebar/sbtab-dol-lftcap.gif (communicator/sidebar/sbtab-dol-lftcap.gif)
skin/modern/communicator/sidebar/sbtab-dol-mid-act.gif (communicator/sidebar/sbtab-dol-mid-act.gif)
skin/modern/communicator/sidebar/sbtab-dol-mid.gif (communicator/sidebar/sbtab-dol-mid.gif)
skin/modern/communicator/sidebar/sbtab-dol-rit.gif (communicator/sidebar/sbtab-dol-rit.gif) skin/modern/communicator/sidebar/sbtab-dol-rit.gif (communicator/sidebar/sbtab-dol-rit.gif)
skin/modern/communicator/sidebar/sbtab-light.gif (communicator/sidebar/sbtab-light.gif) skin/modern/communicator/sidebar/sbtab-dol-ritcap-act.gif (communicator/sidebar/sbtab-dol-ritcap-act.gif)
skin/modern/communicator/sidebar/sbtab-lod-lft.gif (communicator/sidebar/sbtab-lod-lft.gif) skin/modern/communicator/sidebar/sbtab-dol-ritcap.gif (communicator/sidebar/sbtab-dol-ritcap.gif)
skin/modern/communicator/sidebar/sbtab-lod-lftcap.gif (communicator/sidebar/sbtab-lod-lftcap.gif)
skin/modern/communicator/sidebar/sbtab-lod-mid.gif (communicator/sidebar/sbtab-lod-mid.gif)
skin/modern/communicator/sidebar/sbtab-lod-rit.gif (communicator/sidebar/sbtab-lod-rit.gif) skin/modern/communicator/sidebar/sbtab-lod-rit.gif (communicator/sidebar/sbtab-lod-rit.gif)
skin/modern/communicator/sidebar/sbtab-lod-ritcap.gif (communicator/sidebar/sbtab-lod-ritcap.gif)
skin/modern/communicator/sidebar/sidebar.css (communicator/sidebar/sidebar.css) skin/modern/communicator/sidebar/sidebar.css (communicator/sidebar/sidebar.css)
skin/modern/communicator/sidebar/sidebarBindings.xml (communicator/sidebar/sidebarBindings.xml) skin/modern/communicator/sidebar/sidebarBindings.xml (communicator/sidebar/sidebarBindings.xml)
skin/modern/communicator/taskbar/addressbook-act.gif (communicator/taskbar/addressbook-act.gif) skin/modern/communicator/taskbar/addressbook-act.gif (communicator/taskbar/addressbook-act.gif)
skin/modern/communicator/taskbar/addressbook.gif (communicator/taskbar/addressbook.gif) skin/modern/communicator/taskbar/addressbook.gif (communicator/taskbar/addressbook.gif)
skin/modern/communicator/taskbar/composer-act.gif (communicator/taskbar/composer-act.gif) skin/modern/communicator/taskbar/composer-act.gif (communicator/taskbar/composer-act.gif)
skin/modern/communicator/taskbar/composer.gif (communicator/taskbar/composer.gif) skin/modern/communicator/taskbar/composer.gif (communicator/taskbar/composer.gif)
skin/modern/communicator/taskbar/groove-lft-bg.gif (communicator/taskbar/groove-lft-bg.gif)
skin/modern/communicator/taskbar/groove-lft.gif (communicator/taskbar/groove-lft.gif)
skin/modern/communicator/taskbar/groove-mid.gif (communicator/taskbar/groove-mid.gif)
skin/modern/communicator/taskbar/groove-rit-bg.gif (communicator/taskbar/groove-rit-bg.gif)
skin/modern/communicator/taskbar/groove-rit.gif (communicator/taskbar/groove-rit.gif)
skin/modern/communicator/taskbar/mail-act.gif (communicator/taskbar/mail-act.gif) skin/modern/communicator/taskbar/mail-act.gif (communicator/taskbar/mail-act.gif)
skin/modern/communicator/taskbar/mail.gif (communicator/taskbar/mail.gif) skin/modern/communicator/taskbar/mail.gif (communicator/taskbar/mail.gif)
skin/modern/communicator/taskbar/mailnew-act.gif (communicator/taskbar/mailnew-act.gif) skin/modern/communicator/taskbar/mailnew-act.gif (communicator/taskbar/mailnew-act.gif)
@ -89,15 +93,10 @@ modern.jar:
skin/modern/communicator/taskbar/navigator.gif (communicator/taskbar/navigator.gif) skin/modern/communicator/taskbar/navigator.gif (communicator/taskbar/navigator.gif)
skin/modern/communicator/taskbar/popup-arrow.gif (communicator/taskbar/popup-arrow.gif) skin/modern/communicator/taskbar/popup-arrow.gif (communicator/taskbar/popup-arrow.gif)
skin/modern/communicator/taskbar/taskbarBindings.xml (communicator/taskbar/taskbarBindings.xml) skin/modern/communicator/taskbar/taskbarBindings.xml (communicator/taskbar/taskbarBindings.xml)
skin/modern/communicator/taskbar/tbar-mid.gif (communicator/taskbar/tbar-mid.gif) skin/modern/communicator/taskbar/tbar-lft.gif (communicator/taskbar/tbar-lft.gif)
skin/modern/communicator/taskbar/tbar-rit-btm.gif (communicator/taskbar/tbar-rit-btm.gif) skin/modern/communicator/taskbar/tbar-mb-lft.gif (communicator/taskbar/tbar-mb-lft.gif)
skin/modern/communicator/taskbar/tbar-rit-top.gif (communicator/taskbar/tbar-rit-top.gif) skin/modern/communicator/taskbar/tbar-mb-mid.gif (communicator/taskbar/tbar-mb-mid.gif)
skin/modern/communicator/toolbar/grip-prtb-btm-act.gif (communicator/toolbar/grip-prtb-btm-act.gif) skin/modern/communicator/taskbar/tbar-mb-rit.gif (communicator/taskbar/tbar-mb-rit.gif)
skin/modern/communicator/toolbar/grip-prtb-btm.gif (communicator/toolbar/grip-prtb-btm.gif)
skin/modern/communicator/toolbar/grip-prtb-mid-act.gif (communicator/toolbar/grip-prtb-mid-act.gif)
skin/modern/communicator/toolbar/grip-prtb-mid.gif (communicator/toolbar/grip-prtb-mid.gif)
skin/modern/communicator/toolbar/grip-prtb-top-act.gif (communicator/toolbar/grip-prtb-top-act.gif)
skin/modern/communicator/toolbar/grip-prtb-top.gif (communicator/toolbar/grip-prtb-top.gif)
skin/modern/communicator/toolbar/mbtn-tb-arrow-act.gif (communicator/toolbar/mbtn-tb-arrow-act.gif) skin/modern/communicator/toolbar/mbtn-tb-arrow-act.gif (communicator/toolbar/mbtn-tb-arrow-act.gif)
skin/modern/communicator/toolbar/mbtn-tb-arrow-dis.gif (communicator/toolbar/mbtn-tb-arrow-dis.gif) skin/modern/communicator/toolbar/mbtn-tb-arrow-dis.gif (communicator/toolbar/mbtn-tb-arrow-dis.gif)
skin/modern/communicator/toolbar/mbtn-tb-arrow-hov.gif (communicator/toolbar/mbtn-tb-arrow-hov.gif) skin/modern/communicator/toolbar/mbtn-tb-arrow-hov.gif (communicator/toolbar/mbtn-tb-arrow-hov.gif)
@ -106,16 +105,17 @@ modern.jar:
skin/modern/communicator/toolbar/mbtn1-arrow-hov.gif (communicator/toolbar/mbtn1-arrow-hov.gif) skin/modern/communicator/toolbar/mbtn1-arrow-hov.gif (communicator/toolbar/mbtn1-arrow-hov.gif)
skin/modern/communicator/toolbar/mbtn1-arrow.gif (communicator/toolbar/mbtn1-arrow.gif) skin/modern/communicator/toolbar/mbtn1-arrow.gif (communicator/toolbar/mbtn1-arrow.gif)
skin/modern/communicator/toolbar/mbtn4-arrow-up.gif (communicator/toolbar/mbtn4-arrow-up.gif) skin/modern/communicator/toolbar/mbtn4-arrow-up.gif (communicator/toolbar/mbtn4-arrow-up.gif)
skin/modern/communicator/toolbar/prtb-lft-btm.gif (communicator/toolbar/prtb-lft-btm.gif) skin/modern/communicator/toolbar/prtb-grip-top.gif (communicator/toolbar/prtb-grip-top.gif)
skin/modern/communicator/toolbar/prtb-lft-mid.gif (communicator/toolbar/prtb-lft-mid.gif) skin/modern/communicator/toolbar/prtb-grip-mid.gif (communicator/toolbar/prtb-grip-mid.gif)
skin/modern/communicator/toolbar/prtb-lft-top.gif (communicator/toolbar/prtb-lft-top.gif) skin/modern/communicator/toolbar/prtb-grip-btm.gif (communicator/toolbar/prtb-grip-btm.gif)
skin/modern/communicator/toolbar/prtb-grip-top-act.gif (communicator/toolbar/prtb-grip-top-act.gif)
skin/modern/communicator/toolbar/prtb-grip-mid-act.gif (communicator/toolbar/prtb-grip-mid-act.gif)
skin/modern/communicator/toolbar/prtb-grip-btm-act.gif (communicator/toolbar/prtb-grip-btm-act.gif)
skin/modern/communicator/toolbar/prtb-mid-btm.gif (communicator/toolbar/prtb-mid-btm.gif) skin/modern/communicator/toolbar/prtb-mid-btm.gif (communicator/toolbar/prtb-mid-btm.gif)
skin/modern/communicator/toolbar/prtb-mid-mid.gif (communicator/toolbar/prtb-mid-mid.gif)
skin/modern/communicator/toolbar/prtb-mid-top.gif (communicator/toolbar/prtb-mid-top.gif) skin/modern/communicator/toolbar/prtb-mid-top.gif (communicator/toolbar/prtb-mid-top.gif)
skin/modern/communicator/toolbar/prtb-rit-btm.gif (communicator/toolbar/prtb-rit-btm.gif) skin/modern/communicator/toolbar/prtb-rit-btm.gif (communicator/toolbar/prtb-rit-btm.gif)
skin/modern/communicator/toolbar/prtb-rit-mid.gif (communicator/toolbar/prtb-rit-mid.gif) skin/modern/communicator/toolbar/prtb-rit-mid.gif (communicator/toolbar/prtb-rit-mid.gif)
skin/modern/communicator/toolbar/prtb-rit-top.gif (communicator/toolbar/prtb-rit-top.gif) skin/modern/communicator/toolbar/prtb-rit-top.gif (communicator/toolbar/prtb-rit-top.gif)
skin/modern/communicator/toolbar/separator-prtb.gif (communicator/toolbar/separator-prtb.gif)
skin/modern/communicator/toolbar/toolbarBindings.xml (communicator/toolbar/toolbarBindings.xml) skin/modern/communicator/toolbar/toolbarBindings.xml (communicator/toolbar/toolbarBindings.xml)
skin/modern/communicator/xpinstall/xpinstall.css (communicator/xpinstall/xpinstall.css) skin/modern/communicator/xpinstall/xpinstall.css (communicator/xpinstall/xpinstall.css)
skin/modern/editor/contents.rdf (editor/contents.rdf) skin/modern/editor/contents.rdf (editor/contents.rdf)
@ -257,10 +257,6 @@ modern.jar:
skin/modern/editor/btn2/underline-dis.gif (editor/btn2/underline-dis.gif) skin/modern/editor/btn2/underline-dis.gif (editor/btn2/underline-dis.gif)
skin/modern/editor/btn2/underline-hov.gif (editor/btn2/underline-hov.gif) skin/modern/editor/btn2/underline-hov.gif (editor/btn2/underline-hov.gif)
skin/modern/editor/btn2/underline.gif (editor/btn2/underline.gif) skin/modern/editor/btn2/underline.gif (editor/btn2/underline.gif)
skin/modern/editor/icons/align-act.gif (editor/icons/align-act.gif)
skin/modern/editor/icons/align-dis.gif (editor/icons/align-dis.gif)
skin/modern/editor/icons/align-hov.gif (editor/icons/align-hov.gif)
skin/modern/editor/icons/align.gif (editor/icons/align.gif)
skin/modern/editor/icons/editmode-html.gif (editor/icons/editmode-html.gif) skin/modern/editor/icons/editmode-html.gif (editor/icons/editmode-html.gif)
skin/modern/editor/icons/editmode-normal.gif (editor/icons/editmode-normal.gif) skin/modern/editor/icons/editmode-normal.gif (editor/icons/editmode-normal.gif)
skin/modern/editor/icons/editmode-preview.gif (editor/icons/editmode-preview.gif) skin/modern/editor/icons/editmode-preview.gif (editor/icons/editmode-preview.gif)
@ -270,17 +266,18 @@ modern.jar:
skin/modern/editor/icons/img-align-mid.gif (editor/icons/img-align-mid.gif) skin/modern/editor/icons/img-align-mid.gif (editor/icons/img-align-mid.gif)
skin/modern/editor/icons/img-align-rit.gif (editor/icons/img-align-rit.gif) skin/modern/editor/icons/img-align-rit.gif (editor/icons/img-align-rit.gif)
skin/modern/editor/icons/img-align-top.gif (editor/icons/img-align-top.gif) skin/modern/editor/icons/img-align-top.gif (editor/icons/img-align-top.gif)
skin/modern/editor/icons/smiley/embarrassed_n.gif (editor/icons/smiley/embarrassed_n.gif)
skin/modern/editor/icons/smiley/frown.gif (editor/icons/smiley/frown.gif) skin/modern/editor/icons/smiley/frown.gif (editor/icons/smiley/frown.gif)
skin/modern/editor/icons/smiley/frown_n.gif (editor/icons/smiley/frown_n.gif)
skin/modern/editor/icons/smiley/laughing_n.gif (editor/icons/smiley/laughing_n.gif)
skin/modern/editor/icons/smiley/sick.gif (editor/icons/smiley/sick.gif) skin/modern/editor/icons/smiley/sick.gif (editor/icons/smiley/sick.gif)
skin/modern/editor/icons/smiley/smile.gif (editor/icons/smiley/smile.gif) skin/modern/editor/icons/smiley/smile.gif (editor/icons/smiley/smile.gif)
skin/modern/editor/icons/smiley/wink.gif (editor/icons/smiley/wink.gif)
skin/modern/editor/icons/smiley/smile_n.gif (editor/icons/smiley/smile_n.gif) skin/modern/editor/icons/smiley/smile_n.gif (editor/icons/smiley/smile_n.gif)
skin/modern/editor/icons/smiley/frown_n.gif (editor/icons/smiley/frown_n.gif)
skin/modern/editor/icons/smiley/wink_n.gif (editor/icons/smiley/wink_n.gif)
skin/modern/editor/icons/smiley/tongue_n.gif (editor/icons/smiley/tongue_n.gif) skin/modern/editor/icons/smiley/tongue_n.gif (editor/icons/smiley/tongue_n.gif)
skin/modern/editor/icons/smiley/laughing_n.gif (editor/icons/smiley/laughing_n.gif)
skin/modern/editor/icons/smiley/embarrassed_n.gif (editor/icons/smiley/embarrassed_n.gif)
skin/modern/editor/icons/smiley/undecided_n.gif (editor/icons/smiley/undecided_n.gif) skin/modern/editor/icons/smiley/undecided_n.gif (editor/icons/smiley/undecided_n.gif)
skin/modern/editor/icons/smiley/wink.gif (editor/icons/smiley/wink.gif)
skin/modern/editor/icons/smiley/wink_n.gif (editor/icons/smiley/wink_n.gif)
skin/modern/global/autocomplete.css (global/autocomplete.css)
skin/modern/global/box.css (global/box.css) skin/modern/global/box.css (global/box.css)
skin/modern/global/button.css (global/button.css) skin/modern/global/button.css (global/button.css)
skin/modern/global/checkbox.css (global/checkbox.css) skin/modern/global/checkbox.css (global/checkbox.css)
@ -317,7 +314,6 @@ modern.jar:
skin/modern/global/button/btn-act-lft-mid.gif (global/button/btn-act-lft-mid.gif) skin/modern/global/button/btn-act-lft-mid.gif (global/button/btn-act-lft-mid.gif)
skin/modern/global/button/btn-act-lft-top.gif (global/button/btn-act-lft-top.gif) skin/modern/global/button/btn-act-lft-top.gif (global/button/btn-act-lft-top.gif)
skin/modern/global/button/btn-act-mid-btm.gif (global/button/btn-act-mid-btm.gif) skin/modern/global/button/btn-act-mid-btm.gif (global/button/btn-act-mid-btm.gif)
skin/modern/global/button/btn-act-mid-mid.gif (global/button/btn-act-mid-mid.gif)
skin/modern/global/button/btn-act-mid-top.gif (global/button/btn-act-mid-top.gif) skin/modern/global/button/btn-act-mid-top.gif (global/button/btn-act-mid-top.gif)
skin/modern/global/button/btn-act-rit-btm.gif (global/button/btn-act-rit-btm.gif) skin/modern/global/button/btn-act-rit-btm.gif (global/button/btn-act-rit-btm.gif)
skin/modern/global/button/btn-act-rit-mid.gif (global/button/btn-act-rit-mid.gif) skin/modern/global/button/btn-act-rit-mid.gif (global/button/btn-act-rit-mid.gif)
@ -326,7 +322,6 @@ modern.jar:
skin/modern/global/button/btn-def-act-lft-mid.gif (global/button/btn-def-act-lft-mid.gif) skin/modern/global/button/btn-def-act-lft-mid.gif (global/button/btn-def-act-lft-mid.gif)
skin/modern/global/button/btn-def-act-lft-top.gif (global/button/btn-def-act-lft-top.gif) skin/modern/global/button/btn-def-act-lft-top.gif (global/button/btn-def-act-lft-top.gif)
skin/modern/global/button/btn-def-act-mid-btm.gif (global/button/btn-def-act-mid-btm.gif) skin/modern/global/button/btn-def-act-mid-btm.gif (global/button/btn-def-act-mid-btm.gif)
skin/modern/global/button/btn-def-act-mid-mid.gif (global/button/btn-def-act-mid-mid.gif)
skin/modern/global/button/btn-def-act-mid-top.gif (global/button/btn-def-act-mid-top.gif) skin/modern/global/button/btn-def-act-mid-top.gif (global/button/btn-def-act-mid-top.gif)
skin/modern/global/button/btn-def-act-rit-btm.gif (global/button/btn-def-act-rit-btm.gif) skin/modern/global/button/btn-def-act-rit-btm.gif (global/button/btn-def-act-rit-btm.gif)
skin/modern/global/button/btn-def-act-rit-mid.gif (global/button/btn-def-act-rit-mid.gif) skin/modern/global/button/btn-def-act-rit-mid.gif (global/button/btn-def-act-rit-mid.gif)
@ -335,7 +330,6 @@ modern.jar:
skin/modern/global/button/btn-def-lft-mid.gif (global/button/btn-def-lft-mid.gif) skin/modern/global/button/btn-def-lft-mid.gif (global/button/btn-def-lft-mid.gif)
skin/modern/global/button/btn-def-lft-top.gif (global/button/btn-def-lft-top.gif) skin/modern/global/button/btn-def-lft-top.gif (global/button/btn-def-lft-top.gif)
skin/modern/global/button/btn-def-mid-btm.gif (global/button/btn-def-mid-btm.gif) skin/modern/global/button/btn-def-mid-btm.gif (global/button/btn-def-mid-btm.gif)
skin/modern/global/button/btn-def-mid-mid.gif (global/button/btn-def-mid-mid.gif)
skin/modern/global/button/btn-def-mid-top.gif (global/button/btn-def-mid-top.gif) skin/modern/global/button/btn-def-mid-top.gif (global/button/btn-def-mid-top.gif)
skin/modern/global/button/btn-def-rit-btm.gif (global/button/btn-def-rit-btm.gif) skin/modern/global/button/btn-def-rit-btm.gif (global/button/btn-def-rit-btm.gif)
skin/modern/global/button/btn-def-rit-mid.gif (global/button/btn-def-rit-mid.gif) skin/modern/global/button/btn-def-rit-mid.gif (global/button/btn-def-rit-mid.gif)
@ -344,7 +338,6 @@ modern.jar:
skin/modern/global/button/btn-dis-lft-mid.gif (global/button/btn-dis-lft-mid.gif) skin/modern/global/button/btn-dis-lft-mid.gif (global/button/btn-dis-lft-mid.gif)
skin/modern/global/button/btn-dis-lft-top.gif (global/button/btn-dis-lft-top.gif) skin/modern/global/button/btn-dis-lft-top.gif (global/button/btn-dis-lft-top.gif)
skin/modern/global/button/btn-dis-mid-btm.gif (global/button/btn-dis-mid-btm.gif) skin/modern/global/button/btn-dis-mid-btm.gif (global/button/btn-dis-mid-btm.gif)
skin/modern/global/button/btn-dis-mid-mid.gif (global/button/btn-dis-mid-mid.gif)
skin/modern/global/button/btn-dis-mid-top.gif (global/button/btn-dis-mid-top.gif) skin/modern/global/button/btn-dis-mid-top.gif (global/button/btn-dis-mid-top.gif)
skin/modern/global/button/btn-dis-rit-btm.gif (global/button/btn-dis-rit-btm.gif) skin/modern/global/button/btn-dis-rit-btm.gif (global/button/btn-dis-rit-btm.gif)
skin/modern/global/button/btn-dis-rit-mid.gif (global/button/btn-dis-rit-mid.gif) skin/modern/global/button/btn-dis-rit-mid.gif (global/button/btn-dis-rit-mid.gif)
@ -353,7 +346,6 @@ modern.jar:
skin/modern/global/button/btn-lft-mid.gif (global/button/btn-lft-mid.gif) skin/modern/global/button/btn-lft-mid.gif (global/button/btn-lft-mid.gif)
skin/modern/global/button/btn-lft-top.gif (global/button/btn-lft-top.gif) skin/modern/global/button/btn-lft-top.gif (global/button/btn-lft-top.gif)
skin/modern/global/button/btn-mid-btm.gif (global/button/btn-mid-btm.gif) skin/modern/global/button/btn-mid-btm.gif (global/button/btn-mid-btm.gif)
skin/modern/global/button/btn-mid-mid.gif (global/button/btn-mid-mid.gif)
skin/modern/global/button/btn-mid-top.gif (global/button/btn-mid-top.gif) skin/modern/global/button/btn-mid-top.gif (global/button/btn-mid-top.gif)
skin/modern/global/button/btn-rit-btm.gif (global/button/btn-rit-btm.gif) skin/modern/global/button/btn-rit-btm.gif (global/button/btn-rit-btm.gif)
skin/modern/global/button/btn-rit-mid.gif (global/button/btn-rit-mid.gif) skin/modern/global/button/btn-rit-mid.gif (global/button/btn-rit-mid.gif)
@ -373,12 +365,13 @@ modern.jar:
skin/modern/global/icons/alert-exclam.gif (global/icons/alert-exclam.gif) skin/modern/global/icons/alert-exclam.gif (global/icons/alert-exclam.gif)
skin/modern/global/icons/alert-message.gif (global/icons/alert-message.gif) skin/modern/global/icons/alert-message.gif (global/icons/alert-message.gif)
skin/modern/global/icons/alert-question.gif (global/icons/alert-question.gif) skin/modern/global/icons/alert-question.gif (global/icons/alert-question.gif)
skin/modern/global/menu/grip-mbar-btm-act.gif (global/menu/grip-mbar-btm-act.gif) skin/modern/global/menu/mbgrip-btm-act.gif (global/menu/mbgrip-btm-act.gif)
skin/modern/global/menu/grip-mbar-btm.gif (global/menu/grip-mbar-btm.gif) skin/modern/global/menu/mbgrip-btm.gif (global/menu/mbgrip-btm.gif)
skin/modern/global/menu/grip-mbar-mid-act.gif (global/menu/grip-mbar-mid-act.gif) skin/modern/global/menu/mbgrip-mid-act.gif (global/menu/mbgrip-mid-act.gif)
skin/modern/global/menu/grip-mbar-mid.gif (global/menu/grip-mbar-mid.gif) skin/modern/global/menu/mbgrip-mid.gif (global/menu/mbgrip-mid.gif)
skin/modern/global/menu/grip-mbar-top-act.gif (global/menu/grip-mbar-top-act.gif) skin/modern/global/menu/mbgrip-top-act.gif (global/menu/mbgrip-top-act.gif)
skin/modern/global/menu/grip-mbar-top.gif (global/menu/grip-mbar-top.gif) skin/modern/global/menu/mbgrip-top.gif (global/menu/mbgrip-top.gif)
skin/modern/global/menu/mbar-btm.gif (global/menu/mbar-btm.gif)
skin/modern/global/menu/menu-arrow-dis.gif (global/menu/menu-arrow-dis.gif) skin/modern/global/menu/menu-arrow-dis.gif (global/menu/menu-arrow-dis.gif)
skin/modern/global/menu/menu-arrow-hov.gif (global/menu/menu-arrow-hov.gif) skin/modern/global/menu/menu-arrow-hov.gif (global/menu/menu-arrow-hov.gif)
skin/modern/global/menu/menu-arrow.gif (global/menu/menu-arrow.gif) skin/modern/global/menu/menu-arrow.gif (global/menu/menu-arrow.gif)
@ -388,11 +381,11 @@ modern.jar:
skin/modern/global/menu/menu-radio-dis.gif (global/menu/menu-radio-dis.gif) skin/modern/global/menu/menu-radio-dis.gif (global/menu/menu-radio-dis.gif)
skin/modern/global/menu/menu-radio-hov.gif (global/menu/menu-radio-hov.gif) skin/modern/global/menu/menu-radio-hov.gif (global/menu/menu-radio-hov.gif)
skin/modern/global/menu/menu-radio.gif (global/menu/menu-radio.gif) skin/modern/global/menu/menu-radio.gif (global/menu/menu-radio.gif)
skin/modern/global/menulist/mlist-act-arrow.gif (global/menulist/mlist-act-arrow.gif)
skin/modern/global/menulist/mlist-act-lft-btm.gif (global/menulist/mlist-act-lft-btm.gif) skin/modern/global/menulist/mlist-act-lft-btm.gif (global/menulist/mlist-act-lft-btm.gif)
skin/modern/global/menulist/mlist-act-lft-mid.gif (global/menulist/mlist-act-lft-mid.gif) skin/modern/global/menulist/mlist-act-lft-mid.gif (global/menulist/mlist-act-lft-mid.gif)
skin/modern/global/menulist/mlist-act-lft-top.gif (global/menulist/mlist-act-lft-top.gif) skin/modern/global/menulist/mlist-act-lft-top.gif (global/menulist/mlist-act-lft-top.gif)
skin/modern/global/menulist/mlist-act-mid-btm.gif (global/menulist/mlist-act-mid-btm.gif) skin/modern/global/menulist/mlist-act-mid-btm.gif (global/menulist/mlist-act-mid-btm.gif)
skin/modern/global/menulist/mlist-act-mid-mid.gif (global/menulist/mlist-act-mid-mid.gif)
skin/modern/global/menulist/mlist-act-mid-top.gif (global/menulist/mlist-act-mid-top.gif) skin/modern/global/menulist/mlist-act-mid-top.gif (global/menulist/mlist-act-mid-top.gif)
skin/modern/global/menulist/mlist-act-rit-btm.gif (global/menulist/mlist-act-rit-btm.gif) skin/modern/global/menulist/mlist-act-rit-btm.gif (global/menulist/mlist-act-rit-btm.gif)
skin/modern/global/menulist/mlist-act-rit-mid.gif (global/menulist/mlist-act-rit-mid.gif) skin/modern/global/menulist/mlist-act-rit-mid.gif (global/menulist/mlist-act-rit-mid.gif)
@ -404,7 +397,6 @@ modern.jar:
skin/modern/global/menulist/mlist-dis-lft-mid.gif (global/menulist/mlist-dis-lft-mid.gif) skin/modern/global/menulist/mlist-dis-lft-mid.gif (global/menulist/mlist-dis-lft-mid.gif)
skin/modern/global/menulist/mlist-dis-lft-top.gif (global/menulist/mlist-dis-lft-top.gif) skin/modern/global/menulist/mlist-dis-lft-top.gif (global/menulist/mlist-dis-lft-top.gif)
skin/modern/global/menulist/mlist-dis-mid-btm.gif (global/menulist/mlist-dis-mid-btm.gif) skin/modern/global/menulist/mlist-dis-mid-btm.gif (global/menulist/mlist-dis-mid-btm.gif)
skin/modern/global/menulist/mlist-dis-mid-mid.gif (global/menulist/mlist-dis-mid-mid.gif)
skin/modern/global/menulist/mlist-dis-mid-top.gif (global/menulist/mlist-dis-mid-top.gif) skin/modern/global/menulist/mlist-dis-mid-top.gif (global/menulist/mlist-dis-mid-top.gif)
skin/modern/global/menulist/mlist-dis-rit-btm.gif (global/menulist/mlist-dis-rit-btm.gif) skin/modern/global/menulist/mlist-dis-rit-btm.gif (global/menulist/mlist-dis-rit-btm.gif)
skin/modern/global/menulist/mlist-dis-rit-mid.gif (global/menulist/mlist-dis-rit-mid.gif) skin/modern/global/menulist/mlist-dis-rit-mid.gif (global/menulist/mlist-dis-rit-mid.gif)
@ -413,7 +405,6 @@ modern.jar:
skin/modern/global/menulist/mlist-lft-mid.gif (global/menulist/mlist-lft-mid.gif) skin/modern/global/menulist/mlist-lft-mid.gif (global/menulist/mlist-lft-mid.gif)
skin/modern/global/menulist/mlist-lft-top.gif (global/menulist/mlist-lft-top.gif) skin/modern/global/menulist/mlist-lft-top.gif (global/menulist/mlist-lft-top.gif)
skin/modern/global/menulist/mlist-mid-btm.gif (global/menulist/mlist-mid-btm.gif) skin/modern/global/menulist/mlist-mid-btm.gif (global/menulist/mlist-mid-btm.gif)
skin/modern/global/menulist/mlist-mid-mid.gif (global/menulist/mlist-mid-mid.gif)
skin/modern/global/menulist/mlist-mid-top.gif (global/menulist/mlist-mid-top.gif) skin/modern/global/menulist/mlist-mid-top.gif (global/menulist/mlist-mid-top.gif)
skin/modern/global/menulist/mlist-rit-btm.gif (global/menulist/mlist-rit-btm.gif) skin/modern/global/menulist/mlist-rit-btm.gif (global/menulist/mlist-rit-btm.gif)
skin/modern/global/menulist/mlist-rit-mid.gif (global/menulist/mlist-rit-mid.gif) skin/modern/global/menulist/mlist-rit-mid.gif (global/menulist/mlist-rit-mid.gif)
@ -459,44 +450,60 @@ modern.jar:
skin/modern/global/splitter/grip-vrt-act.gif (global/splitter/grip-vrt-act.gif) skin/modern/global/splitter/grip-vrt-act.gif (global/splitter/grip-vrt-act.gif)
skin/modern/global/splitter/grip-vrt-after.gif (global/splitter/grip-vrt-after.gif) skin/modern/global/splitter/grip-vrt-after.gif (global/splitter/grip-vrt-after.gif)
skin/modern/global/splitter/grip-vrt-before.gif (global/splitter/grip-vrt-before.gif) skin/modern/global/splitter/grip-vrt-before.gif (global/splitter/grip-vrt-before.gif)
skin/modern/global/splitter/splitter-hrz-mid.gif (global/splitter/splitter-hrz-mid.gif)
skin/modern/global/splitter/splitter-vrt-mid.gif (global/splitter/splitter-vrt-mid.gif)
skin/modern/global/tabcontrol/tab-act-lft-mid.gif (global/tabcontrol/tab-act-lft-mid.gif) skin/modern/global/tabcontrol/tab-act-lft-mid.gif (global/tabcontrol/tab-act-lft-mid.gif)
skin/modern/global/tabcontrol/tab-act-lft.gif (global/tabcontrol/tab-act-lft.gif) skin/modern/global/tabcontrol/tab-act-lft-top.gif (global/tabcontrol/tab-act-lft-top.gif)
skin/modern/global/tabcontrol/tab-act-mid.gif (global/tabcontrol/tab-act-mid.gif) skin/modern/global/tabcontrol/tab-act-mid-top.gif (global/tabcontrol/tab-act-mid-top.gif)
skin/modern/global/tabcontrol/tab-act-rit-mid.gif (global/tabcontrol/tab-act-rit-mid.gif) skin/modern/global/tabcontrol/tab-act-rit-mid.gif (global/tabcontrol/tab-act-rit-mid.gif)
skin/modern/global/tabcontrol/tab-act-rit.gif (global/tabcontrol/tab-act-rit.gif) skin/modern/global/tabcontrol/tab-act-rit-top.gif (global/tabcontrol/tab-act-rit-top.gif)
skin/modern/global/tabcontrol/tab-bot-act-lft.gif (global/tabcontrol/tab-bot-act-lft.gif) skin/modern/global/tabcontrol/tab-bot-act-lft-mid.gif (global/tabcontrol/tab-bot-act-lft-mid.gif)
skin/modern/global/tabcontrol/tab-bot-act-mid.gif (global/tabcontrol/tab-bot-act-mid.gif) skin/modern/global/tabcontrol/tab-bot-act-lft-top.gif (global/tabcontrol/tab-bot-act-lft-top.gif)
skin/modern/global/tabcontrol/tab-bot-act-rit.gif (global/tabcontrol/tab-bot-act-rit.gif) skin/modern/global/tabcontrol/tab-bot-act-mid-top.gif (global/tabcontrol/tab-bot-act-mid-top.gif)
skin/modern/global/tabcontrol/tab-bot-sel-lft.gif (global/tabcontrol/tab-bot-sel-lft.gif) skin/modern/global/tabcontrol/tab-bot-act-rit-mid.gif (global/tabcontrol/tab-bot-act-rit-mid.gif)
skin/modern/global/tabcontrol/tab-bot-sel-mid.gif (global/tabcontrol/tab-bot-sel-mid.gif) skin/modern/global/tabcontrol/tab-bot-act-rit-top.gif (global/tabcontrol/tab-bot-act-rit-top.gif)
skin/modern/global/tabcontrol/tab-bot-sel-rit.gif (global/tabcontrol/tab-bot-sel-rit.gif) skin/modern/global/tabcontrol/tab-bot-sel-lft-btm.gif (global/tabcontrol/tab-bot-sel-lft-btm.gif)
skin/modern/global/tabcontrol/tab-bot-usel-lft.gif (global/tabcontrol/tab-bot-usel-lft.gif) skin/modern/global/tabcontrol/tab-bot-sel-lft-mid.gif (global/tabcontrol/tab-bot-sel-lft-mid.gif)
skin/modern/global/tabcontrol/tab-bot-usel-mid.gif (global/tabcontrol/tab-bot-usel-mid.gif) skin/modern/global/tabcontrol/tab-bot-sel-lft-top.gif (global/tabcontrol/tab-bot-sel-lft-top.gif)
skin/modern/global/tabcontrol/tab-bot-usel-rit.gif (global/tabcontrol/tab-bot-usel-rit.gif) skin/modern/global/tabcontrol/tab-bot-sel-mid-top.gif (global/tabcontrol/tab-bot-sel-mid-top.gif)
skin/modern/global/tabcontrol/tab-bot-sel-rit-btm.gif (global/tabcontrol/tab-bot-sel-rit-btm.gif)
skin/modern/global/tabcontrol/tab-bot-sel-rit-mid.gif (global/tabcontrol/tab-bot-sel-rit-mid.gif)
skin/modern/global/tabcontrol/tab-bot-sel-rit-top.gif (global/tabcontrol/tab-bot-sel-rit-top.gif)
skin/modern/global/tabcontrol/tab-bot-usel-lft-btm.gif (global/tabcontrol/tab-bot-usel-lft-btm.gif)
skin/modern/global/tabcontrol/tab-bot-usel-lft-top.gif (global/tabcontrol/tab-bot-usel-lft-top.gif)
skin/modern/global/tabcontrol/tab-bot-usel-mid-btm.gif (global/tabcontrol/tab-bot-usel-mid-btm.gif)
skin/modern/global/tabcontrol/tab-bot-usel-mid-top.gif (global/tabcontrol/tab-bot-usel-mid-top.gif)
skin/modern/global/tabcontrol/tab-bot-usel-rit-btm.gif (global/tabcontrol/tab-bot-usel-rit-btm.gif)
skin/modern/global/tabcontrol/tab-bot-usel-rit-top.gif (global/tabcontrol/tab-bot-usel-rit-top.gif)
skin/modern/global/tabcontrol/tab-sel-lft-btm.gif (global/tabcontrol/tab-sel-lft-btm.gif) skin/modern/global/tabcontrol/tab-sel-lft-btm.gif (global/tabcontrol/tab-sel-lft-btm.gif)
skin/modern/global/tabcontrol/tab-sel-lft.gif (global/tabcontrol/tab-sel-lft.gif) skin/modern/global/tabcontrol/tab-sel-lft-mid.gif (global/tabcontrol/tab-sel-lft-mid.gif)
skin/modern/global/tabcontrol/tab-sel-mid.gif (global/tabcontrol/tab-sel-mid.gif) skin/modern/global/tabcontrol/tab-sel-lft-top.gif (global/tabcontrol/tab-sel-lft-top.gif)
skin/modern/global/tabcontrol/tab-sel-mid-top.gif (global/tabcontrol/tab-sel-mid-top.gif)
skin/modern/global/tabcontrol/tab-sel-rit-btm.gif (global/tabcontrol/tab-sel-rit-btm.gif) skin/modern/global/tabcontrol/tab-sel-rit-btm.gif (global/tabcontrol/tab-sel-rit-btm.gif)
skin/modern/global/tabcontrol/tab-sel-rit-mid.gif (global/tabcontrol/tab-sel-rit-mid.gif) skin/modern/global/tabcontrol/tab-sel-rit-mid.gif (global/tabcontrol/tab-sel-rit-mid.gif)
skin/modern/global/tabcontrol/tab-sel-rit.gif (global/tabcontrol/tab-sel-rit.gif) skin/modern/global/tabcontrol/tab-sel-rit-top.gif (global/tabcontrol/tab-sel-rit-top.gif)
skin/modern/global/tabcontrol/tab-usel-lft.gif (global/tabcontrol/tab-usel-lft.gif) skin/modern/global/tabcontrol/tab-usel-lft-btm.gif (global/tabcontrol/tab-usel-lft-btm.gif)
skin/modern/global/tabcontrol/tab-usel-mid.gif (global/tabcontrol/tab-usel-mid.gif) skin/modern/global/tabcontrol/tab-usel-lft-mid.gif (global/tabcontrol/tab-usel-lft-mid.gif)
skin/modern/global/tabcontrol/tab-usel-lft-top.gif (global/tabcontrol/tab-usel-lft-top.gif)
skin/modern/global/tabcontrol/tab-usel-mid-btm.gif (global/tabcontrol/tab-usel-mid-btm.gif)
skin/modern/global/tabcontrol/tab-usel-mid-top.gif (global/tabcontrol/tab-usel-mid-top.gif)
skin/modern/global/tabcontrol/tab-usel-rit-btm.gif (global/tabcontrol/tab-usel-rit-btm.gif)
skin/modern/global/tabcontrol/tab-usel-rit-mid.gif (global/tabcontrol/tab-usel-rit-mid.gif) skin/modern/global/tabcontrol/tab-usel-rit-mid.gif (global/tabcontrol/tab-usel-rit-mid.gif)
skin/modern/global/tabcontrol/tab-usel-rit.gif (global/tabcontrol/tab-usel-rit.gif) skin/modern/global/tabcontrol/tab-usel-rit-top.gif (global/tabcontrol/tab-usel-rit-top.gif)
skin/modern/global/tabcontrol/tabbox-bot-lft.gif (global/tabcontrol/tabbox-bot-lft.gif)
skin/modern/global/tabcontrol/tabbox-bot-mid.gif (global/tabcontrol/tabbox-bot-mid.gif) skin/modern/global/tabcontrol/tabbox-bot-mid.gif (global/tabcontrol/tabbox-bot-mid.gif)
skin/modern/global/tabcontrol/tabbox-bot-rit.gif (global/tabcontrol/tabbox-bot-rit.gif)
skin/modern/global/tabcontrol/tabbox-lft.gif (global/tabcontrol/tabbox-lft.gif) skin/modern/global/tabcontrol/tabbox-lft.gif (global/tabcontrol/tabbox-lft.gif)
skin/modern/global/tabcontrol/tabbox-mid.gif (global/tabcontrol/tabbox-mid.gif) skin/modern/global/tabcontrol/tabbox-mid.gif (global/tabcontrol/tabbox-mid.gif)
skin/modern/global/tabcontrol/tabbox-rit.gif (global/tabcontrol/tabbox-rit.gif) skin/modern/global/tabcontrol/tabbox-rit.gif (global/tabcontrol/tabbox-rit.gif)
skin/modern/global/toolbar/tbgrip-act-btm.gif (global/toolbar/tbgrip-act-btm.gif) skin/modern/global/toolbar/tb-separator.gif (global/toolbar/tb-separator.gif)
skin/modern/global/toolbar/tbgrip-act-mid.gif (global/toolbar/tbgrip-act-mid.gif) skin/modern/global/toolbar/tbgrip-btm-act.gif (global/toolbar/tbgrip-btm-act.gif)
skin/modern/global/toolbar/tbgrip-act-top.gif (global/toolbar/tbgrip-act-top.gif) skin/modern/global/toolbar/tbgrip-mid-act.gif (global/toolbar/tbgrip-mid-act.gif)
skin/modern/global/toolbar/tbgrip-top-act.gif (global/toolbar/tbgrip-top-act.gif)
skin/modern/global/toolbar/tbgrip-btm.gif (global/toolbar/tbgrip-btm.gif) skin/modern/global/toolbar/tbgrip-btm.gif (global/toolbar/tbgrip-btm.gif)
skin/modern/global/toolbar/tbgrip-clps-act.gif (global/toolbar/tbgrip-clps-act.gif) skin/modern/global/toolbar/tbgrip-clps-act.gif (global/toolbar/tbgrip-clps-act.gif)
skin/modern/global/toolbar/tbgrip-clps.gif (global/toolbar/tbgrip-clps.gif) skin/modern/global/toolbar/tbgrip-clps.gif (global/toolbar/tbgrip-clps.gif)
skin/modern/global/toolbar/tbgrip-mid.gif (global/toolbar/tbgrip-mid.gif) skin/modern/global/toolbar/tbgrip-mid.gif (global/toolbar/tbgrip-mid.gif)
skin/modern/global/toolbar/tbgrip-top.gif (global/toolbar/tbgrip-top.gif) skin/modern/global/toolbar/tbgrip-top.gif (global/toolbar/tbgrip-top.gif)
skin/modern/global/toolbar/tb-mid.gif (global/toolbar/tb-mid.gif)
skin/modern/global/tree/columnpicker.gif (global/tree/columnpicker.gif) skin/modern/global/tree/columnpicker.gif (global/tree/columnpicker.gif)
skin/modern/global/tree/sort-asc.gif (global/tree/sort-asc.gif) skin/modern/global/tree/sort-asc.gif (global/tree/sort-asc.gif)
skin/modern/global/tree/sort-dsc.gif (global/tree/sort-dsc.gif) skin/modern/global/tree/sort-dsc.gif (global/tree/sort-dsc.gif)
@ -526,10 +533,6 @@ modern.jar:
skin/modern/messenger/addressbook/btn1/newlist-dis.gif (messenger/addressbook/btn1/newlist-dis.gif) skin/modern/messenger/addressbook/btn1/newlist-dis.gif (messenger/addressbook/btn1/newlist-dis.gif)
skin/modern/messenger/addressbook/btn1/newlist-hov.gif (messenger/addressbook/btn1/newlist-hov.gif) skin/modern/messenger/addressbook/btn1/newlist-hov.gif (messenger/addressbook/btn1/newlist-hov.gif)
skin/modern/messenger/addressbook/btn1/newlist.gif (messenger/addressbook/btn1/newlist.gif) skin/modern/messenger/addressbook/btn1/newlist.gif (messenger/addressbook/btn1/newlist.gif)
skin/modern/messenger/addressbook/btn1/newmsgab-act.gif (messenger/addressbook/btn1/newmsgab-act.gif)
skin/modern/messenger/addressbook/btn1/newmsgab-dis.gif (messenger/addressbook/btn1/newmsgab-dis.gif)
skin/modern/messenger/addressbook/btn1/newmsgab-hov.gif (messenger/addressbook/btn1/newmsgab-hov.gif)
skin/modern/messenger/addressbook/btn1/newmsgab.gif (messenger/addressbook/btn1/newmsgab.gif)
skin/modern/messenger/addressbook/icons/directory-open.gif (messenger/addressbook/icons/directory-open.gif) skin/modern/messenger/addressbook/icons/directory-open.gif (messenger/addressbook/icons/directory-open.gif)
skin/modern/messenger/addressbook/icons/directory.gif (messenger/addressbook/icons/directory.gif) skin/modern/messenger/addressbook/icons/directory.gif (messenger/addressbook/icons/directory.gif)
skin/modern/messenger/addressbook/icons/list.gif (messenger/addressbook/icons/list.gif) skin/modern/messenger/addressbook/icons/list.gif (messenger/addressbook/icons/list.gif)
@ -567,11 +570,10 @@ modern.jar:
skin/modern/messenger/btn1/replyall-dis.gif (messenger/btn1/replyall-dis.gif) skin/modern/messenger/btn1/replyall-dis.gif (messenger/btn1/replyall-dis.gif)
skin/modern/messenger/btn1/replyall-hov.gif (messenger/btn1/replyall-hov.gif) skin/modern/messenger/btn1/replyall-hov.gif (messenger/btn1/replyall-hov.gif)
skin/modern/messenger/btn1/replyall.gif (messenger/btn1/replyall.gif) skin/modern/messenger/btn1/replyall.gif (messenger/btn1/replyall.gif)
skin/modern/messenger/btn1/trash-act.gif (messenger/btn1/trash-act.gif) skin/modern/messenger/btn1/delete-act.gif (messenger/btn1/delete-act.gif)
skin/modern/messenger/btn1/trash-dis.gif (messenger/btn1/trash-dis.gif) skin/modern/messenger/btn1/delete-dis.gif (messenger/btn1/delete-dis.gif)
skin/modern/messenger/btn1/trash-hov.gif (messenger/btn1/trash-hov.gif) skin/modern/messenger/btn1/delete-hov.gif (messenger/btn1/delete-hov.gif)
skin/modern/messenger/btn1/trash.gif (messenger/btn1/trash.gif) skin/modern/messenger/btn1/delete.gif (messenger/btn1/delete.gif)
skin/modern/messenger/icons/addtoab.gif (messenger/icons/addtoab.gif)
skin/modern/messenger/icons/attach.gif (messenger/icons/attach.gif) skin/modern/messenger/icons/attach.gif (messenger/icons/attach.gif)
skin/modern/messenger/icons/check.gif (messenger/icons/check.gif) skin/modern/messenger/icons/check.gif (messenger/icons/check.gif)
skin/modern/messenger/icons/dot.gif (messenger/icons/dot.gif) skin/modern/messenger/icons/dot.gif (messenger/icons/dot.gif)
@ -614,9 +616,10 @@ modern.jar:
skin/modern/messenger/icons/message-mail-imapdelete.gif (messenger/icons/message-mail-imapdelete.gif) skin/modern/messenger/icons/message-mail-imapdelete.gif (messenger/icons/message-mail-imapdelete.gif)
skin/modern/messenger/icons/message-mail-new.gif (messenger/icons/message-mail-new.gif) skin/modern/messenger/icons/message-mail-new.gif (messenger/icons/message-mail-new.gif)
skin/modern/messenger/icons/message-mail.gif (messenger/icons/message-mail.gif) skin/modern/messenger/icons/message-mail.gif (messenger/icons/message-mail.gif)
skin/modern/messenger/icons/message-news-attach.gif (messenger/icons/message-news-attach.gif)
skin/modern/messenger/icons/message-news-new.gif (messenger/icons/message-news-new.gif) skin/modern/messenger/icons/message-news-new.gif (messenger/icons/message-news-new.gif)
skin/modern/messenger/icons/message-news.gif (messenger/icons/message-news.gif) skin/modern/messenger/icons/message-news.gif (messenger/icons/message-news.gif)
skin/modern/messenger/icons/message-news-attach.gif (messenger/icons/message-news-attach.gif) skin/modern/messenger/icons/prtb-mail-icon.gif (messenger/icons/prtb-mail-icon.gif)
skin/modern/messenger/icons/readcol-read.gif (messenger/icons/readcol-read.gif) skin/modern/messenger/icons/readcol-read.gif (messenger/icons/readcol-read.gif)
skin/modern/messenger/icons/readcol-unread.gif (messenger/icons/readcol-unread.gif) skin/modern/messenger/icons/readcol-unread.gif (messenger/icons/readcol-unread.gif)
skin/modern/messenger/icons/server-local-new.gif (messenger/icons/server-local-new.gif) skin/modern/messenger/icons/server-local-new.gif (messenger/icons/server-local-new.gif)
@ -633,8 +636,6 @@ modern.jar:
skin/modern/messenger/icons/thread-open.gif (messenger/icons/thread-open.gif) skin/modern/messenger/icons/thread-open.gif (messenger/icons/thread-open.gif)
skin/modern/messenger/icons/threadcol-threaded.gif (messenger/icons/threadcol-threaded.gif) skin/modern/messenger/icons/threadcol-threaded.gif (messenger/icons/threadcol-threaded.gif)
skin/modern/messenger/icons/threadcol-unthreaded.gif (messenger/icons/threadcol-unthreaded.gif) skin/modern/messenger/icons/threadcol-unthreaded.gif (messenger/icons/threadcol-unthreaded.gif)
skin/modern/messenger/icons/twisty-less.gif (messenger/icons/twisty-less.gif)
skin/modern/messenger/icons/twisty-more.gif (messenger/icons/twisty-more.gif)
skin/modern/messenger/messengercompose/messengercompose.css (messenger/messengercompose/messengercompose.css) skin/modern/messenger/messengercompose/messengercompose.css (messenger/messengercompose/messengercompose.css)
skin/modern/messenger/messengercompose/btn1/address-act.gif (messenger/messengercompose/btn1/address-act.gif) skin/modern/messenger/messengercompose/btn1/address-act.gif (messenger/messengercompose/btn1/address-act.gif)
skin/modern/messenger/messengercompose/btn1/address-dis.gif (messenger/messengercompose/btn1/address-dis.gif) skin/modern/messenger/messengercompose/btn1/address-dis.gif (messenger/messengercompose/btn1/address-dis.gif)
@ -644,14 +645,6 @@ modern.jar:
skin/modern/messenger/messengercompose/btn1/attach-dis.gif (messenger/messengercompose/btn1/attach-dis.gif) skin/modern/messenger/messengercompose/btn1/attach-dis.gif (messenger/messengercompose/btn1/attach-dis.gif)
skin/modern/messenger/messengercompose/btn1/attach-hov.gif (messenger/messengercompose/btn1/attach-hov.gif) skin/modern/messenger/messengercompose/btn1/attach-hov.gif (messenger/messengercompose/btn1/attach-hov.gif)
skin/modern/messenger/messengercompose/btn1/attach.gif (messenger/messengercompose/btn1/attach.gif) skin/modern/messenger/messengercompose/btn1/attach.gif (messenger/messengercompose/btn1/attach.gif)
skin/modern/messenger/messengercompose/btn1/quote-act.gif (messenger/messengercompose/btn1/quote-act.gif)
skin/modern/messenger/messengercompose/btn1/quote-dis.gif (messenger/messengercompose/btn1/quote-dis.gif)
skin/modern/messenger/messengercompose/btn1/quote-hov.gif (messenger/messengercompose/btn1/quote-hov.gif)
skin/modern/messenger/messengercompose/btn1/quote.gif (messenger/messengercompose/btn1/quote.gif)
skin/modern/messenger/messengercompose/btn1/savedraft-act.gif (messenger/messengercompose/btn1/savedraft-act.gif)
skin/modern/messenger/messengercompose/btn1/savedraft-dis.gif (messenger/messengercompose/btn1/savedraft-dis.gif)
skin/modern/messenger/messengercompose/btn1/savedraft-hov.gif (messenger/messengercompose/btn1/savedraft-hov.gif)
skin/modern/messenger/messengercompose/btn1/savedraft.gif (messenger/messengercompose/btn1/savedraft.gif)
skin/modern/messenger/messengercompose/btn1/send-act.gif (messenger/messengercompose/btn1/send-act.gif) skin/modern/messenger/messengercompose/btn1/send-act.gif (messenger/messengercompose/btn1/send-act.gif)
skin/modern/messenger/messengercompose/btn1/send-dis.gif (messenger/messengercompose/btn1/send-dis.gif) skin/modern/messenger/messengercompose/btn1/send-dis.gif (messenger/messengercompose/btn1/send-dis.gif)
skin/modern/messenger/messengercompose/btn1/send-hov.gif (messenger/messengercompose/btn1/send-hov.gif) skin/modern/messenger/messengercompose/btn1/send-hov.gif (messenger/messengercompose/btn1/send-hov.gif)
@ -660,8 +653,6 @@ modern.jar:
skin/modern/navigator/navigator.css (navigator/navigator.css) skin/modern/navigator/navigator.css (navigator/navigator.css)
skin/modern/navigator/navigatorBindings.xml (navigator/navigatorBindings.xml) skin/modern/navigator/navigatorBindings.xml (navigator/navigatorBindings.xml)
skin/modern/navigator/personalToolbar.css (navigator/personalToolbar.css) skin/modern/navigator/personalToolbar.css (navigator/personalToolbar.css)
skin/modern/navigator/ubhist-keyword-popup-active.gif (navigator/ubhist-keyword-popup-active.gif)
skin/modern/navigator/ubhist-keyword-popup.gif (navigator/ubhist-keyword-popup.gif)
skin/modern/navigator/btn1/back-act.gif (navigator/btn1/back-act.gif) skin/modern/navigator/btn1/back-act.gif (navigator/btn1/back-act.gif)
skin/modern/navigator/btn1/back-dis.gif (navigator/btn1/back-dis.gif) skin/modern/navigator/btn1/back-dis.gif (navigator/btn1/back-dis.gif)
skin/modern/navigator/btn1/back-hov.gif (navigator/btn1/back-hov.gif) skin/modern/navigator/btn1/back-hov.gif (navigator/btn1/back-hov.gif)
@ -670,6 +661,10 @@ modern.jar:
skin/modern/navigator/btn1/forward-dis.gif (navigator/btn1/forward-dis.gif) skin/modern/navigator/btn1/forward-dis.gif (navigator/btn1/forward-dis.gif)
skin/modern/navigator/btn1/forward-hov.gif (navigator/btn1/forward-hov.gif) skin/modern/navigator/btn1/forward-hov.gif (navigator/btn1/forward-hov.gif)
skin/modern/navigator/btn1/forward.gif (navigator/btn1/forward.gif) skin/modern/navigator/btn1/forward.gif (navigator/btn1/forward.gif)
skin/modern/navigator/btn1/print-act.gif (navigator/btn1/print-act.gif)
skin/modern/navigator/btn1/print-dis.gif (navigator/btn1/print-dis.gif)
skin/modern/navigator/btn1/print-hov.gif (navigator/btn1/print-hov.gif)
skin/modern/navigator/btn1/print.gif (navigator/btn1/print.gif)
skin/modern/navigator/btn1/reload-act.gif (navigator/btn1/reload-act.gif) skin/modern/navigator/btn1/reload-act.gif (navigator/btn1/reload-act.gif)
skin/modern/navigator/btn1/reload-dis.gif (navigator/btn1/reload-dis.gif) skin/modern/navigator/btn1/reload-dis.gif (navigator/btn1/reload-dis.gif)
skin/modern/navigator/btn1/reload-hov.gif (navigator/btn1/reload-hov.gif) skin/modern/navigator/btn1/reload-hov.gif (navigator/btn1/reload-hov.gif)
@ -678,6 +673,7 @@ modern.jar:
skin/modern/navigator/btn1/stop-dis.gif (navigator/btn1/stop-dis.gif) skin/modern/navigator/btn1/stop-dis.gif (navigator/btn1/stop-dis.gif)
skin/modern/navigator/btn1/stop-hov.gif (navigator/btn1/stop-hov.gif) skin/modern/navigator/btn1/stop-hov.gif (navigator/btn1/stop-hov.gif)
skin/modern/navigator/btn1/stop.gif (navigator/btn1/stop.gif) skin/modern/navigator/btn1/stop.gif (navigator/btn1/stop.gif)
skin/modern/navigator/toolbar/navbar-mid-top.gif (navigator/toolbar/navbar-mid-top.gif)
skin/modern/navigator/toolbar/nav-groove-lft-btm.gif (navigator/toolbar/nav-groove-lft-btm.gif) skin/modern/navigator/toolbar/nav-groove-lft-btm.gif (navigator/toolbar/nav-groove-lft-btm.gif)
skin/modern/navigator/toolbar/nav-groove-lft-mid.gif (navigator/toolbar/nav-groove-lft-mid.gif) skin/modern/navigator/toolbar/nav-groove-lft-mid.gif (navigator/toolbar/nav-groove-lft-mid.gif)
skin/modern/navigator/toolbar/nav-groove-lft-top.gif (navigator/toolbar/nav-groove-lft-top.gif) skin/modern/navigator/toolbar/nav-groove-lft-top.gif (navigator/toolbar/nav-groove-lft-top.gif)
@ -687,6 +683,9 @@ modern.jar:
skin/modern/navigator/toolbar/urlbar-lft-btm.gif (navigator/toolbar/urlbar-lft-btm.gif) skin/modern/navigator/toolbar/urlbar-lft-btm.gif (navigator/toolbar/urlbar-lft-btm.gif)
skin/modern/navigator/toolbar/urlbar-lft-mid.gif (navigator/toolbar/urlbar-lft-mid.gif) skin/modern/navigator/toolbar/urlbar-lft-mid.gif (navigator/toolbar/urlbar-lft-mid.gif)
skin/modern/navigator/toolbar/urlbar-lft-top.gif (navigator/toolbar/urlbar-lft-top.gif) skin/modern/navigator/toolbar/urlbar-lft-top.gif (navigator/toolbar/urlbar-lft-top.gif)
skin/modern/navigator/toolbar/urlbar-mid-btm.gif (navigator/toolbar/urlbar-mid-btm.gif)
skin/modern/navigator/toolbar/urlbar-mid-mid.gif (navigator/toolbar/urlbar-mid-mid.gif)
skin/modern/navigator/toolbar/urlbar-mid-top.gif (navigator/toolbar/urlbar-mid-top.gif)
skin/modern/navigator/toolbar/urlbar-rit-btm.gif (navigator/toolbar/urlbar-rit-btm.gif) skin/modern/navigator/toolbar/urlbar-rit-btm.gif (navigator/toolbar/urlbar-rit-btm.gif)
skin/modern/navigator/toolbar/urlbar-rit-mid.gif (navigator/toolbar/urlbar-rit-mid.gif) skin/modern/navigator/toolbar/urlbar-rit-mid.gif (navigator/toolbar/urlbar-rit-mid.gif)
skin/modern/navigator/toolbar/urlbar-rit-top.gif (navigator/toolbar/urlbar-rit-top.gif) skin/modern/navigator/toolbar/urlbar-rit-top.gif (navigator/toolbar/urlbar-rit-top.gif)

View File

@ -39,15 +39,15 @@
#button-send[disabled="true"]:hover, #button-send[disabled="true"]:hover,
#button-send[disabled="true"]:hover:active { #button-send[disabled="true"]:hover:active {
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/send-dis.gif"); list-style-image: url("chrome://messenger/skin/messengercompose/btn1/send-dis.gif");
} }
#button-send:hover { #button-send:hover {
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/send-hov.gif"); list-style-image: url("chrome://messenger/skin/messengercompose/btn1/send-hov.gif");
} }
#button-send:hover:active { #button-send:hover:active {
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/send-act.gif"); list-style-image: url("chrome://messenger/skin/messengercompose/btn1/send-act.gif");
} }
#button-address { #button-address {
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/address.gif"); list-style-image: url("chrome://messenger/skin/messengercompose/btn1/address.gif");
@ -57,15 +57,15 @@
#button-address[disabled="true"]:hover, #button-address[disabled="true"]:hover,
#button-address[disabled="true"]:hover:active { #button-address[disabled="true"]:hover:active {
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/address-dis.gif"); list-style-image: url("chrome://messenger/skin/messengercompose/btn1/address-dis.gif");
} }
#button-address:hover { #button-address:hover {
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/address-hov.gif"); list-style-image: url("chrome://messenger/skin/messengercompose/btn1/address-hov.gif");
} }
#button-address:hover:active { #button-address:hover:active {
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/address-act.gif"); list-style-image: url("chrome://messenger/skin/messengercompose/btn1/address-act.gif");
} }
#button-attach { #button-attach {
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/attach.gif"); list-style-image: url("chrome://messenger/skin/messengercompose/btn1/attach.gif");
@ -75,69 +75,51 @@
#button-attach[disabled="true"]:hover, #button-attach[disabled="true"]:hover,
#button-attach[disabled="true"]:hover:active { #button-attach[disabled="true"]:hover:active {
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/attach-dis.gif"); list-style-image: url("chrome://messenger/skin/messengercompose/btn1/attach-dis.gif");
} }
#button-attach:hover { #button-attach:hover {
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/attach-hov.gif"); list-style-image: url("chrome://messenger/skin/messengercompose/btn1/attach-hov.gif");
} }
#button-attach:hover:active { #button-attach:hover:active {
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/attach-act.gif"); list-style-image: url("chrome://messenger/skin/messengercompose/btn1/attach-act.gif");
}
#spellingButton {
list-style-image: url("chrome://editor/skin/messengercompose/btn1/spell.gif");
} }
#button-quote { #spellingButton[disabled="true"],
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/quote.gif"); #spellingButton[disabled="true"]:hover,
} #spellingButton[disabled="true"]:hover:active {
list-style-image: url("chrome://editor/skin/messengercompose/btn1/spell-dis.gif");
}
#button-quote[disabled="true"], #spellingButton:hover {
#button-quote[disabled="true"]:hover, list-style-image: url("chrome://editor/skin/messengercompose/btn1/spell-hov.gif");
#button-quote[disabled="true"]:hover:active { }
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/quote-dis.gif");
}
#button-quote:hover { #spellingButton:hover:active {
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/quote-hov.gif"); list-style-image: url("chrome://editor/skin/messengercompose/btn1/spell-act.gif");
}
#button-quote:hover:active {
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/quote-act.gif");
}
#button-spelling {
list-style-image: url("chrome://messenger/skin/editor/btn1/spell.gif");
}
#button-spelling[disabled="true"],
#button-spelling[disabled="true"]:hover,
#button-spelling[disabled="true"]:hover:active {
list-style-image: url("chrome://messenger/skin/editor/btn1/spell-dis.gif");
}
#button-spelling:hover {
list-style-image: url("chrome://messenger/skin/editor/btn1/spell-hov.gif");
}
#button-spelling:hover:active {
list-style-image: url("chrome://messenger/skin/editor/btn1/spell-act.gif");
} }
#button-save { #button-save {
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/savedraft.gif"); list-style-image: url("chrome://editor/skin/btn1/savefile.gif");
} }
#button-save[disabled="true"], #button-save[disabled="true"],
#button-save[disabled="true"]:hover, #button-save[disabled="true"]:hover,
#button-save[disabled="true"]:hover:active { #button-save[disabled="true"]:hover:active {
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/savedraft-dis.gif"); list-style-image: url("chrome://editor/skin/btn1/savefile-dis.gif");
} }
#button-save:hover { #button-save:hover {
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/savedraft-hov.gif"); list-style-image: url("chrome://editor/skin/btn1/savefile-hov.gif");
} }
#button-save:hover:active { #button-save:hover:active {
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/savedraft-act.gif"); list-style-image: url("chrome://editor/skin/btn1/savefile-act.gif");
} }
#button-stop { #button-stop {
list-style-image: url("chrome://communicator/skin/btn1/stop.gif"); list-style-image: url("chrome://communicator/skin/btn1/stop.gif");
@ -147,11 +129,11 @@
#button-stop[disabled="true"]:hover, #button-stop[disabled="true"]:hover,
#button-stop[disabled="true"]:hover:active { #button-stop[disabled="true"]:hover:active {
list-style-image: url("chrome://communicator/skin/btn1/stop-dis.gif"); list-style-image: url("chrome://communicator/skin/btn1/stop-dis.gif");
} }
#button-stop:hover { #button-stop:hover {
list-style-image: url("chrome://communicator/skin/btn1/stop-hov.gif"); list-style-image: url("chrome://communicator/skin/btn1/stop-hov.gif");
} }
#button-stop:hover:active { #button-stop:hover:active {
list-style-image: url("chrome://communicator/skin/btn1/stop-act.gif"); list-style-image: url("chrome://communicator/skin/btn1/stop-act.gif");
@ -159,18 +141,10 @@
/* ::::: header toolbar ::::: */ /* ::::: header toolbar ::::: */
#attachmentBucket, #attachmentBucket {
#msgSubject,
#msgIdentity {
-moz-user-focus: normal; -moz-user-focus: normal;
} }
/* ..... border adjustments to match toolbar colors ..... */
#compose-toolbar-sizer {
border-top: none;
}
/* ..... "From:" menulist menuitems ..... */ /* ..... "From:" menulist menuitems ..... */
/* MOVE TO CONTENT */ /* MOVE TO CONTENT */
@ -189,11 +163,11 @@
-moz-user-focus: none; -moz-user-focus: none;
width: 0px; width: 0px;
height: 80px; height: 80px;
} }
#listcol-addressingWidget { #listcol-addressingWidget {
border-right: 1px solid #D3D3E5;
width: 9em; width: 9em;
border-right: 1px solid #C4CADC;
} }
#addressingWidgetTree > treechildren > treeitem > treerow, #addressingWidgetTree > treechildren > treeitem > treerow,
@ -204,7 +178,7 @@
} }
.treecell-addressingWidget { .treecell-addressingWidget {
border-bottom: 1px solid #D3D3E5; border-bottom: 1px solid #C4CADC;
padding: 0px; padding: 0px;
vertical-align: middle; vertical-align: middle;
} }
@ -215,23 +189,44 @@
.dummy-row-cell:first-child { .dummy-row-cell:first-child {
border-top: none; border-top: none;
border-bottom: 1px solid #D3D3E5; border-bottom: 1px solid #C4CADC;
} }
.aw-menulist { .aw-menulist {
margin: 0px; margin: 0px;
border-top: none !important; border-top: none !important;
border-left: none !important; border-left: none !important;
border-color: #314152; border-color: #A5AECE;
} }
.person-icon { .person-icon {
-moz-user-focus: ignore; -moz-user-focus: ignore;
cursor: default !important;
margin: 2px 4px 2px 4px; margin: 2px 4px 2px 4px;
border: none; border: none;
list-style-image: url("chrome://messenger/skin/addressbook/icons/person.gif"); list-style-image: url("chrome://messenger/skin/addressbook/icons/person.gif");
} }
/* ::::: status bar border tweaks ::::: */
statusbar, #status-bar {
border-left: none;
}
.statusbar-internal-box-1 {
border-left: none;
padding: 0px;
}
.statusbar-internal-box-2 {
border-top: 1px solid #A8B1CC !important;
}
.statusbar-internal-box-3 {
border-top: 1px solid #D4DDF8 !important;
padding: 1px 2px 1px 2px;
}
/* ::::: askSendFormat dialog ::::: */ /* ::::: askSendFormat dialog ::::: */
#askSendFormat { #askSendFormat {
@ -243,34 +238,38 @@
} }
#convertYes { #convertYes {
list-style-image: url("chrome://global/skin/icon/alert-question.gif"); list-style-image: url("chrome://global/skin/icons/alert-question.gif");
} }
#convertAltering { #convertAltering {
list-style-image: url("chrome://global/skin/icon/alert-question.gif"); list-style-image: url("chrome://global/skin/icons/alert-question.gif");
} }
#convertNo { #convertNo {
list-style-image: url("chrome://global/skin/icon/alert-exclam.gif"); list-style-image: url("chrome://global/skin/icons/alert-exclam.gif");
} }
/* Workaround for bug 50217. Please remove this rule, when this bug is fixed. */ /* Workaround for bug 50217. Please remove this rule, when this bug is fixed. */
#convertDefault { #convertDefault {
list-style-image: url("chrome://global/skin/icon/alert-question.gif"); list-style-image: url("chrome://global/skin/icons/alert-question.gif");
} }
/* ::::: miscellany :::::: */ /* ::::: miscellany :::::: */
#compose-toolbar-sizer {
border-top: none;
}
spring.spacer { spring.spacer {
width: 5px; width: 5px;
height: 5px; height: 5px;
} }
.label { .label {
color: #FFFFFF; color: #000000;
} }
#navprintplus { #navprintplus {
display: none !important; display: none !important;
} }

View File

@ -1,44 +1,47 @@
/* /*
* The contents of this file are subject to the Netscape Public * The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file * License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of * except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/ * the License at http://www.mozilla.org/NPL/
* *
* Software distributed under the License is distributed on an "AS * Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing * implied. See the License for the specific language governing
* rights and limitations under the License. * rights and limitations under the License.
* *
* The Original Code is Mozilla Communicator client code, released * The Original Code is mozilla.org code.
* March 31, 1998. *
*
* The Initial Developer of the Original Code is Netscape * The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are * Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998-2001 Netscape Communications Corporation. All * Copyright (C) 1998-1999 Netscape Communications Corporation. All
* Rights Reserved. * Rights Reserved.
* *
* Contributor(s): * Contributor(s):
* Joe Hewitt (hewitt@netscape.com) * Joe Hewitt (hewitt@netscape.com)
*/ */
/* ===== navigator.css ================================================== @import url("chrome://navigator/content/navigator.css");
== Styles shared throughout the Navigator application.
======================================================================= */
@import url("chrome://communicator/skin/"); @import url("chrome://communicator/skin/");
@import url("chrome://communicator/skin/sidebar/sidebar.css");
@import url("chrome://navigator/skin/personalToolbar.css"); @import url("chrome://navigator/skin/personalToolbar.css");
@import url("chrome://communicator/skin/sidebar/sidebar.css");
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
/* ::::: primary toolbar buttons ::::: */ /* ::::: primary toolbar buttons ::::: */
.menubutton-dual {
-moz-binding: url("chrome://communicator/skin/widgetBindings.xml#menubutton-dual-1");
}
#back-button { #back-button {
margin-left: 0px; margin: 3px 6px 0px 0px;
list-style-image: url("chrome://navigator/skin/btn1/back.gif"); list-style-image: url("chrome://navigator/skin/btn1/back.gif");
} }
#back-button[disabled="true"], #back-button[disabled="true"],
#back-button[disabled="true"]:hover,
#back-button[disabled="true"]:hover:active,
#back-button[disabled="true"] > .menubutton-dual-stack > .menubutton-dual-button,
#back-button[disabled="true"] > .menubutton-dual-stack > .menubutton-dual-button:hover, #back-button[disabled="true"] > .menubutton-dual-stack > .menubutton-dual-button:hover,
#back-button[disabled="true"] > .menubutton-dual-stack > .menubutton-dual-button:hover:active { #back-button[disabled="true"] > .menubutton-dual-stack > .menubutton-dual-button:hover:active {
list-style-image: url("chrome://navigator/skin/btn1/back-dis.gif"); list-style-image: url("chrome://navigator/skin/btn1/back-dis.gif");
@ -53,10 +56,14 @@
} }
#forward-button { #forward-button {
margin: 3px 6px 0px 0px;
list-style-image: url("chrome://navigator/skin/btn1/forward.gif"); list-style-image: url("chrome://navigator/skin/btn1/forward.gif");
} }
#forward-button[disabled="true"], #forward-button[disabled="true"],
#forward-button[disabled="true"]:hover,
#forward-button[disabled="true"]:hover:active,
#forward-button[disabled="true"] > .menubutton-dual-stack > .menubutton-dual-button,
#forward-button[disabled="true"] > .menubutton-dual-stack > .menubutton-dual-button:hover, #forward-button[disabled="true"] > .menubutton-dual-stack > .menubutton-dual-button:hover,
#forward-button[disabled="true"] > .menubutton-dual-stack > .menubutton-dual-button:hover:active { #forward-button[disabled="true"] > .menubutton-dual-stack > .menubutton-dual-button:hover:active {
list-style-image: url("chrome://navigator/skin/btn1/forward-dis.gif"); list-style-image: url("chrome://navigator/skin/btn1/forward-dis.gif");
@ -70,28 +77,11 @@
list-style-image: url("chrome://navigator/skin/btn1/forward-act.gif"); list-style-image: url("chrome://navigator/skin/btn1/forward-act.gif");
} }
#stop-button {
list-style-image: url("chrome://navigator/skin/btn1/stop.gif");
}
#stop-button[disabled="true"],
#stop-button[disabled="true"]:hover,
#stop-button[disabled="true"]:hover:active {
list-style-image: url("chrome://navigator/skin/btn1/stop-dis.gif");
}
#stop-button:hover {
list-style-image: url("chrome://navigator/skin/btn1/stop-hov.gif");
}
#stop-button:hover:active {
list-style-image: url("chrome://navigator/skin/btn1/stop-act.gif");
}
#reload-button { #reload-button {
margin: 3px 6px 0px 0px;
list-style-image: url("chrome://navigator/skin/btn1/reload.gif"); list-style-image: url("chrome://navigator/skin/btn1/reload.gif");
} }
#reload-button[disabled="true"], #reload-button[disabled="true"],
#reload-button[disabled="true"]:hover, #reload-button[disabled="true"]:hover,
#reload-button[disabled="true"]:hover:active { #reload-button[disabled="true"]:hover:active {
@ -106,13 +96,33 @@
list-style-image: url("chrome://navigator/skin/btn1/reload-act.gif"); list-style-image: url("chrome://navigator/skin/btn1/reload-act.gif");
} }
#stop-button {
margin: 3px 6px 0px 0px;
list-style-image: url("chrome://navigator/skin/btn1/stop.gif");
}
#stop-button[disabled="true"],
#stop-button[disabled="true"]:hover,
#stop-button[disabled="true"]:hover:active {
list-style-image: url("chrome://navigator/skin/btn1/stop-dis.gif");
}
#stop-button:hover {
list-style-image: url("chrome://navigator/skin/btn1/stop-hov.gif");
}
#stop-button:hover:active {
list-style-image: url("chrome://navigator/skin/btn1/stop-act.gif");
}
#print-button { #print-button {
-moz-binding: url("chrome://communicator/skin/widgetBindings.xml#menubutton-dual-1");
margin: 6px 6px 0px 6px;
list-style-image: url("chrome://communicator/skin/btn1/print.gif"); list-style-image: url("chrome://communicator/skin/btn1/print.gif");
} }
#print-button[disabled="true"], #print-button[disabled="true"],
#print-button[disabled="true"]:hover,
#print-button[disabled="true"]:hover:active,
#print-button[disabled="true"] > .menubutton-dual-stack > .menubutton-dual-button,
#print-button[disabled="true"] > .menubutton-dual-stack > .menubutton-dual-button:hover, #print-button[disabled="true"] > .menubutton-dual-stack > .menubutton-dual-button:hover,
#print-button[disabled="true"] > .menubutton-dual-stack > .menubutton-dual-button:hover:active { #print-button[disabled="true"] > .menubutton-dual-stack > .menubutton-dual-button:hover:active {
list-style-image: url("chrome://communicator/skin/btn1/print-dis.gif"); list-style-image: url("chrome://communicator/skin/btn1/print-dis.gif");
@ -126,72 +136,81 @@
list-style-image: url("chrome://communicator/skin/btn1/print-act.gif"); list-style-image: url("chrome://communicator/skin/btn1/print-act.gif");
} }
#print-button > .menubutton-dual-stack > .menubutton-dual-dropmarker-box {
margin-left: 19px;
margin-top: 22px;
}
/* Hides text below the above buttons */ /* Hides text below the above buttons */
.button-toolbar-1 > .button-internal-box > .button-text-container { .button-toolbar-1 > .button-internal-box > .button-text-container {
display: none; display: none;
} }
/* ::::: nav-bar - the navigator primary toolbar ::::: */
.toolbar-primary-mid-fg {
-moz-binding: url("chrome://global/skin/globalBindings.xml#autostretch-never");
vertical-align: top;
}
.toolbar-primary-mid-top {
background-image: url("chrome://navigator/skin/toolbar/navbar-mid-top.gif");
}
#nav-bar-buttons {
margin-left: 15px;
}
/* ::::: navbar-inner - the grooved area around the urlbar ::::: */ /* ::::: navbar-inner - the grooved area around the urlbar ::::: */
#nav-bar-inner { #nav-bar-inner {
-moz-binding: url("chrome://navigator/skin/navigatorBindings.xml#nav-bar-inner"); -moz-binding: url("chrome://navigator/skin/navigatorBindings.xml#nav-bar-inner");
margin: 6px 0px 0px 6px; margin: 10px 5px 0px 13px;
min-width: 0px; min-width: 0px;
} }
.navbar-inner-groove-left { .navbar-inner-groove-lft {
width: 6px; width: 6px;
} }
.navbar-inner-groove-left-top { .navbar-inner-groove-lft-top {
height: 22px; height: 24px;
background: url("chrome://navigator/skin/toolbar/nav-groove-lft-top.gif") no-repeat; background: url("chrome://navigator/skin/toolbar/nav-groove-lft-top.gif") no-repeat;
} }
.navbar-inner-groove-left-mid { .navbar-inner-groove-lft-mid {
background: url("chrome://navigator/skin/toolbar/nav-groove-lft-mid.gif") repeat-y; background: url("chrome://navigator/skin/toolbar/nav-groove-lft-mid.gif") repeat-y left;
} }
.navbar-inner-groove-left-btm { .navbar-inner-groove-lft-btm {
height: 6px; height: 5px;
background: url("chrome://navigator/skin/toolbar/nav-groove-lft-btm.gif") no-repeat; background: url("chrome://navigator/skin/toolbar/nav-groove-lft-btm.gif") no-repeat;
} }
.navbar-inner-border-outer { .navbar-inner-border-outer {
border-top: 1px solid #A0B3C7; border-top: 1px solid #A2AFBD;
border-bottom: 1px solid #7C92AF; border-bottom: 1px solid #CFD7DE;
} }
.navbar-inner-border-middle { .navbar-inner-border-middle {
border-top: 1px solid #7D91AA; border-top: 1px solid #EBF4FF;
border-bottom: 1px solid #4E6179; border-bottom: 1px solid #87929E;
} }
.navbar-inner-border-inner { .navbar-inner-border-inner {
border-top: 1px solid #BBCDE3; vertical-align: middle;
border-bottom: 1px solid #556D8B;
} }
.navbar-inner-groove-right { .navbar-inner-groove-rit {
width: 6px; width: 6px;
} }
.navbar-inner-groove-right-top { .navbar-inner-groove-rit-top {
height: 22px; height: 24px;
background: url("chrome://navigator/skin/toolbar/nav-groove-rit-top.gif") no-repeat; background: url("chrome://navigator/skin/toolbar/nav-groove-rit-top.gif") no-repeat;
} }
.navbar-inner-groove-right-mid { .navbar-inner-groove-rit-mid {
background: url("chrome://navigator/skin/toolbar/nav-groove-rit-mid.gif") repeat-y; background: url("chrome://navigator/skin/toolbar/nav-groove-rit-mid.gif") repeat-y right;
} }
.navbar-inner-groove-right-btm { .navbar-inner-groove-rit-btm {
height: 6px; height: 5px;
background: url("chrome://navigator/skin/toolbar/nav-groove-rit-btm.gif") no-repeat; background: url("chrome://navigator/skin/toolbar/nav-groove-rit-btm.gif") no-repeat;
} }
@ -199,125 +218,129 @@
#urlbar-group { #urlbar-group {
-moz-binding: url("chrome://navigator/skin/navigatorBindings.xml#urlbar-group"); -moz-binding: url("chrome://navigator/skin/navigatorBindings.xml#urlbar-group");
margin: 3px 8px 4px 2px; margin: 2px 6px 2px 3px;
-moz-border-radius: 5px;
background-color: #ffffff;
} }
.urlbar-left { .urlbar-lft {
width: 3px; width: 3px;
} }
.urlbar-left-top { .urlbar-lft-top {
height: 4px;
background: url("chrome://navigator/skin/toolbar/urlbar-lft-top.gif") no-repeat; background: url("chrome://navigator/skin/toolbar/urlbar-lft-top.gif") no-repeat;
height: 4px;
} }
.urlbar-left-mid { .urlbar-lft-mid {
background: url("chrome://navigator/skin/toolbar/urlbar-lft-mid.gif") repeat-y; background: url("chrome://navigator/skin/toolbar/urlbar-lft-mid.gif") repeat-y;
} }
.urlbar-left-btm { .urlbar-lft-btm {
min-height: 3px;
background: url("chrome://navigator/skin/toolbar/urlbar-lft-btm.gif") no-repeat; background: url("chrome://navigator/skin/toolbar/urlbar-lft-btm.gif") no-repeat;
}
.urlbar-border-outer {
border-top: 1px solid #65696D;
}
.urlbar-border-inner {
border-top: 1px solid #A3A3A3;
}
.urlbar-right {
width: 4px;
}
.urlbar-right-top {
height: 3px; height: 3px;
background: url("chrome://navigator/skin/toolbar/urlbar-rit-top.gif") no-repeat;
} }
.urlbar-right-mid { .urlbar-mid-top {
background: url("chrome://navigator/skin/toolbar/urlbar-mid-top.gif") repeat-x;
height: 4px;
}
.urlbar-mid-mid {
background: url("chrome://navigator/skin/toolbar/urlbar-mid-mid.gif") bottom repeat-x;
background-color: #E9F5FF;
}
.urlbar-mid-btm {
background: url("chrome://navigator/skin/toolbar/urlbar-mid-btm.gif") repeat-x;
height: 3px;
}
.urlbar-rit {
width: 3px;
}
.urlbar-rit-top {
background: url("chrome://navigator/skin/toolbar/urlbar-rit-top.gif") no-repeat;
height: 4px;
}
.urlbar-rit-mid {
background: url("chrome://navigator/skin/toolbar/urlbar-rit-mid.gif") repeat-y; background: url("chrome://navigator/skin/toolbar/urlbar-rit-mid.gif") repeat-y;
} }
.urlbar-right-btm { .urlbar-rit-btm {
min-height: 3px;
background: url("chrome://navigator/skin/toolbar/urlbar-rit-btm.gif") no-repeat; background: url("chrome://navigator/skin/toolbar/urlbar-rit-btm.gif") no-repeat;
height: 3px;
}
/* let the textbox background show through to the shiny image */
#urlbar,
#urlbar > .textbox-internal-box {
background-color: transparent;
} }
/* ::::: more toolbar buttons ::::: */ /* ::::: more toolbar buttons ::::: */
#page-proxy-button { #page-proxy-button {
cursor: grab; cursor: grab;
margin: 0px 2px 0px 0px; margin-left: 0px 2px 0px 0px;
list-style-image: url("chrome://communicator/skin/bookmarks/bookmark-item.gif"); list-style-image: url("chrome://communicator/skin/bookmarks/bookmark-item.gif");
} }
#ubhist { #home-button {
margin: 1px 1px 3px 0px; list-style-image: url("chrome://communicator/skin/bookmarks/home.gif");
border: none;
padding: 0px;
width: 10px;
list-style-image: url("chrome://global/skin/arrow/arrow-dn.gif");
}
#ubhist-popup > menuitem {
max-width: 550px !important;
} }
#go-button { #go-button {
margin-right: 6px;
margin-left: 0px;
min-width: 0px; min-width: 0px;
} }
#search-button { #search-button {
margin-right: 4px; margin-right: 4px;
margin-left: 0px;
min-width: 0px; min-width: 0px;
font-size: larger;
} }
/* ::::: move this to content ::::: */ /* ::::: navigator throbber ::::: */
window[chromehidden~="menubar"] .chromeclass-menubar { #navigator-throbber {
display: none; margin: 10px 15px 0px 8px;
list-style-image: url("chrome://communicator/skin/brand/throbber-single.gif");
} }
window[chromehidden~="toolbar"] .chromeclass-toolbar { #navigator-throbber[busy="true"] {
display: none; list-style-image: url("chrome://communicator/skin/brand/throbber-anim.gif");
} }
window[chromehidden~="location"] .chromeclass-location { /* ::::: autocomplete ::::: */
display: none;
.autocomplete-outlinerbody:-moz-outliner-cell-text(value) {
padding-left: 15px;
} }
window[chromehidden~="directories"] .chromeclass-directories { .autocomplete-outlinerbody:-moz-outliner-cell-text(comment) {
display: none; color: #555566;
} }
window[chromehidden~="status"] .chromeclass-status { .autocomplete-search-box {
display: none; border-top: 2px groove #DDE3EB;
background-color: #DDE3EB;
} }
window[chromehidden~="extrachrome"] .chromeclass-extrachrome { .autocomplete-result-popup[nomatch="true"] > .autocomplete-search-box {
display: none; border-top: 1px solid #E4EAEF;
} }
/* ::::: move this to commercial tree ::::: */ .autocomplete-search-engine {
padding: 2px;
#ubhist-keyword-popup {
margin: 3px 4px 8px 3px;
border: none;
width: 10px;
background-color: transparent;
list-style-image: url("chrome://navigator/skin/ubhist-keyword-popup.gif");
} }
#ubhist-keyword-popup > .menubutton-icon-internal-box { .autocomplete-search-engine[menuactive="true"] {
border: none; background-color: #486380;
color: #FFFFFF;
} }
#ubhist-keyword-popup:hover:active { .autocomplete-search-engine-img {
list-style-image: url("chrome://navigator/skin/ubhist-keyword-popup-active.gif"); margin-right: 4px;
} }

View File

@ -13,6 +13,8 @@ comm.jar:
content/navigator/navigatorDD.js (resources/content/navigatorDD.js) content/navigator/navigatorDD.js (resources/content/navigatorDD.js)
content/navigator/nsBrowserStatusHandler.js (resources/content/nsBrowserStatusHandler.js) content/navigator/nsBrowserStatusHandler.js (resources/content/nsBrowserStatusHandler.js)
content/navigator/tooltip.js (resources/content/tooltip.js) content/navigator/tooltip.js (resources/content/tooltip.js)
content/navigator/urlbarBindings.xml (resources/content/urlbarBindings.xml)
content/navigator/navigator.css (resources/content/navigator.css)
content/navigator/metadata.xul (resources/content/metadata.xul) content/navigator/metadata.xul (resources/content/metadata.xul)
content/navigator/metadata.js (resources/content/metadata.js) content/navigator/metadata.js (resources/content/metadata.js)
content/navigator/personalToolbar.js (resources/content/personalToolbar.js) content/navigator/personalToolbar.js (resources/content/personalToolbar.js)

View File

@ -0,0 +1,51 @@
/* ::::::::::
:: Rules for 'hiding' portions of the chrome for special
:: kinds of browser windows.
::::: */
window[chromehidden~="menubar"] .chromeclass-menubar {
display: none;
}
window[chromehidden~="toolbar"] .chromeclass-toolbar {
display: none;
}
window[chromehidden~="location"] .chromeclass-location {
display: none;
}
window[chromehidden~="directories"] .chromeclass-directories {
display: none;
}
window[chromehidden~="status"] .chromeclass-status {
display: none;
}
window[chromehidden~="extrachrome"] .chromeclass-extrachrome {
display: none;
}
/* ::::: urlbar autocomplete ::::: */
.autocomplete-result-popup[for="urlbar"] {
-moz-binding: url("chrome://navigator/content/urlbarBindings.xml#autocomplete-result-popup") !important;
}
.autocomplete-result {
-moz-binding: url("chrome://navigator/content/urlbarBindings.xml#autocomplete-result") !important;
}
.autocomplete-search-box {
-moz-binding: url("chrome://navigator/content/urlbarBindings.xml#autocomplete-search-box");
}
.autocomplete-search-engine {
-moz-binding: url("chrome://navigator/content/urlbarBindings.xml#autocomplete-search-engine");
}
#page-proxy-button[pageproxystate="invalid"] {
visibility: hidden;
}

View File

@ -25,10 +25,12 @@
const nsIWebNavigation = Components.interfaces.nsIWebNavigation; const nsIWebNavigation = Components.interfaces.nsIWebNavigation;
var gURLBar = null; var gURLBar = null;
var gProxyButton = null;
var gNavigatorBundle; var gNavigatorBundle;
var gBrandBundle; var gBrandBundle;
var gNavigatorRegionBundle; var gNavigatorRegionBundle;
var gBrandRegionBundle; var gBrandRegionBundle;
var gLastValidURL = "";
var pref = Components.classes["@mozilla.org/preferences;1"] var pref = Components.classes["@mozilla.org/preferences;1"]
.getService(Components.interfaces.nsIPref); .getService(Components.interfaces.nsIPref);
@ -223,6 +225,8 @@ function Startup()
gBrowser = document.getElementById("content"); gBrowser = document.getElementById("content");
gURLBar = document.getElementById("urlbar"); gURLBar = document.getElementById("urlbar");
SetPageProxyState("invalid");
var webNavigation; var webNavigation;
try { try {
@ -1214,20 +1218,19 @@ function getNewThemes()
loadURI(gBrandRegionBundle.getString("getNewThemesURL")); loadURI(gBrandRegionBundle.getString("getNewThemesURL"));
} }
function URLBarLeftClickHandler(aEvent) function URLBarMouseupHandler(aEvent)
{ {
if (pref.GetBoolPref("browser.urlbar.clickSelectsAll")) { if (aEvent.button == 0 && pref.GetBoolPref("browser.urlbar.clickSelectsAll")) {
var URLBar = aEvent.target; var selectionLen = gURLBar.selectionEnd - gURLBar.selectionStart;
URLBar.setSelectionRange(0, URLBar.value.length); if (selectionLen == 0)
gURLBar.setSelectionRange(0, gURLBar.textLength);
} }
} }
function URLBarBlurHandler(aEvent) function URLBarBlurHandler(aEvent)
{ {
if (pref.GetBoolPref("browser.urlbar.clickSelectsAll")) { if (pref.GetBoolPref("browser.urlbar.clickSelectsAll"))
var URLBar = aEvent.target; gURLBar.setSelectionRange(0, 0);
URLBar.setSelectionRange(0, 0);
}
} }
// This function gets the "windows hooks" service and has it check its setting // This function gets the "windows hooks" service and has it check its setting
@ -1258,23 +1261,64 @@ function ShowAndSelectContentsOfURLBar()
// If "ESC" is pressed in the url bar, we replace the urlbar's value with the url of the page // If "ESC" is pressed in the url bar, we replace the urlbar's value with the url of the page
// and highlight it, unless it is about:blank, where we reset it to "". // and highlight it, unless it is about:blank, where we reset it to "".
function resetURLBar() function handleURLBarRevert()
{ {
var url = _content.location.href; var url = _content.location.href;
var throbberElement = document.getElementById("navigator-throbber"); var throbberElement = document.getElementById("navigator-throbber");
if (!throbberElement.getAttribute("busy")){ var isScrolling = gURLBar.userAction == "scrolling";
if (url != "about:blank"){
// don't revert to last valid url unless page is NOT loading
// and user is NOT key-scrolling through autocomplete list
if (!throbberElement.getAttribute("busy") && !isScrolling) {
if (url != "about:blank") {
gURLBar.value = url; gURLBar.value = url;
gURLBar.select(); gURLBar.select();
} else { //if about:blank, urlbar becomes "" } else { //if about:blank, urlbar becomes ""
gURLBar.value = ""; gURLBar.value = "";
} }
SetPageProxyState("valid");
} }
// tell widget to revert to last typed text only if the user
// was scrolling when they hit escape
return isScrolling;
} }
function handleURLBarKeyPress(event) function handleURLBarCommand(aUserAction)
{ {
if (event.keyCode == KeyEvent.DOM_VK_RETURN) { addToUrlbarHistory(); BrowserLoadURL(); } if (aUserAction == "typing")
else if (event.keyCode == KeyEvent.DOM_VK_ESCAPE) { resetURLBar(); } addToUrlbarHistory();
BrowserLoadURL();
} }
function UpdatePageProxyState()
{
if (gURLBar.value != gLastValidURL)
SetPageProxyState("invalid");
}
function SetPageProxyState(aState)
{
if (!gProxyButton)
gProxyButton = document.getElementById("page-proxy-button");
gProxyButton.setAttribute("pageproxystate", aState);
if (aState == "valid") {
gLastValidURL = gURLBar.value;
gURLBar.addEventListener("input", UpdatePageProxyState, false);
} else if (aState == "invalid")
gURLBar.removeEventListener("input", UpdatePageProxyState, false);
}
function PageProxyDragGesture(aEvent)
{
if (gProxyButton.getAttribute("pageproxystate") == "valid")
nsDragAndDrop.startDrag(aEvent, proxyIconDNDObserver);
else
return false;
}

View File

@ -150,21 +150,24 @@ Contributor(s): ______________________________________. -->
<hbox id="nav-bar-inner" flex="1"> <hbox id="nav-bar-inner" flex="1">
<hbox id="urlbar-group" class="box-toolbar-group chromeclass-location" flex="1"> <hbox id="urlbar-group" class="box-toolbar-group chromeclass-location" flex="1">
<hbox autostretch="never" valign="middle" flex="1" id="urlbar-container"> <hbox flex="1" id="urlbar-container">
<image id="page-proxy-button" ondraggesture="nsDragAndDrop.startDrag(event, proxyIconDNDObserver);"/> <textbox id="urlbar" class="plain" flex="1"
<textbox autocomplete="true" timeout="300" class="plain" type="autocomplete" searchSessions="history"
searchSessionType="urlbar" id="urlbar" tooltip="aTooltip" tooltiptext="&locationBar.tooltip;" timeout="50" maxrows="6" alwaysOpenPopup="true"
onclick="if (event.button == 0) URLBarLeftClickHandler(event);" defaultSearchEngine="true"
onblur="URLBarBlurHandler(event);" tooltip="aTooltip" tooltiptext="&locationBar.tooltip;"
onkeypress="handleURLBarKeyPress(event);" flex="1"/> ontextcommand="return handleURLBarCommand(userAction);"
onkeypress="if (event.keyCode == 13) { addToUrlbarHistory(); BrowserLoadURL(); }" flex="1"/> ontextrevert="return handleURLBarRevert();"
onmouseup="URLBarMouseupHandler(event);"
onblur="URLBarBlurHandler(event);">
<image id="page-proxy-button" allowevents="true"
ondraggesture="PageProxyDragGesture(event);"/>
<menupopup id="ubhist-popup" class="autocomplete-history-popup"
popupalign="topleft" popupanchor="bottomleft"
oncreate="createUBHistoryMenu(event.target);"
oncommand="executeUrlBarHistoryCommand(event.target);"/>
</textbox>
</hbox> </hbox>
<menubutton class="menubutton-icon" id="ubhist">
<menupopup id="ubhist-popup" popupalign="topright" popupanchor="bottomright"
oncreate="createUBHistoryMenu(event.target);" oncommand="executeUrlBarHistoryCommand(event.target);">
</menupopup>
</menubutton>
</hbox> </hbox>
<button class="button-toolbar-3 chromeclass-location" id="go-button" persist="hidden" hidden="true" label="&goButton.label;" oncommand="addToUrlbarHistory(); BrowserLoadURL();" <button class="button-toolbar-3 chromeclass-location" id="go-button" persist="hidden" hidden="true" label="&goButton.label;" oncommand="addToUrlbarHistory(); BrowserLoadURL();"
@ -183,7 +186,7 @@ Contributor(s): ______________________________________. -->
</menupopup> </menupopup>
</menubutton> </menubutton>
<hbox autostretch="never"> <hbox id="throbber-box" autostretch="never">
<button id="navigator-throbber" oncommand="goClickThrobber('browser.throbber.url')" tooltip="aTooltip" tooltiptext="&throbber.tooltip;"/> <button id="navigator-throbber" oncommand="goClickThrobber('browser.throbber.url')" tooltip="aTooltip" tooltiptext="&throbber.tooltip;"/>
</hbox> </hbox>
</toolbar> </toolbar>

View File

@ -242,7 +242,8 @@ nsBrowserStatusHandler.prototype =
// We should probably not do this if the value has changed since the user // We should probably not do this if the value has changed since the user
// searched // searched
this.urlBar.value = location; this.urlBar.value = location;
SetPageProxyState("valid");
UpdateBackForwardButtons(); UpdateBackForwardButtons();
}, },

View File

@ -0,0 +1,351 @@
<?xml version="1.0"?>
<bindings id="urlbarBindings"
xmlns="http://www.mozilla.org/xbl"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<binding id="autocomplete-result-popup" extends="chrome://global/content/autocomplete.xml#autocomplete-result-popup">
<content menugenerated="true">
<xul:box class="autocomplete-result-box" flex="1">
<xul:outliner anonid="outliner" class="autocomplete-outliner" flex="1">
<xul:outlinerbody anonid="outlinerbody" class="autocomplete-outlinerbody" flex="1"/>
</xul:outliner>
</xul:box>
<xul:box role="search-box" class="autocomplete-search-box"/>
</content>
<implementation>
<constructor><![CDATA[
// listen for changes to default search engine
this.mPrefs.addObserver("browser.search", this.mSearchPrefObserver);
]]></constructor>
<destructor><![CDATA[
this.mPrefs.removeObserver("browser.search", this.mSearchPrefObserver);
]]></destructor>
<property name="selectedIndex"
onget="return this.textbox.view.selectedIndex;">
<setter>
this.mSelectedIndex = val;
if (val == null)
this.mSearchBox.selectedIndex = null;
return val;
</setter>
</property>
<property name="mSelectedIndex">
<setter>
this.textbox.view.selectedIndex = val;
return val;
</setter>
</property>
<property name="defaultSearchEngine"
onget="return this.textbox.getAttribute('defaultSearchEngine') == 'true';"
onset="this.textbox.setAttribute('defaultSearchEngine', val); return val;"/>
<property name="mSearchBox">
document.getAnonymousElementByAttribute(this, "role", "search-box");
</property>
<property name="mPrefs">
Components.classes["@mozilla.org/preferences;1"].getService(Components.interfaces.nsIPref);
</property>
<property name="mSearchPrefObserver"><![CDATA[
({
resultsPopup: this,
Observe: function() {
this.resultsPopup.updateEngines();
}
});
]]></property>
<property name="mInputListener"><![CDATA[
(function(aEvent) {
// don't update when the user is using the up/down keys
if (!this.ignoreInputEvent)
this.resultsPopup.mSearchBox.searchValue = this.value;
});
]]></property>
<property name="mEnginesReady">false</property>
<!-- initialize the columns in the outliner -->
<method name="initColumns">
<body><![CDATA[
this.addColumn({id: "value", flex: 2});
this.addColumn({id: "comment", flex: 1});
]]></body>
</method>
<method name="getOverrideValue">
<body><![CDATA[
if (this.mSearchBox.selectedIndex != null)
return this.mSearchBox.getOverrideValue();
return null;
]]></body>
</method>
<method name="addEngine">
<parameter name="aEngineId"/>
<parameter name="aName"/>
<parameter name="aIcon"/>
<body><![CDATA[
var box = document.createElement("box");
box.setAttribute("class", "autocomplete-search-engine");
box.setAttribute("searchEngine", aEngineId);
box.setAttribute("name", aName);
box.setAttribute("icon", aIcon);
box.engineIndex = this.childNodes.length;
this.mSearchBox.appendChild(box);
]]></body>
</method>
<method name="clearEngines">
<body><![CDATA[
var kids = this.mSearchBox.childNodes;
for (var i = kids.length-1; i >= 0; --i)
this.mSearchBox.removeChild(kids[i]);
]]></body>
</method>
<method name="updateEngines">
<body><![CDATA[
var rdf = Components.classes["@mozilla.org/rdf/rdf-service;1"]
.getService(Components.interfaces.nsIRDFService);
var ds = rdf.GetDataSource("rdf:internetsearch");
const kNC_Name = rdf.GetResource("http://home.netscape.com/NC-rdf#Name");
const kNC_Icon = rdf.GetResource("http://home.netscape.com/NC-rdf#Icon");
var defaultEngine = null;
try {
defaultEngine = this.mPrefs.CopyUnicharPref("browser.search.defaultengine");
} catch(ex) {
this.ensureDefaultEnginePrefs(rdf, ds);
defaultEngine = this.mPrefs.CopyUnicharPref("browser.search.defaultengine");
}
if (defaultEngine) {
this.clearEngines();
if (ds) {
var res = rdf.GetResource(defaultEngine);
this.addEngine(res.Value,
this.readRDFString(ds, res, kNC_Name),
this.readRDFString(ds, res, kNC_Icon));
}
}
this.mEnginesReady = true;
]]></body>
</method>
<method name="ensureDefaultEnginePrefs">
<parameter name="aRDF"/>
<parameter name="aDS"/>
<body><![CDATA[
var defaultName = this.mPrefs.getLocalizedUnicharPref("browser.search.defaultenginename");
const kNC_Root = aRDF.GetResource("NC:SearchEngineRoot");
const kNC_child = aRDF.GetResource("http://home.netscape.com/NC-rdf#child");
const kNC_Name = aRDF.GetResource("http://home.netscape.com/NC-rdf#Name");
var arcs = aDS.GetTargets(kNC_Root, kNC_child, true);
while (arcs.hasMoreElements()) {
var engineRes = arcs.getNext().QueryInterface(Components.interfaces.nsIRDFResource);
var name = this.readRDFString(aDS, engineRes, kNC_Name);
if (name == defaultName)
this.mPrefs.SetUnicharPref("browser.search.defaultengine", engineRes.Value);
}
]]></body>
</method>
<method name="readRDFString">
<parameter name="aDS"/>
<parameter name="aRes"/>
<parameter name="aProp"/>
<body><![CDATA[
var n = aDS.GetTarget(aRes, aProp, true);
if (n)
return n.QueryInterface(Components.interfaces.nsIRDFLiteral).Value;
]]></body>
</method>
<method name="selectBy">
<parameter name="aDir"/>
<parameter name="aAmount"/>
<body><![CDATA[
var bx = this.outliner.outlinerBoxObject;
var view = bx.view;
if (this.selectedIndex == null && aDir < 0) {
var sel = this.mSearchBox.selectBy(aDir, aAmount);
if (sel != null)
return null;
}
var sel = this.getNextIndex(aDir, aAmount, this.selectedIndex, view.rowCount-1);
this.mSelectedIndex = sel;
if (sel == null && aDir > 0)
this.mSearchBox.selectBy(aDir, aAmount);
else if (this.mSearchBox.selectedIndex != null)
this.mSearchBox.selectedIndex = null;
return sel;
]]></body>
</method>
</implementation>
<handlers>
<handler event="create"><![CDATA[
if (!this.mEnginesReady && this.defaultSearchEngine)
this.updateEngines();
this.textbox.addEventListener("input", this.mInputListener, false);
if ("searchValue" in this.mSearchBox)
this.mSearchBox.searchValue = this.textbox.value;
else
this.mSearchBox.setAttribute("searchvalue", this.textbox.value);
]]></handler>
<handler event="destroy"><![CDATA[
this.textbox.removeEventListener("input", this.mInputListener, false);
]]></handler>
</handlers>
</binding>
<binding id="autocomplete-search-box">
<content orient="vertical"/>
<implementation>
<constructor><![CDATA[
var text = this.getAttribute("searchvalue");
if (text)
this.searchValue = text;
this.mSelectedIndex = null;
]]></constructor>
<property name="parentMouseoverListener">
// ensure that if a result menuitem is moused-over, any
// search selection is cleared
(function(aEvent) {
if (aEvent.target.nodeName == "menuitem")
this.mSearchBox.selectedIndex = null;
})
</property>
<property name="parentDestroyListener">
// ensure that if the popup closes, any search selection is cleared
(function(aEvent) {
this.mSearchBox.selectedIndex = null;
})
</property>
<property name="activeChild"
onget="return this.childNodes[this.mSelectedIndex]"/>
<property name="selectedIndex">
<getter>return this.mSelectedIndex;</getter>
<setter><![CDATA[
if (this.mSelectedIndex != null)
this.activeChild.removeAttribute("menuactive");
this.mSelectedIndex = val;
if (val != null) {
this.parentNode.mSelectedIndex = null;
this.parentNode.addEventListener("mouseover", this.parentMouseoverListener, false);
this.parentNode.addEventListener("destroy", this.parentDestroyListener, false);
if (this.activeChild)
this.activeChild.setAttribute("menuactive", "true");
} else {
this.parentNode.removeEventListener("mouseover", this.parentMouseoverListener, false);
this.parentNode.removeEventListener("destroy", this.parentDestroyListener, false);
}
]]></setter>
</property>
<property name="searchValue">
<getter><![CDATA[
return this.mSearchValue;
]]></getter>
<setter><![CDATA[
this.mSearchValue = val;
var kids = this.childNodes;
for (var i = 0; i < kids.length; ++i) {
var name = kids[i].getAttribute("name");
kids[i].setAttribute("label", "Search " + name + " for \"" + val + "\"");
}
]]></setter>
</property>
<method name="selectBy">
<parameter name="aDir"/>
<parameter name="aAmount"/>
<body><![CDATA[
var sel = this.parentNode.getNextIndex(aDir, aAmount, this.selectedIndex, this.childNodes.length-1);
this.selectedIndex = sel;
return sel;
]]></body>
</method>
<method name="getOverrideValue">
<body><![CDATA[
var item = this.activeChild;
if (item) {
const ISEARCH_CONTRACTID = "@mozilla.org/rdf/datasource;1?name=internetsearch";
const nsIInternetSearchService = Components.interfaces.nsIInternetSearchService;
var searchService = Components.classes[ISEARCH_CONTRACTID].getService(nsIInternetSearchService);
return searchService.GetInternetSearchURL(item.getAttribute("searchEngine"),
escape(this.mSearchValue));
}
return null;
]]></body>
</method>
</implementation>
<handlers>
<handler event="mouseup">
this.parentNode.textbox.onResultClick();
</handler>
</handlers>
</binding>
<binding id="autocomplete-search-engine">
<content>
<xul:image class="autocomplete-search-engine-img" inherits="src=icon"/>
<xul:text class="autocomplete-search-engine-text" inherits="value=label"/>
</content>
<handlers>
<handler event="mouseover">
this.parentNode.selectedIndex = this.engineIndex;
</handler>
<handler event="mouseout">
this.parentNode.selectedIndex = null;
</handler>
</handlers>
</binding>
<binding id="autocomplete-result" extends="chrome://global/content/xulBindings.xml#menuitem">
<content>
<xul:text class="menu-text autocomplete-page-url" inherits="value=label" flex="2" crop="right"/>
<xul:text class="autocomplete-page-title" inherits="value=comment" flex="1" crop="right"/>
</content>
</binding>
</bindings>

View File

@ -146,3 +146,9 @@ function onChooseFile()
} }
doEnabling(); doEnabling();
} }
function useUBHistoryItem(aMenuItem)
{
var urlbar = document.getElementById("dialog.input");
urlbar.value = aMenuItem.getAttribute("label");
}

View File

@ -25,7 +25,7 @@
--> -->
<?xml-stylesheet href="chrome://navigator/skin/" type="text/css"?> <?xml-stylesheet href="chrome://communicator/skin/" type="text/css"?>
<?xul-overlay href="chrome://global/content/dialogOverlay.xul"?> <?xul-overlay href="chrome://global/content/dialogOverlay.xul"?>
<!DOCTYPE window [ <!DOCTYPE window [
@ -49,9 +49,11 @@
<script type="application/x-javascript" src="chrome://global/content/globalOverlay.js"/> <script type="application/x-javascript" src="chrome://global/content/globalOverlay.js"/>
<script type="application/x-javascript" src="chrome://communicator/content/openLocation.js"/> <script type="application/x-javascript" src="chrome://communicator/content/openLocation.js"/>
<script type="application/x-javascript" src="chrome://communicator/content/utilityOverlay.js"/> <script type="application/x-javascript" src="chrome://communicator/content/utilityOverlay.js"/>
<script type="application/x-javascript" src="chrome://navigator/content/sessionHistoryUI.js"/>
<stringbundle id="openLocationBundle" src="chrome://communicator/locale/openLocation.properties"/> <stringbundle id="openLocationBundle" src="chrome://communicator/locale/openLocation.properties"/>
<keyset id="dialogKeys"/> <keyset id="dialogKeys"/>
<box> <box>
<box orient="vertical"> <box orient="vertical">
<image class="question-icon"/> <image class="question-icon"/>
@ -63,8 +65,15 @@
<separator class="thin"/> <separator class="thin"/>
<box autostretch="never"> <box autostretch="never">
<textbox id="dialog.input" flex="1" oninput="doEnabling();"/> <textbox id="dialog.input" flex="1" type="autocomplete"
<button label="&chooseFile.label;" oncommand="onChooseFile();"/> searchSessions="history" timeout="50" maxrows="6"
oninput="doEnabling();">
<menupopup id="ubhist-popup" class="autocomplete-history-popup"
popupalign="topleft" popupanchor="bottomleft"
oncreate="createUBHistoryMenu(event.target);"
oncommand="useUBHistoryItem(event.target)"/>
</textbox>
<button label="&chooseFile.label;" onclick="onChooseFile();"/>
</box> </box>
<box autostretch="never" valign="center"> <box autostretch="never" valign="center">
<text class="label" value="&openWhere.label;"/> <text class="label" value="&openWhere.label;"/>

View File

@ -0,0 +1,8 @@
.outliner-scrollbar[hidescrollbar="true"] {
visibility: collapse;
}
.autocomplete-history-box {
overflow: auto;
}

File diff suppressed because it is too large Load Diff

View File

@ -113,6 +113,8 @@ static nsModuleComponentInfo components[] = {
nsGlobalHistoryConstructor }, nsGlobalHistoryConstructor },
{ "Global History", NS_GLOBALHISTORY_CID, NS_GLOBALHISTORY_DATASOURCE_CONTRACTID, { "Global History", NS_GLOBALHISTORY_CID, NS_GLOBALHISTORY_DATASOURCE_CONTRACTID,
nsGlobalHistoryConstructor }, nsGlobalHistoryConstructor },
{ "Global History", NS_GLOBALHISTORY_CID, NS_GLOBALHISTORY_AUTOCOMPLETE_CONTRACTID,
nsGlobalHistoryConstructor },
{ "Local Search", NS_RDFFINDDATASOURCE_CID, { "Local Search", NS_RDFFINDDATASOURCE_CID,
NS_LOCALSEARCH_SERVICE_CONTRACTID, LocalSearchDataSourceConstructor }, NS_LOCALSEARCH_SERVICE_CONTRACTID, LocalSearchDataSourceConstructor },
{ "Local Search", NS_RDFFINDDATASOURCE_CID, { "Local Search", NS_RDFFINDDATASOURCE_CID,

View File

@ -63,3 +63,10 @@ interface nsIBrowserHistory : nsISupports
readonly attribute string lastPageVisited; readonly attribute string lastPageVisited;
}; };
%{ C++
#define NS_GLOBALHISTORY_AUTOCOMPLETE_CONTRACTID \
"@mozilla.org/autocompleteSession;1?type=history"
%}

View File

@ -22,6 +22,7 @@
* *
* Contributor(s): * Contributor(s):
* Pierre Phaneuf <pp@ludusdesign.com> * Pierre Phaneuf <pp@ludusdesign.com>
* Joe Hewitt <hewitt@netscape.com>
*/ */
/* /*
@ -52,6 +53,7 @@
#include "prprf.h" #include "prprf.h"
#include "prtime.h" #include "prtime.h"
#include "rdf.h" #include "rdf.h"
#include "nsQuickSort.h"
#include "nsIURL.h" #include "nsIURL.h"
#include "nsNetCID.h" #include "nsNetCID.h"
@ -79,9 +81,9 @@ nsIRDFResource* nsGlobalHistory::kNC_URL;
nsIRDFResource* nsGlobalHistory::kNC_HistoryRoot; nsIRDFResource* nsGlobalHistory::kNC_HistoryRoot;
nsIRDFResource* nsGlobalHistory::kNC_HistoryByDate; nsIRDFResource* nsGlobalHistory::kNC_HistoryByDate;
#define PREF_BROWSER_HISTORY_LAST_PAGE_VISITED "browser.history.last_page_visited" #define PREF_BROWSER_HISTORY_LAST_PAGE_VISITED "browser.history.last_page_visited"
#define PREF_BROWSER_HISTORY_EXPIRE_DAYS "browser.history_expire_days" #define PREF_BROWSER_HISTORY_EXPIRE_DAYS "browser.history_expire_days"
#define PREF_AUTOCOMPLETE_ENABLED "browser.urlbar.autocomplete.enabled"
#define FIND_BY_AGEINDAYS_PREFIX "find:datasource=history&match=AgeInDays&method=" #define FIND_BY_AGEINDAYS_PREFIX "find:datasource=history&match=AgeInDays&method="
@ -457,6 +459,15 @@ nsGlobalHistory::nsGlobalHistory()
{ {
NS_INIT_REFCNT(); NS_INIT_REFCNT();
LL_I2L(mFileSizeOnDisk, 0); LL_I2L(mFileSizeOnDisk, 0);
// commonly used prefixes that should be chopped off all
// history and input urls before comparison
mIgnorePrefixes = new nsVoidArray(5);
mIgnorePrefixes->ReplaceElementAt((void*)new NS_LITERAL_STRING("http://www."), 0);
mIgnorePrefixes->ReplaceElementAt((void*)new NS_LITERAL_STRING("http://"), 1);
mIgnorePrefixes->ReplaceElementAt((void*)new NS_LITERAL_STRING("www."), 2);
mIgnorePrefixes->ReplaceElementAt((void*)new NS_LITERAL_STRING("https://www."), 3);
mIgnorePrefixes->ReplaceElementAt((void*)new NS_LITERAL_STRING("https://"), 4);
} }
nsGlobalHistory::~nsGlobalHistory() nsGlobalHistory::~nsGlobalHistory()
@ -492,6 +503,11 @@ nsGlobalHistory::~nsGlobalHistory()
if (mExpireNowTimer) if (mExpireNowTimer)
mExpireNowTimer->Cancel(); mExpireNowTimer->Cancel();
for(PRInt32 i = 0; i < mIgnorePrefixes->Count(); ++i) {
nsLocalString* entry = (nsLocalString*) mIgnorePrefixes->ElementAt(i);
delete entry;
}
} }
@ -502,13 +518,14 @@ nsGlobalHistory::~nsGlobalHistory()
// //
// nsISupports methods // nsISupports methods
NS_IMPL_ISUPPORTS6(nsGlobalHistory, NS_IMPL_ISUPPORTS7(nsGlobalHistory,
nsIGlobalHistory, nsIGlobalHistory,
nsIBrowserHistory, nsIBrowserHistory,
nsIObserver, nsIObserver,
nsISupportsWeakReference, nsISupportsWeakReference,
nsIRDFDataSource, nsIRDFDataSource,
nsIRDFRemoteDataSource) nsIRDFRemoteDataSource,
nsIAutoCompleteSession)
//---------------------------------------------------------------------- //----------------------------------------------------------------------
// //
@ -3388,3 +3405,302 @@ nsGlobalHistory::SearchEnumerator::ConvertToISupports(nsIMdbRow* aRow,
NS_ADDREF(*aResult); NS_ADDREF(*aResult);
return NS_OK; return NS_OK;
} }
//----------------------------------------------------------------------
//
// nsGlobalHistory::AutoCompleteEnumerator
//
// Implementation
nsGlobalHistory::AutoCompleteEnumerator::~AutoCompleteEnumerator()
{
}
PRBool
nsGlobalHistory::AutoCompleteEnumerator::IsResult(nsIMdbRow* aRow)
{
nsCString url;
mHistory->GetRowValue(aRow, mURLColumn, url);
nsString url2;
url2.AssignWithConversion(url);
PRBool result = mHistory->AutoCompleteCompare(url2, mSelectValue);
return result;
}
nsresult
nsGlobalHistory::AutoCompleteEnumerator::ConvertToISupports(nsIMdbRow* aRow, nsISupports** aResult)
{
nsCString url;
mHistory->GetRowValue(aRow, mURLColumn, url);
nsAutoString comments;
mHistory->GetRowValue(aRow, mCommentColumn, comments);
nsCOMPtr<nsIAutoCompleteItem> newItem(do_CreateInstance(NS_AUTOCOMPLETEITEM_CONTRACTID));
NS_ENSURE_TRUE(newItem, NS_ERROR_FAILURE);
PRUnichar* urlstr = url.ToNewUnicode();
newItem->SetValue(urlstr);
nsMemory::Free(urlstr);
newItem->SetComment(comments.get());
*aResult = newItem;
NS_ADDREF(*aResult);
return NS_OK;
}
//----------------------------------------------------------------------
//
// nsIAutoCompleteSession implementation
//
NS_IMETHODIMP
nsGlobalHistory::OnStartLookup(const PRUnichar *searchString,
nsIAutoCompleteResults *previousSearchResult,
nsIAutoCompleteListener *listener)
{
NS_ASSERTION(searchString, "searchString can't be null, fix your caller");
if (!listener)
return NS_ERROR_NULL_POINTER;
nsresult rv = NS_OK;
NS_WITH_SERVICE(nsIPref, prefs, kPrefCID, &rv);
if (NS_FAILED(rv)) return rv;
PRBool enabled = PR_FALSE;
prefs->GetBoolPref(PREF_AUTOCOMPLETE_ENABLED, &enabled);
if (!enabled || searchString[0] == 0) {
listener->OnAutoComplete(nsnull, nsIAutoCompleteStatus::ignored);
return NS_OK;
}
nsCOMPtr<nsIAutoCompleteResults> results;
results = do_CreateInstance(NS_AUTOCOMPLETERESULTS_CONTRACTID, &rv);
if (NS_FAILED(rv)) return rv;
AutoCompleteStatus status = nsIAutoCompleteStatus::failed;
// pass user input through filter before search
nsCommonString filtered = AutoCompletePrefilter(nsLocalString (searchString));
if (filtered.Length() == 0) {
listener->OnAutoComplete(results, status);
return NS_OK;
}
// perform the actual search here
rv = AutoCompleteSearch(filtered, previousSearchResult, results);
// describe the search results
if (NS_SUCCEEDED(rv)) {
PRBool addedDefaultItem = PR_FALSE;
results->SetSearchString(searchString);
results->SetDefaultItemIndex(-1);
// determine if we have found any matches or not
nsCOMPtr<nsISupportsArray> array;
rv = results->GetItems(getter_AddRefs(array));
if (NS_SUCCEEDED(rv)) {
PRUint32 nbrOfItems;
rv = array->Count(&nbrOfItems);
if (NS_SUCCEEDED(rv)) {
if (nbrOfItems >= 1) {
status = nsIAutoCompleteStatus::matchFound;
} else {
status = nsIAutoCompleteStatus::noMatch;
}
}
}
// notify the listener
listener->OnAutoComplete(results, status);
}
return NS_OK;
}
NS_IMETHODIMP
nsGlobalHistory::OnStopLookup()
{
return NS_OK;
}
NS_IMETHODIMP
nsGlobalHistory::OnAutoComplete(const PRUnichar *searchString,
nsIAutoCompleteResults *previousSearchResult,
nsIAutoCompleteListener *listener)
{
return NS_OK;
}
//----------------------------------------------------------------------
//
// AutoComplete stuff
//
nsresult
nsGlobalHistory::AutoCompleteSearch(const nsAReadableString& aSearchString,
nsIAutoCompleteResults* aPrevResults,
nsIAutoCompleteResults* aResults)
{
// determine if we can skip searching the whole history and only search
// through the previous search results
PRBool searchPrevious = PR_FALSE;
if (aPrevResults) {
nsXPIDLString prevURL;
aPrevResults->GetSearchString(getter_Copies(prevURL));
nsLocalString prevURLStr(prevURL);
// if search string begins with the previous search string, it's a go
searchPrevious = Substring(aSearchString, 0, prevURLStr.Length()).Equals(prevURLStr);
}
nsCOMPtr<nsISupportsArray> resultItems;
nsresult rv = aResults->GetItems(getter_AddRefs(resultItems));
if (searchPrevious) {
// searching through the previous results...
nsCOMPtr<nsISupportsArray> prevResultItems;
aPrevResults->GetItems(getter_AddRefs(prevResultItems));
PRUint32 count;
prevResultItems->Count(&count);
for (PRUint32 i = 0; i < count; ++i) {
nsCOMPtr<nsIAutoCompleteItem> item;
prevResultItems->GetElementAt(i, getter_AddRefs(item));
nsXPIDLString url;
item->GetValue(getter_Copies(url));
nsLocalString urlstr(url);
if (AutoCompleteCompare(urlstr, aSearchString))
resultItems->AppendElement(item);
}
} else {
// searching through the entire history...
// prepare the search enumerator
AutoCompleteEnumerator* enumerator;
enumerator = new AutoCompleteEnumerator(this, kToken_URLColumn,
kToken_NameColumn, aSearchString);
rv = enumerator->Init(mEnv, mTable);
if (NS_FAILED(rv)) return rv;
// store hits in an auto array initially
nsAutoVoidArray array;
nsISupports* entry; // not using nsCOMPtr here to avoid time spent refcounting
// while passing these around between the 3 arrays
// step through the enumerator
PRBool hasMore;
while (true) {
enumerator->HasMoreElements(&hasMore);
if (!hasMore) break;
enumerator->GetNext(&entry);
array.AppendElement(entry);
}
// turn auto array into flat array for quick sort
PRUint32 count = array.Count();
nsIAutoCompleteItem** items = new nsIAutoCompleteItem*[count];
PRUint32 i;
for (i = 0; i < count; ++i)
items[i] = (nsIAutoCompleteItem*)array.ElementAt(i);
// sort it
NS_QuickSort(items, count, sizeof(nsIAutoCompleteItem*), AutoCompleteSortComparison, nsnull);
// place the sorted array into the autocomplete results
for (i = 0; i < count; ++i) {
nsISupports* item = (nsISupports*)items[i];
resultItems->AppendElement(item);
NS_IF_RELEASE(item); // release manually since we didn't use nsCOMPtr above
}
delete[] items;
}
return NS_OK;
}
void
nsGlobalHistory::AutoCompleteCutPrefix(nsAWritableString& aURL)
{
// This comparison is case-sensitive. Therefore, it assumes that aUserURL is a
// potential URL whose host name is in all lower case.
PRInt32 idx = 0;
for (PRInt32 i = 0; i < mIgnorePrefixes->Count(); ++i) {
nsString* string = (nsString*) mIgnorePrefixes->ElementAt(i);
if (Substring(aURL, 0, string->Length()).Equals(*string)) {
idx = string->Length();
break;
}
}
if (idx)
aURL.Cut(0, idx);
}
nsCommonString
nsGlobalHistory::AutoCompletePrefilter(const nsAReadableString& aSearchString)
{
// XXX using nsAutoString here only because nsAString's Cut method doesn't work
// and it hasn't implemented ToLowerCase yet
nsAutoString url(aSearchString);
AutoCompleteCutPrefix(url);
PRInt32 slash = url.FindChar('/', 0);
if (slash >= 0) {
// if user is typing a url but has already typed past the host,
// then convert the host to lowercase
nsAutoString host;
url.Left(host, slash);
host.ToLowerCase();
url.Assign(host + Substring(url, slash, url.Length()-slash));
} else {
// otherwise, assume the user could still be typing the host, and
// convert everything to lowercase
url.ToLowerCase();
}
return url;
}
PRBool
nsGlobalHistory::AutoCompleteCompare(nsAString& aHistoryURL, const nsAReadableString& aUserURL)
{
AutoCompleteCutPrefix(aHistoryURL);
return Substring(aHistoryURL, 0, aUserURL.Length()).Equals(aUserURL);
}
int PR_CALLBACK
AutoCompleteSortComparison(const void *v1, const void *v2, void *unused)
{
nsIAutoCompleteItem *item1 = *(nsIAutoCompleteItem**) v1;
nsIAutoCompleteItem *item2 = *(nsIAutoCompleteItem**) v2;
nsXPIDLString s1;
item1->GetValue(getter_Copies(s1));
nsXPIDLString s2;
item2->GetValue(getter_Copies(s2));
if (!s1) {
if (!s2)
return 0;
else
return -1;
} else if (!s2) {
return 1;
} else {
return nsCRT::strcmp(s1, s2);
}
}

View File

@ -42,6 +42,7 @@
#include "nsCOMPtr.h" #include "nsCOMPtr.h"
#include "nsAWritableString.h" #include "nsAWritableString.h"
#include "nsITimer.h" #include "nsITimer.h"
#include "nsIAutoCompleteSession.h"
//---------------------------------------------------------------------- //----------------------------------------------------------------------
// //
@ -98,7 +99,8 @@ class nsGlobalHistory : nsSupportsWeakReference,
public nsIBrowserHistory, public nsIBrowserHistory,
public nsIObserver, public nsIObserver,
public nsIRDFDataSource, public nsIRDFDataSource,
public nsIRDFRemoteDataSource public nsIRDFRemoteDataSource,
public nsIAutoCompleteSession
{ {
public: public:
// nsISupports methods // nsISupports methods
@ -109,6 +111,7 @@ public:
NS_DECL_NSIOBSERVER NS_DECL_NSIOBSERVER
NS_DECL_NSIRDFDATASOURCE NS_DECL_NSIRDFDATASOURCE
NS_DECL_NSIRDFREMOTEDATASOURCE NS_DECL_NSIRDFREMOTEDATASOURCE
NS_DECL_NSIAUTOCOMPLETESESSION
NS_METHOD Init(); NS_METHOD Init();
@ -169,6 +172,17 @@ protected:
PRBool RowMatches(nsIMdbRow* aRow, searchQuery *aQuery); PRBool RowMatches(nsIMdbRow* aRow, searchQuery *aQuery);
nsresult NotifyFindAssertions(nsIRDFResource *aSource, nsIMdbRow *aRow); nsresult NotifyFindAssertions(nsIRDFResource *aSource, nsIMdbRow *aRow);
//
// autocomplete stuff
//
nsVoidArray* mIgnorePrefixes;
nsresult AutoCompleteSearch(const nsAReadableString& aSearchString,
nsIAutoCompleteResults* aPrevResults,
nsIAutoCompleteResults* aResults);
void AutoCompleteCutPrefix(nsAWritableString& aURL);
nsCommonString AutoCompletePrefilter(const nsAReadableString& aSearchString);
PRBool AutoCompleteCompare(nsAString& aHistoryURL, const nsAReadableString& aUserURL);
// caching of PR_Now() so we don't call it every time we do // caching of PR_Now() so we don't call it every time we do
// a history query // a history query
@ -332,10 +346,43 @@ protected:
virtual nsresult ConvertToISupports(nsIMdbRow* aRow, virtual nsresult ConvertToISupports(nsIMdbRow* aRow,
nsISupports** aResult); nsISupports** aResult);
PRBool RowMatches(nsIMdbRow* aRow, searchQuery *aQuery);
}; };
// AutoCompleteEnumerator - for searching for a partial url match
class AutoCompleteEnumerator : public nsMdbTableEnumerator
{
protected:
mdb_column mURLColumn;
mdb_column mCommentColumn;
const nsAReadableString& mSelectValue;
nsGlobalHistory* mHistory;
virtual ~AutoCompleteEnumerator();
public:
AutoCompleteEnumerator(nsGlobalHistory* aHistory,
mdb_column aURLColumn,
mdb_column aCommentColumn,
const nsAReadableString& aSelectValue) :
mHistory(aHistory),
mURLColumn(aURLColumn),
mCommentColumn(aCommentColumn),
mSelectValue(aSelectValue)
{}
protected:
virtual PRBool IsResult(nsIMdbRow* aRow);
virtual nsresult ConvertToISupports(nsIMdbRow* aRow, nsISupports** aResult);
};
friend class URLEnumerator; friend class URLEnumerator;
friend class SearchEnumerator; friend class SearchEnumerator;
friend class AutoCompleteEnumerator;
}; };
int PR_CALLBACK
AutoCompleteSortComparison(const void *v1, const void *v2, void *unused);
#endif // nsglobalhistory__h____ #endif // nsglobalhistory__h____

View File

@ -167,6 +167,7 @@ toolkit.jar:
content/global/downloadProgress.xul (xfer/resources/downloadProgress.xul) content/global/downloadProgress.xul (xfer/resources/downloadProgress.xul)
content/global/downloadProgress.js (xfer/resources/downloadProgress.js) content/global/downloadProgress.js (xfer/resources/downloadProgress.js)
content/global/autocomplete.xml (autocomplete/resources/content/autocomplete.xml) content/global/autocomplete.xml (autocomplete/resources/content/autocomplete.xml)
content/global/autocomplete.css (autocomplete/resources/content/autocomplete.css)
content/global/filepicker.js (filepicker/res/content/filepicker.js) content/global/filepicker.js (filepicker/res/content/filepicker.js)
content/global/filepicker.xul (filepicker/res/content/filepicker.xul) content/global/filepicker.xul (filepicker/res/content/filepicker.xul)
content/global/filepicker.css (filepicker/res/content/filepicker.css) content/global/filepicker.css (filepicker/res/content/filepicker.css)

View File

@ -35,6 +35,7 @@
<stringbundle id="bundle_prefutilities" src="chrome://communicator/locale/pref/prefutilities.properties"/> <stringbundle id="bundle_prefutilities" src="chrome://communicator/locale/pref/prefutilities.properties"/>
<script type="application/x-javascript" src="chrome://communicator/content/pref/pref-navigator.js"/> <script type="application/x-javascript" src="chrome://communicator/content/pref/pref-navigator.js"/>
<script type="application/x-javascript"> <script type="application/x-javascript">
<![CDATA[ <![CDATA[
var _elementIDs = ["startupPage", "browserStartupHomepage", var _elementIDs = ["startupPage", "browserStartupHomepage",
@ -66,7 +67,8 @@
<html>&homePageIntro.label;</html> <html>&homePageIntro.label;</html>
<box autostretch="never"> <box autostretch="never">
<text class="label" value="&location.label;" accesskey="&location.accesskey;" for="browserStartupHomepage"/> <text class="label" value="&location.label;" accesskey="&location.accesskey;" for="browserStartupHomepage"/>
<textbox id="browserStartupHomepage" flex="1" wsm_persist="true" <textbox id="browserStartupHomepage" type="autocomplete" flex="1" wsm_persist="true"
searchSessions="history" timeout="50" maxrows="6"
pref="true" preftype="string" prefstring="browser.startup.homepage" pref="true" preftype="string" prefstring="browser.startup.homepage"
prefattribute="value"/> <!-- we may wish to change this to data prefattribute="value"/> <!-- we may wish to change this to data
when we support fancy formatted local filenames --> when we support fancy formatted local filenames -->

View File

@ -536,8 +536,36 @@ text[editable="true"][mode="edit"] {
-moz-binding: url(chrome://global/content/xulBindings.xml#text-editable-edit); -moz-binding: url(chrome://global/content/xulBindings.xml#text-editable-edit);
} }
textbox[autocomplete="true"] { textbox[type="autocomplete"] {
-moz-binding: url(chrome://global/content/autocomplete.xml#autocomplete); -moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete");
}
.autocomplete-internal-box {
-moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete-internal-box");
}
.autocomplete-result-popup {
-moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete-result-popup") !important;
}
.autocomplete-history-popup {
-moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete-history-popup") !important;
}
.autocomplete-outliner {
-moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete-outliner") !important;
}
.autocomplete-outlinerbody {
-moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete-outlinerbody") !important;
}
.autocomplete-outlinerrows {
-moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete-outlinerrows") !important;
}
.autocomplete-outlinercol {
-moz-binding: url("chrome://global/content/autocomplete.xml#autocomplete-outlinercol") !important;
} }
colorpicker { colorpicker {