зеркало из https://github.com/mozilla/pjs.git
43189 - autocomplete, r=matt, sr=alecf
This commit is contained in:
Родитель
2a29bb785f
Коммит
29b4473e34
|
@ -75,15 +75,12 @@ Rights Reserved.
|
|||
<treeitem>
|
||||
<treerow>
|
||||
<treecell allowevents="true">
|
||||
<textbox id="address#1"
|
||||
flex="100%"
|
||||
onkeypress="handleKeyPress(this, event);"
|
||||
onclick="awNotAnEmptyArea(event);"
|
||||
autocomplete="true"
|
||||
timeout="300"
|
||||
searchSessionType="addrbook"
|
||||
/>
|
||||
</treecell>
|
||||
<textbox id="address#1" flex="1"
|
||||
type="autocomplete" searchSessions="addrbook"
|
||||
timeout="300" autoFill="true"
|
||||
onkeypress="handleKeyPress(this, event);"
|
||||
onclick="awNotAnEmptyArea(event);"/>
|
||||
</treecell>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
|
|
|
@ -722,12 +722,15 @@ function awSetAutoComplete(rowNumber)
|
|||
_awSetAutoComplete(selectElem, inputElem)
|
||||
}
|
||||
|
||||
function awRecipientTextCommand(userAction, element)
|
||||
{
|
||||
if (userAction == "typing" || userAction == "scrolling")
|
||||
awReturnHit(element);
|
||||
}
|
||||
|
||||
function awRecipientKeyPress(event, element)
|
||||
{
|
||||
switch(event.keyCode) {
|
||||
case 13:
|
||||
awReturnHit(element);
|
||||
break;
|
||||
case 9:
|
||||
awTabFromRecipient(element, event);
|
||||
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
|
||||
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);
|
||||
event.preventBubble(); //We need to stop the event else the tree will receive it and the function
|
||||
//awKeyDown will be executed!
|
||||
|
|
|
@ -58,14 +58,14 @@ Rights Reserved.
|
|||
</menulist>
|
||||
</treecell>
|
||||
<treecell class="treecell-addressingWidget" autostretch="never">
|
||||
<image onclick="awNotAnEmptyArea(event)" class="person-icon"/>
|
||||
<textbox id="msgRecipient#1" flex="1"
|
||||
class="plain textbox-addressingWidget"
|
||||
style="width:0px;" allowevents="true"
|
||||
onkeypress="awRecipientKeyPress(event, this)"
|
||||
onkeydown="awRecipientKeyDown(event, this)"
|
||||
autocomplete="true" timeout="300"
|
||||
searchSessionType="addrbook" displayMenu="true"/>
|
||||
<textbox id="msgRecipient#1" class="plain textbox-addressingWidget"
|
||||
type="autocomplete" allowevents="true" flex="1"
|
||||
searchSessions="addrbook" timeout="300" maxrows="4" autoFill="true"
|
||||
ontextcommand="awRecipientTextCommand(userAction, this)"
|
||||
onkeypress="awRecipientKeyPress(event, this)"
|
||||
onkeydown="awRecipientKeyDown(event, this)">
|
||||
<image onclick="awNotAnEmptyArea(event)" class="person-icon"/>
|
||||
</textbox>
|
||||
</treecell>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
|
|
|
@ -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;
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
classic.jar:
|
||||
skin/classic/global/contents.rdf
|
||||
skin/classic/global/autocomplete.css
|
||||
skin/classic/global/box.css
|
||||
skin/classic/global/button.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-down.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-middle.gif
|
||||
skin/classic/global/button-def-disabled-right.gif
|
||||
|
|
|
@ -278,3 +278,12 @@ autorepeatbutton > .autorepeatbutton-down {
|
|||
autorepeatbutton:hover > .autorepeatbutton-down {
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,88 +0,0 @@
|
|||
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /* set default namespace to HTML */
|
||||
@namespace html url("http://www.w3.org/1999/xhtml"); /* namespace for XUL elements */
|
||||
|
||||
/** generic text fields (in dialogs)
|
||||
**/
|
||||
|
||||
/* outer frame */
|
||||
textbox
|
||||
{
|
||||
border : 1px inset ThreeDLightShadow;
|
||||
font : inherit;
|
||||
color : WindowText;
|
||||
padding : 0px;
|
||||
margin : 1px 3px 2px 4px;
|
||||
background-color : -moz-field;
|
||||
-moz-border-radius : 3px 2px 2px 3px;
|
||||
cursor : text;
|
||||
}
|
||||
|
||||
textbox[readonly="true"]
|
||||
{
|
||||
background-color : -moz-field;
|
||||
}
|
||||
|
||||
textbox[focused="true"]
|
||||
{
|
||||
border : 2px solid -moz-mac-focusring;
|
||||
margin : 0px 2px 1px 3px;
|
||||
}
|
||||
|
||||
textbox[focused="true"][readonly="true"]
|
||||
{
|
||||
border : 1px inset #CCCCCC;
|
||||
margin : 1px 3px 2px 4px;
|
||||
}
|
||||
|
||||
/* internal frame */
|
||||
.textbox-internal-box
|
||||
{
|
||||
margin : 0px;
|
||||
padding : 1px 2px 1px 2px;
|
||||
cursor : text;
|
||||
border : 1px solid ActiveBorder;
|
||||
background-color : inherit;
|
||||
color : inherit;
|
||||
}
|
||||
|
||||
textbox[disabled="true"] > .textbox-internal-box
|
||||
{
|
||||
border : 1px solid ThreeDShadow;
|
||||
}
|
||||
|
||||
.textarea-internal-box
|
||||
{
|
||||
padding : 0px 0px 0px 2px;
|
||||
}
|
||||
|
||||
/* internal text widget */
|
||||
.textbox-input, .textbox-textarea
|
||||
{
|
||||
border : none !important;
|
||||
margin : 0px;
|
||||
padding : 0px;
|
||||
font : inherit;
|
||||
background-color : inherit;
|
||||
color : inherit;
|
||||
}
|
||||
|
||||
textbox[disabled="true"]
|
||||
{
|
||||
cursor : default ! important;
|
||||
}
|
||||
|
||||
/** plain atomic textboxs, class="plain" **/
|
||||
textbox.plain,
|
||||
textbox.plain > .textbox-internal-box,
|
||||
textbox.plain > .textarea-internal-box
|
||||
{
|
||||
padding : 0px !important;
|
||||
margin : 0px !important;
|
||||
border : none !important;
|
||||
}
|
||||
|
||||
/* autocomplete text field */
|
||||
.textbox-popup > menuitem
|
||||
{
|
||||
max-width : none !important;
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -173,6 +173,18 @@
|
|||
</content>
|
||||
</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">
|
||||
<content autostretch="never">
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
classic.jar:
|
||||
skin/classic/global/contents.rdf
|
||||
skin/classic/global/preview.png (../../preview/win/preview.png)
|
||||
skin/classic/global/autocomplete.css
|
||||
skin/classic/global/box.css
|
||||
skin/classic/global/button.css
|
||||
skin/classic/global/checkbox.css
|
||||
|
|
|
@ -265,3 +265,10 @@ autorepeatbutton:hover
|
|||
padding : 2px 1px 1px 2px;
|
||||
}
|
||||
|
||||
/* ::::: autocomplete menuitems ::::: */
|
||||
|
||||
.autocomplete-history-popup > menuitem
|
||||
{
|
||||
max-width : none !important;
|
||||
font-size : smaller;
|
||||
}
|
||||
|
|
|
@ -1,69 +0,0 @@
|
|||
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /* set default namespace to HTML */
|
||||
@namespace html url("http://www.w3.org/1999/xhtml"); /* namespace for XUL elements */
|
||||
|
||||
/** generic text fields (in dialogs)
|
||||
**/
|
||||
|
||||
/* outer frame */
|
||||
textbox
|
||||
{
|
||||
margin : 1px 5px 2px 5px;
|
||||
border-top : 1px solid ThreeDShadow;
|
||||
border-right : 1px solid ThreeDHighlight;
|
||||
border-bottom : 1px solid ThreeDHighlight;
|
||||
border-left : 1px solid ThreeDShadow;
|
||||
padding : 0px;
|
||||
background-color : -moz-Field;
|
||||
color : -moz-FieldText;
|
||||
cursor : text;
|
||||
}
|
||||
|
||||
textbox[readonly="true"]
|
||||
{
|
||||
background-color : -moz-Dialog;
|
||||
}
|
||||
|
||||
/* internal frame */
|
||||
.textbox-internal-box, .textarea-internal-box
|
||||
{
|
||||
margin : 0px;
|
||||
padding : 1px 2px 1px 2px;
|
||||
border-left : 1px solid ThreeDDarkShadow;
|
||||
border-top : 1px solid ThreeDDarkShadow;
|
||||
border-right : 1px solid ThreeDFace;
|
||||
border-bottom : 1px solid ThreeDFace;
|
||||
}
|
||||
|
||||
/* internal text widget */
|
||||
.textbox-input, .textbox-textarea
|
||||
{
|
||||
border : none !important;
|
||||
margin : 0px;
|
||||
padding : 0px;
|
||||
font : inherit;
|
||||
background-color : inherit;
|
||||
color : inherit;
|
||||
}
|
||||
|
||||
textbox[disabled="true"]
|
||||
{
|
||||
cursor : default !important;
|
||||
background-color : -moz-Dialog;
|
||||
color : GrayText;
|
||||
}
|
||||
|
||||
/** plain atomic textboxs, class="plain" **/
|
||||
textbox.plain,
|
||||
textbox.plain > .textbox-internal-box,
|
||||
textbox.plain > .textarea-internal-box
|
||||
{
|
||||
padding : 0px !important;
|
||||
margin : 0px !important;
|
||||
border : none !important;
|
||||
}
|
||||
|
||||
/* autocomplete text field */
|
||||
.textbox-popup > menuitem
|
||||
{
|
||||
max-width : none !important;
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
/** Contains style definitions for the navigator application
|
||||
**/
|
||||
|
||||
@import url(chrome://navigator/content/navigator.css);
|
||||
@import url(chrome://communicator/skin/);
|
||||
@import url(chrome://navigator/skin/personalToolbar.css);
|
||||
@import url(chrome://communicator/skin/sidebar/sidebar.css);
|
||||
|
@ -15,66 +16,11 @@
|
|||
/** 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
|
||||
{
|
||||
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
|
||||
*/
|
||||
|
@ -195,6 +141,11 @@ window[chromehidden~="extrachrome"] .chromeclass-extrachrome {
|
|||
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
|
||||
{
|
||||
-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");
|
||||
}
|
||||
|
||||
/* ::::: 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;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/** Contains style definitions for the navigator application
|
||||
**/
|
||||
|
||||
@import url(chrome://navigator/content/navigator.css);
|
||||
@import url(chrome://communicator/skin/);
|
||||
@import url(chrome://navigator/skin/personalToolbar.css);
|
||||
@import url(chrome://communicator/skin/sidebar/sidebar.css);
|
||||
|
@ -19,38 +20,6 @@
|
|||
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
|
||||
{
|
||||
min-width : 0px;
|
||||
|
@ -63,34 +32,6 @@
|
|||
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
|
||||
*/
|
||||
|
@ -194,11 +135,11 @@ window[chromehidden~="extrachrome"] .chromeclass-extrachrome {
|
|||
}
|
||||
|
||||
/*all the urlbar stuff*/
|
||||
#page-proxy-button
|
||||
#page-proxy-button
|
||||
{
|
||||
list-style-image : url("chrome://communicator/skin/bookmarks/location.gif");
|
||||
cursor : grab;
|
||||
margin : 0px 2px 0px 0px;
|
||||
margin : 2px 4px 2px 2px;
|
||||
}
|
||||
|
||||
#page-proxy-button:hover
|
||||
|
@ -211,6 +152,11 @@ window[chromehidden~="extrachrome"] .chromeclass-extrachrome {
|
|||
list-style-image : url("chrome://communicator/skin/bookmarks/location-clicked.gif");
|
||||
}
|
||||
|
||||
#page-proxy-button[pageproxystate="invalid"]
|
||||
{
|
||||
cursor : default;
|
||||
}
|
||||
|
||||
#ubhist-keyword-popup
|
||||
{
|
||||
margin : 0px 4px 0px 0px;
|
||||
|
@ -226,10 +172,11 @@ window[chromehidden~="extrachrome"] .chromeclass-extrachrome {
|
|||
|
||||
#nav-bar-inner
|
||||
{
|
||||
min-width : 0px;
|
||||
margin : 8px 0px 8px 6px;
|
||||
-moz-binding : url("chrome://global/skin/classicBindings.xml#autostretch-never");
|
||||
min-width : 0px;
|
||||
margin : 8px 0px 8px 6px;
|
||||
}
|
||||
|
||||
|
||||
#search-button
|
||||
{
|
||||
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");
|
||||
}
|
||||
|
||||
/* ::::: 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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
|
@ -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")
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
|
@ -1,4 +1,5 @@
|
|||
modern.jar:
|
||||
skin/modern/README
|
||||
skin/modern/communicator/brand.css (communicator/brand.css)
|
||||
skin/modern/communicator/button.css (communicator/button.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/brand/brandBindings.xml (communicator/brand/brandBindings.xml)
|
||||
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/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-dis.gif (communicator/btn1/print-dis.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/preview.css (communicator/sidebar/preview.css)
|
||||
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-lft.gif (communicator/sidebar/sbtab-dod-lft.gif)
|
||||
skin/modern/communicator/sidebar/sbtab-dod-lftcap-act.gif (communicator/sidebar/sbtab-dod-lftcap-act.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-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-light.gif (communicator/sidebar/sbtab-light.gif)
|
||||
skin/modern/communicator/sidebar/sbtab-lod-lft.gif (communicator/sidebar/sbtab-lod-lft.gif)
|
||||
skin/modern/communicator/sidebar/sbtab-dol-ritcap-act.gif (communicator/sidebar/sbtab-dol-ritcap-act.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-ritcap.gif (communicator/sidebar/sbtab-lod-ritcap.gif)
|
||||
skin/modern/communicator/sidebar/sidebar.css (communicator/sidebar/sidebar.css)
|
||||
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.gif (communicator/taskbar/addressbook.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/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.gif (communicator/taskbar/mail.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/popup-arrow.gif (communicator/taskbar/popup-arrow.gif)
|
||||
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-rit-btm.gif (communicator/taskbar/tbar-rit-btm.gif)
|
||||
skin/modern/communicator/taskbar/tbar-rit-top.gif (communicator/taskbar/tbar-rit-top.gif)
|
||||
skin/modern/communicator/toolbar/grip-prtb-btm-act.gif (communicator/toolbar/grip-prtb-btm-act.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/taskbar/tbar-lft.gif (communicator/taskbar/tbar-lft.gif)
|
||||
skin/modern/communicator/taskbar/tbar-mb-lft.gif (communicator/taskbar/tbar-mb-lft.gif)
|
||||
skin/modern/communicator/taskbar/tbar-mb-mid.gif (communicator/taskbar/tbar-mb-mid.gif)
|
||||
skin/modern/communicator/taskbar/tbar-mb-rit.gif (communicator/taskbar/tbar-mb-rit.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-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.gif (communicator/toolbar/mbtn1-arrow.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-lft-mid.gif (communicator/toolbar/prtb-lft-mid.gif)
|
||||
skin/modern/communicator/toolbar/prtb-lft-top.gif (communicator/toolbar/prtb-lft-top.gif)
|
||||
skin/modern/communicator/toolbar/prtb-grip-top.gif (communicator/toolbar/prtb-grip-top.gif)
|
||||
skin/modern/communicator/toolbar/prtb-grip-mid.gif (communicator/toolbar/prtb-grip-mid.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-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-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-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/xpinstall/xpinstall.css (communicator/xpinstall/xpinstall.css)
|
||||
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-hov.gif (editor/btn2/underline-hov.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-normal.gif (editor/icons/editmode-normal.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-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/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_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/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/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/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/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/button.css (global/button.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-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-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-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)
|
||||
|
@ -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-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-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-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)
|
||||
|
@ -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-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-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-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)
|
||||
|
@ -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-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-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-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)
|
||||
|
@ -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-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-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-rit-btm.gif (global/button/btn-rit-btm.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-message.gif (global/icons/alert-message.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/grip-mbar-btm.gif (global/menu/grip-mbar-btm.gif)
|
||||
skin/modern/global/menu/grip-mbar-mid-act.gif (global/menu/grip-mbar-mid-act.gif)
|
||||
skin/modern/global/menu/grip-mbar-mid.gif (global/menu/grip-mbar-mid.gif)
|
||||
skin/modern/global/menu/grip-mbar-top-act.gif (global/menu/grip-mbar-top-act.gif)
|
||||
skin/modern/global/menu/grip-mbar-top.gif (global/menu/grip-mbar-top.gif)
|
||||
skin/modern/global/menu/mbgrip-btm-act.gif (global/menu/mbgrip-btm-act.gif)
|
||||
skin/modern/global/menu/mbgrip-btm.gif (global/menu/mbgrip-btm.gif)
|
||||
skin/modern/global/menu/mbgrip-mid-act.gif (global/menu/mbgrip-mid-act.gif)
|
||||
skin/modern/global/menu/mbgrip-mid.gif (global/menu/mbgrip-mid.gif)
|
||||
skin/modern/global/menu/mbgrip-top-act.gif (global/menu/mbgrip-top-act.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-hov.gif (global/menu/menu-arrow-hov.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-hov.gif (global/menu/menu-radio-hov.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-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-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-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)
|
||||
|
@ -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-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-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-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)
|
||||
|
@ -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-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-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-rit-btm.gif (global/menulist/mlist-rit-btm.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-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/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.gif (global/tabcontrol/tab-act-lft.gif)
|
||||
skin/modern/global/tabcontrol/tab-act-mid.gif (global/tabcontrol/tab-act-mid.gif)
|
||||
skin/modern/global/tabcontrol/tab-act-lft-top.gif (global/tabcontrol/tab-act-lft-top.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.gif (global/tabcontrol/tab-act-rit.gif)
|
||||
skin/modern/global/tabcontrol/tab-bot-act-lft.gif (global/tabcontrol/tab-bot-act-lft.gif)
|
||||
skin/modern/global/tabcontrol/tab-bot-act-mid.gif (global/tabcontrol/tab-bot-act-mid.gif)
|
||||
skin/modern/global/tabcontrol/tab-bot-act-rit.gif (global/tabcontrol/tab-bot-act-rit.gif)
|
||||
skin/modern/global/tabcontrol/tab-bot-sel-lft.gif (global/tabcontrol/tab-bot-sel-lft.gif)
|
||||
skin/modern/global/tabcontrol/tab-bot-sel-mid.gif (global/tabcontrol/tab-bot-sel-mid.gif)
|
||||
skin/modern/global/tabcontrol/tab-bot-sel-rit.gif (global/tabcontrol/tab-bot-sel-rit.gif)
|
||||
skin/modern/global/tabcontrol/tab-bot-usel-lft.gif (global/tabcontrol/tab-bot-usel-lft.gif)
|
||||
skin/modern/global/tabcontrol/tab-bot-usel-mid.gif (global/tabcontrol/tab-bot-usel-mid.gif)
|
||||
skin/modern/global/tabcontrol/tab-bot-usel-rit.gif (global/tabcontrol/tab-bot-usel-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-mid.gif (global/tabcontrol/tab-bot-act-lft-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-mid-top.gif (global/tabcontrol/tab-bot-act-mid-top.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-act-rit-top.gif (global/tabcontrol/tab-bot-act-rit-top.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-sel-lft-mid.gif (global/tabcontrol/tab-bot-sel-lft-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-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.gif (global/tabcontrol/tab-sel-lft.gif)
|
||||
skin/modern/global/tabcontrol/tab-sel-mid.gif (global/tabcontrol/tab-sel-mid.gif)
|
||||
skin/modern/global/tabcontrol/tab-sel-lft-mid.gif (global/tabcontrol/tab-sel-lft-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-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-usel-lft.gif (global/tabcontrol/tab-usel-lft.gif)
|
||||
skin/modern/global/tabcontrol/tab-usel-mid.gif (global/tabcontrol/tab-usel-mid.gif)
|
||||
skin/modern/global/tabcontrol/tab-sel-rit-top.gif (global/tabcontrol/tab-sel-rit-top.gif)
|
||||
skin/modern/global/tabcontrol/tab-usel-lft-btm.gif (global/tabcontrol/tab-usel-lft-btm.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.gif (global/tabcontrol/tab-usel-rit.gif)
|
||||
skin/modern/global/tabcontrol/tabbox-bot-lft.gif (global/tabcontrol/tabbox-bot-lft.gif)
|
||||
skin/modern/global/tabcontrol/tab-usel-rit-top.gif (global/tabcontrol/tab-usel-rit-top.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-mid.gif (global/tabcontrol/tabbox-mid.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/tbgrip-act-mid.gif (global/toolbar/tbgrip-act-mid.gif)
|
||||
skin/modern/global/toolbar/tbgrip-act-top.gif (global/toolbar/tbgrip-act-top.gif)
|
||||
skin/modern/global/toolbar/tb-separator.gif (global/toolbar/tb-separator.gif)
|
||||
skin/modern/global/toolbar/tbgrip-btm-act.gif (global/toolbar/tbgrip-btm-act.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-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-mid.gif (global/toolbar/tbgrip-mid.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/sort-asc.gif (global/tree/sort-asc.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-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/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.gif (messenger/addressbook/icons/directory.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-hov.gif (messenger/btn1/replyall-hov.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/trash-dis.gif (messenger/btn1/trash-dis.gif)
|
||||
skin/modern/messenger/btn1/trash-hov.gif (messenger/btn1/trash-hov.gif)
|
||||
skin/modern/messenger/btn1/trash.gif (messenger/btn1/trash.gif)
|
||||
skin/modern/messenger/icons/addtoab.gif (messenger/icons/addtoab.gif)
|
||||
skin/modern/messenger/btn1/delete-act.gif (messenger/btn1/delete-act.gif)
|
||||
skin/modern/messenger/btn1/delete-dis.gif (messenger/btn1/delete-dis.gif)
|
||||
skin/modern/messenger/btn1/delete-hov.gif (messenger/btn1/delete-hov.gif)
|
||||
skin/modern/messenger/btn1/delete.gif (messenger/btn1/delete.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/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-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-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.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-unread.gif (messenger/icons/readcol-unread.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/threadcol-threaded.gif (messenger/icons/threadcol-threaded.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/btn1/address-act.gif (messenger/messengercompose/btn1/address-act.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-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/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-dis.gif (messenger/messengercompose/btn1/send-dis.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/navigatorBindings.xml (navigator/navigatorBindings.xml)
|
||||
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-dis.gif (navigator/btn1/back-dis.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-hov.gif (navigator/btn1/forward-hov.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-dis.gif (navigator/btn1/reload-dis.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-hov.gif (navigator/btn1/stop-hov.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-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)
|
||||
|
@ -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-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-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-mid.gif (navigator/toolbar/urlbar-rit-mid.gif)
|
||||
skin/modern/navigator/toolbar/urlbar-rit-top.gif (navigator/toolbar/urlbar-rit-top.gif)
|
||||
|
|
|
@ -39,15 +39,15 @@
|
|||
#button-send[disabled="true"]:hover,
|
||||
#button-send[disabled="true"]:hover:active {
|
||||
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/send-dis.gif");
|
||||
}
|
||||
}
|
||||
|
||||
#button-send:hover {
|
||||
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/send-hov.gif");
|
||||
}
|
||||
}
|
||||
|
||||
#button-send:hover:active {
|
||||
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/send-act.gif");
|
||||
}
|
||||
}
|
||||
|
||||
#button-address {
|
||||
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:active {
|
||||
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/address-dis.gif");
|
||||
}
|
||||
}
|
||||
|
||||
#button-address:hover {
|
||||
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/address-hov.gif");
|
||||
}
|
||||
}
|
||||
|
||||
#button-address:hover:active {
|
||||
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/address-act.gif");
|
||||
}
|
||||
}
|
||||
|
||||
#button-attach {
|
||||
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:active {
|
||||
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/attach-dis.gif");
|
||||
}
|
||||
}
|
||||
|
||||
#button-attach:hover {
|
||||
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/attach-hov.gif");
|
||||
}
|
||||
}
|
||||
|
||||
#button-attach:hover:active {
|
||||
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 {
|
||||
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/quote.gif");
|
||||
}
|
||||
#spellingButton[disabled="true"],
|
||||
#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"],
|
||||
#button-quote[disabled="true"]:hover,
|
||||
#button-quote[disabled="true"]:hover:active {
|
||||
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/quote-dis.gif");
|
||||
}
|
||||
#spellingButton:hover {
|
||||
list-style-image: url("chrome://editor/skin/messengercompose/btn1/spell-hov.gif");
|
||||
}
|
||||
|
||||
#button-quote:hover {
|
||||
list-style-image: url("chrome://messenger/skin/messengercompose/btn1/quote-hov.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");
|
||||
#spellingButton:hover:active {
|
||||
list-style-image: url("chrome://editor/skin/messengercompose/btn1/spell-act.gif");
|
||||
}
|
||||
|
||||
#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"]:hover,
|
||||
#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 {
|
||||
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 {
|
||||
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 {
|
||||
list-style-image: url("chrome://communicator/skin/btn1/stop.gif");
|
||||
|
@ -147,11 +129,11 @@
|
|||
#button-stop[disabled="true"]:hover,
|
||||
#button-stop[disabled="true"]:hover:active {
|
||||
list-style-image: url("chrome://communicator/skin/btn1/stop-dis.gif");
|
||||
}
|
||||
}
|
||||
|
||||
#button-stop:hover {
|
||||
list-style-image: url("chrome://communicator/skin/btn1/stop-hov.gif");
|
||||
}
|
||||
}
|
||||
|
||||
#button-stop:hover:active {
|
||||
list-style-image: url("chrome://communicator/skin/btn1/stop-act.gif");
|
||||
|
@ -159,18 +141,10 @@
|
|||
|
||||
/* ::::: header toolbar ::::: */
|
||||
|
||||
#attachmentBucket,
|
||||
#msgSubject,
|
||||
#msgIdentity {
|
||||
#attachmentBucket {
|
||||
-moz-user-focus: normal;
|
||||
}
|
||||
|
||||
/* ..... border adjustments to match toolbar colors ..... */
|
||||
|
||||
#compose-toolbar-sizer {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
/* ..... "From:" menulist menuitems ..... */
|
||||
|
||||
/* MOVE TO CONTENT */
|
||||
|
@ -189,11 +163,11 @@
|
|||
-moz-user-focus: none;
|
||||
width: 0px;
|
||||
height: 80px;
|
||||
}
|
||||
}
|
||||
|
||||
#listcol-addressingWidget {
|
||||
border-right: 1px solid #D3D3E5;
|
||||
width: 9em;
|
||||
border-right: 1px solid #C4CADC;
|
||||
}
|
||||
|
||||
#addressingWidgetTree > treechildren > treeitem > treerow,
|
||||
|
@ -204,7 +178,7 @@
|
|||
}
|
||||
|
||||
.treecell-addressingWidget {
|
||||
border-bottom: 1px solid #D3D3E5;
|
||||
border-bottom: 1px solid #C4CADC;
|
||||
padding: 0px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
@ -215,23 +189,44 @@
|
|||
|
||||
.dummy-row-cell:first-child {
|
||||
border-top: none;
|
||||
border-bottom: 1px solid #D3D3E5;
|
||||
border-bottom: 1px solid #C4CADC;
|
||||
}
|
||||
|
||||
.aw-menulist {
|
||||
margin: 0px;
|
||||
border-top: none !important;
|
||||
border-left: none !important;
|
||||
border-color: #314152;
|
||||
border-color: #A5AECE;
|
||||
}
|
||||
|
||||
.person-icon {
|
||||
-moz-user-focus: ignore;
|
||||
cursor: default !important;
|
||||
margin: 2px 4px 2px 4px;
|
||||
border: none;
|
||||
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 {
|
||||
|
@ -243,34 +238,38 @@
|
|||
}
|
||||
|
||||
#convertYes {
|
||||
list-style-image: url("chrome://global/skin/icon/alert-question.gif");
|
||||
list-style-image: url("chrome://global/skin/icons/alert-question.gif");
|
||||
}
|
||||
|
||||
#convertAltering {
|
||||
list-style-image: url("chrome://global/skin/icon/alert-question.gif");
|
||||
list-style-image: url("chrome://global/skin/icons/alert-question.gif");
|
||||
}
|
||||
|
||||
#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. */
|
||||
#convertDefault {
|
||||
list-style-image: url("chrome://global/skin/icon/alert-question.gif");
|
||||
list-style-image: url("chrome://global/skin/icons/alert-question.gif");
|
||||
}
|
||||
|
||||
/* ::::: miscellany :::::: */
|
||||
|
||||
#compose-toolbar-sizer {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
spring.spacer {
|
||||
width: 5px;
|
||||
height: 5px;
|
||||
}
|
||||
|
||||
.label {
|
||||
color: #FFFFFF;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
#navprintplus {
|
||||
display: none !important;
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,44 +1,47 @@
|
|||
/*
|
||||
/*
|
||||
* 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 Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape
|
||||
* 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.
|
||||
*
|
||||
*
|
||||
* Contributor(s):
|
||||
* Joe Hewitt (hewitt@netscape.com)
|
||||
*/
|
||||
|
||||
/* ===== navigator.css ==================================================
|
||||
== Styles shared throughout the Navigator application.
|
||||
======================================================================= */
|
||||
|
||||
@import url("chrome://navigator/content/navigator.css");
|
||||
@import url("chrome://communicator/skin/");
|
||||
@import url("chrome://communicator/skin/sidebar/sidebar.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");
|
||||
|
||||
/* ::::: primary toolbar buttons ::::: */
|
||||
|
||||
.menubutton-dual {
|
||||
-moz-binding: url("chrome://communicator/skin/widgetBindings.xml#menubutton-dual-1");
|
||||
}
|
||||
|
||||
#back-button {
|
||||
margin-left: 0px;
|
||||
margin: 3px 6px 0px 0px;
|
||||
list-style-image: url("chrome://navigator/skin/btn1/back.gif");
|
||||
}
|
||||
|
||||
#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:active {
|
||||
list-style-image: url("chrome://navigator/skin/btn1/back-dis.gif");
|
||||
|
@ -53,10 +56,14 @@
|
|||
}
|
||||
|
||||
#forward-button {
|
||||
margin: 3px 6px 0px 0px;
|
||||
list-style-image: url("chrome://navigator/skin/btn1/forward.gif");
|
||||
}
|
||||
|
||||
#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:active {
|
||||
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");
|
||||
}
|
||||
|
||||
#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 {
|
||||
margin: 3px 6px 0px 0px;
|
||||
list-style-image: url("chrome://navigator/skin/btn1/reload.gif");
|
||||
}
|
||||
|
||||
|
||||
#reload-button[disabled="true"],
|
||||
#reload-button[disabled="true"]:hover,
|
||||
#reload-button[disabled="true"]:hover:active {
|
||||
|
@ -106,13 +96,33 @@
|
|||
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 {
|
||||
-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");
|
||||
}
|
||||
|
||||
#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:active {
|
||||
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");
|
||||
}
|
||||
|
||||
#print-button > .menubutton-dual-stack > .menubutton-dual-dropmarker-box {
|
||||
margin-left: 19px;
|
||||
margin-top: 22px;
|
||||
}
|
||||
|
||||
/* Hides text below the above buttons */
|
||||
.button-toolbar-1 > .button-internal-box > .button-text-container {
|
||||
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 ::::: */
|
||||
|
||||
#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;
|
||||
}
|
||||
|
||||
.navbar-inner-groove-left {
|
||||
width: 6px;
|
||||
.navbar-inner-groove-lft {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.navbar-inner-groove-left-top {
|
||||
height: 22px;
|
||||
.navbar-inner-groove-lft-top {
|
||||
height: 24px;
|
||||
background: url("chrome://navigator/skin/toolbar/nav-groove-lft-top.gif") no-repeat;
|
||||
}
|
||||
|
||||
.navbar-inner-groove-left-mid {
|
||||
background: url("chrome://navigator/skin/toolbar/nav-groove-lft-mid.gif") repeat-y;
|
||||
.navbar-inner-groove-lft-mid {
|
||||
background: url("chrome://navigator/skin/toolbar/nav-groove-lft-mid.gif") repeat-y left;
|
||||
}
|
||||
|
||||
.navbar-inner-groove-left-btm {
|
||||
height: 6px;
|
||||
.navbar-inner-groove-lft-btm {
|
||||
height: 5px;
|
||||
background: url("chrome://navigator/skin/toolbar/nav-groove-lft-btm.gif") no-repeat;
|
||||
}
|
||||
|
||||
.navbar-inner-border-outer {
|
||||
border-top: 1px solid #A0B3C7;
|
||||
border-bottom: 1px solid #7C92AF;
|
||||
border-top: 1px solid #A2AFBD;
|
||||
border-bottom: 1px solid #CFD7DE;
|
||||
}
|
||||
|
||||
.navbar-inner-border-middle {
|
||||
border-top: 1px solid #7D91AA;
|
||||
border-bottom: 1px solid #4E6179;
|
||||
border-top: 1px solid #EBF4FF;
|
||||
border-bottom: 1px solid #87929E;
|
||||
}
|
||||
|
||||
|
||||
.navbar-inner-border-inner {
|
||||
border-top: 1px solid #BBCDE3;
|
||||
border-bottom: 1px solid #556D8B;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.navbar-inner-groove-right {
|
||||
width: 6px;
|
||||
.navbar-inner-groove-rit {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.navbar-inner-groove-right-top {
|
||||
height: 22px;
|
||||
.navbar-inner-groove-rit-top {
|
||||
height: 24px;
|
||||
background: url("chrome://navigator/skin/toolbar/nav-groove-rit-top.gif") no-repeat;
|
||||
}
|
||||
|
||||
.navbar-inner-groove-right-mid {
|
||||
background: url("chrome://navigator/skin/toolbar/nav-groove-rit-mid.gif") repeat-y;
|
||||
.navbar-inner-groove-rit-mid {
|
||||
background: url("chrome://navigator/skin/toolbar/nav-groove-rit-mid.gif") repeat-y right;
|
||||
}
|
||||
|
||||
.navbar-inner-groove-right-btm {
|
||||
height: 6px;
|
||||
.navbar-inner-groove-rit-btm {
|
||||
height: 5px;
|
||||
background: url("chrome://navigator/skin/toolbar/nav-groove-rit-btm.gif") no-repeat;
|
||||
}
|
||||
|
||||
|
@ -199,125 +218,129 @@
|
|||
|
||||
#urlbar-group {
|
||||
-moz-binding: url("chrome://navigator/skin/navigatorBindings.xml#urlbar-group");
|
||||
margin: 3px 8px 4px 2px;
|
||||
-moz-border-radius: 5px;
|
||||
background-color: #ffffff;
|
||||
margin: 2px 6px 2px 3px;
|
||||
}
|
||||
|
||||
.urlbar-left {
|
||||
.urlbar-lft {
|
||||
width: 3px;
|
||||
}
|
||||
|
||||
.urlbar-left-top {
|
||||
height: 4px;
|
||||
.urlbar-lft-top {
|
||||
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;
|
||||
}
|
||||
|
||||
.urlbar-left-btm {
|
||||
min-height: 3px;
|
||||
.urlbar-lft-btm {
|
||||
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;
|
||||
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;
|
||||
}
|
||||
|
||||
.urlbar-right-btm {
|
||||
min-height: 3px;
|
||||
.urlbar-rit-btm {
|
||||
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 ::::: */
|
||||
|
||||
#page-proxy-button {
|
||||
cursor: grab;
|
||||
margin: 0px 2px 0px 0px;
|
||||
list-style-image: url("chrome://communicator/skin/bookmarks/bookmark-item.gif");
|
||||
}
|
||||
margin-left: 0px 2px 0px 0px;
|
||||
list-style-image: url("chrome://communicator/skin/bookmarks/bookmark-item.gif");
|
||||
}
|
||||
|
||||
#ubhist {
|
||||
margin: 1px 1px 3px 0px;
|
||||
border: none;
|
||||
padding: 0px;
|
||||
width: 10px;
|
||||
list-style-image: url("chrome://global/skin/arrow/arrow-dn.gif");
|
||||
}
|
||||
|
||||
#ubhist-popup > menuitem {
|
||||
max-width: 550px !important;
|
||||
#home-button {
|
||||
list-style-image: url("chrome://communicator/skin/bookmarks/home.gif");
|
||||
}
|
||||
|
||||
#go-button {
|
||||
margin-right: 6px;
|
||||
margin-left: 0px;
|
||||
min-width: 0px;
|
||||
}
|
||||
|
||||
#search-button {
|
||||
margin-right: 4px;
|
||||
margin-left: 0px;
|
||||
min-width: 0px;
|
||||
font-size: larger;
|
||||
}
|
||||
|
||||
/* ::::: move this to content ::::: */
|
||||
/* ::::: navigator throbber ::::: */
|
||||
|
||||
window[chromehidden~="menubar"] .chromeclass-menubar {
|
||||
display: none;
|
||||
#navigator-throbber {
|
||||
margin: 10px 15px 0px 8px;
|
||||
list-style-image: url("chrome://communicator/skin/brand/throbber-single.gif");
|
||||
}
|
||||
|
||||
window[chromehidden~="toolbar"] .chromeclass-toolbar {
|
||||
display: none;
|
||||
#navigator-throbber[busy="true"] {
|
||||
list-style-image: url("chrome://communicator/skin/brand/throbber-anim.gif");
|
||||
}
|
||||
|
||||
window[chromehidden~="location"] .chromeclass-location {
|
||||
display: none;
|
||||
/* ::::: autocomplete ::::: */
|
||||
|
||||
.autocomplete-outlinerbody:-moz-outliner-cell-text(value) {
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
window[chromehidden~="directories"] .chromeclass-directories {
|
||||
display: none;
|
||||
.autocomplete-outlinerbody:-moz-outliner-cell-text(comment) {
|
||||
color: #555566;
|
||||
}
|
||||
|
||||
window[chromehidden~="status"] .chromeclass-status {
|
||||
display: none;
|
||||
.autocomplete-search-box {
|
||||
border-top: 2px groove #DDE3EB;
|
||||
background-color: #DDE3EB;
|
||||
}
|
||||
|
||||
window[chromehidden~="extrachrome"] .chromeclass-extrachrome {
|
||||
display: none;
|
||||
.autocomplete-result-popup[nomatch="true"] > .autocomplete-search-box {
|
||||
border-top: 1px solid #E4EAEF;
|
||||
}
|
||||
|
||||
/* ::::: move this to commercial tree ::::: */
|
||||
|
||||
#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");
|
||||
.autocomplete-search-engine {
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
#ubhist-keyword-popup > .menubutton-icon-internal-box {
|
||||
border: none;
|
||||
.autocomplete-search-engine[menuactive="true"] {
|
||||
background-color: #486380;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
#ubhist-keyword-popup:hover:active {
|
||||
list-style-image: url("chrome://navigator/skin/ubhist-keyword-popup-active.gif");
|
||||
.autocomplete-search-engine-img {
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
|
|
@ -13,6 +13,8 @@ comm.jar:
|
|||
content/navigator/navigatorDD.js (resources/content/navigatorDD.js)
|
||||
content/navigator/nsBrowserStatusHandler.js (resources/content/nsBrowserStatusHandler.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.js (resources/content/metadata.js)
|
||||
content/navigator/personalToolbar.js (resources/content/personalToolbar.js)
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -25,10 +25,12 @@
|
|||
const nsIWebNavigation = Components.interfaces.nsIWebNavigation;
|
||||
|
||||
var gURLBar = null;
|
||||
var gProxyButton = null;
|
||||
var gNavigatorBundle;
|
||||
var gBrandBundle;
|
||||
var gNavigatorRegionBundle;
|
||||
var gBrandRegionBundle;
|
||||
var gLastValidURL = "";
|
||||
|
||||
var pref = Components.classes["@mozilla.org/preferences;1"]
|
||||
.getService(Components.interfaces.nsIPref);
|
||||
|
@ -223,6 +225,8 @@ function Startup()
|
|||
|
||||
gBrowser = document.getElementById("content");
|
||||
gURLBar = document.getElementById("urlbar");
|
||||
|
||||
SetPageProxyState("invalid");
|
||||
|
||||
var webNavigation;
|
||||
try {
|
||||
|
@ -1214,20 +1218,19 @@ function getNewThemes()
|
|||
loadURI(gBrandRegionBundle.getString("getNewThemesURL"));
|
||||
}
|
||||
|
||||
function URLBarLeftClickHandler(aEvent)
|
||||
function URLBarMouseupHandler(aEvent)
|
||||
{
|
||||
if (pref.GetBoolPref("browser.urlbar.clickSelectsAll")) {
|
||||
var URLBar = aEvent.target;
|
||||
URLBar.setSelectionRange(0, URLBar.value.length);
|
||||
if (aEvent.button == 0 && pref.GetBoolPref("browser.urlbar.clickSelectsAll")) {
|
||||
var selectionLen = gURLBar.selectionEnd - gURLBar.selectionStart;
|
||||
if (selectionLen == 0)
|
||||
gURLBar.setSelectionRange(0, gURLBar.textLength);
|
||||
}
|
||||
}
|
||||
|
||||
function URLBarBlurHandler(aEvent)
|
||||
{
|
||||
if (pref.GetBoolPref("browser.urlbar.clickSelectsAll")) {
|
||||
var URLBar = aEvent.target;
|
||||
URLBar.setSelectionRange(0, 0);
|
||||
}
|
||||
if (pref.GetBoolPref("browser.urlbar.clickSelectsAll"))
|
||||
gURLBar.setSelectionRange(0, 0);
|
||||
}
|
||||
|
||||
// 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
|
||||
// and highlight it, unless it is about:blank, where we reset it to "".
|
||||
function resetURLBar()
|
||||
function handleURLBarRevert()
|
||||
{
|
||||
var url = _content.location.href;
|
||||
var throbberElement = document.getElementById("navigator-throbber");
|
||||
|
||||
if (!throbberElement.getAttribute("busy")){
|
||||
if (url != "about:blank"){
|
||||
var isScrolling = gURLBar.userAction == "scrolling";
|
||||
|
||||
// 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.select();
|
||||
} else { //if about:blank, urlbar becomes ""
|
||||
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(); }
|
||||
else if (event.keyCode == KeyEvent.DOM_VK_ESCAPE) { resetURLBar(); }
|
||||
if (aUserAction == "typing")
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
@ -150,21 +150,24 @@ Contributor(s): ______________________________________. -->
|
|||
|
||||
<hbox id="nav-bar-inner" flex="1">
|
||||
<hbox id="urlbar-group" class="box-toolbar-group chromeclass-location" flex="1">
|
||||
<hbox autostretch="never" valign="middle" flex="1" id="urlbar-container">
|
||||
<image id="page-proxy-button" ondraggesture="nsDragAndDrop.startDrag(event, proxyIconDNDObserver);"/>
|
||||
<textbox autocomplete="true" timeout="300" class="plain"
|
||||
searchSessionType="urlbar" id="urlbar" tooltip="aTooltip" tooltiptext="&locationBar.tooltip;"
|
||||
onclick="if (event.button == 0) URLBarLeftClickHandler(event);"
|
||||
onblur="URLBarBlurHandler(event);"
|
||||
onkeypress="handleURLBarKeyPress(event);" flex="1"/>
|
||||
onkeypress="if (event.keyCode == 13) { addToUrlbarHistory(); BrowserLoadURL(); }" flex="1"/>
|
||||
<hbox flex="1" id="urlbar-container">
|
||||
<textbox id="urlbar" class="plain" flex="1"
|
||||
type="autocomplete" searchSessions="history"
|
||||
timeout="50" maxrows="6" alwaysOpenPopup="true"
|
||||
defaultSearchEngine="true"
|
||||
tooltip="aTooltip" tooltiptext="&locationBar.tooltip;"
|
||||
ontextcommand="return handleURLBarCommand(userAction);"
|
||||
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>
|
||||
<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>
|
||||
|
||||
<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>
|
||||
</menubutton>
|
||||
|
||||
<hbox autostretch="never">
|
||||
<hbox id="throbber-box" autostretch="never">
|
||||
<button id="navigator-throbber" oncommand="goClickThrobber('browser.throbber.url')" tooltip="aTooltip" tooltiptext="&throbber.tooltip;"/>
|
||||
</hbox>
|
||||
</toolbar>
|
||||
|
|
|
@ -242,7 +242,8 @@ nsBrowserStatusHandler.prototype =
|
|||
// We should probably not do this if the value has changed since the user
|
||||
// searched
|
||||
this.urlBar.value = location;
|
||||
|
||||
SetPageProxyState("valid");
|
||||
|
||||
UpdateBackForwardButtons();
|
||||
},
|
||||
|
||||
|
|
|
@ -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>
|
|
@ -146,3 +146,9 @@ function onChooseFile()
|
|||
}
|
||||
doEnabling();
|
||||
}
|
||||
|
||||
function useUBHistoryItem(aMenuItem)
|
||||
{
|
||||
var urlbar = document.getElementById("dialog.input");
|
||||
urlbar.value = aMenuItem.getAttribute("label");
|
||||
}
|
|
@ -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"?>
|
||||
|
||||
<!DOCTYPE window [
|
||||
|
@ -49,9 +49,11 @@
|
|||
<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/utilityOverlay.js"/>
|
||||
<script type="application/x-javascript" src="chrome://navigator/content/sessionHistoryUI.js"/>
|
||||
|
||||
<stringbundle id="openLocationBundle" src="chrome://communicator/locale/openLocation.properties"/>
|
||||
<keyset id="dialogKeys"/>
|
||||
|
||||
<box>
|
||||
<box orient="vertical">
|
||||
<image class="question-icon"/>
|
||||
|
@ -63,8 +65,15 @@
|
|||
<separator class="thin"/>
|
||||
|
||||
<box autostretch="never">
|
||||
<textbox id="dialog.input" flex="1" oninput="doEnabling();"/>
|
||||
<button label="&chooseFile.label;" oncommand="onChooseFile();"/>
|
||||
<textbox id="dialog.input" flex="1" type="autocomplete"
|
||||
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 autostretch="never" valign="center">
|
||||
<text class="label" value="&openWhere.label;"/>
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
|
||||
.outliner-scrollbar[hidescrollbar="true"] {
|
||||
visibility: collapse;
|
||||
}
|
||||
|
||||
.autocomplete-history-box {
|
||||
overflow: auto;
|
||||
}
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -113,6 +113,8 @@ static nsModuleComponentInfo components[] = {
|
|||
nsGlobalHistoryConstructor },
|
||||
{ "Global History", NS_GLOBALHISTORY_CID, NS_GLOBALHISTORY_DATASOURCE_CONTRACTID,
|
||||
nsGlobalHistoryConstructor },
|
||||
{ "Global History", NS_GLOBALHISTORY_CID, NS_GLOBALHISTORY_AUTOCOMPLETE_CONTRACTID,
|
||||
nsGlobalHistoryConstructor },
|
||||
{ "Local Search", NS_RDFFINDDATASOURCE_CID,
|
||||
NS_LOCALSEARCH_SERVICE_CONTRACTID, LocalSearchDataSourceConstructor },
|
||||
{ "Local Search", NS_RDFFINDDATASOURCE_CID,
|
||||
|
|
|
@ -63,3 +63,10 @@ interface nsIBrowserHistory : nsISupports
|
|||
readonly attribute string lastPageVisited;
|
||||
|
||||
};
|
||||
|
||||
%{ C++
|
||||
|
||||
#define NS_GLOBALHISTORY_AUTOCOMPLETE_CONTRACTID \
|
||||
"@mozilla.org/autocompleteSession;1?type=history"
|
||||
|
||||
%}
|
|
@ -22,6 +22,7 @@
|
|||
*
|
||||
* Contributor(s):
|
||||
* Pierre Phaneuf <pp@ludusdesign.com>
|
||||
* Joe Hewitt <hewitt@netscape.com>
|
||||
*/
|
||||
|
||||
/*
|
||||
|
@ -52,6 +53,7 @@
|
|||
#include "prprf.h"
|
||||
#include "prtime.h"
|
||||
#include "rdf.h"
|
||||
#include "nsQuickSort.h"
|
||||
|
||||
#include "nsIURL.h"
|
||||
#include "nsNetCID.h"
|
||||
|
@ -79,9 +81,9 @@ nsIRDFResource* nsGlobalHistory::kNC_URL;
|
|||
nsIRDFResource* nsGlobalHistory::kNC_HistoryRoot;
|
||||
nsIRDFResource* nsGlobalHistory::kNC_HistoryByDate;
|
||||
|
||||
|
||||
#define PREF_BROWSER_HISTORY_LAST_PAGE_VISITED "browser.history.last_page_visited"
|
||||
#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="
|
||||
|
||||
|
@ -457,6 +459,15 @@ nsGlobalHistory::nsGlobalHistory()
|
|||
{
|
||||
NS_INIT_REFCNT();
|
||||
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()
|
||||
|
@ -492,6 +503,11 @@ nsGlobalHistory::~nsGlobalHistory()
|
|||
|
||||
if (mExpireNowTimer)
|
||||
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
|
||||
|
||||
NS_IMPL_ISUPPORTS6(nsGlobalHistory,
|
||||
NS_IMPL_ISUPPORTS7(nsGlobalHistory,
|
||||
nsIGlobalHistory,
|
||||
nsIBrowserHistory,
|
||||
nsIObserver,
|
||||
nsISupportsWeakReference,
|
||||
nsIRDFDataSource,
|
||||
nsIRDFRemoteDataSource)
|
||||
nsIRDFRemoteDataSource,
|
||||
nsIAutoCompleteSession)
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
//
|
||||
|
@ -3388,3 +3405,302 @@ nsGlobalHistory::SearchEnumerator::ConvertToISupports(nsIMdbRow* aRow,
|
|||
NS_ADDREF(*aResult);
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -42,6 +42,7 @@
|
|||
#include "nsCOMPtr.h"
|
||||
#include "nsAWritableString.h"
|
||||
#include "nsITimer.h"
|
||||
#include "nsIAutoCompleteSession.h"
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
//
|
||||
|
@ -98,7 +99,8 @@ class nsGlobalHistory : nsSupportsWeakReference,
|
|||
public nsIBrowserHistory,
|
||||
public nsIObserver,
|
||||
public nsIRDFDataSource,
|
||||
public nsIRDFRemoteDataSource
|
||||
public nsIRDFRemoteDataSource,
|
||||
public nsIAutoCompleteSession
|
||||
{
|
||||
public:
|
||||
// nsISupports methods
|
||||
|
@ -109,6 +111,7 @@ public:
|
|||
NS_DECL_NSIOBSERVER
|
||||
NS_DECL_NSIRDFDATASOURCE
|
||||
NS_DECL_NSIRDFREMOTEDATASOURCE
|
||||
NS_DECL_NSIAUTOCOMPLETESESSION
|
||||
|
||||
NS_METHOD Init();
|
||||
|
||||
|
@ -169,6 +172,17 @@ protected:
|
|||
PRBool RowMatches(nsIMdbRow* aRow, searchQuery *aQuery);
|
||||
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
|
||||
// a history query
|
||||
|
@ -332,10 +346,43 @@ protected:
|
|||
virtual nsresult ConvertToISupports(nsIMdbRow* aRow,
|
||||
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 SearchEnumerator;
|
||||
friend class AutoCompleteEnumerator;
|
||||
};
|
||||
|
||||
int PR_CALLBACK
|
||||
AutoCompleteSortComparison(const void *v1, const void *v2, void *unused);
|
||||
|
||||
#endif // nsglobalhistory__h____
|
||||
|
|
|
@ -167,6 +167,7 @@ toolkit.jar:
|
|||
content/global/downloadProgress.xul (xfer/resources/downloadProgress.xul)
|
||||
content/global/downloadProgress.js (xfer/resources/downloadProgress.js)
|
||||
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.xul (filepicker/res/content/filepicker.xul)
|
||||
content/global/filepicker.css (filepicker/res/content/filepicker.css)
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
|
||||
<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">
|
||||
<![CDATA[
|
||||
var _elementIDs = ["startupPage", "browserStartupHomepage",
|
||||
|
@ -66,7 +67,8 @@
|
|||
<html>&homePageIntro.label;</html>
|
||||
<box autostretch="never">
|
||||
<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"
|
||||
prefattribute="value"/> <!-- we may wish to change this to data
|
||||
when we support fancy formatted local filenames -->
|
||||
|
|
|
@ -536,8 +536,36 @@ text[editable="true"][mode="edit"] {
|
|||
-moz-binding: url(chrome://global/content/xulBindings.xml#text-editable-edit);
|
||||
}
|
||||
|
||||
textbox[autocomplete="true"] {
|
||||
-moz-binding: url(chrome://global/content/autocomplete.xml#autocomplete);
|
||||
textbox[type="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 {
|
||||
|
|
Загрузка…
Ссылка в новой задаче